以GNOME为桌面,在Ubuntu 24.04上配置TigerVNC开机自启
以GNOME为桌面,在Ubuntu 24.04上配置TigerVNC开机自启,核心是改xstartup适配GNOME、禁用Wayland、用systemd服务管理,步骤如下,全程可复制执行。
一、前提准备
1. 装GNOME与TigerVNC(桌面版可跳过GNOME安装)
bash
sudo apt update && sudo apt install -y ubuntu-desktop tigervnc-standalone-server tigervnc-common
vncpasswd # 设密码,选n不设view-only
2. 禁用Wayland(必须,否则GNOME在VNC下易异常)
bash
sudo sed -i 's/^#WaylandEnable=false/WaylandEnable=false/' /etc/gdm3/custom.conf
sudo systemctl restart gdm3
二、配置GNOME专属xstartup
bash
vncserver -kill :1 # 先关旧会话
nano ~/.vnc/xstartup # 新建/覆盖
粘贴以下内容(适配Ubuntu 24.04 GNOME):
bash
!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
[ -r ~/.Xresources ] && xrdb ~/.Xresources
xsetroot -solid grey
vncconfig -iconic & # 剪贴板同步
exec gnome-session
保存后赋予执行权限:
bash
chmod +x ~/.vnc/xstartup
三、创建并启用systemd服务
1. 编辑服务文件(替换 <你的用户名> 为实际登录名,如user)
bash
sudo nano /etc/systemd/system/vncserver@.service
粘贴:
ini
[Unit]
Description=TigerVNC Server (GNOME) for %u :%i
After=syslog.target network.target 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 -compresslevel 6 -PreferredEncoding ZRLE
ExecStop=/usr/bin/vncserver -kill :%i
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
2. 重载并设置开机自启(以显示号1,端口5901为例)
bash
sudo systemctl daemon-reload
sudo systemctl enable --now vncserver@1.service
sudo ufw allow 5901/tcp && sudo ufw reload
四、验证与排障
1. 查状态:sudo systemctl status vncserver@1.service(显示active即成功)
2. 连不上/卡顿:
- 看日志:journalctl -u vncserver@1.service -f
- 降负载:关GNOME特效(gsettings set org.gnome.desktop.interface enable-animations false)
- 无画面:确认xstartup有执行权限,重启服务
需要我帮你生成一键脚本,自动替换用户名并完成所有配置吗?你只需告诉我登录用户名即可。