2015-05-09

X.Orgの設定を探る

今まで有耶無耶にググって使えるようにしてきたX.Orgの設定ですが、LMDE2 Betsyのインストール時にノウハウが違ってたのでどう解決したもんかなと思いちょっと調べたので、今回備忘がてら書き残しておこうかと。

xorg.confはmanがあった
「あれが動かないんだけどどうすればいいの?」という疑問は基本的にRTFM問題だったというオチであります。
なんで、疑問を持ったらman 5 xorg.confしてからという話なんですが、やっぱりというかなんと言うかそもそもmanが長いのも確かで、掻い摘んで設定ファイルをどこから読むのかなーというところを見ても、一般ユーザーの場合
  • /etc/X11/<cmdline>
  • /usr/etc/X11/<cmdline>
  • /etc/X11/$XORGCONFIG
  • /usr/etc/X11/$XORGCONFIG
  • /etc/X11/xorg.conf
  • /etc/xorg.conf
  • /usr/etc/X11/xorg.conf.<hostname>
  • /usr/etc/X11/xorg.conf
  • /usr/lib/X11/xorg.conf.<hostname>
  • /usr/lib/X11/xorg.conf
追加configファイルは
  • /etc/X11/<cmdline>
  • /etc/X11/xorg.conf.d

rootユーザーの場合
  • <cmdline>
  • /etc/X11/<cmdline>
  • /usr/etc/X11/<cmdline>
  • $XORGCONFIG
  • /etc/X11/$XORGCONFIG
  • /usr/etc/X11/$XORGCONFIG
  • /etc/X11/xorg.conf
  • /etc/xorg.conf
  • /usr/etc/X11/xorg.conf.<hostname>
  • /usr/etc/X11/xorg.conf
  • /usr/lib/X11/xorg.conf.<hostname>
  • /usr/lib/X11/xorg.conf
追加configファイルは
  • <cmdline>
  • /etc/X11/<cmdline>
  • /etc/X11/xorg.conf.d
それでもって、ベンダ提供とかサードパーティーとかローカル管理者がファイルを置くべきディレクトリは
  • /usr/share/X11/xorg.conf.d
と書かれているので、実は割とどこにあっても読み込んでくれそうだなぁという感覚でFHSに則るとより良いかなというのがmanを読んだ後の感想です。

で、LMDEではどこに置けばいいの?
先週LMDEをクリーンインストールした時に置いた場所は/usr/share/X11/xorg.conf.dなんですが[1]、「ローカル管理者が置くファイル」に該当するのでここにしたというのと、DebianのWiki[2]でもここになってたからというのが理由です。

かつてのDebianではどうなっていたのか?
ところが、「ThinkPad トラックポイント Linux」とかで探すと/usr/share/X11/xorg.conf.dに置いてる記事が(日本語では)1件もなかったので、昔は違ったんだろうなぁという事情が見えてきます。
件のDebianのWikiの「TrackPoint scrolling on Squeeze and later」を見ると、gpointing-device-settingsパッケージを入れる記述がありますが、lenny以降はorphanで2011年の更新が最後になっている状態です。
xinputパッケージを使う場合は~/.xsessionrcにコマンドを書いておく方法が書かれています。
lennyでは/etc/X11/xorg.confの中のConfigured Mouseセクションに書き足す方法が書かれています。

設定値はどうやれば探れるのか?
20-thinkpad.confに記述する値はIdentifierとかMatchProductとかMatchDevicePathとかがいきなりしれっと書かれていますが、これらの値は本当はどうやって見つけるべきなのか。
DebianのWikiにコマンドが書かれています。
# dmidecode -t 21
# dmidecode 2.12
SMBIOS version fixup (2.33 -> 2.3).
SMBIOS 2.3 present.

Handle 0x002E, DMI type 21, 7 bytes
Built-in Pointing Device
    Type: Track Point
    Interface: PS/2
    Buttons: 3
# cat /proc/bus/input/devices
(snip)
I: Bus=0011 Vendor=0002 Product=000a Version=0000
N: Name="TPPS/2 IBM TrackPoint"
P: Phys=isa0060/serio1/input0
S: Sysfs=/devices/platform/i8042/serio1/input/input7
U: Uniq=
H: Handlers=mouse0 event7
B: PROP=0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3
(snip)
これらの値を持ってくるのが正解というところでしょうか。
dmidecodeコマンドを初めて知ったんですが、type(-t/--type)で0(BIOS)から42(Management Controller Host Interface)まで情報が見えるのでこれから使ってみようかなと思います。

[1] http://utimukat55.blogspot.jp/2015/05/lmde-2-betsythinkpad.html
[2] https://wiki.debian.org/InstallingDebianOn/Thinkpad/Trackpoint のTrackpoint Scrolling on Wheezy or Jessie

0 件のコメント:

コメントを投稿