
Ich habe einen Headless-Debian-Server, den ich für Musik verwende. Er ist mit einigen Lautsprechern verbunden und ich habe ihn so eingerichtet, dass ich über Bluetooth-Kopplung Musik von meinem Telefon auf dem Server abspielen kann.
Ich habe jedoch festgestellt, dass ich als Benutzer angemeldet sein muss, damit ich den Bluetooth-Agenten und den Pulseaudio-Server starten kann. Ich melde mich dann über SSH an und führe pulseaudio -D
und dann aus bt-agent -d
. Dadurch kann ich mein Telefon mit dem Server koppeln und Musik von meinem Telefon abspielen. Das Problem dabei ist, dass ich den Benutzer angemeldet und laufen lassen muss, sonst funktioniert es nicht mehr.
Wie kann ich diese Daemons beim Booten automatisch starten, sodass sie bestehen bleiben?
Antwort1
AngenommensystemdSie können die beiden unten gezeigten systemd-Einheiten erstellen, sie mit aktivieren systemctl --user enable bt-agent-d.service; systemctl --user enable pulseaudio-d.service
und schließlich aktivierenverweilendum sie beim Booten zu starten und nicht zu stoppen, wenn sich der Benutzer mit abmeldet loginctl enable-linger username
.
PS Der 'Benutzername' im letzten Befehl ist ein Platzhalter für einentatsächlichBenutzername und der letzte Befehl erfordern Root-Berechtigungen, um erfolgreich zu sein.
~/.config/systemd/user/bt-agent-d.service
:
[Unit]
Description=Bt-agent-d service
[Service]
ExecStart=/bin/bt-agent -d
[Install]
WantedBy=default.target
~/.config/systemd/user/pulseaudio-d.service
:
[Unit]
Description=Pulseaudio-d service
[Service]
ExecStart=/bin/pulseaudio -D
[Install]
WantedBy=default.target