【Raspberry Pi】専用ディスプレイ無し・Macbookのみで初起動・SSH・セットアップする方法

# はじめに

プログラミング歴半年の初心者記事です。
間違っていたらご指摘ください。
また、ご自身でも調べてからお試しください。

# やりたいこと

ラズパイは、モニターやキーボードに接続して使うのが一般的です。
しかしながら、外出先などに持っていくには荷物になってしまうことも。なにより高価ですよね。

そのため今回は、**すでに持っているMacbook Airと接続し、モニター、キーボード、マウスとして使うことにしました。**

# 環境
MacBook Air mid 2014（11 inch）
-OS: MacOS Mojave

Raspberry Pi Model 3 B+
-OS: Raspbian Buster with desktop and recommended software

# 材料

- ラズパイ本体
- SDカード
- イーサネットケーブル
- Macbook


# セットアップ手順

以下のサイトをメインに参考にさせていただきました。
たくさんの資料をWebに残してくださっている先輩がたに、ただただ感謝です。

- [ラズベリーパイ(B+)を購入！Macbookと連携して開封から初期設定までやってみた！ | うえぶまなぶ](http://masatolan.com/raspberry-pi/raspberry-pi-basic/)
 
- [Raspberry Pi 3のセットアップをMacからSSHを使って行う方法【RASPBIAN STRETCH】 – Reasonable Code](https://reasonable-code.com/raspberrypi3-setup/)

私は以下の手順で初回起動とセットアップを行いましたが、実行環境によってエラーがでたり、うまくいかない場合があるかと思います。

**他の記事も参照しながら丁寧に進めていただくことをおすすめします。**


## OSのインストール
まずはMacbookをつかってmicroSDカードにOSをインストールします。
実際にダウンロードする前に、「ディスクユーティリティ」から、SDカードが初期化されているか、フォーマットが「FAT-32」になっているかどうか確認します。

![スクリーンショット-2019-06-30-9.23.37-1024x576.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/452235/5d6223c9-c30a-cdd8-d7fd-c55bcd525572.png)

[Raspberry Piの公式サイト](https://www.raspberrypi.org/downloads/)から、Zipファイルをダウンロードし、解凍しておきます。

今回は「Raspbian」OSを`/Users/Mymac/Downloads/`（いわゆるダウンロードフォルダ）に保存しました。

解凍して現れたimgファイルをSDカードに保存するのですが、これをMacのターミナルから行います。



まず、SDカードの場所を特定するため、ターミナルで以下のコマンドを実行します。

```
$ diskutil list
```

接続されているディスク（記憶装置）がリストで表示されます。私の場合は
`/dev/disk4` がSDカードでした。

次に、SDカードをアンマウントします。アンマウントとは「安全に取り外せる状態」のことです。（私の場合は`/dev/disk4`がSDカードの位置です。）

```
$ diskutil unmountDisk /dev/disk4
```

アンマウントしたら、SDカードにimgファイルを書き込みます。（`Users/`以降は、imgファイルへのパスです。）

```
$ sudo dd bs=1m if=/Users/Mymac/Downloads/2019-06-28-wheezy-raspbian.img of=/dev/disk4
```

コマンド実行後は特に何も表示されませんが、バックグラウンドで処理されています。私の場合は20分くらいかかりました。**ここでコーヒーを飲んで一服してください。**


## sshファイルの作成

SDカードにOSの書き込みができたら、bootディレクトリにsshという空ファイルを作成しておきます。

```
$ touch /Volumes/boot/ssh
```

SSHとは、めちゃくちゃ簡単にいうと「コンピュータを遠隔操作するやり方の一つ」です。これからMacbookを使って、ラズパイを遠隔操作します。

しかし、ラズパイは自分を守るために、SSH（つまり遠隔操作）を無効にする設定になっています。そして、sshという空ファイルを認識したら、遠隔操作が有効になるよう設定されています。

**私はこれをやっておらず、ラズパイ起動後にSSHができなくて詰みました。電源を引っこ抜いてSDカードをMacbookにさし直して、sshという空ファイルを作るはめになりました。（クソザコなので雑な解決しかできませんでした）**


## マックに接続する

SDカードにOSの書き込み、sshファイルの作成ができたら、ラズパイ本体にSDカードをさしておきます。（ラズパイの電源はまだ入れません。Macbookともつなぎません）

次にイーサネットケーブルを、Macbookに差し込みます。
Macbookのシステム環境設定から、「共有」へと進み「インターネット共有」「USB-LAN（名前が違うかもしれません）」にチェックをいれます。

ラズパイに電源を入れて起動まで１分ほど待ちます。
Macbookとラズパイをイーサネットケーブルでつなぎます。

おめでとうございます！これでMacbookとラズパイがつながりました！
**（ここからが本番です。）**


## IPアドレスの特定
ラスパイをSSHで操作するためには、ラズパイのIPアドレスを特定する必要があります。
あとから調べてわかりましたが、**大抵 「192.168.2.2」だそうです**のでまずこれを試してみてもいいかもしれません。

私の場合は先述のとおり最初にsshを有効化していなかったせいか、多くのサイトで紹介されているコマンドでIPアドレスを取得できませんでした。

通常の場合、おそらく以下のコマンドでIPアドレスを取得できるかと思います。

```
$ ssh pi@raspberrypi.local
```

## arp-scanを使ってIPアドレスを調べる

私は、arp-scanを使ってIPアドレスを調べました。
arp-scanは同一ネットワーク内のIPアドレスを調べるコマンドです。
私が行った手順はは以下の通りです。

- Homebrewのインストール（ソフトウェア管理システムです/ここでは詳しく説明しませんので各自調べてください）

- brewを使ってarp-scanをインストール

```
$ brew install arp-scan
```

- コンピュータが接続されているネットワークを表示

```
$ifconfig
```

- 接続されているネットワークやアダプタ名e4 やwlan0やbridge100など）がリストで表示されますので、メモる。

```
$ sudo arp-scan -l --interface bridge100
```
bridge100の部分は環境によってことなります。
先ほどメモったアダプタ名を総当たりで実行し、当たりだったらIPアドレスが表示されます（頭悪い）


## ついに、ラズパイに接続！
以下を実行し、ラズパイを操作します。

```
$ ssh pi@192.168.2.2
```

接続に成功すると、ターミナルで以下のように表示されるはずです。

```
pi@raspberrypi ~ $
```

これは、Macのターミナルからラズパイを操作しているということです。

あとはラズパイのデスクトップをMacbookに表示させる必要があります。

設定にとりかかります。以下を実行すると、設定画面が表示されます。

```
$ sudo raspi-config
```

![スクリーンショット-2019-06-29-20.51.16-1024x576.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/452235/e25b2a1b-0017-3161-029b-aca2284b54c5.png)


## VNCの設定
`「5 Interfacing Options」 > 「P3 VNC」 > 「Yes」`を選択します。これで、Raspberry Pi 3側の設定は完了です。

「VNC」というのは、コンピュータを遠隔操作するときに使うソフトのことです。現在ターミナルから遠隔操作しているのを、もっとやりやすくしてくれるソフトです。

今度はMac側でVNCの設定をします。
VNCクライアントの [RealVNC Viewer](https://www.realvnc.com/en/connect/download/viewer/) をインストールします。

RealVNC Viewerを起動したら、先ほど調べたラズパイのIPアドレスを入力します。
これで、ラスパイのデスクトップが表示されたら終了です！
あとは画面の指示に従えば、基本設定も通常のパソコンのように行うことができます。

### ラスパイのデスクトップが表示されない場合

ラスパイのデスクトップが表示されない場合（cannot show desktop）は、設定で
`「8 Advanced Options」 > 「5 Resolution」 > 「1920 x 1080」`にしてみてください。
うまくいかない場合は他の画面サイズも試してみてください。
「Would you like to reboot now? （再起動しますか？）」と聞かれた場合は「yes」で大丈夫です。


# まとめ

ようやくMacbookにデスクトップが表示されました！

- Macbookに接続しよう

- ipアドレスがわかんない

- ssh接続できない

- VNC表示されない

など、一通り初心者が詰まるエラーを経た気がしますが、そのぶん喜びもひとしおです。