0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi 2 + Pi OS Trixie (labwc/Wayland) で Chromium キオスク端末を作る

0
Posted at

はじめに

余っていた Raspberry Pi 2 Model B を使って、Uptime Kuma の公開ステータスページ (HTTP) を表示するキオスク端末として再利用した手順を記録します。

環境

  • ハードウェア: Raspberry Pi 2 Model B Rev 1.1
    • CPU: armv7l (32bit)
    • メモリ: 1GB
  • OS: Raspbian GNU/Linux 13 (trixie) 32bit
    • カーネル: 6.12.47+rpt-rpi-v7
    • デスクトップセッション: rpd-labwc (Wayland)
  • Chromium: 147.0.7727.101 (armhf 版、パッケージ 1:147.0.7727.101-1~deb13u1+rpt1)
  • モニタ: HDMI 1366x768
  • 表示対象: Uptime Kuma 1.x のステータスページ (HTTP)

手順

1. Chromium のインストール

sudo apt update
sudo apt install -y chromium

Trixie ではパッケージ名は chromium です (chromium-browser ではありません)。

2. 自動ログインを有効化

sudo raspi-config

1 System OptionsS5 Boot / Auto LoginB4 Desktop Autologin を選択します。

この設定により、/etc/lightdm/lightdm.conf に以下が書き込まれます。

user-session=rpd-labwc
autologin-user=pi
autologin-session=rpd-labwc

3. 画面ブランクを無効化

sudo raspi-config

2 Display OptionsD2 Screen BlankingDisable を選択します。

4. キオスク起動スクリプトの作成

mkdir -p ~/kiosk
cat > ~/kiosk/start-kiosk.sh <<'EOF'
#!/bin/bash

if [ -z "$WAYLAND_DISPLAY" ]; then
  exit 0
fi

sleep 5

exec chromium \
  --password-store=basic \
  --force-device-scale-factor=0.8 \
  --kiosk \
  --incognito \
  'http://uptime-kuma.example.jp/status/homelab'
EOF
chmod +x ~/kiosk/start-kiosk.sh

表示したい URL は各自の環境に合わせて書き換えてください。

起動オプションの意味:

オプション 意味
--password-store=basic gnome-keyring を使わない。自動ログイン環境では keyring の解除パスワードが取れず毎回ダイアログが出るのを回避
--force-device-scale-factor=0.8 UI スケールを 80% に縮小。HD モニタに Uptime Kuma のステータス項目を全部収めるため。収まらない場合は 0.750.7 に調整
--kiosk フルスクリーンかつツールバーなしで起動
--incognito シークレットモード。履歴・Cookie・HSTS を保存しない

スクリプト先頭の if [ -z "$WAYLAND_DISPLAY" ] は、SSH からの誤実行を防ぐためのガードです。sleep 5 はパネル等のデスクトップ構成要素が立ち上がるのを待つためです。

5. labwc の autostart に登録

mkdir -p ~/.config/labwc
cat > ~/.config/labwc/autostart <<'EOF'
/home/pi/kiosk/start-kiosk.sh &
EOF

labwc はログイン時に ~/.config/labwc/autostart をシェルスクリプトとして実行します。Pi OS の rpd-labwc セッションでは、ここに書いた内容はシステム側 /etc/xdg/labwc/autostart (パネルやファイラを起動している) と 併せて 実行されます。パネル等の起動コマンドを書き写す必要はありません。

6. 再起動

sudo reboot

モニタにステータスページがフルスクリーンで表示されれば完成です。

動作確認

Chromium が意図したオプションで起動しているか確認します。

ps -eo args | grep 'password-store' | grep -v grep | head -1

ハマりどころ

keyring のパスワードダイアログが出る

起動時に Unlock login keyringChoose password for new keyring というダイアログが出る場合、gnome-keyring が Chromium のパスワード保存領域へのアクセス時に解除 (または新規作成) のパスワードを要求していることが原因です。

自動ログイン環境ではユーザーパスワードが入力されないため、keyring を自動解除できません。--password-store=basic を指定することで Chromium が gnome-keyring を使わなくなり、このダイアログが出なくなります。

画面下部が見切れる

HD (1366x768) に Uptime Kuma のステータス項目を全部収めようとすると下部が見切れることがあります。--force-device-scale-factor=0.8 を指定すると UI が縮小されて収まります。ステータスページに項目が多い場合は 0.750.7 など、さらに小さな値が必要になるかもしれません。

残っている課題

  • 表示対象が HTTP のため、本来は Uptime Kuma の前段 (Traefik 等) で TLS 化するほうが望ましいです。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?