You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Ubuntu系统下如何实现类似Windows Remote Desktop的现有本地登录会话(:0)远程连接功能?

Ubuntu系统下如何实现类似Windows Remote Desktop的现有本地登录会话(:0)远程连接功能?

嘿,我完全懂你想要的这种无缝切换体验——毕竟Windows的远程桌面这点确实做得太顺手了。在Ubuntu上要实现连接现有本地登录会话(就是你坐在物理机前正在用的那个会话)的需求,其实有几个靠谱的工具和方法,我给你一步步讲清楚:

方案一:用x11vnc连接Xorg会话(适合传统Xorg桌面)

如果你的Ubuntu用的是Xorg环境(比如GNOME Xorg、KDE Plasma Xorg,老版本Ubuntu默认是这个),x11vnc就是专门干这个的——它能直接连接到当前正在运行的X11会话,不用你注销或者关闭现有应用。

  1. 安装x11vnc
    打开终端,输入命令:

    sudo apt install x11vnc
    
  2. 设置访问密码(安全起见)
    为了避免每次连接都要手动确认,先设置一个VNC访问密码:

    x11vnc -storepasswd
    

    按照提示输入密码,它会把密码存在~/.vnc/passwd文件里。

  3. 启动x11vnc连接现有会话
    直接运行下面的命令,就能连接到你当前的物理登录会话(也就是:0会话):

    x11vnc -display :0 -usepw -forever
    

    解释下参数:

    • -display :0:指定连接本地的第一个X会话(物理机正在用的就是这个)
    • -usepw:使用刚才设置的密码进行验证
    • -forever:让VNC服务器一直运行,断开远程连接后还能重新连回来
  4. 开机自动启动(可选)
    如果你希望每次开机都自动启动这个服务,可以把它加到开机启动项里:

    • GNOME桌面:打开「设置」→「应用」→「开机启动」,点击「添加」,输入命令/usr/bin/x11vnc -display :0 -usepw -forever
    • KDE桌面:打开「系统设置」→「开机和关机」→「自动启动」,添加同样的命令即可

方案二:用GNOME远程桌面连接Wayland会话(适合新版Ubuntu默认环境)

现在新版Ubuntu默认用Wayland桌面了,x11vnc对Wayland支持不好,不过GNOME自带了远程桌面功能,完美适配Wayland,而且体验和Windows RDP非常像。

  1. 开启远程桌面功能

    • 打开系统「设置」,找到「共享」选项
    • 先开启顶部的「共享」开关,然后找到「远程桌面」,开启它
    • 勾选「允许远程控制」,然后设置一个安全的访问密码
  2. 用RDP客户端连接
    你可以用Ubuntu自带的Remmina(没有的话可以用sudo apt install remmina安装),或者其他支持RDP的客户端:

    • 打开Remmina,新建一个连接,协议选择「RDP」
    • 输入Ubuntu机器的IP地址,设置好刚才的密码,点击连接
    • 这样就能直接进入你当前的Wayland会话,所有打开的应用都在,分辨率会自动适配你的客户端屏幕

一些实用细节和注意事项

  • 分辨率自适应
    • x11vnc搭配Remmina的话,在Remmina的连接设置里勾选「自适应窗口大小」,就能自动调整分辨率;
    • GNOME远程桌面用RDP的话,分辨率适配和Windows一样流畅,切换客户端屏幕大小会自动调整。
  • 多显示器支持
    • x11vnc会把物理机的多显示器合并成一个大桌面,远程客户端能看到所有屏幕内容;
    • GNOME远程桌面在Wayland下,远程连接时会自动切换到客户端的单屏分辨率,断开后回到物理机,桌面会自动恢复成原来的多屏布局,完全符合你的需求。
  • 安全加密
    如果是在公网连接,建议用SSH隧道加密传输(x11vnc的话),或者确保GNOME远程桌面的密码足够复杂。比如x11vnc配合SSH隧道的命令:
    ssh -L 5900:localhost:5900 你的用户名@Ubuntu机器IP
    
    然后本地VNC客户端连接localhost:5900,这样传输数据就是加密的。

备注:内容来源于stack exchange,提问作者maples

火山引擎 最新活动