【ラズベリーパイを遠隔操作】VNCでPCからリモート接続する方法

【PR】この記事には広告が含まれています。

【ラズベリーパイを遠隔操作】VNCでPCからリモート接続する方法

ラズベリーパイをPCから遠隔操作すれば、マウスやキーボード、モニターを接続する必要がなく便利です。ここでは、その設定方法をご紹介します。

そぞら
そぞら

実際、僕がラズベリーパイを使ときは毎回VNCを使って遠隔操作しています。

ラズベリーパイをPCから遠隔操作するには、PCに「RealVNC Viewer」というソフトをインストールする必要があります。「RealVNC Viewer」はRealVNC社が提供するソフトで、ネットワークを通じてリモートデバイスの画面を表示し、操作できるツールです。

ラズベリーパイとPCは以下のようなイメージで接続します。

PCだけではなくスマートフォンでもVNCを利用できます。

スマホからラズベリーパイをリモート接続する方法は、以下の記事で解説しています。
≫【ラズベリーパイ入門】スマホから遠隔操作する方法(VNC)

リモート接続のメリット

下の写真のようにラズパイに電源を繋ぐだけで良いので、見た目がとてもスマートになります。

PCとラズベリーパイ間でクリップボードを共有できるので、インターネットで見つけたソースコードをラズベリーパイのエディターに直接ペーストできます。PCの方がラズベリーパイよりインターネットの表示が速いので、作業効率が向上します。

ラズベリーパイのVNCサーバーを有効にする

VNCとは【Virtual Network Computing】の略です。ネットワークを通じて別のコンピュータに接続し、そのデスクトップ画面を呼び出して操作できます。VNCサーバとVNCクライアントの2種類のソフトウェアがあり、操作される側(ラズベリーパイ)ではサーバソフトを起動して、操作する側(PC)ではクライアントソフト(VNC Viewer)を起動します。

そぞら
そぞら

Raspberry Pi OSにはVNCの機能が入っているため、すぐに使うことができます。

スタートメニューから「Raspberry Piの設定」を開きます。

「インターフェース」タブを開き「VNC」を有効にします。

ラズベリーパイのIPアドレスを確認

次にラズベリーパイのIPアドレスを確認します。IPアドレスとは、ネットワーク内で割り振られた番号のことです。この場合はプライベートIPアドレスといい、自宅のネットワーク内での番号となります。

そぞら
そぞら

VNC ViewerIPアドレスをたどり、ネットワーク上のラズベリーパイに接続します。

画面の右上にある電波アイコンにカーソルを合わせると、IPアドレスが表示されます。

Bookwormの場合

このIPアドレスはPCから接続する際に必要となるため、忘れないようにメモしておきましょう。

PC側の設定

VNC接続を行うために、PCにRealVNC Viewerをインストールします。RealVNC Viewerは無料で利用できます。

インストールはこちらのリンクから行えます。 → RealVNC Viewer

「Download RealVNC Viewer」をクリックしてインストーラーをダウンロードします。このインストーラーを実行することで、ソフトウェアをPCにインストールできます。

RealVNC

ダウンロードしたファイルを開きます。

表示言語を選べますが、日本語は選択肢にないため、英語のままで進めるのが一般的です。

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

利用規約を確認して、規約に同意する場合は「I accept the terms in the License Agreement」にチェックを入れます。

デスクトップにショートカットを作成したい場合は、「×」のアイコンをクリックして「Will be installed on local hard drive」を選択します。必要なければ「Next」をクリックして次の手順に進みます。

「Install」をクリックして、インストールを開始します。

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

「RealVNC Viewer」を起動します。

「Sign in to get started」をクリックしてRealVNCアカウントでログインすると、クラウド接続やデバイス間の同期機能が使えます。今回はサインインせずに利用するので、「Use RealVNC Viewer without signing in」をクリックします。

「Send anonymous usage data to help improve RealVNC Viewer」は、匿名の使用データ(クリック数、エラー情報など)をRealVNCに送信してアプリ改善に役立てるオプションです。プライバシーを重視する場合はチェックを外してください。

ラズベリーパイの IP アドレスを入力し、Enter を押します。

ラズベリーパイのユーザー名・パスワードを入力して「OK」をクリックします。

初回の接続時には警告が出ますが、「Continue」をクリックして接続します。以降、同じサーバーではこの警告は表示されません。

接続が完了すると、ラズベリーパイのデスクトップが表示されます。

「Cannot currently show the dekstop」が出る場合

VNCの接続を確認後、HDMIケーブルを外した状態で起動すると「Cannot currently show the dekstop」の表示が出て、デスクトップ画面が表示されない場合があります。この場合は「HDMIケーブルがない状態でもデスクトップを表示する設定」に変更します。

再度ディスプレイやキーボードを接続するのが面倒な場合は、SSH接続を利用してRaspberry Piの設定を変更することができます。WindowsPCの場合はコマンドプロンプトを開きます。

以下のコマンドを入力します(<Raspberry_PiのIPアドレス>は実際のIPアドレスに置き換えてください)

ssh pi@<Raspberry_PiのIPアドレス>
IPアドレスが192.168.191の場合

