night garden > reboot
by Kenny Seed





 
 前回書いたスクリプトで実用上は十分なのだが、やはり見た目に味気ない。
 KNOPPIXに入っている xtermは他国語対応しており、また TrueTypeフォントをアンチエイリアス付きで表示する事に気づいたので、xtermを使って TrueTypeで表示することにした。
 
cpu_temp_b
--------------------
#! /bin/sh
if [ -f /proc/acpi/thermal_zone/THM/temperature ]
then
     while true
         do
         clear
         awk '{ printf " " $2 "℃ " }' /proc/acpi/thermal_zone/THM/temperature
         sleep 10s
     done
fi

if [ -f /proc/acpi/thermal_zone/THM0/temperature ]
then
     while true
         do
         clear
         awk '{ printf " " $2 "℃ " }' /proc/acpi/thermal_zone/THM0/temperature
         sleep 10s
     done
fi
--------------------
 
 awkを使って /proc/acpi/thermal_zone/THM/temperature から温度の数字文字列だけを抽出して、「℃」(摂氏温度記号)と合わせて表示させている。
 printfで改行なしで表示させているのがポイント。
 表示間隔は10秒。
 clearで毎回表示を消している関係上、あまり表示間隔を短くすると「ちらちら」します。
 
 で、例によってこれを小さな xtermを開いて実行するスクリプト。
 
cpu-temp_b
--------------------
#! /bin/sh
xterm -fa "m+1p+ipag_7bar_bold" -fs 32 -fg gray10 -bg rgb:9/a/9 -cr rgb:8/a/9 -ah +aw +sb -geometry 6x1 -e ./cpu_temp_b
--------------------
 
 32ポイントという巨大な文字サイズで、6字×1行のみの表示にしているのが、ポイント。
 awkで printfしているのはこのため。printだと自動的に改行されて表示されるので2行が必要になる=1行で表示できない。
 
 ここで指定しているフォント「m+1p+ipag_7bar_bold」なるものは以前、FontForgeの記事でも触れたもの。
 「文市の小箱茶室」さん(http://www.ayati.com)で配布されている Nokia用の日本語フォントに、「とろ庵」さん(http://www.trojanbear.net)で配布されているデジタル数字フォントを合成したもの。
 このフォントには「℃」(摂氏温度記号)が入っている。ちなみに SCIM + Anthyなら「どしー」で変換すれば出てくる。
 
 xcalcのリソースを参考にして液晶表示風の色にしてある。
 カーソルが微妙な色指定になっているのは、カーソルを消す方法が見つからなかったため。
 バックグラウンドと同色指定にして消そうとすると、その色指定が無視されてしまう。
 おそらく設定ミスで文字が見えない xtermができてしまうのを防ぐためだと思う。よくできてる!
 よって、バックグラウンドと僅かに違う色を指定してカーソルが目立たないようにしている。
 
 こうして、デジタル温度計風の CPU温度計ができました。
 多国語化 xtermを開いているので、単なる温度計にしてはメモリ使用量とか CPU負荷とかを食ってしまうのがアレですが(汗。
 


コメント ( 0 ) | Trackback ( 0 )


« 簡易CPU温度計... 神戸市営地下... »
 
コメント
 
コメントはありません。
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。