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

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

Raspberry Pi OS Version 2021-05-07、2022-01-28対応

更新日 : 2022年2月14日

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

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」をクリックします。

最新版OSの設定画面
旧バージョンOSの設定画面

デスクトップ右上に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ケーブルからディスプレイの解像度を取得してデスクトップ画面に反映させています。そのため、ディスプレイなしで起動すると、リモートからデスクトップ画面を表示できなかったり、画面が小さくなる問題が起きます。

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

Raspberry Pi OSのバージョンによって、ディスプレイなしで起動できるようにする方法が変わります。まずは2022-01-28以降の最新版の設定方法を紹介します。Legacy版やより古いバージョンをお使いの場合は、「ディスプレイ無しで起動できるようにする(旧バージョンOS)」を参照して下さい。

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

設定ツールが起動するので、上部タブから「ディスプレイ」を選択し、ヘッドレス解像度の選択ボックスをクリックします。

希望の解像度を選択した後、「OK」をクリックして設定を反映させます。

以上で、ディスプレイなしで起動する設定は完了です。「VNC Viewerのインストール」のお使いのOSの項目へ進んで下さい。

ここで紹介した設定項目が無い場合はLegacy版や古いバージョンのOSを使っている可能性があります。「ディスプレイ無しで起動できるようにする(旧バージョンOS)」も参考にして下さい。

また、Bullseyeの2021-10-30版をインストールした場合、アップデートしないと上記設定がありません。ターミナルで「sudo apt update」、「sudp apt upgrade」コマンドを実行(アップデート)してからお試しください。




ディスプレイなしで起動できるようにする (旧バージョンOS)

ここでは、2021-05-07以前のバージョン、およびLegacy版の設定方法を解説します。

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

sudo raspi-config

キーボード上下キーで、メニューから項目を選択します。メニュー内容がOSのバージョンによって変わるので以下のように選択します。

  • 「2. Display Options」があればそれを選択してEnterを押します。
  • なければ「7. Advanced Options」を選択してEnterを押します。
2. Display Optionsがある場合
2. Display Optionsが無い場合

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

2. Display Optionsを選択した場合
7. Advanced Optionsを選択した場合

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

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

解像度が設定値より低くなる場合

ここまでの設定でディスプレイ無しで起動してもデスクトップに接続できるようになります。しかし、OSのバージョン等によっては画面の解像度が1024×768のような低い値になる場合があります。その場合の修正方法を説明します。

メニューから「設定」->「Screen Configuration」をクリックします。

設定画面が表示されるので、「Configure」->「Screens」->「HDMI-0/1」->「解像度」から解像度を選択します。

「Configure」->「適用」をクリックします。

確認ダイアログボックスが表示されるので「OK」をクリックします。

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

次は接続元の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でリモート接続」に進んで下さい。

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

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

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

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

次は「VNC Viewerでリモート接続」に進んで下さい。




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でリモート接続

いよいよ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へアップロードすることもできます。

BME280センサーとRaspberry Piで気温、湿度、気圧を測定する

Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、BME280センサーで気温、湿度、気圧を測定する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定や記録ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。

TSL2572センサーとRaspberry Piで明るさ(照度)を測定する

Indoor Corgiのセンサー制御ソフトウェア「cgsensor」を利用して、TSL2572センサーで明るさを測定する方法を解説します。コマンドラインツールを使って1行もコードを書かずに測定ができるほか、Pythonパッケージを使えばご自身のプログラムから簡単にセンサーを制御できます。

CO2濃度に応じてLEDの色を変化させ、リレーで外部機器をON/OFFする

Raspberry PiとRPZ-CO2-Sensorを使ってCO2(二酸化炭素)濃度を測定し、LEDの色を変化させる応用例です。LEDを見ることで、換気の必要性がひと目でわかります。濃度が一定以上になったらリレーで換気ファンなどの外部機器をONすることも可能です。