# Configuration du Gestionnaire de connexion

Le Gestionnaire de connexion est le serveur
qui permet l'affichage de l'écran de connexion, l'identification des utilisateurs
et le lancement des sessions
. Sur les écrans graphiques, la fenêtre de connexion représente une variante plus conviviale de la connexion habituelle en mode caractère. Les écrans gérés par le serveur de connexion peuvent être connectés soit directement à ce dernier,
soit à un terminal X ou à une station de travail du réseau.

Seul l'utilisateur root peut lancer, arrêter ou personnaliser le serveur de connexion.

SAG.LogMg.mkr.3
SAG.LogMg.mkr.4
SAG.LogMg.mkr.7
SAG.LogMg.mkr.8
SAG.LogMg.mkr.11
SAG.LogMg.mkr.13
SAG.LogMg.mkr.14

Le serveur de connexion peut effectuer les opérations suivantes
:

- affichage d'une fenêtre de connexion sur les écrans graphiques (locaux ou éloignés), automatiquement ou sur demande

- prise en charge des terminaux à caractères en connexion directe

- affichage d'un écran permettant aux utilisateurs de sélectionner les fenêtres de connexion provenant d'autres serveurs du réseau

- contrôle de l'accès à ce serveur de connexion

- affichage de l'invite traditionnelle de connexion en mode caractère

Les écrans gérés par le Gestionnaire de connexion peuvent être connectés soit directement au serveur sur lequel il s'exécute, soit à un terminal X ou à une station de travail du réseau. Sur les écrans locaux, le serveur de connexion lance automatiquement un serveur X et affiche une fenêtre de connexion. Dans le cas des écrans éloignés, tels que les terminaux X, il supporte le protocole XDMCP (X Display Manager Protocol),
version 1.0, qui permet aux écrans de demander l'affichage de la fenêtre de connexion.

## Lancement du serveur de connexion

Généralement,
le serveur de connexion est lancé à l'amorçage du système. Vous pouvez cependant
le lancer à partir de la ligne de commande.

- Pour effectuer le lancement à l'amorçage du système, tapez `/usr/dt/bin/dtconfig -e`

  Le serveur de connexion démarrera automatiquement au prochain lancement du système.

- Pour lancer le serveur de connexion à partir de la ligne de commande, tapez `/usr/dt/bin/dtlogin -daemon`

N'utilisez le lancement à partir de la ligne de commande qu'à des fins de test de la configuration. En mode de fonctionnement normal, choisissez le lancement à l'amorçage.

## Gestion des écrans locaux et éloignés

La SAG.LogMg.mkr.5 montre un exemple de configuration du serveur de connexion.

### Configuration type du serveur de connexion

### Recherche de l'ID processus
du serveur de connexion

Par défaut, l'ID processus du serveur de connexion est mémorisé dans le fichier `/var/dt/Xpid`.

Pour modifier son emplacement, utilisez la ressource `Dtlogin.pidFile` du fichier `Xconfig`.
Le répertoire indiqué doit exister au lancement du serveur de connexion.

Pour éditer le fichier `Xconfig`, copiez-le de `/usr/dt/config` dans `/etc/dt/config` `.` Une fois la modification effectuée (dans `/etc/dt/config/Xconfig`), entrez la commande suivante pour que le serveur de connexion relise `Xconfig`:

    /usr/dt/bin/dtconfig -reset

Cette opération lance la commande `kill -HUP` ID_processus_serveur_connexion.

Par exemple, pour placer l'ID processus du serveur de connexion dans `/var/mes_serveurs/Dtpid`, définissez le paramètre suivant dans le fichier `Xconfig`:

    Dtlogin.pidFile: /var/mes_serveurs/Dtpid

Au prochain lancement du serveur de connexion, son ID processus sera placé dans `/var/mes_serveurs/Dtpid`
(le répertoire `/var/mes_serveurs` doit exister lors du redémarrage du serveur de connexion).

### Affichage d'une fenêtre de connexion sur un écran local

Au lancement, le serveur de connexion vérifie dans le fichier `Xservers`
si un serveur X doit être lancé localement. Il détermine également le nombre et le type des fenêtres de connexion à afficher sur des écrans locaux ou éloignés.

Pour modifier le fichier `Xservers`, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Une fois la modification effectuée (dans `/etc/dt/config/Xservers`), entrez la commande suivante pour que le serveur de connexion relise `Xservers`:

    /usr/dt/bin/dtconfig -reset

Cette opération lance la commande `kill -HUP` ID_processus_serveur_connexion.

Le format des lignes du fichier `Xservers` est le suivant:

    nom_écran classe_écran type_écran commande_serveur_X

où

