Google-code-prettify

2018/06/11

PortabookのPlamo LinuxでGNU Screenのhardstatusにバッテリー残量を表示する

PortabookのPlamo LinuxでGNU Screenのhardstatusにバッテリー残量を表示しました。


まず次のコマンドを実行します。

$ upower --enumerate
/org/freedesktop/UPower/devices/line_power_ADP1
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/DisplayDevice


upower --enumerateの実行結果のどれかが正解らしいです。
とりあえずupower -iの引数に指定してみます。

$ upower -i /org/freedesktop/UPower/devices/line_power_ADP1
native-path: ADP1
power supply: yes
updated: 2018年06月11日 20時19分05秒 (942 seconds ago)
has history: no
has statistics: no
line-power
warning-level: none
online: no
icon-name: 'ac-adapter-symbolic'

$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
native-path: BAT0
model: VIPER49
serial: 12345678
power supply: yes
updated: 2018年06月11日 20時35分05秒 (40 seconds ago)
has history: yes
has statistics: yes
battery
present: yes
rechargeable: yes
state: discharging
warning-level: none
energy: 15.8346 Wh
energy-empty: 0 Wh
energy-full: 18.0348 Wh
energy-full-design: 18.24 Wh
energy-rate: 4.0128 W
voltage: 4.031 V
time to empty: 3.9 hours
percentage: 88%
capacity: 98.875%
icon-name: 'battery-full-symbolic'
History (charge):
1528716905 88.000 discharging
History (rate):
1528716905 4.013 discharging

$ upower -i /org/freedesktop/UPower/devices/DisplayDevice
power supply: yes
updated: 2018年06月11日 20時39分05秒 (15 seconds ago)
has history: no
has statistics: no
battery
present: yes
state: discharging
warning-level: none
energy: 15.5458 Wh
energy-full: 18.0348 Wh
energy-rate: 4.0622 W
time to empty: 3.8 hours
percentage: 86%
icon-name: 'battery-full-symbolic'

/org/freedesktop/UPower/devices/battery_BAT0 か
/org/freedesktop/UPower/devices/DisplayDevice のどちらかが正解かと思いますが、より情報が取れている上の方を採用することにしました。
確証は持てませんが。


次のようなシェルスクリプトを作成してbattery percentageを取得します。

$ cat ‾/bin/battery_percentage
#!/bin/sh

upower -i /org/freedesktop/UPower/devices/battery_BAT0 ¥
| grep percentage ¥
| awk '{print $2}'

exit 0


.screenrcに次のように記述してhardstatusにバッテリー残量を取得します。

backtick 0 0 60 /home/hanaguro/bin/battery_percentage
hardstatus alwayslastline "Bat %0` | %c %m/%d | %w"


画像のようにhardstatusにバッテリー残量が表示されました。

0 件のコメント: