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


12.9.1 Basisdienste

Das Modul (gnu services base) stellt Definitionen für Basis-Dienste zur Verfügung, von denen man erwartet, dass das System sie anbietet. Im Folgenden sind die von diesem Modul exportierten Dienste aufgeführt.

Scheme-Variable: %base-services

Diese Variable enthält eine Liste von Basis-Diensten, die man auf einem System vorzufinden erwartet (siehe Diensttypen und Dienste für weitere Informationen zu Dienstobjekten): ein Anmeldungsdienst (mingetty) auf jeder Konsole (jedem „tty“), syslogd, den Name Service Cache Daemon (nscd) von libc, die udev-Geräteverwaltung und weitere.

Dies ist der Vorgabewert für das services-Feld für die Dienste von operating-system-Deklarationen. Normalerweise werden Sie, wenn Sie ein Betriebssystem anpassen, Dienste an die %base-services-Liste anhängen, wie hier gezeigt:

Scheme-Variable: special-files-service-type

Dieser Dienst richtet „besondere Dateien“ wie /bin/sh ein; eine Instanz des Dienstes ist Teil der %base-services.

Der mit special-files-service-type-Diensten assoziierte Wert muss eine Liste von Tupeln sein, deren erstes Element eine „besondere Datei“ und deren zweites Element deren Zielpfad ist. Der Vorgabewert ist:

`(("/bin/sh" ,(file-append bash "/bin/sh"))
  ("/usr/bin/env" ,(file-append coreutils "/bin/env")))

Wenn Sie zum Beispiel auch /bin/bash zu Ihrem System hinzufügen möchten, können Sie den Wert ändern auf:

`(("/bin/sh" ,(file-append bash "/bin/sh"))
  ("/usr/bin/env" ,(file-append coreutils "/bin/env"))
  ("/bin/bash" ,(file-append bash "/bin/bash")))

Da dieser Dienst Teil der %base-services ist, können Sie modify-services benutzen, um die Liste besonderer Dateien abzuändern (siehe modify-services). Die leichte Alternative, um eine besondere Datei hinzuzufügen, ist über die Prozedur extra-special-file (siehe unten).

Scheme-Prozedur: extra-special-file Datei Ziel

Das Ziel als „besondere Datei“ Datei verwenden.

Beispielsweise können Sie die folgenden Zeilen in das services-Feld Ihrer Betriebssystemdeklaration einfügen für eine symbolische Verknüpfung /usr/bin/env:

(extra-special-file "/usr/bin/env"
                    (file-append coreutils "/bin/env"))
Scheme-Prozedur: host-name-service Name

Liefert einen Dienst, der den Rechnernamen (den „Host“-Namen des Rechners) als Name festlegt.

Scheme-Variable: console-font-service-type

Installiert die angegebenen Schriftarten auf den festgelegten TTYs (auf dem Linux-Kernel werden Schriftarten für jede virtuelle Konsole einzeln festgelegt). Als Wert nimmt dieser Dienst eine Liste von Paaren aus TTY und Schriftart. Als Schriftart kann der Name einer vom kbd-Paket zur Verfügung gestellten Schriftart oder ein beliebiges gültiges Argument für setfont dienen. Ein Beispiel:

`(("tty1" . "LatGrkCyr-8x16")
  ("tty2" . ,(file-append
                font-tamzen
                "/share/kbd/consolefonts/TamzenForPowerline10x20.psf"))
  ("tty3" . ,(file-append
                font-terminus
                "/share/consolefonts/ter-132n"))) ; für HiDPI
Scheme-Prozedur: login-service Konfiguration

Liefert einen Dienst, der die Benutzeranmeldung möglich macht. Dazu verwendet er die angegebene Konfiguration, ein <login-configuration>-Objekt, das unter anderem die beim Anmelden angezeigte Mitteilung des Tages („Message of the Day“) festlegt.

Datentyp: login-configuration

Dies ist der Datentyp, der die Anmeldekonfiguration repräsentiert.

motd

Ein dateiartiges Objekt, das die „Message of the Day“ enthält.

allow-empty-passwords? (Vorgabe: #t)

Leere Passwörter standardmäßig zulassen, damit sich neue Anwender anmelden können, direkt nachdem das Benutzerkonto „root“ für den Administrator angelegt wurde.

Scheme-Prozedur: mingetty-service Konfiguration

Liefert einen Dienst, der mingetty nach den Vorgaben der Konfiguration ausführt, einem <mingetty-configuration>-Objekt, das unter anderem die Konsole (das „tty“) festlegt, auf der mingetty laufen soll.

Datentyp: mingetty-configuration

Dieser Datentyp repräsentiert die Konfiguration von Mingetty, der vorgegebenen Implementierung zur Anmeldung auf einer virtuellen Konsole.

tty

Der Name der Konsole, auf der diese Mingetty-Instanz läuft – z.B. "tty1".

auto-login (Vorgabe: #f)

Steht dieses Feld auf wahr, muss es eine Zeichenkette sein, die den Benutzernamen angibt, als der man vom System automatisch angemeldet wird. Ist es #f, so muss zur Anmeldung ein Benutzername und ein Passwort eingegeben werden.

login-program (Vorgabe: #f)

Dies muss entweder #f sein, dann wird das voreingestellte Anmeldeprogramm benutzt (login aus dem Shadow-Werkzeugsatz) oder der Name des Anmeldeprogramms als G-Ausdruck.

login-pause? (Vorgabe: #f)

Ist es auf #t gesetzt, sorgt es in Verbindung mit auto-login dafür, dass der Benutzer eine Taste drücken muss, ehe eine Login-Shell gestartet wird.

clear-on-logout? (Vorgabe: #t)

Ist dies auf #t gesetzt, wird der Bildschirm nach der Abmeldung nicht gelöscht.

mingetty (Vorgabe: mingetty)

Welches Mingetty-Paket benutzt werden soll.

Scheme-Prozedur: agetty-service Konfiguration

Liefert einen Dienst, um agetty entsprechend der Konfiguration auszuführen, welche ein <agetty-configuration>-Objekt sein muss, das unter anderem festlegt, auf welchem tty es laufen soll.

Datentyp: agetty-configuration

Dies ist der Datentyp, der die Konfiguration von agetty repräsentiert, was Anmeldungen auf einer virtuellen oder seriellen Konsole implementiert. Siehe die Handbuchseite agetty(8) für mehr Informationen.

tty

Der Name der Konsole, auf der diese Instanz von agetty läuft, als Zeichenkette – z.B. "ttyS0". Dieses Argument ist optional, sein Vorgabewert ist eine vernünftige Wahl unter den seriellen Schnittstellen, auf deren Benutzung der Linux-Kernel eingestellt ist.

Hierzu wird, wenn in der Kernel-Befehlszeile ein Wert für eine Option namens agetty.tty festgelegt wurde, der Gerätename daraus für agetty extrahiert und benutzt.

Andernfalls wird agetty, falls auf der Kernel-Befehlszeile eine Option console mit einem tty vorkommt, den daraus extrahierten Gerätenamen der seriellen Schnittstelle benutzen.

In beiden Fällen wird agetty nichts an den anderen Einstellungen für serielle Geräte verändern (Baud-Rate etc.), in der Hoffnung, dass Linux sie auf die korrekten Werte festgelegt hat.

baud-rate (Vorgabe: #f)

Eine Zeichenkette, die aus einer kommagetrennten Liste von einer oder mehreren Baud-Raten besteht, absteigend sortiert.

term (Vorgabe: #f)

Eine Zeichenkette, die den Wert enthält, der für die Umgebungsvariable TERM benutzt werden soll.

eight-bits? (Vorgabe: #f)

Steht dies auf #t, wird angenommen, dass das tty 8-Bit-korrekt ist, so dass die Paritätserkennung abgeschaltet wird.

auto-login (Vorgabe: #f)

Wird hier ein Anmeldename als eine Zeichenkette übergeben, wird der angegebene Nutzer automatisch angemeldet, ohne nach einem Anmeldenamen oder Passwort zu fragen.

no-reset? (Vorgabe: #f)

Steht dies auf #t, werden die Cflags des Terminals (d.h. dessen Steuermodi) nicht zurückgesetzt.

host (Vorgabe: #f)

Dies akzeptiert eine Zeichenkette mit dem einzutragenden Anmeldungs-Rechnernamen („login_host“), der in die Datei /var/run/utmpx geschrieben wird.

remote? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird in Verbindung mit host eine Befehlszeilenoption -r für einen falschen Rechnernamen („Fakehost“) in der Befehlszeile des mit login-program angegebenen Anmeldeprogramms übergeben.

flow-control? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird Hardware-Flusssteuerung (RTS/CTS) aktiviert.

no-issue? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird der Inhalt der Datei /etc/issue nicht angezeigt, bevor die Anmeldeaufforderung zu sehen ist.

init-string (Vorgabe: #f)

Dies akzeptiert eine Zeichenkette, die zum tty oder zum Modem zuerst vor allem anderen gesendet wird. Es kann benutzt werden, um ein Modem zu initialisieren.

no-clear? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird agetty den Bildschirm nicht löschen, bevor es die Anmeldeaufforderung anzeigt.

login-program (Vorgabe: (file-append shadow "/bin/login"))

Hier muss entweder ein G-Ausdruck mit dem Namen eines Anmeldeprogramms übergeben werden, oder dieses Feld wird nicht gesetzt, so dass als Vorgabewert das Programm login aus dem Shadow-Werkzeugsatz verwendet wird.

local-line (Vorgabe: #f)

Steuert den Leitungsschalter CLOCAL. Hierfür wird eines von drei Symbolen als Argument akzeptiert, 'auto, 'always oder 'never. Für #f wählt agetty als Vorgabewert 'auto.

extract-baud? (Vorgabe: #f)

Ist dies auf #t gesetzt, so wird agetty angewiesen, die Baud-Rate aus den Statusmeldungen mancher Arten von Modem abzulesen.

skip-login? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird der Benutzer nicht aufgefordert, einen Anmeldenamen einzugeben. Dies kann zusammen mit dem login-program-Feld benutzt werden, um nicht standardkonforme Anmeldesysteme zu benutzen.

no-newline? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird kein Zeilenumbruch ausgegeben, bevor die Datei /etc/issue ausgegeben wird.

login-options (Vorgabe: #f)

Dieses Feld akzeptiert eine Zeichenkette mit den Befehlszeilenoptionen für das Anmeldeprogramm. Beachten Sie, dass bei einem selbst gewählten login-program ein böswilliger Nutzer versuchen könnte, als Anmeldenamen etwas mit eingebetteten Befehlszeilenoptionen anzugeben, die vom Anmeldeprogramm interpretiert werden könnten.

login-pause (Vorgabe: #f)

Ist dies auf #t gesetzt, wird auf das Drücken einer beliebigen Taste gewartet, bevor die Anmeldeaufforderung angezeigt wird. Hiermit kann in Verbindung mit auto-login weniger Speicher verbraucht werden, indem man Shells erst erzeugt, wenn sie benötigt werden.

chroot (Vorgabe: #f)

Wechselt die Wurzel des Dateisystems auf das angegebene Verzeichnis. Dieses Feld akzeptiert einen Verzeichnispfad als Zeichenkette.

hangup? (Vorgabe: #f)

Mit dem Linux-Systemaufruf vhangup auf dem angegebenen Terminal virtuell auflegen.

keep-baud? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird versucht, die bestehende Baud-Rate beizubehalten. Die Baud-Raten aus dem Feld baud-rate werden benutzt, wenn agetty ein BREAK-Zeichen empfängt.

timeout (Vorgabe: #f)

Ist dies auf einen ganzzahligen Wert gesetzt, wird terminiert, falls kein Benutzername innerhalb von timeout Sekunden eingelesen werden konnte.

detect-case? (Vorgabe: #f)

Ist dies auf #t gesetzt, wird Unterstützung für die Erkennung von Terminals aktiviert, die nur Großschreibung beherrschen. Mit dieser Einstellung wird, wenn ein Anmeldename nur aus Großbuchstaben besteht, dieser als Anzeichen dafür aufgefasst, dass das Terminal nur Großbuchstaben beherrscht, und einige Umwandlungen von Groß- in Kleinbuchstaben aktiviert. Beachten Sie, dass dabei keine Unicode-Zeichen unterstützt werden.

wait-cr? (Vorgabe: #f)

Wenn dies auf #t gesetzt ist, wird gewartet, bis der Benutzer oder das Modem einen Wagenrücklauf („Carriage Return“) oder einen Zeilenvorschub („Linefeed“) absendet, ehe /etc/issue oder eine Anmeldeaufforderung angezeigt wird. Dies wird typischerweise zusammen mit dem Feld init-string benutzt.

no-hints? (Vorgabe: #f)

Ist es auf #t gesetzt, werden keine Hinweise zu den Feststelltasten Num-Taste, Umschaltsperre („Caps Lock“) und Rollen-Taste („Scroll Lock“) angezeigt.

no-hostname? (Vorgabe: #f)

Das vorgegebene Verhalten ist, den Rechnernamen auszugeben. Ist dieses Feld auf #t gesetzt, wird überhaupt kein Rechnername angezeigt.

long-hostname? (Vorgabe: #f)

Das vorgegebene Verhalten ist, den Rechnernamen nur bis zu seinem ersten Punkt anzuzeigen. Ist dieses Feld auf #t gesetzt, wird der vollständige Rechnername (der „Fully Qualified Hostname“), wie ihn gethostname oder getaddrinfo liefern, angezeigt.

erase-characters (Vorgabe: #f)

Dieses Feld akzeptiert eine Zeichenkette aus Zeichen, die auch als Rücktaste (zum Löschen) interpretiert werden sollen, wenn der Benutzer seinen Anmeldenamen eintippt.

kill-characters (Vorgabe: #f)

Dieses Feld akzeptiert eine Zeichenkette aus Zeichen, deren Eingabe als „ignoriere alle vorherigen Zeichen“ interpretiert werden soll (auch „Kill“-Zeichen genannt), wenn der Benutzer seinen Anmeldenamen eintippt.

chdir (Vorgabe: #f)

Dieses Feld akzeptiert eine Zeichenkette, die einen Verzeichnispfad angibt, zu dem vor der Anmeldung gewechselt wird.

delay (Vorgabe: #f)

Dieses Feld akzeptiert eine ganze Zahl mit der Anzahl Sekunden, die gewartet werden soll, bis ein tty geöffnet und die Anmeldeaufforderung angezeigt wird.

nice (Vorgabe: #f)

Dieses Feld akzeptiert eine ganze Zahl mit dem „nice“-Wert, mit dem das Anmeldeprogramm ausgeführt werden soll.

extra-options (Vorgabe: '())

Dieses Feld ist ein „Notausstieg“, mit dem Nutzer beliebige Befehlszeilenoptionen direkt an agetty übergeben können. Diese müssen hier als eine Liste von Zeichenketten angegeben werden.

shepherd-requirement (Vorgabe: '())

Mit dieser Option können zusätzliche Shepherd-Anforderungen für die einzelnen 'term-*-Shepherd-Dienste festgelegt werden (zum Beispiel 'syslogd).

Scheme-Prozedur: kmscon-service-type Konfiguration

Liefert einen Dienst, um kmscon entsprechend der Konfiguration auszuführen. Diese ist ein <kmscon-configuration>-Objekt, das unter anderem angibt, auf welchem tty es ausgeführt werden soll.

Datentyp: kmscon-configuration

Dieser Datentyp repräsentiert die Konfiguration von Kmscon, die das Anmelden auf virtuellen Konsolen ermöglicht.

virtual-terminal

Der Name der Konsole, auf der diese Kmscon läuft – z.B. "tty1".

login-program (Vorgabe: #~(string-append #$shadow "/bin/login"))

Ein G-Ausdruck, der den Namen des Anmeldeprogramms angibt. Als Vorgabe wird das Anmeldeprogramm login aus dem Shadow-Werkzeugsatz verwendet.

login-arguments (Vorgabe: '("-p"))

Eine Liste der Argumente, die an login übergeben werden sollen.

auto-login (Vorgabe: #f)

Wird hier ein Anmeldename als eine Zeichenkette übergeben, wird der angegebene Nutzer automatisch angemeldet, ohne nach einem Anmeldenamen oder Passwort zu fragen.

hardware-acceleration? (Vorgabe: #f)

Ob Hardware-Beschleunigung verwendet werden soll.

font-engine (Vorgabe: "pango")

Welcher Schriftartentreiber in Kmscon benutzt wird.

font-size (Vorgabe: 12)

Welche Schriftgröße in Kmscon benutzt wird.

keyboard-layout (Vorgabe: #f)

Wenn es auf #f gesetzt ist, benutzt Kmscon die voreingestellte Tastaturbelegung, also normalerweise US English („QWERTY“) für eine PC-Tastatur mit 105 Tasten.

Andernfalls muss hier ein keyboard-layout-Objekt stehen, das angibt, welche Tastaturbelegung aktiv sein soll. Siehe Tastaturbelegung für mehr Informationen, wie die Tastaturbelegung angegeben werden kann.

kmscon (Vorgabe: kmscon)

Das Kmscon-Paket, das benutzt werden soll.

Scheme-Prozedur: nscd-service [Konfiguration] [#:glibc glibc] [#:name-services '()] Liefert einen Dienst, der den Name Service Cache

Daemon (nscd) von libc mit der angegebenen Konfiguration ausführt – diese muss ein <nscd-configuration>-Objekt sein. Siehe Name Service Switch für ein Beispiel.

Der Einfachheit halber bietet der Shepherd-Dienst für nscd die folgenden Aktionen an:

invalidate

Dies macht den angegebenen Zwischenspeicher ungültig. Wenn Sie zum Beispiel:

herd invalidate nscd hosts

ausführen, wird der Zwischenspeicher für die Auflösung von Rechnernamen (von „Host“-Namen) des nscd ungültig.

statistics

Wenn Sie herd statistics nscd ausführen, werden Ihnen Informationen angezeigt, welche Ihnen Informationen über den nscd-Zustand und die Zwischenspeicher angezeigt.

Scheme-Variable: %nscd-default-configuration

Dies ist der vorgegebene Wert für die <nscd-configuration> (siehe unten), die nscd-service benutzt. Die Konfiguration benutzt die Zwischenspeicher, die in %nscd-default-caches definiert sind; siehe unten.

Datentyp: nscd-configuration

Dieser Datentyp repräsentiert die Konfiguration des Name Service Caching Daemon (kurz „nscd“).

name-services (Vorgabe: '())

Liste von Paketen, die Namensdienste bezeichnen, die für den nscd sichtbar sein müssen, z.B. (list nss-mdns).

glibc (Vorgabe: glibc)

Ein Paket-Objekt, das die GNU-C-Bibliothek angibt, woraus der nscd-Befehl genommen werden soll.

log-file (Vorgabe: "/var/log/nscd.log")

Name der nscd-Protokolldatei. Hierhin werden Ausgaben zur Fehlersuche geschrieben, falls debug-level echt positiv ist.

debug-level (Vorgabe: 0)

Eine ganze Zahl, die den Detailgrad der Ausgabe zur Fehlersuche angibt. Größere Zahlen bewirken eine ausführlichere Ausgabe.

caches (Vorgabe: %nscd-default-caches)

Liste der <nscd-cache>-Objekte, die repräsentieren, was alles zwischengespeichert werden soll; siehe unten.

Datentyp: nscd-cache

Ein Datentyp, der eine Zwischenspeicher-Datenbank von nscd mitsamt ihren Parametern definiert.

Datenbank

Dies ist ein Symbol, was den Namen der Datenbank repräsentiert, die zwischengespeichert werden soll. Gültige Werte sind passwd, group, hosts und services, womit jeweils die entsprechende NSS-Datenbank bezeichnet wird (siehe NSS Basics in Referenzhandbuch der GNU-C-Bibliothek).

positive-time-to-live
negative-time-to-live (Vorgabe: 20)

Eine Zahl, die für die Anzahl an Sekunden steht, die ein erfolgreiches (positives) oder erfolgloses (negatives) Nachschlageresultat im Zwischenspeicher verbleibt.

check-files? (Vorgabe: #t)

Ob auf Änderungen an den der database entsprechenden Dateien reagiert werden soll.

Wenn database zum Beispiel hosts ist, wird, wenn dieses Feld gesetzt ist, nscd Änderungen an /etc/hosts beobachten und berücksichtigen.

persistent? (Vorgabe: #t)

Ob der Zwischenspeicher dauerhaft auf der Platte gespeichert werden soll.

shared? (Vorgabe: #t)

Ob der Zwischenspeicher zwischen den Nutzern geteilt werden soll.

max-database-size (Vorgabe: 32 MiB)

Die Maximalgröße des Datenbank-Zwischenspeichers in Bytes.

Scheme-Variable: %nscd-default-caches

Liste von <nscd-cache>-Objekten, die von der vorgegebenen nscd-configuration benutzt werden (siehe oben).

Damit wird dauerhaftes und aggressives Zwischenspeichern beim Nachschlagen von Dienst- und Rechnernamen („Host“-Namen) aktiviert. Letzteres verbessert die Leistungsfähigkeit beim Nachschlagen von Rechnernamen, sorgt für mehr Widerstandsfähigkeit gegenüber unverlässlichen Namens-Servern und bietet außerdem einen besseren Datenschutz – oftmals befindet sich das Ergebnis einer Anfrage nach einem Rechnernamen bereits im lokalen Zwischenspeicher und externe Namens-Server müssen nicht miteinbezogen werden.

Datentyp: syslog-configuration

Dieser Datentyp repräsentiert die Konfiguration des syslog-Daemons.

syslogd (Vorgabe: #~(string-append #$inetutils "/libexec/syslogd"))

Welcher Syslog-Daemon benutzt werden soll.

config-file (Vorgabe: %default-syslog.conf)

Die zu benutzende syslog-Konfigurationsdatei.

Scheme-Prozedur: syslog-service Konfiguration

Liefert einen Dienst, der einen syslog-Daemon entsprechend der Konfiguration ausführt.

Siehe syslogd invocation in GNU Inetutils für weitere Informationen über die Syntax der Konfiguration.

Scheme-Variable: guix-service-type

Dies ist der Typ für den Dienst, der den Erstellungs-Daemon guix-daemon ausführt (siehe Aufruf von guix-daemon). Als Wert muss ein guix-configuration-Verbundsobjekt verwendet werden, wie unten beschrieben.

Datentyp: guix-configuration

Dieser Datentyp repräsentiert die Konfiguration des Erstellungs-Daemons von Guix. Siehe Aufruf von guix-daemon für weitere Informationen.

guix (Vorgabe: guix)

Das zu verwendende Guix-Paket.

build-group (Vorgabe: "guixbuild")

Der Name der Gruppe, zu der die Erstellungs-Benutzerkonten gehören.

build-accounts (Vorgabe: 10)

Die Anzahl zu erzeugender Erstellungs-Benutzerkonten.

authorize-key? (Vorgabe: #t)

Ob die unter authorized-keys aufgelisteten Substitutschlüssel autorisiert werden sollen – vorgegeben ist, den von ci.guix.gnu.org und bordeaux.guix.gnu.org zu autorisieren (siehe Substitute).

Wenn authorize-key? wahr ist, kann /etc/guix/acl durch einen Aufruf von guix archive --authorize nicht verändert werden. Sie müssen stattdessen die guix-configuration wie gewünscht anpassen und das System rekonfigurieren. Dadurch wird sichergestellt, dass die Betriebssystemkonfigurationsdatei eigenständig ist.

Anmerkung: Wenn Sie ein System mit auf wahr gesetztem authorize-key? starten oder dahin rekonfigurieren, wird eine Sicherungskopie der bestehenden /etc/guix/acl als /etc/guix/acl.bak angelegt, wenn festgestellt wurde, dass jemand die Datei von Hand verändert hatte. Das passiert, um die Migration von früheren Versionen zu erleichtern, als eine direkte Modifikation der Datei /etc/guix/acl, „in place“, noch möglich war.

authorized-keys (Vorgabe: %default-authorized-guix-keys)

Die Liste der Dateien mit autorisierten Schlüsseln, d.h. eine Liste von Zeichenketten als G-Ausdrücke (siehe guix archive aufrufen). Der vorgegebene Inhalt ist der Schlüssel von ci.guix.gnu.org und bordeaux.guix.gnu.org (siehe Substitute). Siehe im Folgenden substitute-urls für ein Beispiel, wie Sie sie ändern können.

use-substitutes? (Vorgabe: #t)

Ob Substitute benutzt werden sollen.

substitute-urls (Vorgabe: %default-substitute-urls)

Die Liste der URLs, auf denen nach Substituten gesucht wird, wenn nicht anders angegeben.

Wenn Sie zum Beispiel gerne Substitute von guix.example.org zusätzlich zu ci.guix.gnu.org laden würden, müssen Sie zwei Dinge tun: Erstens guix.example.org zu den substitute-urls hinzufügen und zweitens dessen Signierschlüssel autorisieren, nachdem Sie ihn hinreichend geprüft haben (siehe Substitut-Server autorisieren). Mit der Konfiguration unten wird das erledigt:

(guix-configuration
  (substitute-urls
   (append (list "https://guix.example.org")
           %default-substitute-urls))
  (authorized-keys
   (append (list (local-file "./guix.example.org-key.pub"))
           %default-authorized-guix-keys)))

In diesem Beispiel wird angenommen, dass die Datei ./guix.example.org-key.pub den öffentlichen Schlüssel enthält, mit dem auf guix.example.org Substitute signiert werden.

generate-substitute-key? (Vorgabe: #t)

Ob ein Schlüsselpaar für Substitute als /etc/guix/signing-key.pub und /etc/guix/signing-key.sec erzeugt werden soll, wenn noch keines da ist.

Mit dem Schlüsselpaar werden Store-Objekte exportiert, z.B. bei guix publish (siehe guix publish aufrufen) oder guix archive (siehe guix archive aufrufen). Es zu erzeugen dauert einige Sekunden, wenn genug Entropie vorrätig ist, und ist auch nur einmal nötig, aber z.B. auf virtuellen Maschinen, die so etwas nicht brauchen, schalten Sie es vielleicht lieber aus, wenn die zusätzliche Zeit beim Systemstart ein Problem darstellt.

max-silent-time (Vorgabe: 0)
timeout (Vorgabe: 0)

Die Anzahl an Sekunden, die jeweils nichts in die Ausgabe geschrieben werden darf bzw. die es insgesamt dauern darf, bis ein Erstellungsprozess abgebrochen wird. Beim Wert null wird nie abgebrochen.

log-compression (Vorgabe: 'gzip)

Die für Erstellungsprotokolle zu benutzende Kompressionsmethode – entweder gzip, bzip2 oder none.

discover? (Vorgabe: #f)

Ob im lokalen Netzwerk laufende Substitutserver mit mDNS und DNS-SD ermittelt werden sollen oder nicht.

extra-options (Vorgabe: '())

Eine Liste zusätzlicher Befehlszeilenoptionen zu guix-daemon.

log-file (Vorgabe: "/var/log/guix-daemon.log")

Die Datei, in die die Standardausgabe und die Standardfehlerausgabe von guix-daemon geschrieben werden.

http-proxy (Vorgabe: #f)

Die URL des für das Herunterladen von Ableitungen mit fester Ausgabe und von Substituten zu verwendenden HTTP- und HTTPS-Proxys.

Sie können den für den Daemon benutzten Proxy auch zur Laufzeit ändern, indem Sie die set-http-proxy-Aktion aufrufen, wodurch er neu gestartet wird.

herd set-http-proxy guix-daemon http://localhost:8118

Um die Proxy-Einstellungen zu löschen, führen Sie dies aus:

herd set-http-proxy guix-daemon
tmpdir (Vorgabe: #f)

Ein Verzeichnispfad, der angibt, wo guix-daemon seine Erstellungen durchführt.

Datentyp: guix-extension

Dieser Datentyp repräsentiert die Parameter des Erstellungs-Daemons von Guix, die erweiterbar sind. Ein Objekt dieses Typs kann als Diensterweiterung für Guix verwendet werden. Siehe Dienstkompositionen für weitere Informationen.

authorized-keys (Vorgabe: '())

Eine Liste dateiartiger Objekte, wobei jedes Listenelement einen öffentlichen Schlüssel enthält.

substitute-urls (Vorgabe: '())

Eine Liste von Zeichenketten, die jeweils eine URL mit Substituten enthalten.

chroot-directories (Vorgabe: '())

Eine Liste von dateiartigen Objekten oder Zeichenketten, die Verzeichnisse anzeigen, die im Erstellungs-Daemon zusätzlich nutzbar sind.

Scheme-Prozedur: udev-service [#:udev eudev #:rules '()]

Führt udev aus, was zur Laufzeit Gerätedateien ins Verzeichnis /dev einfügt. udev-Regeln können über die rules-Variable als eine Liste von Dateien übergeben werden. Die Prozeduren udev-rule, udev-rules-service und file->udev-rule aus (gnu services base) vereinfachen die Erstellung einer solchen Regeldatei.

The herd rules udev command, as root, returns the name of the directory containing all the active udev rules.

Scheme-Prozedur: udev-rule [Dateiname Inhalt]

Liefert eine udev-Regeldatei mit dem angegebenen Dateinamen, in der die vom Literal Inhalt definierten Regeln stehen.

Im folgenden Beispiel wird eine Regel für ein USB-Gerät definiert und in der Datei 90-usb-ding.rules gespeichert. Mit der Regel wird ein Skript ausgeführt, sobald ein USB-Gerät mit der angegebenen Produktkennung erkannt wird.

(define %beispiel-udev-rule
  (udev-rule
    "90-usb-ding.rules"
    (string-append "ACTION==\"add\", SUBSYSTEM==\"usb\", "
                   "ATTR{product}==\"Beispiel\", "
                   "RUN+=\"/pfad/zum/skript\"")))
Scheme-Prozedur: udev-rules-service [Name Regeln] [#:groups Gruppen] Liefert einen Dienst, der den Dienst vom Typ

udev-service-type um die Regeln erweitert und den Dienst vom Typ account-service-type um die Gruppen in Form von Systembenutzergruppen. Dazu wird ein Diensttyp name-udev-rules für den einmaligen Gebrauch erzeugt, den der zurückgelieferte Dienst instanziiert.

Hier zeigen wir, wie damit udev-service-type um die vorher definierte Regel %beispiel-udev-rule erweitert werden kann.

(operating-system
 ;; …
 (services
   (cons (udev-rules-service 'usb-ding %beispiel-udev-rule)
         %desktop-services)))
Scheme-Prozedur: file->udev-rule [Dateiname Datei]

Liefert eine udev-Datei mit dem angegebenen Dateinamen, in der alle in der Datei, einem dateiartigen Objekt, definierten Regeln stehen.

Folgendes Beispiel stellt dar, wie wir eine bestehende Regeldatei verwenden können.

(use-modules (guix download)     ;für url-fetch
             (guix packages)     ;für origin
             )

(define %android-udev-rules
  (file->udev-rule
    "51-android-udev.rules"
    (let ((version "20170910"))
      (origin
       (method url-fetch)
       (uri (string-append "https://raw.githubusercontent.com/M0Rf30/"
                           "android-udev-rules/" version "/51-android.rules"))
       (sha256
        (base32 "0lmmagpyb6xsq6zcr2w1cyx9qmjqmajkvrdbhjx32gqf1d9is003"))))))

Zusätzlich können Guix-Paketdefinitionen unter den rules aufgeführt werden, um die udev-Regeln um diejenigen Definitionen zu ergänzen, die im Unterverzeichnis lib/udev/rules.d des jeweiligen Pakets aufgeführt sind. Statt des bisherigen Beispiels zu file->udev-rule hätten wir also auch das Paket android-udev-rules benutzen können, das in Guix im Modul (gnu packages android) vorhanden ist.

Das folgende Beispiel zeit, wie dieses Paket android-udev-rules benutzt werden kann, damit das „Android-Tool“ adb Geräte erkennen kann, ohne dafür Administratorrechte vorauszusetzen. Man sieht hier auch, wie die Benutzergruppe adbusers erstellt werden kann, die existieren muss, damit die im Paket android-udev-rules definierten Regeln richtig funktionieren. Um so eine Benutzergruppe zu erzeugen, müssen wir sie sowohl unter den supplementary-groups unserer user-account-Deklaration aufführen als auch sie im groups-Feld der udev-rules-service-Prozedur aufführen.

(use-modules (gnu packages android)  ;für android-udev-rules
             (gnu system shadow)     ;für user-group
             )

(operating-system
  ;; …
  (users (cons (user-account
                ;; …
                (supplementary-groups
                 '("adbusers"   ;für adb
                   "wheel" "netdev" "audio" "video")))))
  ;; …
  (services
    (cons (udev-rules-service 'android android-udev-rules
                              #:groups '("adbusers"))
          %desktop-services)))
Scheme-Variable: urandom-seed-service-type

Etwas Entropie in der Datei %random-seed-file aufsparen, die als Startwert (als sogenannter „Seed“) für /dev/urandom dienen kann, nachdem das System neu gestartet wurde. Es wird auch versucht, /dev/urandom beim Hochfahren mit Werten aus /dev/hwrng zu starten, falls /dev/hwrng existiert und lesbar ist.

Scheme-Variable: %random-seed-file

Der Name der Datei, in der einige zufällige Bytes vom urandom-seed-service abgespeichert werden, um sie nach einem Neustart von dort als Startwert für /dev/urandom auslesen zu können. Als Vorgabe wird /var/lib/random-seed verwendet.

Scheme-Variable: gpm-service-type

Dieser Typ wird für den Dienst verwendet, der GPM ausführt, den General-Purpose Mouse Daemon, welcher zur Linux-Konsole Mausunterstützung hinzufügt. GPM ermöglicht es seinen Benutzern, auch in der Konsole die Maus zu benutzen und damit etwa Text auszuwählen, zu kopieren und einzufügen.

Der Wert für Dienste dieses Typs muss eine gpm-configuration sein (siehe unten). Dieser Dienst gehört nicht zu den %base-services.

Datentyp: gpm-configuration

Repräsentiert die Konfiguration von GPM.

options (Vorgabe: %default-gpm-options)

Befehlszeilenoptionen, die an gpm übergeben werden. Die vorgegebenen Optionen weisen gpm an, auf Maus-Ereignisse auf der Datei /dev/input/mice zu lauschen. Siehe Command Line in gpm manual für weitere Informationen.

gpm (Vorgabe: gpm)

Das GPM-Paket, was benutzt werden soll.

Scheme-Variable: guix-publish-service-type

Dies ist der Diensttyp für guix publish (siehe guix publish aufrufen). Sein Wert muss ein guix-publish-configuration-Objekt sein, wie im Folgenden beschrieben.

Hierbei wird angenommen, dass /etc/guix bereits ein mit guix archive --generate-key erzeugtes Schlüsselpaar zum Signieren enthält (siehe guix archive aufrufen). Falls nicht, wird der Dienst beim Starten fehlschlagen.

Datentyp: guix-publish-configuration

Der Datentyp, der die Konfiguration des „guix publish“-Dienstes repräsentiert.

guix (Vorgabe: guix)

Das zu verwendende Guix-Paket.

port (Vorgabe: 80)

Der TCP-Port, auf dem auf Verbindungen gelauscht werden soll.

host (Vorgabe: "localhost")

Unter welcher Rechneradresse (welchem „Host“, also welcher Netzwerkschnittstelle) auf Verbindungen gelauscht wird. Benutzen Sie "0.0.0.0", wenn auf allen verfügbaren Netzwerkschnittstellen gelauscht werden soll.

advertise? (Vorgabe: #f)

Steht dies auf wahr, wird anderen Rechnern im lokalen Netzwerk über das Protokoll DNS-SD unter Verwendung von Avahi mitgeteilt, dass dieser Dienst zur Verfügung steht.

Dadurch können in der Nähe befindliche Guix-Maschinen mit eingeschalteter Ermittlung (siehe oben die guix-configuration) diese Instanz von guix publish entdecken und Substitute darüber beziehen.

compression (Vorgabe: '(("gzip" 3) ("zstd" 3)))

Dies ist eine Liste von Tupeln aus Kompressionsmethode und -stufe, die zur Kompression von Substituten benutzt werden. Um zum Beispiel alle Substitute mit beiden, sowohl lzip auf Stufe 7 und gzip auf Stufe 9, zu komprimieren, schreiben Sie:

'(("lzip" 7) ("gzip" 9))

Auf Stufe 9 ist das Kompressionsverhältnis am besten, auf Kosten von hoher Prozessorauslastung, während auf Stufe 1 eine schnelle Kompression erreicht wird. Siehe guix publish aufrufen für weitere Informationen zu den verfügbaren Kompressionsmethoden und ihren jeweiligen Vor- und Nachteilen.

Wird eine leere Liste angegeben, wird Kompression abgeschaltet.

nar-path (Vorgabe: "nar")

Der URL-Pfad, unter dem „Nars“ zum Herunterladen angeboten werden. Siehe --nar-path für Details.

cache (Vorgabe: #f)

Wenn dies #f ist, werden Archive nicht zwischengespeichert, sondern erst bei einer Anfrage erzeugt. Andernfalls sollte dies der Name eines Verzeichnisses sein – z.B. "/var/cache/guix/publish" –, in das guix publish fertige Archive und Metadaten zwischenspeichern soll. Siehe --cache für weitere Informationen über die jeweiligen Vor- und Nachteile.

workers (Vorgabe: #f)

Ist dies eine ganze Zahl, gibt es die Anzahl der Worker-Threads an, die zum Zwischenspeichern benutzt werden; ist es #f, werden so viele benutzt, wie es Prozessoren gibt. Siehe --workers für mehr Informationen.

cache-bypass-threshold (Vorgabe: 10 MiB)

Wenn cache wahr ist, ist dies die Maximalgröße in Bytes, die ein Store-Objekt haben darf, damit guix publish den Zwischenspeicher umgehen darf, falls eine Suche darin mit negativem Ergebnis ausfällt („Cache Miss“). Siehe --cache-bypass-threshold für weitere Informationen.

ttl (Vorgabe: #f)

Wenn dies eine ganze Zahl ist, bezeichnet sie die Time-to-live als die Anzahl der Sekunden, die heruntergeladene veröffentlichte Archive zwischengespeichert werden dürfen. Siehe --ttl für mehr Informationen.

negative-ttl (Vorgabe: #f)

Wenn dies eine ganze Zahl ist, bezeichnet sie die Time-to-live für erfolglose (negative) Suchen, als Anzahl der Sekunden. Siehe --negative-ttl für mehr Informationen.

Scheme-Prozedur: rngd-service [#:rng-tools rng-tools] [#:device "/dev/hwrng"] Liefert einen Dienst, der das

rngd-Programm aus den rng-tools benutzt, um das mit device bezeichnete Gerät zum Entropie-Pool des Kernels hinzuzufügen. Dieser Dienst wird fehlschlagen, falls das mit device bezeichnete Gerät nicht existiert.

Scheme-Prozedur: pam-limits-service [#:limits '()]

Liefert einen Dienst, der eine Konfigurationsdatei für das pam_limits-Modul installiert. Diese Prozedur nimmt optional eine Liste von pam-limits-entry-Werten entgegen, die benutzt werden können, um ulimit-Limits und nice-Prioritäten für Benutzersitzungen festzulegen.

Die folgenden Limit-Definitionen setzen zwei harte und weiche Limits für alle Anmeldesitzungen für Benutzer in der realtime-Gruppe.

(pam-limits-service
 (list
  (pam-limits-entry "@realtime" 'both 'rtprio 99)
  (pam-limits-entry "@realtime" 'both 'memlock 'unlimited)))

Der erste Eintrag erhöht die maximale Echtzeit-Priorität für unprivilegierte Prozesse ohne zusätzliche Berechtigungen; der zweite Eintrag hebt jegliche Einschränkungen des maximalen Adressbereichs auf, der im Speicher reserviert werden darf. Diese Einstellungen werden in dieser Form oft für Echtzeit-Audio-Systeme verwendet.

Ein weiteres nützliches Beispiel stellt das Erhöhen der Begrenzung dar, wie viele geöffnete Dateideskriptoren auf einmal benutzt werden können:

(pam-limits-service
 (list
  (pam-limits-entry "*" 'both 'nofile 100000)))

Im Beispiel oben steht das Sternchen dafür, dass die Beschränkung für alle Benutzer gelten soll. Es ist wichtig, dass Sie darauf achten, dass der Wert nicht größer als der Höchstwert des Systems ist, der in der Datei /proc/sys/fs/file-max zu finden ist, denn sonst könnten sich Benutzer nicht mehr anmelden. Weitere Informationen über Schranken im Pluggable Authentication Module (PAM) bekommen Sie, wenn Sie die Handbuchseite im linux-pam-Paket lesen.

Scheme-Variable: greetd-service-type

greetd ist ein minimaler und flexibler Daemon zur Anmeldeverwaltung, der nicht voraussetzt, dass zu startende Programme außergewöhnliche Anforderungen erfüllen müssen.

Wenn Sie etwas von der Shell in einer virtuellen Konsole aufrufen können, dann kann greetd das auch aufrufen. Wenn dem Programm ein einfaches JSON-basiertes Protokoll zur Interprozesskommunikation beigebracht werden kann, kann es für die Anmeldung verwendet werden als „Greeter“.

greetd-service-type steuert die Infrastruktur bei, um Nutzer anzumelden. Dazu gehört:

  • greetd-PAM-Dienst
  • Eine besondere Variation von pam-mount, mit der das XDG_RUNTIME_DIR-Verzeichnis eingebunden wird

Hier ist ein Beispiel, wie Sie von mingetty-service-type auf greetd-service-type umsteigen können und wie verschiedene Terminals eingerichtet werden könnten:

  (append
   (modify-services %base-services
     ;; greetd-service-type bringt uns den PAM-Dienst von "greetd"
     (delete login-service-type)
     ;; und er kann mingetty-service-type ersetzen
     (delete mingetty-service-type))
   (list
    (service greetd-service-type
             (greetd-configuration
              (terminals
               (list
                ;; wir haben die Wahl, welches Terminal anfangs aktiv sein soll
                (greetd-terminal-configuration (terminal-vt "1") (terminal-switch #t))
                ;; wir bestimmen, ob in der Umgebung XDG_RUNTIME_DIR gesetzt wird
                ;; und können sogar eigene Umgebungsvariable vorgeben
                (greetd-terminal-configuration
                 (terminal-vt "2")
                 (default-session-command
                   (greetd-agreety-session
                    (extra-env '(("MEINE_VAR" . "1")))
                    (xdg-env? #f))))
                ;; wir können eine andere Shell als wie vorgegeben bash benutzen
                (greetd-terminal-configuration
                 (terminal-vt "3")
                 (default-session-command
                   (greetd-agreety-session (command (file-append zsh "/bin/zsh")))))
                ;; wir können jeden ausführbaren Befehl zum Greeter machen
                (greetd-terminal-configuration
                 (terminal-vt "4")
                 (default-session-command (program-file "nichts-tun-greeter" #~(exit))))
                (greetd-terminal-configuration (terminal-vt "5"))
                (greetd-terminal-configuration (terminal-vt "6"))))))
    ;; mingetty-service-type kann auch parallel benutzt werden;
    ;; wenn man das will, sollte man (delete login-service-type)
    ;; oben weglassen
    #| (service mingetty-service-type (mingetty-configuration (tty "tty8"))) |#))
Datentyp: greetd-configuration

Das Verbundsobjekt mit der Konfiguration des greetd-service-type.

motd

Ein dateiartiges Objekt, das die „Message of the Day“ enthält.

allow-empty-passwords? (Vorgabe: #t)

Leere Passwörter standardmäßig zulassen, damit sich neue Anwender anmelden können, direkt nachdem das Benutzerkonto „root“ für den Administrator angelegt wurde.

terminals (Vorgabe: '())

Eine Liste von greetd-terminal-configuration für jedes Terminal, für das greetd gestartet werden soll.

greeter-supplementary-groups (Vorgabe: '())

Die Liste der Gruppen, zu denen das Benutzerkonto greeter hinzugefügt werden soll. Zum Beispiel:

(greeter-supplementary-groups '("seat" "video"))

Beachten Sie, diese Aktion schlägt fehl, wenn es die Gruppe seat nicht gibt.

Datentyp: greetd-terminal-configuration

Verbundsobjekt zur Konfiguration des greetd-Daemons auf einem der Terminals.

greetd (Vorgabe: greetd)

Das zu verwendende greetd-Paket.

config-file-name

Welchen Namen die Konfigurationsdatei des greetd-Daemons bekommen soll. Im Allgemeinen wird er automatisch aus dem Wert von terminal-vt abgeleitet.

log-file-name

Welchen Namen die Protokolldatei des greetd-Daemons bekommen soll. Im Allgemeinen wird er automatisch aus dem Wert von terminal-vt abgeleitet.

terminal-vt (Vorgabe: ‘"7"’)

Auf welchem virtuellen Terminal das hier läuft. Wir empfehlen, ein bestimmtes VT zu wählen und Konflikte zu vermeiden.

terminal-switch (Vorgabe: #f)

Ob dieses Terminal beim Start von greetd aktiv gemacht werden soll.

default-session-user (Vorgabe: ‘"greeter"’)

Mit welchem Benutzerkonto der Greeter ausgeführt werden soll.

default-session-command (Vorgabe: (greetd-agreety-session))

Dafür können Sie entweder eine Instanz einer Konfiguration mit greetd-agreety-session angeben oder mit gexp->script ein dateiartiges Objekt als Greeter benutzen.

Datentyp: greetd-agreety-session

Verbundstyp zur Konfiguration des greetd-Greeters agreety.

agreety (Vorgabe: greetd)

Das Paket mit dem Befehl /bin/agreety.

command (Vorgabe: (file-append bash "/bin/bash"))

Der bei erfolgreicher Anmeldung durch /bin/agreety auszuführende Befehl.

command-args (Vorgabe: '("-l"))

Die Befehlszeilenargumente, die an den command-Befehl übergeben werden.

extra-env (Vorgabe: '())

Zusätzliche Umgebungsvariable, die bei der Anmeldung gesetzt werden sollen.

xdg-env? (Vorgabe: #t)

Wenn es auf wahr steht, werden XDG_RUNTIME_DIR und XDG_SESSION_TYPE gesetzt, bevor command ausgeführt wird. Es ist zu bedenken, dass die extra-env sofort anschließend gesetzt werden und somit Vorrang haben.

Datentyp: greetd-wlgreet-session

Allgemeiner Verbundstyp zur Konfiguration des greetd-Greeters wlgreet.

wlgreet (Vorgabe: wlgreet)

Das Paket mit dem Befehl /bin/wlgreet.

command (Vorgabe: (file-append sway "/bin/sway"))

Der bei erfolgreicher Anmeldung durch /bin/wlgreet auszuführende Befehl.

command-args (Vorgabe: '())

Die Befehlszeilenargumente, die an den command-Befehl übergeben werden.

output-mode (Vorgabe: "all")

Was für die Option outputMode in die TOML-Konfigurationsdatei eingetragen wird.

scale (Vorgabe: 1)

Was für die Option scale in die TOML-Konfigurationsdatei eingetragen wird.

background (Vorgabe: '(0 0 0 0.9))

Eine RGBA-Liste, die die Hintergrundfarbe der Anmeldeaufforderung angibt.

headline (Vorgabe: '(1 1 1 1))

Eine RGBA-Liste, die die Farbe der Titelzeile in der Benutzeroberfläche angibt.

prompt (Vorgabe: '(1 1 1 1))

Eine RGBA-Liste, die die Farbe von Aufforderungen in der Benutzeroberfläche angibt.

prompt-error (Vorgabe: '(1 1 1 1))

Eine RGBA-Liste, die die Farbe von Fehlern in der Benutzeroberfläche angibt.

border (Vorgabe: '(1 1 1 1))

Eine RGBA-Liste, die die Farbe von Umrandungen in der Benutzeroberfläche angibt.

extra-env (Vorgabe: '())

Zusätzliche Umgebungsvariable, die bei der Anmeldung gesetzt werden sollen.

Datentyp: greetd-wlgreet-sway-session

Verbundstyp zur auf Sway bezogenen Konfiguration des greetd-Greeters wlgreet.

wlgreet-session (Vorgabe: (greetd-wlgreet-session))

Ein Verbundsobjekt vom Typ greetd-wlgreet-session, das die allgemeine wlgreet-Konfiguration enthält, zusätzlich zur auf Sway bezogenen greetd-wlgreet-sway-session.

sway (Vorgabe: sway)

Das Paket mit dem Befehl /bin/sway.

sway-configuration (Vorgabe: #f)

Ein dateiartiges Objekt, das eine Sway-Konfigurationsdatei enthält, die dem Pflichtteil der Konfiguration vorangestellt wird.

Hier ist ein Beispiel, wie Sie greetd unter Verwendung von wlgreet und Sway konfigurieren können:

  (greetd-configuration
   ;; Das greeter-Benutzerkonto benötigt diese Berechtigungen, sonst stürzt
   ;; Sway beim Start ab.
   (greeter-supplementary-groups (list "video" "input" "seat"))
   (terminals
    (list (greetd-terminal-configuration
           (terminal-vt "1")
           (terminal-switch #t)
           (default-session-command
            (greetd-wlgreet-sway-session
             (sway-configuration
              (local-file "sway-greetd.conf"))))))))

Nächste: Geplante Auftragsausführung, Nach oben: Dienste   [Inhalt][Index]