平衡点
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
ふむ. 許容範囲ですな.