gpt4 book ai didi

linux - 在没有 SSH 的情况下转发 X11?如何在另一台运行 X Server 的 Pc 上运行本地应用程序?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:38:38 28 4
gpt4 key购买 nike

我正在使用 Cygwin X 和 Debian。我可以通过 SSH 转发我的 X session ,但发生的事情是我似乎偶尔会在 X session 中丢失显示转发(从 Cygwin 到 Linux)。所以我猜这是 Cygwin 的一个实现,因为当我使用 Linux 到 Linux 时,我从来没有在同一个 ssh session 中丢失 X11 显示。

当 X11 转发的应用程序尝试 fork 另一个进程时也会发生这种情况,假设我运行 Thunderbird 并单击电子邮件中的 url。 Thurderbird 自然会尝试启动默认的 Web 浏览器,但它不会在 Cygwin X 服务器上执行此操作,这是当 SSH session 由于各种我无法知道的原因而放弃显示时收到的消息。

“错误:无法打开显示:localhost:10.0”

另一个问题是,由于 ssh 放弃了显示变量,我必须重新启动我的 ssh session 才能使其正常工作,这也会杀死我可能在 ssh session 期间运行的其他应用程序。

无论如何,在为此苦苦挣扎了一段时间之后,我想我希望能够在不使用 ssh 转发的情况下在另一个显示器上打开我的应用程序。我在内部使用它,它几乎是一个封闭的局域网,所以我现在不担心安全问题。我只想能够在 Linux 上运行该应用程序,然后在运行 Cygwin 的 Pc 上查看该应用程序。

我尝试了基本的 DISPLAY 变量,例如“export DISPLAY=MY_CYGWIN_PC_IP:0.0”(在 Linux Pc 上),但它不起作用。

所以我想知道如何实现这一目标。实现我需要的正确设置是什么?

最佳答案

你的方向没问题。 export DISPLAY 就是你想要的。但这还不够。

在目标上,你需要输入

xhost +from.where.the.windows.are.coming.com

它授予 X 服务器允许从这台计算机远程打开窗口的权限。

当心,它不是真的安全!可能的攻击者不仅可以显示您显示的窗口,甚至可以控制您的鼠标/键盘。但对于简单的解决方案,或者如果您可以信任远程计算机你们之间的网络,则可能没问题。

如果没有,则有基于预共享 key 的高级授权。它被命名为 xauth。谷歌 xauth。

Xorg 服务器有一个禁用远程窗口的选项,并且有一些发行版(例如 ubuntu!)默认打开此选项。您可以对其进行测试 - 如果您可以远程登录到 tcp 端口 6000,则它是允许的。

关于linux - 在没有 SSH 的情况下转发 X11?如何在另一台运行 X Server 的 Pc 上运行本地应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20548509/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com