Difference between revisions of "Xorg (日本語)"
m (→参照) |
m |
||
Line 26: | Line 26: | ||
{{Article summary wiki|Window Manager (日本語)}} | {{Article summary wiki|Window Manager (日本語)}} | ||
{{Article summary wiki|Font Configuration}} | {{Article summary wiki|Font Configuration}} | ||
− | {{Article summary wiki| | + | {{Article summary wiki|Cursor Themes (日本語)}} |
{{Article summary wiki|Get All Mouse Buttons Working}} | {{Article summary wiki|Get All Mouse Buttons Working}} | ||
{{Article summary wiki|Desktop Environment (日本語)}} | {{Article summary wiki|Desktop Environment (日本語)}} |
Revision as of 10:59, 25 February 2013
zh-CN:Xorg zh-TW:Xorg Template:Article summary start Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary wiki Template:Article summary heading Template:Article summary wiki Template:Article summary wiki Template:Article summary end
Xorg は X window system バージョン 11 の公然なオープンソース実装です。Linux ユーザーの中で Xorg が一番ポピュラーな選択となってから、GUI アプリケーションにとって Xorg は欠かせない存在となり、ほとんどのディストリビューションで広く採用されています。詳しくは Wikipedia の Xorg や Xorg のウェブサイト を見て下さい。
Contents
- 1 インストール
- 2 起動
- 3 設定
- 4 入力デバイス
- 5 グラフィック
- 6 コンポジット
- 7 設定例
- 8 Tips and tricks
- 9 トラブルシューティング
- 9.1 共通問題
- 9.2 Ctrl+Alt+Backspace が動作しない
- 9.3 右 CTRL キーが oss キーマップとして動作しない
- 9.4 Apple キーボードの問題
- 9.5 タッチパッドのタップクリックの問題
- 9.6 追加のマウスボタンが認識されない
- 9.7 "su" で X クライアントの起動が失敗する
- 9.8 プログラムが "font '(null)'" を要求する
- 9.9 フレームバッファモード問題
- 9.10 Matrox カードで DRI が停止する
- 9.11 リカバリ: GUI ログインの前に Xorg を無効化
- 9.12 X が起動できない: Keyboard initialization failed
インストール
X サーバーをインストールするには、まず公式リポジトリの xorg-server パッケージをインストールする必要があります。また、便利なユーティリティを xorg-apps グループからインストールすることもできます。
Udev があなたのハードウェアを検知し、evdev がほとんど全てのデバイスのホットプラグ・インプットドライバとして動作します。Udev は systemd によって提供され、xf86-input-evdev は xorg-server から必要とされます。従ってこれらのパッケージを別個にインストールする必要はありません。
起動
ディスプレイマネージャを使わずに X を起動したいなら、xorg-xinit パッケージをインストールしてください。任意で、下で述べているデフォルト環境のために xorg-twm, xorg-xclock, xterm もインストールできます。
startx
や xinit
コマンドで X サーバーとクライアントを起動します (startx
スクリプトは単に xinit
コマンドのフロントエンドにすぎません)。起動するクライアントを決めるために、まず startx
/xinit
はユーザーの home ディレクトリにある ~/.xinitrc
ファイルをパースします。~/.xinitrc
がない場合、代わりにユーザー共通の /etc/X11/xinit/xinitrc
ファイルが使われます。このファイルにはデフォルトで Twm ウィンドウマネージャ、Xclock、Xterm のベーシックな環境を起動します。
/etc/X11/xinit/xserverrc
で管理されています。startx
の代わりに xinit
を使う場合は、-nolisten tcp
を渡して、異なる tty で X を起動することでセッションが破壊されることがないようにしてください。詳しくは xinitrc (日本語) を見て下さい。
- 問題が発生したら、
/var/log/Xorg.0.log
のログを見て下さい。(EE)
(エラーを意味する) や(WW)
(警告などを示す) で始まっている行をチェックする必要があります。 - あなたの
$HOME
に空の.xinitrc
ファイルがある場合、X を正しく起動するためにそれを削除するか編集してください。それをしないと X はXorg.0.log
に何のエラーも残さずに黒画面を表示します。削除したときはデフォルトの X 環境が起動するようになります。
設定
/etc/X11/xorg.conf.d
に提供しており、ほとんどの場合、追加の設定は必要ありません。複数のファイルを使う
/etc/X11/xorg.conf.d/
ディレクトリにはユーザー定義の設定を保存します。あなたは自由に設定ファイルを /etc/X11/xorg.conf.d/
に追加することができますが、ファイル名には XX-
(XX は数字です) を先頭につけ拡張子は .conf
である必要があります (例えば 10 は 20 より早く読み込まれます)。これらのファイルは X サーバーの起動時にパースされ従来の xorg.conf 設定ファイルの一部として扱われます。基本的に X サーバーは設定ファイルの集合を xorg.conf の最後のエントリとしてひとつの大きなファイルとして扱います。
ひとつのファイルを使う
/etc/X11/xorg.conf
や /etc/xorg.conf
で Xorg を設定することもできます。xorg.conf のスケルトンを生成するには
# Xorg :0 -configure
上のコマンドで /root/
に xorg.conf.new
ファイルが作られるはずです。あなたはこれを /etc/X11/xorg.conf
にコピーすることができます。詳しくは man xorg.conf
を見て下さい。
もしくは、あなたのビデオカードドライバに自動で Xorg を設定するツールが含まれているかもしれません。NVIDIA の場合、nvidia-xconfig を試して下さい。ATI のプロプライエタリドライバの場合、aticonfig を試して下さい。
入力デバイス
ハードウェアのほとんどはインプットドライバのインストールを必要としません。とは言え、evdev があなたのデバイスをサポートしていない場合は、xorg-drivers グループから必要なドライバをインストールしてください (pacman -Sg xorg-drivers
で一覧できます)。
/etc/X11/xorg.conf.d
ディレクトリには 10-evdev.conf
が必要です。これはキーボード・マウス・タッチパッド・タッチスクリーンを管理します。
Touchpad Synaptics
Main page: Touchpad Synaptics
ラップトップを使っている場合、公式リポジトリの xf86-input-synaptics パッケージによって提供されるタッチパッドドライバをインストールする必要があります。
インストールすると、/etc/X11/xorg.conf.d
ディレクトリに 10-synaptics.conf
が作られます。10-evdev.conf
のタッチパッドに関する InputClass
行をコメントアウト・削除しても問題ありません。
ホットプラグの無効化
バージョン 1.8 から Xorg-server はデバイスの検知に udev を使っています。以下によって udev の使用を無効にできます。
Section "ServerFlags" Option "AutoAddDevices" "False" EndSection
キーボード設定
Xorg はあなたのキーボードの検出を失敗するかもしれません。このときキーボードレイアウトやキーボードモデルが正しくセットされない問題が起こる可能性があります。
キーボードモデル、レイアウト、変数とオプションの一覧を見るには、/usr/share/X11/xkb/rules/xorg.lst
を開いて下さい。
現在の Xorg セッションにキーマップをセットするには:
# setxkbmap dvorak
キーのリピート速度と遅延時間
xset r rate DELAY RATE
を使って下さい、xinitrc (日本語) を使えば設定を永続的にできます。
キーボード設定の表示
$ setxkbmap -print -verbose 10
Setting verbose level to 10 locale is C Applied rules from evdev: model: evdev layout: us options: terminate:ctrl_alt_bksp Trying to build keymap using the following components: keycodes: evdev+aliases(qwerty) types: complete compat: complete symbols: pc+us+inet(evdev)+terminate(ctrl_alt_bksp) geometry: pc(pc104) xkb_keymap { xkb_keycodes { include "evdev+aliases(qwerty)" }; xkb_types { include "complete" }; xkb_compat { include "complete" }; xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)" }; xkb_geometry { include "pc(pc104)" }; };
キーボードレイアウトの設定(ホットプラグ)
キーボードレイアウトを変えるには、以下の内容で number-*.conf
ファイル (例: 10-keyboard.conf
) を作成してください:
/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "us" Option "XkbVariant" "colemak" EndSection
または、XkbLayout
と XkbVariant
をまとめることもできます:
/etc/X11/xorg.conf.d/10-keyboard.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbLayout" "us(colemak)" EndSection
キーボードレイアウトの設定(ホットプラグなし・非推奨)
キーボードレイアウトを変えるには、キーボードの InputDevice セクションで XkbLayout オプションを使って下さい。例えば、あなたが英語(グレートブリテン)レイアウトのキーボードを持っている場合、あなたのキーボード InputDevice セクションを以下のようにします:
Section "InputDevice" Identifier "Keyboard0" Driver "kbd" Option "XkbLayout" "gb" EndSection
キーボードモデルを変更するには、キーボードの InputDevice セクションで XkbModel オプションを使って下さい。例えば、あなたのキーボードが Microsoft Wireless Multimedia Keyboard の場合:
Option "XkbModel" "microsoftmult"
キーボードレイアウトの切り替え
簡単にキーボードレイアウトを切り替えられるようにするには、上記の2つのメソッドにあるそれぞれの Option を修正してください。例えば、英語とスウェーデン語のレイアウトを Template:Keypress キーを使って切り替えるようにするには、以下の内容で /etc/X11/xorg.conf.d/01-keyboard-layout.conf
ファイルを作成します:
Section "InputClass" Identifier "keyboard-layout" MatchIsKeyboard "on" Option "XkbLayout" "us, se" Option "XkbOptions" "grp:caps_toggle" EndSection
または、次の行を .xinitrc
に加えることでも可能です:
setxkbmap -layout "us, se" -option "grp:caps_toggle"
主としてあなたが動作させているデスクトップ環境がキーボードレイアウトの世話を見ないときに便利になるでしょう。
/usr/share/X11/xkb/rules/xorg.lst
の中を探して下さい。それぞれ ! layout
と ! option
のセクションの下にあります。設定ファイルでもコマンドラインでも同じ値を使うことができます。マウスキーを有効にする
現在マウスキーはデフォルトで無効にされているので手動で有効にする必要があります:
/etc/X11/xorg.conf.d/20-enable-pointerkeys.conf
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "keypad:pointerkeys" EndSection
次を実行することでも可能です:
$ setxkbmap -option keypad:pointerkeys
どちらでも Template:Keypress ショートカットがマウスキーに使われるようになります。
InputClass
参照: https://fedoraproject.org/wiki/Input_device_configuration
InputClass は、ひとつのデバイスではなく「あるクラス」のデバイス(ホットプラグのデバイスを含む)に適用される新しいタイプの設定セクションです。InputClass セクションの適用範囲は指定された match によって決まります – 入力デバイスに適用するには、全ての match をデバイスにあてがう必要があります。例えば InputClass セクションは以下のように使われます:
Section "InputClass" Identifier "touchpad catchall" MatchIsTouchpad "on" Driver "synaptics" EndSection
次のスニペットも理解するのに役立つかもしれません:
Section "InputClass" Identifier "evdev touchpad catchall" MatchIsTouchpad "on" MatchDevicePath "/dev/input/event*" Driver "evdev" EndSection
このスニペットが xorg.conf
や xorg.conf.d に存在する場合、システム上の全てのタッチパッドに synaptics ドライバが割り当てられます。優先順位 (xorg.conf.d の英数字の順番) によってドライバーの設定は前の設定を上書きすることに注意してください – 一般的なクラスほど、初めの方に置くべきです。xorg-x11-drv-Xorg パッケージによって提供されるデフォルトのスニペットは 00-evdev.conf
であり、全ての入力デバイスに evdev ドライバを割り当てます。
match オプションによってセクションを適用するのはどのデバイスなのか指定します。全ての match 行を満たしたデバイスだけに、セクションが適用されます。使うことができる match は以下の通り:
-
MatchIsPointer
,MatchIsKeyboard
,MatchIsTouchpad
,MatchIsTouchscreen
,MatchIsJoystick
– デバイスグループに適用するための boolean オプション。 -
MatchProduct "foo|bar"
: 製品の名前に "foo" か "bar" が含まれているデバイスにマッチ -
MatchVendor "foo|bar|baz"
: 製造者(ベンダー)名に "foo" や "bar"、"baz" が含まれているデバイスにマッチ -
MatchDevicePath "/dev/input/event*"
: デバイスパスが一致しているデバイスにマッチ (利用できるパターンは fnmatch(3) を見て下さい) -
MatchTag "foo|bar"
: "foo" や "bar" といったタグが付けられたデバイスにマッチ。タグはバックエンドの設定 – udev – によって指定され特別な設定が必要なデバイスをラベリングします。
ユーザー定義設定のためのセクションの例:
Section "InputClass" Identifier "lasermouse slowdown" MatchIsPointer "on" MatchProduct "Lasermouse" MatchVendor "LaserMouse Inc." Option "ConstantDeceleration" 20 EndSection
このセクションは、"Lasermouse Inc." によって作られた "Lasermouse" という名前を持つポインティングデバイスにマッチし、デバイスには 20 の値の constant deceleration が適用されます &ndash 20倍マウスの速度が遅くなります。
X サーバーによって扱って欲しくないデバイスがあるかもしれません。設定によってそうしたデバイスを無視させることができます:
Section "InputClass" Identifier "no need for accelerometers in X" MatchProduct "accelerometer" Option "Ignore" "on" EndSection
設定例
以下のサブセクションでは一般的に使われる設定オプションのための設定例を記述しています。あなたが GNOME や KDE などのデスクトップ環境を使っている場合、xorg.conf に設定したオプションはログイン時にユーザー定義オプションによって上書きされてしまう可能性があります。
例: (トラックポイント用の) ホイールエミュレーション
トラックポイントのある PC (例: Thinkpad) を使っている場合、以下を xorg.conf
に追加することでミドルボタンを使ってマウスホイールをエミュレートできます:
Section "InputClass" Identifier "Wheel Emulation" MatchIsPointer "on" MatchProduct "TrackPoint" Option "EmulateWheelButton" "2" Option "EmulateWheel" "on" EndSection
(横スクロールを含む) トラックポイントの完全なサポートをするには以下を使って下さい:
Section "InputClass" Identifier "Trackpoint Wheel Emulation" MatchProduct "TPPS/2 IBM TrackPoint|DualPoint Stick|Synaptics Inc. Composite TouchPad / TrackPoint|ThinkPad USB Keyboard with TrackPoint|USB Trackpoint pointing device" MatchDevicePath "/dev/input/event*" Option "EmulateWheel" "true" Option "EmulateWheelButton" "2" Option "Emulate3Buttons" "false" Option "XAxisMapping" "6 7" Option "YAxisMapping" "4 5" EndSection
例: Tap-to-click
Tap-to-click は(タッチパッドタブの)マウス設定ダイアログから有効にすることができますが、gdm でタップを有効にする必要があるなら、以下のスニペットを使って下さい:
Section "InputClass" Identifier "tap-by-default" MatchIsTouchpad "on" Option "TapButton1" "1" EndSection
例: Acer 5920G ラップトップのキーボードレイアウト・モデル
キーボードモデルやレイアウトは /etc/X11/xorg.conf.d/keyboard.conf
ファイルや同じディレクトリの他の .conf ファイルで設定できます。
-
MatchIsKeyboard "yes"
: 入力デバイスをキーボードに設定 -
Option "XkbModel" "acer_laptop"
: キーボードモデルを Acer ラップトップキーボードに設定。acer_laptop
はあなたの使っているキーボードに置き換えられます。 -
Option "XkbLayout" "jp"
: キーボードレイアウトを日本語に設定。jp
は使いたいレイアウトに変えることができます。 -
Option "XkbVariant" "sundeadkeys"
: レイアウトのバリアントを Sun dead keys に設定。デフォルトのバリアントを使うならXkbVariant
オプションは省略できます。
キーボードレイアウト・モデルのリストは /usr/share/X11/xkb/rules/base.lst
にあります。
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbModel" "acer_laptop" Option "XkbLayout" "jp" Option "XkbVariant" "sundeadkeys" EndSection
例: (3ボタンマウス用の) 中ボタンのエミュレーション
中ボタンのエミュレーションによって、右・左ボタンを一緒に押すことで3つ目のボタンのイベントを発動させるようにすることができます。これは X でのコピーアンドペーストに役に立つでしょう。
/etc/X11/xorg.conf.d/10-evdev.conf
の mouse input catchall を修正します
Section "InputClass" Identifier "evdev pointer catchall" MatchIsPointer "on" MatchDevicePath "/dev/input/event*" Driver "evdev" Option "Emulate3Buttons" "True" Option "Emulate3Timeout" "25" EndSection
Option "Emulate3Buttons" "True"
オプションで3ボタンのエミュレートを有効にして Option "Emulate3Timeout" "25"
オプションで中ボタンのクリックとして認識する時間を 25ms としています。
グラフィック
ドライバのインストール
デフォルトのグラフィックドライバは vesa (xf86-video-vesa) で、多くのチップセットをサポートしていますが 2D 又は 3D アクセラレーションは含まれていません。グラフィックアクセラレーションを有効にするには、あなたのグラフィックカードに合わせてドライバをインストールする必要があります。
まず、あなたのカードを確認してください:
$ lspci | grep VGA
それから、適切なドライバをインストールしてください。次のコマンドでパッケージを検索できます:
$ pacman -Ss xf86-video
一般的なオープンソースドライバ:
- NVIDIA: xf86-video-nouveau (Nouveau を参照)
- Intel: xf86-video-intel (Intel を参照)
- ATI: xf86-video-ati (ATI を参照)
一般的なプロプライエタリドライバ:
- NVIDIA: nvidia (NVIDIA を参照)
- ATI: catalystAUR (ATI Catalyst を参照)
Xorg はクローズドソースのドライバがなくともスムーズに動作しますが、ゲームのための高速な 3D レンダリングやデュアルスクリーン、TV 出力などの高度な機能を使うために必要になるかもしれません。
モニター設定
はじめに
デュアルモニタや nouveau ドライバを使う場合はこのステップは任意ではありません。Nouveau#Configuration を見て下さい。
まず、/etc/X11/xorg.conf.d/10-monitor.conf
のような、新しい設定ファイルを作成します。
作成した設定ファイルに以下のコードを挿入してください:
Section "Monitor" Identifier "Monitor0" EndSection Section "Device" Identifier "Device0" Driver "vesa" #Choose the driver used for this monitor EndSection Section "Screen" Identifier "Screen0" #Collapse Monitor and Device section to Screen section Device "Device0" Monitor "Monitor0" DefaultDepth 16 #Choose the depth (16||24) SubSection "Display" Depth 16 Modes "1024x768_75.00" #Choose the resolution EndSubSection EndSection
マルチモニター/デュアルスクリーン
NVIDIA
複数のグラフィックカード
利用するドライバを正しく定めてグラフィックカードのバス ID を入力する必要があります。
Section "Device" Identifier "Screen0" Driver "nouveau" BusID "PCI:0:12:0" EndSection Section "Device" Identifier "Screen1" Driver "radeon" BusID "PCI:1:0:0" EndSection
バス ID を取得するには:
$ lspci | grep VGA 01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)
この場合バス ID は 1:0:0。
ラップトップでディスプレイの表示を切り替えるスクリプト
Run the following script after connecting to external displays with your computer to change the display used by Xorg. It checks if a display is connected to the port specified in EXT
before changing displays.
To find out the display names to be specified in EXT
run:
# xrandr -q
The internal display should be connected when running the script, which is always true for a laptop. To use this script the package xorg-xrandr needs to be installed.
#!/bin/bash IN="LVDS1" EXT="VGA1" if (xrandr | grep "$EXT" | grep "+") then xrandr --output $EXT --off --output $IN --auto else if (xrandr | grep "$EXT" | grep " connected") then xrandr --output $IN --off --output $EXT --auto fi fi
画面サイズと DPI
X サーバーの DPI は以下の順番で決定されます:
- -dpi コマンドラインオプションが一番優先されます。
- オプションが使われていない場合、X 設定ファイルの DisplaySize 設定が DPI の設定に使われます。
- DisplaySize が設定されていない場合、DDC のモニターサイズ値が DPI の設定に使われます。
- DDC がサイズを指定していない場合、75 DPI がデフォルトで使われます。
In order to get correct dots per inch (DPI) set, the display size must be recognized or set. Having the correct DPI is especially necessary where fine detail is required (like font rendering). Previously, manufacturers tried to create a standard for 96 DPI (a 10.3" diagonal monitor would be 800x600, a 13.2" monitor 1024x768). These days, screen DPIs vary and may not be equal horizontally and vertically. For example, a 19" widescreen LCD at 1440x900 may have a DPI of 89x87. To be able to set the DPI, the Xorg server attempts to auto-detect your monitor's physical screen size through the graphic card with DDC. When the Xorg server knows the physical screen size, it will be able to set the correct DPI depending on resolution size.
To see if your display size and DPI are detected/calculated correctly:
$ xdpyinfo | grep -B2 resolution
Check that the dimensions match your display size. If the Xorg server is not able to correctly calculate the screen size, it will default to 75x75 DPI and you will have to calculate it yourself.
If you have specifications on the physical size of the screen, they can be entered in the Xorg configuration file so that the proper DPI is calculated:
Section "Monitor" Identifier "Monitor0" DisplaySize 286 179 # In millimeters EndSection
If you only want to enter the specification of your monitor without creating a full xorg.conf create a new config file. For example (/etc/X11/xorg.conf.d/90-monitor.conf
):
Section "Monitor" Identifier "<default monitor>" DisplaySize 286 179 # In millimeters EndSection
If you do not have specifications for physical screen width and height (most specifications these days only list by diagonal size), you can use the monitor's native resolution (or aspect ratio) and diagonal length to calculate the horizontal and vertical physical dimensions. Using the Pythagorean theorem on a 13.3" diagonal length screen with a 1280x800 native resolution (or 16:10 aspect ratio):
echo 'scale=5;sqrt(1280^2+800^2)' | bc # 1509.43698
This will give the pixel diagonal length and with this value you can discover the physical horizontal and vertical lengths (and convert them to millimeters):
echo 'scale=5;(13.3/1509)*1280*25.4' | bc # 286.43072 echo 'scale=5;(13.3/1509)*800*25.4' | bc # 179.01920
手動で DPI を設定する
使う解像度が一つの場合 DPI を手動で設定することができます (DPI calculator):
Section "Monitor" Identifier "Monitor0" Option "DPI" "96 x 96" EndSection
NVIDIA カードを使っているのなら、/etc/X11/xorg.conf.d/20-nvidia.conf
内で以下のオプションを (Device セクションに) 追加して DPI を手動設定できます:
Option "UseEdidDpi" "False" Option "DPI" "96 x 96"
RandR に対応しているドライバなら、次のコマンドでも設定できます:
xrandr --dpi 96
設定を永続的にするには Execute commands after X start を見て下さい。
Note: while you can set any dpi you like and applications using Qt and GTK will scale accordingly, it's recommended to set it to 96, 120 (25% higher), 144 (50% higher), 168 (75% higher), 192 (100% higher) etc., to reduce scaling artifacts to GUI that use bitmaps. Reducing it below 96 dpi may not reduce size of graphical elements of GUI as typically the lowest dpi the icons are made for is 96.
DPMS
DPMS (Display Power Management Signaling) はコンピュータが使われていない時にモニターを省電力モードに移行させる技術です。一定時間後にモニタを自動で standby にすることができます。DPMS を見て下さい。
コンポジット
X の Composite 拡張によってウィンドウ階層のサブツリー全体がオフスクリーンバッファにレンダリングされます。アプリケーションはバッファの内容を取得できるようになります。オフスクリーンバッファは親のウィンドウに自動的にマージされるか、コンポジットマネージャと呼ばれる外部のプログラムによってマージされます。
The Composite extension can't be used simultaneously with Xinerama. However, it can be used simultaneously with Nvidia Twinview.
拡張を無効にする
コンポジット拡張はデフォルトで有効になっています。無効にするには、以下を xorg.conf か /etc/xorg.conf.d 下のファイルに加えてください:
Section "Extensions" Option "Composite" "Disable" EndSection
無効にすることでドライバによってはパフォーマンスが少し向上することがあります。
参照
- AIGLX
- Compiz -- Novell によるオリジナルのコンポジット・ウィンドウマネージャ
- Xcompmgr -- シャドウと透過ができるシンプルなコンポジットマネージャ
- Compton -- 機能の追加とバグフィックスを行った xcompmgr のフォーク
- Cairo Composite Manager -- 拡張性のあるコンポジットマネージャ、レンダリングに cairo を使用
- Wikipedia:Compositing window manager
設定例
Anyone who has an xorg.conf
file written up that works, go ahead and post a link to it here for others to look at. Please do not in-line the entire configuration file; upload it somewhere else and link to it.
Please post input hotplugging configurations only, otherwise note that your config is not using input hotplugging. (Xorg 1.8 = udev)
例1: xorg.conf
& /etc/X11/xorg.conf.d/10-evdev.conf
This is a sample configuration file using /etc/X11/xorg.conf.d/10-evdev.conf
for the keyboard layouts:
/etc/X11/xorg.conf.d/10-evdev.conf
is taking care of them.xorg.conf
: http://pastebin.com/raw.php?i=EuSKahkn/etc/X11/xorg.conf.d/10-evdev.conf
: http://pastebin.com/raw.php?i=4mPY35Mw/etc/X11/xorg.conf.d/10-monitor.conf
(VMware): http://pastebin.com/raw.php?i=fJv8EXGb/etc/X11/xorg.conf.d/10-monitor.conf
(KVM): http://pastebin.com/raw.php?i=NRz7v0Kn
Tips and tricks
X スタートアップ (/usr/bin/startx
) 調整
X のオプションを見るには:
$ man Xserver
The following options have to be appended to the variable "defaultserverargs"
in the /usr/bin/startx
file:
- Enable deferred glyph loading for 16 bit fonts:
-deferglyphs 16
/usr/share/config/kdm/kdmrc
ファイルの "ServerArgsLocal"
や "ServerCmd"
に加える必要があります。デフォルトの kdm オプションは:
ServerArgsLocal=-nolisten tcp ServerCmd=/usr/bin/X
ネストした X セッション
他のデスクトップ環境に入れ子になったセッションを起動するには:
$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1
上記で現在の X セッションの中に 1024x768 のウィンドウの Window Maker セッションが起動します。
このためには xorg-server-xnest パッケージをインストールする必要があります。
リモートで GUI プログラムを実行する
(ssh など) リモートでログインしている時に、X を使うプログラムを起動するには、リモートログインの Bash シェルから以下を実行する必要があります:
export DISPLAY=:0
それからシェルからプログラムを呼び出してください。
Hint: 上の行を ~/.bashrc に追加すればログイン毎に毎回自動で実行されます。
必要に応じて入力ソースを有効化・無効化
xinput
を使えば一時的に入力ソースを有効化・無効化することができるようになります。ThinkPad のように複数のマウスがあって、どちらか片方だけ使いたい時などに役立ちます。
xinput
をインストールしてください: # pacman -S xorg-xinput無効化したいデバイスの ID を調べて下さい:
xinput
例えば Lenovo ThinkPad T500 では、出力は以下のようになります:
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ TPPS/2 IBM TrackPoint id=11 [slave pointer (2)] ⎜ ↳ SynPS/2 Synaptics TouchPad id=10 [slave pointer (2)] ⎣ Virtual core keyboard id=3 [master keyboard (2)] ↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)] ↳ Power Button id=6 [slave keyboard (3)] ↳ Video Bus id=7 [slave keyboard (3)] ↳ Sleep Button id=8 [slave keyboard (3)] ↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)] ↳ ThinkPad Extra Buttons id=12 [slave keyboard (3)]
xinput --disable DEVICE
(DEVICE は無効化したいデバイスの ID) でデバイスを無効にします。次の例では Synaptics Touchpad の ID 10 を無効にします:
xinput --disable 10
デバイスを有効にするには、次のコマンドを実行してください:
xinput --enable DEVICE
トラブルシューティング
共通問題
Xorg が起動しない、画面が真っ暗、キーボードやマウスが動かないなどの場合は、まず以下の手順を踏んで下さい:
- ログファイルをチェック:
cat /var/log/Xorg.0.log
- インプットドライバをインストール (キーボード、マウス、ジョイスティック、タブレット、etc...)。
- 最後に、ATI、Intel、NVIDIA の記事に問題の解決方法が載ってないか調べる。
Ctrl+Alt+Backspace が動作しない
Template:Keypress を戻すにはホットプラグの有りなしによって2つの方法があります; ホットプラグを使うほうが推奨されます。
ホットプラグ
ユーザー共通
/etc/X11/xorg.conf.d/10-evdev.conf
内に、以下を追加してください:
Section "InputClass" Identifier "Keyboard Defaults" MatchIsKeyboard "yes" Option "XkbOptions" "terminate:ctrl_alt_bksp" EndSection
ユーザー定義
次の行を xinitrc (日本語) に追加することでも可能です:
setxkbmap -option terminate:ctrl_alt_bksp
ホットプラグなし
新しい Xorg はデフォルトで Template:Keypress のザッピングを無効にしています。以下の行を /etc/X11/xorg.conf
のキーボードの InputDevice
セクションに追加することで有効にできます。
Option "XkbOptions" "terminate:ctrl_alt_bksp"
右 CTRL キーが oss キーマップとして動作しない
root で /usr/share/X11/xkb/symbols/fr
を編集して:
include "level5(rctrl_switch)"
を
// include "level5(rctrl_switch)"
に変更して X を再起動してください。
Apple キーボードの問題
- 参照: Apple Keyboard
タッチパッドのタップクリックの問題
- 参照: Synaptics
追加のマウスボタンが認識されない
"su" で X クライアントの起動が失敗する
"Client is not authorized to connect to server" と表示される場合、次の行を /etc/pam.d/su
に追加して下さい:
session optional pam_xauth.so
pam_xauth
が正しく環境変数を設定し xauth
キーを管理します。
プログラムが "font '(null)'" を要求する
- エラーメッセージ: "unable to load font `(null)'."
いくつかのプログラムはビットマップフォントでだけ動作します。2つの主要なビットマップフォントのパッケージがあります、xorg-fonts-75dpi と xorg-fonts-100dpi です。両方は必要ありません、片方だけで十分です。どちらがあなたに適しているか調べるには、次を実行してください:
$ xdpyinfo | grep resolution
それからあなたに適している方を使って下さい (XX は 75 か 100 に置き換える):
# pacman -S xorg-fonts-XXdpi
フレームバッファモード問題
以下のログメッセージを残して X の起動が失敗する場合、
(WW) Falling back to old probe method for fbdev (II) Loading sub module "fbdevhw" (II) LoadModule: "fbdevhw" (II) Loading /usr/lib/xorg/modules/linux//libfbdevhw.so (II) Module fbdevhw: vendor="X.Org Foundation" compiled for 1.6.1, module version=0.0.2 ABI class: X.Org Video Driver, version 5.0 (II) FBDEV(1): using default device Fatal server error: Cannot run in framebuffer mode. Please specify busIDs for all framebuffer devices
fbdev をアンインストールしてください:
# pacman -R xf86-video-fbdev
Matrox カードで DRI が停止する
Matrox カードを使っていて Xorg をアップグレードすると DRI が停止する場合、次の行を xorg.conf
のビデオカードの Device セクションに追加してください:
Option "OldDmaInit" "On"
リカバリ: GUI ログインの前に Xorg を無効化
Xorg を自動的に起動するように設定していて、なんらかの理由でログイン・ディスプレイマネージャが表示される前に Xorg が起動するのを防ぎたい場合(例えば、/etc/rc.conf
を間違って設定したせいで Xorg がマウスやキーボード入力を受け付けない場合)、2つのメソッドを使ってこれを達成できます。
- GRUB メニューから、kernel 行の最後に数字を付けることでランレベルを指定することができます。以下の例ではランレベルは 3 にセットされます:
kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/..ro 3
- 誤って
/etc/rc.conf
を設定して Xorg を使えなくしただけでなく、GRUB メニューの待ち時間をゼロに設定、または起動時から Xorg を無効にするのに GRUB を使えない場合、Arch Linux のライブ CD を使って下さい。ライブ CD を起動して root でログインします。/mnt
のようなマウントポイントが必要なので、マウントしたいパーティションの名前を知る必要があります。
- 次のコマンドを使ってパーティションを見ることができます。
# fdisk -l
- 通常、あなたがマウントするパーティションは
/dev/sda1
です。それから、パーティションを/mnt
にマウントします、次を実行してください
# mount /dev/sda1 /mnt
- これでファイルシステムが
/mnt
の下に表示されるようになります。例えば、/etc/rc.conf
ファイルは/mnt/etc/rc.conf
にあります。ここから、gdm
デーモンを削除するなど設定ファイルの必要な変更を行なって下さい。
X が起動できない: Keyboard initialization failed
ハードディスクが満杯の場合、startx は失敗します。/var/log/Xorg.0.log
の最後が次のようになるはずです:
(EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap (EE) XKB: Failed to load keymap. Loading default keymap instead. (EE) Error compiling keymap (server-0) (EE) XKB: Couldn't compile keymap XKB: Failed to compile keymap Keyboard initialization failed. This could be a missing or incorrect setup of xkeyboard-config. Fatal server error: Failed to activate core devices. Please consult the The X.Org Foundation support at http://wiki.x.org for help. Please also check the log file at "/var/log/Xorg.0.log" for additional information. (II) AIGLX: Suspending AIGLX clients for VT switch
root パーティションに空き容量を作ってから X を起動してください。