RasPi 3でWayland

いやー,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では動かないというのは,それぞれの性質によるようです.

  1. Raspberry Pi OSの標準desktop manager. ↩︎

ブラウザのベンチマーク (2)

バッテリー駆動 & ファンレスの自然空冷(手前のMacBook Air M4)で,SpeedoMeter 3.1でこれだけのスコアが出ることをApple Siliconを使ってない方々はご存じない.奥は強制空冷のM4 Mac mini.

以前,手持ちのいろんなPCの環境でSpeedoMeter3.1によるベンチマークを測定しました.

今回Raspberry Pi 4 Model B RAM 8GBにRaspberry Pi OS 13.4 (Trixie)を走らせてFirefoxで測定しました.スコアは0.668で最低新記録を更新しました.

Raspberry Pi 4 Model B RAM 8GB Raspberry Pi OS 13.4 Firefoxによるベンチマークスコア

M4 Mac miniでx86_64(AMD64)をエミュレートするより遅いとはなかなかです😓

比較表をupdateしました.

DescriptionSafariFirefoxChrome (Chromium)BraveOptionalComment
M4 Mac mini51.740.056.053.8
Macbook Air M450.639.256.353.7
M4 Mac mini w/Rosetta 249.916.60.785Intel binaryをRosetta 2で動かす.Chromeについては本文参照
Intel Mac mini (2018)19.913.719.918.9Core i7 6-core 3.2GHz
Lenove ノートPC17.818.0 (Edge)Core i7-10750H 2.60GHz
Manjaro Linux AMD6411.17.26 (Konqueror)Core i7-4790S 3.20GHz
Nixos Linux AMD649.7210.9 (Chromium)8.21 (GNOME Web)同上
Mac mini Late 20129.625.8710.69.55Core i7 quad-core 2.6GHz
Raspberry Pi 52.534.73 (Chromium)6.55Raspberry Pi OS 13.3 RAM 8GB
Raspberry Pi 4 Model B0.668Raspberry Pi OS 13.4 RAM 8GB

VLC RTSP視聴が不安定 (2)

しかし,それではシステム全体のセキュリティー上の問題が残ります.そこでGeminiに相談して,VLC関係パッケージのみupdate/upgradeしないようにしました.

dpkg -l | grep vlc

とすると,筆者のシステムでは16のパッケージがあることがわかります.そこで,

apt-mark hold $(dpkg -l | grep vlc | awk '{print $2}')

とする1ことで,以後のupdate/upgradeでholdされた16パッケージは除外されます.

実際にこの状態で最新の13.4にupdate/upgradeして一晩経ちますがVLCは安定してReal Time Streaming Protocol (RTSP) 画像の再生を続けています.

  1. 筆者はSlackware流儀にのっとりroot権限でシステムのメンテをしています. ↩︎

Dovecot 2.4

リモートで管理しているDebianのサーバーですが,まだDebian Bookworm (12)で動かしています.そろそろTrixie (13)にupgradeするように圧力がかかりそうなので,クローニングした仮想マシンでupgradeの予行演習をしました.

まずは,apt update && apt dist-upgrade1でBookwormの最終形にupgradeします.これは全く問題なし.

次に,/etc/apt/sources.list内のbookwormをtrixieに書き換えて,apt update && apt dist-upgradeをしたところ,dovecotの再起動に失敗してupgrade自体が途中で終わってしまいました.

dovecotの設定ファイルの問題のようです.こういうときのために,仮想マシンでsnapshotを撮りながら作業していますのでbookwormの最終形に巻き戻してやり直しです.

とりあえずは,

systemctl stop dovecot
systemctl disable dovecot

としてから,再度trixieへのupgradeを試みたら成功しました.

あとはdovecotの問題の解決です.Debian (Raspberry Pi OSも)では,Bookwormにはdovecot 2.3.xが,Trixieには 2.4.xが付いてきます.2.3.xから2.4.xで設定ファイルに見直しがあったようです.

エラーは/etc/dovecot/conf.d/10-mail.conf内の,

mail_location = mbox:~/.mailbox:INBOX=/var/mail/%u

で起こります.ユーザーのディレクトリーのmboxを “.” で始まるディレクトリーにして通常のlsでは見えないようにしたいのです.

GeminiとChatGPTに聞きましたが,遠回りをして解決にたどり着きません.かなり時間を浪費しました.

AIへの相談をやめて,自分の管理しているサーバーを調べたら答えがありました.

mail_path = %{home}/.mailbox
mail_inbox_path = /var/mail/%{user}

のように,dovecot 2.4.xでは2行で既述すれば良いのです.

  1. 筆者はSlackwareの「root権限になってからシステムのメンテをする」流儀のため,ログインしてsudo -iをしてroot権限を取得してから作業します.そのため,コマンドにいちいちsudoを付けません. ↩︎

A案は没

屋外の監視カメラを強化するにあたり,どうしても避けて通れないのが屋外にWi-Fiのルーター1を設置することです.

わが家は屋根は鋼板で外壁にも薄い鋼板が貼ってあり,薄い鋼板の雨戸を閉めるとほとんど屋内外で電波2の往き来ができません.

それで没になってから案を紹介するというものなんですが,ずいぶん昔に出張・旅行用にPlanex MZK-MF300Nという小型のWi-Fiルーターを買いそれなりに活用してきましたが,これを再度活用しようという案です.

この十数年はホテルに無料Wi-Fiが備えられているのが普通なので利用することはめっきり減りました.たまに実験的に利用するくらいでした.

Planex MZK-MF300N

今回の屋外Wi-Fiルーター設置ではこのルーターを防水のケースに入れて家の軒下に取り付けようと考えました.それがA案です.

しかし,昨日届いたPoEアダプター3を試そうとしてこのルーターに電源を入れましたが動作してくれません.2回リセットして初期設定からしましたが,だめでした.残念ながら廃棄することにします.

今日では,ホテルには無料Wi-Fiが普通にあることからこの手のルーターはほとんどありません.一番小さいものを買って,という手はなきにしもあらずですが,新品で試すほどのいい案だとは思えません😓 そこでこのA案は没です.

  1. Access Pointまたはブリッジ. ↩︎
  2. 特にUHF帯とそれより高い周波数帯. ↩︎
  3. InjectorとEjectorのセット. ↩︎