这是一个小脚本,用于检查电池电量并调用自定义命令,此处为pm-hibernate,以防电池电量低于某个阈值.

#!/bin/sh

###########################################################################

#

# Usage: system-low-battery

#

# Checks if the battery level is low. If “low_threshold” is exceeded

# a system notification is displayed, if “critical_threshold” is exceeded

# a popup window is displayed as well. If “OK” is pressed, the system

# shuts down after “timeout” seconds. If “Cancel” is pressed the script

# does nothing.

#

# This script is supposed to be called from a cron job.

#

###########################################################################

# This is required because the script is invoked by cron. Dbus information

# is stored in a file by the following script when a user logs in. Connect

# it to your autostart mechanism of choice.

#

# #!/bin/sh

# touch $HOME/.dbus/Xdbus

# chmod 600 $HOME/.dbus/Xdbus

# env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.dbus/Xdbus

# echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.dbus/Xdbus

# exit 0

#

if [ -r ~/.dbus/Xdbus ]; then

. ~/.dbus/Xdbus

fi

low_threshold=10

critical_threshold=4

timeout=59

shutdown_cmd='/usr/sbin/pm-hibernate'

level=$(cat /sys/devices/platform/smapi/BAT0/remaining_percent)

state=$(cat /sys/devices/platform/smapi/BAT0/state)

if [ x"$state" != x'discharging' ]; then

exit 0

fi

do_shutdown() {

sleep $timeout && kill $zenity_pid 2>/dev/null

if [ x"$state" != x'discharging' ]; then

exit 0

else

$shutdown_cmd

fi

}

if [ "$level" -gt $critical_threshold ] && [ "$level" -lt $low_threshold ]; then

notify-send "Battery level is low: $level%"

fi

if [ "$level" -lt $critical_threshold ]; then

notify-send -u critical -t 20000 "Battery level is low: $level%" \n 'The system is going to shut down in 1 minute.'

DISPLAY=:0 zenity --question --ok-label 'OK' --cancel-label 'Cancel' \n --text "Battery level is low: $level%.

The system is going to shut down in 1 minute." &

zenity_pid=$!

do_shutdown &

shutdown_pid=$!

trap 'kill $shutdown_pid' 1

if ! wait $zenity_pid; then

kill $shutdown_pid 2>/dev/null

fi

fi

exit 0

这是一个非常简单的脚本,但我认为您可以理解并轻松地根据您的需求进行调整.系统上的电池电量路径可能不同.稍微便携可能会使用像acpi一样的东西cut -f2 -d,以获得电池电量. cron可以安排此脚本每分钟运行一次.使用crontab -e编辑crontab并添加脚本:

*/1 * * * * /home/me/usr/bin/low-battery-shutdown

另一种解决方案是安装像Gnome或Xfce这样的桌面环境(并将窗口管理器更改为i3).两个提到的destop环境都有电源管理守护进程,它们负责关闭计算机电源.但我认为你故意不使用它们并且正在寻求更简约的解决方案.

