Αποστολέας Θέμα: Scaling στον Επόπτη  (Αναγνώστηκε 634 φορές)

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Scaling στον Επόπτη
« στις: 18 Οκτ 2021, 11:16:00 πμ »
Η πολλή θεωρία είναι στο https://epoptes.org/documentation/vnc/.

Η γρήγορη έκδοση είναι ότι ανέβηκε νέα έκδοση του Επόπτη στο αποθετήριο της Τεχνικής Στήριξης για το Ubuntu 20.04, η οποία έχει έναν καλύτερο VNC viewer ο οποίος υποστηρίζει scaling.
Προς το παρόν όμως η ενεργοποίησή του γίνεται χειρωνακτικά· αφού δοκιμαστεί λίγο θα γίνεται αυτοματοποιημένα κατά την εγκατάσταση των sch-scripts.

Συγκεκριμένα, δίνουμε:

Κώδικας: Bash
  1. sudo apt update
  2. sudo apt full-upgrade --yes
  3. sudo apt install realvnc-vnc-viewer
  4. sudo apt purge --auto-remove xvnc4viewer
  5. vncviewer
  6. # Αποδεχόμαστε την άδεια χρήσης, ξετσεκάρουμε τα στατιστικά
  7. # Κλείνουμε τον viewer
  8. # Αντιγράφουμε την έγκριση της άδειας χρήσης για όλους τους χρήστες:
  9. sudo cp ~/.vnc/config.d/vncviewer /etc/epoptes/
  10. # Και τέλος κάνουμε δημοσίευση εικονικού δίσκου και επανεκκίνηση clients και server
  11. sudo ltsp image /
  12. reboot

thanos

  • Βετεράνος
  • ****
  • Μηνύματα: 57
Απ: Scaling στον Επόπτη
« Απάντηση #1 στις: 19 Οκτ 2021, 11:40:07 πμ »
Έχω κάνει τη διαδικασία, αλλά κατά την εκπομπή στους clients δεν γίνεται scaling.
(Θύμισέ μου το chat...?)

Update: Είχα ξεχάσει να βγάλω το παλιό vnc!  : :angel:
« Τελευταία τροποποίηση: 19 Οκτ 2021, 12:00:49 μμ από thanos »


alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #3 στις: 19 Οκτ 2021, 12:19:22 μμ »
Θάνο μόλις το τεστάρεις, ανέβασε εντυπώσεις για το αν τον θεωρείς καλύτερο, ώστε να οριστεί ως ο προεπιλεγμένος VNC viewer.

thanos

  • Βετεράνος
  • ****
  • Μηνύματα: 57
Απ: Scaling στον Επόπτη
« Απάντηση #4 στις: 21 Οκτ 2021, 01:13:10 μμ »
Το (ενοχλητικό) πρόβλημα που εντόπισα είναι ότι "κολλάνε" κάποιοι clients όταν τους ξαναδίνω πίσω την οθόνη τους... Ψάχνουν το vnc server.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #5 στις: 21 Οκτ 2021, 02:36:34 μμ »
Πώς τον "ψάχνουν", εμφανίζουν κάποιον διάλογο ή κάποιο μήνυμα λάθους; Ή μένει κολλημένη η οθόνη στην τελευταία εικόνα;

vovos

  • Βετεράνος
  • ****
  • Μηνύματα: 61
Απ: Scaling στον Επόπτη
« Απάντηση #6 στις: 25 Οκτ 2021, 09:16:40 πμ »
Το δοκίμασα σε UBUNTU 20.04 64bit και παίζει άψογα! Επιτέλους θα μπορούν τα παιδιά και εγώ να βλέπουμε ολόκληρες οθόνες χωρίς sidebars! Ευχαριστούμε!!! :D :D :D

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #7 στις: 25 Οκτ 2021, 11:55:22 πμ »
Ανέβηκε ενημερωμένη έκδοση που διορθώνει το εξής πρόσφατο πρόβλημα (regression):

μερικές φορές η παρακολούθηση και η υποβοήθηση χρήστη δεν δούλευαν με το πρώτο κλικ και ήθελαν δεύτερο.

Αν κανείς δει το πρόβλημα "δεν τερματίζει η εκπομπή σε κάποιους clients", και αφού έχει σιγουρευτεί ότι έχει κάνει ενημέρωση και δημοσίευση, ας έρθει από το IRC να δούμε μήπως λύσουμε κι αυτό.

gregflo

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Scaling στον Επόπτη
« Απάντηση #8 στις: 26 Οκτ 2021, 12:02:17 μμ »
Καλησπέρα. Έγινε εγκατάσταση της νέας έκδοσης του επόπτη μέσω του προγράμματος ενημέρωσης λογισμικού, αλλά κάθε φορά που κάνω εκπομπή της οθόνης μου στους clients την πρώτη φορά, πρέπει να κάνω αποδοχή αδείας χρήσης σε καθένα ξεχωριστά. Πώς μπορώ να το ξεπεράσω αυτό;

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #9 στις: 26 Οκτ 2021, 12:16:39 μμ »
Καλημέρα, έκανες τις εντολές που γράφω στο αρχικό μήνυμα; Αν όχι κάν' τες ώστε να αποδεχτείς εσύ την άδεια χρήσης εκ μέρους των μαθητών.

gregflo

  • Οπαδός
  • **
  • Μηνύματα: 19
Απ: Scaling στον Επόπτη
« Απάντηση #10 στις: 26 Οκτ 2021, 01:34:10 μμ »
ok, ευχαριστώ!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #11 στις: 02 Νοε 2021, 10:28:30 πμ »
@thanos, σημειώνω εδώ τι προσθέσαμε στο client-functions· αν δουλεύει πιο σταθερά τώρα, να το προσθέσουμε για όλους: -hideclosealert=true -autoreconnect=false

