# Re:Zeroから始めるラズパイ ###### tags:`自主勉強` 初心者なので、間違ってるとこあればコメントを。 # 第1章 接続編 #### 参考にしたリンク * [初期設定](https://www.pc-koubou.jp/magazine/30629) * [ディスプレイなしで、試した所0](https://qiita.com/murs313/items/81757bf8bc74b6b76cdf) * [ディスプレイなしで動かす1](https://qiita.com/ShinKano/items/26473179b546b73e3a32) * [Cannot show the desktopの時これしたけどできなかった。](https://blog.ko31.com/202004/respond-to-cannot-currently-show-the-desktop-error-for-vnc-connection-in-lazzie/) * [OSの種類について](https://www.mikan-tech.net/entry/raspi-os-editions) ## モニター、キーボード、HDMIケーブルがない! サイトをいろいろ調べたが、最初にラズパイ触るなら、 モニター、HDMIケーブル、キーボード、マウスの使用が推奨されてるらしい!そーなの!? ちなみに、 **microsdカードと、電源ケーブルは必須** USBwifiドングルか、LANケーブルのどっちかがないと、ネットには繋がらない。 今の所有物はこんな感じ。斜線は持ってない * ラズパイ2(組み立て済み) * MacBookPro * ~~モニター~~ * ~~キーボード~~ * ~~HDMIケーブル~~ * ACアダプタ * microsdカード *ただし、容量が少なすぎる! * LANケーブル or ~~USBwifiドングル~~ * マウス(持ってるのは無線。GUI実装できてないのでまだ試してない。) **そこで今回は、VNCというものを使用して、うまく表示させる所まで挑戦する!** ## 初期設定 [以下のサイト](https://www.pc-koubou.jp/magazine/30629)を参考にする microsdカードをMacに接続し、 OSをインストールしようとするのだが、サイトに書いてあるNOOBとかの選択肢が存在しない。 代わりに、イメージをダウンロードしろとある。 ![](https://i.imgur.com/B5VvSXM.jpg) ![](https://i.imgur.com/daibAmL.jpg) そこから写真一番上の、推奨されているOS with desktop and ~~ をインストールしようとするが、SDカードの容量が少なすぎてダメだと怒られる。 そのため、**Raspberry Pi OS Lite**というものを、今回インストールする。 各[OSの違いについてはここを参照にした。](https://www.mikan-tech.net/entry/raspi-os-editions) ### sshファイルを作成する 初期のOSには、sshファイルが作成されていないらしく、 macとの遠隔接続ができない。 そのため、macのターミナルで以下のコマンドを入力し、 sdカードの中にsshファイルを作成する。 `$ touch /Volumes/boot/ssh` ### Macbookの設定を変更する。 1. システム環境設定から、共有を選択 2. そこの、インターネット共有を選択 3. 今回macで繋いでいるwifiを、LANケーブルで間借りするので、USB~LANの所にチェックをつける ![](https://i.imgur.com/3QA95qE.png) ## ラズパイにアクセスし、画面を映そうとする この状態で、`ssh pi@raspberrypi.local` とターミナルに打ち込むと、パスワードを求められる。 初期設定は`raspberry`である。 すると、すぐにアクセスできた! ![](https://i.imgur.com/oQP4ieY.png) しかし、ここから先、[ここ](https://qiita.com/murs313/items/81757bf8bc74b6b76cdf)と同じようにVNCサーバーをインストールしようとしても、うまく行かなかった。 ### IPアドレスの確認と、VNCサーバのインストール [参考サイト](https://qiita.com/ShinKano/items/26473179b546b73e3a32) IPアドレスは、 `ifconfig`にて確認を行なった。winなら、ipconfigらしい。 接続してる機械(bridge100とかbridge0とか)が出てくる。 ここで、 1. `brew install arp-scan` 2. `$ sudo arp-scan -l --interface bridge100`(bridge100かは、各自異なる) 3. していき、エラーなくIPアドレスが出ているところは、`Raspberry Pi Foundation`という文章が出てくる。そのIPアドレスを控えておく。 4. `ssh pi@IPアドレス`で、アクセスする! そして、`$ sudo raspi-config`のコマンドを使うと、以下の画面が出てくる。 ![](https://i.imgur.com/HrzPxgI.png) これの中の、 1. Interface Option 2. VNC 3. Yes を選択すると、VNCサーバーをインストールする事ができた。 この時、`The VNC Server is enabled`と出てるなら、繋げられるはずである。 ### VNCビュアーのインストール&接続 [ここから](https://www.realvnc.com/en/connect/download/viewer/)、ビュアーをインストールする。 そして、先ほど控えたIPアドレスをビュアーに打ち込むと、こんな画面が出てくる。 ![](https://i.imgur.com/Bme5ZI9.png) ここで、Usernameはデフォルトなら`pi` Passwordは`raspberry`で入力すると、接続される。 しかし、真っ黒な画面で、デスクトップは表示されない。 ![](https://i.imgur.com/yJS0N07.png) 今思えば当然だが、**LiteのOSをインストールしてるから、デスクトップなどは存在しない** しかし、ここから無謀にも色々試すので、忘れないようにメモしておく。 #### VNCの画面サイズを変更しようとする VNCで最初に表示されるサイズは小さすぎるため、 表示されないとの情報があった。[ソースはここなど](https://qiita.com/ShinKano/items/26473179b546b73e3a32) ここで、最初に表示されるサイズの変更を行う。 1. 2:Display Optionsを選択 2. D1:Resolutionを選択 3. そこから、DMT Mode82 1920x1080とか、 4. 1280x720を選択する事で、よくなるらしい。 5. 再起動が求められたら再起動し、もう一度 sshで接続し直す。 #### boot/config.txtの編集 [ソースはここ。](https://55life555.blog.fc2.com/blog-entry-3217.html) `sudo nano /boot/config.txt` や、microsdをパソコンに入れてconfig.txtをいじる。 そして、以下の行を探す。 ``` # uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1 ``` ここの`hdmi_force_hotplug=1`と、二行目の#を外す。 これは、hdmi接続してない状態でも、HDMIのモードを使用する という表記らしい。 しかし、ここは元々#が外れており、意味はなかった。 #### ラズベリーパイをデスクトップモードで起動する HDMI を繋がずに VNC 接続するには、ラズベリーパイをデスクトップモード (サービスモード)で起動しておく必要があるそう。 [ソースはここ](https://blog.ko31.com/202004/respond-to-cannot-currently-show-the-desktop-error-for-vnc-connection-in-lazzie) まず、ラズパイをsshで開いて、`$ sudo raspi-config` を実行する。 ソースでは、「3 Boot Options」を選択とあるが、ここでは違う。 1. 1:SystemOptionを選択 2. S5:Boot / Autologinを選択 3. B3; Desktopを選択する。 これでいいはずなのだが、今回デスクトップがないので、 lightdmをインストールしろと言われる。 ![](https://i.imgur.com/yVO9VTg.png) しかし、lightdmの部分がインストールしてると思うけど、 なぜかうまく実行できない。 ![](https://i.imgur.com/q080Qw9.png) `run apt-get update`も試してみたがうまくいかなかった。 ## まとめと反省 気付くのにかなり時間がかかったが、デスクトップがないOSをインストールしているので、面倒な事をしてしまった。しかし、VNCを用意するにあたりの問題点などを確認できた。次に進むには、 1. microsdカードの容量が大きいのを用意し、デスクトップを持つOSを入れる 2. デスクトップがない状態で、CUIベースで進行していく など考える必要がある。 とりあえず、自分のmacbookでラズパイに接続する事はできたので、次のステージに進む事はできるだろう。 # 第2章 microsdの再フォーマット microsdカードの容量が少ないと思ってディスクユーティリティを見てみたら、こんな事になってた。 ![](https://i.imgur.com/r2mdxeR.png) なので、ここを消して、再フォーマット化して、DesktopのあるOSを入れ直す。 ![](https://i.imgur.com/XlWih8v.png) ## 新しくOSをインストール フォーマットを消したら、新しくOSをインストールする余裕ができたので、 今度はデスクトップ持ちのやつをインストールする。 ### モニター、キーボードを手に入れる そして、モニター、キーボードを手に入れたので、刺してみるが、全く反応がない。 https://raspida.com/rpi-qa-select7 このサイト曰く、電源の順番に問題がある可能性と、config.txtを編集する必要があるらしい。 具体的には、 1. 先にケーブルとモニターを繋いでおく。電源も入れる 2. ラズパイの電源を入れる もしくは,config.txtを変更する方法である。前回の繋がり方ができるかどうかを試してみる。 `# uncomment if hdmi display is not detected and composite is being output #hdmi_force_hotplug=1` ここの部分の、hdmi_forceの#を外す。 `hdmi_force_hotplug=1` すると、反応があった。 ![](https://i.imgur.com/1zD7j2h.jpg) ### SSHアクセスしようとしたが、できなかった。 以下の様な設定が出てきた。これは、ここのサイト曰く、複数のラズパイに対する接続や、 LAN環境の違いが原因でraspberrypi.localに対するホストキーの変更を検出しWARNINGが出ることがあるらしい。 なので、別途コマンドが必要 ``` @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: POSSIBLE DNS SPOOFING DETECTED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ The ECDSA host key for raspberrypi.local has changed, and the key for the corresponding IP address fe80::9f73:e2d:64a:ebd%en3 is unknown. This could either mean that DNS SPOOFING is happening or the IP address for the host and its host key have changed at the same time. @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! Someone could be eavesdropping on you right now (man-in-the-middle attack)! It is also possible that a host key has just been changed. The fingerprint for the ECDSA key sent by the remote host is SHA256:KuKS67WKb3pTkOWR+D845cmVsnwzEb2WOnLPhc4qM1c. Please contact your system administrator. Add correct host key in /Users/x17007xx/.ssh/known_hosts to get rid of this message. Offending ECDSA key in /Users/x17007xx/.ssh/known_hosts:2 ECDSA host key for raspberrypi.local has changed and you have requested strict checking. Host key verification failed. ``` このコマンドで、既に登録されていたキーを取り除く。 ``` ssh-keygen -R raspberrypi.local ``` そして、もう一度、`ssh pi@raspberrypi.local`を使う。 すると、Yes,Noで聞かれるので、Yesを使う事でアクセスできる。 そこで、初期キーワードは`raspberry` である。