问题描述
我想要一个通过终端检查电池状态的命令
最佳解决办法
以下命令输出有关电池的许多状态和统计信息。 /org/...
路径可以通过命令upower -e
(--enumerate
)找到。
upower -i /org/freedesktop/UPower/devices/battery_BAT0
示例输出:
native-path: /sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0
vendor: NOTEBOOK
model: BAT
serial: 0001
power supply: yes
updated: Thu Feb 9 18:42:15 2012 (1 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: charging
energy: 22.3998 Wh
energy-empty: 0 Wh
energy-full: 52.6473 Wh
energy-full-design: 62.16 Wh
energy-rate: 31.6905 W
voltage: 12.191 V
time to full: 57.3 minutes
percentage: 42.5469%
capacity: 84.6964%
technology: lithium-ion
History (charge):
1328809335 42.547 charging
1328809305 42.020 charging
1328809275 41.472 charging
1328809245 41.008 charging
History (rate):
1328809335 31.691 charging
1328809305 32.323 charging
1328809275 33.133 charging
您可以使用像grep这样的工具从所有输出中获取所需的信息。
一个简单的方法:将上述命令输入
grep -E "state|to\ full|percentage"
输出:
state: charging
time to full: 57.3 minutes
percentage: 42.5469%
如果您经常喜欢运行该命令,那么您可以为整个命令创建一个Bash别名。例:
alias bat='upower -i /org/freedesktop/UPower/devices/battery_BAT0| grep -E "state|to\ full|percentage"'
将其添加到.bashrc文件的末尾,并且可以随时在终端中键入’bat’。
还有一个upower -d
(--dump
)命令,显示所有可用电源的信息,例如笔记本电脑电池,外部鼠标等。
次佳解决办法
一个友好的提醒:因为使用/proc
存储ACPI信息的Linux内核2.6.24已被劝阻并被弃用。
现在我们鼓励使用 – > /sys/class/power_supply/BAT0
。
更新:从Linux 3.19开始,我们应该看看以下目录 – > /sys/class/power_supply/BAT1/
例如容量 – > cat /sys/class/power_supply/BAT1/capacity
状态 – > cat /sys/class/power_supply/BAT1/status
第三种解决办法
首先运行这个命令安装acpi
,
sudo apt-get install acpi
然后运行:
acpi
示例输出:
Battery 0: Discharging, 61%, 01:10:12 remaining
或者对于不断更新的更详细的输出:
watch --interval=5 acpi -V
输出:
Every 5.0s: acpi -V Wed Jan 8 15:45:35 2014
Battery 0: Full, 100%
Adapter 0: on-line
Thermal 0: ok, 44.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 127.0 degrees C
Thermal 0: trip point 1 switches to mode hot at temperature 127.0 degrees C
Cooling 0: intel_powerclamp no state information available
Cooling 1: pkg-temp-0 no state information available
Cooling 2: LCD 100 of 100
Cooling 3: LCD 100 of 100
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10
Cooling 6: Processor 0 of 10
Cooling 7: Processor 0 of 10
Cooling 8: Processor 0 of 10
Cooling 9: Processor 0 of 10
Cooling 10: Processor 0 of 10
Cooling 11: Processor 0 of 10
第四种办法
感谢@Wilf这可以在我的Ubuntu 17.10上使用联想瑜伽720:
upower -i $(upower -e | grep '/battery') | grep --color=never -E "state|to\ full|to\ empty|percentage"
输出:
state: fully-charged
percentage: 100%
或者只是这个班轮的数值
upower -i $(upower -e | grep '/battery') | grep --color=never -E percentage|xargs|cut -d' ' -f2|sed s/%//
第五种办法
输入命令就足够了
acpi
有关您可以键入的详细信息
acpi -V
我以前不必安装任何软件包。
系统:Debian 7.2 64bit
第六种办法
也许你可以尝试:
cat /proc/acpi/battery/BAT0/state
cat /proc/acpi/battery/BAT0/info
第七种办法
Here是一个包装上的文章,可以在命令行检查您的电池寿命。
基本上,你所要做的就是:
sudo apt-get install acpi
acpi -V
第八种办法
我对派对有点迟,但这是我的小小贡献。根据以前的答案,我做了一个简单的脚本batpower:
#!/bin/bash
# Description: Battery charge in percentage
grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
执行这个(./batpower)的输出将会是这样的:
POWER_SUPPLY_CAPACITY=23
注: :对于你来说,这个数字可能会有所不同,在我的情况下,它是BAT1,但是你可以通过cd到/sys /class /power_supply找到它,或者通过upower -e提到的Lekensteyn
我的机器:Ubuntu 13.10,3.11.0
如果您的旧版本Ubuntu即13.04或更高版本,则将上述bash代码中的BAT1替换为BAT0。
改进的脚本:自从我原来的文章以来,我对脚本做了一些小改进:
#!/bin/bash
# Description: Battery charge in percentage
if [ -f /sys/class/power_supply/BAT1/uevent ]
then grep POWER_SUPPLY_CAPACITY /sys/class/power_supply/BAT1/uevent
else echo "Battery isn't present"
fi
一如既往,注意带有bash的空间。这完全是自我解释。如果电池存在,它会显示,如果没有 – 脚本会告诉你。现在,转到您的.bashrc文件并在提示中添加$(batpower)。这里是我的Promt:
PS1='[$(batpower)]\n${debian_chroot:+($debian_chroot)}[*\u@Ubuntu*]:\w\$ '
更新您的终端或打开新标签页或窗口,现在您可以在终端不断监控电池电量!包括tty!可以赞美脚本!
第九种办法
在终端中运行以下命令以获取详细信息:
cat /proc/acpi/battery/BAT0/info
如果你只想要这个状态:
cat /proc/acpi/battery/BAT0/state
第十种办法
你可以在不安装任何额外的软件包
$ echo $((100*$(sed -n "s/remaining capacity: *\(.*\) m[AW]h/\1/p" /proc/acpi/battery/BAT0/state)/$(sed -n "s/last full capacity: *\(.*\) m[AW]h/\1/p" /proc/acpi/battery/BAT0/info)))%
94%
该命令从byobu’s source中解除。它可能是我如何创建一个永久的Bash别名?的一个很好的候选人。
参考资料