Εγχειρίδιο αναφοράς διαχειριστή οθόνης

Martin K. Petersen

George Lebl

Jon McCann

Ray Strode

Brian Cameron

Το εγχειρίδιο περιγράφει την έκδοση 2.26.0 του διαχειριστή οθόνης GNOME. Ενημερώθηκε την 10/02/2009.

Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1 ή μεταγενέστερη εκδιδόμενη από το Ίδρυμα Ελεύθερου Λογισμικού χωρίς Σταθερά Εδάφια, χωρίς Εξώφυλλα Κειμένου, και χωρίς Οπισθόφυλλα Κειμένου. Μπορείτε να βρείτε ένα αντίγραφο της GFDL σε αυτόν τον σύνδεσμο ή στο αρχείο COPYING-DOCS που διανεμήθηκε με αυτόν τον οδηγό.

Αυτή η τεκμηρίωση είναι μέρος της συλλογής τεκμηρίωσης του GNOME όπως διανέμεται υπό τους όρους του GFDL. Εάν επιθυμείτε να διανείμετε αυτή την τεκμηρίωση ξεχωριστά από την συλλογή, μπορείτε να το κάνετε εάν η τεκμηρίωση συνοδεύεται από αντίγραφο της άδειας (GFDL) όπως περιγράφεται στον τομέα 6 της άδειας.

Πολλά από τα ονόματα που χρησιμοποιούνται από εταιρίες για να ξεχωρίσουν τα προϊόντα και τις υπηρεσίες είναι σήματα κατατεθέν. Όπου αυτά τα ονόματα εμφανίζονται στην τεκμηρίωση GNOME, και τα μέλη της ομάδας τεκμηρίωσης GNOME έχουν γνώση αυτών, τότε αυτά αναγράφονται με κεφαλαίους χαρακτήρες ή με αρχικούς κεφαλαίους χαρακτήρες.

ΤΟ ΈΓΓΡΑΦΟ ΚΑΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΑΔΕΙΑΣ GNU FREE DOCUMENTATION ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ:

  1. Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ ΠΑΡΕΧΕΤΑΙ "ΩΣ ΕΧΕΙ", ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ ΟΤΙ ΜΠΟΡΕΙ ΝΑ ΕΞΥΠΗΡΕΤΗΣΕΙ ΚΑΠΟΙΟ ΣΚΟΠΟ Η ΟΤΙ ΕΙΝΑΙ ΧΩΡΙΣ ΣΦΑΛΜΑ. ΟΛΟΚΛΗΡΗ Η ΕΥΘΥΝΗ ΓΙΑ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΑΚΡΙΒΕΙΑ ΚΑΙ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΝΗΚΕΙ ΣΕ ΕΣΑΣ. ΕΑΝ Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ Ή ΠΑΡΑΛΛΑΓΗ ΑΥΤΗΣ ΕΙΝΑΙ ΛΑΘΟΣ ΚΑΤΑ ΚΑΠΟΙΟ ΤΡΟΠΟ ΕΣΕΙΣ ΑΝΑΛΑΜΒΑΝΕΤΕ ΤΗΝ ΕΥΘΥΝΗ ΤΗΣ ΔΙΟΡΘΩΣΗΣ. Η ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ ΠΟΥ ΣΥΝΟΔΕΥΕΙ ΑΥΤΗ ΤΗΝ ΤΕΚΜΗΡΙΩΣΗ ΕΙΝΑΙ ΑΝΑΠΟΣΠΑΣΤΟ ΚΟΜΜΑΤΙ ΑΥΤΗΣ. ΚΑΜΙΑ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ.

  2. ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΝΟΜΙΚΗ ΣΥΝΘΗΚΗ, ΕΙΤΕ ΜΕΣΩ ΣΥΜΒΟΛΑΙΩΝ Ή ΑΛΛΙΩΣ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ Ο ΣΥΓΓΡΑΦΕΑΣ, Ο ΔΙΑΝΟΜΕΑΣ, Η ΑΛΛΟΣ ΣΥΝΥΠΕΥΘΥΝΟΣ ΓΙΑ ΤΗΝ ΣΥΓΓΡΑΦΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ, ΓΙΑ ΕΜΜΕΣΕΣ Η ΑΜΕΣΕΣ, ΤΥΧΑΙΕΣ Ή ΜΗ ΖΗΜΙΕΣ ΠΑΝΤΩΣ ΦΥΣΕΩΣ ΠΟΥ ΠΡΟΕΡΧΟΝΤΑΙ ΑΠΟ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ/Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΚΟΜΑ ΚΑΙ ΕΑΝ ΕΧΕΙ ΥΠΑΡΞΕΙ ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΓΙΑ ΤΗΝ ΠΙΘΑΝΟΤΗΤΑ ΥΠΑΡΞΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ.

Revision History
Revision 0.02008-09

Abstract

Το GDM είναι ο διαχειριστής οθόνης του GNOME, ένα πρόγραμμα σύνδεσης σε γραφικό περιβάλλον.


Table of Contents

Όροι και συμβάσεις που χρησιμοποιούνται σε αυτό το εγχειρίδιο
Επισκόπηση
Εισαγωγή
Σταθερότητα διεπαφής
Περιγραφή λειτουργικότητας
Πίνακας εφαρμογής Greeter
Προσιτότητα
Περιηγητής προσώπων του GDM
XDMCP
Καταγραφή συστήματος
Γρήγορη εναλλαγή χρήστη
Ασφάλεια
Χρήστης και ομάδα GDM
PAM
utmp και wtmp
Σχήμα πιστοποίησης εξυπηρετητή X
Ασφάλεια XDMCP
Έλεγχος πρόσβασης του XDMCP
Ασφάλεια firewall
PolicyKit
RBAC (Έλεγχος προσπέλασης βάσει ρόλου)
Υποστήριξη για το ConsoleKit
Διαμόρφωση
Σημεία ενσωμάτωσης σεναρίου εντολών φλοιού
Ρύθμιση αυτόματης εκκίνησης
Σενάριο εντολών Xsession
Διαμόρφωση δαίμονα
Απλή διαμόρφωση του greeter
Διαμόρφωση προσιτότητας
Γενικές ρυθμίσεις συνεδρίας
Δαίμονας ρυθμίσεων του GNOME
Διαμόρφωση της συνεδρίας GDM
Συνεδρία χρήστη του GDM και διαμόρφωση γλώσσας
Εντολές GDM
Εντολές GDM για τον χρήστη root
Αντιμετώπιση προβλημάτων
Το GDM δεν εκκινεί
Άδεια χρήσης

Όροι και συμβάσεις που χρησιμοποιούνται σε αυτό το εγχειρίδιο

Το εγχειρίδιο περιγράφει την έκδοση 2.26.0 του διαχειριστή οθόνης GNOME. Ενημερώθηκε την 10/02/2009.

Chooser - Πρόγραμμα επιλογής απομακρυσμένου συστήματος για την διαχείριση της οθόνης του από την τοπική (gdm-host-chooser).

FreeDesktop - Η οργάνωση που παρέχει τα πρότυπα επιφάνειας εργασίας, όπως οι προδιαγραφές εισόδου στην επιφάνεια εργασίας που χρησιμοποιούνται από το GDM. http://www.freedesktop.org.

GDM - GNOME Display Manager. Χρησιμοποιείται για την περιγραφή του πακέτου σαν σύνολο.

Greeter - Το παράθυρο γραφικού περιβάλλοντος για την είσοδο (σύνδεση) (gdm-simple-greeter).

PAM - Μηχανισμός επικύρωσης με δυνατότητα σύνδεσης

XDMCP -Πρωτόκολλο διαχείρισης της οθόνης X (X Display)

Xserver -Μια υλοποίηση του X Window System. Για παράδειγμα ο διακομιστής διαδικτύου που παρέχεται από το X.org Foundation http://www.x.org.

Διαδρομές που αρχίζουν με λέξη εντός παρένθεσης-γωνία είναι σχετικές στο πρόθεμα της εγκατάστασης. Για παράδειγμα <share>/pixmaps/ αναφέρεται στο /usr/share/pixmaps αν το GDM διαμορφώθηκε με πρόθεμα --prefix=/usr.

Επισκόπηση

Εισαγωγή

Ο διαχειριστής οθόνης GNOME (GDM) υλοποιεί όλα τα σημαντικά χαρακτηριστικά που απαιτούνται για την διαχείριση τοπικών και απομακρυσμένων οθονών. Το GDM γράφηκε εξ' αρχής και δεν περιέχει κώδικα από το XDM ή από το X Consortium.

Σημειώστε ότι το GDM είναι διαμορφώσιμο, και πολλές ρυθμίσεις διαμόρφωσης έχουν αντίκτυπο στην ασφάλεια. Θέματα που πρέπει να έχετε υπ' όψιν σας τονίζονται σε αυτό το έγγραφο.

Παρακαλώ σημειώστε ότι κάποια λειτουργικά συστήματα διαμορφώνουν το GDM /ώστε να συμπεριφέρεται διαφορετικά από τις προεπιλεγμένες τιμές που περιγράφονται σε αυτό το έγγραφο. Αν το GDM συμπεριφέρεται διαφορετικά από ότι περιγράφεται στην τεκμηρίωση, ελένξτε αν κάποια σχετική διαμόρφωση είναι διαφορετική από ότι περιγράφεται εδώ.

Για περισσότερες πληροφορίες σχετικά με το GDM, επισκεφτείτε τον δικτυακό τόπο του έργου στην διεύθυνση http://www.gnome.org/projects/gdm και το αντίστοιχο Wiki http://live.gnome.org/GDM.

Για συζητήσεις και ερωτήματα σχετικά με το GDM, χρησιμοποιήστε την λίστα

.Η λίστα αυτή αρχειοθετείται και είναι καλή πρακτική να αναζητάτε απαντήσεις σε κοινά ερωτήματα σε αυτήν. Το αρχείο της βρίσκεται στην διεύθυνση http://mail.gnome.org/archives/gdm-list/ και έχει δυνατότητα αναζήτησης μηνυμάτων με λέξεις κλειδί.

Παρακαλώ υποβάλετε τις αναφορές σφαλμάτων και τα αιτήματα σας στην κατηγορία "gdm" στην σελίδα http://bugzilla.gnome.org.

Σταθερότητα διεπαφής

Το GDM 2.20 και τα παλαιότερα υποστήριζαν σταθερές διαμορφώσεις διεπαφής. Όμως, ο κώδικας γράφτηκε εξ' αρχής για το GDM 2.22, και δεν είναι πλήρως συμβατός με παλαιότερες εκδόσεις. Αυτό συμβαίνει εν μέρει γιατί οι λειτουργίες είναι διαφορετικές, έτσι κάποιες επιλογές δεν έχουν νόημα, εν μέρει γιατί κάποιες επιλογές δεν είχαν ποτέ νόημα και εν μέρει γιατί κάποιες λειτουργίες δεν έχουν επαναυλοποιηθεί ακόμη.

Διεπαφές που συνεχίζουν να υποστηρίζονται με σταθερό τρόπο (stable) περιλαμβάνουν τα σενάρια εντολών Init, PreSession, PostSession, PostLogin και Xsession. Κάποιες επιλογές διαμόρφωσης δαίμονα στο αρχείο <etc>/gdm/custom.conf υποστηρίζονται ακόμη. Επίσης συνεχίζεται η υποστήριξη για το ~/.dmrc και τις τοποθεσίες εικόνων του περιηγητή προσώπων.

