From ArchWiki
Revision as of 06:23, 6 December 2009 by Keiichi (Talk | contribs) (redirection fixes)

Jump to: navigation, search

Template:I18n links start Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n entry Template:I18n links end Xorg is the public, open-source implementation of the X Window System Version 11. (See the Xorg Wikipedia article or visit the Xorg website for more details) Basically, if you desire a GUI program in Arch Linux, you will want Xorg.



Before beginning, make sure you do the following:

  1. Make sure that pacman is configured and refreshed ( pacman -Syy ).
  2. Make a note about third-party drivers (e.g., NVIDIA or ATI drivers).

First install the complete 'xorg' group:

# pacman -S xorg

The default 'vesa' driver, though widely compatible with nearly all available chip sets, is merely a fall-back (not accelerated and does not support many resolutions). Therefore, a proper video driver should be installed if possible. This command will list all open source video drivers available:

# pacman -Ss xf86-video

Look for the appropriate driver for your card and install it with Template:Codeline.

To discover which card is in your system:

$ lspci | grep "VGA"

You can also install hwdetect (Template:Codeline) or Template:Package AUR (available in the Arch User Repository):

$ hwdetect -s


$ lshw -short

Changes with modular Xorg

This section serves as a reference for those accustomed to older versions of Xorg. Most users can skip to section Configuring.

Most Common Packages

Make sure you install drivers for mouse, keyboard and video card. For mouse and keyboard, xf86-input-evdev should be sufficient. If not, xf86-input-keyboard and xf86-input-mouse should be installed. Other xf86-input-* packages are available for different input devices.

For the video card, find out which driver is required and install the corresponding xf86-video-* package.

To install all drivers in one run, the xorg-input-drivers and xorg-video-drivers are available.

OpenGL 3D Acceleration

X.Org 7.0 on Arch Linux uses a modular design for mesa, the OpenGL rendering system. Several implementations are available:

  • libgl-dri: Open-source DRI OpenGL implementation. Falls back to software rendering when no DRI driver is installed
  • Some other driver providing libGL (ati, nvidia)

When pacman installs an application that needs mesa, it will install one of these packages. To be sure about the right library for your setup, install the library you want prior to installing Xorg. Installing the right package afterwards is also possible, though this gives some dependency errors sometimes, which can be ignored with the -d switch.

Glxgears and Glxinfo

These applications are included in the 'mesa' package.

Changed paths (and configuration)

Xorg now installs everything in /usr, where the older versions installed in /usr/X11R6. Several configuration files need updates:

  • Template:Filename
    • Font paths reside in /usr/share/fonts
    • RGB database is in /usr/share/X11/rgb
    • Module path is /usr/lib/xorg/modules

Also note that some X configuration tools might stop working. The easiest way to configure Xorg is by installing the correct driver packages and running Template:Codeline, which results in a Template:Filename which only needs modification in the resolutions, mouse configuration and keyboard layouts.

Some packages have hard-coded references to /usr/X11R6. These packages need fixing. In the meantime, look what packages install files in /usr/X11R6, uninstall those, make a symlink from /usr to /usr/X11R6 and reinstall the affected packages. Another option is to move the contents of /usr/X11R6 to /usr and make the symlink.

Or you can just add a second module path via:

ModulePath   "/usr/X11R6/lib/modules"

This works e.g. for Nvidia 76.76.

Note: See this entry for additional upgrade info: http://www.archlinux.org/blog/2006/01/02/how-to-upgrade-xorg/


Before you can run Xorg, you may need to configure it so that it knows about your graphics card, monitor, mouse and keyboard. Current versions of Xorg effectively auto-detects (with the help of HAL) most hardware without previous configuration. Because of these improvements, it may be advantageous to start without a Template:Filename and add sections only as required.

Follow the directions in Running Xorg first to determine if configuring Xorg is a necessity for normal functioning. If X works as expected and you still want to have a base Template:Filename file, it is now possible to create it from Xorg's log file.

Xorg -configure

You can use:

# Xorg -configure


# X -configure

The command automatically generates Template:Filename. You can change the output to the current path:

# X -configure ./xorg.conf.new

and copy it to Template:Filename.


Note: hwd has been updated (ver. 5.5) to work with xorg-server-1.5.x and 1.6.x. Currently, it disables HAL-based input device hot-plugging and instead generates a traditional Template:Filename including input devices.

Perhaps the easiest way of getting Xorg up and running quickly is to use hwd, a tool written by users in the Arch Linux community. It is a hardware-detection tool that has multiple uses, one of which is setting up Xorg. Fortunately, hwd is much more streamlined than xorgconf and does not require any input at all.

First, install the hwd package from the AUR.

Then, simply run the following command to generate a default Template:Filename file:

# hwd -xa

This will overwrite any existing Template:Filename file with a practical set of defaults, based on what hwd detected for your hardware.

Alternatively, you can generate a sample Xorg configuration (Template:Filename) without overwriting your existing settings. To do so, run hwd with the Template:Codeline flag instead:

# hwd -x

Sample result:


Your sample file(s) ready, rename 'xorg.conf'.
If unsure first try 'vesa' (default).

To use the sample configuration(s), you must manually rename it. Sample:

# mv /etc/X11/xorg.conf.vesa /etc/X11/xorg.conf


NVIDIA users can also use

# nvidia-xconfig

when they have official nvidia drivers installed.

Comment the line:

 Load           "type1"

in the Template:Codeline section, since recent Xorg versions do not include the type1 font module (completely replaced by freetype).

From the Xorg.0.log file

If you managed to start x without any xorg.conf file, you can find the default Xorg configuration in Template:Filename. Just copy the text between lines like

(==) --- Start of built-in configuration ---


(==) --- End of built-in configuration ---

to your new xorg.conf file.

Manual configuration

Refer to HAL and Template:Codeline to familiarize yourself with Xorg's manual configuration syntax.

Monitor Settings

Depending on your hardware, Xorg may fail to detect your monitor capabilities correctly, or you may simply wish to use a lower resolution than your monitor is capable of. You might want to look up the following values in your monitor's manual before setting them. The following settings are specified in section 'Monitor', file Template:Filename:

  • Horizontal sync
HorizSync 28-64
  • Refresh rate
VertRefresh 60

The following are specified in the Screen section:

  • Color depth
Depth 24
  • Resolution
Modes "1280x1024" "1024x768" "800x600"
Display Size and DPI

In order to get correct dots per inch (DPI) set, the display size must 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 (an 10.3" diagonal monitor would be 800x600, a 13.2" monitor 1024x768). Now days screens can be of any number of DPI and this may not match horizontal and vertically. 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 dimensions
$ xdpyinfo | grep "dots per inch"

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 do not have specifications for horizontal and physical screen width and height (most specifications these days only list by diagonal size), you can use the monitors 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 it 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 most monitor sizes, however there is the seldom cheaper 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 you screen size manually.

