iTalc

Ξεκίνησε από Δημήτρης Δαλαγιώργος, 10 Σεπ 2009, 01:18:49 ΜΜ

« προηγούμενο - επόμενο »

Δημήτρης Δαλαγιώργος

Καινούρια ερώτηση: Πώς μπορώ να κάνω το iTalc να θυμάται τους υπολογιστές που βρίσκει αυτόματα, ώστε να μπορώ, μέσω Wake-on-LAN, να τους ανοίγω από τον server; Απ' ότι είδα έχει κουμπάκι για 'Εκκίνηση', όπως έχει και κουμπάκι για 'Τερματισμό', αν όμως δεν είναι ήδη ανοιχτοί οι υπολογιστές, το iTalc δεν έχει κανένα τους στη λίστα του.

Αν δεν γίνεται αυτό που λέω με το iTalc, υπάρχει κάποιο προγραμματάκι ή κάποια εντολή ώστε γνωρίζοντας τη MAC address του κάθε client να μπορώ να τους bootάρω (sic) από τον server;

Και αφού βγήκα που βγήκα off topic, υπάρχει εντολή παρόμοια με τη shutdown των Windows για να σβήνω τους υπολογιστές από τον server;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Η διαφορά του upstream italc με το πακετάρισμα που του έχει γίνει στο Ubuntu, είναι ουσιαστικά το automatic client discovery.
Αν θες μπορείς να βάλεις στατική IP σε όλους τους clients και να τους προσθέσεις στο italc, ώστε να τους ξέρει χωρίς autodetection (δεξί κλικ προσθήκη Η/Υ κτλ). Έτσι δεν θα χρειάζεται καν να τρέχεις το italc-launcher του Ubuntu, θα μπορείς να τρέχεις απευθείας το italc που δεν έχει client discovery.

Πλεονεκτήματα στατικών ip:
* Θα τους βλέπει το italc κι ας είναι κλειστοί.
* Θα μπορείς να τους ονοματίσεις με τη σειρά, π.χ. από client101 μέχρι client112 (προφανώς το τελευταίο νούμερο της IP θα πρέπει να είναι μικρότερο από 128, δηλαδή έξω από το εύρος του dhcp server του router).
* Δεν θα χρειάζεσαι dns server, θα μπορείς να τους έχεις στο /etc/hosts.

Μειονεκτήματα:
* Χρειάζεται λίγη ώρα μέχρι να ρυθμίσεις τις στατικές IP.
* Τα PC σου πλέον δεν είναι εντελώς ίδια, άρα μετά από cloning θα πρέπει να ασχολείσαι με hostname + ip.

Αν λοιπόν βάλεις στατικές IP, τότε τα ανοιγοκλείνεις από το iTalc και ξεμπερδεύεις.

Αν *δεν* βάλεις στατικές IP,
1) Εγκατέστησε το πακέτο wakeonlan και άνοιγέ τα με αυτό + την mac address,
2) Google για passwordless ssh (και ρώτα αν δεν το καταφέρεις) ώστε να μπορείς με μια εντολή του στυλ
  for client in client101 client102 client103...
  do
    ssh client poweroff
  done

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

alkisg

Παράθεση από: Δημήτρης Δαλαγιώργος στις 22 Σεπ 2009, 04:17:09 ΜΜ
Να σημειώσω απλώς, ότι για κάποιο λόγο δε μου δούλεψε η προσέγγιση με το tar...

Χθες έπαθα το παρακάτω σε ένα εργαστήριο, ίσως σου συνέβηκε αυτό:
1) Απεγκατέστησα το italc
2) Έκανα αντιγραφή των κλειδιών από τον server
3) Ξαναέτρεξα το ica-launcher
4) ...και ο server δεν έβλεπε κανέναν client!!!

Το πρόβλημα με την παραπάνω μέθοδο είναι ότι έπρεπε να "σκοτώσω" (kill) το ica πριν απεγκαταστήσω το italc. Και στους clients, και στον server.
Επομένως αφού έκανα σε όλους, και στον server, logoff / logon, δούλεψε μια χαρά.
Ίσως παίχτηκε κάτι τέτοιο και φάνηκε ότι δεν δούλεψε η προσέγγιση με το tar, ενώ στην πράξη να είχε δουλέψει...

alkisg

Παράθεση από: Δημήτρης Δαλαγιώργος στις 14 Σεπ 2009, 11:46:17 ΠΜ
.local  :D Έτσι βλέπει τους υπολογιστές στο τοπικό δίκτυο: clientXX.local

Αμ το είπες εσύ αλλά εγώ δεν το πήρα χαμπάρι!!!