Το GDM 2.20 και τα προηγούμενα υποστήριζαν την δυνατότητα διαχείρισης πολλαπλών οθονών με χωριστές κάρτες γραφικών, όπως χρησιμοποιούνται σε περιβάλλοντα εξυπηρετητή τερματικών, την σύνδεση σε ένα παράθυρο μέσω προγραμμάτων σαν το Xnest ή το Xephyr, το πρόγραμμα gdmsetup, θέματα βασισμένα σε XML του greeter και την δυνατότητα να εκτελείται το XDMCP chooser από την οθόνη εισόδου. Αυτές οι λειτουργίες δεν προστέθηκαν ξανά κατά την εκ νέου συγγραφή του 2.22.

Περιγραφή λειτουργικότητας

Το GDM είναι υπεύθυνο για την διαχείριση οθονών στο σύστημα. Αυτό περιλαμβάνει επικύρωση χρηστών, εκκίνηση της συνεδρίας χρήστη, τερματισμό της συνεδρίας χρήστη. Το GDM είναι διαμορφώσιμο και οι τρόποι με τους οποίους μπορεί να διαμορφωθεί περιγράφονται στην ενότητα "Διαμόρφωση του GDM" αυτού του εγγράφου. Το GDM είναι επίσης προσβάσιμο για χρήστες που είναι ΑΜΕΑ.

Το GDM παρέχει την δυνατότητα διαχείρισης της κύριας οθόνης κονσόλας, και οθονών που εκκινούνται μέσω VT. Είναι ενοποιημένο με άλλα προγράμματα, όπως το εφαρμογίδιο γρήγορης εναλλαγής χρηστών (FUSA) και την προστασία οθόνης του GNOME για να διαχειρίζεται πολλαπλές οθόνες στην κονσόλα μέσω της διεπαφής του Xserver Virtual Terminal (VT). Επίσης μπορεί να διαχειριστεί οθόνες XDMCP.

Ανεξάρτητα από τον τύπο οθόνης, το GDM θα κάνει τα εξής όταν την διαχειρίζεται. Θα εκκινήσει μια διεργασία Xserver, μετά θα εκτελέσει το σενάριο εντολών Init σαν υπερχρήστης, και θα εκκινήσει την εφαρμογή greeter στην οθόνη.

Η εφαρμογή greeter εκτελείται από τον απλό χρήστη/ομάδα "gdm". Ο χρήστης αυτός και η ομάδα περιγράφονται στην ενότητα "Ασφάλεια"αυτού του εγγράφου. Η κύρια λειτουργία της εφαρμογής greeter είναι η επικύρωση του χρήστη. Η διεργασία επικύρωσης οδηγείται από το άρθρωμα PAM (Pluggable Authentication Modules). Τα αρθρώματα PAM καθορίζουν τι προτροπές (αν υπάρχουν) παρουσιάζονται στο χρήστη για να επικυρωθεί. Σε ένα μέσο σύστημα, η εφαρμογή greeter θα ζητήσει το όνομα χρήστη και τον κωδικό του για επικύρωση. Όμως κάποια συστήματα μπορεί να έχουν διαμορφωθεί ώστε να χρησιμοποιούν εναλλακτικούς μηχανισμούς όπως ένα δακτυλικό αποτύπωμα ή αναγνώστη κάρτας SmartCard. Το GDM και το PAM μπορούν να διαμορφωθούν ώστε να μην απαιτούν κανένα δεδομένο, κάτι που θα προκαλέσει την αυτόματη σύνδεση και εκκίνηση μιας συνεδρίας, πράγμα χρήσιμο για κάποια περιβάλλοντα, όπως τα info kiosks.

Εκτός από την επικύρωση, η εφαρμογή greeter επιτρέπει στον χρήστη να επιλέξει ποια συνεδρία θα εκκινήσει και ποια γλώσσα θα χρησιμοποιήσει. Οι συνεδρίες ορίζονται από αρχεία με κατάληξη .desktop και περισσότερες πληροφορίες για αυτά μπορείτε να βρείτε στην ενότητα "Διαμόρφωση" αυτού του εγγράφου. Από προεπιλογή, το GDM είναι διαμορφωμένο να προβάλλει έναν περιηγητή προσώπων ώστε οι χρήστες να μπορούν να επιλέξουν τον λογαριασμό τους κάνοντας κλικ σε μια εικόνα αντί να πληκτρολογήσουν το όνομα χρήστη. Το GDM αποθηκεύει την προεπιλεγμένη συνεδρία και γλώσσα του χρήστη στο αρχείο ~/.dmrc και χρησιμοποιεί αυτές τις προεπιλογές αν ο χρήστης δεν επιλέξει συνεδρία ή γλώσσα στην οθόνη εισόδου (GUI).

Μετά την επικύρωση του χρήστη, ο δαίμονας εκτελεί το σενάριο εντολών PostLogin σαν υπερχρήστης, στην συνέχεια εκτελεί το σενάριο εντολών PreSession σαν υπερχρήστης. Μετά την εκτέλεση των σεναρίων αυτών, η συνεδρία χρήστη εκκινεί. Όταν ο χρήστης εξέρχεται από την συνεδρία, το σενάριο PostSession εκτελείται από τον υπερχρήστη (root). Αυτά τα σενάρια εντολών παρέχονται σαν σημεία επαφής για διανομές και τελικούς χρήστες για να προσαρμόσουν την διαχείριση συνεδριών. Για παράδειγμα, χρησιμοποιώντας αυτά τα σημεία θα μπορούσατε να ρυθμίσετε ένα μηχάνημα να δημιουργεί κατά την λειτουργία του τον κατάλογο $HOME του χρήστη, και να τον διαγράφει κατά την αποσύνδεση. Η διαφορά μεταξύ των σεναρίων PostLogin και PreSession είναι ότι τοPostLogin εκτελείται πριν την κλήση ανοίγματος συνεδρίας pam (pam_open_session call) έτσι είναι το σωστό σημείο για να εκτελεστεί οτιδήποτε πρέπει να εκτελεστεί πριν την εκκίνηση της συνεδρίας του χρήστη. Το σενάριο εντολών PreSession καλείται μετά την εκκίνηση της συνεδρίας.

Πίνακας εφαρμογής Greeter

Η εφαρμογή του GDM, Greeter προβάλλει έναν πίνακα τοποθετημένο στο κάτω μέρος της οθόνης που παρέχει πρόσθετες λειτουργίες. Όταν επιλεγεί χρήστης, ο πίνακας του επιτρέπει να επιλέξει ποια συνεδρία, γλώσσα και διάταξη πληκτρολογίου θα χρησιμοποιήσει μετά την είσοδο του. Ο επιλογέας διάταξης πληκτρολογίου αλλάζει και την διάταξη που χρησιμοποιείται κατά την πληκτρολόγηση του κωδικού. Ο πίνακας περιέχει επίσης μια περιοχή όπου οι υπηρεσίες σύνδεσης τοποθετούν εικονίδια κατάστασης. Μερικά παραδείγματα εικονιδίων κατάστασης περιλαμβάνουν εικονίδιο μπαταρίας για την τρέχουσα χρήση της, και ένα εικονίδιο για την ενεργοποίηση λειτουργιών διευκόλυνσης πρόσβασης. Η εφαρμογή greeter παρέχει επίσης πλήκτρα που επιτρέπουν στον χρήστη να τερματίσει ή να επανεκκινήσει το σύστημα. Είναι δυνατόν να διαμορφωθεί το GDM ώστε να μην παρέχει πλήκτρα τερματισμού και επανεκκίνησης, αν το επιθυμείτε. Το GDM μπορεί επίσης να διαμορφωθεί με το PolicyKit (ή με το RBAC στο Solaris) ώστε να απαιτεί από τον χρήστη την κατάλληλη έγκριση πριν αποδεχθεί το αίτημα τερματισμού ή επανεκκίνησης.

Σημειώστε ότι λειτουργίες διάταξης πληκτρολογίου είναι διαθέσιμες μόνο σε συστήματα που υποστηρίζουν libxklavier.

Προσιτότητα

Το GDM υποστηρίζει "Accessible Login-Προσιτή διαδικασία σύνδεσης", επιτρέποντας στους χρήστες να συνδεθούν στην συνεδρία επιφάνειας εργασίας ακόμη και αν δυσκολεύονται να χρησιμοποιήσουν οθόνη, ποντίκι, ή πληκτρολόγιο με τον συνηθισμένο τρόπο. Λειτουργίες διευκόλυνσης της πρόσβασης (Accessible Tecnology-AT) όπως το πληκτρολόγιο οθόνης, ο αναγνώστης οθόνης, ο μεγεθυντής οθόνης και η προσιτότητα του Xserver AccessX keyboard είναι διαθέσιμες. Είναι επίσης δυνατόν να ενεργοποιηθεί μεγάλο κείμενο ή εικόνες και όργανα ελέγχου υψηλής αντίθεσης, αν χρειαστεί. Ανατρέξτε στην ενότητα "Accessibility Configuration" του εγγράφου για περισσότερες πληροφορίες σχετικά με την διαμόρφωση των διαφόρων λειτουργιών διευκόλυνσης πρόσβασης.

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

Περιηγητής προσώπων του GDM

Ο περιηγητής προσώπων είναι η διεπαφή που επιτρέπει στους χρήστες να επιλέξουν το όνομα χρήστη τους με κλικ σε εικόνα. Αυτή η λειτουργία μπορεί να ενεργοποιηθεί και να απενεργοποιηθεί χρησιμοποιώντας το κλειδί /apps/gdm/simple-greeter/disable_user_list του GConf και είναι ενεργοποιημένη από προεπιλογή. Όταν είναι ενεργοποιημένη, προβάλλει όλους τους τοπικούς χρήστες που είναι διαθέσιμοι για σύνδεση στο σύστημα (όλους τους λογαριασμούς χρηστών που έχουν οριστεί στο αρχείο /etc/passwd και έχουν έγκυρο κέλυφος-shell- και επαρκώς υψηλό UID) και τους απομακρυσμένους χρήστες που συνδέθηκαν πρόσφατα. Ο περιηγητής προσώπων στο GDM 2.20 και σε παλαιότερες εκδόσεις προσπαθούσε να προβάλλει όλους τους απομακρυσμένους χρήστες, γεγονός που προκαλούσε προβλήματα απόδοσης σε μεγάλες εταιρικές εγκαταστάσεις.

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

Ο περιηγητής προσώπων υποστηρίζει "έρευνα κατά την πληκτρολόγηση" η οποία μετακινεί δυναμικά την επιλογή προσώπων καθώς ο χρήστης πληκτρολογεί το αντίστοιχο όνομα χρήστη στην λίστα. Αυτό έχει σαν αποτέλεσμα ότι ένας χρήστης με μεγάλο όνομα πρέπει μόνο να πληκτρολογήσει τους πρώτους (λίγους) χαρακτήρες του ονόματος πριν το σωστό αντικείμενο από την λίστα επιλεγεί.

