Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shift在SSH X11转发上运行X窗口(显示环境)_Ssh_X11_Remote Access_Forwarding - Fatal编程技术网

Shift在SSH X11转发上运行X窗口(显示环境)

Shift在SSH X11转发上运行X窗口(显示环境),ssh,x11,remote-access,forwarding,Ssh,X11,Remote Access,Forwarding,我想远程查看一些正在运行的GUI应用程序,而不扼杀当前进程,我已经尝试了vnc和xrdp,xrdp打开了一个新的空白会话,因此它不适合我,vnc很好,但不完全是我需要的,它使用屏幕和设备显示,有人可能会干扰我移动鼠标或在键盘上打字 因此,我发现我能做我需要的事情的唯一方法是设法将正在运行的X窗口从一个显示器切换到另一个显示器,这样即使在SSH-X(X11转发)上,我也能看到它 我在这方面的探索已经很长时间了,我没有找到一个最终的解决方案,这就是我吸引你们的原因。你能帮我解决这个问题吗 谢谢,我自

我想远程查看一些正在运行的GUI应用程序,而不扼杀当前进程,我已经尝试了vnc和xrdp,xrdp打开了一个新的空白会话,因此它不适合我,vnc很好,但不完全是我需要的,它使用屏幕和设备显示,有人可能会干扰我移动鼠标或在键盘上打字

因此,我发现我能做我需要的事情的唯一方法是设法将正在运行的X窗口从一个显示器切换到另一个显示器,这样即使在SSH-X(X11转发)上,我也能看到它

我在这方面的探索已经很长时间了,我没有找到一个最终的解决方案,这就是我吸引你们的原因。你能帮我解决这个问题吗


谢谢,

我自己从来没有用过,但似乎是普遍建议的解决方案;你也可以考虑一下。这两种方法都是通过代理X客户机与其服务器的连接,并跟踪足够的状态,以便您可以在服务器之间切换代理服务器端连接并获得合理的结果。如果没有这样的代理,比如在“stock”X中,就不可能断开客户机与一台服务器的连接并将其连接到另一台服务器,除非是专门为支持这种行为而设计的客户机。

如果您查看有关该主题的Wikipedia页面,就会提到几个应用程序

摘录

xmove是一个允许X窗口移动的计算机程序 不同显示器之间的系统应用程序和 跨X服务器的X应用程序重新启动。[4]它解决了 X的设计,其中一个X客户机(一个X应用程序)绑定到X 在其生存期内启动它的服务器(X显示器)。另外,如果X 服务器关闭,客户端应用程序被迫停止运行

xmove允许客户端断开与当前X服务器的连接,并且 随时连接到一个新的。这一转变是完全正确的 对客户透明。xmove的工作方式是充当 客户端和服务器。它是一个“伪服务器”,存储了足够的数据 服务器状态,以便客户端可以连接到新服务器而无需 中断

摘录

xpra或X持久远程应用程序是一个允许您 通常在远程主机上运行X客户端,然后引导其显示 在不丢失任何状态的情况下连接到本地计算机

它不同于标准的X转发,因为它允许断开连接 并在不中断转发的应用程序的情况下重新连接。信息技术 与VNC和类似远程显示技术的不同之处在于xpra 是无根的:即xpra转发的应用程序出现在您的 桌面作为由窗口管理器管理的普通窗口,而不是 被“一起困在一个盒子里”。Xpra还使用自定义 自调整且对延迟相对不敏感的协议,以及 因此,在比标准X更差的链路上可用

摘录

guiexecute是一个计算机程序,它支持任何类型的GUI XFree86实现X窗口透明的应用 迁移到另一个显示器或在另一个显示器上复制。不像某些程序 提供类似的功能,它不需要预先安排 重新链接应用程序二进制或 重新定向应用程序进程的窗口系统通信 通过xmove这样的代理

guiexecute基于一个小型的X服务器扩展,该扩展支持 应用程序从X服务器和 中注入的GUI迁移功能库 运行时的应用程序进程。代码注入或运行时 代码修补可以通过dyninstapi完成。然而,Gui拒绝驱逐 包含其自己的实现,以避免要求用户安装 戴宁斯特

在这三种类型中,guiexecute听起来像是您正在寻找的,主要是它可以检查X应用程序AppX的状态,并将其迁移到另一个X服务器,在那里可以恢复它


(来自unix.stackexchange的slm)

非常感谢,这正是我想要的,我不相信这样的好东西没有得到应有的传播,你值得一枚奖牌。@TiagoPimenta好吧,不要为它想太多;我只是在谷歌上搜索“将现有的x11窗口移动到新的显示器”,然后根据第一个结果稍微搜索了一下。但我很高兴能帮上忙!虽然我没有在Debian中找到
xmove
,但Ubuntu和Debian似乎支持
xpra
。关于Wheezy,请务必使用
apt get安装-t Wheezy backports xpra
,因为
Wheezy
(主repos)中的旧版本几乎不起作用,这与