...ιστορία ενός ΣΚ:
Αν είχαμε "κανονικό" dhcp server αντί του router, θα βάζαμε τον dns server (πακέτο bind9) και όλοι θα έβλεπαν όλους με τη μία.
Δυστυχώς έχουμε για dhcp server τον router... Έτσι έφαγα πολλές πολλές ώρες προσπαθώντας να ρυθμίσω σωστά ένα σχολικό εργαστήριο ώστε:
* Οι clients να παίρνουν δυναμική IP...
* ...από τον router (είτε cisco είτε όχι).
* Και να ενημερώνουν τον DNS server (==linux server) για την IP που πήρανε (nsupdate).
* Και, ει δυνατόν, ο linux server να ενημερώνεται και για τα Windows PCs.

Αφού λοιπόν είχα μέτρια αποτελέσματα και το κεφάλι μου έγινε καζάνι, τότε (ξανά)θυμήθηκα ότι το linux έχει τον δαίμονα avahi, με τον οποίο όλα τα PC ξέρουν το ένα το άλλο στο τοπικό δίκτυο... με τη διαφορά ότι χρειάζεται κι ένα .local στο τέλος (και βάζοντας search .local στο /etc/resolv.conf δεν το παρακάμπτει αυτό). Τελείως αμελητέο αυτό το "κακό".

Επομένως ας συνεχίσουμε την προσπάθεια για δυναμικές IP, πιστεύω ότι με το avahi όλα (και το italc) θα παίξουν μια χαρά. :)

Σε επόμενη φάση θα γράψω ένα sch-script το οποίο να μας φτιάχνει το italc να δουλεύει όπως το θέλουμε (και με κλειστούς τους clients).

alkisg

Διόρθωσα τα ica-launcher και italc-launcher scripts του iTalc ώστε να μη χρησιμοποιούν ήδη δεσμευμένες πόρτες, και πρόσθεσα και κάποια άλλα καλούδια. Επισυνάπτω τα αρχεία καθώς και το μήνυμα που έστειλα στην edubuntu-devel list, όποιος θέλει ας τα τεστάρει κι ας πει αν του παίζουν καλά (μπαίνουν στο /usr/bin).
Εκτός απροόπτου οι αλλαγές αυτές θα συμπεριληφθούν στο Ubuntu 9.10.

Παράθεση από: edubuntu-devel
I'm attaching patched versions for ica-launcher and italc-launcher, which hopefully fix the following:

* If the requested ports are in use, they use the next available ones. This fixes the xorg 100% CPU usage problem when both vino and italc are in use. It also fixes the "ISDSERVER: port 5800 already in use" error when starting a second session in a standalone Ubuntu client.

* If /etc/italc/italc.conf is present, it sources it, and respects:
   * The requested ISDPORT / IVSPORT ports,
   * NO_AUTODETECTION. If someone sets this to true, then this client doesn't show up in the Autodetected clients. Many teachers prefer to put static entries in ~/.italc, and then the autodetected clients would be duplicate entries...

* It uses LTSP_CLIENT_HOSTNAME, if it's available, for the client list to be more informative with ltsp clients.

* It uses sed a little more to try to be a little faster.

The scripts are *minimally tested* to make the freeze deadline, so any testing would be welcome. Sorry for being unable to send a patch instead of the whole scripts. :(

Cheers,
Alkis

Δημήτρης Δαλαγιώργος

Άσχετο με το παραπάνω.

Γιατί όταν δίνω εντολή απ' το iTalc να σβήσουν οι υπολογιστές, αντί να σβήσουν κάνουν logout!;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Παράθεση από: Δημήτρης Δαλαγιώργος στις 29 Σεπ 2009, 09:54:25 ΠΜ
Γιατί όταν δίνω εντολή απ' το iTalc να σβήσουν οι υπολογιστές, αντί να σβήσουν κάνουν logout!;

Πας εδώ: https://bugs.launchpad.net/ubuntu/+source/italc/+bug/367960
...και κάνεις confirm το bug. :)

(θα προσπαθήσω να το δω λίγο πριν το beta freeze της Karmic...)

Δημήτρης Δαλαγιώργος

Παράθεση από: alkisg στις 23 Σεπ 2009, 03:05:34 ΜΜ
Αν *δεν* βάλεις στατικές IP,
1) Εγκατέστησε το πακέτο wakeonlan και άνοιγέ τα με αυτό + την mac address,

Δε μου δουλεύει το wakeonlan. Δοκίμασα να στείλω το magic packet και την πόρτα 7, αντί για την default 9, αλλά πάλι δε δούλεψε... Στα Windows (με το NetOp ή/και το DeepFreeze) μπορούσα να τους ανοίξω απ' τον server, άρα δεν είναι ότι δεν το υποστηρίζουν. Μάλλον πρέπει να ξανακοιτάξω το BIOS, αλλά αν έχεις καμία άλλη ιδέα, ευχαρίστως να την ακούσω.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Χμμμ έχεις ακόμα Windows? Υπάρχει μια πιθανότητα να φταίει το κλείσιμο και όχι το άνοιγμα (να πέφτουν σε πιο βαρύ "ύπνο" απ' ότι πρέπει) - δοκίμασε να τους κλείσεις από τα Windows και να τους ανοίξεις με το wakeonlan από το Linux, και ανάποδα, για να βεβαιωθείς ότι το πρόβλημα δεν είναι στο κλείσιμο.

