惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园_首页
IT之家
IT之家
博客园 - Franky
Stack Overflow Blog
Stack Overflow Blog
宝玉的分享
宝玉的分享
Recent Announcements
Recent Announcements
Engineering at Meta
Engineering at Meta
S
SegmentFault 最新的问题
V
Visual Studio Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Last Week in AI
Last Week in AI
H
Help Net Security
V
V2EX
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 叶小钗
J
Java Code Geeks
博客园 - 【当耐特】
月光博客
月光博客
爱范儿
爱范儿
人人都是产品经理
人人都是产品经理
酷 壳 – CoolShell
酷 壳 – CoolShell
小众软件
小众软件

树 - 洞

SMTP2GO 拯救你的 25 端口限制 | 树 SMTP2GO 拯救你的 25 端口限制 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 Bilibili Linux 客户端 VAAPI 硬解折腾全记录 | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 震惊!insmtr 的 MySQL 数据库居然被勒索软件攻击了! | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 再探阿里云 DNS 对 CloudFront 的解析情况 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 为单板机配置超简单 VNC 环境 改良版 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 为单板机配置超简单 VNC 环境 | 树 Ubuntu 22.04 Rust OpenCV 注意事项 | 树 Redmi AX6000 hanwckf U-Boot 安装 OpenWrt 24 | 树 在 WSL 中使用 ISE | 树 在 WSL 中使用 ISE | 树 Jetson AGX Orin CH340 驱动安装 | 树 Jetson AGX Orin CH340 驱动安装 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Ubuntu 22.04 上运行 PX4-Autopilot 1.13 | 树 在 Thunderbird 里使用沉浸式翻译插件 | 树 在 Thunderbird 里使用沉浸式翻译插件 | 树 搭建自定义域名邮箱 | 树 - 洞 搭建自定义域名邮箱 | 树 - 洞 Android Box for root 透明代理 | 树 再见,曾经热爱的算法竞赛 | 树 - 洞 再见,曾经热爱的算法竞赛 | 树 - 洞
为单板机配置超简单 VNC 环境 | 树
insmtr · 2025-05-13 · via 树 - 洞

单板机资源有限,打电赛的时候为了能够让资源更多得,能省一点资源就省一点。我们在使用 VNC 的时候,发现 VNC 的桌面环境占用的资源实在是太大了,尤其是 LXDE 和 XFCE ,所以我们决定使用更轻量级的桌面环境。丐版,但能用。

安装

我选用的是 Xvfb 作虚拟桌面,x11vnc 作 VNC 服务器,openbox 作窗口管理器的解决方案。

sudo apt update
sudo apt install -y xvfb x11vnc openbox

然后我们写一个启动脚本,命名为 start_vnc.sh ,内容如下:

Xvfb :0 -screen 0 1280x800x24 &
x11vnc -display :0 -forever -noxdamage -repeat -shared -nopw -xkb &
DISPLAY=:0 openbox &

脚本中的 -screen 0 1280x800x24 可以根据需要修改分辨率和颜色深度, :0 是显示器的编号,如果你本地已经有一个显示器在使用 :0 ,那么你可以改成 :1 或者其他的。

然后我们给脚本添加执行权限:

chmod +x start_vnc.sh

接下来就是设置开机自启动了。我选择使用 crontab 来管理。

crontab -e

在文件末尾添加以下内容:

@reboot /你创建的脚本所在的目录/start_vnc.sh

保存并退出。

最后再指定一下软件的显示器。我们在 ~/.bashrc 中添加以下内容:

export DISPLAY=:0

然后重启单板机,没有问题的话,VNC 服务就已经启动起来了。

连接

在本地使用 VNC 客户端连接到单板机的 IP 地址,端口号是 5900 ,如果你使用的是 :1 ,那么端口号就是 5901

尝试在 ssh 中启动一个需要图形界面的程序,比如 xeyes ,可以看到,VNC 客户端中已经可以正常显示了。

结语

这个方案确实很简陋,但是对于我们来说,已经足够了,经济又实惠。