几天前我问过这个问题问题,并根据一个建议使用了 rhythmote。这是一个网络界面,用于更改某台 PC 上正在播放的 rhythmbox 上的歌曲。然而,它不是我所想的那样,我偶然发现了 rhythmbox-client 的文档。我尝试了几种使用它的方法,但都没有成功。让我向您展示我使用它的几种方法。 rhythmbox 在地址 192.168.1.4 上运行,我们称之为点唱机。
将地址作为参数传递
希望我能够看到并浏览点唱机上的歌曲
rhythmbox-client 192.168.1.4
但是,我收到了这条消息
(rhythmbox-client:8370): Rhythmbox-WARNING **: 未收到回复。可能的原因包括:远程应用程序未发送回复、消息总线安全策略阻止回复、回复超时或网络连接中断。
(rhythmbox-client:8370): Rhythmbox-WARNING **: 未收到回复。可能的原因包括:远程应用程序未发送回复、消息总线安全策略阻止回复、回复超时或网络连接中断。
SSH
ssh -l jukebox 192.168.1.4
rhythmbox-client --print-playing
这对我来说是这样的:
(rhythmbox-client:9389):Rhythmbox-WARNING **:/bin/dbus-launch 异常终止,出现以下错误:自动启动错误:X11 初始化失败。
rhythmbox-client 作为 root
gksudo rhythmbox-client 192.168.1.4
节奏盒客户端启动了,但库中没有显示任何音乐。我猜这是在我自己的电脑上运行的。
有人能告诉我如何运行 rhythmbox-client 吗?我是否可以得到一个显示歌曲的 rhythmbox 窗口?在点唱机?
PS:还提到了其他一些解决方案,但我想对每一个进行评估。
谢谢。
答案1
据我所知,您需要 grep 运行 rythmbox 的机器的实际 dbus 会话。这有点棘手。我在服务器上安装了一个脚本,该脚本在启动后自动运行,并将当前 dbus 地址保存到我的主目录中的文件中。
如果我稍后 ssh 到该机器,我可以从那里 grep 会话地址。
I:存储 dbus 地址的脚本:将其命名为“Get.Dbus.sh”并将其保存到磁盘的某个位置。为其提供以下内容:
set | grep DBUS_SESSION_BUS_ADDRESS > ~/.DBUS_temp
使其可执行并将其添加到您的启动项中
II:grep 当前会话的脚本:将其命名为“Run.DBus.sh”并将其保存在例如 /usr/local/bin/
赋予它以下内容:
source /home/YOUR_USERNAME/.DBUS_temp
export DBUS_SESSION_BUS_ADDRESS
$*
不要忘记使其可执行
III:通过 ssh 连接到您的机器并启动 rhythmbox-client,如下所示:
Run.DBus.sh rhythmbox-client
这在这里有效!
答案2
当你通过 SSH 尝试时,首先运行
export DISPLAY=:0
否则它将尝试通过您的 SSH 会话启动一个新的 Rhythmbox 实例,而不是连接到您已经在 x 服务器显示 0 上运行的 Rhythmbox。
答案3
我不确定我的回答是否能帮到你,但我使用 Rhythmbox 在家中播放音乐的一个好方法是通过 DAAP。你可以启用该插件(如果尚未启用),然后只需在另一台计算机上打开 Rhythmbox,你的计算机的所有歌曲就会显示在左侧窗格中。单击该计算机(如果输入了密码,请输入密码),然后播放音乐!就这么简单,但你必须在两台计算机上都运行 Rhythmbox。哦,你还需要在将音乐作为传入流传输的计算机的防火墙中打开端口号 3689(如果你启用了防火墙)。
答案4
有人能告诉我如何运行 rhythmbox-client 吗?我是否可以得到一个显示点唱机上歌曲的 rhythmbox 窗口?
ForwardX11 yes
如果你在 ~/.ssh 目录中的配置文件中启用了转发 X,则可以实现此目的
因此,如果您能够在计算机上启动节奏盒,那么您应该能够在计算机上启动它,并将 X 转发回您正在访问它的 PC。它应该就是这么简单。我设法在无头运行的服务器上使用虚拟盒做了同样的事情。