初回接続時には「続行しますか?」という確認メッセージが表示されるため、yes と入力します。次に、Raspberry Piのパスワードを入力します。

過去に使用したSDカードと別の物を使用する場合に、以下のような表示が出る場合があります。

この場合は、以下のコマンドを実行します。アドレス部分は適宜変更してください。

ssh-keygen -R 192.168.1.63

SSHで接続できたら、次のコマンドを実行します。

sudo nano /boot/config.txt

Raspberry Pi OSのBookworm版では、config.txtファイルのディレクトリが変更されています。以下のコマンドを実行してください。

sudo nano /boot/firmware/config.txt

表示されたファイルの内容から「hdmi_force_hotplug=1」の行を探し、先頭の#を削除します。これで設定が有効になります。「hdmi_force_hotplug=1」は、HDMIケーブルが接続されていなくてもRaspberry Piにディスプレイが接続されていると強制的に認識させる設定です。

「hdmi_force_hotplug=1」が存在しない場合は、最下行に追加します。

編集が終わったら、Ctrl + O で保存し、Ctrl + X でエディタを終了します。

設定を反映させるには、Raspberry Piを再起動する必要があります。以下のコマンドを実行してください。

sudo reboot

再起動後、ディスプレイが接続されていなくても、デスクトップ環境が正常に表示されるようになります。VNC接続を使って確認してみましょう。

画面表示(解像度)が小さいときの対処方法

VNC接続時に画面の解像度が小さくなり、Raspberry Piの設定からは調整できないことがあります。この問題を解決するには、config.txtファイルを編集して解像度を指定します。

ターミナルを開いて sudo nano /boot/config.txt を入力してEnterキーを押します

sudo nano /boot/config.txt

デフォルト設定ではHDMIに関する設定がコメントアウトされた状態になっています。コメントアウトとは行の先頭に#を付けて、その設定を無効化することを指します。

まず、#hdmi_force_hotplug=1の行を探して、下記の三か所の#を削除します。

hdmi_groupとhdmi_modeの設定を以下のように変更します。

hdmi_group=2
hdmi_mode=85

設定の詳細は次の通りです。

設定項目変更前変更後
hdmi_force_hotplugHDMI接続を検出した場合のみ有効
(コメントアウト状態)
HDMI接続を検出しなくても強制的に有効
(hdmi_force_hotplug=1)
hdmi_groupCEAモード:テレビ向け解像度
(hdmi_group=1)
DMTモード:PCモニター向け解像度
(hdmi_group=2)
hdmi_mode640×480
(hdmi_mode=1)
1280×720
(hdmi_mode=85)

編集が終わったら、Ctrl + O で保存し、Ctrl + X でエディタを終了します。

再起動すると画面サイズが変わるはずです。

コメント一覧

Forhave

This is a great way to remotely control your Raspberry Pi!

返信する
ApkMomo

This is a great post! I have been wanting to try VNC for a while now.

返信する
Mojapk

This is a great post! I have been wanting to try VNC for a while now.

返信する
shigezou

いつも参考にさせて頂いてます。
本項トライしてみましたが同じ VNC Viewer が見つけることができなかったので Real VNC Viewer をインストールしリモート接続できるようになりました。
便利ですね。情報ありがとうございます。

質問ですがモニターを外した状態でラズベリーパイ4は起動できないものでしょうか。
モニターを外した状態でラズベリーパイを起動するとリモート接続できませんでした。起動後のラズベリーパイに後からモニタを接続してもモニターにも画面が映りませんでした。モニターを先に接続した状態で起動すると上手くいきます。

返信する
そぞら

ご連絡が遅くなりまして申し訳ありません。

リモート接続ができないときに「Cannot currently show the desktop」という表示が出ますでしょうか?
この場合は、まずラズベリーパイを起動し、ターミナルを開きます。
設定ファイルを編集するために、以下のコマンドでconfig.txtファイルを開きます。
sudo nano /boot/config.txt
ファイル内の「#hdmi_force_hotplug=1」の行をさがします。
先頭の#を消して「hdmi_force_hotplug=1」に修正し保存します。
保存は、Ctrl + Xを押し、変更を保存するためにYを押し、Enterを押します。

その後再起動してみてください。

返信する
shigezou

お忙しい中返信ありがとうございます。
「Cannot currently show the desktop」が表示されていました。
アドバイスして頂いた通り先頭の#を消して設定を保存するとモニタを接続しなくてもリモート接続できるようになりました。
#の有無で何が変わるかご存じでしょうか。

返信する
そぞら

「Cannot currently show the desktop」が表示される問題が解決したようで良かったです。

#記号は設定ファイルやプログラム内でコメントアウトに使用されます。これが付いている行はコンピューターが読み飛ばし、設定は無効となります。#を削除すると、その行の設定が有効化され、指示に従ってシステムが動作します。

hdmi_force_hotplug=1は、ラズベリーパイの設定の一つで、HDMI端子にモニターが実際には接続されていなくても、接続されているとシステムが判断するようにします。これによりモニターがなくてもラズベリーパイが正しく画面出力を行い、リモート接続が可能になります。

なぜこの設定が時折必要になるのかは不明ですが、一部のケースでこのような追加設定が要求されることがあります。

返信する

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です