Impostazione del DISPLAY
variabile a :0
mi risolve il problema. Prova a eseguire il comando in questo modo:
$ DISPLAY=:0 mpg123 test.mp3
Con i recenti sistemi Ubuntu (17.10 in questo caso), è necessario eseguire pulseaudio
all'avvio del sistema o manualmente per ottenere l'audio tramite ssh. pulseaudio
viene avviato in base all'utente come impostazione predefinita, quindi se nessuno ha effettuato l'accesso, ottieni solo il sink null per il tuo accesso SSH, dove tutto l'audio svanisce silenziosamente.
Per una soluzione permanente, potrebbe essere creato un servizio systemd:
cat <<EOF >/etc/systemd/system/pulseaudio.service
[Unit]
Description=Pulse Audio
[Service]
Type=simple
ExecStart=/usr/bin/pulseaudio --system --disallow-exit --disable-shm --exit-idle-time=-1
[Install]
WantedBy=multi-user.target
EOF
che assicura che il demone pulseaudio sia avviato come user pulse all'avvio. Poiché questo è fortemente sconsigliato dagli sviluppatori, la soluzione preferita per l'uso temporaneo dovrebbe essere quella di emettere sudo pulseaudio --system -D
tramite SSH.
Se un'istanza di pulseaudio è già in esecuzione, dovrebbe essere terminata per consentire alla nuova istanza di rilevare l'hardware. Ciò influisce sull'audio per tutti gli utenti che hanno effettuato l'accesso e dovrebbe essere gestito caso per caso.
In ogni caso, l'utente che ha effettuato l'accesso deve far parte del gruppo pulse-access:
sudo usermod -a -G pulse-access userName
Ora è possibile riprodurre suoni tramite SSH sul sistema remoto (mpg123
, mpv
o altri). Il successo può essere controllato da pactl list short sinks
per un corretto rilevamento del sink audio.