Configuration

GDM dispose de plusieurs interfaces de configuration. Elles comprennent les points d'intégration de scripts, la configuration du service, la configuration de la bannière d'accueil, les paramètres généraux de session, l'intégration avec la configuration de gnome-settings-daemon et la configuration de la session. Ces types d'intégration sont décrits en détails ci-après.

V.I. Points d'intégration de scripts

Les points d'intégration de scripts GDM se trouvent dans le répertoire <etc>/gdm/ :

Xsession
Init/
PostLogin/
PreSession/
PostSession/

Les scripts Init, PostLogin, PreSession et PostSession fonctionnent comme décrit ci-dessous.

Pour chaque type de script, le script lancé par défaut est appelé « Default » ; il est stocké dans le répertoire associé au type de script. Ainsi, le script Init par défaut est <etc>/gdm/Init/Default. Un script par affichage peut être fourni, et s'il existe il est lancé à la place de celui par défaut. Ces scripts sont stockés dans le même répertoire que le script par défaut et ont le même nom que la valeur DISPLAY de Xserver pour cet affichage. Par exemple, si le script <Init>/:0 existe, il se lance pour DISPLAY « :0 ».

Tous ces scripts sont exécutés avec les privilèges de root et renvoient 0 si l'exécution est réussie ou un code non nul dans le cas d'une erreur qui doit interrompre le processus de connexion de la session. Notez aussi que GDM se bloque jusqu'à la fin de l'exécution des scripts, donc si un script se bloque, cela bloque aussi le processus de connexion.

Lorsque le serveur X de l'écran de connexion démarre sans erreur, mais avant qu'il ne s'affiche, GDM lance le script Init. Ce script est utile pour lancer des programmes qui doivent fonctionner alors que l'écran de connexion s'affiche, ou si une initialisation particulière est nécessaire.

Après l'authentification sans erreur de l'utilisateur, GDM lance le script PostLogin. Cela s'effectue avant que la configuration de la session se fasse, également avant l'appel à pam_open_session. Ce script est utile pour effectuer toute initialisation de la session qui doit être faite avant qu'elle ne démarre. Par exemple, configurer le répertoire $HOME de l'utilisateur si nécessaire.

Après l'initialisation de la session de l'utilisateur, GDM lance le script PreSession. Ce script est utile pour effectuer toute initialisation de la session qui doit intervenir après le démarrage de la session. Cela peut être utilisé pour la gestion de session ou pour la comptabilité.

Quand un utilisateur termine sa session, GDM lance le script PostSession. Notez que le serveur X est aussi stoppé lorsque le script est lancé et qu'il ne doit donc pas être consulté.

Il faut savoir que le script PostSession est exécuté même lorsque l'affichage ne répond plus suite à une erreur d'entrée/sortie ou autre. Il n'existe donc aucune garantie que les applications X fonctionnent durant l'exécution de ce script.

Tous les scripts décrits ci-dessus définissent la variable d'environnement $RUNNING_UNDER_GDM à yes. Si ces scripts sont aussi partagés avec d'autres gestionnaires d'affichage, cela vous permet d'identifier quand GDM appelle ces scripts, vous pouvez donc exécuter du code spécifique quand GDM est utilisé.

V.II. Configuration du démarrage automatique

Le répertoire <share>/gdm/autostart/LoginWindow contient les fichiers dans le format défini par la spécification « FreeDesktop.org Desktop Application Autostart ». Des fonctions standard de la spécification peuvent être utilisées pour indiquer les programmes qui doivent redémarrer automatiquement ou ceux qui doivent être lancés seulement si une valeur dans la configuration GConf est définie, etc.

Tout fichier .desktop dans ce répertoire provoque le lancement automatiquement du programme associé en même temps que la bannière d'accueil. Par défaut, GDM est livré avec des fichiers qui lancent automatiquement la bannière d'accueil de l'écran de connexion gdm-simple-greeter, l'application gnome-power-manager, le service gnome-settings-daemon et le gestionnaire de fenêtres metacity. Ces programmes sont nécessaires au fonctionnement de la bannière GDM. Par ailleurs, des fichiers desktop sont fournis pour lancer différents outils d'accessibilité si les valeurs indiquées dans la section Configuration d'accessibilité ci-après sont définies.

V.III. Script Xsession

