Suivant: , Précédent: , Monter: Services   [Table des matières][Index]


11.10.7 Système de fenêtrage X

La prise en chargue du système d’affichage graphique X Window — en particulier Xorg — est fournit par le module (gnu services xorg). Remarquez qu’il n’y a pas de procédure xorg-service. À la place, le serveur X est démarré par le gestionnaire de connexion, par défaut le gestionnaire d’affichage de GNOME (GDM).

GDM permet évidemment aux utilisateurs de se connecter et d’ouvrir un gestionnaire de fenêtre ou un gestionnaire d’environnement autre que GNOME ; pour ceux qui utilisent GNOME, GDM est requis pour certaines fonctionnalités comme l’écran de verrouillage automatique.

Pour utiliser X11, vous devez installer au moins un gestionnaire de fenêtre — par exemple les paquets windowmaker ou openbox — de préférence en l’ajoutant au champ packages de votre définition de système d’exploitation (voir system-wide packages).

GDM prend aussi en charge Wayland : il peut lui-même utiliser Wayland au lieu de X11 pour son interface utilisateur, et il peut aussi démarrer des sessions Wayland. Le premier est requis pour le second. Pour l’activer indiquez wayland? à #t dans gdm-configuration.

Variable :gdm-service-type

C’est le type pour le GNOME Desktop Manager (GDM), un programme qui gère les serveurs d’affichage graphique et qui gère les connexions graphiques des utilisateur·rice·s. Sa valeur doit être un gdm-configuration (voir ci-dessous).

GDM cherche des types de sessions définies par les fichiers .desktop dans /run/current-system/profile/share/xsessions (pour les session X11) et /run/current-system/profile/share/wayland-sessions (pour les sessions Wayland) et permet aux utilisateurs de choisir une session depuis l’écran de connexion. Les paquets comme gnmoe, xfce, i3 et sway fournissent des fichiers .desktop ; les ajouter à l’ensemble des paquets du système les rendra automatiquement disponibles sur l’écran de connexion.

En plus, les fichiers ~/.xsession sont pris en compte. Lorsqu’il est disponible, ~/.xsession doit être un fichier exécutable qui démarre un gestionnaire de fenêtre au un autre client X.

