Ubuntu 24.04 让 TigerVNC 开机自启,最稳的是用 systemd 服务,按以下步骤操作即可,全程可复制粘贴。

一、前提准备(已配置可跳过)

1. 确保已设 VNC 密码:vncpasswd(按提示设置,选n不设view-only)
2. 配置 ~/.vnc/xstartup(以 XFCE 为例,更稳更快):
bash

mkdir -p ~/.vnc && nano ~/.vnc/xstartup
 

粘贴内容并保存(Ctrl+O→回车→Ctrl+X):
bash

!/bin/bash

unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
[ -r ~/.Xresources ] && xrdb ~/.Xresources
xsetroot -solid grey
exec startxfce4
 
3. 赋予执行权限:chmod +x ~/.vnc/xstartup

二、创建 systemd 服务文件

1. 编辑服务文件(替换  <你的用户名>  为实际登录名,如 user):
bash

sudo nano /etc/systemd/system/vncserver@.service
 
2. 粘贴以下内容(适配 Ubuntu 24.04 + Xorg):
ini

[Unit]
Description=TigerVNC Server for %u (display :%i)
After=syslog.target network.target
Wants=graphical.target

[Service]
Type=forking
User=<你的用户名>
Group=<你的用户名>
WorkingDirectory=/home/<你的用户名>
PIDFile=/home/<你的用户名>/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -localhost no -geometry 1280x720 -depth 16 -PreferredEncoding ZRLE -compresslevel 6
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target
 
3. 关键参数说明:

  • :1 对应端口 5901;-localhost no 允许远程连(云服务器需开安全组)
  • -depth 16 降色深提速;-PreferredEncoding ZRLE 省带宽;-compresslevel 6 平衡性能

三、启用与验证服务

1. 重载并设置开机自启(以显示号 1 为例):
bash

sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@1.service
 
2. 验证状态:sudo systemctl status vncserver@1.service(显示 active (running) 即成功)
3. 开放防火墙 5901 端口:sudo ufw allow 5901/tcp && sudo ufw reload

四、常见问题与排查

  • 启动失败:检查 xstartup 权限(必须 chmod +x)、用户名是否替换正确,看日志:journalctl -u vncserver@1.service -f
  • 仍用 Wayland:确保已设 WaylandEnable=false 并重启 gdm3(sudo systemctl restart gdm3)
  • 连接慢:保持 -depth 16 和 ZRLE 编码,客户端选对应编码

需要我帮你生成一个一键脚本,自动替换用户名并执行所有步骤吗?你只需告诉我你的登录用户名即可。

标签: none

添加新评论