使用 UPS 電池執行電腦時設置 NUT 電源故障通知
問題描述
我有UPS Orvaldi KC2000(其容量:2000VA/1400W),我想將我的Debian 10(目前正在測試的Buster)的配置設置為:
- 當出現電源故障並且我的電腦使用 UPS 電池執行時獲得 GUI(最好是 GNOME)通知(要知道我幾乎沒有時間保存工作和關閉系統),
- 當我的 UPS 電池電量嚴重不足時自動關閉電腦。
我希望使用NUT(網路 UPS 工具)可以輕鬆實現這一點,但事實證明,沒有明顯的方法可以滿足第一個要求——即獲取 GUI(最好是 GNOME)通知。
我做了什麼來解決問題?
$$ among others $$
nut-server
和nut-client
) 我通過編輯位於/etc/nut
目錄中的文件來配置它。root@host:~# ls /etc/nut nut.conf ups.conf upsd.conf upsd.users upsmon.conf upssched.conf
具體來說:
/etc/nut/upsd.users
:[upsmon] # name of my UPS password = my_UPS_password actions = SET instcmds = ALL upsmon master
/etc/nut/nut.conf
:MODE=standalone
/etc/nut/ups.conf
:maxretry = 3 [myups] driver = blazer_usb port = auto
/etc/nut/upsmon.conf
:MONITOR myups@localhost 1 upsmon my_UPS_password master MINSUPPLIES 1 SHUTDOWNCMD "/sbin/shutdown -h +0" POLLFREQ 5 POLLFREQALERT 5 HOSTSYNC 15 DEADTIME 15 POWERDOWNFLAG /etc/killpower RBWARNTIME 43200 NOCOMMWARNTIME 300 FINALDELAY 5
- 其余文件 (
/etc/nut/upsd.conf
,/etc/nut/upssched.conf
) 具有預設內容 -/etc/nut/upsd.conf
為空且/etc/nut/upssched.conf
只有一行:CMDSCRIPT /bin/upssched-cmd
.(我跳過了上面列表中的評論部分。)
編輯上述配置文件後,我需要執行
systemctl restart nut-*
.*
可能有點矯枉過正,但我不記得哪些服務需要重新啟動-nut-client.service
、nut-driver.service
或.nut-monitor.service``nut-server.service
我還安裝了
nut-monitor
which (quote):提供 nut-monitor,一個用於監控 UPS 狀態的 GUI 應用程序。我希望它nut-monitor
有一些功能可以在 UPS 電池電量低時彈出警告視窗,或者有某種方法可以配置 GNOME 以顯示 UPS 的狀態,但不幸的是我沒有找到任何方法來做到這一點。為了模擬電源故障,我使用了 2 個命令:
upsdrvctl -t shutdown
和upsmon -c fsd
(關閉電腦)。最近我發現有
nut-hal-drivers
提供 GUI 通知的包,但是:
- 我在 Debian 儲存庫中找不到這個包。
nut-hal-drivers
包顯然不適用於包upsmon
並由包upsd
提供nut
。問題
**我的問題:**如果出現電源故障並且我的電腦正在使用 UPS 的電池,我如何設置我的系統配置以彈出某種警告(最好是給定桌面環境的本機彈出消息)?
這可能是以下內容的部分副本:當 NUT 報告 UPS 電池電量不足時執行各種 shell 命令
棘手的部分是在桌面上顯示通知,Google搜尋了一下,我發現http://rogerprice.org/NUT/ConfigExamples.A5.pdf,第 71 頁它描述了一些腳本如何做到這一點。