Type de données :gdm-configuration
auto-login? (par défaut : #f)
default-user (par défaut : #f)

Lorsque auto-login? est faux, GDM présente un écran de connexion.

Lorsque auto-login? est vrai, GDM se connecte directement en tant que default-user.

auto-suspend? (par défaut : #t)

Lorsque la valeur est vraie, GDM passera en veille lorsque personne n’est connecté physiquement. Si votre machine peut être utilisée avec un bureau à distance ou SSH, cette option devrait être mise à faux pour éviter que GDM n’interrompe les sessions distantes ou rende la machine indisponible.

debug? (par défaut : #f)

Lorsqu’il est « vrai », GDM écrit des messages de débogage dans son journal.

gnome-shell-assets (par défaut : …)

Liste de données requises par GDM : un thème d’icônes, des polices, etc.

xorg-configuration (par défaut : (xorg-configuration))

Configuration du serveur graphique Xorg.

x-session (par défaut : xinitrc)

Le script à lancer avant de démarrer une session X.

xdmcp? (par défaut : #f)

Lorsque la valeur est vraie, active le protocole de contrôle du gestionnaire d’affichage X (XDMCP). Cela ne devrait être activé que dans des environnements de confiance, car le protocole n’est pas sécurisé. Lorsque l’option est activée, GDM attend des requêtes XDMCP sur le port UDP 177.

dbus-daemon (par défaut : dbus-daemon-wrapper)

Nom du fichier de l’exécutable dbus-daemon.

gdm (par défaut : gdm)

Le paquet GDM à utiliser.

wayland? (par défaut : #f)

Lorsque la valeur est vraie, active Wayland dans GDM, ce qui est requis pour utiliser les sessions Wayland.

wayland-session (par défaut : gdm-wayland-session-wrapper)

L’enveloppe de session Wayland à utiliser, requise pour mettre en place l’environnement.

Variable :slim-service-type

C’est de type pour le gestionnaire de connexion graphique SLiM pour X11.

Comme GDM, SLiM recherche des types de sessions décrites par des fichiers .desktop et permet aux utilisateurs de choisir une session à partir de l’écran de connexion avec F1. Il prend aussi en compte les fichiers ~/.xsession.

Contrairement à GDM, SLiM ne démarre pas la session utilisateur sur un terminal virtuel différent à la connexion, ce qui signifie que vous ne pouvez démarrer qu’une seule session graphique. Si vous voulez pouvoir exécuter plusieurs sessions graphiques en même temps, vous devez ajouter plusieurs services SLiM à la liste des services de votre système. L’exemple suivant montre comment remplacer le service GDM par défaut par deux services SLiM sur les tty 7 et 8.

(use-modules (gnu services)
             (gnu services desktop)
             (gnu services xorg))

(operating-system
  ;; ...
  (services (cons* (service slim-service-type (slim-configuration
                                               (display ":0")
                                               (vt "vt7")))
                   (service slim-service-type (slim-configuration
                                               (display ":1")
                                               (vt "vt8")))
                   (modify-services %desktop-services
                     (delete gdm-service-type)))))
Type de données :slim-configuration

Type de données représentant la configuration de slim-service-type.

allow-empty-passwords? (par défaut : #t)

S’il faut autoriser les connexions avec un mot de passe vide.

gnupg? (par défaut : #f)

Si l’option est activée, pam-gnupg essaiera automatique de débloquer les clés GPG de l’utilisateur·rice avec le mot de passe de connexion via gpg-agent. Les keygrips de toutes les clés à débloquer doivent se trouver dans ~/.pam-gnupg et vous pouvez les récupérer avec gpg -K --with-keygrip. Vous pouvez activer le préchargement des phrases de passes en ajoutant allow-preset-passphrase dans ~/.gnupg/gpg-agent.conf.

auto-login? (par défaut : #f)
default-user (par défaut : "")

Lorsque auto-login? est faux, SLiM présent un écran de connexion.

Lorsque auto-login? est vrai, SLiM se connecte directement en tant que default-user.

theme (par défaut : %default-slim-theme)
theme-name (par défaut : %default-slim-theme-name)

Le thème graphique à utiliser et son nom.

auto-login-session (par défaut : #f)

Si la valeur est vraie, elle doit être le nom d’un exécutable à démarrer comme session par défaut — p. ex. (file-append windowmaker "/bin/windowmaker").

Si la valeur est fausse, une session décrite par l’un des fichiers .desktop disponibles dans /run/current-system/profile et ~/.guix-profile sera utilisée.

Remarque : Vous devez installer au moins un gestionnaire de fenêtres dans le profil du système ou dans votre profil utilisateur. Sinon, si auto-login-session est faux, vous ne serez jamais capable de vous connecter.

xorg-configuration (par défaut : (xorg-configuration))

Configuration du serveur graphique Xorg.

display (par défaut : ":0")

La session d’affichage sur laquelle démarrer le serveur graphique Xorg.

vt (par défaut : "vt7")

Le terminal virtuel sur lequel démarrer le serveur d’affichage graphique Xorg.

xauth (par défaut : xauth)

Le paquet XAuth à utiliser.

shepherd (par défaut : shepherd)

Le paquet Shepherd à utiliser pour invoquer halt et reboot.

sessreg (par défaut : sessreg)

Le paquet sessreg à utiliser pour enregistrer la session.

slim (par défaut : slim)

Le paquet SLiM à utiliser.

Variable :%default-theme
Variable :%default-theme-name

Le thème SLiM par défaut et son nom.

Variable :sddm-service-type

C’est le type de service qui permet d’exécuter le gestionnaire d’affichage Gestionnaire d’affichage SDDM. Sa valeur doit être un enregistrement sddm-configuration (voir ci-dessous).

Voici un exemple d’utilisation :

(service sddm-service-type
         (sddm-configuration
           (auto-login-user "alice")
           (auto-login-session "xfce.desktop")))
Type de données :sddm-configuration

Ce type de données représente la configuration du gestionnaire de connexion SDDM. Les champs disponibles sont :

sddm (par défaut : sddm)

Le paquet SDDM à utiliser.

Remarque : sddm has Qt6 enabled by default. If you want to still use a Qt5 theme, you need to set it to sddm-qt5.

display-server (par défaut : "x11")

Choisit le serveur d’affichage à utiliser pour l’écran d’accueil. Les valeurs valides sont ‘"x11"’ ou ‘"wayland"’.

numlock (par défaut : "on")

Les valeurs valides sont ‘"on"’, ‘"off"’ or ‘"none"’.

halt-command (par défaut : #~(string-append #$shepherd "/sbin/halt"))

La commande à lancer à l’arrêt du système.

reboot-command (par défaut : #~(string-append #$shepherd "/sbin/reboot"))

La commande à lancer lors du redémarrage du système.

theme (par défaut : "maldives")

Thème à utiliser. Les thèmes par défaut fournis par SDDM sont ‘"elarun"’, ‘"maldives"’ ou ‘"maya"’.

themes-directory (par défaut : "/run/current-system/profile/share/sddm/themes")

Le répertoire où se trouvent les thèmes.

faces-directory (par défaut : "/run/current-system/profile/share/sddm/faces")

Répertoire où se trouvent les avatars.

default-path (par défaut : "/run/current-system/profile/bin")

Le PATH par défaut à utiliser.

minimum-uid (par défaut : 1000)

UID minimum affiché dans le SDDM et autorisé pour la connexion.

maximum-uid (par défaut : 2000)

UID maximum pour être affiché dans SDDM.

remember-last-user? (par défaut : #t)

S’il faut se rappeler le dernier utilisateur connecté.

remember-last-session? (par défaut : #t)

S’il faut se rappeler la dernière session.

hide-users (par défaut : "")

Les noms d’utilisateurs à cacher sur l’écran d’accueil de SDDM.

hide-shells (par défaut : #~(string-append #$shadow "/sbin/nologin"))

Les utilisateurs avec les shells listés seront cachés sur l’écran d’accueil de SDDM.

session-command (par défaut : #~(string-append #$sddm "/share/sddm/scripts/wayland-session"))

Le script à lancer avant de démarrer une session wayland.

sessions-directory (par défaut : "/run/current-system/profile/share/wayland-sessions")

Le répertoire où trouver les fichiers .desktop qui démarrent des sessions wayland.

xorg-configuration (par défaut : (xorg-configuration))

Configuration du serveur graphique Xorg.

xauth-path (par défaut : #~(string-append #$xauth "/bin/xauth"))

Chemin vers xauth.

xephyr-path (par défaut : #~(string-append #$xorg-server "/bin/Xephyr"))

Chemin vers Xephyr.

xdisplay-start (par défaut : #~(string-append #$sddm "/share/sddm/scripts/Xsetup"))

Le script à lancer après avoir démarré xorg-server.

xdisplay-stop (par défaut : #~(string-append #$sddm "/share/sddm/scripts/Xstop"))

Le script à lancer avant d’arrêter xorg-server.

xsession-command (par défaut : xinitrc)

Le script à lancer avant de démarrer une session X.

xsessions-directory (par défaut : "/run/current-system/profile/share/xsessions")

Répertoire où trouver les fichiers .desktop pour les sessions X.

minimum-vt (par défaut : 7)

VT minimal à utiliser.

auto-login-user (par défaut : "")

Compte utilisateur qui sera automatiquement connecté. Paramétrer ceci à la chaine vide désactive la connexion automatique.

auto-login-session (par défaut : "")

Nom du fichier .desktop utilisé comme session pour la connexion automatique, ou la chaine vide.

relogin? (par défaut : #f)

S’il faut se reconnecter après la déconnexion.

Variable :lightdm-service-type

C’est le type de service qui lance le gestionnaire d’affichage LightDM. Sa valeur doit être un enregistrement lightdm-configuration, qui est documenté ci-dessous. Entre autres particularité, il possède une intégration avec TigerVNC pour accéder à votre bureau à distance ainsi que la prise en charge du protocole XDMCP, qui peut être utilisé par les clients distants pour démarrer une session à partir du gestionnaire de connexion.

Dans sa forme la plus basique, il peut s’utiliser de cette manière :

Un exemple plus élaboré qui utilise la fonctionnalité VNC et active plus de fonctionnalités et les journaux verbeux ressemblerait à ceci :

(service lightdm-service-type
         (lightdm-configuration
          (allow-empty-passwords? #t)
          (xdmcp? #t)
          (vnc-server? #t)
          (vnc-server-command
           (file-append tigervnc-server "/bin/Xvnc"
                        "  -SecurityTypes None"))
          (seats
           (list (lightdm-seat-configuration
                  (name "*")
                  (user-session "ratpoison"))))))
Type de données :lightdm-configuration

Les champs de lightdm-configuration disponibles sont :

lightdm (par défaut : lightdm) (type : simili-fichier)

Le paquet lightdm à utiliser.

allow-empty-passwords? (par défaut : #f) (type : booléen)

Indique si les utilisateurs et utilisatrices sans mot de passe peuvent se connecter.

debug? (par défaut : #f) (type : booléen)

Active la sortie verbeuse.

xorg-configuration (type : xorg-configuration)

La configuration par défaut du serveur Xorg à utiliser pour générer le script de démarrage du serveur Xorg. Elle peut être raffinée pour chaque siège via le champ xserver-command de l’enregistrement <lightdm-seat-configuration> si vous le souhaitez.

greeters (type : liste-de-greeter-configurations)

Les configurations de l’écran d’accueil de LightDM spécifiant les écrans d’accueil à utiliser.

seats (type : liste-de-seat-configurations)

Les configurations de sièges à utiliser. Un siège LightDM correspond à un utilisateur ou une utilisatrice.

xdmcp? (par défaut : #f) (type : booléen)

Indique si le serveur XDMCP doit écouter sur le port UDP 177.

xdmcp-listen-address (type : peut-être-chaine)

L’hôte ou l’adresse IP sur laquelle le serveur XDMCP écoute les connexions entrantes. Si la valeur n’est pas spécifiée, écoute sur tous les hôtes et toutes les adresses.

vnc-server? (par défaut : #f) (type : booléen)

Si un serveur VNC est démarré.

vnc-server-command (type : simili-fichier)

La commande Xvnc à utiliser pour le serveur VNC, il est possible de fournir des options supplémentaires qui ne sont sinon pas exposées avec la commande, par exemple pour désactiver la sécurité :

(vnc-server-command (file-append tigervnc-server "/bin/Xvnc"
                                 " -SecurityTypes None" ))

Ou pour indiquer un fichier de mot de passe pour le mécanisme VncAuth classique (non sécurisé) :

(vnc-server-command (file-append tigervnc-server "/bin/Xvnc"
                                 " -PasswordFile /var/lib/lightdm/.vnc/passwd"))

Le fichier de mots de passe devrait être créé manuellement avec la commande vncpasswd. Remarquez que LightDM créera de nouvelles sessions pour les utilisateurs et les utilisatrices VNC, ce qui signifie qu’ils et elles devront s’authentifier de la même manière que les utilisateurs locaux et utilisatrices locales.

vnc-server-listen-address (type : peut-être-chaine)

L’hôte ou l’adresse IP sur laquelle le serveur VNC écoute les connexions entrantes. Si la valeur n’est pas spécifiée, écoute sur tous les hôtes et toutes les adresses.

vnc-server-port (par défaut : 5900) (type : nombre)

Port TCP sur lequel écoute le serveur VNC.

extra-config (par défaut : '()) (type : liste-de-chaines)

Valeurs de configuration supplémentaires à ajouter à la fin du fichier de configuration de LightDM.

Type de données :lightdm-gtk-greeter-configuration

Les champs de lightdm-gtk-greter-configuration disponibles sont :

lightdm-gtk-greeter (par défaut : lightdm-gtk-greeter) (type : simili-fichier)

Le paquet lightdm-gtk-greeter à utiliser.

assets (par défaut : (adwaita-icon-theme gnome-themes-extrahicolor-icon-theme)) (type : liste-de-simili-fichiers)

La liste des paquets qui accompagnent l’écran d’accueil, comme un paquet qui fournit un thème d’icônes.

theme-name (par défaut : "Adwaita") (type : chaine)

Le nom du thème à utiliser.

icon-theme-name (par défaut : "Adwaita") (type : chaine)

Le nom du thème d’icônes à utiliser.

cursor-theme-name (par défaut : "Adwaita") (type : chaine)

Le nom du thème de curseurs à utiliser.

cursor-theme-size (par défaut : 16) (type : nombre)

La taille à utiliser pour le thème de curseurs.

allow-debugging? (type : peut-être-booléen)

Indiquez #t pour activer le niveau de journalisation de débogage.

background (type : simili-fichier)

L’image de fond à utiliser.

at-spi-enables? (par défaut : #f) (type : booléen)

Active la prise en charge de l’accessibilité à travers l’interface de fourniture de service de technologie d’assistance (AT-SPI).

a11y-states (par défaut : (contrast font keyboard reader)) (type : liste-d’états-d’accessibilité)

Les fonctionnalités d’accessibilité à activer, données en tant que liste de symboles.

reader (type : peut-être-simili-fichier)

La commande à utiliser pour lancer un lecteur d’écran.

extra-config (par défaut : '()) (type : liste-de-chaines)

Valeurs de configuration supplémentaires à ajouter à la fin du fichier de configuration de l’écran d’accueil de LightDM.

Type de données :lightdm-seat-configuration

Les champs de lightdm-seat-configuration disponibles sont :

name (type : nom-de-siège)

Le nom du siège. Vous pouvez utiliser un astérisque (*) dans le nom pour appliquer la configuration de siège à tous les noms de sièges qui correspondent.

user-session (type : peut-être-chaine)

La session à utiliser par défaut. Le nom de session doit être fournit en une chaine en minuscules, comme "gnome", "ratpoison", etc.

type (par défaut : local) (type : type-de-siège)

Le type du siège, soit le symbole local, soit le symbole xremote.

autologin-user (type : peut-être-chaine)

Le nom d’utilisateur à connecter par défaut.

greeter-session (par défaut : lightdm-gtk-greeter) (type : greeter-session)

La session d’écran d’accueil à utilisé, spécifié en tant que symbole. Actuellement, seul lightdm-gtk-greeter est pris en charge.

xserver-command (type : peut-être-simili-fichier)

La commande du serveur Xorg à lancer.

session-wrapper (type : simili-fichier)

L’enveloppe de session xinitrc à utiliser.

extra-config (par défaut : '()) (type : liste-de-chaines)

Valeurs de configuration supplémentaires à ajouter à la fin de la section de configuration des sièges.

Type de données :xorg-configuration

Ce type de données représente la configuration du serveur d’affichage graphique Xorg. Remarquez qu’il n’y a pas de service Xorg ; à la place, le serveur X est démarré par un « gestionnaire d’affichage graphique » comme GDM, SDDM, LightDM et SLiM. Ainsi, la configuration de ces gestionnaires d’affichage agrègent un enregistrement xorg-configuration.

modules (par défaut : %default-xorg-modules)

C’est une liste de paquets de module chargés par le serveur Xorg — p. ex. xf86-video-vesa, xf86-input-keyboard etc.

fonts (par défaut : %default-xorg-fonts)

C’est une liste de répertoires de polices à ajouter au chemin de polices du serveur.

drivers (par défaut : '())

Cela doit être soit la liste vide, auquel cas Xorg choisit un pilote graphique automatiquement, soit une liste de noms de pilotes qui seront essayés dans cet ordre — p. ex. '("modesetting" "vesa").

resolutions (par défaut : '())

Lorsque resolutions est la liste vide, Xorg choisit une résolution d’écran appropriée. Sinon, il doit s’agir d’une liste de résolutions — p. ex. '((1024 768) (640 480)).

keyboard-layout (par défaut : #f)

Si la valeur est #f, Xorg utilise la disposition du clavier par défaut — habituellement la disposition anglaise américaine (« qwerty ») pour un clavier de PC à 105 touches.

Sinon cela doit être un objet keyboard-layout spécifiant la disposition du clavier à utiliser lorsque Xorg tourne. Voir Disposition du clavier pour plus d’informations sur la manière de spécifier la disposition du clavier.

extra-config (par défaut : '())

C’est une liste de chaînes de caractères ou d’objets ajoutés au fichier de configuration. Elle est utile pour ajouter du texte supplémentaire directement dans le fichier de configuration.

server (par défaut : xorg-server)

C’est le paquet fournissant le serveur Xorg.

server-arguments (par défaut : %default-xorg-server-arguments)

Liste d’arguments de la ligne de commande supplémentaires à passer au serveur X. La valeur par défaut est -nolisten tcp.

Procédure :set-xorg-configuration config [login-manager-service-type]

Dit au gestionnaire de connexion (de type login-manager-service-type) d’utiliser config, un enregistrement <xorg-configuration>.

Comme la configuration Xog est incluse dans la configuration du gestionnaire de connexion — p. ex. gdm-configuration — cette procédure fournit un raccourci pour configurer Xorg.

Procédure :xorg-start-command [config]

Renvoie un script startx dans lequel les modules, les polices, etc., spécifiés dans config sont disponibles. Le résultat devrait être utilisé à la place de startx.

Habituellement le serveur X est démarré par un gestionnaire de connexion.

Procedure :xorg-start-command-xinit [config]

Return a startx script in which the modules, fonts, etc. specified in config are available. The result should be used in place of startx and should be invoked by the user from a tty after login. Unlike xorg-start-command, this script calls xinit. Therefore it works well when executed from a tty. This script can be set up as startx using startx-command-service-type or home-startx-command-service-type. If you are using a desktop environment, you are unlikely to need this procedure.

Variable :screen-locker-service-type

Type for a service that adds a package for a screen locker or screen saver to the set of privileged programs and/or add a PAM entry for it. The value for this service is a <screen-locker-configuration> object.

While the default behavior is to setup both a privileged program and PAM entry, these two methods are redundant. Screen locker programs may not execute when PAM is configured and setuid is set on their executable. In this case, using-setuid? can be set to #f.

For example, to make XlockMore usable:

(service screen-locker-service-type
         (screen-locker-configuration
           (name "xlock")
           (program (file-append xlockmore "/bin/xlock"))))

rend utilisable le bon vieux XlockMore.

For example, swaylock fails to execute when compiled with PAM support and setuid enabled. One can thus disable setuid:

(service screen-locker-service-type
         (screen-locker-configuration
           (name "swaylock")
           (program (file-append swaylock "/bin/swaylock"))
           (using-pam? #t)
           (using-setuid? #f)))
Data Type :screen-locker-configuration

Available screen-locker-configuration fields are:

name (type : string)

Name of the screen locker.

program (type: file-like)

Path to the executable for the screen locker as a G-Expression.

allow-empty-password? (default: #f) (type: boolean)

Indique s’il faut autoriser les mots de passes vides.

using-pam? (default: #t) (type: boolean)

Whether to setup PAM entry.

using-setuid? (default: #t) (type: boolean)

Whether to setup program as setuid binary.

Variable :startx-command-service-type

Add startx to the system profile putting it onto PATH.

The value for this service is a <xorg-configuration> object which is passed to the xorg-start-command-xinit procedure producing the startx used. Default value is (xorg-configuration).


Suivant: Services d’impression, Précédent: Mises à jour non surveillées (Unattended Upgrades), Monter: Services   [Table des matières][Index]