1. 安装TigerVNC服务器
在Debian终端中执行以下命令,更新软件包列表并安装TigerVNC服务器及公共组件:
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
这一步会安装TigerVNC的核心服务及依赖,确保后续配置能正常进行。
2. 设置VNC访问密码
运行vncpasswd命令,按照提示输入并确认密码(至少6位)。此密码用于VNC客户端连接时的身份验证,并非系统用户密码:
vncpasswd
密码会加密存储在用户主目录的.vnc/passwd文件中。
3. 配置VNC桌面会话
编辑~/.vnc/xstartup文件(若不存在则创建),定义VNC启动时的桌面环境。以下是常见桌面环境的配置示例:
#!/bin/sh
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
exec /etc/X11/Xsession ubuntu-xsession
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
#!/bin/sh
exec startplasma-x11
配置完成后,赋予文件可执行权限:
chmod +x ~/.vnc/xstartup
这一步确保VNC启动时能正确加载指定的桌面环境。
4. 启动TigerVNC服务器
通过vncserver命令手动启动VNC服务,指定显示编号(如:1对应端口5901,:2对应5902,依此类推):
vncserver :1 -geometry 1920x1080 -depth 24
参数说明:
:1:显示编号(决定VNC端口,5900+显示编号);-geometry:设置桌面分辨率(如1920x1080);-depth:设置颜色深度(如24位,推荐值)。vncserver -kill :1
这一步会启动VNC服务,并在终端显示连接的客户端信息。
5. 配置防火墙(可选但推荐)
若系统启用了ufw防火墙,需允许VNC端口(5901对应显示编号:1)的入站流量:
sudo ufw allow 5901/tcp
sudo ufw reload
若使用firewalld,可执行:
sudo firewall-cmd --permanent --add-port=5901/tcp
sudo firewall-cmd --reload
这一步确保外部设备能访问VNC服务。
6. 连接到TigerVNC服务器
在另一台计算机上安装VNC客户端(如RealVNC Viewer、TightVNC Viewer或TigerVNC Viewer),输入服务器IP地址及显示编号(如192.168.1.100:1),点击“连接”并输入之前设置的VNC密码,即可远程访问Debian桌面。
7. 设置开机自启动(可选)
若需VNC服务器随系统启动自动运行,可创建systemd服务文件:
sudo nano /etc/systemd/system/vncserver@.service
添加以下内容(将<your_username>替换为实际用户名,<display_number>替换为显示编号,如1):
[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 1920x1080 :%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服务。