あっかぎのページ

Raspbian LiteでVNC(真っ黒画面を治す)

Raspberry PiのRaspbian LiteでVNCを使うときのメモ。
公式サイトの手順だけでは上の真っ黒な画面になってしまいました。
(各画像はクリックで拡大できます)

Raspberry PiでVNC

ゼロから作るDeep Learningという本の内容を実行するにあたってGUI環境が必要になりました。ところが、普段はノートPCからRaspberry PiをターミナルソフトでCUI操作していたので、Raspbian Liteという軽量版(GUI環境の無いOS)を使っていました。

Raspberry Pi 3とシリアルコンソール

標準のRaspbianならGUI環境はHDMIでモニターをつなぐか、2016/09/23から標準搭載されたRealVNCを使えばGUI環境で利用できると思います。(VNCに関してはRaspberry Pi公式のVNC (VIRTUAL NETWORK COMPUTING)が参考になります)

今回のお話はGUI環境の無いRaspbian LiteにGUI環境をインストールして、VNCを利用していきます。次のリンクは公式のRaspbian LiteにGUI環境を導入する手順ですが、これだけでは最初の画像の黒い画面のままだったので、VNCを使うための補足事項を紹介していきます。

Raspbian LiteにVNCを導入する手順

Raspbian Liteには軽量化のためにGUI環境や便利ツールなどが省略されています。今回はVNCのGUI表示を通じて、先ほどの本の中で紹介されているグラフやデータの表示を目的とします。

手順

  1. VNCサーバーのインストール
  2. PIXELのインストール
  3. クライアント側にVNCのVIEWERをインストール
  4. 解像度の調整

VNCサーバーのインストール

まず最初にRaspberry PiにVNCをインストールします。

$ sudo apt-get update
$ sudo apt-get install realvnc-vnc-server realvnc-vnc-viewer

次に、raspi-configからVNCを有効にします。

$ sudo raspi-config
$ sudo reboot

raspi-configで「Interfaceing Options」→「VNC」で「はい」を選択してraspi-configを終了後、再起動します。おそらく、通常版のRaspbianならこの作業と、クライアント側にVNCのビューワーをインストールするだけで、VNC接続できると思います。

PIXELのインストール

Raspbian LiteにはGUI環境がないので、PIXELというRaspberry Piに最適・軽量化されたデスクトップ環境をインストールします。PIXELと他のデスクトップ環境のメモリ使用状況などを次のURLで紹介していますので、PIXELがどういったものかが気になる時はご参照ください。

それではPIXELを導入していきます。デスクトップ環境なので、かなりのパッケージ数とディスクを消耗しますので、ご注意ください。

$ sudo apt-get install xserver-xorg
$ sudo apt-get install xinit
$ sudo apt-get install lxde-core lxappearance
$ sudo apt-get install lightdm
$ sudo apt-get install raspberrypi-ui-mods

$ sudo apt-get install -y pi-greeter raspberrypi-ui-mods raspberrypi-artwork raspberrypi-bootloader
$ sudo apt-get install -y pix-icons pix-plym-splash pixel-wallpaper
$ sudo apt-get install -y rpi-chromium-mods
$ sudo apt-get install -y python-sense-emu python3-sense-emu
$ sudo apt-get install -y python-sense-emu-doc realvnc-vnc-viewer
$ sudo reboot

公式サイトの手順では、空白行より上でVNCを導入できるはずでしたが、実際にはそれ以下の作業も必要となりました(上の作業までだと、最初の黒い画面のままでした)。その改善のために参考にしたのが次のURLです。

クライアント側にVNCのVIEWERをインストール

Raspbianに標準搭載されたReal VNCを使います。ぼくはWindows PCなのでWindows版を使いました。次のリンクからクライアントのOSに合わせたバージョンがダウンロードできます。

ダウンロードしたReal VNCを起動して、空欄にRaspberry PiのIPアドレスを入力します。ログイン手続きの画面になりますので、IDとパスワードを入力すると次のようにVNCでRaspberry PiのGUI環境が表示されます。

解像度の調整

先ほどのままでは画面の解像度が656×416でとても小さくて使いにくいです。そこで、1280×720の標準的な画面サイズに変更します。

$ sudo vi /boot/config.txt

...
framebuffer_width=1280
framebuffer_height=720
...

$ sudo reboot

/boot/config.txtに上の2行があると思いますので、そのコメントを外して有効にします。もしframebuffer_*に関する行がなければ上の2行を追記しておきます。これはブート時の起動設定となるので、設定を反映するために再起動します。

これで画面の解像度が1280×720になりました。最初に紹介した本のグラフを表示したのが次の画面です。ノートPCからRaspberry Piのターミナルとグラフを表示させることができました。

ブラウザーもOK

GUI環境ができたので、ブラウザーを使うこともできます。フォントがイマイチですが、Yahooを開いたのが次の画像です。

おわりに

VNCを利用すればノートPCからでもRaspberry PiをGUI操作できます。ぼくのようにCUIだけで十分と思っていたのに、急遽GUIが必要になったときに今回の記事がお役に立てば何よりです。

今回作ったRaspberry PiのVNC環境を使って、本のPythonとディープラーニングの勉強をしてみようと思う今日この頃です。

参考

最後に、参考になったURLをまとめておきます。