在 Debian 系统中实现 VNC 开机自启,常见做法取决于你使用的 VNC 服务类型 和 是否使用桌面环境。下面按最常用、最稳妥的方式给你说明,并附上排错建议。
| 方案 | 适用场景 | 推荐程度 |
|---|---|---|
| TigerVNC + systemd | 远程桌面(推荐) | ⭐⭐⭐⭐⭐ |
| x11vnc + systemd | 共享当前桌面 | ⭐⭐⭐⭐ |
| RealVNC / TightVNC | 老系统 | ⭐⭐⭐ |
下面以 TigerVNC(Debian 10+) 为例,这是目前最主流、最稳定的方式。
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
vncpasswd
(密码保存在 ~/.vnc/passwd)
debian:1(端口 5901)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
PIDFile=/home/debian/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
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
查看状态:
systemctl status vncserver@1
✅ 看到 active (running) 即成功
sudo reboot
重启后:
ss -lntp | grep 5901
sudo apt install x11vnc
x11vnc -storepasswd
sudo nano /etc/systemd/system/x11vnc.service
[Unit]
Description=x11vnc
After=display-manager.service
[Service]
ExecStart=/usr/bin/x11vnc -display :0 -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/debian/.x11vnc/passwd -rfbport 5900 -shared
Restart=always
[Install]
WantedBy=graphical.target
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
journalctl -u vncserver@1 -xe
确认安装了桌面环境:
sudo apt install xfce4 xfce4-goodies
并在 ~/.vnc/xstartup 中:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
chmod +x ~/.vnc/xstartup
ss -lntp | grep 590
✅ 服务器 / 远程桌面 → TigerVNC + systemd
✅ 共享当前桌面 → x11vnc
✅ Debian 10+ 强烈推荐 systemd 方式
如果你愿意,可以告诉我:
cat /etc/os-release)我可以给你完全定制的一套配置。