Οι εικόνες που χρησιμοποιούνται από το GDM μπορούν να εγκατασταθούν συνολικά για το σύστημα ή να τοποθετηθούν στους καταλόγους home των χρηστών. Αν εγκατασταθούν συνολικά για το σύστημα πρέπει να βρίσκονται στον κατάλογο <share>/pixmaps/faces/ και το όνομα αρχείου πρέπει να είναι το όνομα χρήστη. Τα αρχεία εικόνων προσώπων πρέπει να είναι συνηθισμένες εικόνες που το GTK+ μπορεί να διαβάσει, όπως PNG ή JPEG. Οι εικόνες προσώπων που τοποθετούνται στον κατάλογο συστήματος πρέπει να είναι αναγνώσιμες από τον χρήστη GDM.

Αν δεν έχει οριστεί εικόνα για τον χρήστη σε επίπεδο συστήματος, το GDM θα ψάξει στον κατάλογο $HOME του χρήστη για το αρχείο εικόνας. Το GDM θα ψάξει πρώτα για το αρχείο εικόνας του χρήστη στο ~/.face. Αν δεν το βρει, θα δοκιμάσει στο ~/.face.icon. Αν δεν το βρει και πάλι, θα χρησιμοποιήσει την τιμή που ορίζεται για το "face/picture=" στο αρχείο ~/.gnome2/gdm.

Αν ένας χρήστης δεν έχει ορισμένη εικόνα προσώπου, το GDM θα χρησιμοποιήσει την εικόνα "stock_person" που ορίζεται στο τρέχον θέμα GTK+. Αν δεν έχει οριστεί τέτοια εικόνα, θα χρησιμοποιήσει εναλλακτικά μια εικόνα προσώπου γενικής χρήσης.

Παρακαλώ σημειώστε ότι η φόρτωση και η κλιμάκωση εικόνων προσώπου που βρίσκονται στον κατάλογο home απομακρυσμένου χρήστη μπορεί να είναι μια πολύ χρονοβόρα διαδικασία. Επειδή δεν είναι πρακτικό να φορτώνονται εικόνες μέσω NIS ή NFS, το GDM δεν προσπαθεί να φορτώσει εικόνες προσώπων από απομακρυσμένους καταλόγους home.

Όταν εκκινείται ο περιηγητής, τα έγκυρα ονόματα χρηστών στον υπολογιστή εκτίθενται σε κοινή θέα. Αν είναι ενεργοποιημένο το XDMCP, τότε τα ονόματα χρηστών εκτίθενται σε απομακρυσμένους χρήστες. Αυτό, βέβαια, περιορίζει κάπως την ασφάλεια αφού ένας κακόβουλος χρήστης δεν χρειάζεται να μαντέψει έγκυρα ονόματα χρηστών. Σε κάποια πολύ περιοριστικά περιβάλλοντα ο περιηγητής προσώπων μπορεί να μην είναι ενδεδειγμένη επιλογή.

XDMCP

Ο δαίμονας GDM μπορεί να διαμορφωθεί έτσι ώστε να παρακολουθεί και να διαχειρίζεται τα αιτήματα X Display Manage Protocol (XDMCP) απομακρυσμένων οθονών. Από προεπιλογή η υποστήριξη XDMCP είναι απενεργοποιημένη, αλλάμπορεί να ενεργοποιηθεί αν το επιθυμούμε. Αν το GDM έχει υποστήριξη TCP Wrapper, τότε ο δαίμονας θα επιτρέπει την πρόσβαση σε υπολογιστές που έχουν καθοριστεί στην ενότητα υπηρεσία GDM στο αρχείο διαμόρφωσης του TCP Wrapper.

Το GDM περιλαμβάνει διάφορα μέτρα που το κάνουν πιο ανθεκτικό σε επιθέσεις τύπου «denial of service» στην υπηρεσία XDMCP. Πολλές από τις παραμέτρους του πρωτοκόλλου, handshaking timeouts, κλπ μπορούν να ρυθμιστούν με λεπτομέρεια. Η προεπιλεγμένη διαμόρφωση καλύπτει αρκετά καλά τις ανάγκες των περισσότερων συστημάτων.

Το GDM από προεπιλογή παρακολουθεί για αιτήματα XDMCP στην κανονική πόρτα UDP που χρησιμοποιείται για το XDMCP, την πόρτα 177 και θα απαντήσει σε αιτήματα QUERY και BROADCAST_QUERY στέλνοντας ένα πακέτο WILLING στον δημιουργό τους.

Το GDM μπορεί επίσης να διαμορφωθεί έτσι ώστε να αναγνωρίζει έμμεσες (INDIRECT) αιτήσεις και να παρουσιάζει έναν επιλογέα συστημάτων στην απομακρυσμένη οθόνη. Το GDM θα θυμάται την επιλογή του χρήστη και θα προωθεί τις επόμενες αιτήσεις στον επιλεγμένο διαχειριστή. Το GDM υποστηρίζει επίσης μια επέκταση του πρωτοκόλλου που το κάνει να ξεχνά την ανακατεύθυνση μόλις η σύνδεση του χρήστη επιτευχθεί. Αυτή η επέκταση υποστηρίζεται μόνο αν και οι δύο δαίμονες είναι GDM. Είναι διαφανής και θα αγνοηθεί από από το XDM ή άλλους δαίμονες που εφαρμόζουν το XDMCP.

Αν το XDMCP φαίνεται να μην λειτουργεί, βεβαιωθείτε ότι όλοι οι υπολογιστές καθορίζονται στο /etc/hosts.

Ανατρέξτε στην ενότητα "Ασφάλεια" για πληροφορίες σχετικές με προβληματισμούς για την ασφάλεια με την χρήση XDMCP.

Καταγραφή συστήματος

ΤΟ GDM χρησιμοποιεί το syslog για την καταχώρηση σφαλμάτων και κατάστασης. Μπορεί επίσης να καταχωρήσει πληροφορίες αποσφαλμάτωσης, οι οποίες είναι χρήσιμες κατά την διερεύνηση προβλημάτων όταν ο GDM δεν λειτουργεί κανονικά. Αυτή η συμπεριφορά μπορεί να ενεργοποιηθεί εκκινώντας τον δαίμονα του GDM με το όρισμα "--debug".

Η έξοδος των διαφόρων Xservers αποθηκεύεται στον κατάλογο καταγραφής του GDM, που είναι συνήθως ο <var>/log/gdm/. Τα μηνύματα του Xserver αποθηκεύονται σε ένα αρχείο συσχετισμένο με την τιμή οθόνης, <display>.log.

Η έξοδος της συνεδρίας διοχετεύεται μέσω του δαίμονα του GDM στο αρχείο ~/.xsession-errors. Το αρχείο επανεγγράφεται σε κάθε είσοδο, έτσι εξερχόμενοι και συνδεόμενοι ξανά στον ίδιο χρήστη μέσω του GDM κάθε μήνυμα από την προηγούμενη συνεδρία χάνεται.

Σημειώστε ότι αν το GDM δεν μπορεί να δημιουργήσει αυτό το αρχείο για κάποιον λόγο, τότε θα δημιουργηθεί ένα εναλλακτικό αρχείο με όνομα ~/.xsession-errors.XXXXXXXX όπου XXXXXXXX είναι κάποιοι τυχαίοι χαρακτήρες.

Γρήγορη εναλλαγή χρήστη

Το GDM επιτρέπει την σύνδεση πολλών χρηστών ταυτόχρονα. Μετά την σύνδεση του πρώτου χρήστη, πρόσθετοι χρήστες μπορούν να συνδεθούν μέσω της εναλλαγής χρηστών στον πίνακα εφαρμογών του GNOME, η με το πλήκτρο "Αλλαγή χρήστη" στον διάλογο κλειδώματος οθόνης της προστασίας οθόνης του GNOME. Η ενεργή συνεδρία μπορεί να αλλαχθεί χρησιμοποιώντας τον ίδιο μηχανισμό. Σημειώστε ότι κάποιες διανομές μπορεί να μην έχουν την εναλλαγή χρηστών στην προεπιλεγμένη διαμόρφωση του πίνακα εφαρμογών. Μπορείτε να την προσθέσετε χρησιμοποιώντας το σχετικό μενού περιεχομένων του πίνακα εφαρμογών.

Σημειώστε ότι αυτή η λειτουργία είναι διαθέσιμη σε συστήματα που υποστηρίζουν εικονικά τερματικά. Αυτό το χαρακτηριστικό δεν θα λειτουργήσει αν δεν είναι διαθέσιμα τα εικονικά τερματικά.

Ασφάλεια

Χρήστης και ομάδα GDM

Για λόγους ασφαλείας συνίσταται η χρήση ενός ειδικά δημιουργημένου id χρήστη και ομάδας για σωστή λειτουργία. Αυτός ο χρήστης και η ομάδα είναι συνήθως ο "gdm" στα περισσότερα συστήματα, αλλά μπορεί να διαμορφωθεί σε κάθε χρήστη ή ομάδα. Όλα τα προγράμματα γραφικού περιβάλλοντος του GDM εκτελούνται από αυτόν τον χρήστη, έτσι ώστε τα προγράμματα που αλληλεπιδρούν με τον χρήστη να εκτελούνται σε μια περιορισμένη περιοχή (sandbox). Ο χρήστης και η ομάδα αυτή πρέπει να έχουν περιορισμένα δικαιώματα.

Τα μόνα ειδικά δικαιώματα που χρειάζεται ο χρήστης "gdm"είναι η ανάγνωση και η εγγραφή αρχείων Xauth στον κατάλογο <var>/run/gdm. Ο κατάλογος <var>/run/gdm πρέπει να έχει ιδιοκτησία root:gdm και δικαιώματα 1777.

Σε καμιά περίπτωση δεν πρέπει να διαμορφώσετε τον χρήστη/ομάδα GDM με τρόπο ώστε ένας χρήστης να μπορεί να έχει εύκολη πρόσβαση σε αυτόν, όπως στην περίπτωση του χρήστη nobody. Κάθε χρήστης που αποκτά πρόσβαση σε ένα κλειδί Xauth μπορεί να παρακολουθεί απαρατήρητος και να ελέγχει εκτελούμενα προγράμματα γραφικού περιβάλλοντος στην σχετική συνεδρία ή να εκτελέσει μια επίθεση τύπου denial-of-service στην συνεδρία. Είναι σημαντικό να βεβαιωθείτε ότι το σύστημα είναι διαμορφωμένο κατάλληλα ώστε μόνο ο χρήστης "gdm" να έχει πρόσβαση σε αυτά τα αρχεία και ότι δεν είναι εύκολο να συνδεθεί κάποιος άλλος σε αυτό τον λογαριασμό. Για παράδειγμα, ο λογαριασμός πρέπει να ρυθμιστεί χωρίς κωδικό ή να μην επιτρέπει σε χρήστες χωρίς δικαιώματα root να συνδέονται.

Η διαμόρφωση του GDM greeter είναι αποθηκευμένη στο GConf. Για να επιτρέπεται στον χρήστη GDM η εγγραφή στην διαμόρφωση, είναι απαραίτητο για τον χρήστη "gdm" να έχει έναν εγγράψιμο κατάλογο $HOME. Οι χρήστες μπορούν να τροποποιήσουν την προεπιλεγμένη διαμόρφωση του GConf όπως επιθυμούν για να αποφύγουν την ανάγκη παροχής στον χρήστη "gdm" εγγράψιμου καταλόγου $HOME. Πάντως, κάποια χαρακτηριστικά του GDM μπορεί να απενεργοποιηθούν αν δεν έχει την δυνατότητα να εγγράψει πληροφορίες κατάστασης στην διαμόρφωση του GConf.

