iTalc

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

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

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

Πώς το κάνω να δουλέψει;

Έχω εγκαταστήσει Ubuntu στον server και στους clients του εργαστηρίου (όχι thin clients). Έχω εγκαταστήσει το italc master στον server και το italc client στους υπολογιστές.

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

Corwin

#1
.

alkisg

Το βασικό για να δουλέψει είναι να κάνεις scp τον κατάλογο /etc/italc/keys από το server στους clients, ώστε να γίνει μεταφορά των κλειδιών ssh.

Επίσης, κι ας μην χρησιμοποιείς thin clients, καλό είναι να δηλώσεις και τα δύο αποθετήρια της Τεχνικής Στήριξης (https://launchpad.net/~ts.sch.gr/+archive/ppa/ και http://ts.sch.gr/repo/) στις πηγές σου, ώστε να παίρνεις ανανεωμένες εκδόσεις διαφόρων πακέτων. Π.χ. υπάρχει νέα βελτιωμένη έκδοση του italc η οποία δεν υπάρχει στα επίσημα repositories της Jaunty.

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

#3
Παράθεση από: alkisg στις 10 Σεπ 2009, 06:29:33 ΜΜ
Το βασικό για να δουλέψει είναι να κάνεις scp τον κατάλογο /etc/italc/keys από το server στους clients, ώστε να γίνει μεταφορά των κλειδιών ssh.

Το DNS δεν δουλεύει ακόμα, οπότε π.χ. το client10 το ψάχνει στο sch.gr και όχι τοπικά. Τα PC είναι ρυθμισμένα να παίρνουν IP απ' τον router, οπότε δεν είμαι σίγουρος ότι μπορώ να χρησιμοποιήσω την IP διεύθυνσή τους για να τα προσθέσω στην τάξη. Και αφού αντιγράψω το φάκελο των κλειδιών, πώς μπορώ να τρέξω τον client; Στον server υπάρχει κανονική επιλογή στο menu να τρέξει ο master. Στα υπόλοιπα μηχανήματα, αν και εγκαταστάθηκε το italc client, δεν είδα πουθενά κανένα μενού για να ξεκινάει. Υποθέτω ότι τρέχει στο background; Πώς το ελέγχω αυτό;

BTW έτρεξα στον server την εντολή ica -createkeypair και τώρα το italc δεν τρέχει ούτε στον server. Μπέρδεμα...

Παράθεση από: alkisg στις 10 Σεπ 2009, 06:29:33 ΜΜ
Επίσης, κι ας μην χρησιμοποιείς thin clients, καλό είναι να δηλώσεις και τα δύο αποθετήρια της Τεχνικής Στήριξης (https://launchpad.net/~ts.sch.gr/+archive/ppa/ και http://ts.sch.gr/repo/) στις πηγές σου, ώστε να παίρνεις ανανεωμένες εκδόσεις διαφόρων πακέτων. Π.χ. υπάρχει νέα βελτιωμένη έκδοση του italc η οποία δεν υπάρχει στα επίσημα repositories της Jaunty.

Έχω βάλει και τα δύο αποθετήρια στον server. Θα τα προσθέσω και στα υπόλοιπα μηχανήματα.

P.S. Η έκδοση του italc που εγκαταστάθηκε στον server είναι η 1.0.9
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Παράθεση από: Δημήτρης Δαλαγιώργος στις 10 Σεπ 2009, 07:30:38 ΜΜΤο DNS δεν δουλεύει ακόμα, οπότε π.χ. το client10 το ψάχνει στο sch.gr και όχι τοπικά. Τα PC είναι ρυθμισμένα να παίρνουν IP απ' τον router, οπότε δεν είμαι σίγουρος ότι μπορώ να χρησιμοποιήσω την IP διεύθυνσή τους για να τα προσθέσω στην τάξη.

Τυπικά ο ica-launcher (βλ. παρακάτω) κάνει publish τους clients σε μια υπηρεσία που λέγεται avahi. Αυτή η υπηρεσία είναι κάτι σαν κατάλογος· έτσι όταν τρέχεις τον master θα πρέπει να μπορεί να ρωτήσει την υπηρεσία και να βρει τους clients χωρίς καν να τους δηλώσεις.

Παράθεση από: Δημήτρης Δαλαγιώργος στις 10 Σεπ 2009, 07:30:38 ΜΜΚαι αφού αντιγράψω το φάκελο των κλειδιών, πώς μπορώ να τρέξω τον client; Στον server υπάρχει κανονική επιλογή στο menu να τρέξει ο master. Στα υπόλοιπα μηχανήματα, αν και εγκαταστάθηκε το italc client, δεν είδα πουθενά κανένα μενού για να ξεκινάει. Υποθέτω ότι τρέχει στο background; Πώς το ελέγχω αυτό;

Τρέχει αυτόματα ένα script, το /usr/bin/ica-launcher, το οποίο ουσιαστικά είναι ο italc-client. Για να δεις αν εκτελείται, τρέξε την παρακάτω γραμμή, θα πρέπει να δεις αποτελέσματα παρόμοια με τα παρακάτω:
alkisg@alkis:~$ ps -C ica -o pid=,command=
 4626 ica -noshm -isdport 5800 -ivsport 5900 -role other
 4660 /usr/bin/ica -rx11vs -noshm -nosel -nosetclipboard -rfbport 5900 -rx11vs -isdport 5800 -role other

Προσοχή, δεν πρέπει να εκτελείται ταυτόχρονα η απομακρυσμένη επιφάνεια εργασίας μαζί με το iTalc γιατί χρησιμοποιούν την ίδια πόρτα (5900). Αναφέρω στον οδηγό εγκατάστασης Ubuntu0904LTSP πώς μπορεί να αλλαχθεί η πόρτα, εάν χρειάζονται και τα δύο.

Παράθεση από: Δημήτρης Δαλαγιώργος στις 10 Σεπ 2009, 07:30:38 ΜΜBTW έτρεξα στον server την εντολή ica -createkeypair και τώρα το italc δεν τρέχει ούτε στον server. Μπέρδεμα...
Είναι πιο εύκολη η επανεγκατάσταση παρά η διόρθωση. :) Δώσε τα παρακάτω:
sudo apt-get purge --auto-remove italc-master italc-client
sudo rm -rf /etc/italc
sudo apt-get install italc-master

(δίνω command line εντολές αντί για περιγραφικές με GUI επειδή παίρνει λιγότερο χρόνο)
Και μετά συνέχισε με την αντιγραφή των κλειδιών στους clients.


Παράθεση από: Δημήτρης Δαλαγιώργος στις 10 Σεπ 2009, 07:30:38 ΜΜ
Έχω βάλει και τα δύο αποθετήρια στον server. Θα τα προσθέσω και στα υπόλοιπα μηχανήματα.
P.S. Η έκδοση του italc που εγκαταστάθηκε στον server είναι η 1.0.9

Η έκδοση που υπάρχει στο αποθετήριο της Τεχνικής Στήριξης είναι:
Κώδικας: shell
alkisg@alkis:~$ dpkg -l italc-client | grep ^ii
ii  italc-client  1:1.0.9.1-0ubuntu14~ppa1~jaunty1  Intelligent Teaching and Learning with Computers (client part)


ενώ στα αποθετήρια της Jaunty είναι το 1.0.9.1-0ubuntu9. Μάλιστα αρκετές από τις τελευταίες διορθώσεις που έγιναν τις προτείναμε εμείς. :-)

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