nom_écran | Indique au serveur de connexion le nom à utiliser lors de l'accès au serveur X (dans l'exemple ci-dessous, :0). Si vous entrez un astérisque, la valeur nom_hôte:0 est prise en compte. Le numéro indiqué doit correspondre à celui de commande_serveur_X.
classe_écran | Identifie les ressources spécifiques de l'écran (`Local` dans l'exemple qui suit).
type_écran | Indique au serveur de connexion si l'écran est local ou éloigné, et définit le mode de traitement de l'option Connexion à partir de la ligne de commande de l'écran de connexion (`local@console` dans l'exemple suivant).
commande_serveur_X | Définit la commande, le numéro de connexion et les autres options utilisées par le serveur de connexion pour lancer le serveur X (`/usr/bin/X11/X:` `0` dans l'exemple ci-dessous). Le numéro de connexion indiqué doit correspondre à celui de nom_écran. Lorsque des applications graphiques 3D doivent être affichées dans l'environnement CDE sur l'écran local, il est nécessaire d'ajouter ici les options adéquates du serveur X (par exemple, `-xmbx -xabx -x...`). Pour plus de détails, reportez-vous à la description de la commande X.

Par défaut, les lignes du fichiers `Xservers` ont le format suivant:

    :0 Local local@console /usr/bin/X11/X :0

### Lancement du serveur de connexion sans écran local

Si le système sur lequel s'exécute le serveur de connexion ne dispose pas d'un
écran graphique, lancez le serveur de connexion sans écran local.
Pour ce faire, mettez en commentaire la ligne du fichier `Xservers`
associée à l'écran local, en la faisant précéder du signe dièse (`#`). Par exemple:

    # :0 Local local@console /usr/bin/X11/X :0

Une fois lancé, le serveur de connexion s'exécute en arrière-plan, attendant les requêtes émises par les écrans du réseau.

### Connexion à partir de la ligne de commande sur un écran local

Lorsque l'utilisateur sélectionne “Connexion à partir de la ligne de commande”
dans le menu “Options” de la fenêtre de connexion, le serveur de connexion arrête provisoirement le serveur X local et l'invite de connexion en mode caractères s'affiche. Le serveur X est relancé lorsque la connexion prend fin ou au terme d'un délai donné.

L'option
“Connexion à partir de la ligne de commande” n'est pas disponible sur les écrans en réseau.

Le paramètre type_écran définit le type de connexion. Son format est le suivant:

- `local@`écran

- `
  local`

- `
  foreign`

Lorsque `local@`écran est indiqué, le serveur de connexion considère que le serveur X et `/dev/`écran résident sur la même unité physique, sur laquelle une connexion à partir de la ligne de commande (généralement, `getty`) s'exécute. Lorsque l'utilisateur sélectionne Connexion à partir de la ligne de commande, le serveur X est arrêté, ce qui autorise l'accès à la procédure de connexion à partir de la ligne de commande (`getty`) en cours sur `/dev/`écran.

Pour désactiver l'option de connexion à partir de la ligne de commande sur un écran, indiquez la valeur `none` pour écran (la valeur par défaut est `console`). Si vous indiquez `local`, la valeur par défaut devient `console`. Si vous indiquez `foreign`, l'option de connexion à partir de la ligne de commande est désactivée.

La désactivation sera effective sur l'écran local au prochain lancement du serveur de connexion à partir de la ligne de commande.

### Prise en charge d'une console à caractères

Si le système sur lequel s'exécute le serveur de connexion dispose d'une console de type terminal à caractères
, connectée directement au système, vous pouvez également attribuer la valeur `none` au paramètre écran pour désactiver la connexion à partir de la ligne de commande sur l'écran graphique.

Si une connexion à partir de la ligne de commande (`
getty`) est en cours à la fois sur le terminal à caractères (utilisé comme console) et sur l'écran graphique, vous pouvez attribuer à écran la valeur correspondant au terminal à caractères utilisé comme console, pour l'associer à l'écran graphique lors de la connexion à partir de la ligne de commande.

Par exemple, si la connexion à partir de la ligne de commande (`getty`) est en cours sur l'écran `/dev/tty01`, attribuez la valeur `local@tty01` à type_écran.

### Affichage d'un écran de connexion
sur un écran du réseau

Le serveur de connexion peut afficher un écran de connexion sur tout écran du réseau (terminal X ou station de travail) qui en fait la demande.

Pour gérer ce type de requête, le serveur de connexion utilise le protocole XDMCP (X Display Manager Protocol)
version 1.0, qui lui permet d'analyser les demandes, puis de les accepter ou de les rejeter. Sur la plupart des terminaux X, ce protocole est installé par défaut.

#### Requêtes XDMCP directe
s

Lorsque vous configurez un terminal X pour qu'il utilise XDMCP en mode direct
(requête), vous lui indiquez le nom hôte du système sur lequel le serveur de connexion est installé. A l'amorçage, le terminal X se connecte au serveur, qui affiche une fenêtre de connexion sur le terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation relative au terminal X.

La plupart des serveurs X prennent également en charge l'option `-query`
. Dans ce mode, le serveur X se comporte comme un terminal X: il se connecte directement au serveur de connexion et demande l'affichage d'une fenêtre de connexion. Par exemple, si vous lancez le serveur X sur un écran graphique sur la station de travail `marina` et souhaitez que le serveur de connexion `nelly` affiche un écran de connexion sur le serveur X, tapez la commande suivante :

    X -query nelly

#### Requêtes XDMCP indirecte
s

Lorsque vous configurez un terminal X pour qu'il utilise XDMCP en mode indirect, vous lui indiquez le nom hôte du système sur lequel le serveur de connexion est installé. A l'amorçage, le terminal X se connecte au serveur de connexion, qui affiche un écran de sélection contenant une liste des autres serveurs de connexion du réseau. L'utilisateur peut alors choisir un hôte qui affiche une fenêtre de connexion sur son terminal X. Pour plus de détails sur cette configuration, reportez-vous à la documentation relative au terminal X.

La plupart des serveurs X prennent en charge le mode `-indirect`,
qui leur permet de se connecter au serveur de connexion en mode XDMCP indirect.

#### Gestion des écrans éloignés non XDMCP

Il est possible que XDMCP ne soit pas supporté sur les modèles de terminaux X les plus anciens. Pour que le serveur affiche un écran de connexion sur un terminal de ce type, indiquez son nom dans le fichier `Xservers`.

#### Exemple

Les lignes suivantes du fichier `Xservers` permettent au serveur de connexion d'afficher une fenêtre de connexion sur deux terminaux X non XDMCP, `ruby` et `wolfie` :

    ruby.blackdog.com:0 AcmeXsta foreign
    wolfie:0 PandaCo foreign

Etant donné que l'écran est relié au réseau, nom_écran comprend également le nom hôte. La valeur classe_écran peut être utilisée pour indiquer des ressources propres à une classe donnée de terminaux X (pour plus de détails, reportez- vous à la documentation relative à votre terminal X). La valeur `foreign` pour type_écran indique au serveur de connexion de se connecter à un serveur X existant plutôt que d'en lancer un nouveau. Dans ce cas, il est inutile d'indiquer une commande de type commande_serveur_X.

### Contrôle de l'accès au
serveur de connexion

Par défaut, tout hôte du réseau ayant accès au serveur de connexion peut demander l'affichage d'un écran de connexion. Pour limiter l'accès à votre serveur de connexion, modifiez le fichier `Xaccess`
.

Pour ce faire, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Une fois la modification effectuée (dans`/etc/dt/config/Xaccess`), entrez la commande suivante pour que le serveur de connexion relise `Xaccess`:

    /usr/dt/bin/dtconfig -reset

Cette opération lance la commande `kill -HUP` ID_processus_serveur_connexion.

#### Connexion directe via XDMCP

Lorsqu'un système hôte ou un terminal X tente de se connecter directement au serveur de connexion
via XDMCP, son nom est comparé aux
entrées du fichier `Xaccess`, afin de déterminer s'il est autorisé à effectuer cette opération. Les entrées de ce fichier sont des noms hôtes, dans lesquels les caractères génériques `*` (astérisque) et `?` (point d'interrogation) sont autorisés. L'astérisque représente zéro ou plusieurs caractères et le point d'interrogation, un caractère quelconque. Un nom hôte précédé d'un point d'exclamation (`!`) est inaccessible. Si aucun point d'exclamation n'est indiqué, il est accessible.