PAM

Το GDM χρησιμοποιεί το PAM για πιστοποίηση κατά την είσοδο. Το PAM είναι συντόμευση για το Pluggable Authentication Module, και χρησιμοποιείται από τα περισσότερα προγράμματα που ζητούν επικύρωση στον υπολογιστή σας. Επιτρέπει στον διαχειριστή να διαμορφώσει συγκεκριμένη συμπεριφορά πιστοποίησης για διαφορετικά προγράμματα σύνδεσης (όπως ssh, είσοδος GUI, προστασία οθόνης, κλπ)

Το PAM είναι πολύπλοκο και έντονα διαμορφώσιμο, αυτή η τεκμηρίωση δεν προτίθεται να το αναλύσει με λεπτομέρεια. Αντίθετα, προτίθεται να παρουσιάσει μια επισκόπηση του τρόπου με τον οποίο η διαμόρφωση του PAM σχετίζεται με το GDM, πως διαμορφώνεται συνήθως το PAM με το GDM, όπως επίσης να παρουσιάσει γνωστά προβλήματα. Αναμένεται ότι κάποιος που χρειάζεται να διαμορφώσει το PAM θα χρειαστεί να μελετήσει περαιτέρω την τεκμηρίωση του PAM για να καταλάβει πως θα το διαμορφώσει και για να κατανοήσει τους όρους που χρησιμοποιούνται σε αυτήν την ενότητα.

Η διαμόρφωση του PAM έχει διαφορετικές, αλλά παρόμοιες, διεπαφές σε διάφορα λειτουργικά συστήματα, για αυτό ελένξτε τις σελίδες pam.d ή pam.conf man page για λεπτομέρειες. Βεβαιωθείτε ότι διαβάσατε την τεκμηρίωση του PAM και ότι αισθάνεστε άνετα με τις επιπτώσεις στην ασφάλεια των όποιων αλλαγών προτίθεστε να κάνετε στην διαμόρφωση σας.

Σημειώστε ότι, από προεπιλογή, το GDM χρησιμοποιεί το όνομα της υπηρεσίας PAM του "gdm" για κανονική είσοδο και το "gdm-autologin" PAM service name για αυτόματη είσοδο. Αυτές οι υπηρεσίες μπορεί να μην είναι ορισμένες στο δικό σας διαμορφωμένο αρχείο pam.d ή pam.conf. Αν δεν υπάρχει σχετική καταχώρηση, τότε το GDM θα χρησιμοποιήσει την προεπιλεγμένη συμπεριφορά του PAM. Στα περισσότερα συστήματα αυτό θα λειτουργήσει καλά. Εντούτοις, το χαρακτηριστικό της αυτόματης εισόδου (automatic login) μπορεί να μην λειτουργήσει αν η υπηρεσία gdm-autologin δεν είναι ορισμένη.

Το σενάριο PostLogin εκτελείται πριν κληθεί το pam_open_session, και το σενάριο PreSession καλείται μετά. Αυτό επιτρέπει στον διαχειριστή συστήματος να προσθέσει οποιοδήποτε σενάριο εντολών στην διεργασία σύνδεσης είτε πριν είτε μετά την έγκριση έναρξης της συνεδρίας από το PAM.

Αν επιθυμείτε να επιτύχετε την λειτουργία του GDM με άλλους τύπους μηχανισμών επικύρωσης (όπως με δακτυλικό αποτύπωμα ή αναγνώστη καρτών SmartCard), αυτό πρέπει να το υλοποιήσετε χρησιμοποιώντας ένα PAM service module για τον επιθυμητό μηχανισμό επικύρωσης παρά να προσπαθήσετε να μετατρέψετε τον κώδικα του GDM απευθείας. Ανατρέξτε στην τεκμηρίωση του PAM στο σύστημα σας. Πως επιτυγχάνεται κάτι τέτοιο συζητείται συχνά στην λίστα

, επομένως μπορείτε να χρησιμοποιήσετε τα αρχεία της λίστας για περισσότερες πληροφορίες.

Το PAM έχει μερικούς περιορισμούς που αφορούν την ικανότητα του να λειτουργεί με πολλούς τύπους μηχανισμών επικύρωσης ταυτόχρονα, όπως να υποστηρίζει την αποδοχή είτε των SmartCard είτε την εισαγωγή με το πληκτρολόγιο του ονόματος χρήστη και του κωδικού στο πρόγραμμα σύνδεσης. Υπάρχουν τεχνικές που χρησιμοποιούνται για να επιτευχθεί αυτό, και είναι καλό να ερευνήσετε πως λύνεται συνήθως αυτό το πρόβλημα όταν ρυθμίζετε μια διαμόρφωση αυτού του τύπου.

Αν η αυτόματη είσοδος δεν λειτουργεί σε ένα σύστημα, ελέγξτε αν το "gdm-autologin" PAM stack είναι ορισμένο στην διαμόρφωση του PAM. Για να επιτύχει αυτό, είναι απαραίτητο να χρησιμοποιήσετε ένα άρθρωμα PAM που απλά δεν κάνει επικύρωση, ή δίνει σαν αποτέλεσμα PAM_SUCCESS από όλες τις δημόσιες διεπαφές του. Θεωρώντας ότι το σύστημα σας έχει ένα άρθρωμα PAM pam_allow.so που λειτουργεί με αυτόν τον τρόπο, μια διαμόρφωση του PAM που ενεργοποιεί το "gdm-autologin" θα ήταν ως εξής:

       gdm-autologin auth  required    pam_unix_cred.so.1
       gdm-autologin auth  sufficient  pam_allow.so.1
       gdm-autologin account  sufficient  pam_allow.so.1
       gdm-autologin session  sufficient  pam_allow.so.1
       gdm-autologin password  sufficient  pam_allow.so.1

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

       gdm-autologin session required pam_unix_session.so.1

utmp και wtmp

Το GDM δημιουργεί εγγραφές utmp και wtmp στην βάση δεδομένων παρακολούθησης χρήστη κατά την είσοδο και την έξοδο από την συνεδρία. Η βάση δεδομένων utmp περιέχει πληροφορίες πρόσβασης και παρακολούθησης του χρήστη που είναι προσβάσιμες με εντολές όπως finger, last, login και who. Η βάση δεδομένων wtmp περιέχει το ιστορικό πρόσβασης του χρήστη και λογιστικές πληροφορίες για την βάση δεδομένων utmp. Ανατρέξτε στις utmp και wtmp man pages του συστήματος σας για περισσότερες πληροφορίες.

Σχήμα πιστοποίησης εξυπηρετητή X

Τα αρχεία πιστοποίησης του X server αποθηκεύονται σε ένα νέο κάθε φορά υποκατάλογο του <var>/run/gdm κατά την εκκίνηση. Αυτά τα αρχεία περιέχουν το "password" που χρησιμοποιείται μεταξύ των X clients και του X server. Αυτό το "password" είναι μοναδικό για κάθε συνδεδεμένη συνεδρία, έτσι ώστε οι χρήστες μιας συνεδρίας δεν μπορούν να παρακολουθούν απαρατήρητοι τους χρήστες μιας άλλης.

Το GDM υποστηρίζει μόνο το σχήμα πιστοποίησης εξυπηρετητή Χ MIT-MAGIC-COOKIE-1. Υπό κανονικές συνθήκες λίγα μπορούμε να κερδίσουμε από τα άλλα σχήματα, και δεν έχουν γίνει προσπάθειες για την υλοποίηση τους μέχρι τώρα. Να είστε ιδιαίτερα προσεκτικοί όταν χρησιμοποιείτε το XDMCP γιατί το cookie πιστοποίησης του Xserver ταξιδεύει στο δίκτυο σαν απλό κείμενο. Αν είναι δυνατή η υποκλοπή, τότε ένας επιτιθέμενος θα μπορούσε απλά να υποκλέψει τον κωδικό πιστοποίησης σας κατά την είσοδο σας, ανεξάρτητα από το σχήμα πιστοποίησης που χρησιμοποιείτε. Αν η υποκλοπή είναι δυνατή και ανεπιθύμητη, θα πρέπει να χρησιμοποιήσετε ssh για την πραγματοποίηση μιας σύνδεσης X παρά το XDMCP. Μπορείτε να θεωρήσετε το XDMCP σαν ένα είδος telnet για γραφικό περιβάλλον, που έχει τα ίδια ζητήματα ασφάλειας με αυτό. Στις περισσότερες περιπτώσεις, το ssh -Y θα έπρεπε να προτιμάται έναντι των λειτουργιών XDMCP του GDM.

Ασφάλεια XDMCP

Αν και η οθόνη σας προστατεύεται από cookies, τα Xevents και επομένως τα πατήματα των πλήκτρων κατά την εισαγωγή κωδικών θα ταξιδέψουν στο δίκτυο σαν απλό κείμενο. Είναι τετριμμένο να υποκλαπούν.

ΤΟ XDMCP είναι κυρίως χρήσιμο για την λειτουργία thin clients όπως σε εργαστήρια με τερματικά. Αυτά τα τερματικά (thin clients) θα χρειαστούν το δίκτυο μόνο για πρόσβαση στον εξυπηρετητή, έτσι φαίνεται σαν καλύτερη πολιτική ασφαλείας να έχετε αυτά τα τερματικά σε χωριστό δίκτυο στο οποίο δεν μπορεί να έχει πρόσβαση ο έξω κόσμος, και το οποίο μπορεί να συνδεθεί μόνο στον εξυπηρετητή. Το μόνο σημείο από το οποίο χρειάζεστε πρόσβαση στο εξωτερικό δίκτυο είναι ο εξυπηρετητής. Αυτός ο τύπος διαμόρφωσης δεν πρέπει ποτέ να χρησιμοποιεί ένα κομβικό σημείο (hub) χωρίς διαχείριση ή άλλον μη ασφαλή τύπο δικτύου.

Έλεγχος πρόσβασης του XDMCP

Ο έλεγχος πρόσβασης του XDMCP πραγματοποιείται χρησιμοποιώντας TCP wrappers. Είναι δυνατόν να μεταγλωττιστεί το GDM χωρίς υποστήριξη TCP wrapper, έτσι αυτό το χαρακτηριστικό μπορεί να μην υποστηρίζεται σε κάποια λειτουργικά συστήματα.

Πρέπει να χρησιμοποιείτε το όνομα δαίμονα gdm στα αρχεία <etc>/hosts.allow και <etc>/hosts.deny. Για παράδειγμα για να αρνηθείτε σε υπολογιστές από το .evil.domain την σύνδεση, στην συνέχεια προσθέστε

gdm: .evil.domain

στο <etc>/hosts.deny. Επίσης μπορεί να χρειαστεί να προσθέσετε

gdm: .your.domain

στο αρχείο σας <etc>/hosts.allow αν συνήθως αποκλείετε όλες τις υπηρεσίες από όλους τους υπολογιστές. Δείτε την hosts.allow(5) man page για λεπτομέρειες.

Ασφάλεια firewall

