Featured image of post 用 x11vnc 远程访问我的 Ubuntu 桌面(支持 Dummy HDMI)

用 x11vnc 远程访问我的 Ubuntu 桌面(支持 Dummy HDMI)

如何在树莓派或无显示器的 Ubuntu 主机上部署 x11vnc,实现密码保护、持续运行、开机自启,并解决“无显示器黑屏”问题。

📡 x11vnc 安装与配置指南(支持 HDMI 虚拟显示器)

为了能在树莓派上远程访问 Ubuntu 桌面,我选择使用 x11vnc 搭建 VNC 服务。它支持密码认证、持续运行、开机自启,并能搭配 FRP 实现公网访问。

如果你也遇到“VNC 黑屏”问题,尤其是在没接显示器的情况下,不妨尝试搭配 HDMI 虚拟显示器插头(Dummy Plug),一插即亮!


✅ 安装 x11vnc

1
2
sudo apt update
sudo apt install x11vnc -y

🔐 设置访问密码(推荐)

首次设置访问密码:

1
x11vnc -storepasswd

密码将保存在:

1
~/.vnc/passwd

🚀 手动启动(用于测试)

1
x11vnc -usepw -forever -display :0
参数含义
-usepw使用密码验证
-forever客户端断开后服务仍保持运行
-display :0使用系统主显示(通常为桌面)

🧩 推荐搭配:使用 HDMI 虚拟显示器插头(Dummy Plug)

💡 没接显示器时,Ubuntu 往往不会启动桌面环境,导致 x11vnc 黑屏。 ✅ 插上 Dummy HDMI 后,系统会以为有个屏幕,从而自动启用 GNOME 桌面。

插上 → 重启 → 成功看到桌面。


🔧 设置为 systemd 开机自启

1. 创建 systemd 服务文件:

1
sudo vim /etc/systemd/system/x11vnc.service

内容如下(请替换为你当前的用户名,如 ubuntu):

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
[Unit]
Description=Start x11vnc at system boot
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -usepw -forever -display :0
User=ubuntu
Group=ubuntu

[Install]
WantedBy=multi-user.target

2. 启动服务:

1
2
3
sudo systemctl daemon-reload
sudo systemctl enable x11vnc.service
sudo systemctl start x11vnc.service

🧪 测试连接

任意 VNC 客户端连接:

1
<Ubuntu IP>:5900

输入你设置的密码,就能远程访问桌面了!


🧼 卸载与清理(可选)

1
2
3
4
5
6
sudo systemctl stop x11vnc.service
sudo systemctl disable x11vnc.service
sudo rm /etc/systemd/system/x11vnc.service
sudo apt purge x11vnc -y
sudo rm -rf ~/.vnc
sudo apt autoremove --purge -y

✅ 小结

搭配 Dummy HDMI 插头的 x11vnc,是轻量但实用的远程桌面方案,特别适合无头运行的树莓派或 Ubuntu 主机。

如果你家里也有类似部署需求,值得试试这套组合。

使用 Hugo 构建
主题 StackJimmy 设计