2021年8月1日 星期日

樹莓派 VNC 遠端連線出現 'Cannot Currently Show the Desktop' 問題

昨天將湘雲老師的 Pi 4 帶回鄉下, 想要利用鄉下家的光世代固定 IP 環境, 驗證網頁伺服器是否如預期那樣可正常存取, 我用網路線將 Pi 4 連接到無線基地台後端的 RJ-45 接口後開機, 然後在筆電上用 VNC viewer 雲端版軟體連線 Pi 4 有找到設備 (有線的一定能連上), 但輸入帳密連線成功後卻出現 'Cannot Currently Show the Desktop' 黑色畫面 : 




上回也曾出現過此現象, 重開機就正常了, 但這次我想釐清到底原因是甚麼, 所以花了點時間研究, 終於在下面這篇找到解答 : 


此文提出了三個解決方案 :
  1. 解析度設定值太低, 應將解析度改為至少 1290x720, 建議設為最高 1920x1080. 可用 ssh 登入樹莓派後, 用 sudo raspi-config 指令進入 Display Option/Resolution 選單中設定 (設定完需重開機才有效). 
  2. Session 管理器有問題, 應安裝或重新安裝 LXsession 程式, 安裝指令如下 :
    sudo apt-get install lxsession
    若已安裝 LXsession, 則可用下列指令重新安裝 :
    sudo apt-get install --reinstall libgtk2.0-0
    sudo apt-get install --reinstall lxsession
  3. 啟動模式設定為命令列 (Console) 模式, 應將其設為 "Desktop Autologin" 模式. 用 ssh 登入後以 sudo raspi-config 指令進入 Boot mode 選單中設定 (設定完需重開機才有效). 
  4. Micro SD 的 root partition 空間耗盡, 無法啟動桌面環境, 可用 ssh 登入後以 df h 指令檢視 Micro SD 卡目前使用情形, 若 root partition 已耗盡, 可清理垃圾檔案或移除不需要的軟體來騰出空間, 讓桌面環境能正常啟動. 
原因 3, 4 不可能, 因為我確定 Rasbian 安裝設定時是選 "Desktop Autologin" 模式, 且目前 32GB 卡至少還有 21GB 空間, 原因 2 我不確定 (Raspbian 也許預設就是用 LXsession), 所以認為應該是上回因為字型太小, 螢幕解析度被我改得太小所致. 

所以我從鄉下那台 Pi 3 登入無線基地台設定網站, 在 "區域網路" 項下查詢已配置的 IP 列表, 比對 Pi 4 的乙太網 (eth0) mac 位址查出所配置的 IP, 然後從 Pi 3 用 ssh 指令連線 Pi 4, 登入後用 sudo raspi-config 指令進去將螢幕解析度調整為最高的 1920x1080 : 

pi@raspberrypi:~ $ ssh 192.168.2.120     (從 Pi 3 連線 Pi 4)
The authenticity of host '192.168.2.120 (192.168.2.120)' can't be established.
ECDSA key fingerprint is SHA256:Wf7tL79eQZnyDJWxJzv1tg3Jsj8xqwqdS6uVQBnwR0E.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.2.120' (ECDSA) to the list of known hosts.
pi@192.168.2.120's password:    (輸入密碼) 
Linux raspberrypi 5.10.17-v7l+ #1414 SMP Fri Apr 30 13:20:47 BST 2021 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Sun Aug  1 13:50:11 2021
(進入 Pi 4)
pi@raspberrypi:~ $ sudo raspi-config        (進入系統設定)
Connection to 192.168.2.120 closed by remote host.
Connection to 192.168.2.120 closed.






Pi 4 設定完後重開機, 用 VNC Viewer 連線 Pi 4 果然就不會出現 'Cannot Currently Show the Desktop' 畫面, 正常開啟桌面環境了. 結論是, 最好是將樹莓派的螢幕解析度設為最高的 1920x1080, 免得從遠端無頭存取樹莓派時出現這種無謂的困擾. 

沒有留言 :