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


11.10.9 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:

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.

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

Additionally, the following procedures add one (or more!) desktop environments to a system.

These service types add “metapackages” such as gnome or plasma to the system profile, but most of them also set up other useful services that mere packages can’t do.

For example, they may elevate privileges on a limited number of special-purpose system interfaces and programs. This allows backlight adjustment helpers, power management utilities, screen lockers, and other integrated functionality to work as expected.

Die Arbeitsumgebungen in Guix benutzen standardmäßig den Xorg-Anzeigeserver. Falls Sie das neuere Anzeigeserverprotokoll namens Wayland benutzen möchten, müssen Sie die Wayland-Unterstützung in GDM aktivieren (siehe wayland-gdm). Alternativ können 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.

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. Verfügbare gnome-desktop-configuration-Felder sind:

core-services (Typ: Liste-von-Paketen)

A list of packages that the GNOME Shell and applications may rely on.

shell (Typ: Liste-von-Paketen)

A list of packages that constitute the GNOME Shell, without applications.

utilities (Typ: Liste-von-Paketen)

A list of packages that serve as applications to use on top of the GNOME Shell.

gnome (Typ: Vielleicht-Paket)

This field used to be the only configuration point and specified a GNOME meta-package to install system-wide. Since the meta-package itself provides neither sources nor the actual packages and is only used to propagate them, this field is deprecated.

extra-packages (Typ: Liste-von-Paketen)

A list of GNOME-adjacent packages to also include. This field is intended for users to add their own packages to their GNOME experience. Note, that it already includes some packages that are considered essential by some (most?) GNOME users.

