はじめに

ラズパイにを操作するのに、ディスプレイやキーボード、マウスを用意するのが面倒なので、macOS から画面共有できるようにします。

x11vnc のインストール

x11vnc は VNC プロトコルを利用した画面共有を実現するためのものです。

Raspbian では以下のコマンドでインストールすることができます。

$ sudo apt install x11vnc

x11vnc の設定

画面共有の認証に使うパスワードを以下のコマンドで設定します。

$ x11vnc -storepasswd

パスワード入力すると Write password to /home/<user_name>/.vnc/passwd? [y]/n と確認されます。こちらは次に説明する自動起動設定に使用するので y で解答します。

また、Raspberry Pi にディスプレイを接続している場合は、画面共有時、そのディスプレイと同じ画面、同じ解像度で表示されます。
ディスプレイを接続していない場合は、「Raspberry Pi の設定」のディスプレイの解像度が使用されるため、解像度を変更したい場合はこちらを変更します。(コマンドラインから変更する場合は sudo raspi-config > Display Options から設定します)

自動起動設定

起動時に毎回、手動で立ち上げるのでは、あまり意味がないので、自動起動の設定を行います。

まず、以下の内容の x11vnc.service というファイルを /etc/systemd/system/ に作成します。

[Unit]
Description=X11vnc
After=multi-user.target

[Service]
Type=simple
ExecStart=/usr/bin/x11vnc -forever -auth guess -rfbauth /home/pi/.vnc/passwd

[Install]
WantedBy=multi-user.target

これは systemd という Raspbian で採用されているデーモンの設定ファイルで、それぞれのオプションについてはここでは説明しませんが、x11vnc に限らず、自由に自動起動の設定が行えるので、覚えておくと良いでしょう。

また x11vnc の実行オプションにこだわりのある方は上記の ExecStart の行にオプションを書き加えることで実行オプションを変更することができます。

上記の設定ファイルを保存したら、以下のコマンドで設定ファイルを読み込ませます。

$ sudo systemctl daemon-reload

次に、設定が正しく行えて起動できるかを確認するために以下のコマンドで起動します。

$ sudo systemctl start x11vnc

後述する接続方法で接続ができれば、以下のコマンドで、自動起動を有効にします。

$ sudo systemctl enable x11vnc

画面共有の接続

macOS から確認するには 画面共有.app を使用します。画面共有.app は Spotlight から検索すると出てきます。

アドレスには Raspberry Pi のホスト名か IP アドレスを指定します。

または、Finder からサーバへ接続( Command + K )をし、vnc://raspberrypi.local/ に接続することでも画面共有を開始できます。

この際 raspberrypi.local の部分は環境によって IP アドレスやホスト名に適宜変更してください。

おわりに

これでラズパイ用の周辺機器がなくても操作できるようになりました。