Το Στέκι των Πληροφορικών

Γενικά => Τεχνική υποστήριξη => Linux => Μήνυμα ξεκίνησε από: mandarinos στις 13 Ιαν 2025, 11:54:22 ΠΜ

Τίτλος: Ποιά η εντολή από τον server γιά κλείσιμο τερματικού LTSP μέσω LAN;
Αποστολή από: mandarinos στις 13 Ιαν 2025, 11:54:22 ΠΜ
Παρακαλώ γιά τη βοήθειά σας! (Όποιος γνωρίζει.)

............................

Επειδή γράφω ένα πρόγραμμα (*) γιά την πλατφόρμα του LTSP (**) (συγκεκριμένα, γιά να φαίνονται στους greeters των τερματικών μόνον οι μαθητές / users που έχουν μάθημα τη συγκεκριμένη ώρα, κι όχι όλα τα 250-300 ονοματεπώνυμα του σχολείου), είναι απαραίτητο να γνωρίζω (και) ποιά είναι η εντολή κλεισίματος τερματικού, ώστε να την καλέσω.

Το σκεπτικό είναι:

(α) Ότι στο ltsp.conf βάζω κάτω από κάθε τερματικό ότι (την τάδε διδακτική ώρα) μπαίνει η ομάδα [laboratory1], ή [laboratory2], κλπ, αναλόγως. Όχι δήλωση τύπου: PWMERGE_SGR="[a-c][1-5]".

(β) Άρα, λίγο μετά το διάλειμμα (με τις time functions καθάρισα εύκολα!), το πρόγραμμά μου πρέπει:

Στο (1), λοιπόν, κόλλησα.

............................

Επειδή, όμως, δεν είμαι της νοοτροπίας "- Πέσε πίττα, να σε φάω!", τί έκανα, γιά να δώ πώς γίνεται το shutdown:


ssh user@client_ip_or_hostname sudo shutdown -h now (***)

και με παράμετρο -p 22 (ή -p 7100), αν θέλω ν' ακούει συγκεκριμένο port.

Συνεπώς, αντέγραψα από τον Επόπτη το ip ενός ανοικτού τερματικού και δοκίμασα (δύο φορές ανά περίπτωση) με:

ssh -p 22 admin@10.xxx.xxx.65 sudo shutdown -h now (λάθος!)
ssh -p 7100 admin@10.xxx.xxx.65 sudo shutdown -h now (λάθος!)

ssh -p 22 kapoios-sygkekrimenos-yparxwn-user-logged-in@10.xxx.xxx.65 sudo shutdown -h now, (αφού πρώτα έκανα log in μέσω Επόπτη έναν user που δεν έχει κάν συνθηματικό)

ssh -p 7100 kapoios-sygkekrimenos-yparxwn-user-logged-in@10.xxx.xxx.65 sudo shutdown -h now,

αλλά έπεσα επάνω σε access denied (είτε με port 22, είτε με port 7100)... και η δουλειά μου δεν γίνεται.

Επίσης, πάλι δεν έχει αποτέλεσμα το:

sudo visudo

και προσθήκη της γραμμής:

user ALL=(ALL) NOPASSWD: /sbin/shutdown

(Και μετά reboot του server, να πάρει τις νέες ρυθμίσεις.)

Ακόμη: η εντολή δεν αναγνωρίζει hostnames (γιατί, όμως; ), μόνο ip's, και απορώ αν πρέπει οπωσδήποτε να υπάρχει user logged in. (Δεν γίνεται να κλείσω το τερματικό από τον server, ενόσω αυτό βρίσκεται απλά στην οθόνη εισόδου; Αφού ο Επόπτης το κάνει!)

Επίσης, στα αρχεία ρυθμίσεων του ssh βλέπω ότι το port 22 είναι commented out. Πρέπει να το κάνω uncomment, ή (εναλλακτικώς) να βάλω σαφώς δήλωση "port 7100";

Τί παρέλειψα, ή τί κάνω λάθος;

Ευχαριστώ θερμότατα εκ των προτέρων γιά τις τυχόν απαντήσεις σας!

............................

(*) Σε Gambas3 (v. 3.19.5), που τη βρίσκω τρομερά εύκολη και διαχειρίσιμη. Και με άδεια GNU.

