如何在Ubuntu 22.04首次登录前启用GNOME Remote Desktop
如何在Ubuntu 22.04首次登录前启用GNOME Remote Desktop
你遇到的问题确实很典型——GNOME Remote Desktop默认是绑定用户会话的服务,只有用户登录后才会启动,而你用WOL唤醒电脑后没法直接登录,又不想开自动登录,对吧?别担心,咱们可以通过几个步骤让它在系统启动后、用户未登录时就运行起来:
第一步:启用用户的linger模式
这是核心操作,它能让systemd在用户未登录的情况下,依然启动并维护该用户的服务实例。打开终端(如果能通过SSH远程操作更好),执行命令:loginctl enable-linger <你的用户名>
替换成你的实际用户名,比如loginctl enable-linger john。执行完无需重启,设置会立即生效。第二步:确认GNOME Remote Desktop的配置和服务状态
先确保你已经在图形界面里开启了屏幕共享,设置好访问密码(如果还没配置,先登录一次完成设置)。之后用命令验证配置:- 检查VNC是否启用:
gsettings get org.gnome.desktop.remote-desktop.vnc enabled,返回true即为正常。 - 确认密码设置:
gsettings get org.gnome.desktop.remote-desktop.vnc password,能看到加密后的密码就说明设置成功。 - 检查用户服务状态:
systemctl --user status gnome-remote-desktop.service,如果显示active (running)且enabled就没问题;若未启用,执行systemctl --user enable gnome-remote-desktop.service设置开机自动启动。
- 检查VNC是否启用:
第三步:开放防火墙端口
GNOME Remote Desktop默认使用5900端口(对应第一个显示器),需要让防火墙允许该端口的TCP连接:sudo ufw allow 5900/tcp
执行后用sudo ufw status确认规则已添加。第四步:测试验证
现在重启远程PC,用WOL唤醒它,然后用VNC客户端(比如Remmina、RealVNC Viewer)连接,输入远程PC的IP地址加:0(例如192.168.1.100:0),输入设置的密码,应该就能直接连接到GNOME桌面,无需提前登录。
如果连接时遇到你提到的错误,可以排查这几点:
- 确认linger模式生效:
loginctl show-user <你的用户名> | grep Linger,返回Linger=yes即为正常。 - 检查服务状态:远程SSH到PC后执行
systemctl --user status gnome-remote-desktop.service,确认服务处于running状态。 - 验证网络:确保WOL唤醒后PC已获取IP,且5900端口能被正常访问。
备注:内容来源于stack exchange,提问作者Nicholas Redi




