1999年10月

[前の月へ] [メニューへ] [次の月へ]

1999/10/23(Sat)

Mew-1.95b3,IM-132のバージョンアップ。とうとう1.95系に突入ですね。
でもなぁ。これからもMewを使い続けるのか自分でもわからなくなってきちゃった。
日経Linuxの11月号でメーラの特集やってたんだけど、いろいろ魅力的なメーラが出てきてるんだよね〜。特にスレッドで表示できるとかフォルダ毎に未読とかをきちんと管理してくれるとか、すごく魅力的な機能を持ったメーラとかもあるんだよなぁ。Mewでもprocmailとかいうの使うとできるの?やってみたことないからわからんけど...。

1999/10/16(Sat)

久々にCD-Rを焼くことにした。といってもいつもの音楽CDではなくてバックアップだ(本来はこちらの使い道の方が王道なんだろうけど(^^;))。

いつものようにこちらを参考にした。ほんとにいつもお世話になってるな〜。
で、またしても、やってることがちょっとだけ違うんでここに書いておくことにする。

まず、hogeというディレクトリを作り、そこにCDに焼きたいファイルを置く。で、以下。
#mkisofs -r -J -l -o hoge.img hoge
#mount -o loop hoge.img /mnt/cdrom 
  (イメージをそのままマウントして内容を確認する。
    ただし、カーネルコンパイル時にloop backデバイスをサポートしている必要あり)
#cdrecord dev=3,0 speed=8 -v -eject hoge.img
一度、hoge.imgというISOファイルに固めてから、CD-Rに焼く。これでOK。

そうそう、この前、こういうオプションをいちいち設定するくらいならX-CDRoastみたいなGUIのツール使えばいいじゃんと言われたんだよね。
もちろん、おいらも毎回こういうことをいちいちコマンドラインから打ってるなんて面倒臭いことをしているわけではなくて、シェルスクリプトにしてそれを使ってるんだよね。コマンド一回打てば、全部やってくれるようにしてるからGUIのツールを使うより楽だよ。
#シェルスクリプトについてはUnix関係の本を読めば絶対載ってると思うから知らない人は勉強すると良いことあるかも(つーか普通知ってるって?(^^;))。

ちなみに、mkisofsのオプションから今後使いそうなオプションの説明をmanから抜き出してみた。
-r ロックリッジプロトコルを使用するSUSP,RRレコードを生成し、かつuid,gidに0に、全てのユーザにread権,search権(って何だ?(^^;))を与え、実行権のあるファイルは全てのユーザに実行権を与え、write権をクリアする。
-J 通常のiso9660ファイル名にJoliet形式のディレクトリを使えるようにする。Joliet形式にすると、それぞれのパスでUnicode64文字まで使えるそうだ。主にWindowsで日本語使ったりする時に使うらしい。
-L .(ピリオド)で始まるファイルネームを許可する。通常は'.'(ピリオド)は'_'(アンダースコア)に変更される。
-l ロングファイルネーム(ファイル名長を32バイトまで許可する)を使用可能にする(通常は8.3形式)。
-o filename 生成するiso9660ディスクイメージ名。
-P publisher_id ディスクのボリュームヘッダに書き込む128バイトまでの文字列を指定する。通常は出版者のメールアドレスや電話番号を入れるんだそうだ。
-p preparer_id ディスクのボリュームヘッダに書き込む128バイトまでの文字列を指定する。通常はpreparer(作成者?)のメールアドレスや電話番号を入れるんだそうだ。
-T TRANS.TBLファイルをそれぞれのディレクトリに追加する。ロックリッジが使えないシステムで見る際に正しいファイル名がわかるようにするために使うそうだ。そういや、雑誌についてくるCD-ROMにはたまにこのファイルがあるね。今まで何のためにあるのかわからんかったけど、やっと今わかった(^^;)。
-b BOOTABLE CDを作る。って今のところあまり使いそうにないから割愛(^^;)。レスキュー用のCDを作っておくと後々役に立つんだろうな。

1999/10/09(Sat)

いつもお世話になってるKondara MNU/Linux Official Web siteがリニューアルしてオープンしたみたい。はやってるみたいね〜。ペンギン君もかわいらしくてグッド。
---
久しぶりにkooBaseの調子を見に行ったら、名前がBrahmsに変わってた(^^;)。ちなみにバージョンは0.97.2。でそこからリンクされてたARTSからaRts-0.3.4も一緒にゲット。
コンパイルにKDE環境が必要だった(?)ので、日本KDEユーザ会からrpmをいっぱい貰ってきた。
日本語版KDEではQT-1.44を使うので、以前入れたQT-2.0.1-1とecasound-1.5.12r6-1はとりあえずアンインストール。RPM作っておくとこういう時に便利だよね。にしても、src.rpm持ってきたんで、コンパイルにやたら時間かかったぜ(KDEのツール全部コンパイルしちゃったからね(^^;))。
で、KDEとBrahms-0.97.2とaRts-0.3.4を使ってみて感じたことなど。

KDE

GNOMEに比べると現時点では完成度はこちらの方が高い感じを受けた。最初の起動が異常に時間かかったんだけど、フォントの設定が悪いらしい。日本KDEユーザ会からgenqti18nrcという「.qti18nrc生成スクリプト」を使って(.qti18nrcはホームディレクトリに置くKDEフォントの設定ファイル).qti18nrcを作ったらだいぶ改善することができた。でも、XEmacsを起動する時にフォントの設定がおかしいってエラーメッセージが出るんだよね。これ何?

aRts-0.3.4

aRtsとはAnalog Realtime Synthesizer の略だそうだ。面白そう。にしてもインストールはいろいろ面倒だったな。

1. src/synthesizer/wav.ccの38行目あたりで、以下のように修正する。
(旧)
#include "audiofile.h"
}

(新)
#include "audiofile.h"
/*
}
*/
#endif
2.src/synthesizer/audiosubsys.ccの11行目あたりで、#include <errno.h>を追加する。
3. micoというCORBAの実装(Free!)を使うんだそうで、そちら(mico-2.3.0)もダウンロード&コンパイル&インストール。ただし、configure時に--disable-mini-stlを使うようにと書かれてる。
あとは、以下。
#configure --prefix=/usr --disable-mini-stl --with-qt=/usr --with-gtk=/usr --with-tcl=/usr
#make
#make install
KDEのアプリはインストールすると、勝手にスタートメニュー(ってKDEの場合も呼び方同じなんだろうか(^^;))から起動するのが楽だよね。
で、起動してたのは良いんだけど使い方わからん(T_T)。 多分、コンポーネントを組み立ててって音にするんだろうけど、どうすりゃいいの?(^^;)

Brahms-0.97.2

元kooBase。ブラームスってのは有名なクラシックの作曲家のことだろう。aRtsを使う場合は --enable-artsが必要。
#configure --prefix=/usr/kde --enable-arts --with-micodir=/usr
#make
#make install
すっかり忘れてたんだけど、起動時に/dev/rtcがないっていうエラーが出る。
rtcの設定をy(CONFIG_RTC=y)にしてカーネル再構築しても駄目だ。どうすりゃいいの?


つーわけで、せっかくインストールしたのに結局両方使えん(T_T)。何をしていたんだか。

そうそう、上記には単純にconfigure/makeする過程を書いたのだけど、実際は、勉強も兼ねてspecファイルからRPMファイルを作成してみた。やっぱ難しいねぇ。

さらに余談だけど、最近、ちょっとQT+KDE環境に魅力を感じてるのよね。日本語環境も整ってきたってのもあるんだけど、やっぱり音楽関係のソフトってKDEベースのものの方が進んでそう(?)だってのが一番大きいかな。でも、使えてないのがいけてない。ALSAがいかんのかおいらの設定がいかんのか、それともSound Blasterがいかんのか...。誰か教えてくれ〜!

1999/10/03(Sun)

週末暇だったんで、ホームページを一新してみました。タイトルも変えちゃった。ま、でも、中身はほとんど変わらんのよね〜、さみしいことに。

で、本題ですが、この前glibc入れ換えたらrunlevel=5で起動できなくなってしまったって書いたんだけど、ようやく復活したんで、これについてちょっと詳しくメモっておきます。

まずはrunlevelの話

Linuxでは、ブート時にどのプロセス(主にデーモン)を一緒に起動させてあげるかを数種類に分けて設定できるようになっているんだよね(これは他のUnixでもそうだと思うし、Windows95とかでいうとSAFE Modeとか選択できるのと同じだよね)。
ブート方法を何種類にするかっていうのはディストリビューションによって違うと思うんだけど、RedHatの場合(System V系というらしい)は、
0 halt(シャットダウン)
1 シングルユーザモード
2 マルチユーザモード(NFSなし)。ログイン画面はCUI(テキストの画面)
3 フルマルチユーザモード( 2 + NFS )
4 不使用
5 X11(GUIのログイン画面)
6 リブート
の6種類にわかれていて、それぞれのブート時に一緒に起動するプロセスは/etc/rc.d/配下のrc0.d/ 〜 rc6.d/ に設定されているわけ。ちなみにオイラのマシンの/etc/rc.d/rc3.d/を覗いてみると、
K05keytable@   K50snmpd@    K92apmd@     S40crond@     S87alsasound@
K10linuxconf@  K54inet@     K99syslog@   S50inet@      S90jserver@
K12jserver@    K60lpd@      S05apmd@     S60lpd@       S99linuxconf@
K14alsasound@  K64crond@    S11portmap@  S75keytable@  S99local@
K15httpd@      K65atd@      S20random@   S77sendmail@
K16ldap@       K80random@   S25network@  S80ldap@
K30mcserv@     K89portmap@  S30syslog@   S85httpd@
K35sendmail@   K90network@  S40atd@      S86mcserv@
ってなってる(ほとんどいじってないから使われていないのも入ってるかもね)。で、これらはすべて/etc/rc.d/init.d/配下へのシンボリックリンクになっていて、各ファイルの頭のSはスタート,Kはストップ(Kill(?))、数字は起動の優先順位という感じになってる。
/etc/rc.d/init.d/配下のファイルは通常シェルスクリプトになっているんで、興味のある人は覗いてみて。

上記例では、ブート時は apmd → network → portmap .... → local という順番で起動される。

ちょっと話はずれるんだけど、新たにプロセスを追加したい場合の話。
ここではhogeというシェルスクリプトをrunlevel=5で使うとします。なお、hogeというスクリプトは hoge start, hoge stop というコマンドでプロセスを起動/終了できなくてはいけないんでそこんとこ注意。
#cp hoge /etc/rc.d/init.d/.
#cd /etc/rc.d/rc5.d/
#ln -s /etc/rc.d/init.d/hoge S95hoge
#ln -s /etc/rc.d/init.d/hoge K90hoge
S95hogeとか、K90hogeなんかの数字は起動する優先順位なので、問題がないようにテキトーにつければ良いと思う、たぶん。

ちなみに、tksysvっていうのがRedHatに標準でついてくるから、それを使うと、GUI上で上記の設定ができるんでとっても便利。

/etc/inittabにデフォルトで起動するrunlevelを書く

デフォルトで、どのrunlevelで起動するのかというのは、/etc/inittabに書く。runlevel=5(GUIのログイン画面)で起動する場合は、
id:5:initdefault:
って書くわけ。runlevel=3なら
id:3:initdefault:
ね。

runlevelをブート時に指定する(liloの場合)

ブート時にliloを使っている人は、マシンの起動時に、LILO boot: みたいな感じの表示があってそこで、単に[return]とか、linux[return]とかやってると思う。これは/etc/lilo.confの設定によるから各自違うと思うんだけどね。
ここで、デフォルト以外の、例えば、runlevel=3で起動したい場合は
linux 3
ってやればいいし、シングルユーザモードで起動したい場合は
linux 1
ってやればいい。ただ、シングルユーザモードの時は
linux s
ってやるのが正しいみたい。詳しくはman initとしてみて。
で、おいらはこの前の件以来、linux 3でその場をしのいでたってわけ。

ログイン後にrunlevelを変えたい時(telinit)

ログイン後にrunlevelを変えたい時は、rootになって、telinit 3 とかする。runlevel=5にしたい場合は、 telinit 5ね。

話はちょっと変わってgdmについて

gdm(Gnome Display Manager)つーのは、RedHat6.0以降(?)で標準となったgtkを使ったプログラムで、ログインする前からXを起動して、GUIログイン画面を表示してくれる(厳密にはそれだけぢゃないんだけどね)っつー代物なんだよね。もともと、xdmというのが使われてたんだけどxdmよりおしゃれ&多機能にしたのがgdmっていう感じかな。
詳しくはman gdmっていいたいところだけど、gdmのmanページは現時点ではないようなので、/usr/doc/gdm*のドキュメントを読むか、man xdmってしてみてね。

でようやくgdmが動くようになった話

この前の件は具体的にはどんな現象かというと、ブートはして、最後のXを起動したところで、普通ならGUIのログイン画面が表示されるはずなんだけど、画面がチカチカしちゃって、うんともすんともいわなくなっちゃう。しょうがないから、[ctrl]+[alt]+[del]ってすると、きちんとシャットダウンの処理は行われる。
次に、LILO boot: で linux 3とすると、きちんと動作するし、startxでXを起動できる。

ちなみに、runlevel=3と5の違いは、極端な話(つーか、おいらのマシンに限定した話かも知れんが)、gdm(& X)を起動するかどうかの差だけなんだよね。
そんなわけで、原因はgdmだろうな〜というのはすぐにわかったんだよね。
gdmが動かなくなっちゃったのはgdmがglibc-2.1.2と相性が悪くなっちまったのが原因で、同じglibc-2.1.2を使うgdmなら動くだろ〜という安易な発想で、glibc-2.1.2をもらってきたのと同じ、ftp.kddlabs.co.jpの/Linux/distributions/RedHat/rawhide/i386/RedHat/RPMSからgdm-2.0beta2-7.i386.rpmを取り寄せてインストールし直したんだよね......これがいかんかった(^^;)。

結局、あれやこれや悩んだ挙げ句、gdmの設定ファイル/etc/X11/gdm/gdm.confに問題があるということがわかったんで以下のように修正した。
(旧)
Chooser=/usr/bin/gdmchooser --disable-sound --disable-crash-dialog
Greeter=/usr/bin/gdmlogin --disable-sound --disable-crash-dialog
(新)
Chooser=/usr/bin/gdmchooser --disable-sound
Greeter=/usr/bin/gdmlogin --disable-sound
う〜ん。RedHatの開発者の方たちは、gdm使ってるとしたら気づくはずだし、もしかしたら、別におかしいところがあるのかな〜。ま、動いたからよしとしましょう(^^;)。
ふぅ。それにしても、道のりは遠かったけど、書いてみるとこれだけなんだよね...ま、そんなもんか(^^;)。

P.S.

実は、今回、gdmが動かなくなってから、以下のこともしたんだよね。もしかしたら関係あるかも。
  1. XFree86-3.3.3(xtt版)をXFree86-3.3.5(xtt版)にバージョンアップ(glibc-2.1.2環境でコンパイルし直した)
  2. gtk+-1.2.4.ja-0.1,gtk+-devel-1.2.4.ja-0.1をgtk+-1.2.5.ja,gtk+-devel-1.2.5.ja-0.1にバージョンアップ(glibc-2.1.2環境でコンパイルし直した)
  3. glib+-1.2.4-0.1をglib-1.2.5-0.1にバージョンアップ(glibc-2.1.2環境でコンパイルし直した)
※以上はすべてKondara MNU/Linuxから頂いてます)


[前の月へ] [メニューへ] [次の月へ]