Ακόμη και αν το GDM προσπαθεί να είναι πιο αποτελεσματικό από επίδοξους επιτιθέμενους που προσπαθούν να εκμεταλλευτούν το XDMCP, είναι συνετό να κρατάτε κλειστή την θύρα του XDMCP (κανονικά είναι η θύρα UDP 177) στο firewall εκτός και αν την χρειάζεστε πραγματικά. Το GDM προσέχει για επιθέσεις τύπου denial of service, αλλά το πρωτόκολλο X είναι ακόμη εγγενώς ανασφαλές και θα έπρεπε να χρησιμοποιείται μόνο σε ελεγχόμενα περιβάλλοντα. Επίσης κάθε απομακρυσμένη σύνδεση καταναλώνει πολλούς πόρους, έτσι είναι πολύ ευκολότερο να πραγματοποιηθεί μια επίθεση denial of service μέσω XDMCP παρά μέσω ενός διακομιστή διαδικτύου.

Είναι επίσης συνετό να κλείσετε όλες τις θύρες του εξυπηρετητή X. Αυτές είναι οι θύρες 6000 + τον αριθμό της οθόνης φυσικά στο firewall. Σημειώστε ότι το GDM θα χρησιμοποιήσει αριθμούς οθόνης από 20 και πάνω για ευέλικτους εξυπηρετητές κατόπιν ζήτησης (flexible on-demand servers).

Το X δεν είναι πολύ ασφαλές πρωτόκολλο για χρήση στο διαδίκτυο και το XDMCP είναι ακόμη πιο ανασφαλές.

PolicyKit

Το GDM μπορεί να διαμορφωθεί για να χρησιμοποιεί το PolicyKit ώστε να επιτρέπει στον διαχειριστή συστήματος να ελέγχει αν η οθόνη εισόδου θα παρέχει τα πλήκτρα τερματισμού και επανεκκίνησης στην οθόνη του greeter.

Αυτά τα πλήκτρα ελέγχονται από τις ενέργειες org.freedesktop.consolekit.system.stop-multiple-users και org.freedesktop.consolekit.system.restart-multiple-users αντίστοιχα. Οι κανόνες για αυτές τις ενέργειες μπορούν να ρυθμιστούν χρησιμοποιώντας το εργαλείο polkit-gnome-authorization, ή το πρόγραμμα γραμμής εντολών polkit-auth.

RBAC (Έλεγχος προσπέλασης βάσει ρόλου)

Το GDM μπορεί να διαμορφωθεί έτσι ώστε να χρησιμοποιεί το RBAC αντί για το PolicyKit. Σε αυτή την περίπτωση, η διαμόρφωση με το RBAC χρησιμοποιείται για να ελέγχει αν η οθόνη εισόδου θα παρέχει τα πλήκτρα τερματισμού και επανεκκίνησης στην οθόνη του greeter.

Για παράδειγμα, στο Solaris, η έγκριση του "solaris.system.shutdown" χρησιμοποιείται για να το ελέγχει. Απλά μετατρέψτε το αρχείο /etc/user_attr έτσι ώστε ο χρήστης "gdm" να έχει αυτή την εξουσιοδότηση.

Υποστήριξη για το ConsoleKit

Το GDM περιλαμβάνει υποστήριξη για την δημοσίευση πληροφοριών εισόδου χρήστη με το σύστημα παρακολούθησης λογαριασμών χρηστών και συνεδριών γνωστό σαν ConsoleKit. Το ConsoleKit έχει την δυνατότητα να καταγράφει όλους τους χρήστες που είναι συνδεδεμένοι κάθε στιγμή. Από αυτή την άποψη, μπορεί να χρησιμοποιηθεί σαν αντικαταστάτης των αρχείων utmp και utmpx που είναι διαθέσιμα στα περισσότερα λειτουργικά συστήματα τύπου Unix.

Όταν το GDM πρόκειται να δημιουργήσει μια νέα διεργασία εισόδου για κάποιον χρήστη θα καλέσει μια προνομιούχα μέθοδο του ConsoleKit για να εκκινήσει μια καινούργια συνεδρία για αυτόν. Σε αυτό το σημείο το GDM παρέχει στο ConsoleKit πληροφορίες σχετικές με την συνεδρία του χρήστη όπως το ID του χρήστη, το όνομα της οθόνης X11 που θα συνδεθεί με την συνεδρία, το όνομα του υπολογιστή δικτύου από τον οποίον προέρχεται η συνεδρία (χρήσιμο στην περίπτωση συνεδρίας XDMCP), αν η συνεδρία είναι συνδεδεμένη ή όχι, κλπ. Σαν οντότητα που αρχίζει την διεργασία του χρήστη, το GDM είναι στην μοναδική θέση να γνωρίζει και να το εμπιστευόμαστε να παρέχει αυτές τις πληροφορίες σχετικά με την συνεδρία του χρήστη. Η χρήση αυτής της προνομιούχας μεθόδου περιορίζεται από την χρήση των κανόνων ασφαλείας D-Bus system message bus.

Στην περίπτωση που κάποιος χρήστης με υπάρχουσα εγκεκριμένη συνεδρία που είναι κλειδωμένη ζητήσει να την επαναλάβει το GDM καλεί μια προνομιούχα μέθοδο του ConsoleKit για να την ξεκλειδώσει. Οι ακριβείς λεπτομέρειες του τι συμβαίνει όταν η συνεδρία λαμβάνει αυτό το σήμα ξεκλειδώματος είναι απροσδιόριστες και ιδιαίτερες για την συνεδρία. Εντούτοις, οι περισσότερες συνεδρίες θα ξεκλειδώσουν την προστασία οθόνης σε απάντηση.

Όταν ο χρήστης επιλέξει την έξοδο από την συνεδρία, ή το GDM είτε η συνεδρία σταματήσουν απρόσμενα η συνεδρία του χρήστη θα σταματήσει να καταγράφεται από το ConsoleKit.

Αν η υποστήριξη για το ConsoleKit δεν είναι επιθυμητή μπορεί να απενεργοποιηθεί κατά την μεταγλώττιση χρησιμοποιώντας το όρισμα "--with-console-kit=no" στην εκτέλεση του configure.

Διαμόρφωση

Το GDM έχει ένα σύνολο διεπαφών διαμόρφωσης. Αυτές περιλαμβάνουν σημεία ενσωμάτωσης σεναρίων εντολών κελύφους, διαμόρφωση δαιμόνων, διαμόρφωση του greeter, γενικές ρυθμίσεις συνεδρίας, συγχώνευση με την διαμόρφωση του gnome-settings-daemon, και διαμόρφωση συνεδρίας. Αυτοί οι τρόποι ενοποίησης λειτουργιών περιγράφονται με λεπτομέρεια παρακάτω.

Σημεία ενσωμάτωσης σεναρίου εντολών φλοιού

Τα σημεία ενσωμάτωσης σεναρίων εντολών του GDM μπορείτε να τα βρείτε στον κατάλογο <etc>/gdm/:

Xsession
Init/
PostLogin/
PreSession/
PostSession/

Τα σενάρια εντολών Init, PostLogin, PreSession και PostSession λειτουργούν όπως περιγράφεται παρακάτω.

Για κάθε τύπο σεναρίου εντολών, το προεπιλεγμένο που θα εκτελείται ονομάζεται "Default" και είναι αποθηκευμένο σε έναν κατάλογο σχετικό με τον τύπο του σεναρίου. Έτσι το προεπιλεγμένο σενάριο Init βρίσκεται στο <etc>/gdm/Init/Default. Ένα σενάριο ανά οθόνη μπορεί να οριστεί, και αν υπάρχει θα εκτελεστεί αντί του προεπιλεγμένου. Αυτά τα σενάρια αποθηκεύονται στον ίδιο κατάλογο με τα προεπιλεγμένα και έχουν το ίδιο όνομα με την τιμή του Xserver DISPLAY για την κάθε οθόνη. Για παράδειγμα, αν υπάρχει το σενάριο <Init>/:0, θα εκτελεστεί για το DISPLAY ":0".

Όλα αυτά τα σενάρια εκτελούνται με δικαιώματα root και δίνουν αποτέλεσμα 0 αν ολοκληρωθούν με επιτυχία, ή αποτέλεσμα διαφορετικό από το μηδέν αν έχει υπάρξει οποιαδήποτε αποτυχία που θα προκαλούσε την ματαίωση της εισόδου στην συνεδρία. Σημειώστε επίσης ότι το GDM θα μπλοκάρει-παγώσει μέχρι το τέλος της εκτέλεσης του σεναρίου, έτσι αν κάποιο από αυτά τα σενάρια κρεμάσει, αυτό θα προκαλέσει το κρέμασμα και της διεργασίας εισόδου.

Όταν ο Xserver για το GUI εισόδου εκκινήσει με επιτυχία, αλλά πριν το GUI προβληθεί, το GDM θα εκτελέσει το σενάριο Init. Αυτό το σενάριο είναι χρήσιμο για την εκκίνηση προγραμμάτων που πρέπει να εκτελούνται κατά την προβολή της οθόνης εισόδου, ή για την υλοποίηση οποιασδήποτε ειδικής αρχικοποίησης απαιτείται.

Μετά την επιτυχημένη πιστοποίηση του χρήστη το GDM θα εκτελέσει το σενάριο PostLogin. Αυτό γίνεται πριν πραγματοποιηθεί οποιαδήποτε ρύθμιση της συνεδρίας, συμπεριλαμβανομένης της κλήσης του pam_open_session. Αυτό το σενάριο είναι χρήσιμο για την πραγματοποίηση οποιασδήποτε αρχικοποίησης της συνεδρίας που πρέπει να γίνει πριν την εκκίνηση της. Για παράδειγμα, μπορείτε να ρυθμίσετε τον κατάλογο $HOME του χρήστη αν χρειάζεται.

Μετά την έναρξη της συνεδρίας του χρήστη, το GDM θα εκτελέσει το σενάριο PreSession. Αυτό το σενάριο είναι χρήσιμο για οποιαδήποτε ενέργεια στην αρχή της συνεδρίας που πρέπει να γίνει μετά την εκκίνηση της συνεδρίας. Μπορεί να χρησιμοποιηθεί για την διαχείριση της συνεδρίας ή για καταγραφή δεδομένων της, για παράδειγμα.

Όταν ο χρήστης τερματίσει την συνεδρία του, το GDM θα εκτελέσει το σενάριο PostSession. Σημειώστε ότι ο Xserver θα έχει σταματήσει την στιγμή που θα εκτελείται αυτό το σενάριο, έτσι δεν θα πρέπει να προσπελαστεί.

Σημειώστε ότι το σενάριο PostSession θα εκτελεστεί ακόμη και όταν η οθόνη αποτύχει να ανταποκριθεί λόγω κάποιου λάθους I/O ή συναφούς. Κατά συνέπεια, δεν υπάρχει βεβαιότητα ότι οι εφαρμογές X θα δουλέψουν κατά την εκτέλεση του σεναρίου.

Όλα τα παραπάνω σενάρια θα ρυθμίσουν την μεταβλητή περιβάλλοντος $RUNNING_UNDER_GDM σε yes. Αν τα σενάρια χρησιμοποιούνται και από άλλους διαχειριστές οθόνης, αυτό σας επιτρέπει να αναγνωρίσετε πότε το GDM καλεί αυτά τα σενάρια, έτσι ώστε να εκτελείτε συγκεκριμένο κώδικα όταν χρησιμοποιείται το GDM.

