在 Debian 系统中让 VNC Server 开机自启动,常见做法取决于你使用的 VNC 软件 和 系统初始化方式(systemd)。下面以 TigerVNC / RealVNC / x11vnc 为例,分别说明。
cat /etc/os-release
Debian 8 以后基本都使用 systemd。
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common
vncpasswd
假设用户为 debian,VNC 端口 :1(5901)
sudo nano /etc/systemd/system/vncserver@.service
内容如下(⚠ 注意替换用户名):
[Unit]
Description=VNC Server (%i)
After=network.target
[Service]
Type=forking
User=debian
Group=debian
WorkingDirectory=/home/debian
ExecStartPre=-/usr/bin/vncserver -kill :%i
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
sudo systemctl start vncserver@1
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=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable x11vnc
sudo systemctl start x11vnc
⚠ 注意:需先启动桌面环境(GNOME / XFCE)
如果你安装的是 RealVNC Server:
sudo systemctl enable vncserver-x11-serviced
sudo systemctl start vncserver-x11-serviced
journalctl -u vncserver@1 -xe
.vnc/xstartup#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
chmod +x ~/.vnc/xstartup
| 场景 | 推荐 |
|---|---|
| 无桌面 / 服务器 | TigerVNC + systemd |
| 已有桌面 | x11vnc |
| 商业环境 | RealVNC |
如果你愿意,可以告诉我:
我可以给你 完全定制的一套配置。