SSH隧道连接到arch盒子

5
我有一个运行Arch Linux的树莓派连接到电视上,想通过从其他地方的Ubuntu机器SSH来在该屏幕上运行命令。
我尝试运行SSH -Y root@和启动xclock作为测试。但是我收到以下错误:
无协议指定 错误:无法打开显示::0
我随后尝试在Arch机器上运行“export DISPLAY=:0”,但这并没有解决问题。
我已经成功运行X并可以在电视上看到它,并且已编辑了文件/etc/ssh/ssh_config以允许X11转发。
有人知道我做错了什么吗?
非常感谢

看起来你想在本地机器上启动一个程序,并将其显示在连接到远程机器的显示器上。如果是这样,-Y选项并不适用于你。它是用于反向操作的。 - n. m.
哦,我明白了,所以如果我通过SSH登录到树莓派并从那里运行-Y命令到我的机器上,那会更好? - Jon
连接到远程机器使用 ssh,在那里执行 export DISPLAY=:0,然后使用 ssh -Y 返回本地机器,不要 执行 export DISPLAY,最后运行 xclock。如果确实在远程机器上的 :0 上运行了 X,并且远程用户可以连接到它,则应该可以正常工作。 - n. m.
我通过SSH登录到了Arch系统,然后使用ssh -Y命令返回到我的Ubuntu机器,在那里使用gedit打开一个文件。但是,文件并没有在Arch屏幕上出现,而是直接在我的Ubuntu机器上打开了XD。我还尝试将文件复制到Arch系统,然后从Ubuntu到Arch再次使用SSH -Y命令,希望能够相反地实现操作,但结果和之前一样出错了... - Jon
3个回答

6

ArchLinux维基上有一些很好的指导,可以帮助设置。我挣扎了一段时间,直到找到它们,但对我来说关键是在sshd_config中设置SSH转发(大多数发行版似乎默认启用此功能,但Arch不支持)。

一旦您在SSHD中启用了X转发,我还发现安装Xorg的虚拟视频驱动程序(“pacman -S xf86-video-dummy”)也很有帮助,这会消除有关缺少RANDR扩展的烦人错误。如果您已经在Pi上本地运行真正的X服务器,则可能不需要此操作-就我个人而言,我完全在无头模式下运行。

我发现在从iMac使用“ssh -X”运行时,无需担心设置DISPLAY变量或xhost。我期望Ubuntu的行为也是如此。


抱歉回复晚了,我一直忙于工作并发现了其他有趣的树莓派想法。不过,你的答案值得肯定,谢谢! - Jon

0

看起来是一个身份验证问题。以前的答案是

xhost +

在 X 显示器的控制台上。可能有所帮助。


0

你可能想要设置

export DISPLAY=[ARCH_BOX的IP地址]:0

在你的Ubuntu框中,然后当你从Ubuntu框运行xclock时,它会将屏幕转发到Arch框。


谢谢,我尝试过了,然后使用SSH -Y root@<IP>登录到arch box,但仍然出现错误“Error: Can't open display:” =/ - Jon

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接