Ρύθμιση αυτόματης εκκίνησης

Ο κατάλογος <share>/gdm/autostart/LoginWindow περιέχει αρχεία στην μορφή που ορίζει η "FreeDesktop.org Desktop Application Autostart Specification". Τυποποιημένες λειτουργίες από τις προδιαγραφές μπορούν να χρησιμοποιηθούν για προσδιοριστεί αν προγράμματα θα πρέπει να επανεκκινούν αυτόματα ή θα εκκινούν μόνο αν έχει οριστεί μια τιμή στην διαμόρφωση του GConf, κλπ.

Οποιοδήποτε αρχείο .desktop σε αυτόν τον κατάλογο θα προκαλέσει την αυτόματη εκκίνηση του συνδεδεμένου προγράμματος με τον greeter του GUI εισόδου. Από προεπιλογή, το GDM αποστέλλεται με αρχεία που εκκινούν αυτόματα το ίδιο το gdm-simple-greeter, την εφαρμογή gnome-power-manager, τον δαίμονα gnome-settings-daemon, και τον διαχειριστή παραθύρων metacity. Αυτές οι εφαρμογές είναι απαραίτητες στο greeter για να λειτουργήσει. Επιπρόσθετα, αρχεία desktop παρέχονται για την εκκίνηση διαφόρων εφαρμογών AT αν τιμές διαμόρφωσης που προσδιορίζονται στην ενότητα διαμόρφωση προσβασιμότητας παρακάτω ρυθμιστούν κατάλληλα.

Σενάριο εντολών Xsession

Υπάρχει επίσης ένα σενάριο εντολών Xsession που βρίσκεται στο <etc>/gdm/Xsession και που καλείται μεταξύ των σεναρίων PreSession και PostSession. Αυτό το σενάριο δεν υποστηρίζει ενέργειες ανά οθόνη όπως τα άλλα. Χρησιμοποιείται για την εκκίνηση της συνεδρίας του χρήστη. Εκτελείται από τον χρήστη, και θα εκτελεστεί όποια συνεδρία και αν προσδιορίστηκε από το αρχείο Desktop session που επέλεξε ο χρήστης για να εκκινήσει.

Διαμόρφωση δαίμονα

Ο δαίμονας του GDM ρυθμίζεται χρησιμοποιώντας το αρχείο <etc>/gdm/custom.conf. Οι προεπιλεγμένες τιμές είναι αποθηκευμένες στο αρχείο του GConf gdm.schemas. Συνίσταται οι τελικοί χρήστες να μετατρέπουν το αρχείο /etc/gdm/custom.conf επειδή το αρχείο gdm.schemas μπορεί να επανεγγραφεί κατά την αναβάθμιση του συστήματος με μια νεώτερη έκδοση του GDM.

Σημειώστε ότι παλαιότερες εκδόσεις του GDM υποστήριζαν πρόσθετες επιλογές διαμόρφωσης που δεν υποστηρίζονται πλέον στις τελευταίες εκδόσεις του GDM.

