停電時にバッテリーの状態を更新するのには時間がかかりすぎる

停電時にバッテリーの状態を更新するのには時間がかかりすぎる

デスクトップ PC (Ubuntu 19.10) に USB 経由で UPS (Back-UPS ES 850M2) を接続しています。電源コードを外しても、上部バーのバッテリーは変化せず、変化してバッテリーの状態とパーセントが表示されるまで 2 ~ 5 分かかります。その後、電源コードを再度差し込むと、「バッテリーで動作しています...」という通知が表示されます。状況は同じで、すぐには変化しません...バッテリーには引き続きパーセントが表示され、数分間「放電中...」と表示されます。

設定では正しい % が表示されていますが、バッテリーのメニューでは常に「推定中...」と表示されます。

メニュー:

ここに画像の説明を入力してください

設定:

ここに画像の説明を入力してください

apcaccessとを使用してUPSのステータスを確認しますtail /var/log/apcupsd.events。電源コードを外すと、ログが即座に表示されます。

Power failure.
Running on UPS batteries.

再度接続するとすぐに表示されます:

Mains returned. No longer on UPS batteries.
Power is back. UPS running on mains.

apcaccess時間とステータスを正しく表示します。デスクトップがバッテリー ステータスを即座に変更しないのはなぜでしょうか。実際のバッテリー ステータスの更新に時間がかかり、まだ時間が残っていると思ってコンピューターの電源がオフになっているため、少しイライラします。何か提案はありますか。ご協力いただければ幸いです。

答え1

ついに解決策を見つけました。提案してくれた@WinEunuuchs2Unixに感謝します。

ここで説明されているように:

バッテリーステータスをより頻繁に更新するか、AC電源/ウェイク時に更新するかを選択します

すべての問題は upower にあります。UPower サービスは、バッテリー情報の更新/リフレッシュを呼び出します。

次に強制的に更新する必要があります。まずデバイス名を取得します。

upower -e

/org/freedesktop/UPower/デバイス/ups_hiddev0

バッチを作成します:

バッテリー更新を維持する.sh

#!/bin/bash
while sleep 2; do
   busctl call --system org.freedesktop.UPower /org/freedesktop/UPower/devices/ups_hiddev0 org.freedesktop.UPower.Device Refresh
done

起動スクリプトとして追加します。

スクリプトは2更新間隔を 1 秒に設定して構成します。必要に応じて変更してください。

関連情報