Debian 安装和配置 VNC 远程连接,无需显示器
发布日期:
部分 VNC 实现(如 Ubuntu 自带的屏幕共享)需要连接显示器才能使用。本文的方案基于 TigerVNC,无需显示器即可提供远程桌面服务。
环境
| 组件 | 版本 |
|---|---|
| Debian | 11.1.0 |
| 桌面 | Xfce 4.16 |
| VNC 服务端 | tigervnc-standalone-server |
| VNC 客户端 | TigerVNC Viewer |
安装步骤
1. 安装依赖
sudo apt install xfce4 xfce4-goodies dbus-x11 tigervnc-standalone-server
2. 设置 VNC 密码
vncpasswd
按提示输入两次密码。
3. 配置 xstartup
编辑 ~/.vnc/xstartup,写入以下内容:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /bin/sh /etc/xdg/xfce4/xinitrc
4. 配置输入法(可选)
不配置此步则 VNC 内无法使用输入法。
开机自启动 Fcitx5:
cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/
在 ~/.vnc/xstartup 中添加环境变量:
#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
export INPUT_METHOD=fcitx5
export GTK_IM_MODULE=fcitx5
export QT_IM_MODULE=fcitx5
export XMODIFIERS=@im=fcitx5
exec /bin/sh /etc/xdg/xfce4/xinitrc
5. 创建 systemd 服务
新建 /etc/systemd/system/vncserver@.service:
sudo vim /etc/systemd/system/vncserver@.service
写入以下内容,将 User 替换为实际用户名:
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=vnc登陆的用户名
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 2560x1440 -localhost no -fg
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
6. 连接 VNC

下载 TigerVNC Viewer,输入 服务器IP:1 连接。
建议使用 TigerVNC Viewer,不同客户端的 VNC 协议实现可能不兼容。