Το αρχείο <etc>/gdm/custom.conf είναι σε μορφή keyfile. Λέξεις κλειδί σε αγκύλες καθορίζουν ενότητες ομάδων, συμβολοσειρές πριν το σημείο ίσον (=) είναι κλειδιά και τα δεδομένα μετά το σημείο ίσον αντιπροσωπεύουν την τιμή τους. Οι άδειες γραμμές ή εκείνες που αρχίζουν με το σημείο δίεση (#) αγνοούνται.

Το /etc/gdm/custom.conf υποστηρίζει τις ενότητες ομάδων "[daemon]", "[security]", και "[xdmcp]". Μέσα σε κάθε ομάδα, υπάρχουν ιδιαίτερα ζεύγη κλειδιού/τιμής που μπορούν να προσδιοριστούν για να μετατραπεί η συμπεριφορά του GDM. Για παράδειγμα, για να ενεργοποιήσουμε χρονομετρούμενη σύνδεση και να ορίσουμε ότι ο χρήστης της πρέπει να έχει το όνομα "you", θα πρέπει να τροποποιήσουμε το αρχείο ώστε να περιέχει τις παρακάτω γραμμές:

[daemon]
TimedLoginEnable=true
TimedLogin=you

Ακολουθεί πλήρης λίστα υποστηριζόμενων κλειδιών διαμόρφωσης:

[chooser]

Multicast
Multicast=false

Αν είναι αληθές και το IPv6 είναι ενεργοποιημένο, η εφαρμογή chooser θα στείλει multicast query στο τοπικό δίκτυο και θα συλλέξει απαντήσεις από τους υπολογιστές που ανήκουν στην ομάδα multicast.

MulticastAddr
MulticastAddr=ff02::1

Αυτός είναι ο σύνδεσμος-local Multicast address.

[daemon]

Ομάδα
Group=gdm

Το όνομα ομάδας υπό την οποία η εφαρμογή greeter και άλλα προγράμματα GUI εκτελούνται. Ανατρέξτε στο κλειδί διαμόρφωσης User και στην ενότητα "Security->GDM User And Group" αυτού του εγγράφου για περισσότερες πληροφορίες.

Ενεργοποίηση σύνδεσης με καθορισμένη καθυστέρηση
TimedLoginEnable=false

Αν ο χρήστης που ορίζεται στο TimedLogin πρέπει να συνδεθεί μετά από έναν αριθμό δευτερολέπτων (που ρυθμίζονται με το TimedLoginDelay) αδράνειας στην οθόνη εισόδου. Αυτό είναι χρήσιμο για δημόσια τερματικά ή και για οικιακούς χρήστες. Αν ο χρήστης χρησιμοποιήσει το πληκτρολόγιο ή περιηγηθεί στο μενού, το διάστημα αναμονής θα επαναρυθμιστεί σε TimedLoginDelay ή σε 30 δευτερόλεπτα, όποιο από τα δύο είναι το μεγαλύτερο. Αν ο χρήστης δεν εισάγει όνομα αλλά απλά πατήσει το πλήκτρο ENTER ενώ το πρόγραμμα εισόδου ζητά το όνομα χρήστη, τότε το GDM θα υποθέσει ότι ο χρήστης θέλει να συνδεθεί άμεσα σαν ο χρήστης με την χρονομετρούμενη σύνδεση. Σημειώστε ότι δεν θα ζητηθεί κωδικός για αυτόν τον χρήστη έτσι πρέπει να είστε προσεκτικοί, αν και χρησιμοποιώντας το PAM αυτό μπορεί να διαμορφωθεί έτσι ώστε να απαιτεί εισαγωγή κωδικού πριν επιτραπεί η σύνδεση. Ανατρέξτε στην ενότητα "Security->PAM" του εγχειριδίου για περισσότερες πληροφορίες, ή για βοήθεια αν αυτό το χαρακτηριστικό φαίνεται ν μην λειτουργεί.

Σύνδεση σε καθορισμένο χρονικό διάστημα
TimedLogin=

Αυτός είναι ο χρήστης που πρέπει να συνδεθεί μετά από ένα καθορισμένο αριθμό δευτερολέπτων αδράνειας.

Σύνδεση με καθορισμένη χρονική καθυστέρηση
TimedLoginDelay=30

Καθυστέρηση σε δευτερόλεπτα πριν ο χρήστης TimedLogin συνδεθεί.

Ενεργοποίηση αυτόματης σύνδεσης
AutomaticLoginEnable=false

Αν αληθές, ο χρήστης που ορίζεται στο AutomaticLogin πρέπει να συνδεθεί άμεσα. Αυτό το χαρακτηριστικό είναι σαν το timed login με καθυστέρηση 0.

Αυτόματη σύνδεση
AutomaticLogin=

Αυτός είναι ο χρήστης που πρέπει να συνδεθεί αμέσως αν το AutomaticLoginEnable είναι αληθές.

Χρήστης
User=gdm

Το όνομα χρήστη υπό το οποίο το πρόγραμμα greeter και άλλες εφαρμογές GUI εκτελούνται. Ανατρέξτε στο κλειδί διαμόρφωσης Group και στην ενότητα "Security->GDM User And Group" αυτού του εγγράφου για περισσότερες πληροφορίες.

Επιλογές ασφαλείας

[security]

Απαγόρευση TCP
DisallowTCP=true

Αν αληθές, τότε πάντα επισυνάπτει το όρισμα -nolisten tcp στην γραμμή εντολών κατά την εκκίνηση συνδεδεμένων Xservers, κατά συνέπεια απαγορεύει συνδέσεις TCP. Αυτή είναι μια πιο ασφαλής διαμόρφωση αν δεν χρησιμοποιείτε απομακρυσμένες συνδέσεις.

Υποστήριξη XDCMP

[xdmcp]

Οθόνες-τερματικά ανά υπολογιστή δικτύου
DisplaysPerHost=1

Για να μην επιτρέπει σε επιτιθέμενους να γεμίζουν την λίστα αναμονής, το GDM επιτρέπει μία μόνο σύνδεση για κάθε απομακρυσμένο υπολογιστή. Αν θέλετε να παρέχετε υπηρεσίες οθόνης σε υπολογιστές με περισσότερες από μία οθόνες, πρέπει να αυξήσετε αυτή την τιμή.

Σημειώστε ότι ο αριθμός συνδεδεμένων οθονών δεν περιορίζεται. Μόνο οι απομακρυσμένες συνδέσεις μέσω XDMCP περιορίζονται από αυτή την επιλογή διαμόρφωσης.

Ενεργοποίηση
Enable=false

Ρυθμίζοντας την τιμή σε true ενεργοποιείται η υποστήριξη XDMCP επιτρέποντας την διαχείριση από το GDM απομακρυσμένων οθονών/τερματικών X.

Το gdm παρακολουθεί για αιτήσεις στην θύρα UDP 177. Δείτε την επιλογή θύρας για περισσότερες πληροφορίες.

Αν το GDM μεταγλωττιστεί έτσι ώστε να το υποστηρίζει, η πρόσβαση από απομακρυσμένες οθόνες μπορεί να ελεγχθεί χρησιμοποιώντας την βιβλιοθήκη του TCP Wrapper. Το όνομα της υπηρεσίας είναι gdm

Θα πρέπει να προσθέσετε το

gdm:.my.domain

στο αρχείο <etc>/hosts.allow, σε συνάρτηση με την διαμόρφωση του TCP Wrapper που έχετε. Δείτε την σελίδα hosts.allow man page για λεπτομέρειες.

Παρακαλώ σημειώστε ότι το XDMCP δεν είναι ιδιαίτερα ασφαλές πρωτόκολλο και ότι είναι καλή ιδέα να φράξετε την θύρα UDP 177 στο τείχος προστασίας εκτός και αν το χρειάζεστε πραγματικά.

HonorIndirect
HonorIndirect=true

Ενεργοποιεί την δυνατότητα XDMCP INDIRECT choosing (π.χ. απομακρυσμένη εκτέλεση του gdmchooser) για τερματικά-X που δεν παρέχουν τον δικό τους περιηγητή οθόνης.

MaxPending
MaxPending=4

Για την αποφυγή επιθέσεων τύπου denial of service, το GDM έχει σταθερό μέγεθος λίστας αναμονής συνδέσεων που εκκρεμούν. Μόνο ο αριθμός των οθονών που δίνει η τιμή του MaxPending μπορούν να εκκινήσουν ταυτόχρονα.

Παρακαλώ σημειώστε ότι αυτή η παράμετρος δεν περιορίζει τον αριθμό των απομακρυσμένων οθονών που μπορούμε να διαχειριστούμε. Περιορίζει μόνο τον αριθμό των οθονών που εκκινούν μια σύνδεση ταυτόχρονα.

MaxSessions
MaxSessions=16

Καθορίζει τον μέγιστο αριθμό απομακρυσμένων συνδέσεων με οθόνες που θα είναι υπό διαχείριση ταυτόχρονα. Π.χ. ο συνολικός αριθμός απομακρυσμένων οθονών που επιτρέπεται να χρησιμοποιήσουν τον υπολογιστή σας.

MaxWait
MaxWait=30

Όταν το GDM είναι έτοιμο να διαχειριστεί μια οθόνη στέλνει ένα πακέτο ACCEPT σε αυτό που περιέχει ένα μοναδικό id συνεδρίας το οποίο θα χρησιμοποιηθεί σε μελλοντικές συνομιλίες XDMCP.

Το GDM τοποθετεί το session id στην εκκρεμή λίστα αναμονής περιμένοντας το τερματικό να απαντήσει με ένα αίτημα MANAGE.

Αν δεν ληφθεί απάντηση μέσα σε διάστημα MaxWait δευτερολέπτων, το GDM δηλώνει το τερματικό dead και το διαγράφει από την εκκρεμή λίστα αναμονής ελευθερώνοντας την θέση για άλλες οθόνες.

MaxWaitIndirect
MaxWaitIndirect=30

Η παράμετρος MaxWaitIndirect καθορίζει τον μέγιστο αριθμό δευτερολέπτων μεταξύ της στιγμής που ο χρήστης επιλέγει έναν υπολογιστή και το επακόλουθο indirect query όπου ο χρήστης συνδέεται στον υπολογιστή. Όταν το καθορισμένο διάστημα υπερβαίνεται, η πληροφορία για τον επιλεγμένο υπολογιστή απορρίπτεται και η θέση (indirect slot) ελευθερώνεται για άλλες οθόνες. Η πληροφορία μπορεί να απορριφθεί νωρίτερα αν υπάρχουν περισσότεροι υπολογιστές που προσπαθούν να στείλουν indirect queries τότε MaxPendingIndirect.

PingIntervalSeconds
PingIntervalSeconds=15

Διάστημα ανανέωσης του ping στον Xserver σε δευτερόλεπτα. Αν ο εξυπηρετητής X δεν απαντήσει πριν την επόμενη φορά που του στείλουμε ping, η σύνδεση διακόπτεται και η συνεδρία τερματίζεται. Αυτός είναι ένας συνδυασμός του XDM PingInterval και του PingTimeout, αλλά σε δευτερόλεπτα.

Σημειώστε ότι στο παρελθόν το GDM είχε ένα κλειδί διαμόρφωσης του PingInterval το οποίο ήταν επίσης και σε λεπτά. Στις περισσότερες περιπτώσεις θα θέλατε αυτή την ρύθμιση χαμηλότερη από ένα λεπτό όμως επειδή σε πολλές περιπτώσεις όπου θα χρησιμοποιούνταν το XDMCP (όπως σε εργαστήρια τερματικών), ένα κενό μεγαλύτερο από 15 δευτερόλεπτα θα σήμαινε στην πραγματικότητα ότι το τερματικό έσβησε ή επανεκκινήθηκε και θα θέλατε να τερματίσετε την συνεδρία.

Θύρα
Port=177

Ο αριθμός της θύρας UDP που το gdm παρακολουθεί για αιτήματα XDMCP. Μην κάνετε αλλαγές εκτός και αν γνωρίζετε τι κάνετε.

Willing
Willing=<etc>/gdm/Xwilling

Όταν το μηχάνημα απαντά με ένα πακέτο WILLING μετά από ένα QUERY στέλνει μια συμβολοσειρά που δίνει την τρέχουσα κατάσταση αυτού του εξυπηρετητή. Το προεπιλεγμένο μήνυμα είναι το ID του συστήματος, αλλά είναι δυνατόν να δημιουργηθεί ένα σενάριο εντολών που προβάλλει προσαρμοσμένο μήνυμα. Αν το σενάριο αυτό δεν υπάρχει ή το κλειδί είναι κενό αποστέλλεται το προεπιλεγμένο μήνυμα. Αν το σενάριο εκτελεστεί με επιτυχία και δώσει κάποιο αποτέλεσμα, η πρώτη γραμμή της εξόδου του στέλνεται (και μόνο η πρώτη γραμμή). Εκτελείται το πολύ μία φορά κάθε τρία δευτερόλεπτα για να προλάβει πιθανό denial of service πλημμυρίζοντας το μηχάνημα με πακέτα QUERY.

Απλή διαμόρφωση του greeter

Η προεπιλεγμένη εφαρμογή greeter του GDM ονομάζεται simple greeter και διαμορφώνεται μέσω του GConf. Οι προεπιλεγμένες τιμές αποθηκεύονται στο GConf στο αρχείο gdm-simple-greeter.schemas. Αυτές οι προεπιλογές μπορούν να παρακαμφθούν αν ο χρήστης "gdm" έχει εγγράψιμο κατάλογο $HOME για να αποθηκεύσει τις ρυθμίσεις GConf. Αυτές οι τιμές μπορούν να μετατραπούν χρησιμοποιώντας τις εφαρμογές gconftool-2 ή gconf-editor. Οι παρακάτω επιλογές διαμόρφωσης υποστηρίζονται:

Κλειδιά διαμόρφωσης του greeter

/apps/gdm/simple-greeter/banner_message_enable
false (boolean)

Ελένχει αν το μήνυμα κειμένου banner προβάλλεται.

/apps/gdm/simple-greeter/banner_message_text
NULL (string)

Καθορίζει το κείμενο του μηνύματος banner που θα προβάλλεται στο παράθυρο του greeter.

/apps/gdm/simple-greeter/debug
false (boolean)

Αν αληθές, ενεργοποιείται η λειτουργία αποσφαλμάτωσης για τον greeter.

/apps/gdm/simple-greeter/disable_restart_buttons
false (boolean)

Ελέγχει αν θα προβάλλονται τα πλήκτρα τερματισμού και επανεκκίνησης στο παράθυρο εισόδου.

/apps/gdm/simple-greeter/disable_user_list
false (boolean)

Αν αληθές, ο περιηγητής προσώπων με γνωστούς χρήστες δεν προβάλλεται στο παράθυρο εισόδου.

/apps/gdm/simple-greeter/logo_icon_name
computer (string)

Ορισμός του ονόματος του προσαρμοσμένου εικονιδίου για χρήση με το greeter.

/apps/gdm/simple-greeter/recent-languages
[] (string list)

Ρύθμιση μιας λίστας γλωσσών που θα προβάλλονται από προεπιλογή στο παράθυρο εισόδου. Η προεπιλεγμένη τιμή είναι "[]". Με τις αρχικές ρυθμίσεις μόνο η προεπιλεγμένη γλώσσα του συστήματος εμφανίζεται και η επιλογή "Other..." η οποία αναπτύσσει ένα παράθυρο διαλόγου που δείχνει μια πλήρη λίστα των διαθέσιμων γλωσσών από τις οποίες μπορεί να επιλέξει ο χρήστης.

Δεν αναμένεται από τους χρήστες να αλλάξουν αυτή την ρύθμιση χειροκίνητα. Αντίθετα το GDM καταγράφει κάθε γλώσσα που επιλέχθηκε σε αυτό το κλειδί διαμόρφωσης και θα την προβάλει στο σύνθετο πλαίσιο μαζί με την επιλογή "Other...". Με αυτό τον τρόπο οι συχνότερα χρησιμοποιούμενες γλώσσες είναι ευκολότερο να επιλεγούν.

/apps/gdm/simple-greeter/recent-layouts
[] (string list)

Ρύθμιση μιας λίστας διατάξεων πληκτρολογίου που θα προβάλλεται από προεπιλογή στον πίνακα εισόδου. Η προεπιλεγμένη τιμή είναι "[]". Με τις αρχικές ρυθμίσεις μόνο η προεπιλεγμένη διάταξη πληκτρολογίου του συστήματος εμφανίζεται και η επιλογή "Other..." η οποία αναπτύσσει ένα παράθυρο διαλόγου που περιέχει μια πλήρη λίστα διαθέσιμων διατάξεων πληκτρολογίου που μπορεί να επιλέξει ο χρήστης.

Δεν αναμένεται από τους χρήστες να αλλάξουν αυτή την ρύθμιση χειροκίνητα. Αντίθετα το GDM καταγράφει κάθε διάταξη πληκτρολογίου που επιλέγεται σε αυτό το κλειδί διαμόρφωσης και την προβάλλει στο σύνθετο πλαίσιο μαζί με την επιλογή "Other...". Με αυτόν τον τρόπο, οι συχνά χρησιμοποιούμενες διατάξεις πληκτρολογίου είναι ευκολότερο να επιλεγούν.

/apps/gdm/simple-greeter/wm_use_compiz
false (boolean)

Ελέγχει αν χρησιμοποιείται το compiz αντί για το metacity σαν διαχειριστής παραθύρων.

Διαμόρφωση προσιτότητας

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

Κλειδιά διαμόρφωσης του greeter

/desktop/gnome/interface/accessibility
false (boolean)

Ελέγχει αν η υποδομή προσιτότητας θα εκκινηθεί με το γραφικό περιβάλλον του GDM. Αυτό είναι αναγκαίο για οποιαδήποτε εφαρμογή της κατηγορίας accessibility technology (τεχνολογίας προσιτότητας) ώστε να μπορεί να λειτουργήσει.

/desktop/gnome/applications/at/screen_magnifier_enabled
false (boolean)

Αν ενεργοποιηθεί, τότε ο μεγεθυντής του GNOME θα εκκινηθεί με τις εφαρμογές γραφικού περιβάλλοντος του GDM.

/desktop/gnome/applications/at/screen_keyboard_enabled
false (boolean)

Αν ενεργοποιηθεί, τότε το πληκτρολόγιο οθόνης του GNOME θα ξεκινήσει με τις εφαρμογές GUI του GDM.

/desktop/gnome/applications/at/screen_reader_enabled
false (boolean)

Αν ενεργοποιηθεί, ο αναγνώστης οθόνης του GNOME θα εκκινηθεί με τις εφαρμογές GUI του GDM.

Γενικές ρυθμίσεις συνεδρίας

O greeter του GDM χρησιμοποιεί ένα μέρος από την δομή που η συνεδρία της επιφάνειας εργασίας χρησιμοποιεί επίσης. Και έτσι, επηρεάζεται από έναν αριθμό όμοιων ρυθμίσεων του GConf. Για κάθε μία από αυτές τις ρυθμίσεις ο greeter θα χρησιμοποιήσει τις προεπιλεγμένες τιμές εκτός και αν παρακάμπτονται συγκεκριμένα από α) εγκατεστημένους επιτακτικούς κανόνες του GDM β) επιτακτικούς κανόνες του συστήματος. Το GDM εγκαθιστά τους δικούς του επιτακτικούς κανόνες για να αποκλείσει κάποιες ρυθμίσεις για λόγους ασφαλείας.

