4

Я хочу воспроизводить звук на удаленной машине через SSH без участия X11. Это должно работать независимо от того, вошел ли пользователь в консоль или в X или нет.

В основном, после входа в систему через ssh, командная строка

mpg123 test.mp3

должен играть test.mp3 на этой удаленной машине. Другими словами, система PA бедного человека. Я разрешил доступ к аудио без пароля через сеть на панели paprefs, но при попытке воспроизведения через ssh звук по-прежнему отсутствует.

Какой самый простой и надежный способ добиться этого?

PS: вопросы из прошлого имеют некачественные ответы, которые не отвечают на это.

2 ответа2

2

Установка переменной DISPLAY в :0 решает проблему для меня. Попробуйте запустить команду следующим образом:

$ DISPLAY=:0 mpg123 test.mp3
1

В последних системах Ubuntu (в данном случае 17.10) необходимо запускать pulseaudio при запуске системы или вручную для получения звука через ssh. pulseaudio запускается для каждого пользователя по умолчанию, поэтому, если никто не вошел в систему, вы получите только нулевой приемник для вашего входа в SSH, где все аудио тихо исчезает.

Для постоянного решения можно создать сервис 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

что гарантирует, что импульс pulseaudio запускается как пользовательский импульс при запуске. Так как это крайне нежелательно для разработчиков, предпочтительным решением для временного использования должна быть выдача sudo pulseaudio --system -D через SSH.

Если экземпляр pulseaudio уже запущен, его следует уничтожить, чтобы позволить новому экземпляру обнаружить оборудование. Это влияет на звук для всех зарегистрированных пользователей и должно обрабатываться в каждом конкретном случае.

В любом случае, вошедший в систему пользователь должен быть частью группы импульсного доступа:

sudo usermod -a -G pulse-access userName

Теперь можно воспроизводить звуки через SSH на удаленной системе (mpg123 , mpv или другие). Успешность может быть проверена pactl list short sinks для правильного обнаружения аудио приемников.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .