いままで自分が分っていそうでも知らなかった情報のメモ。
Linux(主にDebianのCUI)でバッテリの状態を画面に表示させる方法をご報告です。
きっかけ:ThinkPad X40のDebian buster環境
ThinkPad X40にDebian(デスクトップ環境はLXDE)をインストールして、なんとなく検証(仮想環境ではできないハードウェア周りを絡めたLinuxの動作検証を主に担当する環境)用途としてアップグレードを続けています。
液晶のバックライト寿命により持ち出して使えるような環境ではないのですが、実際のハードウェア環境にLinuxをインストールする前の動作確認をするために利用している感じです。
きっかけとなったのは、バッテリをはじめとしてまだモバイルで使えるX31の存在。
以前考えていた<https://blog.treedown.net/entry/2018/02/28/010000>のLinuxモバイルPCを検討するにあたり、バッテリ駆動時間の制御や、使用中のバッテリ状態の確認はできるようになっておきたいと考えました。
そこで、このあたりのバッテリに関する情報収集のため、X40のDebian busterで確認してみることにしたのがきっかけです。
upowerコマンド⇒ない?
いままで、なんとなくどうやるんだろうと思いながら知らなかったのが、バッテリ情報の表示。
調べてみたらupowerコマンドを利用すると簡単にできそう。
しかし、
「-bash: upower: コマンドが見つかりません」と表示。入っていない?
試しに仮想環境で稼働させているMATEのDebian busterで試してみると、
ちゃんとコマンドは存在。環境によるのかな…。
ちなみに、ここでは表示されていませんが、MATEはGUIでも確認できるっぽい。
システムツールに、「電源使用率の統計」という情報画面を表示できるようでした。(どうやらupowerコマンドで収集する情報をGUI表示する画面らしい。)
ひとまずupowerコマンドを諦めて、別のコマンドで試してみることにしました。
acpiコマンド
次いで試したのが「acpi」コマンド。結果的にこのコマンドが欲していたバッテリ情報を提供してくれました。
「acpi -h」でオプションの一覧を表示させることができます。
「-b」でバッテリ情報と記載があります。これがまず欲しい情報の模様。
「-i」が(利用可能なら)追加の詳細(バッテリ容量情報/温度トリップポイント)を表示する。
「-a」オプションでACアダプタの情報を表示。
、と記載があります。
そして「-V」がすべての情報を表示してくれるよう。このオプションを覚えておくだけでもいいかもと思いました。※ちなみに小文字「-v」はバージョン情報の表示。
あと、「-t / -c / -f / -k」は温度情報に関わる情報なので今回は特に触れず。
実際にやってみる
実際に上から順に実行してみました。ユーザ権限で実行できるのでsudoは不要でした。
$ acpi -b
表示された情報は「Battery 0: Charging, 51%, 00:26:54 until charged」
バッテリ0番は充電中で、現在51%、あと26分で充電されます。と教えてくれています。
$ acpi -i
表示された情報は先ほどのメッセージに加えて「Battery 0: design capacity 1630 mAh, last full capacity 227 mAh = 13%」
バッテリ0番は設計容量1630mAhのうち、13%に該当する227mAhが全容量となっている、という情報が表示されています。寿命で劣化しているので、現在のバッテリの満充電容量が227mAhで元の設計容量(1630mAh)の13%しか利用できない状態ですよ、ということを教えてくれるオプションのようです。
$ acpi -V
全部表示されるオプションでは、いままで見たメッセージの他に、「-a」オプションで表示される「Adapter 0: on-line」でACアダプタが接続状態だということとか、温度関係の情報が表示されています。
やってみて、-iオプションだけでも欲しい情報は手に入るなと思いました。
いままで、なんとなく知らなかったバッテリ情報表示
いままで意外と分ってそうで知らなかったバッテリ情報をLinux OS上で確認する方法、これだけやってみて改めて学びに繋がったような実感がありました。