我使用 X11 转发ssh
在我的 Windows 机器上运行 Linux 应用程序,当网络断开时,它会丢失正在运行的所有内容。有没有类似screen
X11的东西?
答案1
答案2
您正在寻找虚拟网络控制器。原理有点类似于 screen:运行一个 VNC 服务器(后台SCREEN
进程)和一个 VNC 客户端(前台screen
进程)。 VNC服务器是一个X服务器,因此您可以在其中运行X应用程序。
在 Linux 机器上运行 VNC 服务器,在 Windows 机器上运行客户端。您有多种实现可供选择;一种可能性是紧VNC。 TightVNC 存在于许多 Linux 发行版中(如果您的发行版中没有,请安装它或选择不同的实现),并且有一个 Windows 客户端。
如果您的两台计算机在网络上距离不是很近(如果它们之间存在防火墙或存在窃听风险),您将需要通过 ssh 传输 VNC 流量。让 ssh 将本地端口 5900 转发到远程端口 5900(5900 对应显示:0
,使用 5901:1
等)。
答案3
实际上,您可以将 X 转发到screen
.唯一要做的就是设置窗口$DISPLAY
内的内容screen
,使其与窗口外的内容相同。
程序
ssh -X
进入远程机器后,输入
$ echo $DISPLAY
并复制结果,通常是localhost:N.0
.然后screen
在本地screen
窗口输入 ,
$ export DISPLAY=localhost:N.0
之后,X
在屏幕窗口中运行任何所需的程序即可。
笔记:对于每个screen
窗口,环境变量是独立的。因此,对于每个窗口,您可能需要单独设置。
参考
答案4
我发现X2Go非常擅长这一点。它像 X11 那样创建单独的窗口(单一应用程序模式),并且延迟比 xpra 好得多,我发现 xpra 无法使用。