在Debian系统中使用TigerVNC共享桌面的完整步骤
首先更新系统软件包列表,然后安装TigerVNC服务器及公共组件(包含配置文件和依赖):
sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-common -y
运行vncpasswd命令设置VNC连接密码(用于客户端验证),可选设置只读密码(允许他人查看桌面但无法操作):
vncpasswd
按照提示输入密码(至少6位)并确认,密码文件默认保存在~/.vnc/passwd。
编辑~/.vnc/xstartup文件(若不存在则创建),定义VNC启动时的桌面环境。以下以GNOME桌面为例(若使用XFCE、KDE等,需替换为对应启动命令):
nano ~/.vnc/xstartup
添加以下内容(关键参数说明:unset清除冲突环境变量,vncconfig启用剪贴板共享,gnome-session启动GNOME桌面):
#!/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 &
gnome-session &
保存并退出(Ctrl+X→Y→Enter),然后赋予执行权限:
chmod +x ~/.vnc/xstartup
为避免每次手动启动VNC服务器,创建systemd服务文件:
sudo nano /etc/systemd/system/vncserver@.service
替换<YOUR_USERNAME>为你的实际用户名,内容如下(-depth 24设置颜色深度,-geometry 1920x1080设置分辨率,-localhost no允许远程连接):
[Unit]
Description=TigerVNC Server for %i
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 1920x1080 -localhost no
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
保存并退出,重新加载systemd配置:
sudo systemctl daemon-reload
启动VNC服务(:1对应端口5901,:2对应5902,依此类推):
sudo systemctl start vncserver@1.service
设置开机自启:
sudo systemctl enable vncserver@1.service
检查服务状态(确认active (running)表示成功):
sudo systemctl status vncserver@1.service
若系统启用ufw防火墙,开放VNC端口(5901对应:1):
sudo ufw allow 5901/tcp
重新加载防火墙规则:
sudo ufw reload
在客户端(如Windows、Linux)使用VNC Viewer(如RealVNC、TightVNC),输入服务器IP地址+显示编号(例如192.168.1.100:1),然后输入步骤2中设置的密码,即可连接并共享桌面。
xstartup中的启动命令(例如startxfce4 &)。ssh -L 5901:localhost:5901 user@server_ip),或限制客户端IP访问(通过ufw或云安全组)。5901端口被占用,可更换显示编号(如:2对应5902)并调整防火墙规则。