nao_wada (6880) の日記

2002 年 09 月 19 日
午前 12:06

VAIOのバッテリー残量表示

 VAIOにVine 2.5入れてからバッテリー残量をチェックできずに不便していたが、vaiobat.cというものをみつけた。これを使うとバッテリー残量がわかるのだが、

  1. rootでしか使えない
  2. グラフィカルアプリケーションではない

という弱点があってぎゃふん。
 まあ、そこはLinuxなのだからrootで実行はともかくとしてグラフィカルにするくらいは、定期的にvaiobatを実行してその値を元にメータを動かすみたいなアプリケーションを作れば…って、私にグラフィカルなアプリを作るだけの知識がないことに気が付いてぎゃふん。
 というわけで、だれか作っていないかと探してみると、どうもこのページを書いた人が定期的に残量チェックするperlスクリプトBattstatというアプレットの改造版を公開していたのでGET。

 まず、vaiobatをインストール。vaiobat.cをダウンロードして
# gcc -O2 vaiobat.c -o vaiobat
# cp vaiobat /usr/local/sbin
# ln /usr/local/sbin/vaiobat /usr/bin/vaiobat

最後のlnはpowerwatch.plにあわせるため

 powerwatch.plのインストール。powerwatch.txtをダウンロードして
# cp powerwatch.txt /usr/local/sbin/powerwatch.pl
# chmod 755 /usr/local/sbin/powerwatch.pl
# mkdir /usr/sbin/local
# ln /usr/local/sbin/powerwatch.pl /usr/sbin/local/powerwatch.pl
# ln /usr/bin/perl /usr/local/bin/perl

「mkdir /usr/sbin/local」以下はディレクトリ構成を作者のページに合わせるため。なんだか気持ち悪いディレクトリ構成になってしまった。

 Battstatでは問題が発生した。configureがgettextの0.10.37を要求したが、Vine2.5に入っていたのは0.10.35。とりあえずconfigureを書き換えて対処(ダメだろ、それ>自分)。

# ./congfigure
# make

 makeではエラーは出なかったので、そのままインストール

# make install

 /usr/local/bin に battstat_appletがインストールされた。GNOMEパネルを右クリックするとアプレット→モニタに「Battery Status Utility」が追加される。battstat_appletの実行にはpowerwatch.plの作成するlogファイルが必要になるため、/etc/rc.d/rc.localの最後に
/usr/local/sbin/powerwatch.pl&
を追加。次の起動からbattstat_appletでバッテリー状況を見られるようになった。

 powerwatch.plのlogファイルはそのままだと再現無く巨大化するようなので、ハードディスクへのアクセスの減少と起動時のクリアを目的にこれをramdisk上に置くように変更した。
まず、ramdiskのマウントポイントを作成
# mkdir /mnt/ramdisk1
ramdiskをフォーマット
# mke2fs /dev/ram1
マウント
# mount /dev/ram1 /mnt/ramdisk1
確認してみる
% df -m
ファイルシステム 1M-ブロック 使用中 空き 使用% マウント場所
/dev/ram1 4 1 3 1% /mnt/ramdisk1

 うまくいったので、これを/etc/rc.localのpowerwatch.plの前に追加
mke2fs /dev/ram1
mount /dev/ram1 /mnt/ramdisk1
/usr/local/sbin/powerwatch.pl &

logファイルの実体をramdisk上に置くようにする
# rm /var/log/powerwatch
# ln -s /mnt/ramdisk1/powerwatch /var/log/powerwatch

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

クラックを法規制強化で止められると思ってる奴は頭がおかしい -- あるアレゲ人

処理中...