Configuración del DISPLAY
variable a :0
me resuelve el problema. Intente ejecutar el comando de esta manera:
$ DISPLAY=:0 mpg123 test.mp3
Con sistemas Ubuntu recientes (17.10 en este caso), es necesario ejecutar pulseaudio
al inicio del sistema o manualmente para obtener audio a través de ssh. pulseaudio
se inicia por usuario de forma predeterminada, por lo que si nadie ha iniciado sesión, solo obtiene el receptor nulo para su inicio de sesión SSH, donde todo el audio se desvanece silenciosamente.
Para una solución permanente, se podría crear un servicio 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
lo que garantiza que el demonio pulseaudio se inicie como pulso de usuario al inicio. Dado que los desarrolladores lo desaconsejan encarecidamente, la solución preferida para el uso temporal debería ser emitir sudo pulseaudio --system -D
a través de SSH.
Si ya se está ejecutando una instancia de pulseaudio, debe eliminarse para permitir que la nueva instancia descubra el hardware. Esto afecta el audio para todos los usuarios registrados y debe manejarse caso por caso.
En cualquier caso, el usuario que ha iniciado sesión debe formar parte del grupo de acceso por pulsos:
sudo usermod -a -G pulse-access userName
Ahora es posible reproducir sonidos a través de SSH en el sistema remoto (mpg123
, mpv
u otras personas). El éxito puede ser verificado por pactl list short sinks
para una detección adecuada del sumidero de audio.