Ερωτήσεις γιά να φαίνονται συγκεκριμένοι χρήστες σε συγκεκριμένα τερματικά

Ξεκίνησε από mandarinos, 19 Ιαν 2022, 11:58:01 ΠΜ

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

mandarinos

Η κατάσταση:

Θέλω να συνδέσω ως τερματικά τους υπολογιστές των αιθουσών (τους 64μπιτους - οι διαθέσιμοι 32-bit είναι ψιλοαπελπισία, δεν θα τους υποστηρίξω) επάνω στον server του εργαστηρίου 1, γιά να μη φτιάξω άλλον server LTSP ειδικά γι' αυτή τη δουλειά.

Τί θέλω:

(α) Θέλω να έχω τη λίστα των μαθητών στην οθόνη εισόδου των τερματικών των εργαστηρίων (την έχω ήδη - διαλέγουν το ονοματεπώνυμό τους με τα πάνω-κάτω βελάκια και δίνουν το τυχόν συνθηματικό τους), αλλά όχι τη λίστα των εκπαιδευτικών.
(β) Το αντίστροφο του προηγουμένου, θέλω τη λίστα των εκπαιδευτικών στις οθόνες εισόδου στα μηχανήματα των αιθουσών, αλλά όχι τη λίστα των μαθητών.

Τί έχω κάνει μέχρι στιγμής:

Στο αρχείο ltsp.conf βρήκα την παράμετρο: LTSPDM_USERS. Εάν θέσω κάτω από ένα τερματικό, ονομασμένο πχ pc20 και δηλούμενο με την mac address του, (πχ) : LTSPDM_USERS="trexagyreyopoylos_kwn", πιάνει το κόλπο. Φαίνεται μόνον αυτός στην οθόνη εισόδου του pc20.

Τα ερωτήματα:
- Μπορώ να έχω πολλούς χρήστες (χωρίς κοινό string στο όνομα χρήστη - δηλ. χωρίς πχ xrhsths-001, xrhsths-002, xrhsths-003, κλπ) να φαίνονται μόνον αυτοί σ' ένα τερματικό;
- Εάν ναί, πώς μπορώ να τους ομαδοποιήσω; μπορώ πχ να γράψω LTSPDM_USERS="papadopoulos; papadakhs; papadellhs", κλπ; (Δεν πιάνει με ελληνικό ερωτηματικό, ούτε με κενό. Δεν ξέρω καν αν πιάνει με κάποιο delimiter.) Μπορώ να παραπέμψω σε εξωτερικό αρχείο text / csv, όπου θα τους έχω όλους;
- Γιά να γλυτώσω το γράψιμο και τις κοπυπαστάδες, μπορεί να υπάρξει παράμετρος LTSPDM_GROUPS= , ώστε να δηλώσω (ως groups) τις τάξεις / τα τμήματα (πχ: a*, b*... ή: a1, a2, κλπ) και να ξενοιάσω;
- Εν πάσει περιπτώσει, πώς γίνεται - αν γίνεται; Πρέπει οπωσδήποτε τα user names να έχουν κοινό string μέσα τους, πχ ma8hths-01, ma8hths-02, κλπ (καταπώς υπονοεί το εγχειρίδιο της ΤΣ) ; (Οκ, αν είναι απαραίτητο, θα καθήσω να τα ξαναγράψω εξ αρχής τα user names... αφού καταργήσω τα υπάρχοντα.)

Σημειώστε ότι δεν βρήκα τεκμηρίωση γιά την παράμετρο LTSPDM_USERS στο ltsp.org .

Ευχαριστώ!


alkisg

Το ελληνικό εγχειρίδιο για το LTSP σε πολλά σημεία είναι καλύτερο από το αγγλικό. :)
Η τεκμηρίωση της οδηγίας LTSPDM_USERS είναι στο https://ts.sch.gr/docs/linux/ltsp/dm/#ltspdm_users

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

Κώδικας: Bash
LTSPDM_USERS="(papadopoulos|papadakhs|papadellhs)"


Αν θες να φιλτράρεις χρήστες με βάση το GROUP, γίνεται με την οδηγία PWMERGE_SGR, δες την σχετική τεκμηρίωση.

mandarinos

Καλημέρα Άλκη!

