如何通过X11使用完整的图形桌面远程登录


8

我有两台都在运行kubuntu的机器:服务器和客户端。我想从客户端连接到服务器并启动完整的图形界面,而不必担心某些命令将以客户端用户身份运行。

因此,ssh -XC工作正常,我也可以从中启动图形程序。

但是,当我startkde在ssh控制台中键入内容时,它会显示“ KDE似乎已在此显示器上运行”。这是正确的,但不适用于同一用户帐户。

我尝试退出图形界面并从tty登录,但是(毫无疑问)未能启动任何图形程序,包括kde。

那我该怎么做,这样我就可以像使用本地用户登录一样简单地登录?使用客户端计算机作为哑终端。

Answers:


12

XDMCP是为此目的而设计的。在服务器上,您需要在桌面管理器中启用XDMCP支持:

  • 如果您使用kdm,请寻找

    [Xdmcp]
    Enable=false
    

    在你的结束kdmrc,改falsetrue和重新启动kdm;

  • 如果您使用lightdm,请添加

    [XDMCPServer]
    enabled=true
    port=177
    

    /etc/lightdm/lightdm.conf并重新启动lightdm

然后在您的客户端上,使用

X -query ${SERVER_IP}

(改为使用适当的IP地址),并且服务器的登录屏幕应显示在客户端上。


谢谢,正是我所需要的。有趣的G叔叔没有找到它,我不得不问。
velis '16

2
这可行,但是XDMCP表示您使用的是纯X11协议,该协议不支持加密。如果有问题,则需要寻找其他解决方案
Wouter Verhelst

4

您可以打开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或其他任何方式连接到它。


我已经在ubuntu上安装了x11vnc。因此,如果没有用户登录系统,那么启动x11vnc的命令x11vnc displaynumber:1正确吗?
ART

3

您可以通过SSH会话启动窗口管理器,但是您需要确保X服务器那时尚未在运行窗口管理器。

这可以通过两种方式完成:

  1. 手动执行所有操作,而不是使用startx显示管理器:

    首先,启动您的X服务器:

    X -nolisten tcp :0
    

    现在更改为另一个虚拟控制台(例如,按ctrl + alt + f2),然后键入:

    DISPLAY=:0 ssh -XC <host> startkde
    

    现在切换回第一个虚拟控制台,并正常使用X会话。这种方法的缺点是它不包含xauth设置(因此,从理论上讲,远程计算机上的每个人都可以连接到您的X会话,这是安全隐患);您可能希望添加。

  2. 使用.xinitrc(对于startx)或.xsession(对于显示管理器)文件来修改窗口管理器:

    如果已设置系统以使无密码SSH可以正常工作(例如,通过ssh密钥或使用Kerberos或其他身份验证机制),则可以在.xinitrc.xsession文件中添加以下行作为最后一行:

    exec ssh -XC <host> startkde
    

    要记住的是,添加到这些文件中的任何内容都将执行,而不是常规的X11会话设置。在某些情况下,您可能需要在登录屏幕上选择“标准Xsession”选项。

    即使您没有无密码的SSH,只要您已ssh-askpass安装,它仍然可以使用。如果ssh确定它没有控制终端,但确实有一个$DISPLAY变量集,它将使用它来询问密码。

    这种方法的缺点是,登录“本地”计算机变得更加困难。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.