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.
The following example shows the simplest configuration to locally expose,
via PulseAudio, a music collection kept at /srv/music, with
mpd
running as the default ‘mpd’ user. This user will spawn
its own PulseAudio daemon, which may compete for the sound card access with
that of your own user. In this configuration, you may have to stop the
playback of your user audio applications to hear MPD’s output and
vice-versa.
(service mpd-service-type
(mpd-configuration
(music-directory "/srv/music")))
Wichtig: The music directory must be readable to the MPD user, by default, ‘mpd’. Permission problems will be reported via ‘Permission denied’ errors in the MPD logs, which appear in /var/log/messages by default.
Most MPD clients will trigger a database update upon connecting, but you can
also use the update
action do to so:
herd update mpd
All the MPD configuration fields are documented below, and a more complex example follows.
Der Diensttyp für mpd
.
Verfügbare mpd-configuration
-Felder sind:
package
(Vorgabe: mpd
) (Typ: dateiartig)Das MPD-Paket.
user
(Typ: Benutzerkonto)Das Benutzerkonto, mit dem mpd ausgeführt wird.
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
(Vorgabe: '()
) (Typ: Liste-von-Symbolen)Eine Liste von Symbolen, die Shepherd-Dienste angeben, von welchen dieser Dienst abhängen soll.
environment-variables
(Vorgabe: '("PULSE_CLIENTCONFIG=/etc/pulse/client.conf" "PULSE_CONFIG=/etc/pulse/daemon.conf")
) (Typ: Liste-von-Zeichenketten)Eine Liste von Zeichenketten, die Umgebungsvariable festlegen.
log-file
(Typ: Vielleicht-Zeichenkette)The location of the log file. Unless specified, logs are sent to the local syslog daemon. Alternatively, a log file name can be specified, for example /var/log/mpd.log.
log-level
(Typ: Vielleicht-Zeichenkette)Supress any messages below this threshold. The available values, in
decreasing order of verbosity, are: verbose
, info
,
notice
, warning
and error
.
music-directory
(Typ: Vielleicht-Zeichenkette)Das Verzeichis, in dem nach Musikdateien gesucht wird.
music-dir
(Typ: Vielleicht-Zeichenkette)Das Verzeichis, in dem nach Musikdateien gesucht wird.
playlist-directory
(Typ: Vielleicht-Zeichenkette)Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern.
playlist-dir
(Typ: Vielleicht-Zeichenkette)Das Verzeichnis, um Wiedergabelisten („Playlists“) zu speichern.
db-file
(Typ: Vielleicht-Zeichenkette)The location of the music database. When left unspecified, ~/.cache/db is used.
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-Port)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.
address
(Typ: Vielleicht-Zeichenkette)Die Adresse, an die sich mpd binden wird. Um einen Unix-Socket zu benutzen, kann hier ein absoluter Pfad angegeben werden.
database
(Typ: Vielleicht-„mpd-plugin“)Eine Konfiguration eines MPD-Datenbank-Plugins.
partitions
(Vorgabe: '()
) (Typ: Liste-von-„mpd-partition“)Liste von MPD-Partitionen.
neighbors
(Vorgabe: '()
) (Typ: Liste-von-„mpd-plugin“)Liste von Konfigurationen von MPD-Neighbor-Plugins.
inputs
(Vorgabe: '()
) (Typ: Liste-von-„mpd-plugin“)Liste von Konfigurationen von MPD-Eingaben-Plugins.
archive-plugins
(Vorgabe: '()
) (Typ: Liste-von-„mpd-plugin“)Liste von Konfigurationen von MPD-Archiv-Plugins.
auto-update?
(Typ: Vielleicht-Boolescher-Ausdruck)Whether to automatically update the music database when files are changed in the music-directory.
input-cache-size
(Typ: Vielleicht-Zeichenkette)Größe von MPDs Zwischenspeicherung der Eingabe.
decoders
(Vorgabe: '()
) (Typ: Liste-von-„mpd-plugin“)Liste von Konfigurationen von MPD-Decoder-Plugins.
resampler
(Typ: Vielleicht-„mpd-plugin“)Eine Konfiguration eines MPD-Resampler-Plugins.
filters
(Vorgabe: '()
) (Typ: Liste-von-„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
(Vorgabe: '()
) (Typ: Liste-von-„mpd-plugin“)Liste von Konfigurationen von MPD-Plugins für Wiedergabelisten (Playlists).
extra-options
(Vorgabe: '()
) (Typ: Assoziative-Liste)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
(Vorgabe: '()
) (Typ: Assoziative-Liste)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
(Vorgabe: '()
) (Typ: Assoziative-Liste)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.
Verfügbare mpd-output
-Felder sind:
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
(Typ: Vielleicht-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. Wenn nichts angegeben wird, wird das
hardware
-Mischpult benutzt, wenn es vom Gerät unterstützt wird.
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
(Vorgabe: '()
) (Typ: Assoziative-Liste)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
(Vorgabe: '()
) (Typ: Liste-von-Symbolen)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
(Typ: Vielleicht-Zeichenkette)Where to send logs. Unless specified, the service logs to the local syslog service under the ‘daemon’ facility. Alternatively, a log file name can be specified, for example /var/log/mympd.log.
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
(Vorgabe: '()
) (Typ: Liste-von-Zeichenketten)Zugelassene IP-Adressen.
deny
(Vorgabe: '()
) (Typ: Liste-von-Zeichenketten)Verbotene IP-Adressen.
Nächste: Virtualisierungsdienste, Vorige: Dienste zur Stromverbrauchsverwaltung, Nach oben: Dienste [Inhalt][Index]