我编写了一个 POSIX shell 脚本来提醒我使用 notify-send 和 cronjob 的电池寿命,但是我遇到了 DBUS 问题
这是脚本的样子
#!/bin/sh
percent=`upower -i /org/freedesktop/UPower/devices/battery_BAT0 | grep percentage:
notify-send "battery life" "$percent"
它按预期工作,并在调用时弹出此通知。
我写了这个脚本是因为我的窗口管理器 i3 缺少电池状态通知系统,所以我发现自己的笔记本电脑电池没电了,即使我就在家里的插座旁边。
当然; 拥有这样的脚本是没有意义的,除非它会自动弹出,所以经过一番摆弄之后,我设置了一个每 10 分钟运行一次脚本的 Cron 作业。
这是 cron-tab 的样子:
*/10 * * * * export DISPLAY=:0 ; export DBUS_SESSION_BUS_ADDRESS=a; batterystatus.sh
它可以工作,除了没有关于 DBUS_SESSION_BUS_ADDRESS 东西的小片段,由于某种原因notify-status
不起作用。
所以,一切都很酷,直到我重新启动并发现 cron-tab: 中使用的这个值unix:abstract=/tmp/dbus-FOSTebXqX5,guid=a7ad198d91d224b8c056efc6615a3610
在启动时发生了变化。
这意味着我每次启动计算机时都必须更改 cron-job,以便脚本能够正常工作。
有没有办法解决?