Raspberry Pi を Mac から VNC 接続するまでのセットアップ手順(モニタ・マウス・キーボード不要)

RasberryPiをMacからVNC接続するまでのセットアップ手順の解説ページアイキャッチ

こんにちは!

最近ようやく Raspberry Pi を買って Mac から VNC 接続できるようにセットアップできました!

今回はそのセットアップ手順を備忘録の意味も込めて紹介していきたいと思います!

このページで紹介する手順でセットアップすれば、モニタ(ディスプレイ)、キーボード、マウスがなくても Raspberry Pi を Mac から操作できるようになります。

実際に私がセットアップする際に使用した Raspberry Pi や Mac は下記になります。

  • Raspberry Pi 4 Model B(4GB RAM)
  • macOS BigSur

VNC 接続とは、言ってしまえば Windows のリモートデスクトップみたいな感じなものです。これを利用すれば、Mac から他の PC 等の端末を遠隔操作することができます。

通常であれば、Raspberry Pi を操作しようと思うと下の図のようにマウスやキーボード、さらには Raspberry Pi の画面を表示するモニタまで必要になってしまいます。

VNC接続しない場合のRaspberryPiの操作

それに対し、今回紹介する手順を参考にしていただければ、マウス・キーボード・モニタなどが無くても Raspberry Pi を操作することができる様になります。

なぜなら、VNC を利用することで Mac から Raspberry PI を遠隔操作することができ、さらには Raspberry Pi の画面を Mac で表示することができる様になるからです。

VNC接続する場合のRaspberryPiの操作

ただし、Raspberry Pi の AC アダプタ、microSD は必要ですし、Wi-Fi (無線 LAN)接続でない場合はイーサネットケーブルなども必要なので注意してください。

特に microSD に関しては、Mac から読み込み・書き込みできるようにしておく必要があります。下記のような USB から microSD を読み込み・書き込みできるようなカードリーダーもありますので、現状 microSD を読み込み・書き込みできる環境がない場合はこういったカードリーダーも事前に用意しておいてください。

それでは、Raspberry Pi のセットアップおよび VNC 接続して Mac から Raspberry Pi を操作するための手順を解説していきます。

MEMO

下記ページを読んだ感じだと microSD で無くても USB メモリ等から Raspberry Pi を起動させることもできるようです(新しい Raspberry Pi 4 のみらしいです)

https://gadgetrip.jp/2021/05/raspberry_pi4_usb_boot/

USB メモリ等を利用される方は、以降の解説は “microSD” を “USB メモリ” 等に置き換えて読み進めていただくようお願いいたします

Raspberry Pi に VNC 接続するまでの手順の流れ

まずは、このページで解説していく手順の流れの全体像を簡単に紹介しておきます。

ここを理解しておけば、なぜその手順が必要になるかが分かってセットアップを進めやすくなると思います。

このページで最終的に目指すのは、下の図のように Mac から Raspberry Pi に VNC 接続し、Raspberry Pi の画面の表示と操作を Mac から行えるようにすることです。Mac から VNC 接続を行う際には、VNC Viewer というアプリを使用します(VNC Viewer は別途インストールする必要があります)。

VNC接続するために目指す姿

実は、Mac の Finder には画面共有機能が存在し、それを利用することで VNC 接続を行うことも可能なのですが、Mac と Raspberry Pi 間で通信されるデータが暗号化されないというデメリットがあります。

そのため、今回は別途 VNC Viewer アプリをインストールし、このアプリから VNC 接続を行なっていきたいと思います。

Mac の Finder の画面共有機能を利用して VNC 接続する方法や、VNC 通信が暗号化されない理由等は下記ページで解説していますので、これらを知りたい方は下記ページもご参照いただければと思います。

このバージョンの画面共有と互換性がない」エラーが発生した際の原因と対処法の解説ページアイキャッチラズパイへの VNC 接続時に「このバージョンの画面共有と互換性がない」エラーが発生した時の対処法

さて、上の図のような環境は、実はモニタやマウス等があれば簡単に設定することができます。

ですが、これらが無い場合、つまり Raspberry Pi 単体から上の図のような環境を構築する場合は、それなりの手順が必要になってしまいます(難しい手順は特にないと思います)。

まず、Mac から Raspberry Pi に VNC 接続するためには、Raspberry Pi の VNC サーバーを起動させておく必要があります。

ただ、Raspberry Pi は初期状態だと VNC が無効化されているため、VNC を有効化してやる必要があります。この有効化により、VNC サーバーが起動するようになります(Raspberry Pi 起動時に毎回自動的に起動するようになる)

VNC接続するためにVNCの有効化が必要であることを示す図

この VNC の有効化は Raspberry Pi を操作して行う必要があります。ただ、モニタやマウスがない状態だと直接 Raspberry Pi を操作することが難しいため、直接操作しなくても済むよう SSH を利用します。

SSH は簡単に言えば、他の PC にログインしてコマンドで相手の PC を遠隔操作するソフトウェアです。

この SSH を利用すれば、Raspberry Pi をコマンドで遠隔操作し、それにより VNC の有効化を行うことができます。

SSHでRaspberryPiのVNCを有効化する様子

ただし、この SSH を利用するためには、Mac から Raspberry Pi にネットワークで接続でき、さらに Raspberry Pi の SSH を有効化しておく必要があります。

それに対し、Raspberry Pi では、初期状態では SSH が無効にされており、さらに Wi-Fi の設定が行われていない状態になります(有線接続の場合は同じネットワーク内であれば設定不要で Mac から Raspberry Pi に接続できるはず)。

そのため、SSH を利用するために、まずは Raspberry Pi の SSH 有効化ネットワーク設定(Wi-Fi 設定)を行っておく必要があります。

VNC有効化のためにSSH有効化とWi-Fi設定が必要であることを示す図

また、ここまで出てきた SSH や VNC サーバーは Raspberry Pi OS に最初からインストールしてあるソフトウェアになります。

なので、Raspberry Pi OS がインストールされていれば有効化するだけで使用することができます。

ただ、まだ OS がインストールできていない状態の方もおられると思いますので、そういった方はあらかじめ Raspberry Pi OS を Raspberry Pi にインストール(microSD にインストール)しておく必要があります。

VNCやSSHの利用のためにOSインストールが必要であることを示す図

ここまでの解説をまとめると、モニタやマウス無しの状態で Raspberry Pi に Mac から VNC 接続するためには、下記の手順が必要になるということになります。

ここからは、これらの手順について1つずつ解説していきます。

まずは最初の手順の OS のインストール から解説していきますが、すでに OS インストール済みの microSD 等をお持ちの方は、SSH 有効化と Wi-Fi の設定 から手順を進めていっていただければと思います。

OS のインストール

では、まずは OS のインストールを行なっていきましょう!

前述の通り、OS インストール済みの microSD を購入された方や、Raspberry Pi を買ったら OS インストール済みの microSD が付いてきたという方もおられると思います。

そういった方は、次の SSH 有効化と Wi-Fi の設定 までスキップしていただければと思います。

スポンサーリンク

Raspberry Pi Imager を入手

通常の PC であれば HDD や SSD が設置されており、それらに OS がインストールされています。

それに対し、Raspberry Pi には HDD や SSD がありません。そのため Raspberry Pi においては、microSD カードや USB メモリ等の記憶装置に OS をインストールすることになります。なので microSD カードや USB メモリ等の記憶メディアが必須になります(ページの初めでも触れたように、このページでは microSD を使う前提で解説していきます)。

OS を microSD にインストールしておけば、後は microSD を差し込んで Raspberry Pi を起動すれば、起動時に microSD のデータが読み込まれて自動的に OS が起動するようになります。

ということで、ここで目指すことは microSD への OS のインストールです(OS のデータの書き込み)。そして、この microSD への OS のインストールは、Raspberry Pi Imager というソフトを利用することで簡単に行うことができます。

この Raspberry Pi Imager は下記のリンク先からダウンロードすることができます。

https://www.raspberrypi.com/software/

リンク先のページの真ん中付近に Download for macOS ボタンがあると思いますので、それをクリックします。

Imagerのダウンロードボタン

クリックすれば imager_a.b.c.dmg というファイルがおそらくダウンロードフォルダ内に保存されますので、ダウンロードが完了したら imager_a.b.c.dmg をダブルクリックします(a.b.c はバージョンによって異なる)。

すると、下の図のような画面が表示されますので、左側の Raspberry Pi Imager のアイコンを Applications フォルダにドラッグ&ドロップします。

RaspberryPiのインストール手順2

その後、Applications フォルダ(アプリケーションフォルダ)を表示すれば、Raspberry Pi Imager というアプリがインストールされていることが確認できると思います。

RaspberryPiOSのインストール手順2

Raspberry Pi OS をインストール

次は、Raspberry Pi Imager を利用して OS を microSD にインストールしていきます。

まずは、microSD を Mac に差し込みます。

続いて Raspberry Pi Imager のアイコンをダブルクリックしてアプリを起動させます。

OS の選択

すると、下の図のような画面が表示されますので、まずは左側の CHOOSE OS ボタンを押してインストールする OS の選択を行います。

RaspberryPiOSのインストール手順3

たくさん候補が出てきますので、おそらく好きな OS を選択するので良いと思いますが、とりあえず今回は 一番上の (Recommended) 表記のある Raspberry Pi OS (32-bit) を選択していきたいと思います。

RaspberryPiOSのインストール手順4

記憶メディアの選択

OS の選択が完了すれば、次は CHOOSE STORAGE ボタンを押します。すると記憶メディアの候補が表示されますので、OS をインストールしたい記憶メディアを選択します(候補に表示されるものは人によって異なりますので注意してください)。

RaspberryPiOSのインストール手順5

microSD への書き込み

記憶メディアの選択が終われば右側の WRITE ボタンが押せるようになりますので、WRITE ボタンをクリックして microSD への Raspberry Pi OS のデータの書き込みを行います(ちなみに右下の 歯車 ボタンから SSH の有効化や Wi-Fi の設定も行うことができるのですが、今回は別の手段でこれらの設定を行なっていきます)。

