Difference between revisions of "Xorg (日本語)"

From ArchWiki
Jump to: navigation, search
m (トラブルシューティング)
Line 618: Line 618:
===Ctrl+Alt+Backspace が動作しない===
===Ctrl+Alt+Backspace が動作しない===
There are two ways of restoring {{Keypress|Ctrl+Alt+Backspace}}; with and without input-hotplugging. Using hot-plugging is recommended.
{{Keypress|Ctrl+Alt+Backspace}} を戻すにはホットプラグの有りなしによって2つの方法があります; ホットプラグを使うほうが推奨されます。
Within {{ic|/etc/X11/xorg.conf.d/10-evdev.conf}}, simply add the following:
{{ic|/etc/X11/xorg.conf.d/10-evdev.conf}} 内に、以下を追加してください:
Section "InputClass"                                                             
Section "InputClass"                                                             
Line 634: Line 634:
Another way is to put this line in [[xinitrc]]:
次の行を [[xinitrc (日本語)]] に追加することでも可能です:
  setxkbmap -option terminate:ctrl_alt_bksp
  setxkbmap -option terminate:ctrl_alt_bksp
{{Note|This setting has no effect on Gnome 3.}}
{{Note|この設定は Gnome 3 では効果がありません。}}
New Xorg disables zapping with {{keypress|Ctrl+Alt+Backspace}} by default. You can enable it by adding the following line to {{ic|/etc/X11/xorg.conf}},
新しい Xorg はデフォルトで {{keypress|Ctrl+Alt+Backspace}} のザッピングを無効にしています。以下の行を {{ic|/etc/X11/xorg.conf}} のキーボードの {{ic|InputDevice}} セクションに追加することで有効にできます。
  Option                    "XkbOptions" "terminate:ctrl_alt_bksp"
  Option                    "XkbOptions" "terminate:ctrl_alt_bksp"
