Ubuntu下TigerVNC配置指南
打开终端,依次执行以下命令更新系统软件包列表并安装TigerVNC服务器及公共组件:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
运行vncpasswd命令设置VNC访问密码(用于客户端连接时的身份验证),按照提示输入并确认密码:
vncpasswd
编辑用户目录下的.vnc/xstartup文件(若文件不存在则创建),配置启动时加载的桌面环境(以Xfce为例,轻量且兼容性好):
nano ~/.vnc/xstartup
添加以下内容(关键参数说明:unset用于清除冲突的环境变量,startxfce4 &启动Xfce桌面):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
startxfce4 &
保存并退出编辑器(Ctrl+X→Y→Enter),然后为文件添加可执行权限:
chmod +x ~/.vnc/xstartup
使用vncserver命令启动VNC服务,指定显示号(如:1,对应默认端口5901,:2对应5902,依此类推):
vncserver :1
首次启动会提示确认桌面分辨率(可直接回车使用默认值)和是否创建默认配置文件,按需选择即可。
若Ubuntu启用了UFW防火墙,需允许VNC端口通过(以:1对应的5901端口为例):
sudo ufw allow 5901/tcp
sudo ufw enable # 若未启用防火墙,可跳过此步
创建Systemd服务文件以实现VNC服务器开机自动启动:
sudo nano /etc/systemd/system/vncserver@.service
将以下内容粘贴到文件中(替换your_username为实际用户名,Group改为对应的用户组,如your_username通常属于sudo或users组):
[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 -depth 24 -geometry 1280x800 :%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 # 立即启动服务(若未手动启动)
在远程计算机上使用VNC客户端(如TigerVNC Viewer、RealVNC Viewer),输入Ubuntu服务器的IP地址+显示号(如192.168.1.100:1),点击连接,输入之前设置的VNC密码即可访问远程桌面。
为避免VNC密码在网络中明文传输,可通过SSH隧道加密连接。在本地计算机执行以下命令(替换your_username和your_server_ip):
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中连接localhost:1,即可通过SSH隧道安全访问远程桌面。