linux如何设置低电量关机,ubuntu – 当笔记本电脑达到低电量阈值时,如何使笔记本电脑进入睡眠状态?...相关推荐

  1. 计算机进入低能耗休眠状态,电脑的睡眠状态是什么意思,使计算机进入睡眠状态是什么意思...

    使计算机进入睡眠状态是什么意思 电脑2113睡眠状态是电脑处于待机状态下5261的一种模式,可以节约电源,相对来4102说就是很"环保",可1653以省去繁琐的开机过程,增加电脑使 ...

  2. linux如何设置mac快捷键,在Ubuntu上使用macOS的快捷键

    因为常用机一台Mac,一台Linux,都频繁使用,两个系统不同的快捷键已经让人精神分裂了! macOS几乎所有的快捷键都基于command键,全选(cmd+a).复制(cmd+c).粘贴(cmd+v) ...

  3. win10使计算机进入睡眠状态什么意思,win10如何进入睡眠模式 电脑睡眠模式设置教程...

    win10系统如何快速进入睡眠模式?如何设置自动进入睡眠模式?大家对系统睡眠模式都比较熟悉了,如果有事情离开电脑,可以将电脑设置成睡眠状态,节省电源.但想要进入休眠的话往往需要通过繁琐的设置,在win ...

  4. win10使计算机进入睡眠状态什么意思,技巧:如何在win10中进入睡眠模式计算机睡眠模式设置教程...

    如何在Win10系统中快速进入睡眠模式?如何设置为自动进入睡眠模式?每个人都熟悉系统睡眠模式.如果计算机掉了东西,您可以将计算机设置为睡眠以节省电量.但是,如果您想进入休眠状态,则通常需要进行繁琐的设 ...

  5. hp 笔记本 linux 系统 bios 功能不能用,Ubuntu 17.10 Respin ISO发布下载,解决某些笔记本电脑BIOS问题...

    正如上周承诺的那样,Canonical今天发布了Ubuntu 17.10(Artful Aardvark)操作系统的新ISO映像,包括所有官方版本,以解决某些笔记本电脑的BIOS问题. 上个月,一些用 ...

  6. linux ssh 设置的相关总结(ssh最大连接数、ssh连接时长、安全性配置等)

    以redhat6.3为例 ssh配置文件在: //ssh/sshd_config 可以打开查看相应配置,默认情况下只开放了几个选项,其余全部#屏蔽掉了. 英文手册参考:http://www.openb ...

  7. linux设置默认终端模拟器,ubuntu终端默认设置_在Ubuntu Linux上设置默认终端模拟器...

    ubuntu终端默认设置_在Ubuntu Linux上设置默认终端模拟器 ubuntu终端默认设置_在Ubuntu Linux上设置默认终端模拟器 ubuntu终端默认设置 Ubuntu has a ...

  8. 怎么设置电脑定时关机?(教程方法)

    有两种方法可以设置电脑的定时关机: 第一种方法: 1.按住电脑快捷键"Win+R",然后打开"运行"窗口, 2.在运行命令框中输入"at 22:00 ...

  9. 在计算机睡眠时主机关闭,电脑为什么睡眠后就关机怎么办

    1. 电脑睡眠后再次启动时就关机怎么办 桌面-属性-屏幕保护程序 在下方有个"在按下计算机睡眠按钮时",你选中"待机". 补充: 再按下待机按钮啊. 补充: 你 ...

最新文章

  1. HCIE培训后的面试小诀窍
  2. 从0到上线一个完整Java项目,需要具备哪些技能?
  3. 实验一 DOS命令解释程序的编写
  4. webpack4搭建vue
  5. while下有scanner循环比对,直至输入满足条件终止循环,equals,韩梅梅do...while不断努力走向chengg
  6. 报表如何集成 echarts 官网示例图
  7. Facade门面模式
  8. java强制删文件夹_Java 删除文件夹 和 文件 集合
  9. Origin 数据渐变色
  10. webwell安全工具-BeEF
  11. ios13 微信提示音插件_ios13微信提示音如何进行更改
  12. PS 移动工具和复制
  13. C语言好学吗?C语言适合什么样的人群?
  14. 江南爱窗帘十大品牌 | 推荐3种简单的窗帘上色方法
  15. Ubuntu18.04 编译报错 `No package ‘orocos-bfl‘ found` 的解决方法
  16. A Game of Thrones(82)
  17. 软件测试 黑盒测试与白盒测试简单分类
  18. 国产嵌入式操作系统发展思考 | 何小庆
  19. 互联网日报 | 4月27日 星期二 | 美团回应被立案调查;滴滴开通老年人打车400热线;百度App月活跃用户数达5.58亿
  20. 三维FEM的刚度矩阵数量级

热门文章

  1. 彻底关闭360卫士精选弹窗的方法
  2. 水经微图CAD制图快速入门
  3. Problem:生日蛋糕
  4. joint绘制流程图
  5. 服务器设置 白名单
  6. MySQL高级篇01【字符集、SQL规范和sql_mode设置】
  7. 2020大学生网络安全知识总决赛 NISP一级模拟题(09)
  8. 监听设置黑名单限制客户端连接
  9. Vue计算属性(computed)和侦听器(watch)
  10. 用Python制作音乐播放器(上)