PuTTY + Xming + GNU screen:可以做到吗?

PuTTY + Xming + GNU screen:可以做到吗?

当我使用 PuTTY 连接到远程主机(运行 darwin)并同时运行 Xming 时,我可以xlogo在远程主机上运行,​​并且我会看到适当的xlogo显示客户端。

screen但是,一旦我在远程主机上启动 GNU ,此测试就不再起作用。例如,我的xlogo命令现在失败,并显示:

Xlib: connection to "localhost:10.0" refused by server
Xlib: PuTTY X11 proxy: MIT-MAGIC-COOKIE-1 data did not match
Error: Can't open display: localhost:10.0

(请注意,localhost:10.0 确实是 DISPLAY 的正确值。)

使用此设置可以获得 X11 吗?如果可以,请告诉我如何操作。

谢谢!

PS:FWIW,在PuTTY中,我的连接> SSH> X11设置是:

  • 已选中启用 X11 转发
  • X 显示位置为空白
  • 远程 X11 身份验证协议设置为 MIT-Magic-Cookie-1

(如果我应该发布任何其他设置,请告诉我。)

答案1

上周,我实际上正在尝试通过 PuTTY 学习 X11 的基础知识。我偶然发现了一个不错的教程。说实话,这是我第一次接触 X11,我并不一定能吸收所有的信息。不过,我通过跟着做,让一切都顺利进行。

有一节关于该页面深入介绍了如何创建和配置这些神奇的 cookie 以及设置使用 Xauth。

在同一页上,还详细介绍了 Xhost,正如 @arved 提到的。相对较短的部分引用如下...

Xhost 允许基于主机名进行访问。服务器维护允许连接到它的主机列表。它还可以完全禁用主机检查。注意:这意味着不进行任何检查,因此每个主机都可以连接!

您可以使用 xhost 程序控制服务器的主机列表。要在上例中使用此机制,请执行以下操作:

light$ xhost +dark.matt.er这将允许来自 host 的所有连接 dark.matt.er。一旦您的 X 客户端建立连接并显示窗口,为了安全起见,请使用以下命令撤销更多连接的权限:

light$ xhost -dark.matt.er您可以使用以下方式禁用主机检查:

light$ xhost +这将禁用主机访问检查,从而允许所有人连接。您永远不应该在您不信任所有用户的网络上执行此操作(例如 Internet)。您可以使用以下命令重新启用主机检查:

light$ xhost -xhost - 本身不会从访问列表中删除所有主机(这将是相当无用的 - 您将无法从任何地方连接,甚至是您的本地主机)。

Xhost 是一种非常不安全的机制。它不区分远程主机上的不同用户。此外,主机名(实际上是地址)可能被伪造。如果您处于不受信任的网络上(例如已经通过拨号 PPP 访问 Internet),这将非常糟糕。

答案2

查看 xhost(1) 手册页,了解如何授予对屏幕会话的访问控制权

相关内容