In the case X ignores your Template:Codeline setting (because of this (bug), add the following line to the Template:Codeline section:

  Option   "NoDDC" "true"

DPI can be set too if you only plan to use one resolution:

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

If for some odd reason that the nvidia drivers don't set the correct DPI, you can turn off auto-detection:

  Option   "UseEdidDpi" "false"

For RandR compliant drivers, you can set it by:

xrandr --dpi 96

You can add that command to your Template:Filename to have the DPI settings applied when you start X manually.

Multi-monitor setups

The easiest way to achieve a working multi-monitor setup is using xrandr after X starts. First, run (from any account):

xrandr -q

This will list all your available video outputs, with some information about them. Assume your output names are VGA-0, DVI-0 and S-video. Then, to merge screens connected to DVI-0 and VGA-0 outputs, you just need to run:

xrandr --output DVI-0 --right-of VGA-0

If this command works for you, just add it to your ~/.xinitrc file.

See HowToRandR12 for more information on multi-monitor setup.

Keyboard Settings

Xorg may fail to detect your keyboard correctly. This might give problems with your keyboard layout or keyboard model not being set correctly.

To see a full list of keyboard models, layouts, variants and options, open:

Input hot-plugging
Note: This will disable Xorg hot-plugging for all input devices and revert to the same behavior as xorg-server 1.4. It is much more convenient to configure devices through HAL instead of xorg.conf. See: Xorg Input Hotplugging

Normally, Xorg tries to configure your keyboard using the xf86-input-evdev driver (which in turn uses dbus and HAL) instead of using your configuration settings in xorg.conf. This may result in an undesired auto-configured keyboard layout. The fastest workaround is to disable the hot-plugging mechanism by adding the following section to your xorg.conf:

Section "ServerFlags"
    Option "AutoAddDevices" "False"
Keyboard layout
# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/

Then open Template:Filename and edit "us" in input.xkb.layout to what you want and, if necessary, edit input.xkb.variant too.

If this is not working for you, the following command (with your keyboard layout instead of pl), executed in X, should switch to your keyboard layout.

# setxkbmap pl 

To make it permanent you can e.g. add this command to Template:Filename file (before starting the window manager).

Through xorg.conf (depreciated)
Note: Changing the keyboard layout through xorg.conf requires disabling input hot-plugging.

To change the keyboard layout, use the XkbLayout option in the keyboard InputDevice section. For example, if you have a keyboard with English layout:

Option "XkbLayout" "gb"

To be able to easily switch keyboard layouts, for example between a US and a Swedish layout use this instead:

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

This makes your Caps Lock key switch between the different layouts. This is mainly useful if you do not run a Desktop Environment which takes care of keyboard layouts for you.

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"

Proprietary Drivers

If you wish to use third-party graphics drivers, do check that the X server runs OK first. Xorg should run smoothly without official drivers, which are typically needed only for advanced features such as 3D-accelerated rendering for games, dual-screen setups, and TV-out. Refer to the NVIDIA and ATI for help with driver installation.


There some tips for setting up fonts in Font Configuration.

Sample xorg.conf Files

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.

Running Xorg

Warning: Unless you have disabled input hot-plugging (not recommended), the HAL daemon needs to be started before running Xorg.

Add hal to the DAEMONS=array of Template:Filename:

DAEMONS=(syslogng hal network netfs crond)

Start hal:

# /etc/rc.d/hal start

Finally, start Xorg:

$ startx


$ xinit

The default X environment is rather bare, and you will typically seek to install window managers or desktop environments to supplement X.

If a problem occurs, then view the log at Template:Filename. Be on the lookout for any lines beginning with Template:Codeline which represent errors, and also Template:Codeline which are warnings that could indicate other issues.

Please Note: Using startx or xinit requires a Template:Filename file, so that X knows what to run when it starts. Your best option is to copy Template:Filename to your home directory and edit it. Comment out the Template:Codeline lines you do not want, and add or uncomment one for the WM you want to use. If you are using GNOME it is best to start GNOME through gdm to avoid HAL permission problems.

In addition, you can also install twm and xterm (via pacman), which will be used as a fall-back if Template:Filename does not exist (as stated in Template:Filename).

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 Template:Codeline in the Template:Filename file:

  • Prevent X from listening on tcp:
-nolisten tcp
Note: This seems to be the default option now in Template:Filename.
  • Getting rid of the gray weave pattern while X is starting and let X set a black root window:
Note: There seems to be no need for that in recent releases of Xorg.
  • 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 Template:Codeline or Template:Codeline in the Template:Filename file. By default kdm options are:

  ServerArgsLocal=-nolisten tcp

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.


Blank screen after startx

Check if your user are in hal and dbus group. If not type this command's: gpasswd -a user hal gpasswd -a user dbus And after this startx.

Xorg's Common User Problems

If you are having trouble with Xorg (it will not start or the screen is just black, the keyboard and mouse is not working, etc.) first take these simple steps:

  • Did you run any Xorg configure scripts? ( xorg -Configure )
  • Did you check the log file? ( /var/log/Xorg.0.log )
pacman -S wgetpaste && wgetpaste /var/log/Xorg.0.log
  • Did you start hal?
  • My keyboard and mouse do not work.
pacman -S xf86-input-{mouse,keyboard}
  • This ATI video card is giving me prolems.
Take a look at the ATI page. ATI is not famous for their drivers - so if you are considering buying a new PC, take a good look at the graphics card first.

Xorg "can not see" the resolutions your monitor supports

I found myself in a situation where if I used one of my monitors (a gnr ts902), Xorg would only present me with the options 640x480 and 320x480 which of course was less than I desired. After a lot of research I found through read-edid (in AUR) that part of my EDID was corrupt and so I could only read my HorizSync with read-edid. This fortunately was enough and after adding the right HorizSync line to the xorg.conf's Monitor section (I did not have to add VertRefresh) I restarted X to see the right resolution.

The following:

Option "ModeValidation" "NoEdidModes"
Option   "UseEdid" "false"

might also be needed (untested).

To switch between layouts with Alt+Shift:

Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"

Problem with your Apple Keyboard?

More information can be found here.

A Quick Fix for the Bitstream-Vera Conflict

If you see a message that ttf-bitstream-vera conflicts with Xorg:

  1. Exit the pacman session by answering no.
  2. Run pacman -Rd xorg
  3. Run pacman -Syu
  4. Run pacman -S xorg
  5. Update your paths in /etc/X11/xorg.conf

A Quick Fix for file conflicts in /usr/include

If you see messages about file conflicts in /usr/include/X11 and /usr/include/GL:

  1. Run rm /usr/include/{GL,X11}
  2. Run pacman -Su

The symlinked directories removed by this operation are replaced by real directories in the new Xorg package, causing these file conflicts to appear.

libgl-dri conflicts

(Note below, that nvidia-legacy has been replaced by nvidia-71xx or nvidia-96xx. See here for further details of which driver to use.)

If you get a message similar to:

:: libgl-dri conflicts with nvidia-legacy. Remove nvidia-legacy? [Y/n]

this is due to the multiple OpenGL implementations explained in the OpenGL section above - pacman is attempting to install libgl-dri to satisfy this dependency, but also trying to upgrade your existing video driver, and they conflict. To solve, try:

  • Updating your video driver before a full system update:
# pacman -S nvidia-legacy
# pacman -Syu

Or, if that does not work,

  • Remove your existing video driver, do the update, then reinstall your driver:
# pacman -Rd nvidia-legacy
# pacman -Syu
# pacman -S nvidia-legacy
:: nvidia-legacy conflicts with libgl-dri. Remove libgl-dri? [Y/n] Y

Mouse wheel not working

The "Auto" protocol does not seem to work properly in Xorg 7 any more. In the InputDevice section for your mouse, change:

Option         "Protocol" "auto"


Option         "Protocol" "IMPS/2"


Option         "Protocol" "ExplorerPS/2"

If you were using "Auto" to configure your touchpad mouse (and its mouse wheel) you will have to start using the "synaptics" driver, instead. The mouse wheel will be included on the right-hand area of the touchpad, then.

In 'Section "Module"' add:

Load "synaptics"

In 'Section "InputDevice"' add/change:

Driver "synaptics"
Protocol "auto-dev"

Read man synaptics for more information.

Touchpad mouse taps not working

Previous versions of Xorg 7 allowed you to use the "Auto" protocol to configure your mouse, and tapping was enabled, too. Now you have to specify the driver, and explicitly enable tapping.

In 'Section "Module"' add:

Load "synaptics"

In 'Section "InputDevice"' add/change:

Driver "synaptics"
Protocol "auto-dev"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"

And read man synaptics.

Extra mouse buttons not working

USB Mice users should read Get All Mouse Buttons Working.

Intellimouse (ExplorerPS/2) users might find their scroll and side buttons are not behaving as they used to. Previously xorg.conf needed:

Option      "Buttons" "7"
Option      "ZAxisMapping" "6 7"

and users also had to run xmodmap to get the side buttons working with a command like:

xmodmap -e "pointer=1 2 3 6 7 4 5"

Now xmodmap is no longer required. Instead, make xorg.conf look like this:

Option      "Buttons" "5"
Option      "ZAxisMapping" "4 5"
Option      "ButtonMapping" "1 2 3 6 7"

and the side buttons on a 7-button Intellimouse will work like they used to, without needing to run xmodmap.

Keyboard problems

Problems with switching to tty1

Auto-generated xorg.conf files may cause you problems. If you cannot get to tty1 by holding CTRL-ALT and pressing F1 or cannot get the £ sign for gb people, check to see if the following entries are in your /etc/X11/xorg.conf:

Option "XkbLayout"  "uk"         #"uk" is not a real layout, look in /usr/share/X11/xkb/symbols/ for a list of real ones.
                                 #Try "gb" if you want a UK keyboard layout
Option "XkbRules"   "xfree86"    #this should be "xorg"
Option "XkbVariant" "nodeadkeys" #This line is also known to cause the problems described, try commenting it out.

Some keyboard layouts have changed. I wondered why:

  • I was not able to Ctrl+Alt+Fx to switch to console
  • I was not able to use layouts

The problem was that the sk_qwerty layout does not exist anymore. I had to replace

Option         "XkbLayout" "us,sk_qwerty"


Option         "XkbLayout" "us,sk"
Option         "XkbVariant" ",qwerty"

Another thing to look for if your keyboard is not properly functioning is the XkbRules option:
You will need to change

Option         "XkbRules" "xfree86"


Option         "XkbRules" "xorg"

AltGR (Compose Key) not working properly

If, after the update, you cannot use the AltGr key as expected any more, try adding this to your keyboard section:

Option      "XkbOptions" "compose:ralt"

This is not the correct way to activate the AltGr Key on a German keyboard (for example, to use the '|' and '@' keys on German keyboards). Just choose a valid keyboard variant for it to work again, for example (the example is for a German keyboard):

Option      "XkbLayout" "de"
Option      "XkbVariant" "nodeadkeys"

The solutions above do not work on an Italian keyboard. To activate the AltGr key on an Italian keyboard make sure you have the following lines set up properly:

 Driver          "kbd"
 Option          "XkbRules"      "xorg"
 Option          "XkbVariant"    ""

This might still not be enough for a swedish keyboard. Try the above, but with lv3 instead of compose. (Thank you wyvern!) That is:

 Option "XkbLayout" "se"
 Option "XkbVariant" "nodeadkeys"
 Option "XkbOptions" "lv3:ralt_switch"

Cannot set qwerty layouts using the setxkbmap command

After the update, there are not qwerty layouts as for example sk_qwerty. If you want to switch your present keyboard layout to any qwerty keyboard layout use this command:

$ setxkbmap NAME_OF_THE_LAYOUT qwerty

e.g.: for sk_qwerty use:

$ setxkbmap sk qwerty

After the update, trying the above command I had this message "Error loading new keyboard description". I find out that the xserver does not have the rights to write, execute, read in the directory /var/tmp.

So, give the permissions to that directory. Restart the xserver and you will have your deadkeys back. Afterwards, confirm a layout (e.g., it layout):

$ setxkbmap -layout it

Setup French Canadian (old ca_enhanced) layout

With disabled hotplugging

Since the new Xorg changed the way it deals with keyboards, the following method will only work if you disable "hotplugging" : Xorg Input Hotplugging

With Xorg7, "ca_enhanced" is no more. You have to do a little trick to get the same layout that you are used to: Switch the old:

       Option          "XkbLayout"     "ca_enhanced"


       Option          "XkbLayout"     "ca"
       Option          "XkbVariant"    "fr"

It will be similar with other layout, I presume. You can refer to Gentoo HowTo there: http://www.gentoo.org/proj/en/desktop/x/x11/modular-x-howto.xml


I use a workaround so that I do not have to manually change the HAL fdi policies, as this is the new way of dealing with keymaps with the new Xorg. I use "setxkbmap" : Xorg Input Hotplugging#Using setxkbmap

Change the X keyboard layout to french canadian with this command:

#setxkbmap ca -variant fr

To make it change automatically, you can try this:

Created the file


and added this to it:

[Desktop Entry]
Name=Keymap French Canadian
Exec=setxkbmap ca -variant fr

It works at least for XFCE4 and LXDE.

Missing libraries

  • Help! I get an error message running my favourite app saying "libXsomething" does not exist!

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

# pacman -S libxau

This will install the library you are missing, and all will be well again!

Some packages fail to build and complain about missing X11 includes

Just reinstall the packages xproto and libx11, even if they are already installed.

Unable to load font '(null)'

  • Some programs do not work and say unable to load font `(null)'.

These packages would like some extra fonts. 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 grab what is closer to you (75 or 100 instead of XX)

# pacman -S xorg-fonts-XXdpi

After updating to xorg-server 1.5, KDE4 Konsole crashes and/or systray icons disappear on right click


Option "BackingStore" "True"


Option "BackingStore" "False"

in /etc/X11/xorg.conf.

Updating from testing version to extra (missing files)

If you have updated from Xorg 7 in testing to Xorg 7 in extra and are finding that many files seem to be missing (including startx, /usr/share/X11/rgb.txt, and others), you may have lost many files due to the xorg-clients package splitting from a single package into many smaller sub packages.

You need to reinstall all the packages that are dependencies of xorg-clients:

# pacman -S xorg-apps xorg-font-utils xorg-res-utils xorg-server-utils \
          xorg-twm xorg-utils xorg-xauth xorg-xdm xorg-xfs xorg-xfwp \
          xorg-xinit xorg-xkb-utils xorg-xsm

This should fix the problem.

Problem with MIME types in various desktop environments

If you noticed icons missing and cannot click-open files in desktop environments, add the following lines to /etc/profile or your preferred init script and reboot.


DRI stops working with Matrox cards

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

Option "OldDmaInit" "On"

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

Cannot start any clients under Xephyr

The client connections are rejected by the X server's security mechanism, you can find a complete explanation and solution on [the Debian wiki].

Cannot start X clients as root using "su"

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

 session        optional        pam_xauth.so

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

Cannot run in framebuffer mode

If the X fail 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

then simply uninstalling xf86-video-fbdev will help.

Ctrl-Alt-Backspace does not exit X

Modification to /etc/X11/xorg.conf

New Xorg disables zapping with Template:Keypress+Template:Keypress+Template:Keypress by default. You can enable it by adding the following line to Template:Filename

 Option  "XkbOptions" "terminate:ctrl_alt_bksp" 

to InputDevice section for keyboard

If you use input hotplugging

If you are using hal to manage your keyboard, you must add the following to Template:Filename to enable this behavior. If that file does not exist, copy it from the template at Template:Filename

# cp /usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/10-keymap.fdi
<merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge>

If the "input.xkb.options" line already exist, just add "terminate:ctrl_alt_bksp" to the existing line, like this

<merge key="input.xkb.options" type="string">grp:alt_shift_toggle,terminate:ctrl_alt_bksp</merge>

Restart hal after making the modification and you'll also need to restart X.

Another way is to add the following line to Template:Filename

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 may also work in ~/.bashrc.

Shift-Backspace does exit X

In order to disable this feature, add the following to the ServerFlags section in /etc/X11/xorg.conf

Option    "DontZap"    "True"

To swap from Shift-Backspace to Ctrl-Alt-Backspace, set the DontZap option to False and use one of the above ways to set the key combination.

Disabling Xorg before the 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 your rc.conf file is misconfigured and Xorg does not recognize your mouse or keyboard input, for instance), there are two ways. 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:

kernel /boot/vmlinuz26 root=/dev/disk/by-uuid/..ro 3

If you have not only misconfigured 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 must use the Arch live CD. Boot up the live CD and login 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

as root to see your partitions. Usually the one you want will be like /dev/sda1. Then to mount this to /mnt use

mount /dev/sda1 /mnt

Then your filesystem will show up under /mnt. So your rc.conf file, for example, would be in /mnt/etc/rc.conf. From here you can delete the gdm module to prevent Xorg from booting up normally, or make any other necessary changes.

See Also