背景
やんごとなき事情1で職場のRaspberryPiをリモート&GUIで操作する必要があり、raspi-configのVNCをONするだけ楽ちん!と思ったのですが、社内の情報を収集していると商用利用NGという情報が出てきました。
調査の結果わかった事実
RaspberryPiのVNCについて
bullseyeまではRealVNC。bookworm以降でGUIがWaylandの場合はWayVNCが有効とのこと。
Raspberry Pi Configuration tool
- WayVNC VNC server used instead of RealVNC when running on Wayland
自分の環境では、Raspberry Pi 5にRaspberry Pi Imagerを使ってRaspberry Pi OS(64bit)をインストールした後、VNCを有効化したらWayVNCでした。
$ ps aux | grep vnc
vnc 990 0.0 0.0 2480 1616 ? Ss 23:27 0:00 /bin/sh /usr/ sbin/wayvnc-run.sh
vnc 1012 0.1 0.5 260016 43760 ? Sl 23:27 0:00 wayvnc --deta ched --gpu --config /etc/wayvnc/config --socket /tmp/wayvnc/wayvncctl.sock
root 1140 0.1 0.2 33280 20864 ? Ss 23:27 0:00 python /usr/s bin/wayvnc-control.py
xxxx 1634 0.0 0.0 6400 2144 ttyAMA10 S+ 23:28 0:00 grep --color= auto vnc
ただし、RealVNCもインストールはされている模様。
$ vncserver --version
See https://www.realvnc.com for information on VNC.
To start an instance of VNC Server in Virtual Mode, run the following command:
vncserver-virtual
To start the VNC Server in Virtual Mode daemon, run the following command as
root:
/etc/vnc/vncservice start vncserver-virtuald
To start VNC Server in Service Mode, run the following command as root:
/etc/vnc/vncservice start vncserver-x11-serviced
To start VNC Server in User Mode, run the following command:
vncserver-x11
RealVNCの商用利用について
今まで完全に勘違いしていたのですが、RealVNCのフリー版は商用利用不可とのこと2。なので社内で見かけた商用利用NGというのは半分正解で、商用利用する場合は有償版の購入が必要というのが正確な表現でした。
規約違反しないための対応
もちろんRealVNCを購入すれば一番間違いがないのですが、ラズパイをゴニョゴニョ動かしている時点で予算に限りがあるわけで、意図せずRealVNCを使わず&明示的に別のVNCを使う方法を紹介します。
動作しているVNCのチェック
どのVNCが動作しているのかチェックします。
先程例示したpsコマンドでも良いですが、systemctlでチェックするほうが確実でしょう。
当方の環境では前述の通りwayvncが有効&実行されています。
$ systemctl status wayvnc
Loaded: loaded (/usr/lib/systemd/system/wayvnc.service; enabled; preset: e>
Active: active (running)
RealVNCはサービスがロードはされているけど、実行はされていない(inactive)模様。
$ systemctl status vncserver-x11-serviced
○ vncserver-x11-serviced.service - VNC Server in Service Mode daemon
Loaded: loaded (/usr/lib/systemd/system/vncserver-x11-serviced.service; di>
Active: inactive (dead)
RealVNCの停止・アンインストール
間違って動作させて規約違反にならないように停止・アンインストールします。
サービスを停止・無効化。
sudo systemctl disable vncserver-x11-serviced
sudo systemctl stop vncserver-x11-serviced
アンインストール。
sudo apt purge realvnc-vnc-server
sudo apt autoremove
which vncserver
wayvncが動作していない場合
まずは、設定ツールでONさせる。
raspi-config
それでも実行できない場合は手動でONさせる方法もアリかと思います(未確認)。
sudo systemctl enable wayvnc
sudo systemctl start wayvnc
wayvncがインストールされていない場合
wayvncはwaylandなど他の環境とも依存しているので、他のVNCサービスを使ったほうが良さそうです。
まとめ
- RaspberryPiでデフォルトでインストールされているVNCサーバーには2種類ある
- 自分でインストールするわけではなく、クライアント側は互換性があるので複数種類ある事自体に気づきにくい
- RealVNCは商用利用の場合有償ライセンス
- ライセンスの確認は大事
-
個人的には「今すぐ社員ども全てにCUIの知識を授けたい」ものだが。。。 ↩
-
LITEは非商用。ESSENTIALSが個人商用。PLUSは小規模商用。PREMIUMおよびENTERPRISEが大規模事業者用。 ↩