Eu quero deixar o Spotify rodar em segundo plano no meu homeserver (Ubuntu 16.04) para que eu possa usá-lo para streaming de áudio em caixas de som conectadas a ele ( SpotifyConnect ).
Com xvfb-run -a spotify --disable-gpu
, isso funciona perfeitamente (manualmente). Mas eu estou tentando há dias para obter este comando na inicialização do sistema. Eu tentei vários métodos, mas agora decidi por systemd porque parece que eu recebo o mesmo erro de qualquer maneira.
Quando executo o comando manualmente, ele me causa um pequeno erro nove vezes, mas funciona perfeitamente:
(spotify:3825): GLib-GIO-CRITICAL **: g_dbus_connection_send_message: assertion 'G_IS_DBUS_CONNECTION (connection)' failed
Mas, como serviço systemd, acabei de receber
systemd1: Started Spotify Service.
Jan 08 17:34:37 s1 systemd[3574]: spotify.service: Executing: /usr/bin/xvfb-run spotify
Jan 08 17:34:37 s1 xvfb-run[3574]: terminate called after throwing an instance of 'std::logic_error'
Jan 08 17:34:37 s1 xvfb-run[3574]: what(): basic_string::_S_construct null not valid
Jan 08 17:34:37 s1 xvfb-run[3574]: Aborted (core dumped)
O mesmo quando eu não executo o comando de "spotify.service", mas executando um ShellScript contendo o comando. Claro que executar o script manualmente funciona. Não há diferenças sem -a
e --disable-gpu
(exceto alguns erros de gpu), então estou ignorando isso por enquanto. Meu spotify.service em / etc / systemd / system:
[Unit]
Description=Spotify Service
After=network.target network-online.target
[Service]
EnvironmentFile=/root/Schreibtisch/SpotifyServiceHelp
ExecStart=/usr/bin/xvfb-run $ARG
[Install]
WantedBy=multi-user.target
O EnvironmentFile finge que o systemd não vê "spotify" como outro comando e não como argumento. Então SpotifyServiceHelp apenas contém ARG=spotify
.
Alguém sabe qual é o problema ou tem uma solução alternativa, por exemplo, como "ignorar" o erro lógico? Obrigado.