いやー,Gemini君のおかげで長年の問題が解決しました.
Raspberry Pi 3 Model B (RPi3)および同Model B+ (RPi3+)でATOM Cam 2の発するRTSPをモニターしてきました.ただこれがWaylandではうまくいかずXorgでやってきました.今回Geminiに聞きながらWaylandにしました.
これまでWaylandで問題になるのは,
- 起動時に自動起動できない
- 起動後に手動でVLCを起動しても,HDMIで接続しているデジタルテレビの電源をOFFにしてしばらくしてONにすると映像が来ない
の2点で,これは日常的に使うには致命傷に近いです.まずテレビをOFF/ONすると消えてしまう点について相談しました.
Geminiの回答を引用しますと,
- GUIでの設定:
メニュー>設定>Raspberry Piの設定>ディスプレイタブから「画面のブランク」を無効にします。 - 設定ファイルでの対応:
~/.config/wayfire.iniを開き、以下の項目を確認(または追記)してください。
[idle]
dpms_timeout = 0
screensaver_timeout = 0
とのことで,この通りにして解決しました.
こうなると自動起動も解決したいです.RPi3(+)を起動し,まだPIXEL1のデスクトップが表示される前にsshでつないでtopコマンドで状況を見ると,vlcが一瞬見えますが,実際には起動してくれません.
起動の.timerファイルのOnBootSecなりOnStartupSecの時間を3minとか5miniにしても,起動直後にvlcが見えて実際には動作してくれません.
これはひょっとして,RPi3(+)はReal Time Clock (RTC)がバッテリーでバックアップされていないから起動時は1970年1月1日0:00とかになるはずで,それからカウントしているのではないかと思い当たりました.
既に56年経っていれば3分も5分もとっくの昔で,XorgやWaylandが起動するのを待たずに即時起動されるわけです.
Geminiに聞くとまさにそのようで,systemd-time-wait-sync.serviceを起動して,vlcを起動するrun_vlc.serviceでは,
[Unit]
Description=My delayed service
# 時刻同期が完了するまで待つ
After=time-sync.target
Wants=time-sync.target
とするのが肝要とのことで,この既述をしてrun_vlc.timer内で,
[Timer]
OnBootSec=15sec
とすることでうまくいきました.
この辺については,Xorgでは動き,Waylandでは動かないというのは,それぞれの性質によるようです.
- Raspberry Pi OSの標準desktop manager. ↩︎


