1. 設定桌面登入。sudo raspi-config > 1 System Options > S5 Boot / Auto Login > B4 Desktop Autologin
2. 重新安裝 LXsession 程式,sudo apt-get install --reinstall libgtk2.0-0 && sudo apt-get install --reinstall lxsession
3. 正確設對桌面解析度(例如 800x600)。/boot/config.txt
===
hdmi_force_hotplug=1
framebuffer_width=800
framebuffer_height=600
hdmi_group=2
hdmi_mode=9
===
4. 正確設對 VNC 解析度(例如 800x600)。sudo raspi-config > 2 Display Options > D5 VNC Resolution > 800x600
5. 設定正確螢幕解析度。sudo raspi-config > 2 Display Options > D1 Resolution > DMT Mode 9 800x600 60Hz 4:3 (2022-01 以後預設不出現/不適用)
最後找了半天,比較了正常的和不正常的設定,包括 /etc/vnc 和 /etc/X11 下面的所有檔案和目錄,看不出差異。
又參考這篇翻了 /var/log/vncserver-x11.log 和 sudo systemctl status vncserver-x11-serviced.service 服務狀態,發現雖然服務有啟動,但是出現 "AgentInitCheck: agent comms failure" 錯誤訊息,實際上 vncserver-x11 沒有正常啟動。
最後找到這篇,雖然解法不正確,但有提供方向 ==>
The "direct capture" option is not working when running VNC Server on Raspberry Pi OS with the KMS driver (vc4-kms-v3d). The Fake KMS driver (vc4-fkms-v3d) is not affected.
簡單說,把 /boot/config.txt 裡面的 dtoverlay=vc4-kms-v3d 註解掉,重開機後收工!
參考:
* How to Fix Raspberry Pi's 'Cannot Currently Show the Desktop' Error
* Disabling direct capture on Raspberry Pi using the command line
沒有留言:
張貼留言