Chromium (Chrome の OSS版) を Raspberry Pi で Kiosk モード (全画面単一アプリケーションモード) で起動して、UI を作れると便利そうなのでやってみた。たとえば動画のように、3.2inch LCD 上のUIを Web 技術で完結させることができる。

Chromium を kiosk で自動起動する

raspi-config で起動モードを Desktop (autologin) に設定する。

sudo raspi-config

マウスカーソルを自動で消すやつをいれる。

$ sudo apt-get install unclutter

不正終了で残るファイルを reboot 時に消しておく。

$ crontab -e
@reboot rm -rf ~/.config/chromium/Singleton*

Raspberry Pi は Desktop の場合 LXDE が使われる。これの起動時に必要なものを自動起動するように設定する。

chromium-browser の引数は重要。とりあえずこのあたりを指定しておくと良い。

$ vi ~/.config/lxsession/LXDE-pi/autostart
#@lxpanel --profile LXDE-pi
#@pcmanfm --desktop --profile LXDE-pi
#@xscreensaver -no-splash
#@point-rpi

@xset s off
@xset -dpms
@xset s noblank
@unclutter
@chromium-browser --remote-debugging-port=9222 --no-default-browser-check --noerrdialogs --kiosk --incognito https://example.com

Chrome を remote-debugging

    • remote-debugging-port をつけているので remote debugging が有効なのだが、おそらくループバックインターフェイスしか受け付けてないのでLAN内の他のコンピュータからは直接アクセスできなかった。このため他のコンピュータから Raspberry Pi へログインするときにポートフォワードする。
ssh -L 9223:127.0.0.1:9222 pi@192.168.0.23 

これで、ログインしたコンピュータで http://localhost:9223/ するとデバッグコンソールを出せる (タブ一覧が出るので選択すれば良い)。JS が実行できるので、raspi 上で操作しなくとも特定 URL に移動したり、リロードしたりできる。もちろんエレメントインスペクタも使うことができる。

  1. トップ
  2. tech
  3. Raspberry Pi で Chromium を起動してリモート操作
▲ この日のエントリ