2004年10月30日

mlterm

軽くてナイスなターミナルmltermでの設定。
・背景を透過にして文字を白くした場合に反転文字が見えなくなる場合の対処方法。
~/.mlterm/main にbg_color=black を追加。

・アンダーバーが見えない場合の対処方法。
上記の設定ファイルにline_space = 1 を追加。

2004年10月29日

VMware

VMwareキターーッ!
DSC00001.JPG

取り寄せで納期1ヶ月とか書いてあった割には早く付いた。

えらい分厚いマニュアルと紙のパッケージに入ったCDが入ってる。

ついでにTurboLinux 10Fも再インストール。
カーネルを最新にして再起動、カーネルのソースも最新版に更新。

ネットの情報だと設定時のスクリプトファイルをいろいろいじらないとダメとあったが特に無くてもOKだった。
設定時にカーネルソースの場所を聞かれ、デフォルトの位置だとasmがねぇぞと怒られる。
asm-genericかasm-i386のどっちか忘れたけどシンボリックリンクをasmの名前で付ければ解決。
今回はあっさりインストールでけた。

以前カーネルがSMPになってたというのは自分で入れてしまってたようだ。ネットからツールを自動インストールできるアプリリストの中にSMPがあったので適当に入れてたら入ってしまってた様子。

バックアップに取っておいた仮想マシンのファイルをコピーしてそれを読み込んだらちゃんと以前のままで動いてくれた。

Linux版を買ったがCDの中にはWindows版も入っていた。
お、コレはもしかしてWindowsでも使える?と思ったがシリアル入力ではじかれた・・。
まぁ当たり前ですが・・。

日本語版を買ったがLinuxに入れると英語のまま・・。Windowsだと日本語表示なのに・・。
ネットのどっかにシリアル入れると日本語になると書いてあったが日本語になる様子無し。
まぁ特に複雑な英語は無いし問題はないと言えば無いがやっぱ日本語の方が安心するのになぁ。

Image Converter

CLIE用動画変換ツールImage Converterの最新版がCLIEのサイトで公開された。
Do VAIOで録画した動画やMPEG1、DivXなどのavi系も変換できる。
Do VAIOだと録画と同時に変換もできるらしい。

う~むスバラシイ。
ちっちゃいPDAで録画した動画が見れるとは。
早速使ってみる。
高画質モードだと30分番組が90MBぐらい。
音声はステレオ、特に低ビットレートのノイズが激しい感じは無し。
FPSは15fpsらしいが特に気にならない。
普通に見るなら通常画質でも問題なさそう。

変換時間は20分ほどだったかな。
変換も楽だしコレはなかなかのキラーアプリの予感。
ただ以前のImage ConverterがDo VAIOに対応していなかっただけですが。

動画見るとなると昔買った128MBのメモリースティックじゃ小さいなぁ。
512MBぐらいは欲しい。

価格.comで調べてみるとなんと512MBで1万円!
N750と一緒に買った128MBのメモリースティックは当時1万だったのに。
1万の512MBのメモリースティックは良くわからんメーカーの作ったちょっとダサいデザイン。
13000円ぐらいにSanDiskとSony純正。

う~む、でも今月はVMware買っちゃったし我慢我慢。
と思わないと買ってしまいそうだ~。

2004年10月26日

ぐるぐるGroovy

ちまたで噂のGroovyを試してみた。
Javaによく似たスクリプト言語で、簡単に言うとPerlみたいにさくっとかけるようなJavaっぽいコードをJavaバイトコードに変換して実行してくれるような感じか。
遅いのとまだベータ版なのが欠点らしいが開発バージョンは速度は二の次なのでそのうち改善されるとか。

仕事で120万行ほどあるXMLっぽい形式のテキストをXMLとして認識できる形式に変換するコードを書いてみた。
正規表現なら一発のような感じもするけどGroovyを使うきっかけと言うことでGroovyでやってみた。
正規表現はやっぱ必要だよなぁ・・ちゃんと勉強せねば。


以下Groovyスクリプト
convert.groovyみたいな拡張子で保存
groovy convert.groovyとコマンドラインでたたけば実行される
コードの内容としてはテキストファイルを1行ずつ読み込んで<PAIR が先頭にある場合はその行の内容を置換する。んでその結果をファイルに保存。

import java.io.*
import java.util.Date

start = new Date()

bw = new BufferedWriter (new OutputStreamWriter (new FileOutputStream(new File("test_new1.xml")) , "UTF-8") )

new File("READFILE").eachLine{ line |
if( line.indexOf("<PAIR TYPE=") == 0){
line = line.replaceAll("EJ","\"EJ\"")
line = line.replaceAll("DIRECT","\"DIRECT\"")
line = line.replaceAll("EXAMPLE","\"EXAMPLE\"")
}
bw.write line+"\n"
}
bw.close()

end = new Date()
println(end.getTime() - start.getTime() )

ファイルの読み込みがすごい楽になっているのに注目。
Fileオブジェクトに対してeachLineメソッドが追加されて読み込みとループが一緒くたに。
もしかしたら書き込みももっと楽になってるかもしれないけど今回はJava風に。
メソッドの記述が楽になったり、変数の初期化が要らなかったりと便利だけど、コード補完がない(EclipseのGroovyプラグインが猛烈に欲しい)、import文書くのがメンドイ(Eclipseの(略))などが不満点か。

120万行、33MBほどのファイルを処理するのに約20秒。
Windows2000 P4 2G メモリ1.5Gの環境。
まぁそれほど遅いというわけでもない気がするがJava100%で速度調べてないので不明。
Groovy自体の起動(またはコードの解析?)は1秒ほどかかるので実行するのにタイムラグのある感じは否めない。

一般業務アプリ開発だといまいちGroovyが活躍する場面が思い浮かばないけど研究所みたいになんかのデータをちょこちょこっと処理するのに使うにはイイかも。
まぁその場合Perlを使えば楽勝なんですが。

Javaの既存ライブラリを使ってPerl的な処理をする場合はGroovyがイイ感じ。
とりあえずGroovyの今後に期待。

2004年10月22日

モニタ

SONYの17インチ液晶モニタ37,275円!安っ。
ゲーム用マシンのモニタはCRTで決まりなんだけどLinuxマシンのモニタが19インチCRTで結構邪魔。
液晶にしたら部屋がすっきりするだろうけど・・・むむむ・・17インチで4万切るとは安いな・・・。
でもSONYかぁ・・。SHARPやNANAOあたりのヤツなら速攻買いなんだけど。
今月はVMware買わないとダメだから我慢我慢・・・。

んでVMware見てるとLinux日本語版どこも品切れ状態。
取り寄せと言うことで安いとこ選んで注文。送料込みで28535円なり。
高いけど考えてみたらWindowsXPなんて33,390円だし。(amazon価格)
Windows高すぎ。
たいていプリインストールされてるから価格気にする人少ないんだろうなぁ。
VAIO TRはXP Professionalだけどノートの価格の1割以上がOSの値段っていうのはキツい。

AmazonのXPについてのコメントで「特にこの製品はマイクロソフト社が「安全で安定性が高い」と宣伝しているので・・」とあった。
そういえばXPが出た当時は安全性を売りにしてた気がする。もう誰も覚えてないしそんな売り文句信じないだろうけど。

コレはアレだ。
今のWindowsは安全性が低い > そこで新OS、安全性めちゃ高いです。だから買え(でも実は低い) > 3年後 > 今のWindowsは安全性が低い > そこで新OS、安全性めちゃ高いです。だから買え(でも実は低い)の無限地獄スパイラルの罠。

Linuxも安全性が完璧というわけじゃないけど穴が見つかった後の対応に雲泥の差があると思う。

2004年10月19日

Sambaをマウント

ファイルサーバをLinuxのファイルシステムにマウントする

起動時に自動でマウントするために/etc/fstabを編集
//192.168.1.10/share /mnt/share smbfs username=ID,password=PASS,rw,gid=500,fmask=770,dmask=770
みたいな感じで。

自分のHDのように使えるので便利。

自動じゃなく手動でマウントする場合
mount -t smbfs -o username=ID,password=PASSWORD //192.168.1.10/share /mnt/share

TurboLinux10Fだとsmbfsをアプリケーションの追加と削除でFTPとかどっかから取得しないとダメ。
VineLinux3の場合はapt-get install samba-clientすればマウント可能に。

2004年10月15日

壊れた・・。

VNCでログインしてたらなんか起動時にWMでエラーでまくるしタスクバーが異様に増殖してる・・・。
xfce4bug.jpg

こりゃこの土日でホストOS再インストールしておいた方が良いなぁ。

ATOKX

TurboLinux10Fは最初からATOKXが付いている。
KDEだとATOKが使えていたがXFce4にしたらATOKが使えなくなってしまった。
と言うことでいろいろ試した結果ようやく使えるようになった!
参考にした情報は
http://zeong.s.chiba-u.ac.jp/~hisa/php/index.php?%5B%5BATOKX%A4%CE%C0%DF%C4%EA%5D%5D

まずジャストシステムのFAQで条件を満たしているか確認。
http://faq.justsystem.co.jp/faq/1003/app/jsfaq.jsp?10871+0126

今回は.vnc/xstartupに以下のスクリプトを追加。

export XMODIFRS="@im=htt"
. /usr/lib/im/locale/ja/atokserver/atokx_client

それとexport LANG=ja_JP.EUCをexport LANG=ja_JP.eucJPに修正。
どっかの設定をコピペしてきたけど後者の設定の方が良いらしい。

とりあえずmlterm上でATOK動いたのでそのときの設定などをSSに
xfce4-atokx.jpg

コレで日本語も完璧。
後はブラウザさえ良いのがあれば完全にWindowsから離れられるんだけどなぁ。
Firefoxはカスタマイズ(と言うか拡張?)で何でもできるだろうけど簡単にカスタマイズできそうじゃないし。
DonutPを超えるブラウザがLinuxで欲しいところだ。

あとVMware内のTurboLinuxがグラフィカルログインできなくなった・・・。
あちこちいじってるうちにどっかおかしくなった様子w
マシン起動後グラフィカルログインしようとするが何回か失敗して設定しなおす?と聞かれ設定するがその後ブラックアウト。
SSH経由でVNC起動したらGUIで操作できるからいいかぁ。
まぁOS入れた直後のスナップショットがあるからボタン一つで戻せるわけだけど。

"ATOKX"の続きを読む

2004年10月14日

root-tail

他のウインドウマネージャを捜していてFluxboxを発見。
コレもなかなかかっこいい。
スクリーンショットの中で背景にログを出力している人発見。
コレはどうやらroot-tailと言うツールで指定のファイルの中身の最後をデスクトップ上に出力するツールらしい。
何というスバラシイツール、これならいちいちシステムログをチェックする必要もなくいつでも見れるわけだ。

早速導入。
珍しく問題なくコンパイルできた。
が、表示されない。
調べてみるとXFce4の背景を表示するために使っているxfdesktopと言うツールはデスクトップより1つ上の層(?)に背景を出力して背景を右クリックでメニューを出したりする機能を実装してるらしい。
だから表示されないのか・・・。

xfdesktopを実行しないようにして(/etc/xfce4/xinitrcを編集)背景はxloadimageで画像を貼り付けた。
するとうまくログを表示することに成功。

だが今度はターミナルのmltermの背景透過機能が効かなくなった・・・。
mltermが今まで背景と認識している場所を使わなくなったからだろうか。
いろいろ試したがむりぽ。
しかしネットを検索するとXFce4でもroot-tailが使えるようにhackしたひとがいてコードを公開している!

早速ダウンロードしてコンパイルすると・・。
おお、表示された!スバラシイ。
xfce4root-tail.jpg

なんかファイルの途中から出力されている気がするけどこれは縦に長すぎておしりが切れてるからだろうか。色を含めてその辺設定しなおさなければ。

2004年10月12日

Xfce4

Turbolinux10FにもXFceは入っているがバージョンが古いようだ。
KDEもかっこいいが軽くてかっこいいXFce4を入れてみる。

http://www.mc.ccnw.ne.jp/ken/indx/hby/linux/xfce4.txt
を参照。

インストールしようとするとなんかライブラリが足りないみたいな事を言われる。
と言うことでGNOMEの開発ライブラリを入れて #rpm -Uvh *.rpm を実行。

すると以下のメッセージが
file /etc/X11/dm/Sessions/xfce.desktop from install of xfce-utils-4.0.6-1 conflicts with file from package xfce-3.8.18-5
最初から入っている古いバージョンのファイルだから書き込めないよとRPMに怒られたので
rpm -e xfce-3.8.18-5
として古いバージョンを削除。VMwareだからおかしくなってもこわくないぜーと言うことで消してみる。
するとインストールもいけたようだ。途中でなんかエラー出てたけどもう一度インストールしようとすると全部インストール完了してる。まぁいいや。VMwareの中だし。

~/.vnc/xstartup の twm & をstartxfce4に変える。
んでvncserverを実行。ログインすると・・・。
おお、XFce4インスコ完了!
デフォルトはこっち使うようにしよう。

参照したインストール手順には無かった点として
・GNOMEの開発ライブラリも必要っぽい。
・古いXFceを消す必要がある。
・rpm -Uvh *.rpm でなんかエラー出るけど気にしない。

XFce4の設定画面はなんと日本語だ。
う~む、すばらしい。
XFce4はかっこいいシンプルさで良いね。

2004年10月10日

ファン

昨日サーバのHDを取り替えようとSSHでログインしshutdownコマンドを打つ。
そして別の部屋に置いてあるサーバマシンで作業をすると・・。
なんか焦げ臭い・・・。燃えてるにおいではなくてホコリが加熱されたときの焦げ臭さ。
CPU周辺に手をかざすと熱を感じる・・・。

もしかしてCPUファン止まってた?

ちょっとヒートシンクにさわってみると・・。
「あっつ!」
ヤケドしました(>_<)

んで電源を入れてみると確かにCPUファンは止まってました。
さすがMADE IN CHINA数ヶ月でファンが壊れるとは。
PC(またはそのパーツ)の壊れる原因はファンの故障が一番だと思うけどメーカーはもうちょっと信頼性の高いファンにするべきなんじゃないかなぁ。
最近ファンだけ別売りで売ってることが多いけどやっぱ日本製が一番だなと思う今日この頃。

ということで今回はファン停止状態でもがんばったAthlonXP1600に拍手。

2004年10月08日

Java

今日仕事をしていてJavaで多重継承できればなぁと思うことがあった。
しかし「多重継承が必要となる場合はそもそもクラスの設計が間違っている」の言葉を思い出しinterfaceにして解決。


Swingで「このやり方なら高速に描画できるぜ!」と言うのをWebで見つけた。
今日から新しく作るツールがあるのでそれに適用してみる。

・・・・やっぱり遅かった(T_T

800x600のWindowに「テスト12345」と言う文字列を10万回描画するテスト。
Windows2000のP4 2G メモリ1.5G Java1.5で実行
Swing 25.5秒
SWT 3秒

Java1.5になってもSwingはやっぱりSwingだ。
Java2Dは多機能で良いんだけど遅いのがつらい。
でもSWTの描画機能は基本的なモノしかないし・・・。
究極はJava3DなどOpenGLやDirectXで実装されてるAPIを使うことだけどちょっと手を出してみるか。
Java3DでDirectXのように2D描画はできないとどっかで見た記憶があるけど一応調べてみよう。
SwingもDirectX使って実装してると聞いてるけど使ってこの速度なんだろうか。
その辺も調べてみなければ。

ちなみにJavaでQUAKE2を実装するプロジェクトがあるけど割とイイ感じのようだ。
一番良い結果のベンチマークでオリジナルが245 fpsのところJava版が241 fps。
Javaで3Dバリバリのゲームも十分できるみたいだけど欠点は情報量の少なさか。

もし次にGUIのなんかツールを作る時があったら3Dの機能使いまくって無駄に半透明とか無駄に回転とかしてみたいなぁ。
SWTで無駄にアニメーションはもう作ったし今回のツールは地味に行くか・・・。

2004年10月06日

Canvas上でのマウスホイール

ScrolledCompositeの上にCanvasを置くとスクロールができるCanvasになるが、その上でマウスのホイールをクルクルしてもちょっとしかスクロールしない。

ストレス溜まるのでもっとぐぐっと移動させたい時は

scrolledComposite.getVerticalBar().addSelectionListener(new SelectionAdapter(){
public void widgetSelected(SelectionEvent arg0) {
if( arg0.detail == 16777217 ){
scrolledComposite.getVerticalBar().setIncrement(-15);
}
if( arg0.detail == 16777218 ){
scrolledComposite.getVerticalBar().setIncrement(15);
}
}
});

scrolledComposite.getVerticalBar()でスクロールバーを取得して強制的に動かす。
16777217で上、16777218で下。
たぶんホントはちゃんとした定数があると思うけどまぁコレでいいやと言うことでこのままで。

VMware

以前チャレンジして失敗したVMwareセットアップにもう一度チャレンジしてみる。

以前失敗してセットアップできなかった理由はカーネルのソースの位置をうまく設定できなかったからだ。
どう失敗したかというとカーネルのソースの位置の設定で
The directory of kernel headers (version 2.6.0-15) does not match your running kernel (2.6.0-15smp). Even if the module were to compile successfully, it would not load into the running kernel
と言うエラーが出る。
コレはどうもおまえのマシンのカーネルは2.6.0-15smpだけどその位置にあるソースは2.6.0-15だぞと言われている。

最初はソースのバージョンが古いのかと悩んだけどどうやらsmpというのは複数CPU対応用のバージョン(?)らしい。
うちのマシンはCeleron1個のマシンなのでなぜsmpのが入ってるのか不明。適当にセットアップしたらこの設定になったんだろうか・・・???
謎。

カーネルソースの設定で
# cd /usr/src/linux
# ./SetupKernelSource.sh i586
をするようにといろんなページに書いてあるがsmp対応のソースの設定にするには
./SetupKernelSource.sh i586smp
とするとOKらしい。
んでvmware-config.plを動かすと無事に設定完了。
試用レジコードを入れると無事に動いた。

コレでいろんなOS、ディストリビューションを試すことができそうだ。
製品版は3万ちょっとと高いが試用期間終わったら買ってみようかな

2004年10月04日

安全にファイル転送

VNCでリモート操作できたので今度はファイル転送をしたい。
家ではSambaでWindowsファイル共有をしているので同じようにファイルがとれたら良いがさすがにファイル共有はポートあけられないしFTPはめんどくさい。
と言うことでまたまたSSHでセキュアにファイルコピーと言うことでFileZillaを導入。
http://www.ex.media.osaka-cu.ac.jp/windows/filezilla.html
とかで本体落として
http://www.unixuser.org/~haruyama/software/filezilla_patch.html
からEUC-JPパッチ済みEXE落として後は普通にログイン。

SSHさえ接続できれば何でもできますな。
スバラシイ。

安全にVNC

仕事場から家のマシンをGUIで操作したい。
もちろんそんなときはVNC。
でも家のVNCポートをあけるのは危険だし・・。と言う時はSSH経由でVNC。
コレなら安全にVNCできてイイ感じ。

クライアントはWindows、操作対象OSは任意、の場合、CygwinのSSHを使うと楽に行けるっぽい。

SSHでログインし家のマシンでvncserverを起動。
クライアント側のCygwinにログインし
ssh -l SSHでログインするユーザ名 -L 5900:SSHDから見えるVNCサーバのIP:5901 SSHDのホスト
でログインした後にクライアント側でVNCviewerを起動して localhost:0 で安全にVNCできる。

例: ssh -l USERID -L 5900:192.168.1.1:5901 hogehoge.jp
hogehoge.jpにあるSSHサーバにUSERIDでログインし、クライアント側で5900に対して接続があったらSSHサーバから見える192.168.1.1のマシンのポート5901に送る。

これでWindowsマシンも仕事場から操作できるわけだ。
SSHポートフォワードを使えば結構いろんな事ができそうな予感。

2004年10月01日

アタック

今日から前行っていた研究所で再び働くことに。
初日は何にもすることがないのでとりあえず環境設定。
と思ったら前使ってたマシンそのまま残っていたので環境設定も何もすることがない・・。
とりあえずEclipse3が出たからそれ入れるか。

んで暇なので家サーバにSSHでつないでみる。
前の仕事場がネット禁止だったのでネットできる環境は良いなぁ。

んで家サーバのログをチェックしてみると韓国からものすごい不正アクセスが。
何をしたいのかわからないけど3秒おきにROOT権限でログインしようとしてる・・・。

韓国人の考えることはよくわからん。

以前は公開鍵方式でログインしてたけどOS入れ替えた後はめんどくさいからパスワード方式でログインしてる。
万一ってこともあるから公開鍵方式のみでしかアクセスできないようにするべきだなぁ。

2004年10月その他のエントリー