Παράθεση από: alkisg στις 10 Σεπ 2009, 06:29:33 ΜΜ
Το βασικό για να δουλέψει είναι να κάνεις scp τον κατάλογο /etc/italc/keys από το server στους clients, ώστε να γίνει μεταφορά των κλειδιών ssh.

Τώρα νιώθω ηλίθιος που το ρωτάω αυτό, αλλά δεδομένου ότι το DNS μου δεν δουλεύει ακόμα, πώς θα κάνω secure copy με το scp που ζητάει όνομα μηχανής και δεν το βρίσκει; Δουλεύει με ip, να ψάξω να δω τα ip των μηχανημάτων ένα-ένα;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Κάν' το ανάποδα, κάτσε στους clients και κάνε copy από τον server...

Εναλλακτικά, πιθανώς να μπορείς να πάρεις λίστα με τις IP με μία από τις παρακάτω εντολές - δεν τις δοκίμασα γιατί δεν είχα ακόμα μη-thin-clients εργαστήριο (θα έχω όμως φέτος :)):
avahi-browse -trp _italc._tcp | grep ^= | cut -d';' -f8
arp -n

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

Παράθεση από: alkisg στις 11 Σεπ 2009, 01:51:21 ΜΜ
Κάν' το ανάποδα, κάτσε στους clients και κάνε copy από τον server...

Εναλλακτικά, πιθανώς να μπορείς να πάρεις λίστα με τις IP με μία από τις παρακάτω εντολές - δεν τις δοκίμασα γιατί δεν είχα ακόμα μη-thin-clients εργαστήριο (θα έχω όμως φέτος :)):
avahi-browse -trp _italc._tcp | grep ^= | cut -d';' -f8
arp -n


Οι clients αγνοούν τον server, ο server αγνοεί τους clients και όλοι αγνοούν όλους. Δε γίνεται name resolution αφού όλοι παίρνουν IP απ' τον router που τους δίνει suffix koz.sch.gr Και άντε μετά να βρει ο nameserver τον client10.koz.sch.gr. Τέλος πάντων, θα δοκιμάσω την τύχη μου με το arp. Αλλά άντε και βρήκα αυτόματα τις IP, το scp δέχεται IP;

Υ.Γ. Πώς μπορώ να τρέξω τον Ναυτίλο με δικαιώματα root;
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

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

Αντέγραψα τα κλειδιά σε έναν υπολογιστή με το φλασάκι μου, έκανα επανεκκίνηση και μου έβγαλε το παρακάτω μήνυμα λάθους:

Ο ISD-Server δε μπορεί να εκκινήσει επειδή η πόρτα 5800 χρησιμοποιείται ήδη. Παρακαλώ βεβαιωθείτε ότι καμμιά άλλη εφαρμογή δε χρησιμοποιεί την πόρτα και προσπαθήστε πάλι.

Ψάχνοντας στο internet βρήκα ότι αυτό έχει να κάνει με το italc. Ό,τι κι αν είναι πάντως, ο server εξακολουθεί να μην ανακαλύπτει αυτόματα τον client.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

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

.local  :D Έτσι βλέπει τους υπολογιστές στο τοπικό δίκτυο: clientXX.local

Τώρα κάθομαι σε κάθε client και δίνω την εντολή:

suco scp -p -r user@server.local:/etc/italc/keys /etc/itac/keys
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Δημήτρη το σφάλμα με το 5800 συνήθως σημαίνει ότι το italc έχει ήδη ξεκινήσει (και προσπαθεί να εκτελεστεί δεύτερη φορά).
Αν δεν βγάλεις άκρη, μπες κι εσύ στο irc να το δούμε real time: http://ubuntu-gr.org/webchat
Κι αν έχεις και κανά teamviewer πρόχειρο (παίζει άψογα κάτω από wine) ακόμα καλύτερα.

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

#11
Έριξα μια ματιά στο Wiki και στην ενότητα "Clients are not reachable although iTALC-client is running" ρωτάει "Can you access port 5900 of the host using telnet?"

Είμαι στον server και δίνω στο τερματικό, π.χ.:
telnet client09.local 5900

