最近、ラズパイにVNCを導入するために色々試したのでその話をします。
まず結論として、色々試してみて使用を確認できたものは、
デフォルトのRealVNC、TightVNCの2つでした。
x11vncも使ってみたのですが起動がうまくいかず、、調べたところBookwormとの相性が悪いらしいのです。
私の力では手に負えなかったので、もしできた方がいれば是非教えていただきたいです。
当記事では①TightVNCについて、②RealVNCとansible化について
二日間で分けて書いていこうと思います。
アドベントカレンダーが始まっているのでそちらも是非見てみて下さい。
TORICO アドベントカレンダー2023
ちなみに今回使ったものはこちら↓↓↓
macOS 13.4
Raspberry Pi 4
根気
共通事項
ラズパイの初期設定
①公式サイトにてデスクトップアプリをダウンロード
https://www.raspberrypi.com/software/
②デバイスを選択→Raspberry Pi 4
OSを選択→64bit(この時はリリース日時:2023-12-05のものを使用)
ストレージは表示されているものを選択
③cmd + shift + xキーより設定項目を出す。
これは設定しておくと後々便利になります。
オプション→サービス→SSHを有効化するにチェックマークを入れ、
公開鍵認証のみを許可するを選択のち、自分の公開鍵を入れます。
これで設定は完了です。
あとはラズパイ側で勝手にmicroSDに書き込んでくれます。
終わったらmicroSDをラズパイに差し込み、設定していきます。
ラズパイのターミナルを使うか、sshの中に入って作業するかは各自で任せます。
mac側で操作する場合はターミナルを開き、下記のコマンドを打ち込んでください。
$ ssh ユーザー名@ホスト名
パッケージの更新、vimのインストール
$ sudo apt update
$ sudo apt upgrade
$ sudo apt autoremove
$ sudo vim install
終わったら、早速TightVNCの設定に入っていきましょう。
TightVNCを使ってみる
下記コマンドでインストール後、起動
起動の際、パスワードの設定を求められるので設定します
$ sudo apt install tightvncserver
$ tightvncserver
自動起動の設定
init.dにスクリプトを書いて自動起動するように設定します。
$ sudo vim /etc/init.d/vncboot
#! /bin/sh
### BEGIN INIT INFO
# Provides: vncboot
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start VNC Server at boot time
# Description: Start VNC Server at boot time.
### END INIT INFO
# /etc/init.d/vncboot
USER=root
HOME=/root
export USER HOME
case "$1" in
start)
echo "Starting VNC Server"
#Insert your favoured settings for a VNC session
su $USER -c '/usr/bin/vncserver :1 -geometry 1280x1024 -depth 24'
;;
stop)
echo "Stopping VNC Server"
su $USER -c '/usr/bin/vncserver -kill :1'
;;
*)
echo "Usage: /etc/init.d/vncboot {start|stop}"
exit 1
;;
esac
exit 0
解像度は1280×1024で設定しています。ここは自由に変えて大丈夫です。
パーミッションの変更をして、自動起動の設定をします
$ sudo chmod 755 /etc/init.d/vncboot
$ sudo update-rc.d vncboot defaults
再起動
$ sudo shutdown -r now
LISTENしてるか確認
$ netstat -nlt
状態がLISTENになっていれば自動起動の設定はOKです!
接続してみる
ラズパイ側の設定を終えたらmacで早速接続してみましょう。
<手順>
Finderを開く→画面上左に出てくる移動を選択→サーバーに接続→アドレスを入力する
アドレスの書き方は以下の通り
vnc://ラズパイのIPアドレス:5901
5091はTightVNCのデフォルトのポート番号になります。
ラズパイ左上のWi-Fiマークにカーソルを合わせると、IPアドレスが表示されるのでそこで確認してください。