如何在不解锁物理显示的情况下连接到现有的X会话?
我通常会在工作站上运行许多程序,有时我需要远程使用它。 所以我需要连接到现有的X会话,同时保持物理显示(工作站的监视器)一直处于锁定状态。
我尝试了vino(vino-server和vinagre作为客户端),但是他们打开了新的空X会话,所以它不允许我访问正在运行的应用程序。
我也尝试了x11vnc,但它看起来解锁了物理屏幕并在客户端完成时将其解锁(!),因此我们遇到安全问题……
在两端都运行Ubuntu 12.04,默认GUI,因此没有GNOME特定的解决方案可以工作(小程序等)。
理想的解决方案应该允许我访问在两个监视器和几个“虚拟桌面”上运行的所有程序。 哪个可能需要捕获特殊键,如Crtl + [number]和Alt-TAB。
或者……如果可以通过ssh -X
转发现有窗口(程序已经运行),那将是一个很好的解决方法。
编辑:x1vnc,当然不是“x11server”……
据我所知,不可能通过SSH转发已经存在的窗口。
我建议去x11vnc
。 您可能需要先安装它。 此命令应启用一次性无密码VNC服务器共享您当前运行的桌面(先到先得):
x11vnc -noxdamage -display :0 -safer -nopw -once -xrandr
您可能需要调整显示。 您也可以通过使用ConsoleKit dbus接口以编程方式获取它,但这太麻烦了:0
在大多数情况下都很好。 如果这不起作用,只需使用:1
等。
这很方便,因为您可以从其他地方的SSH sesion运行它,就在您需要的时候。
你应该看看X11RDP 。
它真的是Xrdp的一个很好的更新,你可以根据需要自定义行为。 我遇到了与之前相同的问题,我安装x11rdp并编辑xrdp.conf文件以启用登录到上一个会话…无论如何检查网站并尝试版本7。 那里的人“凯文洞穴”是天才,现在他做了一些更新,所以你可以安装x11rdp作为Debian软件包。
您应该查看x2go并只连接到“连接到本地桌面”,而不是指定窗口管理器或桌面环境。
它使用SSH,因此一旦在工作站上安装并启动服务器,如果已经可以通过SSH连接到x2goclient,则应该能够连接到它。