Как воспроизвести звук на нашем локальном сервере через ssh без входа на этот сервер?

Я использую sox для воспроизведения звука на нашем локальном сервере (Ubuntu 16.04). Я запускаю play myfile.mp3 через ssh.

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

Спасибо

[РЕДАКТИРОВАТЬ] цель не состоит в том, чтобы войти, сделать что-то, затем выйти и поддерживать это. Цель состоит в том, чтобы воспроизвести этот звук на локальном сервере через ssh без необходимости входа в GUI локального сервера вообще.

3 ответа

Решение

Чтобы запустить плеер напрямую с помощью oneliner, сделайте, например:

ssh user@host 'cvlc music/Ratatat/LP4'   # VLC opens whole directories
ssh user@host 'play music/Ratatat/LP4/*' # SoX don't

Если вы в ssh сеанс и хотите, чтобы процесс продолжал работать после вас exitЭд, вы можете использовать disown чтобы отключить процесс от оболочки, которая его запускает:

$ ssh user@host
$ cvlc music/Nick_McKaig & disown
$ exit

Это простой способ, однако вы не можете вернуться к сессии, так как это возможно с screen (см. ответ Макса) или tmux,

Вы можете использовать экран программы на сервере ( https://help.ubuntu.com/community/Screen, http://www.gnu.org/software/screen/).

$ sudo apt-get install screen # if not installed on the server

Войдите через SSH и запустите экран

$ screen -S my_sound_bash 

начать музыку Вы можете использовать Ctrl+A+D, чтобы выйти из текущего сеанса экрана и выйти из системы. Музыка должна все еще играть.

Вы можете войти снова используя SSH и

$ screen -r my_sound_bash 

Вы должны вернуть своего бегущего игрока.

Попробуйте свою команду с помощью sudo

sudo mpv myfile.mp3и оно действительно начинает играть на динамике

Очень вероятно, что проблема с разрешениями , например, если вы используете Pulsaudio. Имея необходимые разрешения, вы можете прекрасно воспроизводить звуки на удаленном компьютере через ssh.

Нам нужно обновить разрешения пульсаудио (по крайней мере, в моем случае), потому что с sudo он работает нормально.

Надеюсь, это поможет.

Другие вопросы по тегам