Η απάντηση που παίρνω είναι telnet: Unable to connect to remote host: Connection refused

Άκυρο. Το ξαναδοκίμασα μετά από λίγη ώρα, και τώρα το telnet συνδέεται, και στην πόρτα 5800 και στην πόρτα 5900. Παρ' όλ' αυτά, ο iTalc master δε βλέπει τίποτα. Το ahavi δείχνει ότι το italc τρέχει στον συγκεκριμένο υπολογιστή.
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

#12
Με το Δημήτρη συνεννοηθήκαμε μέσω IRC, και στη συνέχεια έγινε απομακρυσμένη βοήθεια μέσω ssh/freenx. Το πρόβλημα ήταν στην αντιγραφή των κλειδιών, το scp δεν βολεύει επειδή δεν αντιγράφει τον ιδιοκτήτη. Θα ανεβάσω κάποιον αναλυτικό οδηγό αργότερα που να βασίζεται σε γραφικά εργαλεία (ναυτίλος), στο μεταξύ ο σύντομος τρόπος μέσω κονσόλας είναι (καθήμενος στον client):

sudo rsync -av teacher@server.local:/etc/italc/keys /etc/italc/
ica-launcher &                        # Επανεκκίνηση του client

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

Να ευχαριστήσω κι από δω τον Άλκη για τη βοήθειά του! Τώρα το iTalc δουλεύει μια χαρά.

Να σημειώσω απλώς, ότι για κάποιο λόγο δε μου δούλεψε η προσέγγιση με το tar, οπότε

1) έσβησα τα κλειδιά απ' τους clients με
cd /etc/italc
sudo rm -r keys


2) Αντέγραψα πάλι τα κλειδιά απ' τον server με το scp:
sudo scp -pr root@server:/etc/italc/keys .

3) ʼλλαξα τα δικαιώματα με chmod:
sudo chmod 440 private/admin/key private/support/key private/teacher/key
sudo chmod 444 public/admin/key public/support/key public/teacher/key


Αυτό που εντόπισα όμως, ως "πρόβλημα" στο iTalc είναι ότι, αν αρχικά είχε κάνει login στον client π.χ. ο user1 και απ' το μενού πάνω δεξιά, κάνει login π.χ. ο user2, το iTalc εξακολουθεί να δείχνει την επιφάνεια εργασίας του user1.

Επίσης, στο overview όλων των υπολογιστών του εργαστηρίου, όλοι έχουν μικρό παραθυράκι και είναι όμορφα τακτοποιημένοι, εκτός από έναν που επιμένει να εμφανίζεται με παραθυράκι τουλάχιστον διπλάσιο απ' τους υπόλοιπους!!!
Ενάντια στην ηλιθιότητα, ακόμα και οι θεοί, μάταια αγωνίζονται.
Friedrich Schiller

alkisg

Παράθεση από: Δημήτρης Δαλαγιώργος στις 22 Σεπ 2009, 04:17:09 ΜΜ
Αυτό που εντόπισα όμως, ως "πρόβλημα" στο iTalc είναι ότι, αν αρχικά είχε κάνει login στον client π.χ. ο user1 και απ' το μενού πάνω δεξιά, κάνει login π.χ. ο user2, το iTalc εξακολουθεί να δείχνει την επιφάνεια εργασίας του user1.

Ναι, προς στιγμήν ο ica-launcher χρησιμοποιεί πάντα την ίδια πόρτα, κι έτσι δεν μπορεί να χρησιμοποιηθεί για δύο χρήστες ταυτόχρονα στο ίδιο μηχάνημα (βγάζει port already in use).
Ο developer (stgraber) είπε ότι θα το αναπτύξει περισσότερο για την Karmic ώστε να διαλέγει κάποια νέα, ελεύθερη πόρτα κάθε φορά, κι έτσι θα μπορεί να παίζει με οσουσδήποτε χρήστες στο ίδιο PC ταυτόχρονα συνδεδεμένους.