首先更新系统软件包列表,然后安装TigerVNC服务器及公共组件:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
运行vncpasswd命令设置专用于VNC连接的密码(与系统用户密码不同):
vncpasswd
按照提示输入并确认密码(密码长度需至少6位)。
编辑~/.vnc/xstartup文件(若不存在则创建),添加以下内容以启动GNOME桌面环境(根据实际桌面环境调整,如XFCE则替换为startxfce4 &):
nano ~/.vnc/xstartup
内容如下:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export XKL_XMODMAP_DISABLE=1
xrdb $HOME/.Xresources
startgnome &
保存并退出(Ctrl+X→Y→Enter),然后赋予执行权限:
chmod +x ~/.vnc/xstartup
使用vncserver命令启动服务器,:1表示显示编号(对应端口5901,:2对应5902,依此类推):
vncserver :1
首次启动会提示确认配置,后续可通过vncserver -list查看运行中的实例,vncserver -kill :1停止指定实例。
若系统启用UFW防火墙,需允许VNC端口通过(默认:1对应5901):
sudo ufw allow 5901/tcp
sudo ufw enable # 若未启用防火墙,可跳过此步
在远程计算机上安装VNC客户端(如TigerVNC Viewer、RealVNC Viewer),输入服务器IP地址和端口号(格式:<服务器IP>:<显示编号>,例如192.168.1.100:1),然后输入之前设置的VNC密码即可连接。
为避免密码明文传输,可通过SSH隧道加密连接:
在本地计算机运行以下命令(替换your_username和your_server_ip):
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中输入localhost:1即可连接(SSH隧道会将本地5901端口映射到服务器的5901端口)。
创建Systemd服务文件以实现VNC服务器开机自启:
sudo nano /etc/systemd/system/vncserver@.service
粘贴以下内容(替换your_username为实际用户名):
[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 # 立即启动服务
以上步骤完成后,Ubuntu系统将通过TigerVNC实现网络远程访问,可根据实际需求调整桌面环境、端口或安全设置。