Par exemple, si le fichier `Xaccess` contient les entrées suivantes:

    amazone.waterloo.com
    *.serv5.waterloo.com
    !*

La première entrée signifie que le système hôte `amazone.waterloo.com` a accès au serveur de connexion, tout comme les hôtes dont le nom de domaine se termine par `serv5.waterloo.com` (deuxième entrée), et la troisième entrée signifie que l'accès est interdit à tous les autres hôtes.

#### Connexion indirecte via XDMCP

Lorsqu'un système hôte tente de se connecter indirectement au serveur de connexion
via XDMCP, son nom est comparé aux entrées du fichier `Xaccess`, afin de déterminer s'il est autorisé à effectuer cette opération. Ces entrées sont semblables à celles décrites dans la section précédente (les caractères génériques sont également autorisés), si ce n'est qu'elles sont associées à une
`chaîne
` CHOOSER. Par exemple:

    amazone.waterloo.com CHOOSER BROADCAST
    *.serv5.waterloo.com CHOOSER BROADCAST
    !*     CHOOSER BROADCAST

Comme indiqué précédemment, la première entrée signifie que le système hôte `amazone.waterloo.com` a accès au serveur de connexion, tout comme les hôtes dont le nom de domaine se termine par `serv5.waterloo.com` (deuxième entrée), et la troisième entrée signifie que l'accès est interdit à tous les autres hôtes.

