VNCでRaspberry Piにリモートデスクトップ接続 (Windows/Mac/Linux対応)

VNCを使って、PC (パソコン) からRaspberry Pi(ラズパイ)にリモート接続する手順、およびディスプレイなしでRaspberry Piを起動できるようにする方法について解説しています。PCからリモートでRaspberry Piを操作することができれば、運用の幅が広がって便利になります。

更新日 : 2020年7月19日

リモート操作するメリット

Raspberry Piは、小型であり、ソフトやハードを追加することで様々な用途に利用できます。しかし、操作のためにディスプレイやキーボードを接続すると、利便性が損なわれてしまします。

PC(パソコン)からリモートでRaspberry Piを操作することができれば、ディスプレイなどをつなぐ必要もなく、運用の幅が広がって便利だと思いませんか?Raspberry Piには、リモート操作するためのVNC機能が用意されています。

VNCとは

VNCとはリモート操作するためのソフトウェアの一種です。まず、リモート操作される側 (Raspberry Pi)でVNCサーバーを実行しておきます。そこへ、ネットワークを介して操作する側 (PCやスマートフォン)のVNC Viewer (クライアント)を使って接続することで、リモート操作することができるのです。

VNCサーバー、Viewerの関係

コマンドだけでなくRaspberry Piのデスクトップ画面がそのままリモート操作できるようになるので、ターミナルなどでリモート接続する場合に比べて利便性が高い方法です。

Windows PCからRaspberry Piのデスクトップをリモート操作している様子

本記事では、Raspberry Piおよび、操作する側のPCなどが同じLANに接続されており、Raspberry Pi OS (Raspbian)の使用を想定しています。

VNCサーバーの設定 (Raspberry Pi)

スタートメニューから、「設定 -> Raspberry Piの設定」をクリックします。

設定ツールが起動するので、上部タブから「インターフェイス」を選択し、VNCの項目を「有効」にチェックして、「OK」をクリックします。

デスクトップ右上にVNCサーバーのアイコンが出現するので、クリックします。

以下の通り、Raspberry PiのIPアドレスが表示されます。後でVNC Viewerから接続する際に必要になるので、メモしておきましょう。

以上でVNCサーバー側(Raspberry Pi)の設定は完了です。

通常、IPアドレスは自動的に割り振られていますが(DHCP機能)、たまにIPが変わってしまって接続できなくなることがあります。そこで、IPアドレスを固定する方法を次に解説します。

IPアドレスを固定しなくてもリモート接続は可能です。固定しなくてよいという場合、「ディスプレイなしで起動できるようにする」へ進んで下さい。

Raspberry PiのIPアドレスを固定する

通常、IPアドレスは自動的に割り振られていますが(DHCP機能)、たまにIPが変わってしまって接続できなくなることがあります。ここでは、IPアドレスを固定する方法を次に解説します。

デスクトップ右上のネットワークアイコンを右クリックします。ここでは無線LANで接続している状態ですが、有線でも同じです。

「Wireless & Wired Network Settings」をクリックします。

設定画面が表示されるので、interfaceの右の選択ボックスをクリックして、インターフェースを選択します。有線LANの場合は「eth0」、無線LANの場合は「wlan0」を選択します。

「Automatically configure empty options」のチェックを外し、IPアドレスを手動で入力します。IPv6を使わない場合は「Disable IPv6」をチェックします。編集がおわったら、「適用」、「閉じる」をクリックします。

IPアドレスはお使いのルーターの設定によって変わります。設定値がわからない場合はIPアドレスの固定を行わずに次に進むことをおすすめします。

自動で割り振られた値が「192.168.x.y」だった場合、以下のように設定するとうまくいく可能性が高いです。

IPv4 Address: 192.168.x.z (zはネットワークで空いているアドレス)
Router, DNS Servers, DNS Search: 192.168.x.1

IPアドレスの変更を反映させるため、デスクトップ右上のネットワークアイコンをクリックし、「Turn OFF Wi-Fi」で一度無効化します。

その後、再度ネットワークアイコンから「Turn On Wi-Fi」で接続し直します。

有線の場合は有線接続をOFF/ONして下さい。

一度ネットワークをOFF

ネットワークをON

デスクトップ右上のVNCサーバーのアイコンをクリックして設定画面を確認しておきます。IPアドレスが変更した値になっていればOKです。

ブラウザーなどで、インターネットに接続できるかも念の為確認しておくとよいでしょう。

以上でIPアドレスの固定は完了です。

ディスプレイなしで起動できるようにする

Raspberry PiはHDMIケーブルからディスプレイの解像度を取得してデスクトップ画面に反映させています。そのため、ディスプレイなしで起動すると、リモートからデスクトップ画面を表示できないという問題が起きます。

ここでは、デスクトップ画面の解像度を指定することで、ディスプレイなしで起動してもリモートからデスクトップ画面を表示できるように設定します。

まず、ターミナルから以下のコマンドを実行して、設定ツールを起動します。

sudo raspi-config

キーボード上下キーで、「7 Advanced Options」を選択してEnterを押します。

「A5 Resolution」を選択してEnterを押します。

使用したい解像度を選択して、Enterを押します。PC用ディスプレイの場合はDMTで始まるモードが適しています。確認画面が出たら、再度Enterを押します。

メイン画面に戻るので、キーボードの左右キーで「Finish」を選択してEnterを押します。

以上で、ディスプレイなしで起動する設定は完了です。

次は接続元のPC(パソコン)にViewer(クライアント)ソフトをインストールします。「VNC Viewerのインストール」のお使いのOSの項目へ進んで下さい。

