ホーム » コンピュータ
「コンピュータ」カテゴリーアーカイブ
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 秒に変更。
Raspbian を bullseyeからbookwormへ
新しい bookworm の sources.list を追加して、sudo apt dist-upgrade する。まずは、一番パワーのある ARMv7 rev.4 の Pi について実行。
((( /etc/apt/sources.list.d/12-bookworm.txt ))) deb http://raspbian.raspberrypi.org/raspbian/ bookworm main contrib non-free rpi
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 自身が、日替わり時に何らかの処理を実行しているんだろうなぁ…
homebridgeも新サーバに移行
今まで、raspberry-pi で動かしていた、homebridge を 新サーバに移行させた。
機能の中には、webとhomebridgeの連携で、機能の中継でムダな処理があったけど、一体化してすっきり。
ただ、cec-client による HDMI を使った TV,CATVSTB などのON/OFF/入力切替 については、パソコンではできないので、cec-client 処理は raspberry-pi に依存したまま。
Ubuntu に gcalcli の最新 4.5.1
自分の Google Calendar のデータを表示する Script を動かしていたが、Ubuntu ベースの新しいサーバで動かない。
“gcalcli –noauth_local_webserver” で初期化しようとするが、コマンドラインに表示された URL をブラウザで開いてもエラーがでてしまう。確認すると、Ubuntu Desktop 24 でインストールされていたパッケージが 4.3.0 で古いみたい。
しかたがないので、gcalcli の apt パッケージを削除して、pip でインストール。
$ sudo apt purge gcalcli $ pip install gcalcli
ただ、 .bashrc に “$HOME/.local/bin” の PATH が通っていない。PATH の追加と、自作 script の gcalcli 呼び出し部分の PATH を書き換え。