Il existe aussi un script Xsession se trouvant dans <etc>/gdm/Xsession qui est appelé entre les scripts PreSession et PostSession. Il ne prend pas en charge les variantes par affichage comme les autres scripts. Il est utilisé pour lancer réellement la session de l'utilisateur. Il est lancé en tant que l'utilisateur, et il lance la session telle qu'elle est définie par le fichier de session Desktop que l'utilisateur a choisi de lancer.

V.IV. Configuration du service

Le service GDM est configuré à l'aide du fichier <etc>/gdm/custom.conf. Les valeurs par défaut sont stockées dans GConf dans le fichier gdm.schemas. Il est recommandé que les utilisateurs finaux modifient le fichier <etc>/gdm/custom.conf car le fichier de schémas peut être écrasé quand les utilisateurs mettent à jour leur système pour avoir une nouvelle version de GDM.

Notez que les versions précédentes de GDM prenaient en charge des options de configuration supplémentaires qui ne sont plus disponibles dans les versions récentes de GDM.

le fichier <etc>/gdm/custom.conf est en format keyfile. Les mots-clés entre crochets délimitent les sections de groupe, les chaînes de caractères avant le signe (=) sont les clés et les données après le signe égal représentent leurs valeurs. Les lignes vides ou celles commençant par le signe dièse (#) sont ignorées.

Le fichier <etc>/gdm/custom.conf prend en charge les sections « [daemon] », « [security] » et « [xdmcp] ». Chacun des groupes comprend des paires clé/valeur particulières qui sont définies pour modifier le fonctionnement de GDM. Par exemple, pour activer la connexion différée pour un utilisateur appelé « you », il faut modifier le fichier pour qu'il contienne les lignes suivantes :

[daemon]
TimedLoginEnable=true
TimedLogin=you

Voici la liste complète des clés de configuration prises en charge :

V.IV.I. [chooser]

Multicast
Multicast=false

Si défini à « true » (vrai) et que IPv6 est actif, le sélecteur envoie une requête en multidiffusion (multicast) sur le réseau local et répertorie les réponses des hôtes ayant rejoint le groupe multidiffusion.

MulticastAddr
MulticastAddr=ff02::1

C'est l'adresse de multidiffusion de lien local.

V.IV.II. [daemon]

TimedLoginEnable
TimedLoginEnable=false

Indique si l'utilisateur spécifié par TimedLogin doit être automatiquement connecté après un certain nombre de secondes (défini par TimedLoginDelay) d'inactivité à l'écran de connexion. C'est utile pour des terminaux à accès public, ou même pour une utilisation privée. Si l'utilisateur emploie le clavier ou parcourt les menus, le délai est réinitialisé à la valeur la plus élevée entre TimedLoginDelay et 30 secondes. Si l'utilisateur ne saisit aucun nom et qu'il appuie sur la touche Entrée alors que le programme de connexion demande un nom d'utilisateur, GDM interprète cela comme le souhait de se connecter immédiatement en utilisant l'utilisateur différé. Notez qu'aucun mot de passe n'est exigé pour cet utilisateur. Il faut donc rester prudent, même si avec PAM, il est possible de configurer la demande du mot de passe avant d'autoriser la connexion. Référez-vous à la section « Sécurité->PAM » de ce manuel pour plus d'informations ou pour obtenir de l'aide si cette fonction ne semble pas fonctionner.

TimedLogin
TimedLogin=

L'utilisateur qui doit être connecté après un nombre défini de secondes d'inactivité.

Si la valeur se termine par une barre verticale « | », GDM exécute le programme indiqué et considère la valeur retournée sur la sortie standard comme le nom d'utilisateur. Le programme est exécuté avec la variable d'environnement DISPLAY définie, il est donc possible d'indiquer l'utilisateur en fonction de l'affichage. Par exemple, si la valeur est « /usr/bin/getloginuser| », le programme « /usr/bin/getloginuser » est exécuté pour obtenir le nom d'utilisateur.

TimedLoginDelay
TimedLoginDelay=30

Délai en secondes avant que l'utilisateur TimedLogin soit connecté.

AutomaticLoginEnable
AutomaticLoginEnable=false

Si défini à « true » (vrai), l'utilisateur indiqué dans la clé AutomaticLogin doit être connecté immédiatement. Cette fonction est similaire à la connexion différée avec un délai de 0 seconde.

AutomaticLogin
AutomaticLogin=

Le nom de l'utilisateur qui doit être connecté automatiquement si AutomaticLoginEnable est vrai.

Si la valeur se termine par une barre verticale « | », GDM exécute le programme indiqué et considère la valeur retournée sur la sortie standard comme le nom d'utilisateur. Le programme est exécuté avec la variable d'environnement DISPLAY définie, il est donc possible d'indiquer l'utilisateur en fonction de l'affichage. Par exemple, si la valeur est « /usr/bin/getloginuser| », le programme « /usr/bin/getloginuser » est exécuté pour obtenir le nom d'utilisateur.

User
User=gdm

Le nom d'utilisateur sous lequel la bannière d'accueil et les autres programmes GUI sont lancés. Référez-vous à la clé de configuration Group et à la section « Sécurité->Utilisateur et groupe GDM » de ce document pour plus d'informations.

Group
Group=gdm

Le nom du groupe sous lequel la bannière d'accueil et les autres programmes graphiques sont lancés. Référez-vous à la clé de configuration User et à la section « Sécurité->Utilisateur et groupe GDM » de ce document pour plus d'informations.

V.IV.III. Options de débogage

[debug]
Enable
Enable=false

Pour activer le débogage, configurez la clé debug/Enable à « true » dans le fichier <etc>/gdm/custom.conf et redémarrez GDM. La sortie de débogage est alors envoyée dans le fichier journal du système (<var>/log/messages ou <var>/adm/messages en fonction du système d'exploitation).

V.IV.IV. Options de la bannière d'accueil

[greeter]
IncludeAll
IncludeAll=true

Si vrai, le navigateur de figures affiche tous les utilisateurs de l'ordinateur local. Si faux, le navigateur de figures n'affiche que les utilisateurs qui se sont connectés récemment.

Lorsque cette clé est définie à « true », GDM appelle fgetpwent() pour obtenir une liste des utilisateurs locaux. Tous les utilisateurs dont l'ID d'utilisateur est inférieur à 500 (ou 100 si vous utilisez Oracle Solaris) sont exclus. Le navigateur de figures va aussi afficher tout utilisateur qui s'est déjà connecté sur le système (par exemple des utilisateurs NIS ou LDAP). Il obtient cette liste en faisant appel à l'interface ck-history de ConsoleKit. Il exclut également tout utilisateur qui ne possède pas de shell valide (les shells valides sont ceux qui sont obtenus par getusershell(), à l'exception de /sbin/nologin et /bin/false qui sont toujours considérés comme non valides).

Si défini à « false », GDM affiche simplement tous les utilisateurs qui se sont connectés au moins une fois sur le système (utilisateurs locaux ou NIS/LDAP) en faisant appel à l'interface ck-history de ConsoleKit.

Include
Include=

Définit une liste d'utilisateurs qui apparaissent toujours dans le navigateur de figures. Cette valeur est définie par une liste d'utilisateurs séparés par des virgules. Par défaut, cette valeur est vide.

Exclude
Exclude=bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap

Définit une liste d'utilisateurs qui sont toujours exclus du navigateur de figures. Cette valeur est définie par une liste d'utilisateurs séparés par des virgules. Notez que le paramètre dans custom.conf remplace la valeur par défaut, donc si vous souhaitez ajouter de nouveaux utilisateurs dans la liste, vous devez alors reprendre la valeur par défaut et y ajouter les utilisateurs supplémentaires.

V.IV.V. Options de sécurité

[security]
DisallowTCP
DisallowTCP=true

Si défini à « true » (vrai), le paramètre -nolisten tcp est toujours transmis sur la ligne de commande lors du démarrage de serveurs X liés, ce qui interdit les connexions TCP. Cela permet de sécuriser la configuration, lorsque les connexions distantes ne sont pas utilisées.

V.IV.VI. Prise en charge de XDMCP

[xdmcp]
DisplaysPerHost
DisplaysPerHost=1

Pour empêcher des attaquants de remplir la file d'attente, GDM n'accepte qu'une seule connexion par ordinateur distant. Si vous souhaitez offrir des services d'affichage à des ordinateurs ayant plus d'un écran, vous devez augmenter cette valeur en conséquence.

Il faut relever que le nombre autorisé d'affichages liés est illimité. Seules les connexions distantes par XDMCP sont limitées par cette option de configuration.

Enable
Enable=false

La définition de cette option à « true » (vrai) active la prise en charge de XDMCP pour permettre à des terminaux X ou des affichages distants d'être gérés par GDM.

gdm écoute les requêtes sur le port UDP 177. Consultez l'option Port pour plus d'informations.

Si GDM est compilé pour le prendre en charge, l'accès à partir d'affichages distants peut être contrôlé par la bibliothèque TCP Wrappers. Le nom de service est gdm.

Vous devez alors ajouter

gdm: .mon.domaine
à votre fichier <etc>/hosts.allow, selon votre configuration de TCP Wrappers. Consultez la page de manuel hosts.allow pour plus de détails.

Il faut relever que XDMCP n'est pas un protocole particulièrement sécurisé, et qu'il est conseillé de bloquer le port UDP 177 sur votre pare-feu si vous n'en avez pas vraiment besoin.

HonorIndirect
HonorIndirect=true

Active le choix XDMCP INDIRECT (c'est-à-dire l'exécution distante de gdmchooser) pour les terminaux X qui ne fournissent pas leur propre navigateur d'affichage.

MaxPending
MaxPending=4

Pour éviter les attaques par déni de service, GDM dispose d'une file d'attente de connexions limitée. Seuls MaxPending affichages peuvent démarrer simultanément.

Notez que ce paramètre ne limite pas le nombre d'affichages distants qui sont gérés. Il limite seulement le nombre d'affichages lançant simultanément une connexion.

MaxSessions
MaxSessions=16

Détermine le nombre maximal de connexions d'affichages distants gérées simultanément. Cela correspond donc au nombre total d'affichages distants utilisables par l'hôte.

MaxWait
MaxWait=30

Lorsque GDM est prêt à gérer un affichage, un paquet ACCEPT lui est envoyé avec un identifiant de session unique qui sera utilisé dans les échanges XDMCP subséquents.

GDM place ensuite l'identifiant de session dans la file d'attente, en attendant que l'affichage réponde par une requête MANAGE.

Si aucune réponse n'arrive dans l'intervalle en secondes défini par MaxWait, GDM considère l'affichage comme mort et l'efface de la file d'attente, libérant la place pour d'autres affichages.

MaxWaitIndirect
MaxWaitIndirect=30

Le paramètre MaxWaitIndirect détermine le nombre maximal de secondes entre le moment où un utilisateur choisit un hôte et la requête indirecte correspondant à la connexion de l'utilisateur à l'hôte. Si ce délai est dépassé, l'information à propos de l'hôte choisi est oubliée et la place est libérée pour une autre demande d'affichage indirect. Il se peut que cette information soit oubliée plus rapidement s'il y a davantage d'hôtes essayant d'envoyer des requêtes indirectes que le nombre défini dans MaxPendingIndirect.

PingIntervalSeconds
PingIntervalSeconds=60

Si le serveur X ne répond pas dans l'intervalle spécifié de temps en secondes alors la connexion est interrompue et la session se termine. Lorsque cela se produit, le démon esclave s'arrête avec un signal ALARM. Notez que GDM 2.20 et les versions précédentes doublent ce paramètre, il peut donc être nécessaire d'augmenter le délai en cas de mise à niveau vers une nouvelle version.

Signalons que dans le passé, GDM avait une clé de configuration PingInterval qui était aussi définie en minutes. Dans bien des cas, il est souhaitable de définir une valeur en-dessous de la minute, car dans la plupart des utilisations de XDMCP (comme dans des salles de terminaux), des délais de réponse supérieurs à une quinzaine de secondes signifie vraiment que le terminal a été éteint ou redémarré, et il est préférable de terminer la session.

Port
Port=177

Le numéro de port UDP que gdm doit écouter pour les requêtes XDMCP. Ne changez ce paramètre que si vous savez bien ce que vous faites.

Willing
Willing=<etc>/gdm/Xwilling

Lorsque le système renvoie un paquet WILLING après une requête (QUERY), il envoie une chaîne de caractères informant sur l'état actuel de ce serveur. Le message par défaut est l'identifiant système, mais il est possible de créer un script qui génère un message personnalisé. Si ce script n'existe pas ou que cette clé est vide, c'est le message par défaut qui est envoyé. Si ce script réussit à produire un résultat, la première ligne du résultat est envoyée (et seulement la première ligne). Il s'exécute au maximum une fois toutes les 3 secondes pour empêcher de possibles attaques par déni de service qui submergeraient la machine de paquets QUERY.

V.V. Configuration de la bannière d'accueil simple

La bannière d'accueil par défaut de GDM s'appelle la bannière d'accueil simple et se configure avec GConf. Les valeurs par défaut sont stockées dans GConf dans le fichier gdm-simple-greeter.schemas. Ces valeurs par défaut peuvent être surchargées si l'utilisateur « gdm » possède un répertoire $HOME inscriptible pour sauvegarder les paramètres GConf. Ces valeurs peuvent être modifiées à l'aide des programmes gconftool-2 ou gconf-editor. Les options de configuration suivantes sont prises en charge :

Clés de configuration de la bannière d'accueil
/apps/gdm/simple-greeter/banner_message_enable
false (faux, booléen)

Contrôle si le texte du message de la bannière doit être affiché.

/apps/gdm/simple-greeter/banner_message_text
NULL (chaîne)

Définit le texte du message de la bannière à afficher sur la fenêtre d'accueil.

/apps/gdm/simple-greeter/disable_restart_buttons
false (faux, booléen)

Contrôle si les boutons de redémarrage doivent être affichés dans la fenêtre de connexion.

/apps/gdm/simple-greeter/disable_user_list
false (faux, booléen)

Si vrai, le navigateur de figures avec les utilisateurs connus n'est pas affiché dans la fenêtre de connexion.

/apps/gdm/simple-greeter/logo_icon_name
computer (chaîne)

Définit le nom d'un thème d'icônes à utiliser pour le logo de la bannière d'accueil.

/apps/gdm/simple-greeter/recent-languages
[] (liste de chaînes)

Définit une liste de langues à afficher par défaut dans la fenêtre de connexion. La valeur par défaut est « [] ». Avec la valeur par défaut, seule la langue par défaut du système est affichée ainsi que l'option « Autre » qui ouvre une boîte de dialogue affichant la liste complète des langues disponibles au choix de l'utilisateur.

Les utilisateurs ne sont pas censés changer ce paramètre manuellement. GDM conserve lui-même le suivi de toute langue sélectionnée dans cette clé de configuration ; il affiche ces langues dans la liste déroulante des langues avec le choix « Autre ». Cela facilite la sélection des langues fréquemment sélectionnées.

/apps/gdm/simple-greeter/recent-layouts
[] (liste de chaînes)

Définit une liste d'agencements de clavier à afficher par défaut dans la fenêtre de connexion. La valeur par défaut est « [] ». Avec la valeur par défaut, seul l'agencement de clavier par défaut du système est affiché, ainsi que l'option « Autre » qui ouvre une boîte de dialogue affichant la liste complète des agencements de clavier au choix de l'utilisateur.

Les utilisateurs ne sont pas censés changer ce paramètre manuellement. GDM conserve lui-même la trace de tout agencement de clavier sélectionné dans cette clé de configuration ; il affiche ces agencements dans la liste déroulante avec le choix « Autre ». De cette façon, les agencements de clavier fréquemment sélectionnés sont plus facilement disponibles.

/apps/gdm/simple-greeter/wm_use_compiz
false (faux, booléen)

Contrôle si Compiz est utilisé comme gestionnaire de fenêtres au lieu de Metacity.

V.VI. Configuration de l'accessibilité

Cette section décrit les options de configuration de l'accessibilité disponibles dans GDM.

V.VI.I. Dialogue d'accessibilité GDM et clés GConf

Le panneau d'accueil GDM sur l'écran de connexion affiche une icône d'accessibilité. Un clic sur cette icône ouvre la boîte de dialogue d'accessibilité GDM. Dans cette boîte de dialogue figure une liste de cases à cocher permettant d'activer ou de désactiver les outils d'accessibilité correspondants.

Les cases à cocher correspondant aux outils d'accessibilité clavier visuel, loupe d'écran et lecteur d'écran agissent sur les trois clés GConf qui sont décrites dans la section suivante de ce document. En activant ou désactivant ces cases à cocher, la clé GConf associée est mise à « true » (vrai) ou « false » (faux). Quand la valeur de la clé est « true », l'outil d'accessibilité lié à cette clé GConf est lancé. Quand la valeur de la clé est « false », tous les outils d'accessibilité liés à cette clé sont arrêtés. Ces clés GConf ne sont pas automatiquement réinitialisées à un état par défaut après la connexion de l'utilisateur. Par conséquent, les outils d'accessibilité qui fonctionnaient durant la précédente session GDM seront automatiquement lancés lors de la prochaine session de connexion GDM.

Les autres cases à cocher dans la boîte de dialogue d'accessibilité de GDM n'ont pas de correspondance avec des clés GConf car aucun programme supplémentaire n'est démarré pour fournir les fonctions d'accessibilité qu'elles offrent. Ces autres options correspondent à des fonctions d'accessibilité qui sont fournies par le serveur X, qui est toujours lancé pendant la session GDM.

V.VI.II. Clés GConf sur l'accessibilité

GDM offre les clés GConf suivantes pour contrôler ses fonctions d'accessibilité :

Clés de configuration GDM
/desktop/gnome/interface/accessibility
false (faux, booléen)

Contrôle si l'infrastructure d'accessibilité est lancée avec l'interface graphique de GDM. Ceci est nécessaire pour que la plupart des programmes d'accessibilité puissent fonctionner.

/desktop/gnome/applications/at/screen_magnifier_enabled
false (faux, booléen)

Si activé, les outils d'accessibilité liés à cette clé GConf sont lancés avec le programme d'interface graphique GDM. Par défaut, c'est une application de loupe d'écran.

/desktop/gnome/applications/at/screen_keyboard_enabled
false (faux, booléen)

Si activé, les outils d'accessibilité liés à cette clé GConf sont lancés avec le programme d'interface graphique GDM. Par défaut, c'est une application de clavier visuel.

/desktop/gnome/applications/at/screen_reader_enabled
false (faux, booléen)

Si activé, les outils d'accessibilité liés à cette clé GConf sont lancés avec le programme d'interface graphique GDM. Par défaut, c'est une application de lecteur d'écran.

V.VI.III. Liaison des Clés GConf avec les Outils d'accessibilité

Pour les clés GConf « screen_magnifier_enabled », « screen_keyboard_enabled » et « screen_reader_enabled », l'outil d'accessibilité qui est lancé dépend des fichiers desktop situés dans le répertoire de démarrage automatique de GDM, tel que décrit dans la section « Configuration du démarrage automatique » de ce manuel. Tout fichier desktop dans le répertoire de démarrage automatique de GDM peut être lié à une de ces clés GConf en indiquant cette clé GConf dans la valeur AutostartCondition du fichier desktop. Par exemple, la ligne AutostartCondition peut être une des suivantes :

AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_magnifier_enabled
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_reader_enabled

Quand une clé d'accessibilité vaut « true », tous les programmes qui sont liés à cette clé dans un fichier desktop du démarrage automatique GDM seront lancés (sauf si la clé « Hidden » vaut « true » dans ce fichier desktop). Une seule clé GConf peut aussi démarrer plusieurs outils d'accessibilité si plusieurs fichiers desktop ont cette ligne « AutostartCondition » dans le répertoire de démarrage automatique de GDM.

V.VI.IV. Exemple de modification de la configuration d'un outil d'accessibilité

Par exemple, si GNOME est distribué avec GOK comme clavier visuel par défaut, ce dernier pourrait être remplacé par un autre programme, si désiré. Pour remplacer GOK par le clavier visuel « onboard » et de plus activer l'outil d'accessibilité « mousetweaks » pour le clic par maintien, la configuration suivante est nécessaire.

Créez un fichier desktop pour onboard et un autre pour mousetweaks, par exemple onboard.desktop et mousetweaks.desktop. Ces fichiers doivent être placés dans le répertoire de démarrage automatique GDM et être dans le format documenté dans la section « Configuration du démarrage automatique » de ce document.

Voici un exemple de fichier onboard.desktop :

[Desktop Entry]
Encoding=UTF-8
Name=Clavier visuel Onboard
Comment=Utiliser un clavier visuel
TryExec=onboard
Exec=onboard --size 500x180 -x 20 -y 10
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Accessibility;
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Voici un exemple de fichier mousetweaks.desktop :

[Desktop Entry]
Encoding=UTF-8
Name=Clics de souris logiciels
Comment=Effectue des clics en maintenant le curseur immobile
TryExec=mousetweaks
Exec=mousetweaks --enable-dwell -m window -c -x 20 -y 240 
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Accessibility;
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Remarquez la ligne AutostartCondition qui lie les deux fichiers desktop à la clé GConf du clavier visuel.

Pour désactiver le démarrage de GOK, le fichier desktop du clavier visuel GOK doit être supprimé ou désactivé. Sinon, onboard et GOK seront lancés simultanément. Ceci peut être fait en supprimant le fichier gok.desktop du répertoire de démarrage automatique GDM ou en ajoutant la clé « Hidden=true » dans le fichier gok.desktop.

Après avoir effectué ces modifications, GOK ne sera plus démarré quand l'utilisateur active le clavier visuel dans la session GDM ; mais onboard et mousetweaks seront lancés à la place.

V.VII. Paramètres généraux de la session

La bannière d'accueil de GDM utilise en partie le même environnement que la session de bureau. Elle est de ce fait liée à plusieurs paramètres GConf identiques. Pour chacun de ces paramètres, la bannière d'accueil utilise la valeur par défaut sauf si elle est supplantée par a) une règle GDM obligatoire b) une règle système obligatoire. GDM installe ses propres règles obligatoires pour sécuriser certains paramètres.

V.VIII. Service des paramètres GNOME

GDM active les greffons « gnome-settings-daemon » suivants : a11y-keyboard, background, sound, xsettings.

Ils sont responsables des aspects tels que l'image d'arrière-plan, les paramètres de police et du thème, les événements sonores, etc.

Les greffons peuvent aussi être désactivés à l'aide de GConf. Par exemple, si vous souhaitez désactiver le greffon du son, désactivez la clé suivante : /apps/gdm/simple-greeter/settings-manager-plugins/sound/active.

V.IX. Configuration de la session GDM

Les sessions GDM utilisent les spécifications d'entrée de bureau de FreeDesktop.org, qui sont référencées à l'adresse suivante : http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Par défaut, GDM installe les fichiers desktop dans le répertoire <share>/xsessions. GDM cherche les fichiers desktop dans les répertoires suivants et dans cet ordre : <etc>/X11/sessions/, <dmconfdir>/Sessions, <share>/xsessions et <share>/gdm/BuiltInSessions. Par défaut, <dmconfdir> est défini à <etc>/dm/, pour autant que GDM ne soit pas configuré pour utiliser un autre répertoire par l'option « --with-dmconfdir ».

Il est possible de désactiver une session en modifiant son fichier desktop et en ajoutant une ligne comme suit : Hidden=true.

Les fichiers desktop de GDM prennent en charge une extension spécifique à GDM, une clé nommée « X-GDM-BypassXsession ». Si la clé n'est pas spécifiée dans un fichier desktop, la valeur par défaut est définie comme « false ». Si cette clé est spécifiée comme « true » dans un fichier desktop, GDM lance le programme mentionné dans la clé « Exec » du fichier desktop dès qu'un utilisateur démarre une session. Le programme n'est pas lancé via le script <etc>/gdm/Xsession, qui est le comportement normal. Comme le fait d'ignorer le script <etc>/gdm/Xsession évite de configurer la session de l'utilisateur avec les paramètres habituels système et utilisateur, les sessions démarrées de cette façon peuvent être utiles pour investiguer les problèmes dans les scripts système ou utilisateur qui pourraient empêcher un utilisateur de démarrer une session.

V.X. Configuration GDM de la session utilisateur et de la langue

La session par défaut et le choix de langue de l'utilisateur sont stockés dans le fichier ~/.dmrc. Lorsqu'un utilisateur se connecte pour la première fois, ce fichier est créé avec ses choix initiaux. L'utilisateur peut simplement changer ces valeurs par défaut en les modifiant lors de la connexion. GDM mémorise ces changements pour les connexions suivantes.

Le fichier ~/.dmrc est au format INI standard. Il contient une section nommée [Desktop] ayant deux clés : Session et Language.

La clé Session indique le nom de base du fichier de session .desktop que l'utilisateur souhaite normalement utiliser, sans l'extension .desktop. La clé Language indique la langue que l'utilisateur souhaite utiliser par défaut. Si l'une des clés est manquante, c'est la valeur par défaut du système qui est utilisée. Le fichier ressemble habituellement à ceci :

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