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


8.8.7 Services de bureaux

Le module (gnu services desktop) fournit des services qui sont habituellement utiles dans le contexte d’une installation « de bureau » — c’est-à-dire sur une machine qui fait tourner un service d’affichage graphique, éventuellement avec des interfaces utilisateurs graphiques, etc. Il définit aussi des services qui fournissent des environnements de bureau spécifiques comme GNOME, Xfce et MATE.

Pour simplifier les choses, le module définit une variable contenant l’ensemble des services que les utilisateurs s’attendent en général à avoir sur une machine avec un environnement graphique et le réseau :

Variable Scheme : %desktop-services

This is a list of services that builds upon %base-services and adds or adjusts services for a typical “desktop” setup.

In particular, it adds a graphical login manager (voir gdm-service-type), screen lockers, a network management tool (voir network-manager-service-type) with modem support (voir modem-manager-service-type), energy and color management services, the elogind login and seat manager, the Polkit privilege service, the GeoClue location service, the AccountsService daemon that allows authorized users change system passwords, an NTP client (voir Services réseau), the Avahi daemon, and has the name service switch service configured to be able to use nss-mdns (voir mDNS).

The %desktop-services variable can be used as the services field of an operating-system declaration (voir services).

En plus, les procédures gnome-desktop-service-type, xfce-desktop-service, mate-desktop-service-type et enlightenment-desktop-service-type peuvent ajouter GNOME, Xfce, MATE ou Enlightenment à un système. « Ajouter GNOME » signifie que les services du système comme les utilitaires d’ajustement de la luminosité et de gestion de l’énergie sont ajoutés au système, en étendant polkit et dbus de la bonne manière, ce qui permet à GNOME d’opérer avec des privilèges plus élevés sur un nombre limité d’interfaces systèmes spécialisées. En plus, ajouter un service construit par gnome-desktop-service-type ajoute le métapaquet GNOME au profil du système. De même, ajouter le service Xfce ajoute non seulement le métapaquet xfce au profil système, mais il permet aussi au gestionnaire de fichiers Thunar d’ouvrir une fenêtre de gestion des fichier « en mode root », si l’utilisateur s’authentifie avec le mot de passe administrateur via l’interface graphique polkit standard. « Ajouter MATE » signifie que polkit et dbus sont étendue de la bonne manière, ce qui permet à MATE d’opérer avec des privilèges plus élevés sur un nombre limité d’interface systèmes spécialisées. En plus, ajouter un service de type mate-desktop-service-type ajoute le métapaquet MATE au profil du système. « Ajouter Enlightenment » signifie que dbus est étendu comme il faut et que plusieurs binaires d’Enlightenment récupèrent le bit setuid, ce qui permet au verrouilleur d’écran d’Enlightenment et à d’autres fonctionnalités de fonctionner correctement.

Les environnement de bureau dans Guix utilisent le service d’affichage Xorg par défaut. Si vous voulez utiliser le protocol de serveur d’affichage plus récent Wayland, vous devez utiliser sddm-service à la place de GDM comme gestionnaire de connexion graphique. Vous devriez ensuite sélectionner la session « GNOME (Wayland) » dans SDDM. Autrement, vous pouvez essayer de démarrer GNOME sur Wayland manuellement depuis un TTY avec la commande XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session. Actuellement seul GNOME support Wayland.

Variable Scheme : gnome-desktop-service-type

C’est le type de service qui ajoute l’environnement de bureau GNOME. Sa valeur est un objet gnome-desktop-configuration (voir plus bas).

Ce service ajoute le paquet gnome au profil du système et étend polkit avec les actions de gnome-settings-daemon.

Type de données : gnome-desktop-configuration

Enregistrement de la configuration de l’environnement de bureau GNOME.

gnome (par défaut : gnome)

Le paquet GNOME à utiliser.

Variable Scheme : xfce-desktop-service-type

C’est le type de service qui lance l’environnement de bureau https://xfce.org/. Sa valeur est un objet xfce-desktop-configuration (voir plus bas).

Ce service ajoute le paquet xfce au profil du système et étend polkit avec la possibilité pour thunar de manipuler le système de fichier en root depuis une session utilisateur, après que l’utilisateur s’authentifie avec le mot de passe administrateur.

Type de données : xfce-desktop-configuration

Enregistrement de la configuration de l’environnement de bureau Xfce.

xfce (par défaut : xfce)

Le paquet Xfce à utiliser.

Variable Scheme : mate-desktop-service-type

C’est le type de service qui lance l’environnement de bureau MATE. Sa valeur est un objet mate-desktop-configuration (voir plus bas).

Ce service ajoute le paquet mate au profil du système, et étend polkit avec les actions de mate-settings-daemon.

Type de données : mate-desktop-configuration

Enregistrement de configuration pour l’environnement de bureau MATE.

mate (par défaut : mate)

Le paquet MATE à utiliser.

Variable Scheme : enlightenment-desktop-service-type

Renvoie un service qui ajoute le paquet enlightenment et étend dbus avec les actions de efl

Type de données : enlightenment-desktop-service-configuration
enlightenment (par défaut : enlightenment)

