Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]


8.8.7 Desktop-Dienste

Das Modul (gnu services desktop) stellt Dienste zur Verfügung, die meistens bei „Desktop“-Einrichtungen für grafische Nutzung praktisch sind — also auf einer Maschine mit einem grafischem Anzeigeserver, vielleicht mit einer grafischen Benutzeroberfläche, usw. Im Modul werden auch Dienste definiert, die bestimmte Arbeitsumgebungen wie GNOME, Xfce oder MATE bereitstellen.

Um es einfacher zu machen, definiert das Modul auch eine Variable mit denjenigen Diensten, die man auf einer Maschine mit einer grafischen Umgebung und Netzwerkunterstützung erwarten würde:

Scheme-Variable: %desktop-services

Dies ist eine Liste von Diensten, die %base-services ergänzt und weitere Dienste hinzufügt oder bestehende anpasst, um für eine normale „Desktop“-Nutzung geeignet zu sein.

Insbesondere wird eine grafische Anmeldeverwaltung hinzugefügt (siehe gdm-service-type), ebenso Programme zur Bildschirmsperre, ein Werkzeug zur Netzwerkverwaltung (siehe network-manager-service-type) mit Unterstützung für Modems (siehe modem-manager-service-type), Energieverbrauchs- und Farbverwaltungsdienste, Anmeldungs- und Sitzungsverwaltung über elogind, der Berechtigungsdienst Polkit, der Ortungsdienst GeoClue, der AccountsService-Daemon, mit dem autorisierte Benutzer Systempasswörter ändern können, ein NTP-Client (siehe Netzwerkdienste) und der Avahi-Daemon. Außerdem wird der Name Service Switch konfiguriert, damit er nss-mdns benutzt (siehe mDNS).

Die %desktop-services-Variable kann als das services-Feld einer operating-system-Deklaration genutzt werden (siehe services).

Daneben können die Prozeduren gnome-desktop-service-type, xfce-desktop-service, mate-desktop-service-type und enlightenment-desktop-service-type jeweils GNOME, Xfce, MATE und/oder Enlightenment zu einem System hinzufügen. „GNOME hinzufügen“ bedeutet, dass Dienste auf Systemebene wie z.B. Hilfsprogramme zur Anpassung der Hintergrundbeleuchtung und des Energieverbrauchs zum System hinzugefügt werden und polkit und dbus entsprechend erweitert werden, wodurch GNOME mit erhöhten Berechtigungen auf eine begrenzte Zahl von speziellen Systemschnittstellen zugreifen kann. Zusätzlich bedeutet das Hinzufügen eines durch gnome-desktop-service-type erzeugten Dienstes, dass das GNOME-Metapaket ins Systemprofil eingefügt wird. Genauso wird beim Einfügen des Xfce-Dienstes nicht nur das xfce-Metapaket zum Systemprofil hinzugefügt, sondern dem Thunar-Dateiverwaltungsprogramm wird auch die Berechtigung gegeben, ein Fenster mit Administratorrechten zu öffnen, wenn der Benutzer sich mit dem Administratorpasswort über die standardmäßige grafische Oberfläche von Polkit authentisiert. „MATE hinzufügen“ bedeutet, dass polkit und dbus entsprechend erweitert werden, wodurch MATE mit erhöhten Berechtigungen auf eine begrenzte Zahl von speziellen Systemschnittstellen zugreifen kann. Zusätzlich bedeutet das Hinzufügen eines durch mate-desktop-service-type erzeugten Dienstes, dass das MATE-Metapaket ins Systemprofil eingefügt wird. „Enlightenment hinzufügen“ bedeutet, dass dbus entsprechend erweitert wird und mehrere Binärdateien von Enlightenment als setuid eingerichtet werden, wodurch das Programm zum Sperren des Bildschirms und andere Funktionen von Enlightenment wie erwartet funktionieren.

