【问题标题】:If charger = unplugged, alert me. Command line script如果充电器 = 未插电,请提醒我。命令行脚本
【发布时间】:2018-10-25 07:26:52
【问题描述】:

我想发出某种警报,让我知道充电器何时断开(电缆无法很好地插入插座)。

我有这个来检测充电器的状态:

cat /sys/class/power_supply/ADP1/online

充电时返回 1,使用电池时返回 0。

这个请求弹出窗口:

zenity --info --text="Charger unplugged!"

我认为某种 if 语句可以完成这项工作,它必须每秒钟左右无限运行一次。

然后我想起了我在 Arduino 的日子,在那里你可以编写一个中断,这可以触发脚本运行,而不是一直运行它。

不确定实现这一目标的最佳方法是什么。有人知道吗?

非常感谢。

【问题讨论】:

  • This post 使用一个简单的循环来检查电池电量。您可以存储之前的充电状态,并在它变为拔出时通知。请记住添加一些延迟以避免过多的 CPU 使用。

标签: linux bash shell ubuntu command-line


【解决方案1】:

你可以创建一个服务,或者你可以用更简单和原始的方式来做:创建一个脚本来创建一个 fork,将它自己的 stdoutstderr 重定向到 /dev/null 并执行一个无限循环这将不断检查您的/sys/class/power_supply/ADP1/online 文件。当值为0 时,它将stdoutstderr 重定向到原始值,以显示提示。要使其成为自治脚本,您必须使用 crontab @reboot 执行它。

我认为在 CLI 中它应该可以工作,但我不知道它是否可以在图形桌面界面中工作

【讨论】:

  • 您好,感谢您的帮助!命令zenity --info --text="Charger unplugged!" 负责创建图形警报窗口,所以不确定我是否需要像你说的那样使用重定向stderr 的方法。您知道如何将上述两个命令弹出到 if 语句中吗?然后,我将查看 crontab 的计划执行。我试着把它变成一个 if 命令,但遇到了很多问题。
  • 你想在 shell script 中创建一个脚本?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-24
  • 1970-01-01
  • 1970-01-01
  • 2022-01-17
  • 1970-01-01
  • 2021-11-06
  • 1970-01-01
相关资源
最近更新 更多