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


12.9.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:

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, lxqt-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 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.

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.

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.

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

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 '()] [#:verbose?] Liefert einen Dienst, der den „Systembus“ mit dbus

ausführt, mit Unterstützung für die als services übergebenen Dienste. Wenn verbose? auf wahr gesetzt ist, wird die 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.

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

handle-lid-switch-external-power

*unspecified*

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: #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.
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. 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.

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-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.

Scheme-Variable: sane-backends-minimal

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

Scheme-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))
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-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: 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.
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ü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.

Scheme-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).


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