2007年9月18日火曜日

キャパシティを大幅に越えている・・・!

昨日になって初めて、SCIM-Bridgeなるパッケージの存在を知りました。GTKやQtにIM-moduleの機構が取り入れられたのは割と最近でしたが、それをSCIMも利用しようじゃないのというパッケージです(細かく説明すればちょっと違いますが)。
こいつを利用することで入力関係の不具合が改善される・・・らしいです(ぉ と言うのも、入れたのが昨日の夜中なので、まだあんまり試せていないんですよね(苦笑
GTKは割と早くからIM-moduleを取り入れていたのですが、Qtが結構遅かったんですね。まぁQtはもともと日本語入力関連とは相性が悪いことで有名ですから(ぁ、それは半ば仕方のないことなのですが。
で、色々とバグを抱えつつもSCIM-Bridgeなるものがリリース、修正を加えて今に至るらしい。リリースされたのはFC5の頃の模様。ぜんっぜん気付かなかった^^;
まぁSCIM-Bridgeを使っていなくてもGTKやQtアプリで日本語の入力は可能です。XIMプロトコル経由で行えば済む話だったりします。
ただ、これは利用者側の話で、開発者側からするとXIM経由、というかSCIM-Bridgeを利用しない場合、メンテが非常に大変なんだとか。
確かに、SCIMはライブラリのバージョンに非常にうるさいパッケージです。glibcとかを更新したらSCIMが起動しないとか、あるいはSCIMを更新したらアプリが起動しないなんてことも良くありました(苦笑 そのあたりの不都合を解消するためのパッケージがSCIM-Bridgeだそうです。
ただ、SCIMに依存していたわけではないらしく、今までの更新に引っかかったことはありませんでした。昨日、xinitrc絡みでXの起動プロセスを追いかけている際、xinputrcのスクリプトの中身を見てたまたま気付いただけでした。
「ん?im-scim-bridge.so?なんじゃそれ?」
で、ぐぐってみたらそげなパッケージがあると。で、インストールしましたよ、と。
ひょっとしたらFedoraを新規で入れても入ってないかもです。大学のPCはFC6を新規で入れましたが、多分scim-bridgeは入ってないです。今までの更新で引っかかった記憶がありませんので。
こーゆー風に、新規パッケージは山ほど増えてくるけれど、それをどうやって知るか。そしてさらに、自分にとって必要なパッケージをどのようにして取捨選択するか。これが難しくなってきてます。
昔は公式のパッケージ数も知れていたので、FTPを直接覗いて
「なんか面白いパッケージねーかなー?」
なんて探したりしてましたが、今は公式だけでもかなりのパッケージ数があり、なおかつその中から自分に必要、あるいは興味を惹くようなパッケージを探し出すのは骨です。パッケージ名からでは中身が分からないものも少なくないですし。
まぁ最近では「ペンギンの杜」のような、Linuxのお勧めパッケージを紹介するサイトもちょくちょく現れてますので、そこいらから情報を仕入れてもいいんですが、Linuxはディストリビューションによって癖がかなり異なるのでそれだけじゃ中々追いつかないんですね。
まして今回のSCIM-Bridgeのような非常に"地味"なパッケージはそういった紹介サイトには現れにくいですしね。
ふむ、紹介サイトや@itにも紹介されないような地味な更新とかパッケージの紹介を昔見たく細々と復活させるかなぁ。amaroKとかsuperkarambaとかの日本語の情報は少ないからなぁ。
自分の知ってることをまとめておくだけでも多少の価値はあるやも知れないな。
あるいは既にそういう紹介をやってるサイトに協力するとか。もうちっと色々と調べてみましょうかね。
ここでだらだら書くのも好きなんですけどね(笑)
さて、「続きを読む」にはCDライティングのお話。トラブル記です。


さてこっちではCDライティングのお話。
今日、CDを焼こうと思ったんですね。音楽CDでも作ろうと思ったのですが、楽曲がOggであるため、WinよりはLinuxの方が楽だと思いK3Bで焼くことに。
で、CDに書き込む曲を選び、いざ焼こうとしたらエラー発生。
そう言えばちょいと前、DMA転送を無効にしないとなぜか焼けないとかいうことがあったなーということを思い出し、DMA転送を無効に。
# hdparm -D0 /dev/cdwriter
しかし、ここでエラーというか、失敗。んなコマンド、受け付けないぜ、と。
なんでやねんとか思って何度か挑戦するもダメ。コマンドを間違えたかな〜と思って過去の自分の投稿を確認して、ようやく気付きました。
過去の投稿では、
# hdparm -D0 /dev/hdc
こうしてたんですね。今回はhdcではなくcdwriterを引数に与えました。/dev/cdwriterはただのシンボリックリンクで、それを引数に与えること自体は間違っていないのですが、シンボリックリンクの参照元がまずかった。参照元デバイスがsr0となってたんですね。
これ、何がまずいって、IDEデバイスとしてではなく、SCSIとして認識されているということ。SCSIにはhdparmコマンドは基本的に無効なんですな。
割と最近、IDEデバイスだろうとなんだろうと、全てSCSIとして認識されるようにkernelが更新されました。
まぁその時にはhomeパーティションを割り当てていたIDEのHDDがSCSIとして認識され、/etc/fstabが書き換えられていなかったために起動に失敗するというトラブルにあったため良く覚えています(苦笑
でこの変更により、CD/DVD-RWドライブもSCSIとして認識されるようになったんですね。まぁSATAは最初からSCSIとして認識されますし、最近では光学ドライブもSATAとなってきていますからこの流れもある程度は仕方がないのでしょう。
それはともかく、どうやらCdが焼けないのはIDEドライブがSCSIとして認識されることにあるようなのです。DMA転送はとりあえず関係ない模様。
で、エラーメッセージを基にぐぐってみたりしたのですが、SCSIとして認識されるようにkernelが変更されたのは割と最近な為か、有用な情報を得ることが出来ず。残念ながら解決には到りませんでした。
CD自体はWindowsで焼けば済む話なのでどうということはないですが、何か釈然としないですねぇ。
そもそも、一昔前はむしろide-scsiエミュレーションでlilo.confにカーネルオプションを書き足し、IDEドライブをSCSIに見せていたわけで、ライティングツール自体はSCSIの扱いの方が慣れているハズなんですがねぇ。
まぁ、権限がないという旨のエラーだったので、デバイスに一般ユーザの書き込み権限を与える必要があったかも知れません。ほんとか?とは思いますが^^;
まぁCDを焼くというのは私以外にもたくさんいるでしょうし、そのうち情報が転がってくるかも。たまには色々と調べておかなくてはなぁ。