[Raspberry Pi]如何將無頭虛擬顯示器服務(headless display)建置在樹莓派的Ubuntu桌面作業系統中?

在樹莓派,嵌入式系統以及IoT的應用中,為了減少對實體顯示裝置的依賴並降低硬體維護成本,無頭顯示(headless display)的需求相對重要,特別是在無頭(headless)環境下,卻需要運行作業系統的桌面應用時。解決無頭顯示的方案分為硬體和軟體方式,硬體方式是直接在被控端插入HDMI欺騙器,本文則著重於軟體方式,利用安裝和配置虛擬顯示器服務於被控端中,兩個方式的目的都是為了讓作業系統認為已連接實體顯示裝置,從而允許遠端訪問桌面應用。

延續<[Raspberry Pi]如何用VNC遠端控制樹莓派(Ubuntu desktop 23.04)?>文章內容,樹莓派作為被控端,並讓使用者藉由VNC遠端控制,其需要X server提供顯示輸出,但若樹莓派沒有連接實體顯示裝置,則Ubuntu desktop作業系統無法啟動GUI,導致遠端桌面無法正常運作。本文實作的被控端硬體和作業系統稍有變動,條列如下:
1.被控端硬體: 樹莓派 5 / 8GB
2.作業系統: Ubuntu desktop 24.04.2 LTS
3.執行下列虛擬顯示器服務之前,請先行完成RealVNC Server的安裝作業,同時將下列兩個服務(vncserver-virtuald.service和vncserver-x11-serviced.service)設定為開機後自動啟動,指令如下。

bash 复制代码
sudo systemctl start vncserver-virtuald.service   
sudo systemctl start vncserver-x11-serviced.service
sudo systemctl enable vncserver-virtuald.service 
sudo systemctl enable vncserver-x11-serviced.service 

虛擬顯示服務的安裝和配置

a.系統安裝套件更新
bash 复制代码
sudo apt update
b.安裝虛擬顯示套件(xserver-xorg-video-dummy)
bash 复制代码
sudo apt install xserver-xorg-video-dummy
c.創建xorg.conf在下列路徑中
bash 复制代码
sudo nano /etc/X11/xorg.conf
d.並在xorg.conf檔案中,配置下列內容
bash 复制代码
Section "Device"
    Identifier "DummyDevice"
    Driver "dummy"
    VideoRam 256000
EndSection

Section "Screen"
    Identifier "DummyScreen"
    Device "DummyDevice"
    Monitor "DummyMonitor"
    DefaultDepth 24
    SubSection "Display"
        Depth 24
        Modes "1920x1080_60.0"
    EndSubSection
EndSection

Section "Monitor"
    Identifier "DummyMonitor"
    HorizSync 30-70
    VertRefresh 50-75
    ModeLine "1920x1080" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +Hsync +Vsync
EndSection
e.配置xorg.conf檔案後,讓樹莓派重新開機
bash 复制代码
sudo reboot now

同時可嘗試拔掉樹莓派和實體顯示裝置的HDMI線,並利用VNC連接樹莓派,應可順利看到解析度為1920*1080的Ubuntu桌面。
最後,須提醒的是,當已順利配置無頭虛擬顯示器服務後,此時連接實體螢幕時,實體螢幕不會顯示任何畫面,因為已由虛擬顯示器接管了。若要還原連接實體螢幕,可將xorg.conf刪除掉即可。
參考資料:
https://blog.csdn.net/lida2003/article/details/137179653

相关推荐
getapi1 小时前
Ubuntu 22.04 服务器的系统架构是否为 amd64 x86_64
linux·服务器·ubuntu
小天源1 小时前
Cacti在Debian/Ubuntu中安装及其使用
运维·ubuntu·debian·cacti
国产化创客2 小时前
ESP32平台web服务器开发框架选型与分析
物联网·智能家居·智能硬件
飞睿科技2 小时前
乐鑫智能开关方案解析:基于ESP32-C系列的低功耗、高集成设计
嵌入式硬件·物联网·esp32·智能家居·乐鑫科技
独自归家的兔3 小时前
ubuntu系统安装dbswitch教程 - 备份本地数据到远程服务器
linux·运维·ubuntu
ONE_SIX_MIX3 小时前
ubuntu 24.04 用rdp连接,桌面黑屏问题,解决
linux·运维·ubuntu
ESBK20253 小时前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信
dingdingfish4 小时前
Bash 学习 - 第1章:Introduction
bash·shell·programming·introduction
安科瑞刘鸿鹏175 小时前
高速路灯故障难定位?用 ASL600 实现精确单灯监测与维护预警
运维·网络·物联网·安全
雪兽软件18 小时前
物联网 (IoT) 将如何改变我们的工作方式
物联网