【问题标题】:SSH tunnelling into arch boxSSH隧道进入拱盒
【发布时间】:2012-06-05 01:54:39
【问题描述】:

我有一个运行 arch linux 的树莓派连接到电视,并希望通过 SSH 从其他地方的 Ubuntu 机器上运行该屏幕上的命令。

我尝试运行命令 SSH -Y root@ 并启动 xclock 作为测试。但是我收到以下错误:

未指定协议 错误:无法打开显示:0

然后我尝试在 Arch 机器上运行“export DISPLAY=:0”,但这并没有解决问题。

我的 X 运行良好,可以在电视上看到它,我编辑了文件 /etc/ssh/ssh_config 以允许 X11 转发。

有人知道我做错了什么吗?

非常感谢

【问题讨论】:

  • 看起来你想在本地机器上启动一个程序并让它出现在连接到远程机器的显示器上。如果是这样,-Y 不是你的朋友。这是为了反其道而行之。
  • 哦,我明白了,所以如果我通过 SSH 连接到树莓派并从那里运行 -Y 命令到我的机器上会更好吗?
  • ssh 到远程机器,export DISPLAY=:0 那里,ssh -Y 回来,做export DISPLAY,运行xclock。如果您确实在远程机器上的:0 上运行了 X,并且远程用户可以连接到它,这应该可以工作。
  • 我通过 SSH 进入拱形框,然后 ssh -Y'd 回到我的 ubuntu 机器上使用 gedit 打开一个文件,但它没有出现在拱形屏幕上,而是简单地打开了我的 ubuntu 机器上的文件 XD 我还尝试将文件复制到 arch 框,然后 SSH -Y 从 ubuntu 到 arch,希望会发生相反的情况,但我得到了和以前一样的错误......

标签: linux ssh ssh-tunnel x11-forwarding raspberry-pi


【解决方案1】:

ArchLinux wiki 有 some good instructions 进行设置。我挣扎了一段时间才找到它们,但对我来说,关键是在 sshd_config 中设置 SSH 转发(大多数发行版似乎默认启用此功能,但 Arch 没有)。

在 SSHD 中启用 X 转发后,我还发现为 Xorg 安装虚拟视频驱动程序(“pacman -S xf86-video-dummy”)很有帮助,它可以消除因缺少 RANDR 扩展而导致的恼人错误.如果你已经让它在 Pi 上本地运行一个真正的 X 服务器,这可能没有必要 - 就我个人而言,我的运行完全没有头。

我发现在 iMac 上使用 'ssh -X' 运行时,我不必担心设置 DISPLAY 变量或 xhost。我希望 Ubuntu 的行为也一样。

【讨论】:

  • 很抱歉回复延迟,但我一直忙于工作,并为 pi 找到了其他有趣的想法。但是,您的回答值得认可,谢谢!
【解决方案2】:

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

xhost +

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

【讨论】:

    【解决方案3】:

    你可能想要设置

    导出 DISPLAY=[IP_ADDRESS_OF_ARCH_BOX]:0

    在您的 Ubuntu 机器上,然后当您从 Ubuntu 机器运行 xclock 时,它会将屏幕转发到 Arch 机器。

    【讨论】:

    • 谢谢,我试过了,然后使用 SSH -Y root@ SSH 进入拱形框,但我仍然收到错误“错误:无法打开显示:” =/
    猜你喜欢
    • 1970-01-01
    • 2016-07-26
    • 1970-01-01
    • 2020-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-07
    • 2021-05-24
    相关资源
    最近更新 更多