今、話題の人工知能(AI)などで人気のPython。初心者に優しいとか言われていますが、全然優しくない! という事を、つらつら、愚痴っていきます

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の仮想女性の心の声です。

Comment(0)

コメント

コメントを投稿する