先日の記事で、ラズベリーパイに VNC 接続ができるようになりました。
ところが、後日 VNC 接続しようとしたら、下記のエラーメッセージが出て接続に失敗するように…。
Cannot currently show the desktop
以下、このエラーを解決した時の対応方法をご紹介します。
エラーが出た原因
そういえば、前回 VNC を動作確認した時はラズベリーパイを HDMI ケーブルでモニタに接続していましたが、エラーが出た時は HDMI 接続をしていない、という違いがありました。
調べたところ、HDMI を繋がずに VNC 接続するには、ラズベリーパイをデスクトップモード(サービスモード)で起動しておく必要があるんだそうです。
今回うちのケースは、ちょうどその条件にはまっていたというわけです。
対応方法
ラズベリーパイをデスクトップモードで起動するよう設定をしてみます。
まず、ラズベリーパイに SSH で接続し、コンソールから raspi-config
(ラズベリーパイ設定ツール)のコマンドを実行します。
$ sudo raspi-config
もし SSH 接続できない場合は、ラズベリーパイをモニタに繋いでデスクトップからターミナルソフトで操作しても同じことができます。
設定ツールの画面が開いたら、「3 Boot Options」を選択します。
次に「B1 Desktop / CLI」を選択します。
そして「B3 Desktop」を選択します。
選択を終えた後、設定ツールを終了しようとすると再起動が求められるので、ラズベリーパイを再起動します。
ラズベリーパイが再起動したら、VNC 接続を試してみましょう。
無事に接続できました!これでホッと一安心です。
接続時の解像度設定
なお、デフォルトでは小さい画面(720 x 480)で接続されますが、設定でこの解像度を上げておくことができます。
先述の対応と同じように、raspi-config
(ラズベリーパイ設定ツール)を実行します。
設定ツールの画面が開いたら、「7 Advanced Options」を選択します。
次に「A5 Resolution」を選択します。
解像度のリストが出るので好みのものを選択します。うちでは「DMT Mode 85 1280×720 60Hz 16:9」を設定しました。
おわりに
HDMI 接続をしているかどうかで動作が変わることに全然気付かず、問題を解決するのに結構手こずってしまいました・・・。
もし同様な現象でつまづいている方の参考になりましたら幸いです。