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

Γενικά => Τεχνική υποστήριξη => Linux => Μήνυμα ξεκίνησε από: elf στις 17 Σεπ 2020, 09:47:52 ΠΜ

Τίτλος: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: elf στις 17 Σεπ 2020, 09:47:52 ΠΜ
θέλω να εμφανίζονται μόνο ορισμένοι χρήστες, συγκεκριμένα οι μαθητές της Α' τάξης στην οθόνη σύνδεσης. Για να γίνει αυτό έβαλα στο ltsp.conf
#Στην οθόνη σύνδεσης να εμφανίζονται μόνο οι παρακάτω λογαριασμοί
LTSPDM_USERS="a*"
αφού όλοι οι χρήστες από την Α' ξεκινούν με a. Παρόλα αυτά δεν παίζει. Είναι κάτι άλλο;
Ευχαριστώ!
Τίτλος: Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: alkisg στις 17 Σεπ 2020, 10:08:10 ΠΜ
Θεωρία: υπάρχουν 2 παραπλήσιες μέθοδοι, τα "globs" (wildcards) και οι "κανονικές εκφράσεις" (regular expressions).

Τα globs είναι πιο απλά και τα χρησιμοποιεί το shell, το bash, το DOS κλπ. Εκεί, "*" σημαίνει "0 ή περισσότεροι χαρακτήρες", και "?" σημαίνει "ένας οποιοσδήποτε χαρακτήρας".

Τα regular expressions είναι πολύ πιο δυνατά και χρησιμοποιούνται σε όλες τις γλώσσες προγραμματισμού αλλά και σε εργαλεία τύπου sed και awk. Εκεί, "a*" σημαίνει "0 ή περισσότερα a", δηλαδή "", "a", "aa", "aaa" κλπ, ενώ η τελεία "." σημαίνει "ένας οποιοσδήποτε χαρακτήρας".

Η LTSPDM_USERS χρησιμοποιεί κανονικές εκφράσεις. Έτσι, αυτό που ήθελες είναι το:
LTSPDM_USERS="a.*"  ==> a και μετά οσοιδήποτε χαρακτήρες
ή το:
LTSPDM_USERS="a[0-9-]*"  ==> a και μετά οσαδήποτε νούμερα ή παύλες
Τίτλος: Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: ilias_s στις 17 Σεπ 2020, 06:32:03 ΜΜ
Άλκη, επειδή έχω να ακούσω για κανονικές εκφράσεις από τη σχόλη, ερώτηση...

Αν δε θέλω να εμφανίζεται κανένας χρήστης στο login screen (παρά μόνο η σύνδεση με πληκτρολόγηση username/password) θα αρκούσε το :

LTSPDM_USERS=""

???
Τίτλος: Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: alkisg στις 18 Σεπ 2020, 07:01:54 ΠΜ
Την περίπτωση να μην εμφανίζεται καθόλου η λίστα χρηστών την υποστήριζε ο lightdm από μόνος του χωρίς πρόσθετο κώδικα από το LTSP, οπότε παρέμεινε ως έχει:

https://alkisg.mysch.gr/steki/index.php?topic=8396.msg92343#msg92343

Κώδικας (Bash) [Επιλογή]

[clients]
LIGHTDM_CONF="greeter-hide-users=true"


Γι' αυτό το λόγο η LTSPDM_USERS ενεργοποιείται μόνο εάν υπάρχουν "matching users", αλλιώς αγνοείται. Θεώρησα ότι ήταν καλύτερο σε PC χωρίς HOSTNAME, που καταλήγει να ονομάζεται ltsp123, να εμφανίζονται όλοι οι διαθέσιμοι χρήστες.
Τίτλος: Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: ilias_s στις 18 Σεπ 2020, 10:00:02 ΠΜ
Α! Τώρα μάλιστα... Φχαριστώ, θα το χρειαστώ!
Τίτλος: Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
Αποστολή από: elf στις 18 Σεπ 2020, 01:43:34 ΜΜ
Μια χαρά, ευχαριστώ!
Παράθεση από: alkisg στις 17 Σεπ 2020, 10:08:10 ΠΜ
Θεωρία: υπάρχουν 2 παραπλήσιες μέθοδοι, τα "globs" (wildcards) και οι "κανονικές εκφράσεις" (regular expressions).

Τα globs είναι πιο απλά και τα χρησιμοποιεί το shell, το bash, το DOS κλπ. Εκεί, "*" σημαίνει "0 ή περισσότεροι χαρακτήρες", και "?" σημαίνει "ένας οποιοσδήποτε χαρακτήρας".

Τα regular expressions είναι πολύ πιο δυνατά και χρησιμοποιούνται σε όλες τις γλώσσες προγραμματισμού αλλά και σε εργαλεία τύπου sed και awk. Εκεί, "a*" σημαίνει "0 ή περισσότερα a", δηλαδή "", "a", "aa", "aaa" κλπ, ενώ η τελεία "." σημαίνει "ένας οποιοσδήποτε χαρακτήρας".

Η LTSPDM_USERS χρησιμοποιεί κανονικές εκφράσεις. Έτσι, αυτό που ήθελες είναι το:
LTSPDM_USERS="a.*"  ==> a και μετά οσοιδήποτε χαρακτήρες
ή το:
LTSPDM_USERS="a[0-9-]*"  ==> a και μετά οσαδήποτε νούμερα ή παύλες