L'une des valeurs suivantes peut être indiquée après la chaîne `CHOOSER`
:

- `
  BROADCAST`

- Liste de noms hôtes

`BROADCAST` indique au serveur de connexion qu'une liste des hôtes serveurs de connexion disponibles sur le sous-réseau doit être établie. Cette liste doit être utilisée par le serveur de connexion pour désigner les hôtes de connexion disponibles. Par exemple:

    amazone.waterloo.com CHOOSER shoal.waterloo.com alum.waterloo.com
    *.serv5.waterloo.com CHOOSER BROADCAST
    !* CHOOSER BROADCAST

Si `amazone.waterloo.com` se connecte indirectement via XDMCP, une liste contenant `shoal` et `alum` lui est proposée. Si `alice.serv5.waterloo.com` se connecte, une liste contenant tous les hôtes serveurs de connexion disponibles sur le sous-réseau du serveur de connexion lui est présentée. Les autres requêtes indirectes XDMCP seront rejetées.

Vous avez également la possibilité de définir une ou plusieurs macros contenant la liste de noms hôtes. Par exemple:

    %liste1 shoal.waterloo.com alum.waterloo.com
    amazone.waterloo.com CHOOSER %liste1

## Consignation des erreurs

Par défaut, le serveur de connexion enregistre les erreurs dans le fichier
`/var/dt/Xerrors`. Pour indiquer un autre fichier, modifiez la ressource `Dtlogin.errorLogFile` dans le fichier `Xconfig`. Le répertoire spécifié doit exister au lancement du serveur de connexion.

Par exemple, pour que les erreurs soient consignées dans le fichier `/var/mes_erreurs/Dterrors`, définissez la ressource suivante dans `Xconfig`:

    Dtlogin.errorLogFile: /var/mes_erreurs/Dterrors

Au prochain lancement du serveur de connexion, les erreurs seront enregistrées dans le fichier `/var/mes_erreurs/Dterrors`
(le répertoire `/var/mes_erreurs` doit exister au redémarrage du serveur de connexion).

## Arrêt du serveur de connexion

- Pour que le serveur de connexion
  ne soit pas lancé lors de l'amorçage du système, entrez:

  `/usr/dt/bin/dtconfig -d`

  Cette commande indique que le serveur de connexion ne devra pas être lancé au prochain amorçage du système.

- Pour arrêter le serveur de connexion par son ID processus, entrez:

  `/usr/dt/bin/dtconfig -kill`

  Cette opération lance la commande `kill` ID_processus_serveur_connexion.

Lorsque vous supprimez
le processus serveur de connexion, toutes les sessions utilisateur gérées par ce serveur sont arrêtées.

Vous pouvez également lancer directement la commande kill sur l'ID processus (au lieu de l'exécuter indirectement, comme dans l'exemple précédent). L'ID processus du serveur de connexion est stocké dans `/var/dt/Xpid` ou dans le fichier indiqué par la ressource `Dtlogin.pidFile` du fichier `Xconfig`.

Si vous êtes connecté au Bureau lorsque vous arrêtez le serveur de connexion, la session prend fin immédiatement.

## Fenêtre de connexion

La fenêtre affichée par le serveur de connexion est une variante plus conviviale de l'invite de connexion en mode caractère. Elle permet en outre d'effectuer un plus grand nombre d'opérations.

### Fenêtre de connexion au Bureau

Comme avec l'invite en mode caractère, l'utilisateur doit taper son nom et son mot de passe. Si la vérification d'identité aboutit, le serveur de connexion ouvre une session de Bureau. Lorsque l'utilisateur met fin à cette session, une nouvelle fenêtre de connexion s'affiche.

Pour personnaliser la fenêtre de connexion, vous pouvez
:

- modifier sa présentation

- configurer les droits d'accès au serveur X

- modifier la langue par défaut

- exécuter des commandes avant l'affichage de l'écran de connexion

- modifier les options du menu Langue

- indiquer la commande de lancement de la session utilisateur

- exécuter des commandes avant l'ouverture de la session utilisateur

- exécuter des commandes après la fermeture de la session utilisateur

Ces opérations peuvent être effectuées sur tous les écrans.

## Modification de la présentation de la fenêtre de connexion

Vous pouvez
modifier le logo ou l'image, les messages de bienvenue et les polices.