Die Arbeitsumgebungen in Guix benutzen standardmäßig den Xorg-Anzeigeserver. Falls Sie das neuere Anzeigeserverprotokoll namens Wayland benutzen möchten, müssen Sie den Dienst sddm-service anstelle von GDM für die grafische Anmeldeverwaltung einrichten. Dann sollten Sie in SDDM die Sitzung „GNOME (Wayland)“ auswählen. Alternativ können Sie auch versuchen, GNOME mit Wayland manuell aus einer Konsole (TTY) mit dem Befehl „XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session“ zu starten. Derzeit wird Wayland nur von GNOME unterstützt.

Scheme-Variable: gnome-desktop-service-type

Dies ist der Typ des Dienstes, der die GNOME-Arbeitsumgebung bereitstellt. Sein Wert ist ein gnome-desktop-configuration-Objekt (siehe unten).

Dieser Dienst fügt das gnome-Paket zum Systemprofil hinzu und erweitert Polkit um die von gnome-settings-daemon benötigten Aktionen.

Datentyp: gnome-desktop-configuration

Verbundsobjekt für die Konfiguration der GNOME-Arbeitsumgebung.

gnome (Vorgabe: gnome)

Welches GNOME-Paket benutzt werden soll.

Scheme-Variable: xfce-desktop-service-type

Der Typ des Dienstes, um die Xfce-Arbeitsumgebung auszuführen. Sein Wert ist ein xfce-desktop-configuration-Objekt (siehe unten).

Dieser Dienst fügt das Paket xfce zum Systemprofil hinzu und erweitert Polkit, damit thunar befähigt wird, das Dateisystem aus einer Benutzersitzung heraus mit Administratorrechten zu bearbeiten, nachdem sich der Benutzer mit dem Administratorpasswort authentisiert hat.

Datentyp: xfce-desktop-configuration

Verbundstyp für Einstellungen zur Xfce-Arbeitsumgebung.

xfce (Vorgabe: xfce)

Das Xfce-Paket, was benutzt werden soll.

Scheme-Variable: mate-desktop-service-type

Dies ist der Typ des Dienstes, um die MATE-Arbeitsumgebung auszuführen. Sein Wert ist ein mate-desktop-configuration-Objekt (siehe unten).

Dieser Dienst fügt das Paket mate ins Systemprofil ein und erweitert Polkit um die Aktionen aus dem mate-settings-daemon.

Datentyp: mate-desktop-configuration

Verbundstyp für die Einstellungen der MATE-Arbeitsumgebung.

mate (Vorgabe: mate)

Das MATE-Paket, was benutzt werden soll.

Scheme-Variable: enlightenment-desktop-service-type

Liefert einen Dienst, der das enlightenment-Paket zum Systemprofil hinzufügt und D-Bus mit den Aktionen aus efl erweitert.

Datentyp: enlightenment-desktop-service-configuration
enlightenment (Vorgabe: enlightenment)

Das Enlightenment-Paket, was benutzt werden soll.

Weil die Desktopdienste GNOME, Xfce und MATE so viele Pakete ins System mitnehmen, gehören diese nicht zu den Vorgaben in der %desktop-services-Variablen. Um GNOME, Xfce oder MATE hinzuzufügen, benutzen Sie einfach cons zum Anhängen an die %desktop-services im services-Feld Ihrer operating-system-Deklaration:

(use-modules (gnu))
(use-service-modules desktop)
(operating-system
  
  ;; cons* adds items to the list given as its last argument.
  (services (cons* (service gnome-desktop-service-type)
                   (service xfce-desktop-service)
                   %desktop-services))
  )

Diese Arbeitsumgebungen stehen dann im grafischen Anmeldefenster zur Auswahl.

Die eigentlichen Dienstdefinitionen, die in %desktop-services stehen und durch (gnu services dbus) und (gnu services desktop) zur Verfügung gestellt werden, werden im Folgenden beschrieben.

