VMWare上のUbuntuでバッテリー残量を確認する
VMWare上だとUbuntuのパネルにバッテリーの残量を表示させることができない(「パネルに追加」の一覧にもない)みたいで、
全画面表示してるときはバッテリー残量がわからない状態でずっと使ってたんだけど、さすがに精神衛生上よくないので対策した。
バッテリー情報は/proc/acpi/battery/BAT1/stateから見れるんだけど、そのためには
VMWareからバッテリー情報を参照できるようにする必要があるので、まずvmxファイルに
以下の2行を追加する(参考:ブログを保護 › ログイン)
chipset.useAcpiBattery=true
chipset.useApmBattery=true
この機能は仮想マシンのバージョンが6以上じゃないと使えないみたいだけど、VMWare3.1.4の仮想マシンのバージョンは最初から7だったので問題なし。
これで
$ cat /proc/acpi/battery/BAT1/state
present: yes
capacity state: ok
charging state: charged
present rate: 0 mW
remaining capacity: 57120 mWh
present voltage: 12435 mV
こんな感じでバッテリー情報が見れるようになるので、あとは
battery.py
# -*- coding: utf-8 -*- import sys from time import sleep MAX = 57410 # バッテリー容量。フリーソフトなどで調べる try: while True: f = open("/proc/acpi/battery/BAT1/state", "r") # 5行目からバッテリ残量を切り出す remain = int(f.readlines()[4].split()[2]) per = remain * 100 / MAX sys.stdout.write("[ ") # 2%ごとに-、10%ごとに|でバーを表現 for i in range(per/2): if (i+1)%5 == 0: sys.stdout.write("|") else: sys.stdout.write("-") sys.stdout.write(" ]") print " {0}%".format(per) # 残量表示 f.close() sleep(600) # 10分ごとに更新 except KeyboardInterrupt: sys.exit()
使用例(エイリアス済み)
$ battery
[ ----|----|----|----|----|----|----|----|----|--- ] 97%
こんな感じのスクリプトを別窓なりで動かすようにしてとりあえず満足。