Libretto L5にLinuxをインストール
《X-Windowの設定》

2002.8/15


【X-Windowの設定】



0.概要
     XF86の設定、フォントの設定などを行う。
     TurboLinuxでは、TrueTypeフォント利用の調整が予想外に大変だった(やり方がわかってしまえば設定作業そのものは大したことはないが)。
     また、通常の設定ではキーボードの挙動に異常があった(Librettoに固有の現象)ので、修正した。
1.Xの初期設定
     TurboLinuxでは、RedHat系のようにインストール時に設定までは行われなかった。
     インストール後、xf86cfgかxf86configで行う。XF86Setupはインストールされていない。
     xf86cfgでは、ほとんど自動化されており、何も作業しなくてもあっけないほど簡単に設定が完了し、以後問題なく起動した。画面サイズを1280x600に指定しなおす作業すら必要なかった。
     なお、設定ファイルは、TurboLinuxでは/etc/X11/XF86Configであるが、Vineでは/etc/X11/XF86Config-4である。これは、VineではXFree86の旧バージョン3も利用できるようになっており、このバージョンの利用時、/etcX11//XF86Configファイルが参照されるからである。TurboLinuxではバージョン4のみのインストールであり、/etc/X11/XF86Configというディフォルトの名称が使用されている。
2.表示色数の変更
     xf86cfgのディフォルト設定では、表示色数(Depth)が8bit=256色となっている。ビデオメモリ8MのL5では、当然1600万色が可能なので、XF86ConfigのSection "Screen"に以下の行を加える。
      DefaultDepth 24
3.Xkbの無効化
     XF86インストール後、高速でキー入力すると、キーが多重に入ってしまう現象が生じる。例えば、lsと打ったつもりが、llsとかlss、llssなどと入力される。
     一文字ずつゆっくり行えばこうしたことは起きないので、何らかの無駄なアクションを行っている可能性はあるが、コンソールのキーボードではこれは起きないので、X側の問題と言ってもよいと思われる。この現象は、Vineをインストールした際にも起きていた。
     オートリピート機能の問題ではないことは確認した。

     コンソールのキーボードで問題がないとすれば、Xkbの機能の問題と考えられる。
     そこで、XF86Configの、キーボードのSection "InputDevice"(マウスも同じセクション名なので注意)に、以下の行を加える。
      Option "XkbDisable"
     なお、Xkbの機能を要求するアプリもあり、それが使えなくなる場合があるので注意すること。
4.システムキー設定
     私は、CapsLockとCtrlキーを入れ替えて使用している。しかし、上記のようにXkbを無効化すると、『Option "XkbOptions" "ctrl:swapcaps"』も効かなくなってしまう。
     そこで、コンソールのシステムキーそのものから入れ替えてやる。RedHat系には、kbdconfigというツールで簡単に行えるが、手作業でも別段ややこしくはない。/etc/sysconfig/keyboardのKEYTABLEエントリを、下記のようにjp106からjp106_Ctrl_CAPSに変更するだけである。
        KEYTABLE="jp106_Ctrl_CAPS"
     これにより、システムコンソールも含めてCtrlキーとCaps Lockキーを入れ替えて使えるようになる。
     なお、ここで選択可能なテーブルは、/usr/lib/kbd/keymaps/i386/qwerty/の下に、「キーマップ名称+.kmap.gz」(jp106ならjp106.kmap.gz)という名前のファイルで格納されている。
     もっといろいろなキーマップ変更が必要な場合は、Xmodmapを利用する。
5.USBマウス対応
     一般的なUSBマウスについては、ディフォルトの状態でなんら問題なく認識する。
     ただし、xf86cfgの設定では、本体のポインティングデバイスのみ有効となるよう記述され、外付けのUSBマウスは認識してもそのままではX-Windowでは利用できない。
     常にUSBマウスのみを使用するのであれば話は簡単で、XF86Configファイルのマウスのセクションを、以下のように書き換える。
                Section "InputDevice"
                	Option	    "Protocol" "PS/2"
                	Option	    "Device" "/dev/mouse"
                           ↓
                Section "InputDevice"
                	Option	    "Protocol" "IMPS/2"
                	Option	    "Device" "/dev/input/mice"
        
     しかし通常は、外出時は本体のポンイティングデバイスを、自宅やオフィスでは外付けUSBマウスを使うというようなパターンが多いと思われる。そこで、本体のデバイスのほか、USBマウスがつながればそちらが使えるように、以下の設定を行う。
     (1) XF86Configの設定-1
       USBデバイスが有効になったら使用できるように、PS/2マウスのエントリの後に、以下の記述を追加する。
                  Section "InputDevice"
                  	Identifier  "Mouse9"
                  	Driver      "mouse"
                  	Option	    "Protocol" "IMPS/2"
                  	Option	    "Device" "/dev/input/mice"
                  	Option      "ZAxisMapping" "4 5"
                  	Option      "AlwaysCore"
                  EndSection
                
     (2) XF86Configの設定-2
       上記Mouse9のIdentifierを認識するよう、ServerLayoutセクションに、下記のようにMouse9デバイスの記述を追加する。
                  Section "ServerLayout"
                  	Identifier     "XFree86 Configured"
                  	Screen      0  "Screen0" 0 0
                  	InputDevice    "Mouse0" "CorePointer"
                  	InputDevice    "Mouse9" "SendCoreEvents"
                  	InputDevice    "Keyboard0" "CoreKeyboard"
                  EndSection
                
     (3) USBのpreload設定
       Xサーバ起動時にUSBマウスが未接続でもXサーバがデバイスにアクセスできるように、以下の記述を/etc/murasaki/murasaki.preloadに加えておく。
                      mousedev
                      hid
                      uhci
                      uhci
                
     ホイールスクロールについては、特に設定なくそのまま使用できる。