to {{ic|InputDevice}} section for keyboard.
===CTRL right key does not work with oss keymap===
===CTRL キーが oss キーマップとして動作しない===
Edit as root {{ic|/usr/share/X11/xkb/symbols/fr}}, and change the line :
root {{ic|/usr/share/X11/xkb/symbols/fr}} を編集して:
{{bc|include "level5(rctrl_switch)"}}
{{bc|include "level5(rctrl_switch)"}}
{{bc|// include "level5(rctrl_switch)"}}
{{bc|// include "level5(rctrl_switch)"}}
Then restart X or reboot.
に変更して X を再起動してください。
===Apple keyboard issues===
===Apple キーボードの問題===
:''参照: [[Apple Keyboard]]''
:''参照: [[Apple Keyboard]]''
===Touchpad tap-click issues===
:''参照: [[Synaptics]]''
:''参照: [[Synaptics]]''
===Extra mouse buttons not recognized===
:''参照: [[Get All Mouse Buttons Working]]''
:''参照: [[Get All Mouse Buttons Working]]''
===X clients started with "su" fail===
==="su" で X クライアントの起動が失敗する===
If you are getting "Client is not authorized to connect to server", try adding the line:
"Client is not authorized to connect to server" と表示される場合、次の行を {{ic|/etc/pam.d/su}} に追加して下さい:
  session        optional        pam_xauth.so
  session        optional        pam_xauth.so
to {{ic|/etc/pam.d/su}}. {{ic|pam_xauth}} will then properly set environment variables and handle {{ic|xauth}} keys.
{{ic|pam_xauth}} が正しく環境変数を設定し {{ic|xauth}} キーを管理します。
===プログラムが "font '(null)'" を要求する===
===プログラムが "font '(null)'" を要求する===
*エラーメッセージ: "''unable to load font `(null)'.''"
*エラーメッセージ: "''unable to load font `(null)'.''"
Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, {{Pkg|xorg-fonts-75dpi}} and {{Pkg|xorg-fonts-100dpi}}. You do not need both; one should be enough. To find out which one would be better in your case, try this:
いくつかのプログラムはビットマップフォントでだけ動作します。2つの主要なビットマップフォントのパッケージがあります、{{Pkg|xorg-fonts-75dpi}} {{Pkg|xorg-fonts-100dpi}} です。両方は必要ありません、片方だけで十分です。どちらがあなたに適しているか調べるには、次を実行してください:
  $ xdpyinfo | grep resolution
  $ xdpyinfo | grep resolution
and use what is closer to you (75 or 100 instead of XX)
それからあなたに適している方を使って下さい (XX は 75 100 に置き換える):
  # pacman -S xorg-fonts-XXdpi
  # pacman -S xorg-fonts-XXdpi
Line 691: Line 690:
===Matrox カードで DRI が停止する===
===Matrox カードで DRI が停止する===
If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:
Matrox カードを使っていて Xorg をアップグレードすると DRI が停止する場合、次の行を {{ic|xorg.conf}} のビデオカードの Device セクションに追加してください:
  Option "OldDmaInit" "On"
  Option "OldDmaInit" "On"
to the Device section that references the video card in {{ic|xorg.conf}}.
===リカバリ: GUI ログインの前に Xorg を無効化===
===リカバリ: GUI ログインの前に Xorg を無効化===
If Xorg is set to boot up automatically and for some reason you need to prevent it from starting up before the login/display manager appears (if {{ic|/etc/rc.conf}} is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.
Xorg を自動的に起動するように設定していて、なんらかの理由でログイン・ディスプレイマネージャが表示される前に Xorg が起動するのを防ぎたい場合(例えば、{{ic|/etc/rc.conf}} を間違って設定したせいで Xorg がマウスやキーボード入力を受け付けない場合)、2つのメソッドを使ってこれを達成できます。
*From the GRUB menu, you can specify the runlevel in the kernel line by adding a number to the end of the kernel line specifying the run level you want. The following example sets the run level to 3:
*GRUB メニューから、kernel 行の最後に数字を付けることでランレベルを指定することができます。以下の例ではランレベルは 3 にセットされます:
   kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/..ro 3
   kernel /boot/vmlinuz-linux root=/dev/disk/by-uuid/..ro 3
*If you have not only a faulty {{ic|/etc/rc.conf}} to make Xorg unusable, but you have also set the GRUB menu wait time to zero, or cannot otherwise use GRUB to prevent Xorg from booting, you can use the Arch Linux live CD. Boot up the live CD and login as root. You need a mount point, such as {{ic|/mnt}}, and you need to know the name of the partition you want to mount.
*誤って {{ic|/etc/rc.conf}} を設定して Xorg を使えなくしただけでなく、GRUB メニューの待ち時間をゼロに設定、または起動時から Xorg を無効にするのに GRUB を使えない場合、Arch Linux のライブ CD を使って下さい。ライブ CD を起動して root でログインします。{{ic|/mnt}} のようなマウントポイントが必要なので、マウントしたいパーティションの名前を知る必要があります。
:You can use the command,
   # fdisk -l
   # fdisk -l
:to see your partitions. Usually, the one you want will be resembling {{ic|/dev/sda1}}. Then, to mount this to {{ic|/mnt}}, use
:通常、あなたがマウントするパーティションは {{ic|/dev/sda1}} です。それから、パーティションを {{ic|/mnt}} にマウントします、次を実行してください
   # mount /dev/sda1 /mnt
   # mount /dev/sda1 /mnt
:Then your filesystem will show up under {{ic|/mnt}}. So your {{ic|/etc/rc.conf}} file, for example, would be in {{ic|/mnt/etc/rc.conf}}. From here you can delete the {{ic|gdm}} daemon to prevent Xorg from booting up normally or make any other necessary changes to the configuration.
:これでファイルシステムが {{ic|/mnt}} の下に表示されるようになります。例えば、{{ic|/etc/rc.conf}} ファイルは {{ic|/mnt/etc/rc.conf}} にあります。ここから、{{ic|gdm}} デーモンを削除するなど設定ファイルの必要な変更を行なって下さい。
===X が起動できない: Keyboard initialization failed===
===X が起動できない: Keyboard initialization failed===

Revision as of 07:24, 2 February 2013

概括 help replacing me
Xorg のインストール・管理の包括的な説明。
Template:Graphical user interface overview (日本語)
Start X at Login (日本語)
xprofile (日本語)
Display Manager (日本語)
Window Manager (日本語)
Font Configuration
X11 Cursors
Get All Mouse Buttons Working
Desktop Environment (日本語)
Intel Graphics (日本語)
AMD Catalyst

Xorg は X window system version 11 の公然なオープンソース実装です。Linux ユーザーの中で Xorg が一番ポピュラーな選択となってから、GUI アプリケーションにとって Xorg は欠かせない存在となり、ほとんどのディストリビューションで広く採用されています。詳しくは Wikipedia の XorgXorg のウェブサイト を見て下さい。



X サーバーをインストールするには、まず公式リポジトリxorg-server パッケージをインストールする必要があります。また、便利なユーティリティを xorg-apps グループからインストールすることもできます。

Udev があなたのハードウェアを検知し、evdev がほとんど全てのデバイスのホットプラグ・インプットドライバとして動作します。Udevsystemd によって提供され、xf86-input-evdevxorg-server から必要とされます。従ってこれらのパッケージを別個にインストールする必要はありません。

Tip: デフォルトの X 環境はほとんど裸の状態です。基本的に、X を使うにあたってウィンドウマネージャデスクトップ環境をインストールすることになるでしょう。


参照: Start X at Login (日本語)

Tip: X を起動する一番簡単な方法は GDM, KDM, SLiM (日本語) などのディスプレイマネージャを使うことです。

ディスプレイマネージャを使わずに X を起動したいなら、xorg-xinit パッケージをインストールしてください。任意で、下で述べているデフォルト環境のために xorg-twm, xorg-xclock, xterm もインストールできます。

startxxinit コマンドで X サーバーとクライアントを起動します (startx スクリプトは単に xinit コマンドのフロントエンドにすぎません)。起動するクライアントを決めるために、まず startx/xinit はユーザーの home ディレクトリにある ~/.xinitrc ファイルをパースします。~/.xinitrc がない場合、代わりにユーザー共通の /etc/X11/xinit/xinitrc ファイルが使われます。このファイルにはデフォルトで Twm ウィンドウマネージャ、XclockXterm のベーシックな環境を起動します。

Note: logind セッションを維持するために、X はログインしたのと同じ tty で実行させる必要があります。これはデフォルトの /etc/X11/xinit/xserverrc で管理されています。
Warning: startx の代わりに xinit を使う場合は、-nolisten tcp を渡して、異なる tty で X を起動することでセッションが破壊されることがないようにしてください。

詳しくは xinitrc (日本語) を見て下さい。

  • 問題が発生したら、/var/log/Xorg.0.log のログを見て下さい。(EE) (エラーを意味する) や (WW) (警告などを示す) で始まっている行をチェックする必要があります。
  • あなたの $HOME空の .xinitrc ファイルがある場合、X を正しく起動するためにそれを削除するか編集してください。それをしないと X は Xorg.0.log に何のエラーも残さずに黒画面を表示します。削除したときはデフォルトの X 環境が起動するようになります。


Note: Arch はデフォルトの設定ファイルを /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 を試して下さい。

Note: 設定ファイルは大文字・小文字を区別しません、また “_” は無視されます。(Option など) 設定ファイル内のほとんどの文字列も大文字・小文字・空白・“_” を区別しません。


ハードウェアのほとんどはインプットドライバのインストールを必要としません。とは言え、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"
Warning: これは全ての入力デバイスのホットプラグを無効にし xorg-server 1.4 と同じ挙動に戻ります。udev であなたのデバイスを設定したほうが便利です。従って、ホットプラグの無効化は推奨されません。


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)"     };


Note: GNOME を使っている場合、以下の設定は無視されます。GNOME のキーボードアプレットからキーボードレイアウトを設定する必要があります。XkbOptions については、GNOME#Modify_Keyboard_with_XkbOptions を見て下さい。

キーボードレイアウトを変えるには、以下の内容で number-*.conf ファイル (例: 10-keyboard.conf) を作成してください:

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "us"
    Option                 "XkbVariant" "colemak"

または、XkbLayoutXkbVariant をまとめることもできます:

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard	   "yes"
    Option	           "XkbLayout" "us(colemak)"


Note: この方法を使ってキーボードレイアウトを変更するにはホットプラグを無効にする必要があります。

To change the keyboard layout, use the XkbLayout option in the keyboard InputDevice section. For example, if you have a keyboard with the English (Great Britain) layout, your keyboard InputDevice section might look similar to this:

Section "InputDevice"
    Identifier             "Keyboard0"
    Driver                 "kbd"
    Option                 "XkbLayout" "gb"

To change the keyboard model, use the XkbModel option in the keyboard InputDevice section. For example, if you have a Microsoft Wireless Multimedia Keyboard:

Option "XkbModel" "microsoftmult"


To be able to easily switch keyboard layouts, modify the Options used in either of the above two methods. For example, to switch between a US and a Swedish layout using the Template:Keypress key, create a file /etc/X11/xorg.conf.d/01-keyboard-layout.conf with the following content:

Section "InputClass"
        Identifier             "keyboard-layout"
        MatchIsKeyboard        "on"
        Option "XkbLayout"     "us, se"
        Option "XkbOptions"    "grp:caps_toggle"

As an alternative, you can add the following to your .xinitrc:

setxkbmap -layout "us, se" -option "grp:caps_toggle"

This is mainly useful if you run a Desktop Environment which does not take care of keyboard layouts for you.

Tip: If you want to get a list of possible values for the layout and options, you can find them in /usr/share/X11/xkb/rules/xorg.lst. They are under sections ! layout and ! option respectively. These values work for both the configuration file solution, and the command line alternative.



Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbOptions" "keypad:pointerkeys"


$ setxkbmap -option keypad:pointerkeys

どちらでも Template:Keypress ショートカットがマウスキーに使われるようになります。


参照: https://fedoraproject.org/wiki/Input_device_configuration

InputClasses are a new type of configuration section that does not apply to a single device but rather to a class of devices, including hotplugged devices. An InputClass section's scope is limited by the matches specified – to apply to an input device, all matches must apply to a device. An example InputClass section is provided below:

Section "InputClass"
    Identifier             "touchpad catchall"
    MatchIsTouchpad        "on"
    Driver                 "synaptics"

The next snippet might also be helpful:

Section "InputClass"
        Identifier             "evdev touchpad catchall"
        MatchIsTouchpad        "on"
        MatchDevicePath        "/dev/input/event*"
        Driver                 "evdev"

If this snippet is present in the xorg.conf or xorg.conf.d, any touchpad present in the system is assigned the synaptics driver. Note that due to precedence order (alphanumeric sorting of xorg.conf.d snippets) the Driver setting overwrites previously set driver options – the more generic the class, the earlier it should be listed. The default snippet shipped with the xorg-x11-drv-Xorg package is 00-evdev.conf and applies the evdev driver to all input devices.

The match options specify which devices a section may apply to. To match a device, all match lines must apply. The following match lines are supported (with examples):

  • MatchIsPointer, MatchIsKeyboard, MatchIsTouchpad, MatchIsTouchscreen, MatchIsJoystick – boolean options to apply to a group of devices.
  • MatchProduct "foo|bar": match any device with a product name containing either "foo" or "bar"
  • MatchVendor "foo|bar|baz": match any device with a vendor string containing either "foo", "bar", or "baz"
  • MatchDevicePath "/dev/input/event*": match any device with a device path matching the given patch (see fnmatch(3) for the allowed pattern)
  • MatchTag "foo|bar": match any device with a tag of either "foo" or "bar". Tags may be assigned by the config backend – udev in our case – to label devices that need quirks or special configuration.

An example section for user-specific configuration is:

Section "InputClass"
    Identifier             "lasermouse slowdown"
    MatchIsPointer         "on"
    MatchProduct           "Lasermouse"
    MatchVendor            "LaserMouse Inc."
    Option                 "ConstantDeceleration" 20

This section would match a pointer device containing "Lasermouse" from "Lasermouse Inc." and apply a constant deceleration of 20 on this device – slowing it down by factor 20.

Some devices may get picked up by the X server when they really should not be. These devices can be configured to be ignored:

Section "InputClass"
    Identifier            "no need for accelerometers in X"
    MatchProduct          "accelerometer"
    Option                "Ignore" "on"


The following subsections describe example configurations for commonly used configuration options. Note that if you use a desktop environment such as GNOME or KDE, options you set in the xorg.conf may get overwritten with user-specific options upon login.

例: (トラックポイント用の) ホイールエミュレーション

If you own a computer with a Trackpoint (a Thinkpad, for example) you can add the following to the xorg.conf to use the middle button to emulate a mouse wheel:

Section "InputClass"
    Identifier            "Wheel Emulation"
    MatchIsPointer        "on"
    MatchProduct          "TrackPoint"
    Option                "EmulateWheelButton" "2"
    Option                "EmulateWheel" "on"

For full support of TrackPoints (including horizontal scrolling) you can use the following:

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"
例: Tap-to-click

Tap-to-click can be enabled in the mouse configuration dialog (in the touchpad tab) but if you need tapping enabled at gdm already, the following snippet does it for you:

Section "InputClass"
    Identifier            "tap-by-default"
    MatchIsTouchpad       "on"
    Option                "TapButton1" "1"
例: Acer 5920G ラップトップのキーボードレイアウト・モデル

Keyboard model and layout may be set in the file /etc/X11/xorg.conf.d/keyboard.conf or any other .conf file in the same directory.

  • MatchIsKeyboard "yes": set the input device to a keyboard
  • Option "XkbModel" "acer_laptop": set the keyboard model to an Acer * Option "XkbLayout" "be": set the keyboard layout to belgian. You may replace be with whatever layout you have.
  • Option "XkbVariant" "sundeadkeys": set the layout variant to Sun dead keys. You may omit the XkbVariant option if you stick with the default variant.

laptop keyboard. You may replace acer_laptop with your actual keyboard layout.

Note that a list of keyboard layouts and models can be found in /usr/share/X11/xkb/rules/base.lst

Section "InputClass"
    Identifier             "Keyboard Defaults"
    MatchIsKeyboard        "yes"
    Option                 "XkbModel" "acer_laptop"
    Option                 "XkbLayout" "be"
    Option                 "XkbVariant" "sundeadkeys"
例: (3ボタンマウス用の) 中ボタンのエミュレーション

Third button emulation allows you to use the 1 and 2 buttons (left and right click) together to produce a button 3 event (middle-click), which is really useful for copy and paste in X.

We will modify the mouse input catchall in /etc/X11/xorg.conf.d/10-evdev.conf

Section "InputClass"
        Identifier "evdev pointer catchall"
        MatchIsPointer "on"
        MatchDevicePath "/dev/input/event*"
        Driver "evdev"
        Option "Emulate3Buttons"     "True"
        Option "Emulate3Timeout"     "25"

Here you see the Option "Emulate3Buttons" "True" and Option "Emulate3Timeout" "25" options that specify that 3 buttons should be emulated and the delay to recognize both buttons down as a middle click is 25ms.



デフォルトのグラフィックドライバは vesa (xf86-video-vesa) で、多くのチップセットをサポートしていますが 2D 又は 3D アクセラレーションは含まれていません。グラフィックアクセラレーションを有効にするには、あなたのグラフィックカードに合わせてドライバをインストールする必要があります。


$ lspci | grep VGA


$ pacman -Ss xf86-video



Xorg はクローズドソースのドライバがなくともスムーズに動作しますが、ゲームのための高速な 3D レンダリングやデュアルスクリーン、TV 出力などの高度な機能を使うために必要になるかもしれません。



Note: このステップは任意です。何をやっているのかわからない限り行うべきではありません。
デュアルモニタや nouveau ドライバを使う場合はこのステップは任意ではありませんNouveau#Configuration を見て下さい。

まず、/etc/X11/xorg.conf.d/10-monitor.conf のような、新しい設定ファイルを作成します。


Section "Monitor"
    Identifier             "Monitor0"

Section "Device"
    Identifier             "Device0"
    Driver                 "vesa" #Choose the driver used for this monitor

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



参照: NVIDIA#Multiple monitors


利用するドライバを正しく定めてグラフィックカードのバス ID を入力する必要があります。

Section "Device"
    Identifier             "Screen0"
    Driver                 "nouveau"
    BusID                  "PCI:0:12:0"

Section "Device"
    Identifier             "Screen1"
    Driver                 "radeon"
    BusID                  "PCI:1:0:0"

バス ID を取得するには:

$ lspci | grep VGA
01:00.0 VGA compatible controller: nVidia Corporation G96 [GeForce 9600M GT] (rev a1)

この場合バス ID は 1:0:0。

Script to toggle internal/external display for laptops

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.



if (xrandr | grep "$EXT" | grep "+")
    xrandr --output $EXT --off --output $IN --auto
        if (xrandr | grep "$EXT" | grep " connected")
            xrandr --output $IN --off --output $EXT --auto

画面サイズと DPI

The DPI of the X server is determined in the following manner:

  1. The -dpi command line option has highest priority.
  2. If this is not used, the DisplaySize setting in the X config file is used to derive the DPI, given the screen resolution.
  3. If no DisplaySize is given, the monitor size values from DDC are used to derive the DPI, given the screen resolution.
  4. If DDC does not specify a size, 75 DPI is used by default.

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

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

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
Note: This calculation works for monitors with square pixels; however, there is the seldom monitor that may compress aspect ratio (e.g 16:10 aspect resolution to a 16:9 monitor). If this is the case, you should measure your screen size manually.
手動で DPI を設定する

DPI can be set manually if you only plan to use one resolution (DPI calculator):

Section "Monitor"
    Identifier             "Monitor0"
    Option                 "DPI" "96 x 96"

If you use an NVIDIA card, you can manually set the DPI adding the options bellow on /etc/X11/xorg.conf.d/20-nvidia.conf (inside Device section):

Option              "UseEdidDpi" "False"
Option              "DPI" "96 x 96"

For RandR compliant drivers, you can set it by:

xrandr --dpi 96

See Execute commands after X start to make it permanent.

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 (Display Power Management Signaling) はコンピュータが使われていない時にモニターを省電力モードに移行させる技術です。一定時間後にモニタを自動で standby にすることができます。DPMS を見て下さい。


The Composite extension for X causes an entire sub-tree of the window hierarchy to be rendered to an off-screen buffer. Applications can then take the contents of that buffer and do whatever they like. The off-screen buffer can be automatically merged into the parent window or merged by external programs, called compositing managers.

Tango-inaccurate.pngThe factual accuracy of this article or section is disputed.Tango-inaccurate.png

Reason: Is this actually still true in recent Xorg releases? (Discuss in Talk:Xorg (日本語)#)

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"




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:

Note: The "InputDevice" sections are commented out, because /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 startup (/usr/bin/startx) tweaking

For X's option reference see:

$ 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
Note: If you start X with kdm, the startx script does not seem to be executed. X options must be appended to the variable "ServerArgsLocal" or "ServerCmd" in the /usr/share/config/kdm/kdmrc file. By default kdm options are:
ServerArgsLocal=-nolisten tcp

Nested X session

To run a nested session of another desktop environment:

$ /usr/bin/Xnest :1 -geometry 1024x768+0+0 -ac -name Windowmaker & wmaker -display :1

This will launch a Window Maker session in a 1024 by 768 window within your current X session.

This needs the package xorg-server-xnest to be installed.

リモートで GUI プログラムを実行する

To start up a program that uses X when logged in remotely (such as through ssh), you need to type this in from the remote login Bash shell:

export DISPLAY=:0

Then invoke the program the way you would locally from the shell.

Hint: Add that line to ~/.bashrc to have it happen automatically every time you log in.

On-Demand Disabling and Enabling of Input Sources

With the help of xinput you can temporarily disable or enable input sources. This might be useful, for example, on systems that have more than one mouse, such as the ThinkPads and you would rather use just one to avoid unwanted mouse clicks. Let's see how to accomplish this.

Install xinput from the xorg-xinput package:
# pacman -S xorg-xinput
Find the ID of the device you want to disable:

For example in a Lenovo ThinkPad T500, the output looks like this:

$ 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)]

Disable the device with xinput --disable DEVICE, where DEVICE is the device ID you want to disable. In this example we'll disable the Synaptics Touchpad, with the ID 10:

xinput --disable 10

To re-enable the device, just issue the opposite command:

xinput --enable DEVICE



Xorg が起動しない、画面が真っ暗、キーボードやマウスが動かないなどの場合は、まず以下の手順を踏んで下さい:

  • ログファイルをチェック: cat /var/log/Xorg.0.log
  • インプットドライバをインストール (キーボード、マウス、ジョイスティック、タブレット、etc...)。
  • 最後に、ATIIntelNVIDIA の記事に問題の解決方法が載ってないか調べる。

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"                           
Note: On KDE, this system-wide setting has no effect. To restore, go to Kickoff > Computer > System Settings which will open up the System Settings window. Click on 'Input Devices'. In this new window click the Keyboard tab and then click on the advanced tab. In this new window, click the box for 'Configure keyboard options.' Expand the entry for 'Key sequence to kill the X server' and ensure Template:Keypress is checked. Click Apply and close the System Settings window. You now have your Template:Keypress back in KDE.

次の行を xinitrc (日本語) に追加することでも可能です:

setxkbmap -option terminate:ctrl_alt_bksp
Note: この設定は Gnome 3 では効果がありません。


新しい 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


参照: Get All Mouse Buttons Working

"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-75dpixorg-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 を起動してください。