首先更新系统软件包列表并安装TigerVNC服务器及常用组件:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
运行以下命令设置VNC连接的密码(用于远程登录验证):
vncpasswd
按照提示输入并确认密码(密码长度需至少6位)。
编辑用户目录下的~/.vnc/xstartup文件(若不存在则创建),添加以下内容以启动桌面环境(以XFCE为例,若使用GNOME需替换为gnome-session):
nano ~/.vnc/xstartup
粘贴以下配置(关键:取消exec行的注释并替换为你的桌面环境):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XDG_SESSION_TYPE=x11
export XDG_RUNTIME_DIR=/run/user/$(id -u)
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
exec startxfce4 # 替换为 gnome-session(GNOME)或 kde-plasma-desktop(KDE)
保存并退出编辑器,然后赋予脚本可执行权限:
chmod +x ~/.vnc/xstartup
创建VNC服务的Systemd单元文件:
sudo nano /etc/systemd/system/vncserver@.service
粘贴以下内容(将your_username替换为你的Ubuntu用户名,:%i中的1对应端口5901,2对应5902,依此类推):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=your_username
Group=your_username
WorkingDirectory=/home/your_username
PIDFile=/home/your_username/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 # 杀死残留进程
ExecStart=/usr/bin/vncserver :%i -depth 24 -geometry 1280x800 # 设置分辨率和颜色深度
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
保存并退出编辑器。
重新加载Systemd配置以识别新服务:
sudo systemctl daemon-reload
启用服务(设置为开机自启):
sudo systemctl enable vncserver@1.service # 若使用:2则改为vncserver@2.service
立即启动服务:
sudo systemctl start vncserver@1.service
重启Ubuntu系统:
sudo reboot
系统重启后,TigerVNC服务会自动启动,对应的VNC端口(如5901)将处于监听状态。使用VNC客户端(如RealVNC、TightVNC)连接<服务器IP>:5901,输入之前设置的VNC密码即可直接登录桌面环境,无需手动启动VNC服务器。
ssh -L 5901:localhost:5901 your_username@your_server_ip)加密连接。xstartup中的exec startxfce4替换为exec gnome-session;若使用KDE,替换为exec kde-plasma-desktop。ss -ltnp | grep 5901(5901对应:1)命令验证VNC服务是否正常监听端口。