6.TrueTypeフォントの使用
     TrueType(スケーラブル)フォントの使用については、標準のXの環境では、Vineなどと比較して、意外な難があった。一言でいうと、使用できるモジュールや設定ファイルは準備されているが、ディフォルトではTrueTypeフォントを利用できるようになっていないのである。
     現在の洗練されたLinuxのデスクトップ環境では、WEBブラウジング一つとっても、TrueTypeフォントの利用は不可欠である。そのため、多少苦労しながら、問題なく利用できるところまで持ち込んだ。
     結論的な設定のみ記述しても良いが、トラブルシューティングの参考としても活用できるよう、順を追って説明する。私が実際に行った方法のみ知りたい場合は、下記(5)をみていただきたい。
     (1) フォントサーバの設定と起動
       従来のビットマップフォントのXF86Configファイルへの設定同様、フォントの設定は、そのパスをフォントサーバ用の設定ファイルに記述することで行う。具体的には、/etc/X11/XtConfigのdirエントリ、および/etc/X11/fs/configのcatalogueエントリのいずれかに指定する。
       フォントサーバxfsの起動は、Vineでは/etc/rc.d/init.d/xfs(およびそのリンク)で行われるよう、ディフォルトで設定されている。これに対して、TurboLinuxでは、各種設定ファイルは設定済みであるものの、xfsの起動は自動で行われるようになっていない。このため、/etc/rc.d/rc.localなどに、
         /usr/X11R6/bin/xfs -daemon -droppriv
      といった要領で記述して起動するのが一般的である。
     (2) フォントサーバへのアクセス
       TurboLinuxでは、Xサーバ本体はフォントサーバにアクセスするように設定されていない。
       フォントサーバの提供するフォントリソースを利用するには、XF86Configの"Files"セクションに、以下の行を追加しなければならない。
         FontPath "unix/:7100"
       この設定の結果、gimpやMozillaなどXアプリケーションは、フォントサーバの提供するフォントにアクセスできるようになる。
     (3) Xサーバ本体のスケーラブルフォントアクセス対応
       バージョン4とXttのパッチの当たったバージョン3のXサーバは、フォントサーバ経由でのフォントリソースアクセスの他、直接TrueTypeフォントにアクセスすることも可能である。バージョン4については、この場合、そのためのモジュール指定が必要である。
       Vineでは、標準でそのように設定されており、XF86Config-4に直接スケーラブルフォントのパスを指定すれば、直接TrueTypeの利用が可能となる。
       一方TurboLinuxでは、Xサーバの設定が、スケーラブルフォント利用モジュールのロード指定を含んでいないので、フォントサーバを経由せずにスケーラブルフォントを利用するには、"Module"セクションに、
         Load "xtt"
      の行を追加しなければならない。
     (4) 設定方法の選択
       以上から、TrueTypeフォントの利用には、モジュールを指定して本体でアクセスするようにする方法と、フォントサーバを利用する方法があることが理解される。
       理論的はどちらでもよく、Libretto L5並のパワーのあるハードならパフォーマンスという点で差異はないといってよいが、TurboLinuxの場合は、後者だと問題が生ずる。ディフォルトの日本語フォントの設定に失敗するのである。
       この結果、gimpなどのアプリケーションのメニュー表示に使用されるフォントがシングルバイトフォントに設定されてしまい、日本語部分がすべて化けてしまう。
       詳細な原因は不明だが、とりあえず本体サーバで利用する設定である限り問題はないので、深追いせずにこの方法でいくことにした。

     (5) 実際に行った設定
       以上、ダイジェストにまとめると、次のようになる。
      • フォントサーバは使わず、X本体からモジュールでフォントにアクセスする。
        このため、/etc/X11/XF86Configの"Module"セクションに、『Load "xtt"』行を追加した。
      • スケーラブル(TrueType)フォントは、以下のようにXF86ConfigのSection "Files"に記述する。
          Section "Files"
            FontPath "/usr/X11R6/lib/X11/fonts/ttf-zh"
            FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
      • 任意のディレクトリ(ここでは/home/fonts)にWindows用や商用など追加のフォントを置き、fonts.dirファイルを作ってから上記Section "Files"にパスを追加する。
            FontPath "/home/fonts"

     なお、私は年賀状ソフトなどに付属しているWindows用フォントを使用している。
     MicrosoftがOSとともに提供しているフォント(Ms-gothic, Ms-minchoなど)は、MicrosoftがWin以外のOSでの利用を認めていないという話を聞いたことがある(これだけフォントが安くなれば、もう問題にもならないのかも知れないが…)。
     サポートしないという条件付きでOS/2のフォント利用を認めたIBMと対照的な、いかにもMicrosoftらしい対応だが、それならマシンを買うたびに必要もないWinのOSライセンスを抱き合わせで買わされているPC-UNIXユーザたちに、ライセンス料を返金したらどうだと思うのは、私だけではないと思われる。そのお金で商用のフォントはいくらでも買えるのである。




トップ

Prev:インストール← →Next:PCMCIAアダプタ、サウンドの設定

Home

メール neyubacca@yahoo.co.jp