Αποστολέας Θέμα: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη  (Αναγνώστηκε 97 φορές)

elf

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 308
θέλω να εμφανίζονται μόνο ορισμένοι χρήστες, συγκεκριμένα οι μαθητές της Α' τάξης στην οθόνη σύνδεσης. Για να γίνει αυτό έβαλα στο ltsp.conf
#Στην οθόνη σύνδεσης να εμφανίζονται μόνο οι παρακάτω λογαριασμοί
LTSPDM_USERS="a*"
αφού όλοι οι χρήστες από την Α' ξεκινούν με a. Παρόλα αυτά δεν παίζει. Είναι κάτι άλλο;
Ευχαριστώ!

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5534
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
« Απάντηση #1 στις: 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

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 409
Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
« Απάντηση #2 στις: 17 Σεπ 2020, 06:32:03 μμ »
Άλκη, επειδή έχω να ακούσω για κανονικές εκφράσεις από τη σχόλη, ερώτηση...

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

LTSPDM_USERS=""

???

alkisg

  • Τεχνικός / καθαρίστρια
  • *****
  • Μηνύματα: 5534
    • Ο Διερμηνευτής της ΓΛΩΣΣΑΣ
Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
« Απάντηση #3 στις: 18 Σεπ 2020, 07:01:54 πμ »
Την περίπτωση να μην εμφανίζεται καθόλου η λίστα χρηστών την υποστήριζε ο lightdm από μόνος του χωρίς πρόσθετο κώδικα από το LTSP, οπότε παρέμεινε ως έχει:

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

Κώδικας: Bash
  1. [clients]
  2. LIGHTDM_CONF="greeter-hide-users=true"

Γι' αυτό το λόγο η LTSPDM_USERS ενεργοποιείται μόνο εάν υπάρχουν "matching users", αλλιώς αγνοείται. Θεώρησα ότι ήταν καλύτερο σε PC χωρίς HOSTNAME, που καταλήγει να ονομάζεται ltsp123, να εμφανίζονται όλοι οι διαθέσιμοι χρήστες.

ilias_s

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 409
Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
« Απάντηση #4 στις: 18 Σεπ 2020, 10:00:02 πμ »
Α! Τώρα μάλιστα... Φχαριστώ, θα το χρειαστώ!

elf

  • Δεινόσαυρος
  • *****
  • Μηνύματα: 308
Απ: Εμφάνιση μόνο κάποιων χρηστών στην αρχική οθόνη
« Απάντηση #5 στις: 18 Σεπ 2020, 01:43:34 μμ »
Μια χαρά, ευχαριστώ!
Θεωρία: υπάρχουν 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 και μετά οσαδήποτε νούμερα ή παύλες