Raspberry Pi OS Bookwormで画面が自動でブランクにならない問題と解決法(Wayland vs X11)
💡 背景
Raspberry Pi OS(Bookworm)を使っていて、「一定時間放置しても画面がブランク(ブラックアウト)にならない」問題に直面しました。
私はChatGPTに相談しながら解決しました。
以前の Bullseye では xset
で設定できていたのに、Bookwormにしてから全く効かない…。
とChatGPTは申しております。
この記事はほとんどChatGPTに書いてもらっています。
執筆時点で情報なので将来にわたって同じ現象とは限らないのですが、困っている人がいたら参考にしてください。
👀 症状
-
xset s on
やxset s 300
を実行しても画面が暗くならない -
xset +dpms
を実行するとserver does not have DPMS Extension
というエラー -
echo $XDG_SESSION_TYPE
の出力がwayland
🧠 原因
Raspberry Pi OS Bookworm から、Wayland がデフォルトのディスプレイサーバになりました。
Wayland 環境では、従来の xset
や xrandr
による画面制御が無効 or 非対応となっており、これが原因です。
✅ 解決方法:X11(Legacy)に切り替える
1. raspi-config
から X11 に切り替える
sudo raspi-config
Advanced Options
Wayland / Legacy X11
- Legacy X11 を選択
- 再起動
2. セッションの確認
echo $XDG_SESSION_TYPE
x11
と表示されればOK。
✅ X11 環境で画面ブランクを有効にする
xset s on # スクリーンセーバーを有効に
xset +dpms # ディスプレイ省電力を有効に
xset s 300 # 300秒(5分)でブランク
✅ 自動で設定を反映させる
方法1:~/.xprofile
に追加
xset s on
xset +dpms
xset s 300
方法2:/etc/xdg/lxsession/LXDE-pi/autostart
に追加(システム全体)
@xset s on
@xset +dpms
@xset s 300
💥 ハマりポイント
-
raspi-config
の切り替えが「Display Options」ではなく「Advanced Options」にある -
xset
が使えない理由が Wayland と気づきにくい - ターミナルで
^[OQ
が勝手に入力される → 原因は「別のUSBキーボードが押しっぱなし」だった
✅ まとめ
状況 | 対応 |
---|---|
Raspberry Pi OS Bookworm | デフォルトは Wayland |
xset が効かない |
Waylandでは非対応 |
raspi-config で切替可能 |
Advanced Options > Wayland/Legacy X11 |
X11にすれば画面ブランク設定が可能 |
xset で制御できるようになる |
📝 環境情報
- Raspberry Pi OS Bookworm(2023年10月リリース)
- Raspberry Pi 3B+
- 複数USBキーボード接続 → 不具合の原因に