Pour éditer le fichier `Xresources`, copiez-le de `/usr/dt/config/`langue dans `/etc/dt/config/`langue. Les modifications seront prises en compte au prochain affichage de la fenêtre de connexion. Pour que les modifications soient prises en compte immédiatement, sélectionnez “Restauration de la fenêtre de connexion” dans le menu “Options”.

Les paramètres de la fenêtre de connexion et les ressources du fichier `Xresources` permettant de les définir sont les suivants:

`Dtlogin*logo*bitmapFile` | Fichier bitmap ou pixmap à utiliser comme logo.
`Dtlogin*greeting*labelString` | Message de bienvenue.
`Dtlogin*greeting*persLabelString` | Message de bienvenue personnalisé.
`Dtlogin*greeting*fontList` | Police des messages de bienvenue.
`Dtlogin*labelFont` | Police des boutons de fonction et des libellés.
`Dtlogin*textFont` | Police de l'aide et des messages d'erreur.
`Dtlogin*`langue`*languageName` | Autre nom pour l'environnement local (langue).

### Modification du logo

- Définissez la ressource `Dtlogin*logo*bitmapFile` dans le fichier `Xresources`.

  Le logo peut être un fichier pixmap en couleur ou un fichier bitmap.

Dans l'exemple suivant, le fichier bitmap `mon_logo` est utilisé comme logo:

    Dtlogin*logo*bitmapFile: /usr/local/lib/X11/dt/bitmaps/mon_logo.bm

### Modification du message de bienven
ue

Par défaut, le serveur de connexion affiche dans la fenêtre de connexion le message `Bienvenue sur nom_hôte`. Pour modifier ce texte:

- Définissez la ressource `Dtlogin*greeting*labelString` dans le fichier `Xresources`.

  Les valeurs de cette ressource peuvent être %LocalHost% (nom hôte du serveur de connexion) et %DisplayName% (nom d'écran du serveur X).

L'exemple suivant permet de modifier le message de bienvenue en `Vous êtes sur nom_hôte!` :

    Dtlogin*greeting*labelString: Vous êtes sur %LocalHost%!

Une fois que l'utilisateur a entré son nom, le serveur de connexion affiche le message par défaut `Bienvenue` nom_utilisateur. Pour modifier ce message, définissez la ressource `Dtlogin*greeting*persLabelString` dans le fichier `Xresources`. La valeur de cette ressource peut être %s (nom de l'utilisateur).

L'exemple suivant permet de modifier le message de bienvenue en `Bonjour nom_utilisateur`:

    Dtlogin*greeting*persLabelString: Bonjour %s

### Modification des
polices

Pour personnaliser les polices de la fenêtre de connexion, définissez l'une des ressources ci-dessous dans le fichier `Xresources`.

Pour afficher la liste des polices disponibles, entrez:

    xlsfonts [-options] [-fn forme]

`Dtlogin*greeting*fontList` | Police des messages de bienvenue.
`Dtlogin*labelFont` | Police des boutons de fonction et des libellés.
`Dtlogin*textFont` | Police de l'aide et des messages d'erreur.

L'exemple suivant de définir une police plus grande pour les messages de bienvenue (la valeur indiquée doit tenir sur une seule ligne):

    Dtlogin*greeting*fontList: -dt-interface system-medium-r-normal-xxl*-*-*-*-*-*-*-*-*:

#### Affichage d'un texte
à la place du nom de l'environnement local

Pour définir une chaîne de caractères à afficher dans le menu Langue de la fenêtre de connexion, à la place du nom de l'environnement local (affiché par défaut), modifiez la ressource `Dtlogin*`langue`*languageName` dans le fichier `Xresources`:

    Dtlogin*Fr_FR*languageName: Français

Le nom de l'environnement local `Fr_FR` sera remplacé par la chaîne `Français`.

#### Modification du comportement
de la fenêtre de connexion

Pour personnaliser le comportement de l'écran de connexion, modifiez les ressources du fichier `Xconfig`.

Pour éditer le fichier `Xconfig`, copiez-le de `/usr/dt/config` dans `/etc/dt/config` `.` Une fois la modification effectuée (dans `/etc/dt/config/Xconfig`), entrez la commande suivante pour que le serveur de connexion relise `Xconfig`:

    /usr/dt/bin/dtconfig -reset

Cette opération lance la commande `kill -HUP` ID_processus_serveur_connexion.

Les ressources définies dans le fichier `Xconfig` comprennent
:

`Dtlogin*authorize` | `Spécification du fichier` `Xaccess`.
`Dtlogin*environment` | Environnement du serveur X.
`Dtlogin*language` | Langue par défaut.
`Dtlogin*languageList` | Liste de langues pour le menu Langue de la fenêtre de connexion.
`Dtlogin*resources` | Spécification du fichier `Xresources`.
`Dtlogin*setup` | Spécification du fichier `Xsetup`.
`Dtlogin*startup` | Spécification du fichier `Xstartup`.
`Dtlogin*session` | Spécification du fichier `Xsession`.
`Dtlogin*failsafeClient` | Spécification du script `Xfailsafe`.
`Dtlogin*reset` | Spécification du script `Xreset`.
`Dtlogin*userPath` | Variable PATH pour `Xsession` et `Xfailsafe.`
`Dtlogin*systemPath` | Variable PATH pour `Xsetup`, `Xstartup` et `Xfailsafe.`
`Dtlogin*systemShell` | Variable SHELL pour `Xsetup`, `Xstartup` et `Xfailsafe.`
`Dtlogin.timeZone` | Variable TZ pour les scripts.

### Modification du comportement de la fenêtre de connexion pour certains écrans

Dans les exemples ci-dessous, la personnalisation de la ressource `Xconfig` entraîne la modification du comportement de la fenêtre de connexion sur tous les écrans. Les ressources comportant un astérisque peuvent être définies pour certains écrans seulement. Une ressource associée à un écran donné doit être indiquée sous la forme `Dtlogin*nom_écran*ressource`. Par exemple, pour désactiver le contrôle d'accès utilisateur pour l'écran `expo:0` uniquement, entrez:

    Dtlogin*expo_0*authorize: False

Les caractères spéciaux indiqués dans le nom de l'écran, tels que les deux points (:) ou le point (.) sont remplacés par des caractères de soulignement (_).

### Modification de l'accès
au serveur
X

Par défaut, le contrôle d'accès au serveur X s'effectue utilisateur par utilisateur, en fonction des données mémorisées et protégées dans le fichier Rép_personnel`/.Xauthority`. Seuls les utilisateurs autorisés à lire ce fichier ont accès au serveur X. Il s'agit de la méthode de contrôle la plus utilisée.

Il est également possible de contrôler l'accès au serveur X hôte par hôte: tout utilisateur d'un système hôte autorisé à accéder au serveur X peut se connecter à ce dernier. Les raisons susceptibles de vous amener à choisir cette solution sont les suivantes:

- les clients X R2 et R3 ne supportent pas la connexion au serveur X à l'aide de la première méthode

- sur les réseaux non sécurisés, les données échangées entre le client et le serveur X peuvent être interceptées par des personnes non autorisée

La ressource `Xconfig Dtlogin*authorize`
indique au serveur de connexion de contrôler l'accès au serveur X utilisateur par utilisateur. Pour utiliser la méthode de contrôle d'accès “par hôte”, attribuez la valeur `False` à la ressource `authorize`:

    Dtlogin*authorize: False

#### Modification de l'environnement du
serveur
X

Pour affecter au serveur X une ou plusieurs variables d'environnement, lors de son lancement par le serveur de connexion, vous pouvez définir la ressource `Dtlogin*environment` du fichier `Xconfig`. Par exemple:

    Dtlogin*environment: VAR1=foo VAR2=bar

Cette ressource permet au serveur X local de bénéficier des variables `VAR1` et `VAR2`. Celles-ci seront également exportées vers les scripts `Xsession` et `Xfailsafe`.

#### Modification de la
langue par défaut

Lorsqu'un utilisateur ouvre une session de Bureau à partir de la fenêtre de connexion, celle-ci s'exécute dans l'environnement local sélectionné dans le sous-menu Langue du menu Options. Si aucune langue n'est sélectionnée, la langue par défaut du serveur est utilisée. Pour modifier la langue par défaut, utilisez la ressource `Dtlogin*language
` du fichier `Xconfig`. Par exemple:

    Dtlogin*language: En_US

Pour connaître les langues installées sur votre système, consultez la documentation correspondante.

#### Modification du menu Langue de la fenêtre de
connexion

Par défaut, le serveur de connexion crée un menu Langue contenant la liste des environnement locaux installés sur le système. Lorsque l'utilisateur sélectionne un environnement local, le serveur de connexion réaffiche l'écran de connexion dans la langue correspondante. La prochaine session de l'utilisateur s'exécutera également dans cet environnement.

Pour définir votre propre liste de langues, modifiez la ressource `Dtlogin*languageList` dans le fichier `Xconfig` :

    Dtlogin*languageList: En_US De_DE

Une fois la modification effectuée, le menu Langue de l'écran de connexion ne contient plus que les langues indiquées ( `En_US` et `De_DE`).

### Exécution de commande avant l'affichage de la fenêtre de connexion