udev-ignorelist (Vorgabe: '()) (Typ: Liste-von-Zeichenketten)

A list of regular expressions denoting udev rules or hardware file names provided by any package that should not be installed. By default, every udev rule and hardware file specified by any package referenced in the other fields are installed.

polkit-ignorelist (Vorgabe: '()) (Typ: Liste-von-Zeichenketten)

A list of regular expressions denoting polkit rules provided by any package that should not be installed. By default, every polkit rule added by any package referenced in the other fields are installed.

Variable: plasma-desktop-service-type

Dies ist der Typ des Dienstes, mit dem die Arbeitsumgebung Plasma nutzbar gemacht wird. Sein Wert ist ein plasma-desktop-configuration-Objekt (siehe unten).

Dieser Dienst fügt das Paket plasma ins Systemprofil ein.

Datentyp: plasma-desktop-configuration

Verbundstyp für Einstellungen zur Plasma-Arbeitsumgebung.

plasma (Vorgabe: plasma)

Das Plasma-Paket, das benutzt werden soll.

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.

Bedenken Sie, dass xfce4-panel und seine Plugin-Pakete in dasselbe Profil installiert werden sollten, um sicherzugehen, dass sie kompatibel sind. Wenn Sie diesen Dienst benutzen, sollten Sie zusätzliche Plugins (xfce4-whiskermenu-plugin, xfce4-weather-plugin usw.) ins packages-Feld Ihres operating-system eintragen.

Datentyp: xfce-desktop-configuration

Verbundstyp für Einstellungen zur Xfce-Arbeitsumgebung.

xfce (Vorgabe: xfce)

Das Xfce-Paket, was benutzt werden soll.

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.

Variable: lxqt-desktop-service-type

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

Dieser Dienst fügt das Paket lxqt ins Systemprofil ein.

Datentyp: lxqt-desktop-configuration

Verbundstyp für Einstellungen zur LXQt-Arbeitsumgebung.

lxqt (Vorgabe: lxqt)

Das LXQT-Paket, was benutzt werden soll.

Variable: sugar-desktop-service-type

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

Dieser Dienst fügt das Paket sugar ins Systemprofil ein und außerdem fügt er alle gewählten Sugar-Aktivitäten ein. Bei den Vorgabeeinstellungen werden nur wenige Aktivitäten eingefügt.

Datentyp: sugar-desktop-configuration

Verbundstyp für Einstellungen zur Sugar-Arbeitsumgebung.

sugar (Vorgabe: sugar)

Das zu verwendende Sugar-Paket.

gobject-introspection (Vorgabe: gobject-introspection)

Welches gobject-introspection-Paket benutzt werden soll. Mit dem Paket wird der Zugriff auf Bibliotheken ermöglicht, die installiert werden, weil Sugar-Aktivitäten von ihnen abhängen.

activities (Vorgabe: (list sugar-help-activity))

Welche Sugar-Aktivitäten installiert werden.

Folgendes Beispiel stellt dar, wie die Sugar-Arbeitsumgebung mitsamt einiger nützlicher Aktivitäten eingerichtet werden kann:

(use-modules (gnu))
(use-package-modules sugar)
(use-service-modules desktop)
(operating-system
  
  (services (cons* (service sugar-desktop-service-type
                            (sugar-desktop-configuration
                              (activities (list sugar-browse-activity
                                                sugar-help-activity
                                                sugar-jukebox-activity
                                                sugar-typing-turtle-activity))))
                   %desktop-services))
  )
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.

Variable: dbus-root-service-type

Diensttyp für einen Dienst, der den Systembus von D-Bus ausführt34.

Der Wert dieses Dienstes ist ein <dbus-configuration>-Verbundsobjekt.

Datentyp: dbus-configuration

Datentyp, der die Konfiguration vom dbus-root-service-type repräsentiert.

dbus (Vorgabe: dbus) (Typ: dateiartig)

Paketobjekt für dbus.

services (Vorgabe: '()) (Typ: Assoziative-Liste)

Liste von Paketen, 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.

verbose? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

Wenn es auf #t gesetzt ist, wird beim Start von D-Bus dessen Umgebungsvariable ‘DBUS_VERBOSE’ für ausführliche Protokollierung auf ‘1’ gesetzt. Damit das auch etwas bewirkt, muss für dbus ein D-Bus-Paket mit Unterstützung dafür angegeben werden, etwa dbus-verbose. Das ausführliche Protokoll finden Sie in /var/log/dbus-daemon.log.

Elogind

Elogind ist ein Anmelde- und Sitzungsdaemon, der zudem die meisten Energieereignisse auf Systemebene in einem Rechner behandelt, wie etwa ein Versetzen des Systems in Bereitschaft, wenn der Rechner zugeklappt wird, oder ein Herunterfahren beim Drücken des Stromschalters.

Auch stellt er 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.

Variable: elogind-service-type

Dies ist der Diensttyp, um elogind, einen Anmelde- und Sitzungsdaemon, auszuführen. Der Wert dieses Diensttyps ist ein <elogind-configuration>-Objekt.

Datentyp: elogind-configuration

Datentyp, der die Konfiguration von elogind repräsentiert.

elogind (Vorgabe: elogind) (Typ: dateiartig)

kill-user-processes? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

kill-only-users (Vorgabe: '()) (Typ: Liste)

kill-exclude-users (Vorgabe: '("root")) (Typ: Liste-von-Zeichenketten)

inhibit-delay-max-seconds (Vorgabe: 5) (Typ: Ganze-Zahl)

handle-power-key (Vorgabe: 'poweroff) (Typ: Symbol)

handle-suspend-key (Vorgabe: 'suspend) (Typ: Symbol)

handle-hibernate-key (Vorgabe: 'hibernate) (Typ: Symbol)

handle-lid-switch (Vorgabe: 'suspend) (Typ: Symbol)

handle-lid-switch-docked (Vorgabe: 'ignore) (Typ: Symbol)

handle-lid-switch-external-power (Vorgabe: *unspecified*) (Typ: Symbol)

power-key-ignore-inhibited? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

suspend-key-ignore-inhibited? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

hibernate-key-ignore-inhibited? (Vorgabe: #f) (Typ: Boolescher-Ausdruck)

lid-switch-ignore-inhibited? (Vorgabe: #t) (Typ: Boolescher-Ausdruck)

holdoff-timeout-seconds (Vorgabe: 30) (Typ: Ganze-Zahl)

idle-action (Vorgabe: 'ignore) (Typ: Symbol)

idle-action-seconds (Vorgabe: (* 30 60)) (Typ: Ganze-Zahl)

runtime-directory-size-percent (Vorgabe: 10) (Typ: Ganze-Zahl)

runtime-directory-size (Vorgabe: #f) (Typ: Ganze-Zahl)

remove-ipc? (Vorgabe: #t) (Typ: Boolescher-Ausdruck)

suspend-state (Vorgabe: '("mem" "standby" "freeze")) (Typ: Liste)

suspend-mode (Vorgabe: '()) (Typ: Liste)

hibernate-state (Vorgabe: '("disk")) (Typ: Liste)

hibernate-mode (Vorgabe: '("platform" "shutdown")) (Typ: Liste)

hybrid-sleep-state (Vorgabe: '("disk")) (Typ: Liste)

hybrid-sleep-mode (Vorgabe: '("suspend" "platform" "shutdown")) (Typ: Liste)

hibernate-delay-seconds (default: *unspecified*) (type: integer)

suspend-estimation-seconds (default: *unspecified*) (type: integer)

Variable: accountsservice-service-type

Diensttyp für 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.

Der Wert dieses Dienstes ist ein dateiartiges Objekt; vorgegeben ist accountsservice (das Paketobjekt für AccountsService).

Variable: polkit-service-type

Diensttyp für einen Dienst, der Polkit 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.

Der Wert dieses Dienstes muss ein <polkit-configuration>-Objekt sein.

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.

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: #t)

Ob sich die Richtlinie am Akku-Ladestand in Prozent statt an der verbleibenden Zeit orientieren soll. Eine Richtlinie, die den Prozentstand als Orientierung nimmt, ist in der Regel zuverlässiger.

percentage-low (Vorgabe: 20)

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: 5)

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.
Variable: udisks-service-type

Diensttyp für den 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. Beachten Sie, dass Udisks über den Befehl mount funktioniert; man kann damit also nur die Dateisystemwerkzeuge benutzen, die ins Systemprofil installiert sind. Wenn Sie also NTFS-Dateisysteme zum Lesen und Schreiben öffnen können möchten, müssen Sie ntfs-3g systemweit installiert haben.

Der Wert dieses Dienstes muss ein <udisks-configuration>-Objekt sein.

Datentyp: udisks-configuration

Datentyp, der die Konfiguration vom udisks-service-type repräsentiert.

udisks (Vorgabe: udisks) (Typ: dateiartig)

Paketobjekt von UDisks.

Variable: gvfs-service-type

Type for the service that provides virtual file systems for GIO applications, which enables support for trash://, ftp://, sftp:// and many other location schemas in file managers like Nautilus (GNOME Files) and Thunar.

Der Wert dieses Dienstes muss ein <gvfs-configuration>-Objekt sein.

Datentyp: gvfs-configuration

Datentyp, der die Konfiguration vom gvfs-service-type repräsentiert.

gvfs (Vorgabe: gvfs) (Typ: dateiartig)

Paketobjekt für GVfs.

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.

Variable: sane-service-type

Mit diesem Dienst wird Zugriff auf Scanner über SANE möglich, indem er die nötigen udev-Regeln installiert. Er ist Teil von %desktop-services (siehe Desktop-Dienste) und verwendet in den Vorgabeeinstellungen das Paket sane-backends-minimal (siehe unten) für die Hardwareunterstützung.

Variable: sane-backends-minimal

Das vorgegebene Paket, das durch den sane-service-type installiert wird. Es unterstützt viele aktuelle Scanner.

Variable: sane-backends

Dieses Paket bietet Unterstützung für alle Scanner, die sane-backends-minimal unterstützt, und außerdem für ältere Hewlett-Packard-Scanner, die das Paket hplip unterstützt. Um es auf einem System zu benutzen, das auf den %desktop-services aufbaut, können Sie modify-services benutzen (siehe modify-services), etwa so:

(use-modules (gnu))
(use-service-modules
  
  desktop)
(use-package-modules
  
  scanner)

(define %my-desktop-services
  ;; Alternative Diensteliste wie %desktop-services mit Unterstützung
  ;; für mehr Scanner.
  (modify-services %desktop-services
    (sane-service-type _ => sane-backends)))

(operating-system
  
  (services %my-desktop-services))
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.

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.

Variable: geoclue-service-type

Diensttyp für 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.

Der Wert dieses Dienstes muss ein <geoclue-configuration>-Objekt sein.

Variable: bluetooth-service-type

Dies ist der Diensttyp für das System zum Linux-Bluetooth-Protokollstapel (BlueZ), das die Konfigurationsdatei /etc/bluetooth/main.conf erzeugt. Der Wert für diesen Diensttyp ist ein bluetooth-configuration-Verbundsobjekt wie in diesem Beispiel:

Siehe unten für Details zur bluetooth-configuration.

Datentyp: bluetooth-configuration

Repräsentiert die Konfiguration für den bluetooth-service-type.

bluez (Vorgabe: bluez)

Zu benutzendes bluez-Paket.

name (Vorgabe: "BlueZ")

Welchen Namen Sie für den Adapter als Voreinstellung geben.

class (Vorgabe: #x000000)

Welche Geräteklasse Sie als Voreinstellung geben. Nur die Bits für „major device class“ und „minor device class“ werden beachtet.

discoverable-timeout (Vorgabe: 180)

Wie lange der Adapter erkennbar bleiben soll („discoverable mode“), bevor die Erkennbarkeit endet. Der Wert wird in Sekunden angegeben.

always-pairable? (Vorgabe: #f)

Koppeln von Geräten immer zulassen, so dass kein Agent registriert sein muss.

pairable-timeout (Vorgabe: 0)

Wie lange Koppeln möglich sein soll („pairable mode“), bevor die Erkennbarkeit endet. Der Wert wird in Sekunden angegeben.

device-id (Vorgabe: #f)

Dieses Gerät mit dieser Geräteidentifikatorbezugsquelle („vendor id source“, d.h. Assigner), Geräteidentifikator, Produkt- sowie Versionsinformationen im Device-ID-Profil ausweisen. Die Werte für assigner, VID, PID und version werden durch ":" getrennt.

Mögliche Werte sind:

  • #f, um nichts festzulegen.
  • "assigner:1234:5678:abcd", wobei assigner entweder usb ist (die Voreinstellung) oder bluetooth.
reverse-service-discovery? (Vorgabe: #t)

Bluetooth-Dienste auf Geräten erkennen, die sich mit unserem Gerät verbinden. Bei BR/EDR braucht man diese Option eigentlich nur für den Qualifizierungsprozess, weil der BITE-Tester in manchen Testfällen etwas gegen inverses SDP hat; bei LE wird hiermit die Funktion als GATT-Client deaktiviert, was sinnvoll ist, wenn unser System nur als Peripheriegerät eingesetzt wird.

name-resolving? (Vorgabe: #t)

Namensauflösung bei Gerätesuche („Inquiry“) aktivieren. Legen Sie es auf #f fest, wenn Sie die Namen der entfernten Geräte nicht brauchen und Erkennungszyklen beschleunigen möchten.

debug-keys? (Vorgabe: #f)

Ob „debug link keys“ für die Laufzeit persistent gespeichert werden. Vorgegeben ist #f; sie bleiben also nur gültig, solange die Verbindung mit ihnen anhält.

controller-mode (Vorgabe: 'dual)

Schränkt die Controller auf das angegebene Transportprotokoll ein. Bei 'dual werden sowohl BR/EDR als auch LE benutzt (wenn die Hardware sie unterstützt).

Mögliche Werte sind:

  • 'dual
  • 'bredr
  • 'le
multi-profile (Vorgabe: 'off)

Unterstützung für Multi Profile Specification aktivieren. Hiermit kann eingestellt werden, ob ein System nur in Konfigurationen von Multiple Profiles Single Device (MPSD) laufen kann oder sowohl mit Konfigurationen in Multiple Profiles Single Device (MPSD) als auch Konfigurationen in Multiple Profiles Multiple Devices (MPMD) umgehen kann.

Mögliche Werte sind:

  • 'off
  • 'single
  • 'multiple
fast-connectable? (Vorgabe: #f)

Dauerhaft eine beschleunigte Verbindung („Fast Connectable“) bei Adaptern, die sie unterstützen, ermöglichen. Ist dies aktiviert, können sich andere Geräte schneller mit unserem verbinden, jedoch steigt der Stromverbrauch. Diese Funktion steht nur auf Kernel-Version 4.1 und neuer vollständig zur Verfügung.

privacy (Vorgabe: 'off)

Die Voreinstellung zur Verfolgbarkeit.

  • 'off: Nicht privat stellen.
  • 'network/on: Ein Gerät nimmt nur Mitteilungen („advertising packets“) von anderen Geräten an, die private Adressen enthalten. Mit manchen alten Geräten funktioniert das vielleicht nicht, weil es voraussetzt, dass für alles RPA(s) benutzt werden.
  • 'device: Auf „device privacy mode“ gestellte Geräte schützen nur vor Nachverfolgbarkeit des jeweiligen Geräts, aber wenn Mitteilungen von anderen Geräten deren Identity Address preisgeben, werden sie genauso akzeptiert wie eine private Adresse. Das gilt auch bei anderen Geräten, die in der Vergangenheit ihre IRK mitgeteilt hatten.

Des Weiteren gibt es folgende Möglichkeiten, wenn controller-mode auf 'dual gesetzt ist:

  • 'limited-network: Limited Discoverable Mode für Mitteilungen einsetzen, wodurch wie bei BR/EDR die Identity Address mitgeteilt wird, wenn das Gerät erkennbar ist, aber Network Privacy Mode beim Scannen nach Geräten gilt.
  • 'limited-network: Limited Discoverable Mode für Mitteilungen einsetzen, wodurch wie bei BR/EDR die Identity Address mitgeteilt wird, wenn das Gerät erkennbar ist, aber Device Privacy Mode beim Scannen nach Geräten gilt.
just-works-repairing (Vorgabe: 'never)

Wie auf einen vom anderen Gerät ausgelösten JUST-WORKS-Vorgang reagiert werden soll. Bei 'always wird das andere Gerät akzeptiert, bei 'never abgelehnt und bei 'confirm nachgefragt.

Mögliche Werte sind:

  • 'never
  • 'confirm
  • 'always
temporary-timeout (Vorgabe: 30)

Wie lange ein temporäres Gerät koppelbar bleibt. Der Wert wird in Sekunden angegeben. Bei 0 läuft die Zeit nie aus.

refresh-discovery? (Vorgabe: #t)

Zulassen, dass das Gerät eine SDP-Anfrage schickt, um bekannte Dienste zu ermitteln, sobald eine Verbindung hergestellt wurde.

experimental (Vorgabe: #f)

Experimentelle Funktionen und Schnittstellen bereitstellen. Sie können auch als Liste von UUIDs angegeben werden.

Mögliche Werte sind:

  • #t
  • #f
  • (list (uuid <uuid-1>) (uuid <uuid-2>) …).

Die Liste der möglichen UUIDs:

  • d4992530-b9ec-469f-ab01-6c481c47da1c: BlueZ Experimental Debug,
  • 671b10b5-42c0-4696-9227-eb28d1b049d6: BlueZ Experimental Simultaneous Central and Peripheral,
  • 15c0a148-c273-11ea-b3de-0242ac130004: BlueZ Experimental LL privacy,
  • 330859bc-7506-492d-9370-9a6f0614037f: BlueZ Experimental Bluetooth Quality Report,
  • a6695ace-ee7f-4fb9-881a-5fac66c629af: BlueZ Experimental Offload Codecs.
remote-name-request-retry-delay (Vorgabe: 300)

Wie lange nach einer fehlgeschlagenen Namensauflösung keine erneute Auflösung des Namens des anderen Geräts versucht werden soll.

page-scan-type (Vorgabe: #f)

Auf welche Art die Erkennung („Scan“) von Verbindungsversuchen („Paging“) bei BR/EDR durchgeführt wird.

page-scan-interval (Vorgabe: #f)

Aktivitätsintervall zwischen Anfängen von Erkennungsphasen von Verbindungsversuchen bei BR/EDR.

page-scan-window (Vorgabe: #f)

Aktivitätsfenster jeder Erkennungsphase von Verbindungsversuchen bei BR/EDR.

inquiry-scan-type (Vorgabe: #f)

Auf welche Art die Erkennung von Gerätesuchen („Inquiry“) bei BR/EDR durchgeführt wird.

inquiry-scan-interval (Vorgabe: #f)

Aktivitätsintervall zwischen Anfängen von Erkennungsphasen von Gerätesuchen bei BR/EDR.

inquiry-scan-window (Vorgabe: #f)

Aktivitätsfenster jeder Erkennungsphase von Gerätesuchen bei BR/EDR.

link-supervision-timeout (Vorgabe: #f)

Zeitbegrenzung, ab der eine inaktive Verbindung bei BR/EDR als getrennt gilt.

page-timeout (Vorgabe: #f)

Zeitbegrenzung, ab der ein unbeantworteter Verbindungsversuch bei BR/EDR als gescheitert gilt.

min-sniff-interval (Vorgabe: #f)

Minimale Intervalllänge im Sniff-Modus bei BR/EDR.

max-sniff-interval (Vorgabe: #f)

Maximale Intervalllänge im Sniff-Modus bei BR/EDR.

min-advertisement-interval (Vorgabe: #f)

Minimale Intervalllänge zwischen Mitteilungen bei LE (nur für Legacy Advertisement).

max-advertisement-interval (Vorgabe: #f)

Maximale Intervalllänge zwischen Mitteilungen bei LE (nur für Legacy Advertisement).

multi-advertisement-rotation-interval (Vorgabe: #f)

Wenn verschiedene Mitteilungen ausgegeben werden, mit welchem Intervall dazwischen rotiert wird, bei LE.

scan-interval-auto-connect (Vorgabe: #f)

Intervall zwischen Anfängen von Erkennungsphasen bei passiven Erkennungen zur Unterstützung für autonome Verbindung, bei LE.

scan-window-auto-connect (Vorgabe: #f)

Länge jedes Erkennungsfensters bei passiven Erkennungen zur Unterstützung für autonome Verbindung, bei LE.

scan-interval-suspend (Vorgabe: #f)

Intervall zwischen Anfängen von Erkennungsphasen bei aktiven Erkennungen zur Unterstützung für Wake-from-Suspend, bei LE.

scan-window-suspend (Vorgabe: #f)

Länge jedes Erkennungsfensters bei aktiven Erkennungen zur Unterstützung für Wake-from-Suspend, bei LE.

scan-interval-discovery (Vorgabe: #f)

Intervall zwischen Anfängen von Erkennungsphasen bei aktiven Erkennungen von sich mitteilenden Geräten, bei LE.

scan-window-discovery (Vorgabe: #f)

Länge jedes Erkennungsfensters bei aktiven Erkennungen von sich mitteilenden Geräten, bei LE.

scan-interval-adv-monitor (Vorgabe: #f)

Intervall zwischen Anfängen von Erkennungsphasen bei passiven Erkennungen zur Unterstützung der Advertisement-Monitor-Programmschnittstellen, bei LE.

scan-window-adv-monitor (Vorgabe: #f)

Länge jedes Erkennungsfensters bei passiven Erkennungen zur Unterstützung der Advertisement-Monitor-Programmschnittstellen, bei LE.

scan-interval-connect (Vorgabe: #f)

Intervall zwischen Anfängen von Erkennungsphasen beim Verbindungsaufbau.

scan-window-connect (Vorgabe: #f)

Länge jedes Erkennungsfensters beim Verbindungsaufbau.

min-connection-interval (Vorgabe: #f)

Kleinstes gewünschtes Intervall für eine Verbindung, bei LE. Demgegenüber hat Vorrang, wenn ein Wert über die Schnittstelle Load Connection Parameters bestimmt wird.

max-connection-interval (Vorgabe: #f)

Größtes gewünschtes Intervall für eine Verbindung, bei LE. Demgegenüber hat Vorrang, wenn ein Wert über die Schnittstelle Load Connection Parameters bestimmt wird.

connection-latency (Vorgabe: #f)

Gewünschte Latenz für eine Verbindung, bei LE. Demgegenüber hat Vorrang, wenn ein Wert über die Schnittstelle Load Connection Parameters bestimmt wird.

connection-supervision-timeout (Vorgabe: #f)

Gewünschte Zeitbegrenzung, ab der eine inaktive Verbindung als getrennt gilt, bei LE. Demgegenüber hat Vorrang, wenn ein Wert über die Schnittstelle Load Connection Parameters bestimmt wird.

autoconnect-timeout (Vorgabe: #f)

Gewünschte Zeitbegrenzung für autonome Verbindungsversuche, bei LE. Demgegenüber hat Vorrang, wenn ein Wert über die Schnittstelle Load Connection Parameters bestimmt wird.

adv-mon-allowlist-scan-duration (Vorgabe: 300)

Dauer der Erkennungsphasen für Geräte auf der Liste erlaubter Geräte bei verzahnten Arten der Erkennungsphase („Interleaving Scan“). Wird nur bei Erkennungsphasen für Advertisement Monitors benutzt. Gemessen in Millisekunden.

adv-mon-no-filter-scan-duration (Vorgabe: 500)

Dauer der Erkennungsphasen für ungefiltert alle Geräte bei verzahnten Arten der Erkennungsphase („Interleaving Scan“). Wird nur bei Erkennungsphasen für Advertisement Monitors benutzt. Gemessen in Millisekunden.

enable-adv-mon-interleave-scan? (Vorgabe: #t)

Verzahnte Arten der Erkennungsphasen für Advertisement Monitors benutzen, was beim Energiesparen hilft.

cache (Vorgabe: 'always)

GATT-Attribute-Zwischenspeicher.

Mögliche Werte sind:

  • 'always: Immer Attribute zwischenspeichern, selbst von nicht gekoppelten Geräten. So klappt die Zusammenarbeit mit Geräten am besten, die Dauer für eine erneute Verbindung bleibt konsistent und man kann Benachrichtigungen für alle Geräte nachvollziehen.
  • 'yes: Nur für gekoppelte Geräte deren Attribute speichern.
  • 'no: Niemals Attribute zwischenspeichern.
key-size (Vorgabe: 0)

Kleinste von diesem Gerät eingeforderte Schlüsselgröße („Encryption Key Size“), um auf die gesicherten Charakteristika zuzugreifen.

Mögliche Werte sind:

  • 0: Keine Anforderungen.
  • 7 <= N <= 16
exchange-mtu (Vorgabe: 517)

Wie groß die „Exchange MTU“ für GATT sein soll. Mögliche Werte sind:

  • 23 <= N <= 517
att-channels (Vorgabe: 3)

Anzahl der ATT-Kanäle. Mögliche Werte sind:

  • 1: EATT ist deaktiviert.
  • 2 <= N <= 5
session-mode (Vorgabe: 'basic)

Für AVDTP der Modus des L2CAP-Signaling-Kanals.

Mögliche Werte sind:

  • 'basic: L2CAP Basic Mode benutzen.
  • 'ertm: L2CAP Enhanced Retransmission Mode benutzen.
stream-mode (Vorgabe: 'basic)

Für AVDTP der Modus des L2CAP Transport Channel.

Mögliche Werte sind:

  • 'basic: L2CAP Basic Mode benutzen.
  • 'streaming: L2CAP Streaming Mode benutzen.
reconnect-uuids (Vorgabe: '())

Als die ReconnectUUIDs definieren Sie diejenigen Dienste entfernter Geräte, mit denen eine neue Verbindung aufgebaut werden soll, wenn die Verbindung abreißt (durch „link supervision timeout“, d.h. die Zeitbegrenzung, ab der eine inaktive Verbindung als getrennt gilt). Im Policy-Plugin sollte eine vernünftige Voreinstellung zu finden sein. Die Liste hier hat Vorrang. Wenn Sie die leere Liste angeben, werden Verbindungen nicht neu aufgebaut.

Mögliche Werte sind:

  • '()
  • (list (uuid <uuid-1>) (uuid <uuid-2>) …).
reconnect-attempts (Vorgabe: 7)

Wie oft bei einem Verbindungsverlust versucht werden soll, eine neue Verbindung aufzubauen. Für den Wert 0 wird Neuverbinden deaktiviert.

reconnect-intervals (Vorgabe: '(1 2 4 8 16 32 64))

Definiert eine Liste von Zeitintervallen in Sekunden, wie lange nach jedem Versuch gewartet wird. Wenn die in reconnect-attempts festgelegte Anzahl Versuche größer ist als die Liste der Zeitintervalle lang ist, wird das letzte Intervall wiederholt, bis alle Versuche ausgeschöpft sind.

auto-enable? (Vorgabe: #f)

Ob alle erkannten Controller sofort aktiviert werden sollen. Dazu zählen Adapter, die beim Hochfahren schon verfügbar sind, wie auch Adapter, die später erst eingesteckt werden.

resume-delay (Vorgabe: 2)

Audio-Geräte, die durch einen Ruhezustand getrennt wurden, werden beim Aufwecken neu verbunden. Mit resume-delay wird festgelegt, wie lange nach dem Aufwecken des Controllers mit einem Neuverbindungsversuch gewartet wird. Wenn mit der Neuverbindung länger gewartet wird, gibt es weniger Probleme mit gleichzeitig genutztem WLAN. Der Wert wird in Sekunden angegeben.

rssi-sampling-period (Vorgabe: #xFF)

Voreinstellung für die RSSI-Abtastperiode. Sie wird benutzt, wenn ein Client einen Advertisement Monitor registriert und die RSSISamplingPeriod nicht vorgibt.

Mögliche Werte sind:

  • #x0: Alle Mitteilungen melden.
  • N = #xXX: Mitteilungen alle N x 100 msec melden (aus dem Bereich: #x01 to #xFE)
  • #xFF: In der Beobachtungsphase nur eine Mitteilung pro Gerät melden.
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üsselbund-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.

Variable: seatd-service-type

seatd ist ein minimaler Daemon zur Sitzungsverwaltung.

Sitzungsverwaltung bedeutet, dass der Zugriff auf gemeinsame Geräte (Grafik, Eingabegeräte) vermittelt wird, ohne dass die Anwendungen, die zugreifen wollen, Administratorrechte brauchen.

(append
  (list
   ;; damit seatd läuft
   (service seatd-service-type))

  ;; normalerweise zusammen mit %base-services
  %base-services)

seatd funktioniert über einen Unix-Socket. Dabei stellt libseat den clientseitigen Teil des Protokolls bereit. Wenn Anwendungen über seatd Zugriff auf die gemeinsamen Ressourcen brauchen (z.B. sway), dann müssen sie Zugriff auf diesen Socket haben. Um das zu bewerkstelligen, kann man das Benutzerkonto, mit dem sie laufen, zur Gruppe hinzufügen, der der Socket von seatd gehört (in der Regel die Gruppe „seat“). Das geht so:

(user-account
  (name "alice")
  (group "users")
  (supplementary-groups '("wheel"   ;zur sudo-Nutzung usw. berechtigen
                          "seat"    ;Sitzungsverwaltung
                          "audio"   ;Soundkarte
                          "video"   ;Videogeräte wie Webcams
                          "cdrom")) ;die gute alte CD-ROM
  (comment "Bobs Schwester"))

Je nachdem, wie Sie das System einrichten, müssen Sie nicht nur normale Benutzer, sondern auch Systembenutzerkonten, zu dieser Gruppe hinzufügen. Zum Beispiel verlangen manche greetd-Greeter, dass Grafik zur Verfügung steht, also müssen auch diese Benutzerkonten das mit seatd aushandeln können.

Datentyp: seatd-configuration

Verbundsobjekt für die Konfiguration des seatd-Daemon-Dienstes.

seatd (Vorgabe: seatd)

Das zu benutzende seatd-Paket.

group (Vorgabe: ‘"seat"’)

Die Gruppe, die den seatd-Socket besitzt.

socket (Vorgabe: ‘"/run/seatd.sock"’)

Wo der seatd-Socket erzeugt wird.

logfile (Vorgabe: ‘"/var/log/seatd.log"’)

In welche Protokolldatei geschrieben wird.

loglevel (Vorgabe: ‘"error"’)

Die Protokollierungsstufe, wie ausführlich die Ausgaben ins Protokoll sind. Mögliche Werte: ‘"silent"’ (keine Ausgaben), ‘"error"’ (nur Fehler), ‘"info"’ und ‘"debug"’ (zur Fehlersuche).


Fußnoten

(34)

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.


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