Xorg (Česky) - ArchWiki

# Xorg (Česky)

From ArchWiki

This article or section is out of date.

Reason: please use the first argument of the template to provide a brief explanation. (Discuss in Talk:Xorg (Česky)#)

Související články

- ATI
- Intel (Česky)
- NVIDIA (Česky)

Xorg je veřejná open-source implementace systému X window verze 11. Jelikož je Xorg nejpopulárnější volbou mezi uživateli Linuxu, jeho všudypřítomnost vedla k tomu, že se stal základním předpokladem pro provozování grafických aplikací a byl tak masově adoptován většinou distribucí. Pro více informací viz článek Xorg na Wikipedii nebo můžete navštívit stránky Xorg (anglicky).

## Instalace

Nejprve plně zaktualizujte svůj systém:

    # pacman -Syu

Poté můžete nainstalovat skupinu Xorg

    # pacman -S xorg

Od verze 1.8 Xorg-server nevyžaduje HAL pro přístup k hardwaru. Udev dokáže detekovat váš hardware sám o sobě.

Nezapomeňte nainstalovat evdev.

    # pacman -S xf86-input-evdev

HAL můžete bez problémů odstranit z démonů v `/etc/rc.conf`, ale pouze pokud nemáte v systému žádnou jinou aplikaci, která by na něm byla závislá. Z `/etc/X11/xorg.conf` se navíc stalo `/etc/X11/xorg.conf.d/*`.

Používání `X -configure` pro generaci `xorg.conf` je zavrhováno ze dvou důvodů:

- Od verze 1.8 xorg-server používá namísto jednotného souboru xorg.conf vícero konfiguračních souborů v /etc/X11/xorg.conf.d
- `xorg.conf` je z většiny zavrhnut, i když je během inicializace Xorg-serveru zpracováván.

Udev by měl být schopen rozpoznat váš hardware bez problémů. Pro případ, že by mohl nastat nějaký problém, můžete nainstalovat celou skupinu xorg-input-drivers.

Xorg-server můžete spustit příkazem startx, který byste ovšem měli používat pouze tehdy, pokud jste správně zeditovali soubor `~/.xinitrc`.

Note: V případě, že používáte desktopové prostředí (GNOME, KDE atp.), je pro spouštění doporučováno používat správce displeje (KDM, GDM atp.), jenž se postará o aplikace a knihovny, které by měly být předem nahrány.

Zkratka Ctrl+Alt+Bksp, která restartovala Xorg-server, byla z výchozího nastavení Xorg odstraněna. Můžete použít Ctrl+Alt+F1 pro přepnutí do virtuálního terminálu a zastavit činnost Xorg odtud.

Note: V hlavních desktopových prostředích (KDE, GNOME, Xfce4) je v korespondujícím nástroji pro konfiguraci klávesnice volba, pomocí které můžete tuto zkratku povolit (pro každého uživatele zvlášť).

## Konfigurace

Konfigurační soubory se nacházejí v `/etc/X11/xorg.conf.d/`.

Měli byste mít soubor `10-evdev.conf`, který spravuje klávesnici, myš, touchpad a dotykové obrazovky. Můžete vytvářet nové konfigurační soubory, přičemž jejich názvy musí začínat na XX- (kde XX je číslo) a končit příponou .conf. Načítány jsou postupně v pořadí od nejnižšího čísla.

### Touchpad/Synaptics

Pokud máte laptop, možná budete muset nainstalovat ovladač pro touchpad.

    # pacman -S xf86-input-synaptics

Po instalaci naleznete v `/etc/X11/xorg.conf.d` soubor `10-synaptics.conf`. Můžete tedy v souboru `10-evdev.conf` zakomentovat/smazat "InputClass" týkající se vašeho touchpadu.

### Grafická karta a ovladače

Výchozí ovladač grafické karty je Vesa. Dokáže pracovat s většinou chipsetů, nicméně pokud chcete grafickou akceleraci, budete muset nainstalovat a používat ovladač specifický pro vaši konkrétní grafickou kartu.

Nejdříve najděte odkaz na svoji kartu v:

    $ lspci | grep VGA

Poté nainstalujte ovladač příslušný k dané kartě. Tyto soubory můžete vyhledat spuštěním následujícího příkazu:

    # pacman -Ss xf86-video

#### Uživatelé karet Nvidia

Během instalace proprietárního ovladače od Nvidie se nainstaluje do vaší složky `/etc/X11/xorg.conf.d` konfigurační soubor (se jménem `20-nvidia.conf`). Ten umožní Xorg nahrát kýžený ovladač při startu.

Warning: `nvidia-xconfig` již není nadále potřeba, tento příkaz je zavrhován, protože vytváří soubor `xorg.conf`. Pokud jste ztratili svůj konfigurační soubor pro Nvidie, jenž se nacházel v `/etc/X11/xorg.conf.d`, jenoduše přeinstalujte svůj ovladač.

### Nastavení monitoru

#### Karty Nvidia

`nvidia-settings` nezaktualizuje vaše soubory v `/etc/X11/xorg.conf.d/*`, nýbrž vytvoří soubor `xorg.conf`.

#### Na začátek

Nejprve vytvořte nový konfigurační soubor, například `/etc/X11/xorg.conf.d/10-monitor.conf`.

    # nano /etc/X11/xorg.conf.d/10-monitor.conf

Zkopírujte a vložte do něj následující kód.

    Section "Monitor"
        Identifier    "Monitor0"
    EndSection

    Section "Device"
        Identifier    "Device0"
        Driver        "vesa" #Zvolte ovladač použitý pro tento monitor
    EndSection

    Section "Screen"
        Identifier    "Screen0"  #Odkaz na sekce Monitor a Device
        Device        "Device0"
        Monitor       "Monitor0"
        DefaultDepth  16 #Zvolte hloubku (16||24)
        SubSection "Display"
            Depth     16
            Modes     "1024x768_75.00" #Zvolte rozlišení
        EndSubSection
    EndSection

#### Více monitorů/Dual screen

Warning: `nvidia-settings` a `xrandr` jsou uživatelsky přívětivé nástroje, nicméně vytváří `xorg.conf`, jenž je postupně zatracován.

Abyste získali dvojí obrazovku, musíte upravit předešle vytvořený soubor `10-monitor.conf`. Přidejte pro každý monitor jednu sekci Monitor, Device a Screen a nakonec přidejte sekci ServerLayout pro jejich správu.

    Section "ServerLayout"
        Identifier     "DualSreen"
        Screen       0 "Screen0"
        Screen       1 "Screen1" RightOf "Screen0" #Screen1 napravo od Screen0
        Option         "Xinerama" "1" #Pro přesun oken mezi obrazovkami
    EndSection

    Section "Monitor"
        Identifier     "Monitor0"
        Option         "Enable" "true"
    EndSection

    Section "Monitor"
        Identifier     "Monitor1"
        Option         "Enable" "true"
    EndSection

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        Screen         0
    EndSection

    Section "Device"
        Identifier     "Device1"
        Driver         "nvidia"
        Screen         1
    EndSection

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        DefaultDepth    24
        Option         "TwinView" "0"
        SubSection "Display"
            Depth          24
            Modes          "1280x800_75.00"
        EndSubSection
    EndSection

    Section "Screen"
        Identifier     "Screen1"
        Device         "Device1"
        Monitor        "Monitor1"
        DefaultDepth   24
        Option         "TwinView" "0"
        SubSection "Display"
            Depth          24
        EndSubSection
    EndSection

#### TwinView

Chcete-li pouze jednu velkou obrazovku namísto dvou, změňte argument pro TwinView na 1.

    Option "TwinView" "1"

##### Více než jedna grafická karta

Musíte určit příslušný správný ovladač a vložit BusID svých grafických karet.

    Section "Device"
        Identifier      "Screen0"
        Driver          "nvidia"
        BusID           "PCI:0:12:0"
    EndSection

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

Pro získání BusID:

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

Zde je BusID 1:0:0.

### Vypnutí automatického přidávání zařízení (hot plugging)

Od verze 1.8 Xorg-server pro rozpoznávání zařízení používá udev. Následující řádky udev vypnou.

    Section "ServerFlags"
        Option "AutoAddDevices" "False"
    EndSection

Note: Tímto vypnete hot plugging v Xorg pro všechna vstupní zařízení a navrátíte se ke stejnému chování jako ve verzi Xorg-server 1.4. Je mnohem vhodnější nechat udev zkonfigurovat vaše zařízení. Proto není vypínání hot pluggingu doporučeno! Viz Xorg Input Hotplugging (anglicky)

### InputClass

Převzato z https://fedoraproject.org/wiki/Input_device_configuration

InputClass je nový druh konfigurační sekce, která není specifická pro jedno zařízení, nýbrž se týká jisté třídy zařízení, včetně zařízení přidávaných za běhu. Sekce InputClass je omezena specifikovanými shodami (matches) — aby se pro určité vstupní zařízení aplikovala, všechna kritéria musí být pro dané zařízení splněna. Příklad sekce InputClass následuje níže:

    Section "InputClass"
        Identifier      "Zachycuje všechny touchpady"
        MatchIsTouchpad "on"
        Driver           "synaptics"
    EndSection

Pokud je tento úryvek přítomný v souboru `xorg.conf` nebo v některém ze souborů v xorg.conf.d, k jakémukoliv touchpadu přítomném v systému je přiřazen ovladač synaptics. Kvůli pořadí nahrávání (alfanumerické řazení úryvků v xorg.conf.d) přepisuje nastavení určené volbou Driver jakoukoliv předešlou volbu ovladače — čím obecnější je třída, tím dříve by měla být uvedena. Výchozí úryvek dodávaný s balíčkem xorg-x11-drv-Xorg je `00-evdev.conf` a aplikuje na všechna zařízení ovladač evdev.

Volby Match určují, na která zařízení lze danou sekci aplikovat. Aby nastala shoda s nějakým zařízením, musí být splněna všechna kritéria určená Match řádky. Tyto jsou podporovány následující (s příklady):

- `MatchIsPointer`, `MatchIsKeyboard`, `MatchIsTouchpad`, `MatchIsTouchscreen`, `MatchIsJoystick` – booleovské volby (pravda, nepravda) pro aplikaci na určitou skupinu zařízení.
- `MatchProduct "foo|bar"`: shoduje se, pokud jméno produktu zařízení obsahuje buď "foo" nebo "bar"
- `MatchVendor "foo|bar|baz"`: shoduje se, pokud řetězec výrobce zařízení obsahuje "foo", "bar" nebo "baz"
- `MatchDevicePath "/dev/input/event*"`: shoduje se, pokud se cesta k zařízení shoduje se zadanou cestou (viz fnmatch(3) pro povolené šablony)
- `MatchTag "foo|bar"`: shoduje se, pokud má zařízení tag "foo" nebo "bar". Tagy mohou být přiřazeny konfiguračním backendem — tím je v tomto případě udev — zařízením, jenž vyžadují nějakou okliku nebo zvláštní konfiguraci.

Příklad uživatelem specifikované konfigurace:

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

Tato sekce by se shodovala s ukazovacím zařízením "Lasermouse" od "Lasermouse Inc." a aplikovala by na tomto zařízení konstantní zpomalení 20.

Některá zařízení mohou být použita X serverem, i když by ve skutečnosti být neměla. Tato zařízení lze nakonfigurovat, aby byla ignorována:

    Section "InputClass"
        Identifier     "V X není potřeba mít akcelerometry"
        MatchProduct   "accelerometer"
        Option         "Ignore" "on"
    EndSection

#### Ukázkové konfigurace

Následující podsekce popisují ukázkové konfigurace pro běžně používané konfigurační volby. Měli byste vědět, že pokud používáte desktopové prostředí, jako GNOME nebo KDE, volby nastavené v `xorg.conf` mohou být po přihlášení přepsány nastaveními konkrétního uživatele.

##### Příklad: Emulace kolečka (pro Trackpoint)

Pokud vlastníte počítač s Trackpointem (například Thinkpad), pro použití prostředního tlačítka k emulaci kolečka u myši můžete do souboru `xorg.conf` přidat následující:

    Section "InputClass"
        Identifier     "Emulace kolečka"
        MatchIsPointer "on"
        MatchProduct   "TrackPoint"
        Option         "EmulateWheelButton" "2"
        Option "EmulateWheel" "on"
    EndSection

Pro plnou podporu Trackpointů (včetně horizontálního skrolování) můžete použít následující:

    Section "InputClass"
        Identifier	"Emulace kolečka u Trackpointu"
        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

##### Příklad: Kliknutí po ťuknutí (tap to click)

Kliknutí po ťuknutí na touchpad můžete povolit v dialogu konfigurace myši (v záležce Touchpad), ale pokud potřebujete ťukání povolené již ve správci displeje (GDM), následující úryvek vám to umožní:

    Section "InputClass"
        Identifier "tap-by-default"
        MatchIsTouchpad "on"
        Option "TapButton1" "1"
    EndSection

##### Příklad: Rozložení a model klávesnice na laptopu Acer 5920G

Model a rozložení klávesnice lze nastavit v souboru `/etc/X11/xorg.conf.d/keyboard.conf` nebo jakomkoliv jiném .conf souboru ve stejném adresáři.

- `MatchIsKeyboard "yes"`: Provést pouze u klávesnic
- `Option "XkbLayout" "be"`: Nastaví rozložení klávesnice na belgické. `be` můžete nahradit za jakékoliv konkrétní rozložení, jaké potřebujete.
- `Option "XkbModel" "acer_laptop"`: Nastaví model klávesnice na klávesnici laptopů Acer. `acer_laptop` můžete nahradit za váš konkrétní model klávesnice.

Seznam rozložení a modelů klávesnic můžete nalézt v `/usr/share/X11/xkb/rules/base.lst`.

    Section "InputClass"
        Identifier             "Výchozí nastavení klávesnice"
        MatchIsKeyboard        "yes"
        Option                 "XkbLayout" "be"
        Option                 "XkbModel" "acer_laptop"
    EndSection

### Velikost displeje a DPI

Otázka: Jak vypočítávají Xorg servery hodnotu DPI?
Odpověď: DPI X serveru je zjištěno následujícím způsobem:

1. Nejvyšší prioritu má volba `-dpi` na příkazové řádce.
2. Pokud není tato volba uvedena, k odvození hodnoty DPI pro dané rozlišení obrazovky je použito nastavení DisplaySize v konfiguračním souboru X.
3. Pokud není přítomné žádné nastavení DisplaySize, jsou pro odvození DPI pro dané rozlišení obrazovky použity hodnoty velikosti monitoru získané z DDC.
4. Pokud DDC neříká nic o velikosti, ve výchozím nastavení je použito DPI 75.

Abyste získali správnou hodnotu bodů na palec (DPI), musí být rozpoznána nebo nastavena velikost displeje. Správné nastavení DPI je zvláště nutné tam, kde jsou vyžadovány jemné detaily (například vykreslování fontů). V minulosti se výrobci pokoušeli vytvořit standard 96 DPI (monitor s uhlopříčkou 10.3" by měl 800x600 a monitor 13.2" 1024x768). V dnešní době mohou mít obrazovky rozličné hodnoty DPI, které ani nemusí být shodné vertikálně a horizontálně. Aby byl Xorg server schopný nastavit DPI, pokouší se automaticky zjistit fyzickou velikost vašeho monitoru skrze grafickou kartu pomocí DDC (anglicky). Pokud Xorg server zná fyzickou velikost obrazovky, bude schopný v závislosti na rozlišení nastavit správnou hodnotu DPI.

Abyste zjistili, zda jsou velikost vašeho displeje a DPI zjištěny/vypočítány správně:

    $ xdpyinfo | grep dimensions
    $ xdpyinfo | grep "dots per inch"

Ověřte si, zda udané rozměry souhlasí s velikostí vašeho displeje. Pokud Xorg server není schopen správně vypočítat velikost obrazovky, použije výchozí nastavení 75x75 DPI a budete ji muset spočítat sami.

Pokud máte specifikace fyzické velikosti obrazovky, můžete je zadat do konfiguračního souboru Xorg, aby tak mohla být vypočítána správná hodnota DPI:

    Section "Monitor"
        Identifier "Monitor0"
        DisplaySize 286 179    #V milimetrech
    EndSection

Pokud nemáte specifikace pro fyzickou šířku a výšku (většina dnešních specifikací uvádí pouze úhlopříčku), můžete pro výpočet horizontálního a vertikálního rozměru použít nativní rozlišení (nebo poměr stran) a délku úhlopříčky monitoru. Použití Pythagorovy věty pro obrazovku s úhlopříčkou 13.3" a nativním rozlišením 1280x800 (nebo poměrem stran 16:10):

    echo 'scale=5;sqrt(1280^2+800^2)' | bc  # 1509.43698

Případně, nemáte-li program bc a nechce se vám ho instalovat:

    awk 'function x(w,h) {return sqrt(w*w + h*h)} BEGIN {print x(1280, 800)}'

Výsledek je délka úhlopříčky v pixelech. Pomocí této hodnoty můžete zjistit fyzickou šířku a výšku displeje (a převést je na milimetry):

    echo 'scale=5;(13.3/1509)*1280*25.4' | bc  # 286.43072
    echo 'scale=5;(13.3/1509)*800*25.4' | bc   # 179.01920

Případně opět pomocí `awk`:

    awk 'BEGIN {print (13.3/1509)*1280*25.4}'
    awk 'BEGIN {print (13.3/1509)*800*25.4}'

Note: Tento výpočet funguje pro většinu velikostí obrazovek, nicméně můžete narazit na nějaký levný monitor, který bude poměr stran roztahovat, např. z 16:10 na 16:9. Pokud je to váš případ, měli byste změřit velikost obrazovky ručně.

Pokud budete používat pouze jedno rozlišení obrazovky, lze DPI též nastavit napevno:

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

Pokud z nějakého podivného důvodu nenastaví ovladače Nvidia správné DPI, můžete vypnout automatickou detekci:

    Option   "UseEdidDpi" "false"

Pro ovladače podporující RandR můžete DPI nastavit tímto způsobem:

    xrandr --dpi 96

Tento příkaz můžete přidat do svého souboru `.xinitrc`, abyste tak měli nastavené správné DPI, když spustíte X ručně.

### Nastavení klávesnice

Xorg nemusí správně rozpoznat vaši klávesnici. To může způsobit problémy s nesprávně nastaveným rozložením nebo modelem klávesnice.

Pro zobrazení úplného seznamu modelů, rozložení, variant a voleb, vizte soubor:

    /usr/share/X11/xkb/rules/xorg.lst

Pro nastavení rozložení klávesnice pro momentálně spuštěné sezení Xorg:

    # setxkbmap dvorak

##### Nastavení rozložení klávesnice s hot pluggingem

Abyste permanentně změnili své rozložení klávesnice, přidejte do `xorg.conf` následující:

    Section "InputClass"
        Identifier             "Keyboard Defaults"
        MatchIsKeyboard	   "yes"
        Option	           "XkbLayout" "dvorak"
    EndSection

Všimněte si, že je použita sekce InputClass a ne sekce InputDevice pro konkrétní klávesnici.

##### Nastavení rozložení klávesnice bez hot pluggingu (zavrhováno)

Note: Pro změnu rozložení klávesnice tímto způsobem musíte vypnout hot plugging pro vstupní zařízení.

Abyste změnili rozložení klávesnice, použijte volbu XkbLayout v sekci InputDevice pro konkrétní klávesnici. Pokud například máte klávesnici s anglickým rozložením, InputDevice sekce vaší klávesnice by mohla vypadat nějak takto:

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

Abyste změnili model klávesnice, použijte v InputDevice sekci vaší klávesnice volbu XkbModel. Máte-li například klávesnici Microsoft Wireless Multimedia Keyboard:

    Option "XkbModel" "microsoftmult"

##### Přepínání mezi rozloženími klávesnice

Abyste mohli snadno přepínat rozložení klávesnice, pozměňte volby použité v některé z výše zmíněných metod. Například pro přepínání mezi americkým a švédským rozložením pomocí klávesy Caps Lock můžete použít:

    Option "XkbLayout"  "us, se"
    Option "XkbOptions" "grp:caps_toggle"

Toto je zejména užitečné, pokud používáte desktopové prostředí, které se za vás o rozložení klávesnice nepostará.

##### Trvalé vypnutí mousekeys (myš na klávesnici)

Abyste na stálo vypnuli mousekeys a předešli tím povolení kombinace Shift+NumLock nebo Shift+Alt+NumLock, otevřete soubor `/usr/share/X11/xkb/compat/complete` a zakomentujte:

    augment "mousekeys"
    augment "accessx(full)"

### DPMS

DPMS (Display Power Management Signaling) je technologie umožňující snížit spotřebu monitorů, není-li počítač používán. Toho dociluje samočinným přechodem monitorů do režimu standby po předem určené době. Viz DPMS.

### Proprietární ovladače

Pokud si přejete používat grafické ovladače třetích stran, ověřte si, že X server funguje. Xorg by měl hladce běžet i bez oficiálních ovladačů, jenž jsou typicky potřebné pouze pro pokročilé funkce, jakými jsou akcelerované 3D renderování pro hry, dual-screen nebo televizní výstup. Vizte NVIDIA a ATI pro rady ohledně instalace ovladačů.

## Spouštění Xorg

HAL automaticky spouští dbus. Pokud jste ale HAL ze svého seznamu DAEMONS odstranili, měli byste na jeho místo dbus přidat.

     DAEMONS=(syslog-ng dbus network netfs crond)

Pokud potřebujete spustit dbus ručně, zadejte:

    # /etc/rc.d/dbus start

Nakonec nastartujte Xorg:

    $ startx

nebo

    $ xinit

Note: Pokud jste právě Xorg nainstalovali, ve vašem domovském adresáři se bude nacházet prázdný soubor `.xinitrc`, který musíte, aby se X mohlo správně spustit, buď změnit nebo smazat. Pokud tak neučiníte, X ukáže jen prázdnou obrazovku a ve vašem souboru `Xorg.0.log` nebude zmínka o žádné chybě. Tím, že tento soubor jednoduše odstraníte, ho přinutíte spustit výchozí prostředí X.

Výchozí prostředí X je poněkud prosté a typicky budete chtít nainstalovat okenního správce nebo desktopové prostředí, aby X doplnily. Seznam vhodných voleb se nachází zde.

Pokud by nastal nějaký problém, podívejte se do logu v `/var/log/Xorg.0.log`. Dívejte se po všech řádcích začínajících na `(EE)`, ty představují chyby, a též `(WW)`, což jsou varování, která by mohla poukazovat na další problémy.

## Tipy a triky

This article or section needs to be translated.

Notes: please use the first argument of the template to provide more detailed indications. (Discuss in Talk:Xorg (Česky)#)

### 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
      ServerCmd=/usr/bin/X

### Virtual X session

To start another X session in for example CTRL + ALT + F8 you need to type this on a console:

    xinit /path/to/wm -- :1

Change "/path/to/wm" to your window manager start file or to your login manager like gdm, kdm and slim.

### 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.

## Troubleshooting

### Common problems

If Xorg will not start, or the screen is completely black, the keyboard and mouse is not working, etc., first take these simple steps:

- Check the log file: `cat /var/log/Xorg.0.log`
- Install input driver (keyboard, mouse, joystick, tablet, etc...):

     # pacman -S xf86-input-evdev

- Finally, search for common problems in ATI, Intel and NVIDIA articles.

### Ctrl-Alt-Backspace doesn't work

There are two ways of restoring `Ctrl`+`Alt`+`Backspace`; with and without input-hotplugging. Using hot-plugging is recommended.

#### With input hot-plugging

In most situations, using user-specific configuration might be preferred over system-wide.

Note: On GNOME, this system-wide setting has no effect. Every user must go to System -> Preferences -> Keyboard -> Layouts -> Options [button] -> Key sequence to kill the X server [expand with triangle on left]. Then check Ctrl + Alt + Backspace option.

##### System-wide

Add

    Option  "XkbOptions" "terminate:ctrl_alt_bksp"

to InputClass as so:

    Section "InputClass"
        Identifier          "Keyboard Defaults"
        MatchIsKeyboard	"yes"
        Option              "XkbOptions" "terminate:ctrl_alt_bksp"
    EndSection

##### User-specific

Another way is to add the following line to `~/.xinitrc`

    setxkbmap -option terminate:ctrl_alt_bksp

Note: If you use a login/display manager like (K/G/X)DM or Slim, you will need to run the above setxkbmap command around your WM/DE's login time. ~/.config/autostart is usually respected for such (using .desktop files). It also works in ~/.bashrc.

#### Without input hot-plugging

New Xorg disables zapping with `Ctrl`+`Alt`+`Backspace` by default. You can enable it by adding the following line to `/etc/X11/xorg.conf`,

    Option  "XkbOptions" "terminate:ctrl_alt_bksp"

to `InputDevice` section for keyboard.

### Apple keyboard issues

  See: Apple Keyboard

### Touchpad tap-click issues

  See: Synaptics

### Extra mouse buttons not recognized

  See: Get All Mouse Buttons Working

### X clients started with "su" fail

If you are getting "Client is not authorized to connect to server", try adding the line:

    session        optional        pam_xauth.so

to `/etc/pam.d/su`. `pam_xauth` will then properly set environment variables and handle `xauth` keys.

### Missing libraries

- Error message: "libX... does not exist"

In most cases, all you need to do is take the name of the library (e.g., `libXau.so.1`), convert it all to lowercase, remove the extension, and install it:

    # pacman -S libxau

### Packages fail to build; missing X11 includes

Reinstall the packages xproto and libx11:

    # pacman -S xproto libx11

### Program requests "font '(null)'"

- Error message: "unable to load font `(null)'."

Some programs only work with bitmap fonts. Two major packages with bitmap fonts are available, xorg-fonts-75dpi and 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:

    $ xdpyinfo | grep resolution

and use what is closer to you (75 or 100 instead of XX)

    # pacman -S xorg-fonts-XXdpi

### Frame-buffer mode problems

If X fails to start with the following log messages,

    (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

uninstall fbdev:

    # pacman -R xf86-video-fbdev

### DRI with Matrox cards stops working

If you use a Matrox card and DRI stops working after upgrading to Xorg, try adding the line:

    Option "OldDmaInit" "On"

to the Device section that references the video card in xorg.conf.

### Recovery: disabling Xorg before GUI login

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 the system is wrongly configured and Xorg does not recognize your mouse or keyboard input, for instance), you can accomplish this task with two methods.

- Change default target to rescue.target. See systemd#Change default target to boot into.
- If you have not only a faulty system that makes 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 log in as root. You need a mount point, such as `/mnt`, and you need to know the name of the partition you want to mount.

You can use the command,

    # fdisk -l

to see your partitions. Usually, the one you want will be resembling `/dev/sda1`. Then, to mount this to `/mnt`, use

    # mount /dev/sda1 /mnt

Then your filesystem will show up under `/mnt`. From here you can delete the `gdm` daemon to prevent Xorg from booting up normally or make any other necessary changes to the configuration.

## Vizte též

- Správci displeje
- Start X at login (anglicky)
- Font configuration (anglicky)
- Proprietární grafické ovladače
  - ATI Catalyst (anglicky)
  - NVIDIA
- Desktopová prostředí
  - KDE
  - GNOME
  - Xfce
  - Enlightenment
  - LXDE
- Okenní správci
  - Awesome
  - Fluxbox
  - Openbox
- Get All Mouse Buttons Working (anglicky)
- Compiz (anglicky)

Category:

- X server (Česky)

Hidden categories:

- Pages or sections flagged with Template:Out of date
- Pages or sections flagged with Template:Translateme