前回書いたスクリプトで実用上は十分なのだが、やはり見た目に味気ない。
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負荷とかを食ってしまうのがアレですが(汗。
| Trackback ( 0 )
|
|