(**) Εάν κλείσω την εμφάνιση ονομάτων στον greeter του κάθε τερματικού, φυσικά το συγκεκριμένο πρόγραμμα είναι τελείως άνευ σημασίας· ο κάθε μαθητής θα μπαίνει απλά με το user name του και ίσως και με το συνθηματικό του, χωρίς να ψάχνει 250-300 ονοματεπώνυμα. Θεωρώ, όμως, ότι βοηθάει τις μικρότερες ηλικίες - ενδεχομένως Δημοτικά που δουλεύουν LTSP, ή και πρώτες τάξεις Γυμνασίου.
Μ' άλλα λόγια, είναι μιά (ίσως περιττή) ξεχωριστή προσθήκη στη διαχείριση ΣΕΠΕΗΥ.

Στο κάτω-κάτω, και άχρηστο να θεωρηθεί, το συγκεκριμένο πρόγραμμα είναι μιά πολύ καλή (εξ)άσκηση γιά την αφεντιά μου, και "μαγιά" γιά τα επόμενα που θέλω να φτιάξω.

(***) Οι διαδικτυακές αναφορές λένε ότι συνήθως σε εγκατάσταση LTSP υπάρχει παράλληλα και το ssh εγκατεστημένο. Όντως, ισχύει στον server μου.
Τίτλος: Απ: Ποιά η εντολή από τον server γιά κλείσιμο τερματικού LTSP μέσω LAN;
Αποστολή από: din_os στις 20 Φεβ 2025, 04:58:56 ΜΜ
Ρώτα το chatgpt, θα εκπλαγείς.
Τίτλος: Απ: Ποιά η εντολή από τον server γιά κλείσιμο τερματικού LTSP μέσω LAN;
Αποστολή από: mandarinos στις 21 Φεβ 2025, 09:47:01 ΠΜ
Ευχαριστώ γιά τη συμβουλή!

Ρώτησα ήδη, αρκετές μέρες πρίν. Όπως και το Grok2. (Το Κινέζικο το DeepSeek δεν τό 'χω δοκιμάσει ακόμη. Αργότερα. Ρωτάω εδώ και κάμποσο καιρό γιά θέματα προγραμματισμού, κυρίως γιά να μην απασχολώ με ερωτήσεις τα φόρουμς, όπου συμμετέχω.)

Απάντησαν ότι πρέπει να στείλω συγκεκριμένη εντολή στο epoptes-client κάθε τερματικού (αν και οι απαντήσεις τους διέφεραν στη σύνταξη της εντολής), κι αυτό κάνει τη δουλειά.
Οκ, είναι ένα σχήμα που μέχρι τώρα δεν είχα συνηθίσει (*). Αλλά η ιδέα είναι εύκολο να κατανοηθεί: απευθύνεσαι (εκτός από το στάνταρ να δώσεις εντολές του ΛΣ) σε έτοιμα modules (που τρέχουν στο background), χωρίς να χρειαστεί να γράψεις εσύ όλες τις υπορρουτίνες από το μηδέν.

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

Μιά που αναφέραμε τις ΤΝ, ειρήσθω ότι η μεν ChatGPT έχει μιά ακρίβεια απαντήσεων κάπου στο 95%, το δέ Grok2 λίγο καλύτερη, 97-98%. Μην επαφίεστε, όμως, απόλυτα σ' αυτές, διότι το 100% δεν το έχουν ακόμη. (**) Συνεπώς, τα πάντα θέλουν οπωσδήποτε δοκιμή στο πληκτρολόγιο.
Απλώς, με τις ΤΝ κόβουμε δρόμο, αντί γιά ψάξιμο με τα ψαχτήρια και ανάγνωση βιβλίων αναφοράς. Γινόμαστε τεμπέληδες πολυτελείας, δηλαδή! :)

..........................................
(*) Έχω να προγραμματίσω εδώ και 30 χρόνια, κυρίως διότι με εμπόδιζαν τα απαράδεκτα ελαττώματα κάθε "in" γλώσσας.

Έ, εντάξει!

Είμαι δηλαδή, προγραμματιστής λιγάκι της "παλιάς σχολής", η δε προσωπική μου στάση (από προγραμματισμό, μέχρι επιδιόρθωση παλιών επίπλων, όπου πάλι είμαι αρκετά καλός! :)  ) είναι: δώσε μου το σωστό εργαλείο και ξεκινάω να κάνω αυτό που θέλω, χωρίς καθυστερήσεις.

Δεν έβρισκα το εργαλείο που ήθελα, μέχρις ότου βρήκα τη Gambas3 από σπόντα.

(**) Ως αντιπαράδειγμα, και μπροστά στους μαθητές μου: τις ρώτησα ποιά είναι η τελευταία έκδοση της Gambas3. Η ChatGPT απάντησε η 3.19.5, το δε Grok2 η 3.20 . Αμφότερα λάθος, είναι η 3.20.1 · άσχετο αν θεωρείται stable, ή όχι.