Une fois le serveur X lancé, mais avant l'affichage de la fenêtre de connexion, le serveur de connexion exécute le script `Xsetup`.
Celui-ci dispose des droits d'accès de niveau root; il lance des commandes devant être exécutées avant l'affichage de l'écran de connexion.

Pour modifier `Xsetup`, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Les modifications seront prises en compte au prochain affichage de la fenêtre de connexion.

#### Exécution de commande avant l'ouverture de la session utilisateur

Une fois que l'utilisateur a entré son nom et son mot de passe et que son identité a été vérifiée, mais avant qu'une session ne soit lancée, le serveur de connexion exécute le script `Xstartup`.
Celui-ci dispose des droits d'accès de niveau root; il lance des commandes à exécuter avant l'ouverture de la session utilisateur.

Pour modifier le fichier `Xstartup`, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Les modifications entreront en vigueur à la prochaine connexion de l'utilisateur.

#### Lancement d'une session de Bureau

Par défaut, pour ouvrir une session utilisateur, le serveur de connexion exécute le script `Xsession`.
Celui-ci dispose des droits d'accès de niveau root; il exécute les commandes nécessaires au lancement du Bureau.

Le script `Xsession` ne doit pas être modifié manuellement.

Pour plus de détails sur la personnalisation du lancement des sessions utilisateur, reportez-vous au SAG.SesMg.mkr.1.

### Ouverture d'une session monofenêtre

Lorsque l'utilisateur sélectionne Session monofenêtre
dans le sous-menu Sessions du menu Options de la fenêtre de connexion, le serveur de connexion lance le script `Xfailsafe
`. Celui-ci dispose des droits d'accès root et exécute les commandes permettant de lancer un environnement à fenêtrage minimal (à savoir, une fenêtre de terminal et, éventuellement, un Gestionnaire de fenêtres).

Pour modifier le fichier `Xfailsafe`, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Les modifications seront prises en compte à la prochaine connexion de l'utilisateur.

### Fin de la session utilisateur

Une fois la session de Bureau ou monofenêtre terminée, le serveur de connexion exécute le script `Xreset`.
Celui-ci dispose des droits d'accès de niveau root; il lance des commandes à exécuter à la fin de la session utilisateur.

Pour modifier le fichier `Xreset`, copiez-le de `/usr/dt/config` dans `/etc/dt/config`. Les modifications seront prises en compte à la prochaine connexion de l'utilisateur.

### Environnement du serveur de connexion

L'environnement fourni par le serveur X est exporté vers les scripts `Xsetup`, `Xstartup`, `Xsession`, `Xfailsafe` et `Xreset`. Le SAG.LogMg.mkr.12 fournit une description de cet environnement. Des variables supplémentaires peuvent également être exportées par le serveur de connexion.

### Environnement du serveur de connexion

`Variable` `d'environnement` | ``Xsetup`` | ``Xstartup`` | `Xfailsafe` | ``Xreset`` | `Description`
`LANG` | X | X | X | X | Langue par défaut ou langue sélectionnée
`XAUTHORITY` | X | X | X | X | Fichier d'autorisations X secondaire (facultatif)
`PATH` | X | X | X | X | Valeur de la ressource `Dtlogin*userPath` (`Xsession`, `Xfailsafe`) ou `Dtlogin*systemPath` (`Xsetup`, `Xstartup`, `Xreset`)
`DISPLAY` | X | X | X | X | Nombre de connexions au serveur X
`SHELL` | X | X | X | X | Shell spécifié dans le fichier `/etc/passwd` (`Xsession`, `Xfailsafe`) ou par la ressource `Dtlogin*systemShell` (`Xsetup`, `Xstartup`, `Xreset` )
`TZ` | X | X | X | X | Valeur de la ressource `Dtlogin.timeZone` ou fuseau horaire déterminé par le système
`USER` |  | X | X | X | Nom d'utilisateur
`HOME` |  | X | X | X | Répertoire personnel spécifié dans le fichier `/etc/passwd`
`LOGNAME` |  | X | X | X | Nom d'utilisateur

### Modification du chemin d'accès utilisateur ou système

Le serveur de connexion définit la variable d'environnement PATH
lors de l'exécution des scripts `Xsession`
et `
Xfailsafe`. Vous pouvez indiquer un autre chemin d'accès pour ces scripts.

#### Chemin d'accès utilisateur

- Définissez la ressource `Dtlogin*userPath`
  dans le fichier `Xconfig`. Par exemple:

    Dtlogin*userPath:/usr/bin:/etc:/usr/sbin:/usr/ucb:/usr/bin/X11

#### Chemin d'accès système

- Définissez la ressource `Dtlogin*systemPath`
  dans le fichier `Xconfig`. Par exemple:

    Dtlogin*systemPath: /usr/bin/X11:/etc:/bin:/usr/bin:/usr/ucb

