258.ラズパイ無双[5_リモート(noVNC)]
初回:2022/5/25
Raspberry Pi (ラズベリーパイ、通称"ラズパイ")で何か作ってみようという新シリーズです。今回はWindowsのリモート接続で、ブラウザからアクセス可能な、noVNCの環境設定を行いたいと思います。
P子「VNCクライアントをインストールできないケースもあるもんね」※1
ラズパイ無双の[1.インストール]編で、#4.VNC の設定 を行いましたが、Windows側に、VNC クライアントをインストールする必要がありました。今回ご紹介する『noVNC』は、ラズパイ側の標準VNCサーバーと、Windows側はブラウザがあれば、リモート接続できます。
≪参考資料≫
https://denor.jp/raspberry-pi%E3%81%AE%E3%83%87%E3%82%B9%E3%82%AF%E3%83%88%E3%83%83%E3%83%97%E3%81%ABweb%E3%83%96%E3%83%A9%E3%82%A6%E3%82%B6%E3%81%8B%E3%82%89%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9-novnc
Raspberry PiのデスクトップにWebブラウザからアクセス noVNC
1.ラズパイ側のVNCの設定(復習)
すでにラズパイのVNC設定が終了していると思いますが、復習を兼ねて手順を再掲しておきます。
1.raspi-configを起動します。
$ sudo raspi-config
2.Interfacing OptionsのVNC Serverを有効にします。
3.Boot OptionsのDesktop/CLIを選択
Desktop Autologinを有効にします。
ディスプレイを接続しない(ヘッドレスの)場合の設定
4./boot/config.txtを編集します。
$ sudo nano /boot/config.txt
5.framebuffer_widthとframebuffer_heightをアンコメントして有効にします。
既定値は1280×720ですが、値を変更してお好きな解像度を指定できます。
6.再起動して設定を反映します。
$ sudo reboot
2.VNCサーバー側の設定
ラズパイのVNCサーバーにnoVNC用の設定を行います。
7.ラズパイのメニューバーの右上、VNCアイコンを右クリックして「Options」を選択します。
8.Security(左メニュー) から、Authentication(右メニュー 2段目)を「VNC password」に変更します。
9.VNC認証用のパスワードを新しく聞かれますので入力します。
10.Expert(左メニュー)をクリック、Filter:に「ProtocolVersion」を入力して検索。
値に「6.0」をセットします。
先の≪参考資料≫では、『既定値の「5.0」ではnoVNCが動きませんが、「4.1」なら問題無いようです。』と書かれています。私の環境では「6.0」で動作しました。
11.同じく、Filter:に「RemapKeys」を入力して検索。
値に「ja-jp」をセットします。
これで日本語キーボードで正しく入力できるかと思います。
3.noVNCのインストール
12.noVNCをインストールします。
いつも通りのおまじないをしてから、novnc を install します。
$ sudo apt update
$ sudo apt -y upgrade
$ sudo apt install -y novnc
4.launch.shの実行と確認
13./usr/share/novnc/utilsにインストールされた、launch.shを実行します。
$ /usr/share/novnc/utils/launch.sh
14.他のPCから接続確認します。
WindowsのWebブラウザから、表示されたURLにアクセスします。
http://ラズパイIP:6080/vnc.html?host=ラズパイIP&port=6080
※ デフォルトのままなら、引数なしでも接続できました。
http://ラズパイIP:6080/vnc.html
※ ちなみに、6080 ポートは、nftables の設定で開けておいてください。
254.ラズパイ無双[3.セキュリティ]#4.使わないポートを閉じる
15.パスワードを入力して「Connect」ボタンをクリックします。
5.launch.shの自動起動設定
自動でlaunch.shを起動したい場合、systemdの設定を変更します。
16.novnc.serviceファイルを作成します。
xxx というユーザーで作成していると仮定します。
※ Windows上で作成した novnc.service ファイルを、/home/xxx/scripts にコピーでも構いません。
$ sudo nano /home/xxx/scripts/novnc.service
[Unit]
Description=noVNC service
After=vncserver-x11-serviced.service
[Service]
ExecStart=/usr/share/novnc/utils/launch.sh
Restart=always
Type=simple
User=xxx
Group=xxx
[Install]
WantedBy=multi-user.target
17.systemd 設定フォルダにコピーします。
$ sudo cp /home/xxx/scripts/novnc.service /etc/systemd/system/
18.systemdに設定変更を反映します。
$ sudo systemctl daemon-reload
19.systemdを使ってサービスを起動/停止する
$ sudo systemctl start novnc
$ sudo systemctl stop novnc
20.自動起動を設定/停止する
$ sudo systemctl enable novnc
$ sudo systemctl disable novnc
ほな、さいなら
======= <<注釈>>=======
※1 P子「VNCクライアントをインストールできないケースもあるもんね」
P子とは、私があこがれているツンデレPythonの仮想女性の心の声です。