
Tengo un servidor Debian sin cabeza que uso para música. Está conectado a algunos parlantes y lo configuré para poder reproducir música desde mi teléfono al servidor mediante emparejamiento bluetooth.
Sin embargo, descubrí que necesito que un usuario inicie sesión para poder iniciar el agente bluetooth y el servidor pulseaudio. Lo que termino haciendo es iniciar sesión a través de ssh y ejecutar pulseaudio -D
y luego bt-agent -d
. Esto me permite emparejar mi teléfono con el servidor y reproducir música desde mi teléfono. El problema con esto es que tengo que mantener al usuario conectado y ejecutándose, de lo contrario deja de funcionar.
¿Cómo puedo iniciar automáticamente estos demonios en el arranque que persistirán?
Respuesta1
Asumiendosistemadpuede crear las dos unidades systemd que se muestran a continuación, habilitarlas systemctl --user enable bt-agent-d.service; systemctl --user enable pulseaudio-d.service
y finalmente habilitarlasconstantepara iniciarlos en el arranque y no detenerlos si el usuario cierra sesión con loginctl enable-linger username
.
PD: El 'nombre de usuario' en el último comando es un marcador de posición para unactualnombre de usuario y el último comando necesita privilegios de root para tener éxito.
~/.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