Scheme-Prozedur: dbus-service [#:dbus dbus] [#:services '()]

Liefert einen Dienst, der den „Systembus“ mit dbus ausführt, mit Unterstützung für die als services übergebenen Dienste.

D-Bus ist eine Einrichtung zur Interprozesskommunikation. Deren Systembus wird benutzt, damit Systemdienste miteinander kommunizieren können und damit sie bei systemweiten Ereignissen benachrichtigt werden können.

Als services muss eine Liste von Paketen übergeben werden, die ein Verzeichnis etc/dbus-1/system.d mit zusätzlichen D-Bus-Konfigurations- und Richtliniendateien enthalten. Damit zum Beispiel der Avahi-Daemon den Systembus benutzen kann, muss services gleich (list avahi) sein.

Scheme-Prozedur: elogind-service [#:config Konfiguration]

Liefert einen Dienst, der den Anmelde- und Sitzungsdaemon elogind ausführt. Elogind stellt eine D-Bus-Schnittstelle bereit, über die ausgelesen werden kann, welche Benutzer angemeldet sind und welche Sitzungen sie geöffnet haben, und außerdem das System in Bereitschaft versetzt werden kann, der Bereitschaftsmodus unterdrückt werden kann, das System neu gestartet werden kann und anderes.

Die meisten Energieereignisse auf Systemebene in einem Rechner werden von elogind behandelt, wie etwa ein Versetzen des Systems in Bereitschaft, wenn der Rechner zugeklappt wird, oder ein Herunterfahren beim Drücken des Stromschalters.

Das config-Schlüsselwort gibt die Konfiguration für elogind an und sollte das Ergebnis eines Aufrufs von (elogind-configuration (Parameter Wert)...) sein. Verfügbare Parameter und ihre Vorgabewerte sind:

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")

Scheme-Prozedur: accountsservice-service [#:accountsservice accountsservice] Liefert einen Dienst, der

AccountsService ausführt. Dabei handelt es sich um einen Systemdienst, mit dem verfügbare Benutzerkonten aufgelistet und deren Passwörter geändert werden können, und Ähnliches. AccountsService arbeitet mit PolicyKit zusammen, um es Benutzern ohne besondere Berechtigungen zu ermöglichen, ihre Systemkonfiguration zu ändern. Siehe den Webauftritt von AccountsService für weitere Informationen.

Das Schlüsselwortargument accountsservice gibt das accountsservice-Paket an, das als Dienst verfügbar gemacht wird.

Scheme-Prozedur: polkit-service [#:polkit polkit] Liefert einen Dienst, der

Polkit als Dienst zur Verwaltung von Berechtigungen ausführt, wodurch Systemadministratoren auf strukturierte Weise den Zugang zu „privilegierten“ Operationen gewähren können, die erweiterte Berechtigungen erfordern. Indem der Polkit-Dienst angefragt wird, kann eine mit Berechtigungen ausgestattete Systemkomponente die Information erhalten, ob normalen Benutzern Berechtigungen gewährt werden dürfen. Zum Beispiel kann einer normalen Nutzerin die Berechtigung gegeben werden, das System in den Bereitschaftsmodus zu versetzen, unter der Voraussetzung, dass sie lokal vor Ort angemeldet ist.

Scheme-Variable: polkit-wheel-service

Dieser Dienst richtet die wheel-Benutzergruppe als Administratoren für den Polkit-Dienst ein. Der Zweck davon ist, dass Benutzer in der wheel-Benutzergruppe nach ihren eigenen Passwörtern gefragt werden statt dem Passwort des Administratornutzers root, wenn sie administrative Tätigkeiten durchführen, ähnlich dem, wie sich sudo verhält.

Scheme-Variable: upower-service-type

Typ des Dienstes, der upowerd ausführt, ein Programm zur systemweiten Überwachung des Energieverbrauchs und der Akkuladung. Er hat die angegebenen Konfigurationseinstellungen.

Er implementiert die D-Bus-Schnittstelle org.freedesktop.UPower. Insbesondere wird UPower auch von GNOME benutzt.

Datentyp: upower-configuration

Repräsentiert die Konfiguration von UPower.

upower (Vorgabe: upower)

Das Paket, das für upower benutzt werden soll.

watts-up-pro? (Vorgabe: #f)

Aktiviert das Watts-Up-Pro-Gerät.

poll-batteries? (Vorgabe: #t)

Aktiviert das regelmäßige Abfragen des Kernels bezüglich Änderungen am Stand der Akku-Ladung.

ignore-lid? (Vorgabe: #f)

Ignorieren, ob der Rechner zugeklappt ist. Das kann gewünscht sein, wenn Auf- und Zuklappen nicht richtig erkannt werden.

use-percentage-for-policy? (Vorgabe: #f)

Ob sich die Richtlinie am Akku-Ladestand in Prozent orientieren soll. Die Vorgabe ist, sich an der verbleibenden Zeit zu orientieren. Wenn Sie sie auf #t ändern, dient der Prozentstand als Orientierung.

percentage-low (Vorgabe: 10)

Wenn use-percentage-for-policy? auf #t gesetzt ist, wird hiermit der Prozentstand festgelegt, ab dem der Akku-Ladestand als niedrig gilt.

percentage-critical (Vorgabe: 3)

Wenn use-percentage-for-policy? auf #t gesetzt ist, wird hiermit der Prozentstand festgelegt, ab dem der Akku-Ladestand als kritisch gilt.

percentage-action (Vorgabe: 2)

Wenn use-percentage-for-policy? auf #t gesetzt ist, wird hiermit der Prozentstand festgelegt, ab dem Maßnahmen eingeleitet werden.

time-low (Vorgabe: 1200)

Wenn use-percentage-for-policy? auf #f gesetzt ist, wird hiermit die verbleibende Zeit in Sekunden festgelegt, ab der der Akku-Ladestand als niedrig gilt.

time-critical (Vorgabe: 300)

Wenn use-percentage-for-policy? auf #f gesetzt ist, wird hiermit die verbleibende Zeit in Sekunden festgelegt, ab der der Akku-Ladestand als kritisch gilt.

time-action (Vorgabe: 120)

Wenn use-percentage-for-policy? auf #f gesetzt ist, wird hiermit die verbleibende Zeit in Sekunden festgelegt, ab der Maßnahmen eingeleitet werden.

critical-power-action (Vorgabe: 'hybrid-sleep)

Welche Maßnahme eingeleitet wird, wenn die percentage-action oder time-action erreicht wurde (je nachdem, wie use-percentage-for-policy? eingestellt wurde).

Mögliche Werte sind:

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

Liefert einen Dienst für UDisks, einen Daemon zur Datenträgerverwaltung, der Benutzeroberflächen mit Benachrichtigungen und Möglichkeiten zum Einbinden und Aushängen von Datenträgern versorgt. Zu den Programmen, die mit UDisks kommunizieren, gehört der Befehl udisksctl, der Teil von UDisks ist, sowie GNOME Disks.

Scheme-Variable: colord-service-type

Dies ist der Typ des Dienstes, der colord ausführt. Dabei handelt es sich um einen Systemdienst mit einer D-Bus-Schnittstelle, um die Farbprofile von Ein- und Ausgabegeräten wie Bildschirmen oder Scannern zu verwalten. Insbesondere wird colord vom grafischen GNOME-Farbverwaltungswerkzeug benutzt. Siehe den Webauftritt von colord für weitere Informationen.

Scheme-Prozedur: geoclue-application Name [#:allowed? #t] [#:system? #f] [#:users '()]

Liefert eine Konfiguration, mit der eine Anwendung auf Ortungsdaten von GeoClue zugreifen kann. Als Name wird die Desktop-ID der Anwendung angegeben, ohne die Pfadkomponente mit .desktop-Endung. Wenn allowed? wahr ist, hat die Anwendung standardmäßig Zugriff auf Ortungsinformationen. Der boolesche Wert system? zeigt an, ob die Anwendung eine Systemkomponente ist oder nicht. Zum Schluss wird für users eine Liste von Benutzeridentifikatoren (UIDs) aller Benutzerkonten angegeben, für die diese Anwendung Zugriff auf Ortungsinformationen gewährt bekommt. Eine leere Benutzerliste bedeutet, dass dies für alle Benutzer gewährt wird.

Scheme-Prozedur: sane-service-type

Mit diesem Dienst wird Zugriff auf Scanner über SANE möglich, indem er die nötigen udev-Regeln installiert.

Scheme-Variable: %standard-geoclue-applications

Die Standardliste wohlbekannter GeoClue-Anwendungskonfigurationen, mit der das GNOME-Werkzeug für Datum und Uhrzeit die Berechtigung bekommt, den aktuellen Ort abzufragen, um die Zeitzone festzulegen, und die Webbrowser IceCat und Epiphany Ortsinformationen abfragen dürfen. IceCat und Epiphany fragen beide zuerst beim Benutzer nach, bevor sie einer Webseite gestatten, den Ort des Benutzer abzufragen.

Scheme-Prozedur: 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] Liefert einen Dienst, der den Ortungsdienst GeoClue ausführt. Dieser Dienst bietet eine D-Bus-Schnittstelle an, mit der Anwendungen Zugriff auf den physischen Ort eines Benutzers anfragen können, und optional Informationen in Online-Ortsdatenbanken eintragen können. Siehe den Webauftritt von GeoClue für weitere Informationen.

Scheme-Prozedur: bluetooth-service [#:bluez bluez] [#:auto-enable? #f] Liefert einen Dienst, der den

bluetoothd-Daemon ausführt, welcher alle Bluetooth-Geräte verwaltet, und eine Reihe von D-Bus-Schnittstellen zur Verfügung stellt. Wenn AUTO-ENABLE? wahr ist, wird die Bluetooth-Steuerung automatisch beim Hochfahren gestartet, was sich als nützlich erweisen kann, wenn man eine Bluetooth-Tastatur oder -Maus benutzt.

Benutzer müssen zur lp-Benutzergruppe gehören, damit sie Zugriff auf den D-Bus-Dienst bekommen.

Scheme-Variable: gnome-keyring-service-type

Dies ist der Typ des Dienstes, der den GNOME-Schlüsselbund bereitstellt. Sein Wert ist ein gnome-keyring-configuration-Objekt (siehe unten).

Dieser Dienst fügt das gnome-keyring-Paket zum Systemprofil hinzu und erweitert PAM um Einträge zur Nutzung von pam_gnome_keyring.so, wodurch der Schlüsselbund von Nutzern entsperrt wird, wenn sie sich anmelden, und passwd auch das Passwort des Schlüsselbunds festlegt.

Datentyp: gnome-keyring-configuration

Verbundsobjekt für die Konfiguration des GNOME-Schlüsselbunddienstes.

keyring (Vorgabe: gnome-keyring)

Welches GNOME-Schlüsselbunddienst-Paket benutzt werden soll.

pam-services

Eine Liste von Paaren aus (Dienst . Typ), die zu erweiternde PAM-Dienste bezeichnen. Dabei steht Dienst für den Namen eines bestehenden Dienstes, der erweitert werden soll, und als Typ kann login oder passwd angegeben werden.

Wenn login angegeben wird, wird ein optionales pam_gnome_keyring.so zum Auth-Block ohne Argumente und zum Session-Block mit auto_start hinzugefügt. Wenn passwd angegeben wird, wird ein optionales pam_gnome_keyring.so zum Password-Block ohne Argumente hinzugefügt.

Der vorgegebene Inhalt ist „gdm-password“ mit dem Wert login und „passwd“ mit dem Wert passwd.


Nächste: , Vorige: , Nach oben: Dienste   [Inhalt][Index]