はじめに
余っていた 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 Options → S5 Boot / Auto Login → B4 Desktop Autologin を選択します。
この設定により、/etc/lightdm/lightdm.conf に以下が書き込まれます。
user-session=rpd-labwc
autologin-user=pi
autologin-session=rpd-labwc
3. 画面ブランクを無効化
sudo raspi-config
2 Display Options → D2 Screen Blanking → Disable を選択します。
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.75 や 0.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 keyring や Choose 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.75 や 0.7 など、さらに小さな値が必要になるかもしれません。
残っている課題
- 表示対象が HTTP のため、本来は Uptime Kuma の前段 (Traefik 等) で TLS 化するほうが望ましいです。