平衡点
2006/05/07
_ GNU Screen の設定
ごにょごにょと.
caption と hardstatus の設定をしっかり理解しておらず, しばしじたばた. 結局の所, どう違うんだ?
それはさておき, これで time とか load を表示していれば xfce4-panel を捨てられる, という事に気がついたので, 凄い勢いで設定を始めてしまいました, とさ.
とりあえず, .screenrc に
caption always "%{= kw}%+0<%?%F%:%n %t%?%?%F%:%?%-w%?%F%?%48>%{=b kr}%n %t%{-}%+w%48<%= %l %{=b kb}[%{=b kc}%y/%m/%d %c:%s%{=b kb}]"
なんて書く事にした. load の表示はイマイチなんで別途 backtick を書いて実行した方が良さげな雰囲気.
ちなみに,
%? %: %?
は
if … else … fi
に相当する. statusline で条件分岐する, という発想は凄い. こんなん知らなかったよ, と思ったら man に書いてあるし.
あと, 拾いモンですが netload を表示する backtick を見っけました.
#!/bin/bash
#no function
refresh=1
#number of bars
bars=20
#max bytes/s incomming
maxin=130000
#max bytes/s outgoing
maxout=20000
#net device
netd=eth0
oldin=`cat /proc/net/dev |grep $netd | sed 's/:/ /' | awk '{ print $2}'`
oldout=`cat /proc/net/dev |grep $netd |sed 's/:/ /' | awk '{ print $10}'`
while newin=`cat /proc/net/dev |grep $netd | sed 's/:/ /' | awk '{ print $2}'` ; do {
newout=`cat /proc/net/dev |grep $netd | sed 's/:/ /' |awk '{ print $10}'`
in=$[($newin - $oldin)]
out=$[($newout - $oldout)]
echo -n [
for i in $(seq 1 $bars); do {
if test $i -le $[($in*$bars)/$maxin] && test $i -le $[($out*$bars)/$maxout]; then
echo -n "|";
elif test $i -le $[($in*$bars)/$maxin]; then
echo -n ">";
elif test $i -le $[($out*$bars)/$maxout]; then
echo -n "<";
else echo -n " ";
fi
}
done
echo "] in: $[$in/1024]k/s out: $[$out/1024]k/s"
sleep $refresh
oldin=$newin
oldout=$newout
}
done
やっているのは eth0 の in/out を監視して, それに合わせて status bar を表示する, な訳ですが. こんなん使えるなら, /proc/acpi/battery 以下を適当に監視してバッテリ残量 or AC-online を表示する事も可能だな. ふむ.
…奥が深い症候群? イエイエ. zsh に本格移行する為の準備です(xfce4-panel 捨てる準備?)
_ HDD の回転を止めない
LinkStation の話.
アクセスが無い時に HDD の回転を止めていると, アクセスした時の spin up によるタイムラグがけっこう気になるので. 試しに HDD の回転を止めないで運用した際に, 温度がどうなっちゃうのか調べてみた.
$ sudo hdparm -S 0 /dev/hda
現在の所
$ sudo hddtemp /dev/hda /dev/hda: SAMSUNG SP1203N: 38°C
ふむ. 許容範囲ですな.