### Modification du shell système

Le serveur de connexion définit la variable d'environnement SHELL lors de l'exécution des scripts `Xsetup`, `Xstartup` et `Xfailsafe`.
Le shell par défaut est `/bin/sh`. Pour le modifier, définissez la ressource `Dtlogin*systemShell` dans le fichier `Xconfig`. Par exemple:

    Dtlogin*systemShell: /bin/ksh

### Modification du fuseau horaire

Le serveur de connexion définit la variable d'environnement TZ
lors de l'exécution des scripts `Xsetup`, `Xstartup`, `Xsession`, `Xfailsafe`, et `Xreset`. La valeur par défaut étant déterminée par le système, il n'est généralement pas
nécessaire de la modifier. Cependant, si vous souhaitez indiquer un autre fuseau horaire pour ces scripts, définissez la ressource `Dtlogin. timeZone`
dans le fichier `Xconfig`. Par exemple:

    Dtlogin.timeZone: CST6CDT

## Administration du Gestionnaire de connexion

Lors du démarrage du serveur de connexion, un processus `dtlogin` est lancé. Il lit le fichier `Xconfig` pour identifier la configuration initiale du serveur de connexion et localiser les autres fichiers de configuration. Le serveur de connexion lit ensuite les fichiers `Xservers` (indiquant les écrans qu'il doit gérer de façon explicite) et `Xaccess` (permettant de contrôler l'accès au Gestionnaire de connexion).

Si le serveur de connexion doit
gérer un écran local, il lance un serveur X, conformément aux instructions du fichier `Xservers`, puis affiche une fenêtre de connexion sur l'écran.

Si le serveur de connexion doit gérer un écran éloigné, il considère qu'un serveur X associé est déjà en cours d'exécution et affiche une fenêtre de connexion sur l'écran.

Ensuite, le serveur de connexion attend les requêtes XDMCP en provenance du réseau.

Pour chaque écran géré, le serveur de connexion crée un processus `dtlogin`. Par exemple, pour un serveur gérant n écrans, n+1 processus `dtlogin` seront lancés (car un processus dtlogin supplémentaire est lancé au démarrage du serveur de connexion). Tout d'abord, le serveur de connexion exécute le script `Xsetup`, puis il charge le fichier `Xresources`. Il lance ensuite `dtgreet` pour afficher l'écran de connexion. Lorsque l'utilisateur a entré son nom et son mot de passe, et que son identité a été vérifiée, le serveur de connexion exécute le script `Xstartup`, puis le script `Xsession` ou `Xfailsafe
`. Une fois la session terminée, le serveur de connexion lance le script `Xreset`.

Lorsqu'une requête
XDMCP indirecte parvient au serveur de connexion, il exécute `dtchooser` pour afficher la liste des hôtes serveurs de connexion disponibles sur l'écran. Celui-ci sera ensuite géré par le serveur de connexion de l'hôte sélectionné par l'utilisateur.

Par défaut, dans le cas des fichiers de configuration `Xaccess`, `Xconfig`, `Xfailsafe`, `Xreset`, langue`/Xresources`, `Xservers`, `Xsetup` et `Xstartup`, le serveur de connexion consulte tout d'abord `/etc/dt/config`, puis `/usr/dt/config`, et utilise le premier fichier détecté.

## Fichiers du Gestionnaire de connexion

Par défaut, les fichiers du Gestionnaire de connexion
se trouvent dans les répertoires suivants:

`/usr/dt/bin/dtlogin` | Serveur de connexion et Gestionnaire d'écran.
`/usr/dt/bin/dtgreet` | Affiche une fenêtre de connexion sur un écran.
`/usr/dt/bin/dtchooser` | Affiche une fenêtre de sélection sur un écran.
`/usr/dt/bin/Xsession` | Lance une session de Bureau.
`/usr/dt/config/Xfailsafe` | Lance une session monofenêtre.
`/usr/dt/config/Xconfig` | Fichier de configuration du serveur de connexion.
`/usr/dt/config/Xservers` | Fichier de description de l'écran du serveur de connexion.
`/usr/dt/config/Xaccess` | Fichier de description de l'accès au serveur de connexion.
`/usr/dt/config/`langue`/Xresources` | Ressources de présentation de l'écran.
`/usr/dt/config/Xsetup` | Fichier de configuration de l'écran.
`/usr/dt/config/Xstartup` | Fichier de lancement pré-session.
`/usr/dt/config/Xreset` | Fichier de rétablissement post-session.
`/var/dt/Xpid` | ID processus du Gestionnaire de connexion.
`/var/dt/Xerrors` | Journal des erreurs du serveur de connexion.