2005年08月29日

メインマシンOS入れ替え

メインマシンにはTurboLinux10Fを使っていたが最新のパッケージを入れようとすると他のライブラリも更新しないとダメで結局入れられないソフトが多くちょっとつらかった。
ライブラリ依存スパイラルヘルをコマンド一発で解決できるGentooはすばらしいと思った。

さらにGentooはunstableであれば最新のバージョンを追いかけることができるのでメインマシンもGentooにしてみた。

Gentooに移行したときのメモ
GentooはXにXorgを使っている。
そして設定ファイルの形式が微妙に違うのかデュアルモニタの設定がそのままでは使えなかった。
Section "ServerLayout"
  Identifier "Dualhead"
  Screen 0 "Screen0" LeftOf "Screen1"
  Screen 1 "Screen1"
  InputDevice "Keyboard0" "CoreKeyboard"
  InputDevice "Mouse0" "CorePointer"
  Option "Xinerama"
EndSection
とりあえず上の設定でデュアルにできた。
それ以外の設定は以前と同じ。
デフォルトの書式を見るとScreenのフォーマットが変わった?
が、詳しく調べる気力はないので放置。

しかしなんか起動後最初にXを立ち上げるとサブの方のモニタが付かない。
どうもアナログ信号が出ていない模様。
一度Xを落とすとサブのモニタにアナログ信号が行くようになり、素のコンソールの画面がクローン状態で2台のモニタに映る。
そしてもう一度Xを起動するとちゃんとデュアルモニタになる。
よくわからん現象だけど再起動することは少ないのでとりあえず放置。

Atok for Linuxはemerge atokx2でインストール可能。
Atokのアップデートはunstableになっているので~x86でインストール可能。

ブラウザなどでは日本語入力可能になったが愛用のmltermでは日本語入力できない・・・。TurboLinuxではできたのに・・・。

Gentooマシンが2台になったので分散コンパイルをしてみる。
時間のかかるコンパイルを複数台のマシンでやってしまおうというヤツらしい。
ドキュメントはここ

設定するとちゃんと2台でコンパイルしているようだ。
しかし1時間かかるコンパイルが1秒になるわけはなく、遅いコンパイルはやっぱり遅かった。

コンパイル前に「これコンパイルするには1時間かかりますよ~」と言われて分散コンパイルすると30分で終わったとなるうれしいと感じるんだけど・・・。


WindowsエミュレータのWineを入れてみた。
インストールはemerge wineで完了。
Windowsマシンから電卓(calc.exe)をLinuxマシンにコピー、wine calc.exeを実行。
すると電卓がLinux上で起動。スゲー。
猛者になるとIEやエクスプローラーをLinux上で動かすらしい。
う~む、すごいなWine。

WindowsアプリはVMwareがあるからまぁ良いんだけどやっぱりLinuxネイティブアプリのように起動できるWineは便利そうだ。


で、結局TurboLinuxのマシンは無くなってしまったがTurboLinuxはTurboLinuxでいいディストロだったと思う、Gentooのようにつまずくことも少なかったし。
ただ最新のアプリを使おうと思うとPRMパッケージを使いこなせないとダメそうで、その辺はつらい。
Gentooに疲れた頃にTurboLinuxの新しいバージョンが出たらまた乗り換えそうな予感。

2005年08月26日

Groovyを実行可能シェルスクリプトに

Groovyで書いたスクリプトをPerlのようにスクリプトファイルだけで実行したい。

普通は
#groovy hello.groovy

とするが
#./hello.groovy

としたい。


ファイルには以下のように書く

#!/usr/bin/env groovy
println "hello world!"

もちろんgroovyにパスが通っていることと、JAVA_HOMEの環境変数が設定されていることが必要。

またスクリプトファイル名がクラス名になるのでファイル名にハイフンが含まれていると正しく実行できない。

2005年08月25日

konfabulator

もともとはMacのアプリで、画面にいろいろな情報を表示するWindows用ソフトkonfabulatorを導入してみた。

以前は有料だったらしいがYahooが買収して無料になったらしい。

Windowsには同じような機能のSamurizeが以前からあったがカスタマイズして使うのが普通でちょっと敷居が高くめんどくさかったのですぐにアンインストールしてしまった。
konfabulatorはウィジットのダウンロードリンクをクリックするだけでインストールされて実行されるのでとても簡単。

