Я использую sox для воспроизведения звука на нашем локальном сервере (Ubuntu 16.04). Я запускаю play myfile.mp3 через ssh.
Однако этот звук воспроизводится только в том случае, если я вошел в систему на этом локальном сервере. Любая идея, как этого добиться, даже если никто не вошел в систему?
Thx
[EDIT] цель не войти в систему, сделать что-то, а затем выйти из системы и продолжать работать. Цель состоит в том, чтобы воспроизвести этот звук на локальном сервере через ssh без необходимости входа в GUI локального сервера вообще.
Чтобы запустить игрока напрямую с помощью 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
(см. Max 'ответ ) или 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 kbd> + A kbd> + D kbd>, чтобы выйти из текущего сеанса экрана и выйти из системы. Музыка должна все еще играть.
Вы можете войти снова, используя SSH, и с
$ screen -r my_sound_bash
вы должны вернуть работающего игрока.