使用 Panther X2 + ArmbianOS 为例为其配置无头远程桌面。

需求确认
Panther X2 是一款具备 RK3566 + 4GB RAM + 32GB EMMC 的设备,最早作为矿机出现,后因行情变化,导致该产品廉价大批流出。
这款设备不具备显示输出接口,但出于某些原因我仍需要在其上运行桌面环境。按照本站在 armbian 上安装 xfce 和 VNC 做远程桌面一文中的方法安装xfce后,其桌面并不能做到始终在后台运行,VNC退出后桌面进程即停止。经过一些研究,已可以做到在无物理显示输出的前提下让桌面始终运行。核心思路就是:造一个“虚拟显示器” + 让 xfce 在它上面自启动 + 再把画面共享出去。
按照本文方法,应该也可以同时应用到x86设备上。
环境介绍
主机:Panther X2(4+32),系统安装在SD卡上,SD卡为SanDisk Extreme 64GB。
操作系统:v26.02.0 for RK.Panther-X2 running Armbian Linux 6.12.69-ophub;内核版本:6.12.69-ophub。
部署桌面
- 安装必要软件包:其中:
1
apt install -y xvfb xfce4 xfce4-goodies x11vnc libayatana-appindicator3-1 libappindicator3-1 libegl1-mesa dbus-x11 fonts-noto-cjk fonts-wqy-zenhei fonts-wqy-microhei
xvfb用于启动虚拟显示器;xfce4 xfce4-goodies为xfce;x11vnc用于使用VNC共享桌面;libayatana-appindicator3-1 libappindicator3-1为托盘图标支持库;libegl1-mesa用于处理 OpenGL/EGL 运行库缺失问题;fonts-noto-cjk fonts-wqy-zenhei fonts-wqy-microhei处理中文兼容性问题;
此外,如果需要无障碍服务也可以安装如下包:1
apt install -y at-spi2-core at-spi2-common
- 启动虚拟桌面测试一下:如果这一步没报错,说明:
1
2
3Xvfb :0 -screen 0 1280x800x24 &
export DISPLAY=:0
startxfce4 &:0这个“假显示器”起来了,且xfce已经在后台跑着了。 - 启动x11vnc将桌面通过vnc协议导出:通过VNC Viewer连接主机IP:5901(可以根据实际需求更改端口号)即可看到桌面。
1
x11vnc -display :0 -forever -nopw -shared -rfbport 5901
- 重启主机(或者能够彻底kill掉上面所有进程也可以)
- 新建服务文件
/etc/systemd/system/xfce-headless.service:启动服务即可:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20[Unit]
Description=Headless xfce Desktop
After=network.target
Documentation=https://lxnchan.cn/headless-linux-desktop.html
[Service]
Type=simple
User=root
Environment=DISPLAY=:0
ExecStart=/usr/bin/bash -c "\
/usr/bin/Xvfb :0 -screen 0 1280x800x24 & \
sleep 2 && \
/usr/bin/startxfce4 & \
sleep 2 && \
/usr/bin/x11vnc -display :0 -forever -nopw -shared -rfbport 5901 \
"
Restart=always
[Install]
WantedBy=multi-user.target1
systemctl daemon-reload && systemctl enable --now xfce-headless.service

