Debian GNU/Linux 2.0 (Hamm) のインストール

Sony VAIO PCG-505X に Debian GNU/Linux 2.0 (しばしば Hamm と呼ばれます) をインストールしました。そのときのインストールメモです。めちゃめちゃ適当なのであんまり参考にならないかもしれません。脈絡のない散文となりつつあります。あぁ…。

いつの間にか slink に…

もともと hamm のインストールメモだったにもかかわらず、unstable な package にどんどんアップグレードしていっているうちに、いつの間にか slink になってしまいました(/etc/debian_version まで slink に…)。というわけで、普通に hamm を stable な環境として使っている人には役に立たない情報がだんだん増えていくかもしれませんが、ご容赦ください。

Install の前に

Debian-JP のページと、Debian-Users ML の Q&A のページは必ず読んでおきましょう。非常にタメになります。

また VAIO という意味ではマトイさんのページが非常に役に立ちました。

Install のキソ

僕は今回、ftp install を試みました。ftp install を行うためには、

  • rescue、driver、base の各 FD (計7枚)を作成する。
  • base system を Install 後、dselect にて必要な Package を Install。

という手順を踏みます。一番最初に dselect にて Package 導入を行う場合、かなり多くの Package がデフォルトで選択された状態になっていますから、必要の無い Package は削除するようにした方が良いでしょう。(とくに僕のように 28.8K モデムで ftp install するような場合には・笑)

また、デフォルトで用意されているカーネルには、APM 関連など Note PC では必須の機能が組み込まれていませんので、kernel-source などのパッケージも忘れずに追加しておいてください。

X の設定

Debian-JP の Package に含まれる XFree86 Server には、なんと始めから X-TT パッチ、neomagic パッチがあたっていますから、とりあえずそれを Install して /etc/X11/XF86Config を適当に設定してあげれば VAIO でもすぐに X が使えるようになります。XF86Config ファイルは自分で1から作ってもいいですが、Web で公開してくださっている方もたくさんいらっしゃいますから、そういったところからダウンロードさせてもらうと簡単でしょう。

X の設定(2)

neomagic patch の当たった SVGA サーバでとりあえず通常の使用においては不自由なく行えるのですが、やはりアクセラレーション無し、という環境はちょっとツライです。そこで、先日 RedHat から公開された XBF_NeoMagic を使い、「アクセラレーション付き、ナオカツ TrueType enabled」な環境を作ってみました。

まず、Debian-jp の xserver-freetype が問題なく動いていることが前提です。X-TT のマニュアルなどを参考にしつつ、TryeType font 用のディレクトリ、fonts.dir なども作成しておいてください。

XBF_NeoMagic の X server には当然ながら X-TT パッチは統合されていませんので xfs を利用する必要があります。まず今のうちに xfs の設定をしてしまいましょう。Debian の場合これは簡単で、

  • /etc/X11/xfs/config を用意する。
  • /etc/X11/config に「start-xfs」の一行を追加する。
  • /etc/X11/XF86Config に「FontPath "tcp/localhost:7100"」の一行を追加する。
  • /etc/init.d/xfs start とするか、reboot して xfs を起動する。
だけで終了です。ちなみに僕の /usr/X11/xfs/config は次のようになっています。 ポイントは catalogue に TrueType フォントのディレクトリを、deferglyphs に 16 または all を指定、port に使用するポートを指定すること、位でしょうか。port に指定した数字を XF86Config の FontPath でも指定します。

次に、ftp://ftp.redhat.com/pub/XBF/ から XBF-neomagic-glibc.1.1.0-1.i386.tgz を取ってきて、適当なディレクトリで展開します。出てきたファイルのうち、usr/X11R6/bin/XBF_NeoMagic を適当なバイナリディレクトリに(僕は /usr/local/bin にいれました)、XF86Config.neomagic を /etc/X11 にコピーします。

XF86Config.neomagic に対し、現在の XF86Config から設定を移します。FontPath や section "keyboard"、"pointer"、"screen" などの設定を移しましょう。その後、元の XF86Config を mv した後、XF86Config.neomagic を XF86Config に mv します。

さらに、/etc/X11/Xserver ファイルの最初の行を XBF_NeoMagic を指すように変更します。僕の場合は「/usr/local/bin/XBF_NeoMagic」ですね。

最期に、/usr/X11R6/bin/startx スクリプトを書き換えます。スクリプトの先頭にある「serverargs=""」という行を「serverargs="-deferglyphs 16"」とします。

以上で終了です。xfs が立ち上がっていることを確認の上、X を再立ち上げ(startx を使ってください)すれば、晴れてアクセラレーションの効いた環境となるはずです。WindowMaker をご使用ならば WindowShade などで速さを実感しましょう:-)。

X の設定(3)