Δοκίμασα, αλλά δεν δουλεύει. Επίσης, δοκίμασα με χρήστες-μαϊμού, δηλ. έφτιαξα users dokimha0 και dokimhb0, και δοκίμασα να δω αν μπορώ να βάλω wildcard. Κάτι σαν: LTSPDM_USERS="*0". Πάλι όχι.
Επίσης, δοκίμασα με διάφορα διαχωριστικά (filter, κόμμα, Ελληνικό ερωτηματικό, κενό), συν διάφορες παρενθέσεις μέσα στα εισαγωγικά - ακόμη και χωρίς αυτές. Ούτε! Μάλιστα, με σύνταξη με τετράγωνες αγκύλες: LTSPDM_USERS="[κάτι]", σταματάει η διαδικασία έναρξης του LTSP! (Βγάζει -ανάμεσα στα υπόλοιπα της εκκίνησης με ipxe- σχετικό διαγνωστικό στο συγκεκριμένο τερματικό με τους καθορισμένους χρήστες, πριν κάν φτάσει στην οθόνη εισόδου.)

Τέλος πάντων, πρόκειται γιά κάτι επιθυμητό από μένα, αλλά όχι κρίσιμο. Θα επιστρατεύσω έναν άλλον υπολογιστή ως server γιά τις αίθουσες.

Πιστεύω, όμως, ότι σίγουρα τις έχεις υπ' όψη σου αυτές τις δυνατότητες, αλλά απλά δεν έχεις τελειώσει την ανάπτυξη της σχετικής έκδοσης του LTSP. Κι αυτό το λέω, επειδή δεν πιάνει -μέσα στο ltsp.conf- ούτε ο καθορισμός του χρόνου ενεργού μενού εκκίνησης, ούτε η αλλαγή του ονόματος του image, που επεχείρισα. Δες αμέσως παρακάτω τις αλλαγές που έκανα:

[server]
# Καθορισμός των τίτλων του iPXE menu για τα images
IPXE_X86_64_IMG="Linux Mint 20.3 Cinnamon (64 bit)"
IPXE_X86_32_IMG="Ubuntu 18.04 MATE (32 bit)"
# Το μενού να εμφανίζεται για 15'' (-1 σημαίνει καθόλου μενού)
MENU_TIMEOUT=15000

Δεύτερη και πέμπτη σειρά μετά την ετικέττα [server], είναι σαν να μην τις άλλαξα καθόλου. Πάλι εμφανίζει Ubuntu 20.κάτι, γιά μόλις ένα δευτερόλεπτο!

Οκ, είπαμε δεν είναι κρίσιμο. Κι αν πρόκειται γιά επόμενη έκδοση του LTSP, έχω την υπομονή να περιμένω!

Ευχαριστώ γιά συμβουλές, όπως και νά 'χει! Προσπαθώ ν' ανταποδώσω, αυτοκαθοριζόμενος ως ο "επίσημος" alpha tester του φόρουμ!  :D :D

alkisg

Η ανάπτυξη του νέου LTSP έχει ολοκληρωθεί εδώ και 2 χρόνια. Μέσα στο Σαββατοκύριακο θα δημοσιεύσω μεν και ενημερωμένη έκδοση 22.04 για να είναι διαθέσιμη στο επερχόμενο Ubuntu 22.04, αλλά έχει απλές βελτιώσεις, δεν υπήρχαν σοβαρά θέματα που να χρειάζονταν bug fixes.

Για την LTSPDM_USERS, αν θες έλα από το Matrix: https://ts.sch.gr/docs/linux/support/#matrix

Για το MENU_TIMEOUT κλπ, χρειάζεται η εντολή ltsp ipxe, δες το σχετικό documentation: https://ts.sch.gr/docs/linux/ltsp/ltsp-commands/#ltsp-ipxe

mandarinos

Οκ, μετά από την on-line σύνδεσή μας, δούλεψαν όλα όπως πρέπει. Ευχαριστώ, ξανά!

Επίσης, μετά από λίγο πειραματισμό, διαπίστωσα ότι οι ορισμοί: (α) του ποιοί χρήστες φαίνονται σε κάθε τερματικό και ταυτόχρονα (β) του ποιές εφαρμογές (από το μενού του administrator) δεν φαίνονται στο ίδιο τερματικό, μπορούν να δοθούν και κάτω από κάθε τερματικό χωριστά - κι όχι μονάχα κάτω από την ενότητα [common].

Ως εξής:

[11:22:33:44:55:66]
HOSTNAME=pc02
POST_INIT_RM_SCH_SCRIPTS="rm -f /usr/share/applications/sch-scripts.desktop /usr/sbin/sch-scripts"
POST_INIT_RM_SCH_EPOPTES="rm -f /usr/share/applications/epoptes.desktop /usr/bin/epoptes"
PWMERGE_SGR="[a-c][1-5]"