が、やはりカスタマイズは必要なようで既存のRSSリーダーなどはURLが固定のモノが多くそのほとんどが英語のサイトだ。ニュースリーダーとして使うには自分で改造するしかなさそう。

とりあえずアナログ時計とシステムモニタ、でかいゴミ箱を導入。
ウィジットをクリックしてもその下のウィンドウをクリックできるように設定できるので邪魔にならなくて便利。

2005年08月22日

HDの電源自動停止

夏は暑い。
そしてHDは暑さに弱い。
さらに家のファイルサーバはアクセスしていない時間の方がとても長い。

と言うことで使っていないときにHDの回転を止めてHDの負担を減らす。
システムに使っているドライブはログの書き込みなどでなかなか止められないがその他のHDはアクセスする機会も少ないので止めておいた方がよいだろう。

最後にアクセスしてから何秒たつとHDをスリープ状態にするかは
hdparmコマンドで指定する。

現在HDがどの状態(止まっている、動いている)かチェックするには
#hdparm -C /dev/hda

そして何秒たつとスリープするかの指定は
#hdparm -S 10 /dev/hda

など。
10を指定すると5倍の50秒でHDがスリープ状態になる。
が、素直に5倍の値で止まるわけではなく以下はmanpageからの引用

値 0 は "タイムアウトは無効" を意味し、スタンバイモードに自動的には移行しない。
値が 1 から 240 の場合は、5 秒の倍数の指定になり、タイムアウトは 5 秒から 20 分になる。
値 241 から 251 は、30 分単位の 1 から 11 の指定になり、タイムアウトは 30 分から 5.5 時間になる。
値 252 は 21 分を意味する。
値 253 はベンダ定義のタイムアウトで、8 分から 12 時間の間のいずれかである。
値 254 は予約されている。
値 255 は、21 分 15 秒を意味する。 いくつかの古いドライブでは、これらの値に対して全く異なる解釈をするので注意して欲しい。


これでHDの寿命の浪費を抑えることができるだろう。
hdparm -S 120 /dev/hdj
とし、10分で停止するようにしておいた。


あと再起動すると設定が初期化されるので設定のスクリプトを自動で起動するようにしないとダメだなぁ。
なんかこの辺Linuxは不便な気がする。
設定ぐらい保存しておいてくれても良いのに・・・。

ちなみにスリープ中はhddtempで温度の取得はできなかった。

2005年08月16日

Eclipse 3.2 M1期待age

Eclipse 3.2 M1が出た。
3.2での追加項目はどんな感じなんだろう。

とりあえずM1ではSWTに機能追加があったようだ。
テーブルヘッダにソートの昇順降順のマーク(▲▼)を表示する機能が追加された。
ちょっと欲しかった機能だったのでちょっとうれしい。

テーブルのヘッダのドラッグでの並び替えも追加されたようだ。
これも結構欲しかった機能だったので結構うれしい。

問題はいつ3.2が出るかだなぁ。

2005年08月15日

徒然なる日々

この前海へ行って調子に乗って体を焼いてたら焼きすぎてマジで死ぬほど痛くなった。
カバンを肩から掛けると日に焼けた肩が痛くて脂汗が出るほど・・・・。
肌も荒れるしやっぱ俺はもやしっ子でイイや。

景気が回復してると言うことで株価も良い感じに上昇中。
毎月10万ほど利益が出てる。そろそろ調整局面だろうから気をつけねば。
殺るか殺られるか。負けたら樹海の株式市場。
って俺は現物のみだから失敗しても大丈夫だけどw


ちょっと利益が貯まってきたのでなんか贅沢しようかなと考えたけどやっぱ特にない。
とりあえず1GBのメモリと400GBのHDを買う。

GentooマシンにSATA400GBのHDを接続したらなんか起動に失敗。
とりあえずメインサーバに接続しておいた。
また調べて使えるようにしておかねば。

最近またテンションが低めだ。
ツマンネー

2005年08月10日

testingなパッケージインストール

stableなパッケージは古くて使えない!と言うときは
/etc/portage/package.keywords に gnome-extra/gdesklets-core ~x86 などを追加するとtestingなパッケージもインストール可能。

gDeskletsがstableなバージョンではうまく動かなかったが0.35.2-r1を入れるとうまく動いた。

でもテスト中のパッケージは危険なのでほんとに最新のが必要な場合のみにしておいた方がよさげ。

2005年08月09日

HD飛んだ?

メインサーバのHDが読み込み専用になっていたので「?」と思いマウント解除してマウントし直した。

なんだ、マウントできるじゃん。

と思っていたが、ふと/var/log/messageを見るとファイルシステムでエラーが出ていた。

こりゃまずいと言うことでマウント解除して
e2fsck /dev/hdi1
を実行。
エラーが続々と画面に・・。

エラーが多いとyesをいっぱい押さないといけないので-yオプションを付けるととりあえず全部のエラーの修復を試みてくれる。
壊れたと思われるファイルがずらずら表示されて鬱になるがしかたあるまい。

とりあえずこのHDは使わないようにして新しいHD買ってそれにデータ移すかぁ・・。

HDの温度と平均故障間隔のグラフを見るとおり温度が低ければ低いほど寿命が長いので今残ってるHDの冷却にもっと力を入れるか・・・。と言っても気温よりも下げることはできないので夏は仕方ないが。

一応壊れたHDにはファンを付けて40度前後に保っていたんだけどなぁ・・・。
これからはもっとHDの冷却に力を入れるかぁ・・・。

とりあえずこの夏を乗り切れなかったHDがまず1台と・・・。
家にはHDが10台以上あるので全部面倒見るのは大変だがデータが飛ぶのはイヤだしファンを増設せねば。

2005年08月04日

猿にシェイクスピアの劇を書かせる

今は夏休み中。
暑いのは嫌いなので引きこもり中。

しかしすげー暇だ。
そんなときRFC2795 The Infinite Monkey Protocol Suite (IMPS)を見つけた。
猿にタイプライタを打たせてシェイクスピアの作品を作るというプロトコルだ。

あ、なんかおもしろそう。と言うことで俺も作ってみた。
アルファベット小文字+スペースをランダムに選び、入力した文章に一致するまでループさせる。
3文字ぐらいまでなら一瞬だけど5文字6文字ぐらいから時間がかかるようになる。

this is a penのスペースを含む13文字を作り出すにはどれくらい時間がかかるだろうか。
スペースを含む27文字の13乗だから
4052555150000000000通りの組み合わせかな。

とりあえずプログラムを動かして寝た。朝起きてもまだ正解は出ていなかった。
現在94億回目。猿に「コレはペンです」を書かせるだけでも大変そうだ。
405京ある組み合わせのまだ94億だからなぁ。なんか終わる予感がしない。


今回のプログラムでJava5からの新機能であるprintfみたいなヤツを試してみた。
StringBuilder sb = new StringBuilder();
Formatter formatter = new Formatter(sb, Locale.JAPAN);
formatter.format( "%02d:%02d:%02d", hour , min , sec );
で処理し、formatter.toString()で結果取り出し。

printfサイコー。

2005年08月03日

チルトホイールマウス

MSの新しいマウスはホイールが横にも動く。
が、Linuxでは動かない。残念。

そして親指で操作する「進む」「戻る」ボタンも効かない。
「進む」「戻る」ボタンだけでも使えるようにする。

マウスの設定は
/etc/X11/XF86Config
を修正。
マウスの項目で
Option "Protocol" "ExplorerPS/2"
Option "Buttons" "7"
Option "ZAxisMapping" "6 7"
などとした。

ホイールの上下を含めると7ボタンとして設定。ホイールの上下は6と7にバインドされた。
が、ブラウザでホイールでの上下スクロールは4と5のボタンしか見ていないのでこのままではうまく動かない。

xmodmap -e "pointer = 1 2 3 6 7 4 5"
を実行することによりホイールが正しく動くように修正。

/etc/bashrcなどに追加して起動時に有効にしておく。

そして再起動するとなんとデフォルトで「戻る」「進む」の機能がFirefoxで有効になっていた。
特に特別なアプリは要らないのね。便利。

が戻る進むのボタンが逆だったので
xmodmap -e "pointer = 1 2 3 7 6 4 5"
として設定すると正しく動作した。

以上の設定により、TurboLinux 10F上でMSのチルトホイールマウスで5ボタンを有効にする方法でFirefox1.06の「進む」「戻る」ボタンの機能が正しく動作した。

2005年08月その他のエントリー