Δαίμονας ρυθμίσεων του GNOME

Το GDM ενεργοποιεί τα εξής πρόσθετα του gnome-settings-daemon: a11y-keyboard, background, sound, xsettings.

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

Τα πρόσθετα μπορούν επίσης να απενεργοποιηθούν χρησιμοποιώντας το GConf. Για παράδειγμα, αν θέλετε να απενεργοποιήσετε το πρόσθετο ήχου τότε απενεργοποιήστε το ακόλουθο κλειδί: /apps/gdm/simple-greeter/settings-manager-plugins/sound/active.

Διαμόρφωση της συνεδρίας GDM

Οι συνεδρίες του GDM καθορίζονται χρησιμοποιώντας τις προδιαγραφές της FreeDesktop.org Desktop Entry Specification, τις οποίες μπορείτε να εξετάσετε στο ακόλουθο URL: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Αυτά τα αρχεία είναι εγκατεστημένα, από προεπιλογή, στο <etc>/X11/sessions/. Χάριν συμβατότητας με παλαιότερες εκδόσεις οποιοδήποτε αρχείο .desktop στους καταλόγους <etc>/Sessions, <share>/xsessions, και <share/gdm/BuiltInSessions αναγνωρίζεται από το GDM.

Μια συνεδρία μπορεί να απενεργοποιηθεί μετατρέποντας το αρχείο desktop με την προσθήκη μιας γραμμής που περιέχει Hidden=true.

Συνεδρία χρήστη του GDM και διαμόρφωση γλώσσας

Οι προεπιλογές του χρήστη για την συνεδρία και την γλώσσα αποθηκεύονται στο αρχείο ~/.dmrc. Όταν ένας χρήστης συνδέεται για πρώτη φορά, αυτό το αρχείο δημιουργείται με τις αρχικές του επιλογές. Ο χρήστης μπορεί να αλλάξει αυτές τις τιμές απλά επιλέγοντας διαφορετική τιμή κατά την είσοδο του. Το GDM θα αποθηκεύσει την αλλαγή για τις επόμενες συνδέσεις.

Το αρχείο ~/.dmrc είναι σε τυποποιημένη μορφή INI. Έχει μια ενότητα με όνομα [Desktop] η οποία έχει δύο κλειδιά: Session και Language.

Το κλειδί Session καθορίζει το όνομα του αρχείου .desktop της συνεδρίας που ο χρήστης επιθυμεί να χρησιμοποιεί κανονικά χωρίς την επέκταση .desktop. Το κλειδί Language καθορίζει την γλώσσα που ο χρήστης επιθυμεί να χρησιμοποιεί από προεπιλογή. Αν οποιαδήποτε από αυτά τα κλειδιά λείπει, χρησιμοποιείται η προεπιλογή του συστήματος. Το αρχείο κανονικά θα είναι όπως παρακάτω:

[Desktop]
Session=gnome
Language=cs_CZ.UTF-8

Εντολές GDM

Εντολές GDM για τον χρήστη root

Το πακέτο GDM παρέχει τις παρακάτω εντολές στο sbindir που προορίζονται για εκτέλεση από τον χρήστη root:

gdm και gdm-binary Επιλογές γραμμής εντολών

Η εντολή gdm είναι στην πραγματικότητα ένα σενάριο εντολών που εκτελεί το gdm-binary, παίρνοντας υπ όψιν κάθε επιλογή. Πριν εκκινήσει το gdm-binary, το σενάριο gdm wrapper θα χρησιμοποιήσει το αρχείο <etc>/profile για να καθορίσει τις τυποποιημένες μεταβλητές περιβάλλοντος του συστήματος. Για να υποστηριχθεί καλύτερα η τοπικοποίηση, θα ρυθμίσει επίσης την μεταβλητή περιβάλλοντος LC_MESSAGES σε LANG αν ούτε το LC_MESSAGES ή το LC_ALL είναι ρυθμισμένα. Το gdm-binary είναι o πραγματικός δαίμονας του GDM.

gdm και gdm-binary Επιλογές γραμμής εντολών

-?, --help

Δίνει μια σύντομη επισκόπηση των επιλογών της γραμμής εντολών.

--debug

Τυπώνει την έξοδο της αποσφαλμάτωσης στο syslog. Αυτό είναι συνήθως το <var>/log/messages ή το <var>/adm/messages ανάλογα με το λειτουργικό σύστημα.

--fatal-warnings

Όρισε όλες οι προειδοποιήσεις να προκαλούν τον τερματισμό του GDM.

--timed-exit

Έξοδος μετά από 30 δευτερόλεπτα. Χρήσιμο για την αποσφαλμάτωση.

--version

Εκτύπωση της έκδοσης του δαίμονα του GDM.

gdm-restart Επιλογές γραμμής εντολών

Το gdm-restart τερματίζει και επανεκκινεί το GDM στέλνοντας στον δαίμονα του GDM ένα σήμα HUP. Αυτή η εντολή θα τερματίσει άμεσα όλες τις συνεδρίες και θα αποσυνδέσει τους χρήστες που είναι συνδεδεμένοι με το GDM.

gdm-safe-restart Επιλογές γραμμής εντολών

Το gdm-safe-restart τερματίζει και επανεκκινεί το GDM στέλνοντας στον δαίμονα του GDM ένα σήμα USR1. Το GDM θα επανεκκινηθεί μόλις όλοι οι χρήστες αποσυνδεθούν.

gdm-stop Επιλογές γραμμής εντολών

Το gdm-stop τερματίζει το GDM στέλνοντας στον δαίμονα του GDM ένα σήμα TERM.

Αντιμετώπιση προβλημάτων

Αυτή η ενότητα παρουσιάζει χρήσιμες συμβουλές για να βάλετε το GDM σε λειτουργία. Γενικά, αν έχετε ένα πρόβλημα χρησιμοποιώντας το GDM, μπορείτε να υποβάλετε μία αναφορά σφάλματος ή να στείλετε email στην λίστα gdm-list. Πληροφορίες σχετικές με το πως μπορείτε να το κάνετε βρίσκονται στην εισαγωγή του εγγράφου.

Αν το GDM αποτυγχάνει να λειτουργήσει κανονικά, είναι πάντα καλή ιδέα να συμπεριλαμβάνετε πληροφορίες αποσφαλμάτωσης. Για να ενεργοποιήσετε την αποσφαλμάτωση, εκκινήστε το gdm με το όρισμα --debug. Μετά χρησιμοποιήστε το GDM μέχρι το σημείο που αποτυγχάνει, και το αποτέλεσμα της αποσφαλμάτωσης θα σταλεί στο system log σας (<var>/log/messages ή <var>/adm/messages ανάλογα με το λειτουργικό σύστημα). Αν μοιραστείτε αυτό το αποτέλεσμα με την κοινότητα του GDM μέσω μιας αναφοράς σφάλματος η με ένα email, παρακαλούμε να συμπεριλάβετε μόνο τις σχετικές με το GDM πληροφορίες αποσφαλμάτωσης και όχι ολόκληρο το αρχείο αφού μπορεί να είναι πολύ μεγάλο. Αν δεν δείτε κάποιο αποτέλεσμα στο GDM syslog, μπορεί να χρειαστεί να διαμορφώσετε το syslog (ανατρέξτε στην σελίδα syslog man page).

Το GDM δεν εκκινεί

Υπάρχουν πολλά προβλήματα που μπορούν να προκαλέσουν την αποτυχία εκκίνησης του GDM, αλλά αυτή η ενότητα θα παρουσιάσει λίγα συνηθισμένα προβλήματα και πως να προσεγγίσουμε την αναζήτηση του προβλήματος με την εκκίνηση τουGDM. Μερικά προβλήματα θα προκαλέσουν την απάντηση του GDM με μήνυμα λάθους όταν προσπαθεί να εκκινήσει, αλλά μπορεί να είναι δύσκολος ο εντοπισμός του προβλήματος όταν το GDM αποτυγχάνει σιωπηρά.

Πρώτα βεβαιωθείτε ότι ο Xserver είναι διαμορφωμένος κατάλληλα. Το αρχείο διαμόρφωσης του GDM περιέχει μια εντολή στην ενότητα [server-Standard] που χρησιμοποιείται για την εκκίνηση του Xserver. Επιβεβαιώστε ότι αυτή η εντολή λειτουργεί στο σύστημα σας. Εκτελώντας την εντολή αυτή στο τερματικό θα πρέπει να εκκινήσει ο εξυπηρετητής X. Αν αυτό αποτύχει, τότε το πρόβλημα είναι πιθανόν με την διαμόρφωση του Xserver σας. Ανατρέξτε στο αρχείο καταγραφής σφαλμάτων του Xserver (error log) για να πάρετε μια ιδέα του ποιο μπορεί να είναι το πρόβλημα. Το πρόβλημα μπορεί επίσης να είναι ότι ο δικός Xserver απαιτεί διαφορετικά ορίσματα γραμμής εντολών. Αν είναι έτσι, τότε μετατρέψτε την εντολή εκκίνησης του Xserver στο αρχείο διαμόρφωσης του GDM έτσι ώστε να είναι σωστή για το σύστημα σας.

Επίσης βεβαιωθείτε ότι ο κατάλογος /tmp έχει κατάλληλη ιδιοκτησία και δικαιώματα, και ότι το σύστημα αρχείων του μηχανήματος δεν είναι γεμάτο. Αυτά τα προβλήματα θα προκαλέσουν την αποτυχία εκκίνησης του GDM.

Άδεια χρήσης

Αυτό το πρόγραμμα είναι ελεύθερο λογισμικό. Επιτρέπεται η αναδιανομή ή/και τροποποίησή του υπό τους όρους της Γενικής Άδειας Δημόσιας Χρήσης GNU (GNU General Public License) όπως αυτή δημοσιεύεται από το Ίδρυμα Ελεύθερου Λογισμικού (Free Software Foundation) - είτε της έκδοσης 2 της άδειας, είτε (κατ' επιλογήν) οποιασδήποτε μεταγενέστερης έκδοσης.

Αυτό το πρόγραμμα διανέμεται με την ελπίδα ότι θα είναι χρήσιμο, αλλά ΧΩΡΙΣ ΚΑΜΜΙΑ ΑΠΟΛΥΤΩΣ ΕΓΓΥΗΣΗ - χωρίς ακόμη και την έμμεση εγγύηση ΕΜΠΟΡΕΥΣΙΜΟΤΗΤΑΣ ή ΚΑΤΑΛΛΗΛΟΤΗΤΑΣ ΓΙΑ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ. Δείτε για περισσότερες λεπτομέρειες την Γενική Άδεια Δημόσιας Χρήσης GNU (GNU General Public License).

Ένα αντίγραφο της GNU General Public License συμπεριλαμβάνεται ως παράρτημα στον Οδηγό Χρηστών GNOME . Μπορείτε επίσης να αποκτήσετε ένα αντίγραφο της GNU General Public License από το Ίδρυμα Ελεύθερου Λογισμικού επισκεπτόμενοι την ιστοσελίδα τους ή γράφοντας τους στη διεύθυνση

 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor BostonMA02110-1301USA