Réglage du DISPLAY
variable à :0
résout le problème pour moi. Essayez d'exécuter la commande comme ceci :
$ DISPLAY=:0 mpg123 test.mp3
Avec les systèmes Ubuntu récents (17.10 dans ce cas), il est nécessaire d'exécuter pulseaudio
au démarrage du système ou manuellement pour obtenir l'audio via ssh. pulseaudio
est démarré sur une base par utilisateur par défaut, donc si personne n'est connecté, vous n'obtenez que le récepteur nul pour votre connexion SSH, où tout l'audio disparaît silencieusement.
Pour une solution permanente, un service systemd pourrait être créé :
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
qui s'assure que le démon pulseaudio est démarré en tant qu'impulsion de l'utilisateur au démarrage. Comme cela est fortement déconseillé par les développeurs, la solution préférée pour une utilisation temporaire devrait être d'émettre sudo pulseaudio --system -D
via SSH.
Si une instance pulseaudio est déjà en cours d'exécution, elle doit être supprimée pour permettre à la nouvelle instance de découvrir le matériel. Cela a un impact sur le son de tous les utilisateurs connectés et doit être traité au cas par cas.
Dans tous les cas, l'utilisateur connecté doit faire partie du groupe d'accès pulse :
sudo usermod -a -G pulse-access userName
Il est maintenant possible de jouer des sons via SSH sur le système distant (mpg123
, mpv
ou autres). Le succès peut être vérifié par pactl list short sinks
pour une bonne détection du puits audio.