こんにちは!
最近ようやく 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 の画面を表示するモニタまで必要になってしまいます。
それに対し、今回紹介する手順を参考にしていただければ、マウス・キーボード・モニタなどが無くても Raspberry Pi を操作することができる様になります。
なぜなら、VNC を利用することで Mac から Raspberry PI を遠隔操作することができ、さらには Raspberry Pi の画面を Mac で表示することができる様になるからです。
ただし、Raspberry Pi の AC アダプタ、microSD は必要ですし、Wi-Fi (無線 LAN)接続でない場合はイーサネットケーブルなども必要なので注意してください。
特に microSD に関しては、Mac から読み込み・書き込みできるようにしておく必要があります。下記のような USB から microSD を読み込み・書き込みできるようなカードリーダーもありますので、現状 microSD を読み込み・書き込みできる環境がない場合はこういったカードリーダーも事前に用意しておいてください。
それでは、Raspberry Pi のセットアップおよび VNC 接続して Mac から Raspberry Pi を操作するための手順を解説していきます。
下記ページを読んだ感じだと microSD で無くても USB メモリ等から Raspberry Pi を起動させることもできるようです(新しい Raspberry Pi 4 のみらしいです)
https://gadgetrip.jp/2021/05/raspberry_pi4_usb_boot/
USB メモリ等を利用される方は、以降の解説は “microSD” を “USB メモリ” 等に置き換えて読み進めていただくようお願いいたします
Contents
Raspberry Pi に VNC 接続するまでの手順の流れ
まずは、このページで解説していく手順の流れの全体像を簡単に紹介しておきます。
ここを理解しておけば、なぜその手順が必要になるかが分かってセットアップを進めやすくなると思います。
このページで最終的に目指すのは、下の図のように Mac から Raspberry Pi に VNC 接続し、Raspberry Pi の画面の表示と操作を Mac から行えるようにすることです。Mac から VNC 接続を行う際には、VNC Viewer というアプリを使用します(VNC Viewer は別途インストールする必要があります)。
実は、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 の有効化は Raspberry Pi を操作して行う必要があります。ただ、モニタやマウスがない状態だと直接 Raspberry Pi を操作することが難しいため、直接操作しなくても済むよう SSH を利用します。
SSH は簡単に言えば、他の PC にログインしてコマンドで相手の PC を遠隔操作するソフトウェアです。
この SSH を利用すれば、Raspberry Pi をコマンドで遠隔操作し、それにより VNC の有効化を行うことができます。
ただし、この SSH を利用するためには、Mac から Raspberry Pi にネットワークで接続でき、さらに Raspberry Pi の SSH を有効化しておく必要があります。
それに対し、Raspberry Pi では、初期状態では SSH が無効にされており、さらに Wi-Fi の設定が行われていない状態になります(有線接続の場合は同じネットワーク内であれば設定不要で Mac から Raspberry Pi に接続できるはず)。
そのため、SSH を利用するために、まずは Raspberry Pi の SSH 有効化とネットワーク設定(Wi-Fi 設定)を行っておく必要があります。
また、ここまで出てきた SSH や VNC サーバーは Raspberry Pi OS に最初からインストールしてあるソフトウェアになります。
なので、Raspberry Pi OS がインストールされていれば有効化するだけで使用することができます。
ただ、まだ OS がインストールできていない状態の方もおられると思いますので、そういった方はあらかじめ Raspberry Pi OS を Raspberry Pi にインストール(microSD にインストール)しておく必要があります。
ここまでの解説をまとめると、モニタやマウス無しの状態で Raspberry Pi に Mac から VNC 接続するためには、下記の手順が必要になるということになります。
- OS のインストール
- OS 未インストールの場合のみ
- SSH 有効化と Wi-Fi の設定
- VNC の有効化を行うために必要
- VNC 有効化
- Mac から VNC 接続するために必要
- Mac から Raspberry Pi への 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_a.b.c.dmg
というファイルがおそらくダウンロードフォルダ内に保存されますので、ダウンロードが完了したら imager_a.b.c.dmg
をダブルクリックします(a.b.c
はバージョンによって異なる)。
すると、下の図のような画面が表示されますので、左側の Raspberry Pi Imager
のアイコンを Applications
フォルダにドラッグ&ドロップします。
その後、Applications
フォルダ(アプリケーションフォルダ)を表示すれば、Raspberry Pi Imager
というアプリがインストールされていることが確認できると思います。
Raspberry Pi OS をインストール
次は、Raspberry Pi Imager
を利用して OS を microSD にインストールしていきます。
まずは、microSD を Mac に差し込みます。
続いて Raspberry Pi Imager
のアイコンをダブルクリックしてアプリを起動させます。
OS の選択
すると、下の図のような画面が表示されますので、まずは左側の CHOOSE OS
ボタンを押してインストールする OS の選択を行います。
たくさん候補が出てきますので、おそらく好きな OS を選択するので良いと思いますが、とりあえず今回は 一番上の (Recommended) 表記のある Raspberry Pi OS (32-bit)
を選択していきたいと思います。
記憶メディアの選択
OS の選択が完了すれば、次は CHOOSE STORAGE
ボタンを押します。すると記憶メディアの候補が表示されますので、OS をインストールしたい記憶メディアを選択します(候補に表示されるものは人によって異なりますので注意してください)。
microSD への書き込み
記憶メディアの選択が終われば右側の WRITE
ボタンが押せるようになりますので、WRITE
ボタンをクリックして microSD への Raspberry Pi OS のデータの書き込みを行います(ちなみに右下の 歯車
ボタンから SSH の有効化や Wi-Fi の設定も行うことができるのですが、今回は別の手段でこれらの設定を行なっていきます)。
あとは OS のデータが microSD に書き込まれ、続いて検証(Verify)が行われます(もし途中でパスワード入力や ファイルへのアクセス許可の確認が行われたら、適宜パスワードの入力や OK ボタンのクリックをしてください)。
結構時間かかるので注意してください。また、インストール中に microSD を抜かないように注意してください。
完了したら下の図になるので、CONTINUE
ボタンを押して OS のインストールは完了です。
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
ファイルを作成する
- microSD の中に
- Wi-Fi の設定(Wi-Fi を利用しない場合は不要)
- microSD の中に
wpa_supplicant.conf
ファイルを作成する
- microSD の中に
ssh
ファイルに関しては中身のない空のファイルを作成します。
それに対し、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 ネットワークに繋ぐ必要があるので、そこに表示されたものを記入しておけば良いはずです。
パスワード
に関しては、その Wi-Fi に接続する際に入力しているパスワードをそのまま記述しておけば良いです。
結局上記の ssh
と wpa_supplicant.conf
の2つのファイルを作れば良いだけですが、Mac の場合、右クリックから新規ファイル作成ができないのでちょっと面倒なんですよね…。
なので、私はターミナルアプリからコマンドを実行して作成しました。もしターミナルアプリから新規ファイル作成を行いたいという方は、以降の解説を参考にしていただければと思います。自身の手でファイルの作成が行えるのであれば、上記の2つのファイルを作成して Mac からの microSD の取り出し までスキップしていただければと思います。
ターミナルからコマンドでファイルを作成するためには、まず下記の場所に存在するターミナルアプリのアイコンをダブルクリックし、ターミナルアプリを起動させる必要があります。
アプリケーション → ユーティリティ
ターミナルアプリの起動後、下記コマンドを実行し、microSD の中に移動します(コマンドの %
に関しては入力不要です。今後も同様に %
に関しては入力しなくて良いです)。
% cd /Volumes/boot
boot
部分は microSD の名前によって変更する必要があるので注意してください。microSD の名前は、micro SD を差し込むことでデスクトップ上に表示される microSD のアイコンから確認することができます。下の図では microSD の名前が boot
ということになります。
例えば microSD の名前が NO NAME
である場合は、上記のコマンドの代わりに下記コマンドを実行する必要があります(名前の中にスペースが存在する場合は下記のようにパス全体を "
で囲う必要があります)。
% cd "/Volumes/NO NAME"
続いて下記コマンドを実行します。これにより microSD の中に ssh
という空のファイルが作成されることになります。
% touch ssh
さらに下記コマンドを実行します。これにより microSD の中に wpa_supplicant.conf
という空のファイルが作成されることになります(中身は後で記述)
% touch wpa_supplicant.conf
一旦ここで下記コマンドを実行し、ターミナルでの作業中フォルダを microSD から移動させます(これは後で microSD を取り出しできるようにするためです)。
% cd
あとはデスクトップに表示されている下の図のような microSD のアイコンをダブルクリックし、microSD の中身を表示します。
その中に wpa_supplicant.conf
という名前のファイルがあるはずなので、ダブルクリックしてファイルを開き、上記で示した wpa_supplicant.conf
の中身を記述して保存してください。
もしダブルクリックでファイルが開けない場合は、ファイルを右クリックして表示されるメニューの このアプリケーションで開く
から自身が使用可能なテキストエディタアプリを選択してファイルを開き、上記で示した wpa_supplicant.conf
の中身を記述して保存してください。
Mac からの microSD の取り出し
以上により、Raspberry Pi の SSH の有効化と接続先 Wi-Fi の設定が完了したことになります。
2つのファイルの作成が完了したら、microSD の「取り出し」を行なってから Mac から抜き取り、次は Raspberry Pi 本体に差し込んでください。
ちなみに取り出しは、デスクトップ上の 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 成功です。おそらく下記のように緑色で表示されているはずです。
これで 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
を選択してエンターキーを実行します(矢印キーで項目の選択が行えます)。
すると、下の図のような画面に切り替わりますので、次は I3 VNC
を選択してエンターキーを押します。
次は下の図のような画面が表示されますので、<Yes>
を選択してエンターキーを押します。
ちょっと時間が経って下の図の画面がでれば VNC の有効化の完了です。<OK>
を選択してエンターキーを押して前の画面に戻ります。
最後に <Finish>
を選択してエンターキーを押し、設定画面を終了します。
この設定により 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-xxxxxx.dmg
という名前のファイルが作成されるはずです(xxxxxx
の部分はバージョンの数字などが入ります)。
そのファイルをダブルクリックすれば、下の図のような画面が表示されると思いますので、VNC Viewer
のアイコンを Applications
フォルダにドラッグ&ドロップします。これでインストール完了です!
Mac から Paspberry Pi への VNC 接続
長かったですが、これで Mac から Raspberry Pi に VNC 接続する準備が整いました!早速 Raspberry Pi に VNC 接続してみましょう!
まずは、アプリケーションフォルダに移動し、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 を接続している場合は、eth0
の inet
の隣に書いてある xxx.xxx.xxx.xxx
の部分が Raspberry Pi の IP アドレスになります。
それに対し、あなたが Wi-Fi(無線 LAN)で Raspberry Pi を接続している場合は、wlan0
の inet
の隣に書いてある xxx.xxx.xxx.xxx
の部分が Raspberry Pi の IP アドレスになります。
自身の環境に合わせて IP アドレスを調べてコピーし、それを先程の画面の上側の入力欄に指定します。例えば Raspberry Pi の IP アドレスが 192.168.2.108
であれば、下の図のように指定します。
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 の遠隔操作が行えるようになったことも確認できるはずです!
ここまで確認できれば、以降は 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
は使用できないようにしてしまった方が安全です。そのために、ここからは下記の設定を行なっていきたいと思います(new_user
の部分はあなたが使用したいユーザー名に置き換えて手順を進めてください)。
- 新たなユーザー
new_user
を作成する - ユーザー
new_user
にpi
と同様のことができるようにする - ユーザー
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
を選択してエンターキーを押します。
これにより、下の図のような画面が表示されますので、B3 Desktop
を選択してエンターキーを押します(ちなみにここで B4 Desktop Autologin
を選択すれば、自動ログインを再び有効化することができます)。
エンターキーを押すと画面が遷移しますので、遷移後の画面で <Finish>
を選択してエンターキーを押し、さらに再起動するかどうかの判断が委ねられるので、<Yes>
を選択してエンターキーを押します。
すると、VNC Viewer の画面が下の図のようなものに切り替わると思います。
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 接続できることが確認できるはずです。
さらに、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
を選択します。
すると、下の図のようにパスワードの入力が求められるはずですので、ログインしているユーザーのパスワード(ログイン時に入力するパスワード)を入力するようにしてください。
今後も設定変更などを行う際にはパスワードの入力が求められることがありますが、今回同様ログインしているユーザーのパスワードを入力すれば良いです。
ただし、どんなユーザーでも Raspberry Pi の設定を行うことができるというわけではないので注意してください
こういった Raspberry Pi の設定を行うことができるのは sudo
グループに参加しているユーザーのみです
ユーザーの変更 で作成したユーザーは、作成したユーザーに pi と同様のことができるようにする の手順の中で sudo
グループに参加させるようにしているので Raspberry Pi の設定を行うことができますが、sudo
グループに参加していないユーザーでログインしても、Raspberry Pi の設定を行うことはできません
パスワード入力後に OK ボタンを押せば Raspberry Pi の設定ウィンドウが表示されますので、Localisation
タブをクリックし、さらに Set Locale
ボタンをクリックします。
すると、下の図のような画面が表示されます。
ここで、各項目を下記のように設定し、OK
ボタンをクリックしてください。
- Launguage:
ja (Japanese)
- Country:
JP (Japan)
- Character Set:
UTF-8
ロケールの設定はこれで完了です。再起動後に設定が反映され、Raspberry Pi の画面の文字が日本語表記に変化します(再起動は次のタイムゾーンの設定完了後に行います)。
タイムゾーンの設定
次はタイムゾーンの設定を行います。
現状 Raspberry Pi の画面の右上に表示される時間が時差によってズレていますので、このズレをタイムゾーンの設定で修正していきます。
おそらく現状下の図の画面が表示されているはずなので、今度は Set Timezone
ボタンをクリックします。
すると、下の図の画面が表示されるはずです。
ここで、下記のように設定を行い、設定後に OK
ボタンをクリックします。
- Area:
Asia
- Location:
Tokyo
これでタイムゾーンの設定は完了です。最後に OK
ボタンをクリックすれば、下の画面が表示されて直ちに再起動するかどうか確認されますので、Yes
ボタンをクリックします。
これにより Raspberry Pi の再起動が行われ、ここまで行なってきたロケールの設定とタイムゾーンの設定が反映されます。
再起動後にログインすれば、Raspberry Pi の画面の文字が日本語表記になっていること(全てが日本語になるわけではないので注意してください)、さらに画面右上に表示される時間が日本時間になっていることが確認できると思います。
まとめ
このページでは、Mac から Raspberry Pi に VNC 接続を行い、画面表示や遠隔操作を行うための手順について解説しました!
ちょっと手順は複雑になってしまいますが、今回紹介した手順でセットアップを進めれば、Raspberry Pi 用のマウスやキーボード・モニタ(ディスプレイ)がなくても Mac から Raspberry Pi を遠隔操作するための環境を構築していくことができます。
SSH や VNC という難しい単語が出てきたり、たくさんコマンドを打つ必要もあって大変だったかもしれませんが、これらは今後 Linux 等を利用する機会があれば活かせる知識になりますので、これらによって何が実現できるのかについては頭の片隅にでも置いておくと良いと思います!
私も Raspberry Pi 初心者でこれから勉強しながら知識をつけていく段階ではあるのですが、有益な情報など見つけたらどんどん記事として発信していこうと思いますので、Raspberry Pi に興味がある方はまたサイトに来てみていただけると嬉しいです!