以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有执行权限,重启服务

需要我帮你生成一键脚本,自动替换用户名并完成所有配置吗?你只需告诉我登录用户名即可。

标签: none

添加新评论