Answers:
XDMCP是为此目的而设计的。在服务器上,您需要在桌面管理器中启用XDMCP支持:
如果您使用kdm
,请寻找
[Xdmcp]
Enable=false
在你的结束kdmrc
,改false
到true
和重新启动kdm
;
如果您使用lightdm
,请添加
[XDMCPServer]
enabled=true
port=177
到/etc/lightdm/lightdm.conf
并重新启动lightdm
。
然后在您的客户端上,使用
X -query ${SERVER_IP}
(改为使用适当的IP地址),并且服务器的登录屏幕应显示在客户端上。
您可以打开VNC服务器
设置>共享>屏幕共享
然后,如果需要使用SSH,则通过SSH将5900转发到您的PC。
ssh -L 5900:localhost:5900 #destination here
然后使用Remina之类的远程桌面(RD)客户端连接到本地ssh代理;
连接> 127.0.0.1:5900
使用VNC之前,请务必先进行调查。如果通过ssh隧道传输,则VNC应该非常安全。仅当您有用户登录时,此方法才有效。为了使它在没有用户登录的情况下运行,您将需要ssh登录,启动VNC服务器并指定使用IE 0、1、2和IE的显示方式。然后使用Remina或其他任何方式连接到它。
x11vnc displaynumber:1
正确吗?
您可以通过SSH会话启动窗口管理器,但是您需要确保X服务器那时尚未在运行窗口管理器。
这可以通过两种方式完成:
手动执行所有操作,而不是使用startx
显示管理器:
首先,启动您的X服务器:
X -nolisten tcp :0
现在更改为另一个虚拟控制台(例如,按ctrl + alt + f2),然后键入:
DISPLAY=:0 ssh -XC <host> startkde
现在切换回第一个虚拟控制台,并正常使用X会话。这种方法的缺点是它不包含xauth
设置(因此,从理论上讲,远程计算机上的每个人都可以连接到您的X会话,这是安全隐患);您可能希望添加。
使用.xinitrc
(对于startx)或.xsession
(对于显示管理器)文件来修改窗口管理器:
如果已设置系统以使无密码SSH可以正常工作(例如,通过ssh密钥或使用Kerberos或其他身份验证机制),则可以在.xinitrc
或.xsession
文件中添加以下行作为最后一行:
exec ssh -XC <host> startkde
要记住的是,添加到这些文件中的任何内容都将执行,而不是常规的X11会话设置。在某些情况下,您可能需要在登录屏幕上选择“标准Xsession”选项。
即使您没有无密码的SSH,只要您已ssh-askpass
安装,它仍然可以使用。如果ssh
确定它没有控制终端,但确实有一个$DISPLAY
变量集,它将使用它来询问密码。
这种方法的缺点是,登录“本地”计算机变得更加困难。