ラズパイを使うのにディスプレイ・マウス・キーボードを買うな ~ラズパイセットアップ虎の巻~


追記

Ubuntuを入れようとするとこの方法ではうまくいかない。
すでに別の手法を確立しているので、後日記事にまとめて公開する。

はじめに

10000円ほどでコンピューターが買えると話題になったRaspberryPi 4B(以下、ラズパイ)。
IoT機器を作る、安価なセカンドPCとして活用する、など様々な思惑で購入されたことだろう。

だが、この10000円コンピューター、とんでもない罠がある。
コンピューターとして使うには、ディスプレイ・マウス・キーボードなどの入出力デバイスが欠かせないのだ。

タワー型PCをお使いの方ならそのPCで使っているものを流用すればよいが、
ノートPC・ディスプレイ一体型デスクトップをお使いの方ではそうはいかない。
また、タワー型PCをお使いの方であっても、いちいち接続し直すのは面倒だ。
そうなってくると、ラズパイ用に1セット欲しくなってくるが、
1から揃えるとこれまた10000円くらいかかってしまう。

そこで紹介したいのが、リモートデスクトップ。
これを利用すれば、ラズパイにディスプレイなどを繋がなくても手元のPCから操作することができるのである。

この記事では、ラズパイをセットアップして、お使いのPCからリモートで操作できるようになるまでを解説する。

準備物

  • なんらかのPC
    本記事ではWindowsを軸に解説する。以下、PCと呼称。
  • ラズパイ
    これがないと始まらない。
  • VNC viewer
    リモートデスクトップ接続するのに使用。
    ここから自身の環境に合うものをPC上で(ラズパイではない)インストール
  • LANケーブル
    有線LAN接続する人のみ

1. OSの書き込み

Raspberry Pi imagerをダウンロードしてよろしくやってほしい。
OSのバリエーションはいくつかあるが、本記事ではRaspberry Pi OS(recommendになってるやつ)を元に解説する。

2. ssh接続の準備

PC上での作業。
SDカード直下にsshという名前の中身なしのファイルを作成する。拡張子もない。
つまりこう。

ssh

2.x Wi-Fi接続の準備

有線派の人は飛ばしてくれ。
有線接続では特別な設定なく使える。

PC上での作業が続く。
先程と同様に、SDカード直下にwpa_supplicant.confというファイルを作成する。
ただし、今回は中身あり。以下を参照。

wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
scan_ssid=1
ssid="YOUR_WIFI_SSID"
psk="YOUR_WIFI_PASSWORD"
}

3. ssh接続

SDカードをラズパイに差し替える。
ラズパイを起動していくが、有線派の人は起動前にLANケーブルを接続しておく。

ラズパイを直接触るのはこのときだけ(だってリモートだしね!)。
存分に愛でておこう。お~よしよし

……
ラズパイの起動を確認したらPCでの作業に戻ろう。

コマンドプロンプト(Macとかならターミナル?)を開く。
そして以下のコードを実行

ping -4 raspberrypi

そうするとこんな感じの結果が来る。

ラズパイになんかパケットを送ったらしい。
それはどうでもよくて、これを見ると送信先のIPが分かる(筆者の場合は192.168.11.3)。
後で使うのでメモっておこう。

ラズパイのIPアドレスも分かったことなので、実際にssh接続していく。
コマンドプロンプトで以下のコードを実行。

ssh pi@「さっきメモしたIPアドレス」

すると、なんか聞いてくるのでyes

今度はパスワードを聞いてくるので「raspberry」と入力

おめでとう、成功です👏
これでラズパイにリモートでアクセスできた。

4. vnc接続の準備

リモート接続ってこんなコマンドラインなの!?詐欺だ!
という声が聞こえてきそうだが、もちろんこれで終わりではない。
vnc接続なるものを使い、デスクトップモードでリモート接続できるようにしていく。

4.1 の前に少し別の設定

ラズパイにvimをインストールする。
先程のコマンドプロンプト(実際はリモートのラズパイのターミナル)でそのまま続けて以下のコードを実行。

sudo apt-get install vim

途中でなんか聞いてくるが、y

続けて以下を実行。
/boot/config.txtを少し編集する。

vim /boot/config.txt

実行するとこんな感じ(ちょっとスクロールしている)。

選択している部分のコメントアウトを外す。
iを入力して左下が-- INSERT --に変わったことを確認したら、
十字キーでカーソルを動かして、上の画像の選択部分へ移動(おそらく26行目)。
#を消してコメントアウトを外す。

外したら、ESCキーを入力し、:wq!と入力(左下に入力されている)してEnter
これでこの設定は終わり。

4.2 今度こそvnc接続の準備

コマンドプロンプトに続けて以下のコードを入力し実行。

sudo raspi-config

こんな感じになるはず。

次に下の画像のように設定を進み、vncをenableにする。
なお、項目の選択にはマウスカーソルは使えない。十字キーとEnterで行う。

設定を終えたらTabキーを適当に叩いてFinishEnter
最後に以下のコードでラズパイを再起動する。

sudo reboot

するとこのようにssh接続が閉じられる。
ここからはリモートデスクトップ接続を行うので、コマンドプロンプトは閉じて問題ない。

5. vnc接続でリモートデスクトップ

ここからはVNC viewerを用いてリモートデスクトップを行う。
まだインストールしていない人はここからインストールしてほしい。

VNC viewerを立ち上げると真っ白なウィンドウが出てくるはずなので、
リモートデスクトップセッションを追加していく。

メニューバーのFile>New connectionと進む。
すると、なんか設定項目を入力するように求められるので、VNC serverここらへんで確認したIPアドレスを入力する。
なお、Nameのところは任意だが、何かしら設定しておくと分かりがいい。

次に進むとなんか怖そうな警告が出てくる(出てこないかも)ので、Continueで進む。
今度は資格情報を入力するように求められるので、
UsernamepiPasswordraspberryと入力し、次に進む。

すると……

つながった!!!

喜びを噛み締めつつ、画面中央のウィンドウに従って初期設定を終わらそう(初期設定終了後再起動を要求されるので従う)。

これにて一件落着!!!

補足

環境によっては画面解像度が適切ではないかもしれない。
その場合はこちらの記事、「Raspberry pi4 解像度を1024x768から1920x1080に変更してみた。」に従って設定してほしい。

参考文献