前回、学生のころから気になっていたラズパイを購入して、ケース組みまでやりました。
今回はヘッドレスラズパイを組んでみます。
目次
ヘッドレスとは
あまり聞きなれないヘッドレスというワードですが、以下のように定義されます。
「ヘッドレス」コンピュータシステムは、ローカルインターフェイスのないものです。モニター(「ヘッド」)が接続されていません。また、キーボード、マウス、タッチスクリーン、またはそれを制御するための他のローカルインターフェイスもありません。
https://www.thefastcode.com/ja-jpy/article/what-is-a-headless-server
モニター(ヘッド)もなければ、キーボードやマウスもない。
そのようなシステムに意味があるのか?と思われがちですが、実はそうでもありません。
以下が、Ubuntu Server(ヘッドレスOS)の推奨スペックです。
The recommended system requirements are:
CPU: 1 gigahertz or better
https://ubuntu.com/server/docs/installation
RAM: 1 gigabyte or more
Disk: a minimum of 2.5 gigabytes
一方で、以下がUbuntu Desktopの推奨スペックです。
Recommended system requirements:
2 GHz dual-core processor or better
https://ubuntu.com/download/desktop
4 GB system memory
25 GB of free hard drive space
要するに、Ubuntu Server(ヘッドレスOS)は…
- CPU :Desktop版の推奨スペックの1/2
- メモリ :Desktop版の推奨スペックの1/4
- ストレージ:Desktop版の推奨スペックの1/10
ということで、大幅に計算機リソースを削減することができます。
ただでさえ小規模計算機であるラズベリーパイに、Ubuntu ServerのようなヘッドレスOSを採用することで、本来GUIに割り当てられていた計算機リソースを有効活用できます。
あと余談ですが、WSL(Windows Subsystem for Linux)もWindowsの中でUbuntu Serverを動かしているので、すでにWSLを体験している人にとって、今回のヘッドレスラズパイは馴染みがあるように感じるのではないかと思います。
ヘッドレスをどうやって動かすか:SSH接続について
ヘッドレスのラズパイ(Ubuntu Server)をどうやって動かすか。
答えは簡単です。
PCやスマホからリモートアクセス(SSH接続)すれば良いのです。
本投稿ではヘッドレスOS(Ubuntu Server)の導入から、リモートアクセス(SSH接続)まで行います。
Raspberry Pi ImagerでUbuntu Serverをインストールする
ラズパイ公式が出している、「Raspberry Pi Imager」を使ってUbuntu ServerをmicroSDカードにインストールします。
「Raspberry Pi Imager」は以下からダウンロードしましょう。
また、microSDカードは適当に家の中にあるものを使うか、新しく購入しましょう。
- 「Raspberry Pi Imager」を起動します。
- OSを選択しましょう。今回はUbuntu Server 64bitのLTSを選択します。
LTSとは、Long Term Supportの略称であり、LTSのUbuntuは最低5年間以上サポートが受けられます。このサポートがないと、公式による脆弱性対策などが受けられません。
特段の事情がなければLTS無しのOSよりもLTS有りのOSを選択されることがほとんどです。
(短期間に何度も環境構築はやりたくないですからね…。
- 次はストレージを選択します。
- 書き込む前に、設定を行います。
※この設定をせずに書き込んでしまうと、色々と面倒なことになります…。
- ホスト名を適当に設定して、SSH接続を有効にしておきます。
ホスト名は記録しておきましょう。後で使います。
今回は公開鍵認証ではなくパスワード認証を使うことにします。
- ユーザー名とパスワードを適当に決めます。
ユーザー名とパスワードは記録しておきましょう。後で使います。
- Wi-Fiも設定しておきましょう。
- 残りの設定も適当にやっておきます。
- いざ。書き込みましょう。
ヘッドレスと化したラズベリーパイ先輩にSSH接続する
- 書き込んだmicroSDカードをラズパイに挿入して、電源を入れます。
そこから何もせず、5分間ぐらい気長に待ちましょう。
- そろそろ頃合いかな?と思ったら、PCでPower Shell君を起動します。
「Power Shell君って何だよ!」と思った方は、以下の要領で起動してください。
しかし、自分は最新のPower Shell君(Power Shell 7)を使います…(裏切り)
最新版は性能や互換性が優れているそうです。
参考ページ→https://jo-sys.net/powershell-install/
- Power Shell君でSSH接続します。さっき設定したユーザー名とホスト名を思い出しましょう。
ssh morugan@raspberrypi-z.local
- このようなメッセージが出たら、「yes」と入力して、Enterキーを押しましょう。
yes
※もし変なエラーが出たら、この投稿の下部のAppendixを参考にしてみてください。
- パスワードを求められたら、先ほど設定したパスワードを入力しましょう。
- ヘッドレスと化したラズベリーパイ先輩にSSH接続することができました。やったぜ。
Appendix:SSH接続しようとしてヤバそうなエラーが出たら
こんなエラーが出る場合があります。(何者かに攻撃されてるゥ!?)
でも、安心してください。
落ち着いて、
ssh-keygen -R raspberrypi-z.local
を実行して、接続元に保管されている公開鍵を削除します。
※raspberrypi-zの部分は、適宜書き換えてください。
次回予告
- ラズパイを購入して、組み立ててみた 【ラズパイ編#1】
- ヘッドレスラズパイを構築してみた【ラズパイ編#2】←今回
- ヘッドレスラズパイでVPN接続してみた【ラズパイ編#3】
- ???【ラズパイ編#4】
- ???【ラズパイ編#5】
- ???【ラズパイ編#6】