Le paquet enlightenment à utiliser.

Comme les services de bureau GNOME, Xfce et MATE récupèrent tant de paquet, la variable %desktop-services par défaut n’inclut aucun d’entre eux. Pour ajouter GNOME, Xfce ou MATE, utilisez cons pour les ajouter à %desktop-services dans le champ services de votre operating-system :

(use-modules (gnu))
(use-service-modules desktop)
(operating-system
  ...
  ;; cons* ajoute des éléments à la liste donnée en dernier argument.
  (services (cons* (service gnome-desktop-service-type)
                   (service xfce-desktop-service)
                   %desktop-services))
  ...)

Ces environnements de bureau seront alors disponibles comme une option dans la fenêtre de connexion graphique.

Les définitions de service qui sont vraiment incluses dans %desktop-services et fournies par (gnu services dbus) et (gnu services desktop) sont décrites plus bas.

Procédure Scheme : dbus-service [#:dbus dbus] [#:services '()]

Renvoie un service qui lance le « bus système », dbus, avec le support de services.

D-Bus est un utilitaire de communication inter-processus. Son bus système est utilisé pour permettre à des services systèmes de communiquer et d’être notifiés d’événements systèmes.

services doit être une liste de paquets qui fournissent un répertoire etc/dbus-1/system.d contenant de la configuration D-Bus supplémentaire et des fichiers de politiques. Par exemple, pour permettre à avahi-daemon d’utiliser le bus système, services doit être égal à (list avahi).

Procédure Scheme : elogind-service [#:config config]

Renvoie un service qui lance le démon de gestion de connexion et de session elogind. Elogind expose une interface D-Bus qui peut être utilisée pour connaître quels utilisateurs sont connectés, le type de session qu’ils sont ouverte, suspendre le système, désactiver la veille système, redémarrer le système et d’autre taches.

Elogind gère la plupart des événements liés à l’énergie du système, par exemple mettre en veille le système quand l’écran est rabattu ou en l’éteignant quand le bouton de démarrage est appuyé.

L’argument config spécifie la configuration d’elogind et devrait être le résultat d’une invocation de (elogind-configuration (parameter value)...). Les paramètres disponibles et leur valeur par défaut sont :

kill-user-processes?

#f

kill-only-users

()

kill-exclude-users

("root")

inhibit-delay-max-seconds

5

handle-power-key

poweroff

handle-suspend-key

suspend

handle-hibernate-key

hibernate

handle-lid-switch

suspend

handle-lid-switch-docked

ignore

power-key-ignore-inhibited?

#f

suspend-key-ignore-inhibited?

#f

hibernate-key-ignore-inhibited?

#f

lid-switch-ignore-inhibited?

#t

holdoff-timeout-seconds

30

idle-action

ignore

idle-action-seconds

(* 30 60)

runtime-directory-size-percent

10

runtime-directory-size

#f

remove-ipc?

#t

suspend-state

("mem" "standby" "freeze")

suspend-mode

()

hibernate-state

("disk")

hibernate-mode

("platform" "shutdown")

hybrid-sleep-state

("disk")

hybrid-sleep-mode

("suspend" "platform" "shutdown")

Procédure Scheme : accountsservice-service [#:accountsservice accountsservice]

Renvoie un service qui lance AccountsService, un service système qui peut lister les comptes disponibles, changer leur mot de passe, etc. AccountsService s’intègre à Polkit pour permettre aux utilisateurs non privilégiés de pouvoir modifier la configuration de leur système. le site de accountsservice pour trouver plus d’informations.

L’argument accountsservice est le paquet accountsservice à exposer comme un service.

Procédure Scheme : polkit-service [#:polkit polkit]

Renvoie un service qui lance le service de gestion des privilèges Polkit, qui permet aux administrateurs systèmes de permettre l’accès à des opération privilégiées d’une manière structurée. En demandant au service Polkit, un composant système privilégié peut savoir lorsqu’il peut donner des privilèges supplémentaires à des utilisateurs normaux. Par exemple, un utilisateur normal peut obtenir le droit de mettre le système en veille si l’utilisateur est connecté localement.

Scheme Variable : polkit-wheel-service

Service that adds the wheel group as admins to the Polkit service. This makes it so that users in the wheel group are queried for their own passwords when performing administrative actions instead of root’s, similar to the behaviour used by sudo.

Variable Scheme : upower-service-type

Service qui lance upowerd, un moniteur système de consommation d’énergie et de niveau de batterie, avec les paramètres de configuration donnés.

Il implémente l’interface D-Bus org.freedesktop.UPower et est notamment utilisé par GNOME.

Type de données : upower-configuration

Type de données représentant la configuration de UPower.

upower (par défaut : upower)

Paquet à utiliser pour upower.

watts-up-pro? (par défaut : #f)

Active le périphérique Watts Up Pro.

poll-batteries? (par défaut : #t)

Active les requêtes au noyau pour les changements de niveau de batterie.

ignore-lid? (par défaut : #f)

Ignore l’état de l’écran, ce qui peut être utile s’il est incorrect sur un appareil.

use-percentage-for-policy? (par défaut : #f)

Indique si la politique de batterie basée sur le pourcentage devrait être utilisée. La valeur par défaut est d’utiliser la durée restante, changez en #t pour utiliser les pourcentages.

percentage-low (par défaut : 10)

Lorsque use-percentage-for-policy? est #t, cela indique à quel niveau la batterie est considérée comme faible.

percentage-critical (par défaut : 3)

Lorsque use-percentage-for-policy? est #t, cela indique à quel niveau la batterie est considérée comme critique.

percentage-action (par défaut : 2)

Lorsque use-percentage-for-policy? est #t, cela indique à quel niveau l’action sera prise.

time-low (par défaut : 1200)

Lorsque use-percentage-for-policy? est #f, cela indique à quelle durée restante en secondes la batterie est considérée comme faible.

time-critical (par défaut : 300)

Lorsque use-percentage-for-policy? est #f, cela indique à quelle durée restante en secondes la batterie est considérée comme critique.

time-action (par défaut : 120)

Lorsque use-percentage-for-policy? est #f, cela indique à quelle durée restante en secondes l’action sera prise.

critical-power-action (par défaut : 'hybrid-sleep)

L’action à prendre lorsque percentage-action ou time-action est atteint (en fonction de la configuration de use-percentage-for-policy?).

Les valeurs possibles sont :

  • 'power-off
  • 'hibernate
  • 'hybrid-sleep.
Procédure Scheme : udisks-service [#:udisks udisks]

Renvoie un service pour UDisks, un démon de gestion de disques qui fournit des notifications et la capacité de monter et démonter des disques à des interfaces utilisateurs. Les programmes qui parlent à UDisks sont par exemple la commande udisksctl, qui fait partie de UDisks et GNOME Disks.

Scheme Variable : colord-service-type

This is the type of the service that runs colord, a system service with a D-Bus interface to manage the color profiles of input and output devices such as screens and scanners. It is notably used by the GNOME Color Manager graphical tool. See the colord web site for more information.

Procédure Scheme : geoclue-application name [#:allowed? #t] [#:system? #f] [#:users '()]

Renvoie une configuration qui permet d’accéder aux données de localisation de GeoClue. name est l’ID Desktop de l’application, sans la partie en .desktop. Si allowed? est vraie, l’application aura droit d’accéder aux informations de localisation par défaut. Le booléen system? indique si une application est un composant système ou non. Enfin users est la liste des UID des utilisateurs pour lesquels cette application a le droit d’accéder aux informations de géolocalisation. Une liste d’utilisateurs vide indique que tous les utilisateurs sont autorisés.

Variable Scheme : %standard-geoclue-applications

La liste standard de configuration des application GeoClue connues, qui permet à l’utilitaire date-and-time de GNOME de demander l’emplacement actuel pour initialiser le fuseau horaire et aux navigateurs web IceCat et Epiphany de demander les informations de localisation. IceCat et Epiphany demandent tous deux à l’utilisateur avant de permettre à une page web de connaître l’emplacement de l’utilisateur.

Procédure Scheme : geoclue-service [#:colord colord] [#:whitelist '()] [#:wifi-geolocation-url

"https://location.services.mozilla.com/v1/geolocate?key=geoclue"]  [#:submit-data? #f] [#:wifi-submission-url "https://location.services.mozilla.com/v1/submit?key=geoclue"]  [#:submission-nick "geoclue"]  [#:applications %standard-geoclue-applications] Renvoie un service qui lance le service de géolocalisation GeoClue. Ce service fournit une interface D-Bus pour permettre aux applications de demande l’accès à la position de l’utilisateur et éventuellement d’ajouter des informations à des bases de données de géolocalisation en ligne. Voir le site web de GeoClue pour plus d’informations.

Procédure Scheme : bluetooth-service [#:bluez bluez] [#:auto-enable? #f]

Renvoie un service qui lance le démon bluetoothd qui gère tous les appareils Bluetooth et fournit un certain nombre d’interfaces D-Bus. Lorsque auto-enable? est vraie, le contrôler bluetooth est automatiquement alimenté au démarrage, ce qui peut être utile lorsque vous utilisez un clavier ou une souris bluetooth.

Les utilisateurs doivent être dans le groupe lp pour accéder au service D-Bus.

Scheme Variable : gnome-keyring-service-type

This is the type of the service that adds the GNOME Keyring. Its value is a gnome-keyring-configuration object (see below.)

This service adds the gnome-keyring package to the system profile and extends PAM with entries using pam_gnome_keyring.so, unlocking a user’s login keyring when they log in or setting its password with passwd.

Data Type : gnome-keyring-configuration

Configuration record for the GNOME Keyring service.

keyring (default: gnome-keyring)

The GNOME keyring package to use.

pam-services

A list of (service . kind) pairs denoting PAM services to extend, where service is the name of an existing service to extend and kind is one of login or passwd.

If login is given, it adds an optional pam_gnome_keyring.so to the auth block without arguments and to the session block with auto_start. If passwd is given, it adds an optional pam_gnome_keyring.so to the password block without arguments.

By default, this field contains “gdm-password” with the value login and “passwd” is with the value passwd.


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