RaspberryPiOSのインストール手順6

あとは OS のデータが microSD に書き込まれ、続いて検証(Verify)が行われます(もし途中でパスワード入力や ファイルへのアクセス許可の確認が行われたら、適宜パスワードの入力や OK ボタンのクリックをしてください)。

RaspberryPiOSのインストール手順11

結構時間かかるので注意してください。また、インストール中に microSD を抜かないように注意してください。

完了したら下の図になるので、CONTINUE ボタンを押して OS のインストールは完了です。

RaspberryPiOSのインストール手順12

Raspberry Pi OS のデータが microSD に保存されましたので、これにより microSD を差し込んだ状態で Raspberry Pi に電源を入れれば、自動的に OS のデータが読みこまれ、Raspberry Pi OS が起動することになります。

ただ、初期状態では Raspberry Pi OS の SSH が無効化されており、さらに Wi-Fi の設定も行われていませんので、VNC 接続するために SSH 接続の有効化と Wi-Fi の設定を行っていく必要があります。

SSH 有効化と Wi-Fi の設定

では、続いて SSH の有効化と Wi-Fi の設定を行なっていきます。

まずは microSD を Mac に差し込んでおいてください。OS のインストール の手順で OS をインストールした場合、OS のデータを microSD に書き込んだ後に自動的に microSD が取り外しされている可能性がありますので、その場合は再度 microSD を Mac に差し込んでください。

スポンサーリンク

設定用のファイルを作成する

SSH の有効化と Wi-Fi の設定を行うための手順は下記となります。

  • SSH の有効化
    • microSD の中に ssh ファイルを作成する
  • Wi-Fi の設定(Wi-Fi を利用しない場合は不要)
    • microSD の中に wpa_supplicant.conf ファイルを作成する

ssh ファイルに関しては中身のない空のファイルを作成します。

それに対し、wpa_supplicant.conf ファイルの中には下記を記述しておく必要があります。

wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=JP
network={
	ssid="SSID"
	psk="パスワード"
}