VNC Viewerのインストール (Windows)

接続元のPC(パソコン)にVNC Viewer(クライアント)ソフトをインストールします。今回はReal VNCのソフトを使用します。

ダウンロードページからWindows用の「EXE x86/x64」を選択し、「Download VNC Viewer」をクリックします。

ダウンロードしたexeファイルをダブルクリックすると、インストーラーが起動するので、質問に答えていきます。

現時点で日本語版はないので、Englishのまま「OK」をクリックします。

「Next」をクリックします。

規約に問題なければ、「I accept the terms in the License Agreement」をチェックして「Next」をクリックします。

「Next」をクリックします。

「Install」をクリックします。

少し待つと、終了画面が表示されるので、「Finish」をクリックしてインストール完了です。スタートメニューから起動できるようになります。

VNC Viewerのインストール (Mac)

接続元のPC(パソコン)にVNC Viewer(クライアント)ソフトをインストールします。今回はReal VNCのソフトを使用します。

ダウンロードページから「Download VNC Viewer」をクリックします。

ダウンロードしたdmgファイルをダブルクリックすると、インストール画面になりますので、VNC ViewerのappアイコンをApplicationsにドラッグ&ドロップしてインストール完了です。Launchpadから起動できるようになります。

VNC Viewerのインストール (Linux)

接続元のPC(パソコン)にVNC Viewer(クライアント)ソフトをインストールします。今回はReal VNCのソフトを使用します。ここでの手順はUbuntu18.04に対応しています。

ダウンロードページからUbuntu用のdebパッケージ「DEB x64」を選択し、「Download VNC Viewer」をクリックします。32bit版や、debパッケージ以外のLinuxを使っている場合は、適切なものを選択して下さい。

ダウンロードしたdebファイルと同じディレクトリでターミナルを開き、以下のコマンドでインストールします。debファイル名は実際にダウンロードしたファイル名に合わせてください。バージョン番号などが変わる可能性があります。

sudo apt install ./VNC-Viewer-6.20.529-Linux-x64.deb

debパッケージのインストールが完了すると、アプリ一覧から起動できるようになります。

VNC Viewerでリモート接続

いよいよVNC ViewerでRaspberry Piへリモート接続します。VNC Viewerの使い方は基本的にどのOSでも共通です。

初回起動時は以下のような画面が表示されます。使用統計データを送りたくない場合は「Send anonymous usage data 〜」のチェックを外します。「GOT IT」をクリックして画面を閉じます。

メニューの「File -> New connection」をクリックします。

詳細設定画面が表示されます。VNC ServerにRaspberry PiのIPアドレスを入力します。Nameに表示名を入力します。Nameは、わかりやすければ何でも構いません。

他の設定はデフォルトで問題ないので「OK」をクリックします。

メイン画面にRaspberry Piが接続先として登録されました。実際に接続を開始するには、アイコンをダブルクリックします。

初めて接続するデバイスに関しては警告がでるので、「Continue」をクリックします。

Raspberry Piのユーザー名とパスワードを入力します。ユーザー名はデフォルトから変更していなければ「pi」となってるはずです。

入力したら「OK」をクリックします。

以下のようにウィンドウ内にRaspberry Piのデスクトップが表示されれば成功です!PCのマウスやキーボードを使って、Raspberry Piを操作することができるので、試してみて下さい。

画面が小さい場合はウィンドウサイズを大きくすると良いでしょう。

Raspberry Piを表示しているウィンドウの中央上部にマウスカーソルを移動させると、メニューが表示されます。

一番左の最大化アイコンをクリックすると、全画面表示になりますので、Raspberry Piの作業に集中する場合は便利です。

まとめ

VNCを使って、PC (パソコン) からRaspberry Piにリモート接続する手順、およびディスプレイなしでRaspberry Piを起動できるようにする方法について解説しました。PCからリモートでRaspberry Piを操作することができれば、運用の幅が広がって便利になります。

次のステップとして、SSHを使ってPCとRaspberry Piでファイル共有する記事を用意しています。

SSHでRaspberry Piとファイル共有&リモート操作 (Windows/Mac/Ubuntu対応)

Windows/Mac/UbuntuなどのPCからSSHでRaspberry Pi(ラズパイ)に接続し、ファイル共有やコマンドによるリモート操作する方法を解説しています。離れた場所にあるRaspberry Piとファイルを簡単にやり取りできるので、活用の幅が広がります。Raspberry Piのログファイルをダウンロードしたり、PCの音楽や動画をRaspberry Piへアップロードすることもできます。

RPZ-IR-Sensor (Raspberry Pi用 温度/湿度/気圧/明るさ/赤外線 ホームIoT拡張ボード)

動作を自由にプログラミング可能な、Raspberry Pi/Zero(ラズパイ)用ホームIoT拡張ボードです。BME280温湿度気圧センサーとTSL2572明るさセンサー、赤外線送受信機能を搭載。IoT赤外線リモコンとして、温度が上がったらエアコンをオンにする、暗くなったら照明を点灯する、スマホ経由でテレビの操作をする、気温の記録、といった使い方が可能です。

LIRCでRaspberry Piの赤外線制御 (家電、エアコン、照明、テレビなどを制御するホームIoT)

 LIRCを使って赤外線の送受信を行うRPiTPH Monitor及びRPZ-IR-Sensor用の応用例です。 GPIOを直接制御することでも赤外線送受信は可能ですが、 他のタスクが入るとタイミングがずれてうまくいかないケースがあります。LIRCを使うことで安定した通信が可能になります。 CPUリソースが限られているRaspberry Pi ZeroではLIRCを使うことを推奨しております。