Nächste: Virtualisierungsdienste, Vorige: Dienste zur Stromverbrauchsverwaltung, Nach oben: Dienste [Inhalt][Index]
Das Modul (gnu services audio)
stellt einen Dienst zur Verfügung, um
MPD (den Music Player Daemon) zu starten.
Der Music Player Daemon (MPD) ist ein Dienst, der Musik abspielen kann und der dabei vom lokalen Rechner oder über das Netzwerk durch verschiedene Clients angesteuert werden kann.
Das folgende Beispiel zeigt, wie man mpd
als Benutzer "bob"
auf Port 6666
ausführen könnte. Dabei wird Pulseaudio zur Ausgabe
verwendet.
(service mpd-service-type
(mpd-configuration
(user "bob")
(port "6666")))
Der Diensttyp für mpd
.
Datentyp, der die Konfiguration von mpd
repräsentiert.
package
(Vorgabe: mpd
) (Typ: dateiartig)Das MPD-Paket.
user
(Vorgabe: %mpd-user
) (Typ: Benutzerkonto)Das Benutzerkonto, mit dem mpd ausgeführt wird.
Vorgegeben ist %mpd-user
, was für ein System-Benutzerkonto mit Namen
„mpd“ steht, das Mitglied der Benutzergruppe group ist (siehe unten).
group
(Vorgabe: %mpd-group
) (Typ: Benutzergruppe)Die Benutzergruppe, mit der mpd ausgeführt wird.
Vorgegeben ist %mpd-group
, was für eine System-Benutzergruppe mit
Namen „mpd“ steht.
shepherd-requirement
(default: '()
) (type: list-of-symbol)Eine Liste von Symbolen, die Shepherd-Dienste angeben, von welchen dieser Dienst abhängen soll.
environment-variables
(default: '("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")
) (type: list-of-strings)Eine Liste von Zeichenketten, die Umgebungsvariable festlegen.
log-file
(Vorgabe: "/var/log/mpd/log"
) (Typ: Vielleicht-Zeichenkette)Der Ort, wo die Protokolldatei gespeichert werden soll. Wenn Sie hier
syslog
angeben, werden Protokolle an den lokal laufenden
syslog-Daemon geschickt; wenn Sie hier %unset-value
angeben, wird
keine Anweisung in der Konfigurationsdatei gegeben.
log-level
(Typ: Vielleicht-Zeichenkette)Unterhalb welchen Schwellwerts keine Nachrichten protokolliert werden
sollen. Zur Auswahl stehen: notice
(Benachrichtigungen), info
(Informationen), verbose
(ausführliche Warnmeldungen), warning
(Warnmeldungen) und error
(nur Fehler).
music-directory
(Typ: Vielleicht-Zeichenkette)Das Verzeichis, in dem nach Musikdateien gesucht wird.
playlist-directory
(Typ: Vielleicht-Zeichenkette)Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern.
db-file
(Typ: Vielleicht-Zeichenkette)Der Ort, an dem die Musikdatenbank gespeichert wird.
state-file
(Typ: Vielleicht-Zeichenkette)Der Ort, an dem die Datei mit dem aktuellen Zustand von MPD gespeichert wird.
sticker-file
(Typ: Vielleicht-Zeichenkette)Der Ort, an dem die Sticker-Datenbank gespeichert wird.
default-port
(Vorgabe: 6600
) (Typ: Vielleicht-Ganze-Zahl)Was die Voreinstellung dafür sein soll, auf welchem Port mpd ausgeführt wird.
endpoints
(Typ: Vielleicht-Liste-von-Zeichenketten)Die Adressen, an die sich mpd binden wird. Sie können dabei auch einen Port
angeben, um einen anderen Port als den voreingestellten default-port
zu benutzen, etwa localhost:6602
, und wenn Sie IPv6-Adressen angeben,
müssen Sie außen herum eckige Klammern schreiben, um den Port angeben zu
können. Um einen Unix-Socket zu benutzen, würden Sie hier einen absoluten
Pfad angeben oder einen Pfad, der mit ~
beginnt, angeben.
database
(Typ: Vielleicht-„mpd-plugin“)Eine Konfiguration eines MPD-Datenbank-Plugins.
partitions
(default: '()
) (type: list-of-mpd-partition)Liste von MPD-Partitionen.
neighbors
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Neighbor-Plugins.
inputs
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Eingaben-Plugins.
archive-plugins
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Archiv-Plugins.
input-cache-size
(Typ: Vielleicht-Zeichenkette)Größe von MPDs Zwischenspeicherung der Eingabe.
decoders
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Decoder-Plugins.
resampler
(Typ: Vielleicht-„mpd-plugin“)Eine Konfiguration eines MPD-Resampler-Plugins.
filters
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Filter-Plugins.
outputs
(Typ: Liste-von-„mpd-plugin“-oder-von-„mpd-output“)Welche Tonausgaben MPD benutzen kann. Vorgegeben ist eine einzelne Ausgabe, die Pulseaudio benutzt.
playlist-plugins
(default: '()
) (type: list-of-mpd-plugin)Liste von Konfigurationen von MPD-Plugins für Wiedergabelisten (Playlists).
extra-options
(default: '()
) (type: alist)Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Konfiguration angehängt.
Datentyp, der ein Plugin für mpd
repräsentiert.
plugin
(Typ: Vielleicht-Zeichenkette)Plugin-Name.
name
(Typ: Vielleicht-Zeichenkette)Name.
enabled?
(Typ: Vielleicht-Boolescher-Ausdruck)Gibt an, ob das Plugin aktiviert ist oder nicht.
extra-options
(default: '()
) (type: alist)Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Plugin-Konfiguration angehängt. Siehe die MPD plugin reference für eine Liste, welche Optionen es gibt.
Datentyp, der eine Partition von mpd
repräsentiert.
name
(Typ: Zeichenkette)Name der Partition.
extra-options
(default: '()
) (type: alist)Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Plugin-Konfiguration angehängt. Siehe die Configuring Partitions für eine Liste, welche Optionen bei Partitionen möglich sind.
Datentyp, der eine Tonausgabe von mpd
repräsentiert.
name
(Vorgabe: "MPD"
) (Typ: Zeichenkette)Der Name der Tonausgabe.
type
(Vorgabe: "pulse"
) (Typ: Zeichenkette)Der Typ der Tonausgabe.
enabled?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Gibt an, ob diese Tonausgabe aktiviert sein soll, wenn MPD gestartet wird. Vorgegeben ist, alle Tonausgaben zu aktivieren. Das entspricht der Voreinstellung, wenn keine Zustandsdatei existiert; mit Zustandsdatei wird der Zustand von früher wiederhergestellt.
format
(Typ: Vielleicht-Zeichenkette)Erzwingt ein bestimmtes Tonformat für die Ausgabe. Siehe Global Audio Format für eine genauere Beschreibung.
tags?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)Wenn es auf #f
steht, sendet MPD keine Tags an diese Ausgabe. Dies
wird nur berücksichtigt, wenn das Ausgabe-Plugin Tags empfangen kann, wie
beim httpd
-Ausgabe-Plugin.
always-on?
(Vorgabe: #f
) (Typ: Boolescher-Ausdruck)Wenn es auf #t
steht, versucht MPD, diese Tonausgabe immer offen zu
lassen. Das kann bei Streaming-Servern helfen, wo man nicht will,
dass die Verbindung zu allen Zuhörern abbricht, nur weil das Abspielen aus
irgendeinem Grund angehalten wurde.
mixer-type
(Vorgabe: "none"
) (Typ: Zeichenkette)Für dieses Feld wird eine Zeichenkette akzeptiert, die das für diese
Tonausgabe zu benutzende Mischpult („Mixer“) bezeichnet. Zur Wahl stehen das
hardware
-Mischpult, das software
-Mischpult, das
null
-Mischpult oder kein Mischpult (none
). Mit dem
null
-Mischpult kann die Lautstärke eingestellt werden, aber ohne
Auswirkung; das kann als Trick benutzt werden, um ein externes Mischpult zu
implementieren.
replay-gain-handler
(Typ: Vielleicht-Zeichenkette)Für dieses Feld wird eine Zeichenkette akzeptiert, die die anzuwendende
Wiedergabe-Verstärkung
benennt. Bei software
wird eine interne Lautstärkeregelung in
Software verwendet, bei mixer
wird die externe Hardware verwendet,
die konfiguriert ist, und bei none
findet auf dieser Ausgabe keine
Wiedergabe-Verstärkung statt.
extra-options
(default: '()
) (type: alist)Eine assoziative Liste, die Optionssymbole oder Zeichenketten auf Zeichenketten abbildet. Sie wird an die Tonausgabenkonfiguration angehängt.
Das folgende Beispiel zeigt eine Konfiguration von mpd
, die einige
Plugins konfiguriert und eine HTTP-Audiostreaming-Tonausgabe anbietet.
(service mpd-service-type
(mpd-configuration
(outputs
(list (mpd-output
(name "streaming")
(type "httpd")
(mixer-type 'null)
(extra-options
`((encoder . "vorbis")
(port . "8080"))))))
(decoders
(list (mpd-plugin
(plugin "mikmod")
(enabled? #f))
(mpd-plugin
(plugin "openmpt")
(enabled? #t)
(extra-options `((repeat-count . -1)
(interpolation-filter . 1))))))
(resampler (mpd-plugin
(plugin "libsamplerate")
(extra-options `((type . 0)))))))
myMPD ist eine für Mobilgeräte geeignete Oberfläche für MPD auf einem Webserver.
Folgendes Beispiel zeigt eine Instanz von myMPD, die auf Port 80 lauscht, wobei Albenbilder nicht zwischengespeichert werden.
(service mympd-service-type
(mympd-configuration
(port 80)
(covercache-ttl 0)))
Der Diensttyp für mympd
.
Verfügbare mympd-configuration
-Felder sind:
package
(Vorgabe: mympd
) (Typ: dateiartig)Das Paketobjekt von myMPD.
shepherd-requirement
(default: '()
) (type: list-of-symbol)Eine Liste von Symbolen, die andere Shepherd-Dienste angeben, von denen dieser Dienst abhängen soll.
user
(Vorgabe: %mympd-user
) (Typ: Benutzerkonto)Das Benutzerkonto, dem der mympd
-Prozess gehören soll.
Vorgegeben ist %mympd-user
, was für ein System-Benutzerkonto mit
Namen „mympd“ steht, das Mitglied der Benutzergruppe group ist (siehe
unten).
group
(Vorgabe: %mympd-group
) (Typ: Benutzergruppe)Gruppe des Besitzers des mympd
-Prozesses.
Vorgegeben ist %mympd-group
, was für eine System-Benutzergruppe mit
Namen „mympd“ steht.
work-directory
(Vorgabe: "/var/lib/mympd"
) (Typ: Zeichenkette)Wo die Daten von myMPD gespeichert werden sollen.
cache-directory
(Vorgabe: "/var/cache/mympd"
) (Typ: Zeichenkette)Wo der Zwischenspeicher von myMPD gespeichert werden soll.
acl
(Typ: Vielleicht-„mympd-ip-acl“)Zugriffssteuerungsliste (ACL), welche Rechner auf den myMPD-Webserver zugreifen dürfen.
covercache-ttl
(Vorgabe: 31
) (Typ: Vielleicht-Ganze-Zahl)Wie lange Albenbilder zwischengespeichert werden. Bei 0
werden
Albenbilder nicht zwischengespeichert.
http?
(Vorgabe: #t
) (Typ: Boolescher-Ausdruck)HTTP-Unterstützung.
host
(Vorgabe: "[::]"
) (Typ: Zeichenkette)Rechnername, auf dem gelauscht werden soll.
port
(Vorgabe: 80
) (Typ: Vielleicht-Zahl)Auf welchen HTTP-Port gelauscht werden soll.
log-level
(Vorgabe: 5
) (Typ: Ganze-Zahl)Wie detailliert die Protokolle sein sollen. Möglich sind Werte von 0
bis 7
.
log-to
(Vorgabe: "/var/log/mympd/log"
) (Typ: Zeichenkette-oder-Symbol)Wohin Protokolle geschickt werden. Die Vorgabe ist, dass der Dienst ein
Protokoll seiner Standardausgabe in /var/log/mympd.log schreibt. Die
Alternative ist 'syslog
, wodurch die Ausgabe an den laufenden
syslog-Dienst geschickt wird. Die Protokolle werden unter der
Syslog-Einrichtung (Facility) ‘daemon’ eingeordnet.
lualibs
(Vorgabe: "all"
) (Typ: Vielleicht-Zeichenkette)Siehe https://jcorporation.github.io/myMPD/scripting/#lua-standard-libraries.
uri
(Typ: Vielleicht-Zeichenkette)Eine andere URI für myMPD vorgeben. Siehe https://github.com/jcorporation/myMPD/issues/950.
script-acl
(Vorgabe: (mympd-ip-acl (allow '("127.0.0.1")))
) (Typ: Vielleicht-„mympd-ip-acl“)Zugriffssteuerungsliste (ACL), welche Rechner auf die Scripting-Schnittstelle zugreifen dürfen.
ssl?
(Vorgabe: #f
) (Typ: Boolescher-Ausdruck)SSL/TLS-Unterstützung.
ssl-port
(Vorgabe: 443
) (Typ: Vielleicht-Port)Port, auf dem auf HTTPS gelauscht wird.
ssl-cert
(Typ: Vielleicht-Zeichenkette)Pfad zum PEM-kodierten X.509-SSL/TLS-Zertifikat (der öffentliche Schlüssel).
ssl-key
(Typ: Vielleicht-Zeichenkette)Pfad zum PEM-kodierten privaten Schlüssel für SSL/TLS.
pin-hash
(Typ: Vielleicht-Zeichenkette)Mit SHA-256 gehashte PIN, die durch myMPD vom Benutzer angefordert wird, wenn der Benutzer auf Einstellungen zugreifen möchte.
save-caches?
(Typ: Vielleicht-Boolescher-Ausdruck)Ob Zwischenspeicher erhalten werden, wenn der Dienst neu gestartet wird.
Verfügbare mympd-ip-acl
-Felder sind:
allow
(default: '()
) (type: list-of-strings)Zugelassene IP-Adressen.
deny
(default: '()
) (type: list-of-strings)Verbotene IP-Adressen.
Nächste: Virtualisierungsdienste, Vorige: Dienste zur Stromverbrauchsverwaltung, Nach oben: Dienste [Inhalt][Index]