使用 2023-02-21-raspios-bullseye-armhf-full.img 的版本,或是有更新 raspberrypi-kernel,當按住 pico 的 BOOTSEL 要更新韌體時,出現 "no authorized to perform operation" 錯誤訊息。
爬文後,發現是 udisks daemon security policy 造成的。步驟是修改 /usr/share/polkit-1/actions/org.freedesktop.UDisks2.policy。
===
<!-- Mounting filesystems -->
<action id="org.freedesktop.udisks2.filesystem-mount">
<description>Mount a filesystem</description>
...
<defaults>
<allow_any>auth_admin</allow_any>
<allow_inactive>auth_admin</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
===
改為
===
<!-- Mounting filesystems -->
<action id="org.freedesktop.udisks2.filesystem-mount">
<description>Mount a filesystem</description>
...
<defaults>
<allow_any>yes</allow_any>
<allow_inactive>yes</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>
===
修改後不用重啟任何服務,直接再做一次就 OK 了
2023年4月14日 星期五
2023年4月12日 星期三
[RPi] cannot currently show the desktop
幾個方法:
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 沒有正常啟動。
最後找到這篇,雖然解法不正確,但有提供方向 ==>
簡單說,把 /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
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
訂閱:
文章 (Atom)