Ο @vovos ανέφερε ένα ακόμα πρόβλημα, ότι σε κάποιες περιπτώσεις, κάνοντας προβολή οθόνης πριν κάνουν login οι μαθητές, η οθόνη του καθηγητή εμφανίζεται για ένα δευτερόλεπτο και μετά κρύβεται.
Το ανέφερα στο realvnc, να δούμε ΑΝ απαντήσουν.
Συγκεκριμένα, όταν μετά από ένα δευτερόλεπτο κρύβεται το banner dialog, ο vncviewer πηγαίνει πίσω από τον lightdm και κρύβεται! Αν μέσα από τον Επόπτη τρέξουμε `sudo marco`, δηλαδή τον διαχειριστή παραθύρων, μπορούμε να τα μετακινήσουμε και να το δούμε.
Ένα workaround είναι να μετακινήσουν το ποντίκι οι μαθητές σε μια ...περίεργη θέση: εντός της περιοχής που θα προβάλλεται η οθόνη του καθηγητή, αλλά εκτός του VNC banner που εμφανίζεται για ένα δευτερόλεπτο. Π.χ. να βρίσκεται το ποντίκι είτε τέρμα ανατολικά είτε τέρμα νότια της οθόνης (ανάλογα το aspect ratio της προβολής). Στη συνέχεια η προβολή γίνεται κανονικά.
Ένα δεύτερο workaround είναι να τρέξει ο καθηγητής την εντολή "sudo marco" μέσα από τον Επόπτη πριν την προβολή, ενώ για να μην δημιουργήσει προβλήματα αργότερα, πριν συνδεθούν οι μαθητές, θέλει και "sudo systemctl restart lightdm".

Για αυτοματοποίηση είναι πιο δύσκολο, χρειάζεται να φτιαχτεί ένα πρόγραμμα python που θα κάνει αυτόματα αυτή τη μετακίνηση του ποντικού, και μετά θα εκτελεί τον vncviewer. Γράφω εδώ την αρχή, θα το υλοποιήσουμε όμως μόνο αν δεν βρεθεί πιο εύκολος τρόπος...

Παράθεση από: /usr/local/bin/vncviewer
#!/usr/bin/env python3

from ctypes import cdll

def move_mouse(x,y):
    dll = cdll.LoadLibrary('/usr/lib/x86_64-linux-gnu/libX11.so')
    d = dll.XOpenDisplay(None)
    root = dll.XDefaultRootWindow(d)
    dll.XWarpPointer(d,None,root,0,0,0,0,x,y)
    dll.XCloseDisplay(d)

# TODO: determine a position based on resolution
move_mouse(0, 500)
# TODO: then exec /usr/bin/vncviewer "$@"

markakis

  • Working Dead
  • Βετεράνος
  • ****
  • Μηνύματα: 96
Απ: Scaling στον Επόπτη
« Απάντηση #12 στις: 04 Νοε 2021, 09:38:11 πμ »
Επιβεβαιώνω και εγώ το θεματάκι του realvnc με την προβολή οθόνης πριν από το login και το workaround με το βελάκι σε συγκεκριμένη θέση.

Ένα θεματάκι ακόμα: με τον xvnc4viewer μπορούμε να έχουμε κλειδωμένους τους υπολογιστές και στη συνέχεια να επιλέξουμε προβολή οθόνης και η προβολή να επικαλύψει το κλείδωμα. Με τον realvnc δεν συμβαίνει αυτό και θα πρέπει να πατήσουμε ξεκλείδωμα για να προβάλουμε.

Προσωπικά εγκατέστησα τον realvnc στο εργαστήριο τους ενός σχολείου που χρειάζομαι το scaling και στο άλλο που δεν το χρειάζομαι θα παραμείνω με xvnc4viewer.

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 6150
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Scaling στον Επόπτη
« Απάντηση #13 στις: 04 Νοε 2021, 10:52:19 πμ »
Ευχαριστώ @markakis θα κοιτάξω κι αυτό με το κλείδωμα οθόνης.

Υπάρχει και μια τρίτη επιλογή, το ssvnc:

sudo apt install --no-install-recommends ssvnc
sudo apt purge --auto-remove xvnc4viewer realvnc-vnc-viewer
sudo ltsp image /
reboot

Αυτό υποστηρίζει scaling αν και προς το παρόν οι μαθητές πρέπει να πατάνε δύο φορές F9 για να το ενεργοποιήσουν. Μπορούμε όμως να το διορθώσουμε αυτό ώστε να δουλεύει απευθείας.
Αυτό που με ανησυχεί με το ssvnc είναι ότι μου φαίνεται λίγο πιο αργό από τα άλλα, οπότε τελικά θα δείχνει λιγότερα frames per second. Αλλά δεν πήγα σε εργαστήριο να το δοκιμάσω.
Αν κάποιος το δοκιμάσει σε εργαστήριο και πει ότι είναι καλύτερο, μπορώ να διορθώσω το δυο-F9-για-scaling και να βάλουμε αυτό ως default.

thanos

  • Βετεράνος
  • ****
  • Μηνύματα: 57
Απ: Scaling στον Επόπτη
« Απάντηση #14 στις: 09 Νοε 2021, 11:56:37 πμ »
> @thanos, σημειώνω εδώ τι προσθέσαμε στο client-functions· αν δουλεύει πιο σταθερά τώρα, να το προσθέσουμε για όλους: -hideclosealert=true -autoreconnect=false

Ως τώρα σίγουρα δουλεύει καλύτερα, δεν μου έχει παρουσιάσει το πρόβλημα που είχαμε, με το κόλλημα, ποτέ.