Δοκίμασε επίσης και με το πακέτο etherwake.

Τέλος, αν έχεις όρεξη, μπορείς με το wireshark να "πιάσεις" το πακέτο που στέλνει το netop και να το συγκρίνεις με το πακέτο που στέλνει το wakeonlan, για να δεις τι δεν πάει καλά, και να στείλεις τη διαφορά στους developers...

Δημήτρης Δαλαγιώργος

Παράθεση από: alkisg στις 19 Οκτ 2009, 11:33:27 ΜΜ
Χμμμ έχεις ακόμα Windows? Υπάρχει μια πιθανότητα να φταίει το κλείσιμο και όχι το άνοιγμα (να πέφτουν σε πιο βαρύ "ύπνο" απ' ότι πρέπει) - δοκίμασε να τους κλείσεις από τα Windows και να τους ανοίξεις με το wakeonlan από το Linux, και ανάποδα, για να βεβαιωθείς ότι το πρόβλημα δεν είναι στο κλείσιμο.

Τη λύση μου έδωσε η σελίδα Using Wake-On-LAN WOL/PME to power up your computer remotely

Εκεί λέει, κάτι που δεν ήξερα, ότι υπάρχει δυνατότητα να ρυθμιστεί η κάρτα δικτύου επιπλέον απ' τις ρυθμίσεις του BIOS. Ενώ, λοιπόν, το BIOS ήταν ρυθμισμένο να "ξυπνάει" τον υπολογιστή απ' το δίκτυο (η ρύθμιση Wake on PME ήταν Enabled), η κάρτα δεν ήταν!

Τρέχοντας στον client την εντολή

sudo ethtool eth0


μου έδειξε ότι το Wake on LAN ήταν απενεργοποιημένο στην κάρτα. Τρέχοντας

sudo ethtool -s eth0 wol g


ενεργοποίησα το Wake on LAN στην κάρτα. Έδωσα

sudo shutdown -P now


και ο client έσβησε. Αμέσως μετά, έδωσα

sudo wakeonlan 00:aa:bb
κλπ

και ο client ξαναξεκίνησε!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Δημήτρης Δαλαγιώργος

Αμ, δε...

Άνοιξα καινούριο thread, εδώ.

Πώς σβήνουμε τα off topic posts απ' το thread; (φοβερά ελληνικά, ε; )
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Δημήτρης Δαλαγιώργος

1) Πώς ξεκλειδώνουν οι μαθητές το πληκτρολόγιο και το ποντίκι όταν εγώ τους έχω κλειδώσει ή κάνω Επίδειξη Πλήρους Οθόνης;

2) Στον server, μετά την αναβάθμιση σε 9.10, το iTalc στη λίστα των υπολογιστών δείχνει και τον server. Πράγμα που σημαίνει ότι τρέχει και ο italc-client. Δοκιμάζω να τον απεγκαταστήσω και μου λέει ότι πρέπει να απεγκατασταθεί και ο italc-master!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Για το (2), φτιάξε στο server ένα αρχείο /etc/italc/italc.conf και βάλε μέσα
PUBLISH_CLIENT=False

Το (1) δεν το κατάλαβα, αν τους κλειδώσεις την οθόνη, οι μαθητές μόνοι τους έχουν βρει κόλπο που την ξεκλειδώνουν; Σίγουρα δεν βγάζουν το καλώδιο δικτύου; Τι βγάζει η εντολή ps -ef | grep ica όταν το κάνουν αυτό; (τρέξ' την μέσα από ssh...)

Δημήτρης Δαλαγιώργος

Υποθέτω πως ναι. Εγώ έδειχνα μια παρουσίαση μέσω της επίδειξης επιφάνειας εργασίας και, ενώ όλοι οι υπόλοιποι υπολογιστές έδειχναν ό,τι έδειχνε κι ο server, ένας μάγκας μπορούσε και δούλευε κανονικά στον υπολογιστή του ενώ η επίδειξη ήταν απλώς άλλη μια εφαρμογή που έτρεχε εκείνη την ώρα. Κάτι αντίστοιχο με το Ctrl-Esc που έπιανε μερικές φορές στο NetOp.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

Δημήτρης Δαλαγιώργος

Γιατί το iTalc δεν ψάχνει για νέους υπολογιστές συνέχεια;

Τι εννοώ. Έστω ότι ξεκινάει και από τους 12 υπολογιστές έχουν ανοίξει οι 8. Θα τους βρει και θα τους δείξει στη λίστα. Αν το iTalc στον server μείνει ανοιχτό και στο μεταξύ κλείσουν/ξανανοίξουν υπολογιστές, η λίστα του δεν ενημερώνεται. Πρέπει να το κλείσω και να το ξανανοίξω για να τους δει όλους... Δε θά 'πρεπε να υπάρχει ένα κουμπάκι rescan computers ή κάτι τέτοιο;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller