Ubuntu 22.04.3默认镜像下VNC Server开机自启(无需登录)的配置方法咨询
Ubuntu 22.04.3默认镜像下VNC Server开机自启(无需登录)的配置方法咨询
嗨,我来帮你搞定Ubuntu 22.04.3上VNC Server开机自启且无需登录的问题!这个需求可以通过配置systemd服务来实现,下面是一步步的操作指南:
1. 确认VNC Server已安装(未安装则执行此步骤)
推荐兼容性更好的tigervnc作为服务端,执行以下命令安装:
sudo apt update && sudo apt install tigervnc-standalone-server -y
2. 设置VNC登录密码
切换到你要用于VNC服务的普通用户(不建议用root),执行密码设置命令:
vncpasswd
按照提示设置密码,按需选择是否允许“仅查看”模式,密码会自动保存在当前用户的~/.vnc/passwd文件中。
3. 创建systemd服务配置文件
我们需要通过systemd让VNC Server随系统启动自动运行,无需用户登录。执行命令创建服务文件:
sudo nano /etc/systemd/system/vncserver@.service
将以下内容粘贴进去,记得把<USER>替换成你的实际用户名(比如ubuntu):
[Unit] Description=Remote desktop service (VNC) After=syslog.target network.target [Service] Type=forking User=<USER> Group=<USER> WorkingDirectory=/home/<USER> PIDFile=/home/<USER>/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target
其中-depth 24是颜色深度,1920x1080是分辨率,你可以根据自己的需求修改参数。
4. 启用并测试服务
先让systemd识别新的服务文件:
sudo systemctl daemon-reload
然后设置开机自启(:1对应服务文件中的%i,代表显示器编号,你也可以改成:2等其他数字):
sudo systemctl enable vncserver@:1.service
手动启动服务测试运行状态:
sudo systemctl start vncserver@:1.service sudo systemctl status vncserver@:1.service
如果输出显示active (running),说明服务已经正常运行。
5. 关键适配:切换到Xorg显示服务器
Ubuntu 22.04默认使用Wayland,但VNC对Wayland的兼容性较差,建议切换到Xorg:
- 编辑GDM配置文件:
sudo nano /etc/gdm3/custom.conf
- 找到
WaylandEnable=false这一行,去掉前面的注释符号# - 保存退出后,重启GDM服务或系统:
sudo systemctl restart gdm3
现在重启系统试试,无需登录就能通过VNC客户端连接你的机器,连接地址为你的IP地址:1(对应我们设置的显示器编号1)。
备注:内容来源于stack exchange,提问作者sgho
相关产品推荐
相关产品推荐

