我的家用计算机上运行着一个 SSH 服务器,并且X11Forwarding
已启用。我想从另一台计算机连接到我的计算机并运行一些图形程序。问题是,如果某个特定程序已经在我的家庭计算机中运行,那么它就不会在我的远程计算机中再次运行。它所做的只是获得家用计算机的焦点。
我相信如果我能找到一种方法来打开同一程序的两个实例,这个问题就可以解决。我知道,如果我连接到另一个用户,或者从本地计算机中的另一个用户运行该程序,那么我将能够运行相同的程序两次,每个用户运行一次。
所以我相信解决方案是以另一个用户的身份模拟程序的运行。问题是,我只有 1 个用户帐户,并且我确实想从该特定用户(可以访问我的文件和设置)远程和本地运行这些程序。
实现它的最简单方法是什么?
(我正在运行 Ubuntu)
答案1
许多 GUI 应用程序可以采用附加参数-display
.您应该能够将隧道的开关设置为-display
,该开关应显示通过隧道二次打开的窗口。$DISPLAY
ssh
如果-display
开关不存在,那么我认为您有两种替代方法。
- 类似的事情将
-new-instance
一个新的 GUI 窗口从先前存在的窗口中打破出来。 - 让应用程序
$DISPLAY
正确遵守任何内容,而不是将新的 GUI 附加到已在主桌面上显示的现有进程。 - 通过 SSH 使用 VNC。
虚拟网络控制器
如果您要使用 VNC,我建议您使用 Vinagre。它作为 GNOME 桌面的一部分包含在内,因此没有任何疯狂的设置。在下拉菜单下:
“系统”→“偏好设置”→远程桌面
您将找到用于在现有 GNOME 桌面中启用 VNC 服务器组件的配置区域。
启用它后,我通常使用vncviewer
命令行工具或远程桌面查看器工具来调用。对我来说它位于下拉菜单下:
“应用程序”→“互联网”→远程桌面查看器
这又是 GNOME 附带的标准产品。我相信整个包也都叫 Vinagre。