[Γιά τους συναδέλφους, που τυχόν ενδιαφερθούν: αυτές οι γραμμές σημαίνουν ότι: στο PC 02, με mac address που γράφεται στην 1η γραμμή, το οποίο PC είναι προς χρήση μονάχα των μαθητών users (τελευταία γραμμή, ομάδες "τμήματα" από Α' 1 μέχρι Γ' 5),  δεν θα φαίνονται η Διαχείριση ΣΕΠΕΗΥ και ο Επόπτης.]

Και ούτω καθ' εξής, γιά τα υπόλοιπα τερματικά.

Δεν ξέρω, ίσως είναι τυχαίο (πάντως, το είδα 2-3 φορές να συμβαίνει), αλλά αν αλλάξω τη σειρά αναγραφής και βάλω τη δήλωση PWMERGE κάτω απ' το HOSTNAME, σταματάει η εκκίνηση του LTSP. Μ' αυτή τη σειρά, όπως παραπάνω, δουλεύουν όλα άψογα.

- - - - - - - - - - - - - - -

Υγ: Την τροποποίηση τη δοκίμασα, επειδή ήθελα τη χρήση της Διαχείρισης ΣΕΠΕΗΥ (και δευτερευόντως του Επόπτη) από τερματικό μέσα στα γραφεία του συλλόγου διδασκόντων. (Ως administrator, φυσικά.) Γιατί; Διότι παρουσίασα την δικτυακή σύνδεση στους συναδέλφους και τις συναδέλφισσες, και ενθουσιάστηκαν!... μερικοί-ές, δέ, ζήτησαν να βάλουν συνθηματικό. (Οπότε, έκανα αυτές τις μικροαλλαγές, ώστε να κάνω τη δουλειά μου στο πιό άνετο.)

Το θέμα, όμως, είναι ότι ως administrator από το τερματικό δεν μπορώ:

  • Να χρησιμοποιήσω τον Επόπτη. (Δεν εμφανιζόταν κάν!)
  • Να κάνω αλλαγές πχ στο ltsp. (Πήγα να περάσω καναδυό mac addresses ακόμη, αλλά τζάμπα έγραφα. Διαπίστωσα μετά από τον server πως δεν περαστήκαν.)

Ενημερώσεις μπορώ να κάνω, οκ.

Με ερωτηματικό, το αν μπορώ (μέσα από τη Διαχείριση ΣΕΠΕΗΥ - και στο τερματικό) :

  • να κάνω "εξαγωγή" του image (μετά τις ανανεώσεις),
  • να περάσω τα αιτούμενα συνθηματικά και να κάνω "εξαγωγή" τους με την εντολή initrd.
Αλλά, δε βαρυέσαι. Θα κάνουν έναν κόπο ν' ανέβουν μέχρι το εργαστήριο, και τα περνάω εκεί (στον server).

alkisg

Σκέψεις όπως διαβάζω αυτά που έγραψες:

1) Μπορείς να βάλεις:

[clients]
POST_INIT_RM_SCH_SCRIPTS="rm -f /usr/share/applications/sch-scripts.desktop /usr/sbin/sch-scripts"

[01:02:03:04:05:06]
HOSTNAME=grammateia
POST_INIT_RM_SCH_SCRIPTS=


Με αυτόν τον τρόπο ορίζεις μια οδηγία για όλους, και στη συνέχεια σε επιλεγμένα τερματικά την ακυρώνεις. Είναι μερικές φορές πιο βολικό από το να ορίζεις την ίδια οδηγία ξεχωριστά σε 20 ενότητες.

2) Η σειρά που εμφανίζεται η PWMERGE_SGR δεν πρέπει να παίζει κανέναν απολύτως ρόλο.

3) Η εκτέλεση της Διαχείρισης ΣΕΠΕΗΥ (sch-scripts) σε LTSP client σημαίνει ότι οι αλλαγές θα γίνουν στην RAM του client και θα εξαφανιστούν μετά από επανεκκίνηση.
Αν ο server μας είναι σε απρόσιτη θέση, η λύση είναι η απομακρυσμένη εκτέλεση των sch-scripts:

https://ltsp.org/man/ltsp-remoteapps/

Δηλαδή στο ltsp.conf θέλει:

[mac-address]
REMOTEAPPS="users-admin mate-about-me sch-scripts"


Νομίζω ότι έχει νόημα να γίνει αυτό από προεπιλογής, θα ενημερώσω κατάλληλα το προεπιλεγμένο ltsp.conf μας.

Το ίδιο ισχύει και για τα updates, δεν πρέπει να γίνονται σε LTSP clients αλλά στον server.

4) Για τον Επόπτη υπάρχουν δύο επιλογές, η μία είναι τα remoteapps και η δεύτερη η τοπική εκτέλεση σε client:

https://ts.sch.gr/docs/linux/epoptes/on-ltsp-client