マウス・キーボード・ディスプレイを使用せず、SSHだけでラズベリーパイを使用する手順
January 16, 2021
前提 #
- ラズベリーパイのイメージが microSD カードに書き込まれている状態を開始地点とします
- PC に microSD カードがマウントできることが条件です
- Raspberry Pi 4 Model B を使用しています
* 2 について、PC に microSD の接続口がない場合も多いと思いますが、今回の方法だと PC から microSD に書き込みできることが必須なので、必要であれば SD カードリーダーを購入しましょう。(というか、microSD カードにラズパイのイメージを書き込んだのであれば、必然的に PC と microSD の接続環境は整っているはず?)
なお、手元の端末が mac の想定で話を進めますが、windows の方も手順は全く同じです。「ターミナル」という言葉を「コマンドプロンプト」に読み替えるなど適宜脳内変換してくださいませ。
また、本来は microSD カードと書くべきところ、省力化のため SD カードと記載していきます。
手順 #
- SD カードを mac にマウントする。
- ターミナル上で、SD カードのディレクトリに移動する。
cd /Volumes/boot/
- SSH 接続を有効化させる。
touch ssh
- * 空のファイルを作成するだけで大丈夫です。
- WiFi 接続を有効化させる。
touch wpa_supplicant.conf
vim wpa_supplicant.conf
- 開いたファイルに以下を書き込む
* SSID とパスワードはご自身の環境に合わせて記載
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant
GROUP=netdev
update_config=1
network={
ssid="接続するWiFiのSSID"
psk="接続するWiFiのパスワード"
}
- SD カード mac から外し、ラズベリーパイを起動する。
- mac からラズベリーパイに SSH 接続する。
ssh [email protected]
- パスワードは
raspberry
と入力する。 - * ラズベリーパイの初期ユーザは
pi
、パスワードはraspberry
になっています。
- VNC サーバの起動を有効化する。
sudo raspi-config
- * Real VNC Server が標準でインストールされているため有効化のみで OK です。
表示された以下のメニューから「5 Interfacing Options」を選択する。
以下のメニューから「P3 VNC」を選択する。
「Yes」を選択する。
下記が表示されれば設定変更できたということ。
- mac に VNC クライアント(Real VNC Viewer)をインストールする。
- Homebrew を使っている場合は
brew install --cask vnc-viewer
です。
- Homebrew を使っている場合は
- インストールした Real VNC Viewer を開く。
- 検索窓に
raspberrypi.local
と入力する。 - ラズベリーパイのユーザとパスワードを入力する。
- おそらく以下のエラーが出ると思います。その場合は次の手順へ。
- 検索窓に
上記は、ラズベリーパイが吐いているエラーです。ラズベリーパイに HDMI でモニターが接続されていない状態で、VNC ビューアで接続しようとすると、このエラーが出てしまいます。HDMI 接続されていない状態でも VNC ビューアで接続できるように設定を変えます。
- SD カードを mac に指して、以下を実行。
cd /Volumes/boot
vim config.txt
- 開いたファイルを以下の通り変更する。
変更前:hdmi_force_hotplug=1 がコメントアウトされている)
# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1
変更後:hdmi_force_hotplug=1 のコメントアウトを解除
# uncomment if hdmi display is not detected and composite is being output
hdmi_force_hotplug=1
- SD カードをラズベリーパイに戻して、再び VNC ビューアで接続してみましょう。
以上!これでラズベリーパイの画面が mac から閲覧できるようになったはずです!
補足1 #
SSH 接続や VNC ビューアで使用した「raspberrypi.local」はラズベリーパイのデフォルトのホスト名です。接続時にはホスト名ではなく、IP アドレス名でも接続可能です。
IP アドレスの調べ方については、VNC ビューアー後は GUI で確認できるほか、SSH 接続時にターミナル上で調べるには以下の通りです。
- 以下を実行する。
ip a
- 「wlan」のところに表示される IP アドレスをどこかにメモしておく。
- * なお、
ifconfig
でも IP アドレスは調べられますが現在は非推奨だとか。
補足2 #
デフォルトのユーザ名(pi)、パスワード(raspberry)、ホスト名(raspberrypi.local)は変更しておいた方がセキュリティ的に安心です。
補足3 #
ラズベリーパイのデスクトップの解像度ですが、デフォルトで設定可能な上限が「1024×768」となっていますが、設定ファイルを編集することで、それ以上の解像度も設定できるようになります。以下が手順です。
- SD カードを mac につなぎ以下を実施。
cd /Volumes/boot
vim config.txt
- 開いたファイルを以下の通り変更する。
変更前
# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1
変更後
# uncomment to force a specific HDMI mode (this will force VGA)
hdmi_group=2
hdmi_mode=58
上記の通り、コメントアウトを解除して数値を変更してください。設定の内容は以下に記載があります。「hdmi_group」と「hdmi_mode」のところをご参照ください。
RPiconfig - eLinux.org | https://elinux.org/RPiconfig
PC で利用する場合「hdmi_group」は 2 です(1 はテレビ画面用)。上記では「hdmi_mode」を 58 にしていますが、これは解像度を「1680×1050 の 60 Hz」と指定しています。
- 編集後、ラズベリーパイを起動し、解像度の設定画面を開くと、上記で自分が設定した解像度が選択できるようになっています。
以上 #
参考になれば幸いです!