在 Debian 上实现 VNC 自启动,通常取决于你使用的 显示方式(X11 / Wayland)、VNC Server 类型(TigerVNC / RealVNC / x11vnc)。下面给你几种 最常见、稳定可用 的方案,按推荐程度排序。
适合:Debian 10 / 11 / 12,TigerVNC
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
vncpasswd
debian 为例)sudo nano /etc/systemd/system/vncserver@.service
内容如下(注意替换用户名):
[Unit]
Description=VNC Server at %i
After=syslog.target network.target
[Service]
Type=forking
User=debian
Group=debian
WorkingDirectory=/home/debian
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
sudo systemctl start vncserver@1
✅ 开机自动启动
✅ 多用户可用
适合:桌面环境(Xfce / GNOME)
nano ~/.vnc/xstartup
示例(Xfce):
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
chmod +x ~/.vnc/xstartup
crontab -e
添加:
@reboot vncserver :1
⚠️ 缺点:
适合:已有 X11 桌面
sudo apt install x11vnc
[Unit]
Description=x11vnc
After=graphical.target
[Service]
ExecStart=/usr/bin/x11vnc -display :0 -forever -shared -rfbauth /home/debian/.x11vnc/passwd
Restart=always
User=debian
[Install]
WantedBy=graphical.target
启用:
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
Debian 12 GNOME 默认 Wayland ❌
✅ 解决:
sudo nano /etc/gdm3/custom.conf
取消注释:
WaylandEnable=false
sudo ufw allow 5901
| 场景 | 推荐 |
|---|---|
| 服务器 / 无桌面 | TigerVNC + systemd |
| 桌面远程管理 | x11vnc + systemd |
| 临时使用 | cron |
如果你愿意,可以告诉我:
我可以给你 精准定制方案。