SSIDパスワード の部分のみ、ご自身の Wi-Fi ルーターに合わせて変更していただく必要があります(" を消さないように注意してください)。

SSID に関しては、Mac の画面右上の Wi-Fi ボタン?をクリックすれば、Mac が接続している Wi-Fi の SSID が表示されます。Mac と同じ Wi-Fi ネットワークに繋ぐ必要があるので、そこに表示されたものを記入しておけば良いはずです。

SSID の調べ方

パスワード に関しては、その Wi-Fi に接続する際に入力しているパスワードをそのまま記述しておけば良いです。

結局上記の sshwpa_supplicant.conf の2つのファイルを作れば良いだけですが、Mac の場合、右クリックから新規ファイル作成ができないのでちょっと面倒なんですよね…。

なので、私はターミナルアプリからコマンドを実行して作成しました。もしターミナルアプリから新規ファイル作成を行いたいという方は、以降の解説を参考にしていただければと思います。自身の手でファイルの作成が行えるのであれば、上記の2つのファイルを作成して Mac からの microSD の取り出し までスキップしていただければと思います。

ターミナルからコマンドでファイルを作成するためには、まず下記の場所に存在するターミナルアプリのアイコンをダブルクリックし、ターミナルアプリを起動させる必要があります。

アプリケーション → ユーティリティ

ターミナルアプリの起動後、下記コマンドを実行し、microSD の中に移動します(コマンドの に関しては入力不要です。今後も同様に に関しては入力しなくて良いです)。

% cd /Volumes/boot

boot 部分は microSD の名前によって変更する必要があるので注意してください。microSD の名前は、micro SD を差し込むことでデスクトップ上に表示される microSD のアイコンから確認することができます。下の図では microSD の名前が boot ということになります。

microSDのアイコン

例えば microSD の名前が NO NAME である場合は、上記のコマンドの代わりに下記コマンドを実行する必要があります(名前の中にスペースが存在する場合は下記のようにパス全体を " で囲う必要があります)。

% cd "/Volumes/NO NAME"

続いて下記コマンドを実行します。これにより microSD の中に ssh という空のファイルが作成されることになります。

% touch ssh

さらに下記コマンドを実行します。これにより microSD の中に wpa_supplicant.conf という空のファイルが作成されることになります(中身は後で記述)

% touch wpa_supplicant.conf

一旦ここで下記コマンドを実行し、ターミナルでの作業中フォルダを microSD から移動させます(これは後で microSD を取り出しできるようにするためです)。

% cd

あとはデスクトップに表示されている下の図のような microSD のアイコンをダブルクリックし、microSD の中身を表示します。

microSDのアイコン

その中に wpa_supplicant.conf という名前のファイルがあるはずなので、ダブルクリックしてファイルを開き、上記で示した wpa_supplicant.conf の中身を記述して保存してください。

もしダブルクリックでファイルが開けない場合は、ファイルを右クリックして表示されるメニューの このアプリケーションで開く から自身が使用可能なテキストエディタアプリを選択してファイルを開き、上記で示した wpa_supplicant.conf の中身を記述して保存してください。

Mac からの microSD の取り出し

以上により、Raspberry Pi の SSH の有効化と接続先 Wi-Fi の設定が完了したことになります。

2つのファイルの作成が完了したら、microSD の「取り出し」を行なってから Mac から抜き取り、次は Raspberry Pi 本体に差し込んでください。

ちなみに取り出しは、デスクトップ上の microSD のアイコンを右クリックして表示されるメニューから行うことができます。

microSDの取り外しを行う様子

VNC 有効化

ここまでの設定により、OS のインストールが完了し、さらに SSH 接続の有効化と Wi-Fi の設定が完了したことになります。

次は早速 Rapsberry Pi を起動させて SSH 接続を行い、VNC の有効化を行なっていきます。

スポンサーリンク

Raspberry Pi への SSH 接続

まずは Raspberry Pi に microSD が差し込まれていることを確認し(結構奥まで押し込まないとダメなので注意)、Paspberry Pi の電源を入れます。

しばらく待ってから、Mac のターミナルアプリを起動し、下記の ssh コマンドを実行します。さらにコマンド実行後にパスワードの入力が促されるため、パスワードの入力を行なってエンターキーを押してください(パスワードのデフォルト設定は raspberry となります)。

% ssh pi@raspberrypi.local

ちなみに、上記コマンドにおける pi は Raspberry Pi にログインするユーザー名、raspberrypi は Raspberry Pi のホスト名になります。そして、パスワードに入力した raspberry はユーザー pi のログインパスワードになります。

  • ユーザー名:pi
  • パスワード:raspberry
  • ホストネーム:raspberrypi

上記はあくまでもデフォルトの設定であり、これらを変更した場合は先ほど実行した ssh コマンドも変更する必要があるので注意してください。このページの手順を踏んで設定を行なってきてくださった方に関しては、これらの設定は現状デフォルトのままですので、上記のコマンド + パスワード入力を行えば SSH 接続できるはずです。

実際、このページの最後の ユーザーの変更 でユーザー pi は利用できないように設定を行います(セキュリティ的に pi が使えてしまうと危ないので)。そのため、それ以降は上記のコマンドそのままではなく、作成したユーザーに合わせて実行する ssh コマンドを変更する必要があります。

% ssh ユーザー名@raspberrypi.local

また、ssh コマンド実行後に下記のメッセージが出た場合は、ひとまず yes を入力して次に進んでください。

The authenticity of host 'raspberrypi.local (192.168.2.108)' can't be established.
ECDSA key fingerprint is SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes

場合によっては、ssh コマンド実行後に下記のようなメッセージが出ることもあります。

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@       WARNING: POSSIBLE DNS SPOOFING DETECTED!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
〜略〜
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
〜略〜

この場合は、一旦下記のコマンドを実行してから再度 ssh コマンドを実行するようにしてください。

% ssh-keygen -R raspberrypi.local

SSH 接続が正常に行われた際には、下記のように出力が行われると思います。

Linux raspberrypi 5.10.92-v7l+ #1514 SMP Mon Jan 17 17:38:03 GMT 2022 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Mon Feb 28 10:49:17 2022 from fe80::4c5:bbca:a096:c11%wlan0
pi@raspberrypi:~ $ 

注目すべきは最後の行の最初部分で、ここが ユーザー名@ホスト名、すなわち pi@raspberrypi に変わっていれば SSH 成功です。おそらく下記のように緑色で表示されているはずです。

SSH接続後のターミナルの画面

これで Mac から Raspberry Pi に SSH 接続し、ターミナルからコマンドを打ち込んで Raspberry Pi の遠隔操作が行えるようになりました。

もし、ssh コマンドを実行しても反応がない場合や、タイムアウトになってしまった場合は、Raspberry Pi のネットワーク接続に問題がある可能性が高いです。Wi-Fi 設定が上手くいっているか?Mac と Raspberry Pi が同一ネットワーク内に存在するか?のあたりを再度確認してみてください。

また、SSH を終了する場合は exit コマンドを利用します。SSH を終了したくなったら、このコマンドを実行してください。

% exit

VNC を有効化して VNC サーバーを起動する

SSH 接続により Raspberry Pi のコマンドでの遠隔操作が行えるようになったため、次は Raspberry Pi の VNC を有効化し、VNC サーバーを起動させていきます。

VNC サーバーは、VNC 機能が有効化さえされていれば、Raspberry Pi 起動時に自動的に起動するようになります。

ただし初期状態では Raspberry Pi の VNC 機能は無効にされていますので、有効化してやる必要があります。

この VNC 機能を有効化するために、まずは SSH 接続した状態で下記のコマンドを実行します。

pi@raspberrypi:~ $ sudo raspi-config

すると、ターミナルの画面が切り替わって下の図のような設定画面が表示されるはずです。この画面から Raspberry Pi の設定を行うことができます。

ここでは 3 Interface Options を選択してエンターキーを実行します(矢印キーで項目の選択が行えます)。

VNC接続手順1

すると、下の図のような画面に切り替わりますので、次は I3 VNC を選択してエンターキーを押します。

VNC接続手順2

次は下の図のような画面が表示されますので、<Yes> を選択してエンターキーを押します。

VNC接続手順3

ちょっと時間が経って下の図の画面がでれば VNC の有効化の完了です。<OK> を選択してエンターキーを押して前の画面に戻ります。

VNC接続手順4

最後に <Finish> を選択してエンターキーを押し、設定画面を終了します。

VNC接続手順5

この設定により Raspberry Pi の VNC 機能が有効化され、同時に VNC サーバーも起動します(次回以降は Raspberry Pi を起動すれば VNC サーバーも自動的に起動するようになります)。

Mac から Raspberry Pi への VNC 接続

以上で Raspberry Pi 側の設定は完了です!

ここからは、主に Mac 側を操作して VNC 接続に必要な手順を行なっていきます!

スポンサーリンク

Mac への VNC Viewer のインストール

ページの最初でも触れたように、今回は VNC Viewer というアプリを利用して Raspberry Pi への VNC 接続を行なっていきます。

わざわざ別途アプリをインストールしなくても Finder の画面共有機能を利用して VNC 接続は行うことができるのですが、これだと通信データの暗号化が行われないため、今回は VNC Viewer アプリを利用するようにしていきたいと思います。

もし、通信データの暗号化が行われなくても良いので Finder から VNC 接続を行いたいという方がおられましたら、ここからの解説は読まず、下記ページを参考にしていただければと思います。

このバージョンの画面共有と互換性がない」エラーが発生した際の原因と対処法の解説ページアイキャッチラズパイへの VNC 接続時に「このバージョンの画面共有と互換性がない」エラーが発生した時の対処法

この記事では VNC Viewer を利用して VNC 接続を行なっていきます。

ということで、まずは VNC Viewer のインストールを行なっていきましょう!

VNC Viewer は下記のリンク先からダウンロードすることが可能です。

https://www.realvnc.com/en/connect/download/viewer/

リンク先のページの少し下に移動すれば下の図のような画面が表示されると思いますので、MacOS をクリックし、さらに Download VNC Viewer のボタンをクリックします。

VNC Viewer のダウンロード

すると VNC Viewer のインストーラがダウンロードされ、ダウンロード先のフォルダに VNC-Viewer-xxxxxx.dmg という名前のファイルが作成されるはずです(xxxxxx の部分はバージョンの数字などが入ります)。

そのファイルをダブルクリックすれば、下の図のような画面が表示されると思いますので、VNC Viewer のアイコンを Applications フォルダにドラッグ&ドロップします。これでインストール完了です!

VNC Viewerのインストール

Mac から Paspberry Pi への VNC 接続

長かったですが、これで Mac から Raspberry Pi に VNC 接続する準備が整いました!早速 Raspberry Pi に VNC 接続してみましょう!

まずは、アプリケーションフォルダに移動し、VNC Viewer のアイコンをダブルクリックして VNC Viewer を起動します。

VNC Viewer の起動

VNC Viewer が起動すれば、下の図のような画面が表示されるはずです。

VNC Viewerの起動画面

上側の入力欄には、Raspberry Pi の IP アドレス もしくは ホスト名.local を指定する必要があります。

おそらく、ここまでの手順でセットアップを行なってきたのであれば、raspberry.local を指定すれば良いと思うのですが、せっかくなので Raspberry Pi の IP アドレスの調べ方も解説しておきます。

Raspberry Pi の IP アドレスを調べるためには、ターミナルから Raspberry Pi に SSH 接続した状態で下記のコマンドを実行すれば良いです。

pi@raspberrypi:~ $ ifconfig

コマンドを実行すれば、大きく分けて下記の3つのインタフェースの情報が表示されると思います。

  • eth0
  • lo
  • wlan0

あなたが有線 LAN で Raspberry Pi を接続している場合は、eth0inet の隣に書いてある xxx.xxx.xxx.xxx の部分が Raspberry Pi の IP アドレスになります。

それに対し、あなたが Wi-Fi(無線 LAN)で Raspberry Pi を接続している場合は、wlan0inet の隣に書いてある xxx.xxx.xxx.xxx の部分が Raspberry Pi の IP アドレスになります。

IPアドレスを調べる様子

自身の環境に合わせて IP アドレスを調べてコピーし、それを先程の画面の上側の入力欄に指定します。例えば Raspberry Pi の IP アドレスが 192.168.2.108 であれば、下の図のように指定します。

VNCの接続先の設定

IPアドレスを入力すれば、上の図のように入力欄の下側の青い部分に Connect to address or hostname "IPアドレス" と表示されますので、そこをクリックします。これで VNC Viewer から Raspberry Pi への接続(Raspberry Pi の VNC サーバーへの接続)が開始されます。

接続が開始されると、下の図のような画面が表示されるはずです。ここで、Raspberry Pi にログイン可能なユーザーのユーザー名とパスワードを入力して OK ボタンを押します。

ユーザー名とパスワードの入力

ユーザー名やパスワードは SSH 接続時に使用しているもので良く、ユーザー名やパスワードを変更していないのであれば、下記を入力すれば良いです(詳細は Raspberry Pi への SSH 接続 をご参照ください)。

  • ユーザー名:pi
  • パスワード:raspberry

OK ボタンを押せば、Mac から Raspberry Pi に VNC 接続され、VNC Viewer から Raspberry Pi の画面が表示されるはずです。さらに、Mac のマウス操作やキーボード操作により Raspberry Pi の遠隔操作が行えるようになったことも確認できるはずです!

VNC接続成功後の画面

ここまで確認できれば、以降は Raspberry Pi を立ち上げた後に VNC Viewer から同様の手順で接続を行うだけで、 VNC による Raspberry Pi の遠隔操作を行うことができます。

その他の設定

以上で Mac から Raspberry Pi を遠隔操作で操作できるようになったのですが、その他設定しておいた方が良い項目とその手順を解説していきます(思いつき次第順次追記していきます)。

スポンサーリンク

ユーザーの変更

この「ユーザー」の変更は必ず行っておいた方が良いです。

今まで、SSH や VNC を利用時に下記のユーザー名とパスワードを使用してきました。

  • ユーザー名:pi
  • パスワード:raspberry

これらは Raspberry Pi のデフォルトの設定であり、Raspberry Pi を使用したことのある人であれば誰もが知っているユーザー名とパスワードになります。

そのため、上記のユーザー pi でログインできる状態のままだと、悪意あるユーザーに上記のユーザー名とパスワードを使用して SSH や VNC で Raspberry Pi にログインされてしまう可能性があります。そうなると、Raspberry Pi の操作や設定変更などが行われてしまったり、大事な情報が流出してしまったりする可能性もあります。

ユーザーpiで不正ログインされる様子

ですので、ユーザー pi は使用できないようにしてしまった方が安全です。そのために、ここからは下記の設定を行なっていきたいと思います(new_user の部分はあなたが使用したいユーザー名に置き換えて手順を進めてください)。

  • 新たなユーザー new_user を作成する
  • ユーザー new_userpi と同様のことができるようにする
  • ユーザー pi での自動ログインをやめる
  • ユーザー pi をロックする

もしかしたら既にお気づきの方もおられるかもしれませんが、SSH を有効にした状態でユーザー pi をそのまま使用し続けていると下の図のような警告が表示されます。上記の手順を踏んでユーザー pi を使用できないようにすれば、この警告も消すことができます。

デフォルトユーザーに関するセキュリティの警告

新たなユーザーを作成する

まずはユーザー pi の代わりとなる新たなユーザーを作成していきます。

ここからは、Raspberry Pi のターミナルでのコマンド入力で作業を行なっていきます。

まずは Mac から Raspberry Pi に VNC 接続を行い、Raspberry Pi の画面左上付近にあるターミナルボタン(下の図のアイコン)をクリックしてターミナルを起動します。

ターミナルを起動するボタンの説明図

続いて、そのターミナルで下記のコマンドを入力して実行します。new_user の部分はご自身で使用したいユーザー名に置き換えて入力してください($ 部分は入力不要です)。

$ sudo adduser new_user

コマンドを実行すると、下記のようなメッセージが表示され、途中でパスワードの入力や名前等の入力が促されますので、★部分に従って入力を行なっていってください。パスワードは、作成したユーザーでログインする際に必要になるパスワードであり、あなたの好きなものを設定して良いです。

Adding user `new_user' ...
Adding new group `new_user' (1001) ...
Adding new user `new_user' (1001) with group `new_user' ...
Creating home directory `/home/new_user' ...
Copying files from `/etc/skel' ...
New password: (★パスワードを入力してエンターキー)
Retype new password:(★パスワードを入力してエンターキー) 
passwd: password updated successfully
Changing the user information for new_user
Enter the new value, or press ENTER for the default
	Full Name []:(★何も入力せずにエンターキー)
	Room Number []:(★何も入力せずにエンターキー)
	Work Phone []:(★何も入力せずにエンターキー)
	Home Phone []:(★何も入力せずにエンターキー)
	Other []:(★何も入力せずにエンターキー)
Is the information correct? [Y/n] y(★yをプッシュ)

コマンドが完了すれば、ユーザーが新たに作成されることになります。下記のように ls コマンドを実行すれば、新たに作成したユーザーのホームディレクトリが作成されていることも確認できるはずです。

$ ls /home
new_user  pi

ついでに、pi のホームディレクトリにあるファイルを new_user のホームディレクトリにコピーしておきます。new_user の部分はご自身で作成されたユーザー名に変更して実行してください(以降も new_user の部分は “あなたが作成されたユーザー名” に適宜変更してからコマンドを実行していってください)。

$ sudo cp -r /home/pi/* /home/new_user

作成したユーザーに pi と同様のことができるようにする

今後は、ユーザー pi で行っていたことを新たに追加したユーザーで行うようにようになります。今後、新たに追加したユーザーのことを new_user と呼ばせていただきます。

そのためには、pi で実行可能なことを new_user でも実行できるようにしておく必要があります。

これは、new_user に、pi が所属しているグループに参加させることで実現することができます。

これを行うため、まずは pi が所属しているグループの確認を下記コマンドで行います。コマンド実行して表示された結果の pi :  の後ろ側が、pi が所属しているグループとなります。

$ groups pi
pi : pi adm dialout cdrom sudo audio video plugdev games users input render netdev spi i2c gpio lpadmin

pi が所属しているグループが分かったので、new_user にこれらのグループに参加させてやれば、new_user でも pi と同様のことが実行できるようになります(ただし、グループ pi への参加は不要)。

pi が所属しているグループが上記である場合、このグループへの参加は、下記のコマンドにより実現することができます(変に改行されているかもしれませんが、-G の後ろは改行ではなく半角スペースになります)。

$ sudo usermod -G adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,render,netdev,spi,i2c,gpio,lpadmin new_user

要は、sudo usermod -G の後ろにユーザーに参加させるループを , 区切りで列挙し、最後にユーザー名を指定すれば良いです。もし pi が所属しているグループが私の結果と異なるのであれば、参加させるグループ部分も変更する必要がありますので注意してください。

コマンドが完了すれば、次は new_user の所属するグループを下記コマンドで確認してみましょう!最初に表示されるグループを除いて pi が所属するグループと一致すればオーケーです(最初に表示されるのはユーザー名になるので必ず異なる)。

$ groups new_user
new_user : new_user adm dialout cdrom sudo audio video plugdev games users input render netdev spi i2c gpio lpadmin

ユーザー pi での自動ログインをやめる

現状では、Raspberry Pi を起動すると自動的にユーザー pi でログインされることになっています。この点もセキュリティ上良くない&今後ユーザー pi は使用しないようにしたいので、自動ログインを行わないようにしたいと思います。

そのために、まずはターミナルで下記コマンドを実行します。

$ sudo raspi-config

すると、下の図のような画面が表示されますので 1 System Options を選択してエンターキーを押し、遷移後の画面で S5 Boot / Auto Login を選択してエンターキーを押します。

自動ログインの停止手順1

これにより、下の図のような画面が表示されますので、B3 Desktop を選択してエンターキーを押します(ちなみにここで B4 Desktop Autologin を選択すれば、自動ログインを再び有効化することができます)。

自動ログインの停止手順2

エンターキーを押すと画面が遷移しますので、遷移後の画面で <Finish> を選択してエンターキーを押し、さらに再起動するかどうかの判断が委ねられるので、<Yes> を選択してエンターキーを押します。

すると、VNC Viewer の画面が下の図のようなものに切り替わると思います。

VNC接続が切断された様子

Raspberry Pi が再起動したりシャットダウンしたりすると VNC 接続が一旦途切れ、その際に上の図のような画面が表示されます。

再起動の場合はおそらく待っていればまた VNC が再接続され、Raspberry Pi 起動後の画面が表示されると思います。ずっと上の図の画面の場合は、一旦 VNC Viewer を終了し、再度 VNC 接続を行なってみてください。

画面が切り替われば or 再度 VNC 接続を行えば、Raspberry Pi が再起動し、下の図のような画面が表示されるはずです。

ログイン画面が表示される様子

今まで Raspberry Pi を起動すれば自動的にログインが行われて Raspberry Pi のログイン後の画面が表示されていましたが、先程の設定により手動で行わないとログインできないようになったため、上の図のような画面が表示されるようになったというわけです。

上のプルダウンメニューでユーザーの選択ができるため、今回は pi ではなく new_user(新たに追加したユーザー)の方を選択し、下側の入力欄にユーザー作成時に設定したパスワードを入力して Log In ボタンを押してください。

それによりログイン処理が行われ、しばらく待てば Raspberry Pi のログイン後の画面が表示されるはずです。

ログイン後画面が表示される様子

ユーザー pi をロックする

以上の設定により、ユーザー pi でなくても新たに追加したユーザーを利用して Raspberry Pi を操作することができるようになったはずです。

ということで、ユーザー pi は居なくても良いですし、むしろユーザー pi が有効だと他の人から不正ログインされる可能性があって危険です。

ですので、ここでユーザー pi をロックしてしまおうと思います。これによりユーザー pi では、SSH でも VNC でもログインできなくなります。

このユーザー pi のロックは、ターミナルを立ち上げて下記コマンド(1行目)を実行することで行うことができます。コマンドを実行するとパスワードが尋ねられますので、ログインしたユーザーのパスワードを入力してエンターキーを押してください。

$ sudo usermod -L pi
[sudo] password for new_user: 

これにより、もうユーザー pi では Raspberry Pi にログインできなくなったことになります。

実際にログインできなくなったかどうかを確認してみましょう!

まずは VNC Viewer を一旦終了し、再度ユーザー名 pi、パスワード raspberry で VNC 接続してみてください。おそらく下の図の画面が表示されて接続できなっているはずです。代わりに、自身が作成したユーザー名と設定したパスワードであれば、通常通り VNC 接続できることが確認できるはずです。

piでログインしようとするとVNC接続時にエラーが発生する様子

さらに、Mac のターミナルから下記コマンドを実行してパスワード raspberry を入力してもログインに失敗することが確認できると思います。

ssh pi@raspberrypi.local

こちらも代わりに自身が作成したユーザー名と設定したパスワードを利用すれば、通常通り SSH が成功することが確認できるはずです。

これらの動作からも分かるように、ユーザー pi では Raspberry Pi にログインできないようになりましたので、ユーザー pi を利用した Raspberry Pi への不正ログインを防ぐことができたことになります。

悪質なユーザーからの不正ログインを防ぐ様子

ちなみに、これは行う必要はありませんが、下記コマンドを実行してユーザー pi のロックを解除し、再びユーザー pi でログインできるようにすることもできます。

$ sudo usermod -U pi

ロケールとタイムゾーンの設定

次はロケールとタイムゾーンの設定を行なっておきましょう。

この設定により、表示される言語や時間の設定を行うことができます。

ロケールの設定

まずはロケールの設定を行なっていきます。これにより、Raspberry Pi の画面で表示される文字を日本語表記にすることができます(英語表記のままで良い方はスキップしてください)。

まずは、左上の Raspberry Pi のアイコンをクリックし、表示されるメニューから Preference →  Raspberry Pi Configuration を選択します。

ラズベリーパイの設定画面を表示する様子

すると、下の図のようにパスワードの入力が求められるはずですので、ログインしているユーザーのパスワード(ログイン時に入力するパスワード)を入力するようにしてください。

設定変更時のパスワード入力

今後も設定変更などを行う際にはパスワードの入力が求められることがありますが、今回同様ログインしているユーザーのパスワードを入力すれば良いです。

MEMO

ただし、どんなユーザーでも Raspberry Pi の設定を行うことができるというわけではないので注意してください

こういった Raspberry Pi の設定を行うことができるのは sudo グループに参加しているユーザーのみです

ユーザーの変更 で作成したユーザーは、作成したユーザーに pi と同様のことができるようにする の手順の中で sudo グループに参加させるようにしているので Raspberry Pi の設定を行うことができますが、sudo グループに参加していないユーザーでログインしても、Raspberry Pi の設定を行うことはできません

パスワード入力後に OK ボタンを押せば Raspberry Pi の設定ウィンドウが表示されますので、Localisation タブをクリックし、さらに Set Locale ボタンをクリックします。

ロケーションの設定手順1

すると、下の図のような画面が表示されます。

ロケールの設定手順2

ここで、各項目を下記のように設定し、OK ボタンをクリックしてください。

  • Launguage:ja (Japanese)
  • Country:JP (Japan)
  • Character Set:UTF-8

ロケールの設定はこれで完了です。再起動後に設定が反映され、Raspberry Pi の画面の文字が日本語表記に変化します(再起動は次のタイムゾーンの設定完了後に行います)。

タイムゾーンの設定

次はタイムゾーンの設定を行います。

現状 Raspberry Pi の画面の右上に表示される時間が時差によってズレていますので、このズレをタイムゾーンの設定で修正していきます。

おそらく現状下の図の画面が表示されているはずなので、今度は Set Timezone ボタンをクリックします。

ロケールの設定手順1

すると、下の図の画面が表示されるはずです。

タイムゾーンの設定1

ここで、下記のように設定を行い、設定後に OK ボタンをクリックします。

  • Area:Asia
  • Location:Tokyo

これでタイムゾーンの設定は完了です。最後に OK ボタンをクリックすれば、下の画面が表示されて直ちに再起動するかどうか確認されますので、Yes ボタンをクリックします。

タイムゾーンの設定2

これにより Raspberry Pi の再起動が行われ、ここまで行なってきたロケールの設定とタイムゾーンの設定が反映されます。

再起動後にログインすれば、Raspberry Pi の画面の文字が日本語表記になっていること(全てが日本語になるわけではないので注意してください)、さらに画面右上に表示される時間が日本時間になっていることが確認できると思います。

まとめ

このページでは、Mac から Raspberry Pi に VNC 接続を行い、画面表示や遠隔操作を行うための手順について解説しました!

ちょっと手順は複雑になってしまいますが、今回紹介した手順でセットアップを進めれば、Raspberry Pi 用のマウスやキーボード・モニタ(ディスプレイ)がなくても Mac から Raspberry Pi を遠隔操作するための環境を構築していくことができます。

SSH や VNC という難しい単語が出てきたり、たくさんコマンドを打つ必要もあって大変だったかもしれませんが、これらは今後 Linux 等を利用する機会があれば活かせる知識になりますので、これらによって何が実現できるのかについては頭の片隅にでも置いておくと良いと思います!

私も Raspberry Pi 初心者でこれから勉強しながら知識をつけていく段階ではあるのですが、有益な情報など見つけたらどんどん記事として発信していこうと思いますので、Raspberry Pi に興味がある方はまたサイトに来てみていただけると嬉しいです!

同じカテゴリのページ一覧を表示

コメントを残す

メールアドレスが公開されることはありません。