Ubuntu25とWaylandとgdm
先日、Ubuntu24から25にアップグレードを行ったけど、Muninのusersプラグインに、今までにないttyとOther users の出力が出るようになっている。
確認すると、gdm が 2つ 出力されている。不気味だし、Gemini に gdm に聞いてみたら、どうやら Ubuntu 25 の導入で X11 が Xorg から Wayland に切り替わって gdm セッションが login 情報として表示されるようになったらしい。
gdm seat0 2025-05-23 23:04 gdm tty1 2025-05-23 23:04 <<myid>> sshd pts/0 2025-05-22 19:36 (192.168.xx.xx)
Ubuntu 25.04 アップグレード
Ubuntuに Desktop で入ったら、Ubuntu 25.04 (Plucky Puffin)が出てるしアップグレードする?ってでたから、インストール。
ほとんど問題なく立ち上がると思ったけど、再起動後 apache2 が起動しない。php8.3 から php8.4 に移行されていたので、モジュールを追加インストール。トラブルと面倒そうなメール周りは、特に問題なし。
# apt install `dpkg -l | grep php8.3 | awk '{print $2}' | sed s/8.3/8.4/`
NFSが動かなくなってるな。”systemctl start nfs-kernel-server”で動き出した。systemctl enable nfs-kernel-server もやっとくか。
iPhone写真を icloudpd で同期
iPhoneの写真も大量になり、iCloud+ 200GB で保存しているけど、自分のサーバに保存したい。
Gemini に聞いたら、icloudpd を紹介してくれた。
((( インストール ))) $ pip install icloudpd : Successfully installed icloudpd-1.27.4 ((( 実行 ))) $ icloudpd --directory /data --username my@email.address --watch-with-interval 3600
うーむ、認証などの処理がうまくいかない。ひとまず、pip uninstall …
castnowでchromecastにwebページを表示させる
$ sudo npm install castnow -g
[Windows11] 24H2更新後「組織のセキュリティポリシーによって非認証のゲスト アクセスがブロックされている」
GWのお出かけでママがPC使う中、サーバ上のファイルを読もうとするけどトラブル…。
「組織のセキュリティポリシーによって非認証のゲスト….」といったメッセージで接続できない。Windows11 24H2 の更新が原因のようで、samba に SMB署名をつける設定が必要な様子。
下記の設定を加えればいいみたい。動作検証は帰ってからだな。
((( /etc/samba/smb.conf ))) client signing = mandatory server signing = mandatory
(追記)
もしかしたら、サーバ以降の中、samba にママアカウント登録がしてなかっただけ? (笑)
$ sudo pdbedit -a -u <<ユーザ名>>
homebridge-people-pro + inotify 検出処理
homebridge-people-pro による、WiFi ping を使った在宅確認をしていたが、その検出状態を Linux の inotify 機能で、様々な通知を行う処理を自作運用中。
しかし、最近、自宅にいる状態なのに外出検知をすることが発生中。WiFi で ping で調べる仕組みだけど、サーバの負荷を上げないように、ping 間隔は 約1分間隔で設定していた。ping に失敗することも多いようなので、 ping 間隔を 約30 秒に変更。
Ubuntu 24.04 LTS を 24.10 normal に更新
ただのメモ
自宅サーバを更新するにあたって、Ubuntu 24.04 LTS を入れたけど、以前の Debian では testing で運用していたし、Ubuntu も LTS より 新しくさせたい。
ということで、Ubuntu 24.04 LTS(Noble Numbat) から 24.10 normal(Oracular Oriole) に更新。
$ sudo apt install ubuntu-release-upgrader-core $ sudo vi /etc/update-manager/release-upgrades ((( 修正 ))) # /etc/update-manager/release-upgrades - Prompt=lts + Prompt=normal $ do-release-upgrade
inotify-tools ふむふむ
homebridge-people-pro で ping 相手の有無を検出できるが、これに合わせて通知をしたい。
shell script で実現しようと思うと、crontab で file-exist と思うけど、crontab の頻度と通知の遅れのトレードオフ。
でも、ファイルシステムイベント監視の inotify(7) を活用してくれる inotify-tools の中に、inotifywait / fsnotifywait というコマンドがあるのか。これなら、shell script で実現できそうだな。
sambaをWindowsのネットワークで表示
以前から、samba を運用しているけど、エクスプローラのネットワーク検索で、samba サーバが見えない。
なにげなく、Gemini に問い合わせをかけてみたら wsdd(Web Services on Devices (WSD) daemon) をインストールする方法を教えてくれた。あらためて、wsdd でググったら、wsdd2 ならインストールするだけとのことであった。ということで、”apt install wsdd2″ でインストール。今までなら、IPアドレス直打ちとかしていたけど、他の PC から簡単に見えるようになった。
switchbot API の排他処理とリトライ
自宅サーバを更新し、Switchbot の温度監視を munin でグラフ化、その結果を nagios4 で結果のモニタリングをしていたけど、新しいサーバで Unknown の状態が頻発している。旧サーバでの運用時より、発生回数が増えている。
排他処理とリトライの追加
Switchbot API での値の取得だけれど、muninでの値取得とnagios4での値取得の処理と重なるとデータ取得に失敗すると思われるので、flock コマンドで排他処理を追加。これである程度は Unknown が減ったが、それでも Unknown 発生する。
しかたがないので、Switchbot API で 成功ステータス100が取れなかった時は、1秒の間をあけて1度だけリトライするようにした。(当初は0.3秒 sleep にしたけど効果が薄かった) これにより Unknown はかなり減ったけど、まだ失敗することがある。しかしながら、Switchbot API の1日あたりの回数制限もあるし、何度もリトライさせるのはやめておこう。
#!/bin/bash . "/usr/local/etc/switchbot/token-v11.sh" function curl_status() { # flockで排他処理 /usr/bin/flock -x /tmp/switchbot-api.lock \ /usr/bin/curl -s --request GET \ -H "Content-Type: application/json" -H "Authorization: ${token}" \ -H "sign: ${sign}" -H "nonce: ${nonce}" -H "t: ${t}" \ "${url_list_v11_meter}" } function device_status() { url_list_v11_meter="${url_list_v11}/$1/status" JQ=/usr/bin/jq json=$(curl_status) state=$($JQ '.statusCode' <<< "$json" ) # 取得に失敗したら1度だけリトライ if [ "$state" != "100" ]; then # リトライ間隔(sleep 0.3 では効果が薄かった) sleep 1 json=$(curl_status) fi $JQ -r '. | (.statusCode|tostring) + " " + (.message|tostring)' <<< "$json" }
(追記) 0:00 頃に unknown
上記の改良後だけど、2日連続で 0:00 に unknown 状態になる。 Switchbot HUB 自身が、日替わり時に何らかの処理を実行しているんだろうなぁ…