如何通过 ssh 在本地服务器上播放声音而无需登录该服务器?

如何通过 ssh 在本地服务器上播放声音而无需登录该服务器?

我正在使用 sox 在我们的本地服务器 (ubuntu 16.04) 上播放声音。我通过 ssh 运行 play myfile.mp3。

但是,只有我登录本地服务器后才会播放该声音。有没有办法在无人登录的情况下实现该功能?

谢谢

[编辑] 目标是不要登录,执行某些操作然后注销并保持运行。目标是通过 ssh 在本地服务器上播放该声音,而根本不需要登录本地服务器的 GUI。

答案1

要使用一行程序直接启动播放器,请执行以下操作:

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

如果您处于ssh会话中并且希望进程在您exit退出后仍然保持运行,则可以使用disown以下命令断开该进程与运行它的 shell 的连接:

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

这是最简单的方法,但是您无法像使用以下方法那样返回会话screen(请参阅马克斯的回答) 或者tmux

答案2

您可以使用服务器上的程序屏幕(https://help.ubuntu.com/community/Screenhttp://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 

你应该让你的跑动球员回来。

答案3

尝试使用以下命令须藤

sudo mpv myfile.mp3然后它就开始在扬声器上播放

这很可能是权限 例如,如果您正在运行 Pulseaudio。有了正确的权限,您就可以通过 ssh 在远程机器上播放声音。

我们需要更新 pulseaudio 的权限(至少在我的情况下),因为它可以使用 sudo 正常工作

希望它有帮助。

相关内容