unstable な package へどんどんアップグレードしていってしまっているうちに、いつの間にか slink 環境になってしまったのですが、すると特に X 関連 package が動かなくなることが多くなってきました。debian-users ML で聞いたところによると、どうやら slink の X は X_LOCALE がセットされた状態で作成されており、hamm のそれはセットされていないので hamm-jp の X を使っていると動かなくなってしまう、ということでした。そこで、これを機会に X 関連 package を本家のものへ置き換えてしまうことにしました。X-TT 関連はすでに xfs 経由で使用することにしていますので問題はないのです(もちろん X-TT 対応 xfs は別にインストールする必要があります)。

現在のところ、slink 本家に含まれる X 関連 package よりも hamm-jp、slink-jp に含まれる X 関連 package の方が version が高くなってしまっています。したがって、dselect ではインストールすることが出来ません。そこで、本家の X 関連 package を ftp してき、dpkg -i でインストールすることにします。

必要な package は以下の通りです。

  • xbase
  • xext
  • xlib6
  • xlib6g
それと、X-TT 対応 xfs を単独でインストールするための xfs-tt、libxserver-support(xtt 対応のもの)を project-jp/experimental から持ってきてインストールします。以上で完了です。XF86Config や xfs/config は前に設定したものをそのまま使用できます。

これで X 関連 package も slink K\2H$K6a$$>uBV$H$J$j!"F0$+$J$+$C$? package(WindowMaker など)も無事に動くようになったのですが、今度は逆に困った問題が現れました。X_LOCALE がセットされたライブラリになってしまったために、日本語環境でも libc6 の locale で動いていたプログラム(Java や Netscape)が動かなくなってしまうのです。

本当は X_LOCALE をそれらのプログラムが正常に動作するよう変更するのがスジなのでしょうが、僕には locale に関する知識がありません。そこで、_Xsetlocale をフックして libc6 の setlocale を呼んでしまう so を作り、それを LD_PRELOAD することで対処することにしました。

下記のファイルをコメントにしたがってコンパイルし、動かなくなってしまったプログラムの起動前に LD_PRELOAD するようにします。この方法で JDK、Netscape は再び動作するようになりました。

近々 slink 用の X-TT package がリリースされるようで、非常に楽しみです。

WindowMaker+kinput2 での blink 現象解消

僕は Window Manager として WindowMaker を使っているんですが、デフォルトの状態では kterm などで kinput2 の変換 Window を開いた途端に blinking (点滅)してしまい、日本語入力が出来ません。これを解消するには、modeShell.Kinput2 (変換 Window)のアトリビュートに SlipWindowList = Yes、Unfocusable = Yes を設定します。もちろん NoTitleBar = Yes や NoResizeBar = Yes も設定しておくとよりそれらしくなります。

発振音に関して

マトイさんのページを参考に Kernel の再構築を行うと、APM 関係、Sound 関係とも使えるようになります。ところが一つだけ困った問題がありまして、Resume 時にスピーカから発振音が出てしまうことがあるのです。VAIO-ML で伺った情報をまとめてみると、

  • 発振音の正体はハウリング。
  • 入力系のボリュームを下げておくと改善される。
  • Sound 関連モジュール(OSS?)をアップデートすると改善される。

とのことです。すべて試してみましたが、どの手も完全な解決方法ではないように思います。というのも、確かに音量を下げておくことでハウリングは起こらなくなるのですが、マイクとスピーカーが直結されてしまう、という謎な現象は変わらないからです。どうしてこんなことになってしまうのでしょうか…。

JDK1.1.6v2(glibc2版)での日本語入力

Java なメーラーを常用しているものとしては、JDK にて日本語入力が出来ないと致命的です。そこで、glibc2 環境での JDK 日本語入力法をまとめます。ただし、現状で日本語入力できているのは Swing や KFC のような Lightweight Component に対してのみです。java.awt.TextField/TextArea などの Heavyweight Component には入力できていません。

日本語直接入力を可能にするには次のような手順で行います。

  • glibc2 のロケールを正常化する wcsmbs-locales を導入します。Debian ならば同名の Package があります。
  • kinput2 で入力するための設定(XMODIFIERS や Resouces)をします。
  • $JAVA_HOME/lib/font.properties.ja を適当に設定して、日本語がちゃんと出るようにします。とりあえずデフォルトのままでも大丈夫なようです。
  • /usr/share/locale/ja 以下に、/usr/share/locale/ja_JP.ujis と同じファイルを用意します。シンボリックリンクを張ってしまうと簡単でしょう。なお、/usr/share/locale/locale.alias ではダメなようです。
  • 環境変数 LANG を ja に設定します。ja 以外(ja_JP.ujis など)では Encoding を EUC として認識してくれません。

以上です。Heavyweidht Component への入力に関してはちょっと研究中です。


1997,1998 Copyright (C) T.Kazawa