Ubuntu下TigerVNC兼容性问题解决方法汇总
TigerVNC与Ubuntu默认桌面环境(如GNOME 3)可能存在兼容性冲突,需修改~/.vnc/xstartup
配置文件,指定兼容的桌面环境(如GNOME Flashback或Xfce)。
cp ~/.vnc/xstartup ~/.vnc/xstartup.bak
nano ~/.vnc/xstartup
添加以下内容(替换<USER>
为你的用户名):#!/bin/sh
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:GNOME"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
vncconfig -iconic &
startxfce4 &
chmod +x ~/.vnc/xstartup
ps aux | grep Xtightvnc
确认VNC进程是否运行,若无输出则需手动启动:vncserver :1
(:1
对应5901端口)。:1
对应5901):sudo ufw allow 5901/tcp
sudo ufw enable
netstat -tulnp | grep 5901
查看占用进程,或更换显示号(如:2
对应5902)启动:vncserver :2
。服务器IP:显示号
(如192.168.1.100:1
),而非localhost
或服务器域名。TigerVNC不建议使用root用户启动(存在安全风险),应创建普通用户并赋予权限:
sudo adduser vncuser
(按提示设置密码)。sudo usermod -aG sudo vncuser
。su - vncuser
,然后按上述步骤设置VNC密码并启动服务。sudo apt update && sudo apt upgrade -y
,确保Ubuntu内核和依赖库为最新版本。sudo apt install tigervnc-standalone-server tigervnc-common
ssh -L 5901:localhost:5901 user@vnc-server-ip
然后本地VNC Viewer连接127.0.0.1:5901
。~/.vnc/xstartup
,添加-SecurityTypes TLSVnc,X509Vnc
参数,并生成证书(需OpenSSL工具)。若需VNC服务器随系统启动,可创建Systemd服务:
sudo nano /etc/systemd/system/vncserver@.service
<USER>
为你的用户名,:1
为显示号):[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<USER>
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -geometry 1920x1080 -depth 24 -localhost no :%i
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service