Display Manager
From ArchWiki
Article summary |
---|
Covers installation, configuration, and troubleshooting of common display managers. |
Available in languages |
Česky |
English |
Italiano |
Español |
Deutsch |
עברית |
Русский |
简体中文 |
Türkçe |
Related articles |
Xorg |
Start X at boot |
A display manager, or login manager, is a graphical interface screen that is displayed at the end of the boot process in place of the default shell. There are various types of display managers, just as there are various types of window and desktop managers. There is usually a certain amount of customization and themeability available with these managers.
Contents |
Installation
Choose and install a preferred display manager:
XDM: X display manager
# pacman -Sy xorg-xdm
GDM: Gnome display manager
# pacman -Sy gdm
KDM: KDE display manager
# pacman -Sy kdebase kdebase-workspace
SLiM: Simple Login Manager
# pacman -Sy slim
Qingy: DirectFB getty replacement
# pacman -Sy qingy <qingy-theme-arch>
Entrance: Enlightenment display manager
# pacman -Sy entrance-svn
CDM: Console Display Manager A package is available in the AUR: cdm
Loading the display manager
You have two easy methods to make the system load the display manager:
- inittab method
- The display manager will load automatically after start-up and will respawn in the event of a crash.
- Daemon method
- The display manager will load automatically during the start-up as a daemon (currently only works with Entrance, GDM, KDM and SLiM).
The inittab method is recommended for various reasons, one being that it will allow you to boot directly into framebuffer mode from GRUB. This is an advantage should the graphics driver crash in X, for example, you would not be forced to fix your system from a live CD or through other needlessly complex means.
With the inittab method all you would have to do is to press 'e' for edit at the GRUB prompt and just add the number of the run-level you prefer, such as run-level 3, to the end of the 'kernel' line to boot directly into framebuffer mode in order to fix your system/X (this described in detail below.)
When using the daemon method you can simply boot into runlevel 1/S which will prevent any daemons, including the login manager, from being started. Then you can fix your system/X and switch into the runlevel 3. Both methods are equally easy.
inittab method (recommended)
The run-levels are:
0 Halt 1(S) Single-user 2 Not used 3 Multi-user (default) 4 Not used 5 X11 6 Reboot
Modify default run-level
Edit /etc/inittab and find the line that looks like this:
id:3:initdefault:
Modify the '3' to '5' for X11:
id:5:initdefault:
The next time you reboot, the 'X display manager' should run. For other display managers see below:
Modify default display manager
Edit /etc/inittab and find the line that looks like similar to this one (near the end):
x:5:respawn:/usr/bin/xdm -nodaemon
Modify it so it points to the display manager of your choice:
GDM:
x:5:respawn:/usr/sbin/gdm -nodaemon
KDM:
x:5:respawn:/usr/bin/kdm -nodaemon
SLiM:
x:5:respawn:/usr/bin/slim >& /dev/null
Entrance:
x:5:respawn:/usr/sbin/entranced --nodaemon &> /dev/null
The next time you reboot, the display manager of your choice should run.
Daemon method
You simply need to add the daemon name to your daemons array in /etc/rc.conf
Near the end of the file you will see a line that looks similar to the following:
DAEMONS=(syslogd klogd !pcmcia network netfs crond) # this is the daemons array
Append the daemon name for the display manager of your choice (entranced, gdm, kdm, or slim):
DAEMONS=(syslogd klogd !pcmcia network netfs crond entranced)
Ensure you start the display manager last in the DAEMONS array, otherwise X will later allocate a tty device which was previously claimed by getty (see /etc/inittab). Not placing the display manager at the end can cause X crashes, and is therefore unsupported.
The next time you reboot, the display manager should run. In the event that it does not, be certain that you typed in the name correctly, and that the manager you selected is installed. It also helps to ensure that startx is not stopping with errors.
Troubleshooting
Switching run-levels
Command prompt
If you want to test out the display manager without rebooting, or you want to change the X configuration and that pesky display manager keeps respawning, use this command:
/sbin/telinit <run-level>
To switch to run-level 3 (Multi-user):
/sbin/telinit 3
To switch to run-level 5 (X11):
/sbin/telinit 5
By switching you can avoid restarting the system during your testing.
GRUB
You can add a menu item in GRUB to allow you to boot with or without X11,
In /boot/grub/menu.lst find the first kernel entry you have (the default is '# (0) Arch Linux')
# (0) Arch Linux title Arch Linux root (hd0,0) kernel /vmlinuz26 root=/dev/sda3 ro initrd /kernel26.img
You can duplicate it and modify both like so:
# (0) Arch Linux Multi-user title Arch Linux Multi-user root (hd0,0) kernel /vmlinuz26 root=/dev/sda3 ro 3 initrd /kernel26.img
# (1) Arch Linux X11 title Arch Linux X11 root (hd0,0) kernel /vmlinuz26 root=/dev/sda3 ro 5 initrd /kernel26.img
The run-level was appended to the end so the kernel knows what run-level to start with.
LILO
You can start-up with the run-level of your choice by just selecting or typing in the kernel name and then appending the desired run-level in the LILO boot screen like so:
: Arch 5
GDM fails on logout
If GDM starts up properly on boot, but fails after repeated attempts on logout, try adding this line to the daemon section of /etc/gdm/custom.conf:
GdmXserverTimeout=60
GDM root login
It is not advised to login as root, but if necessary you can edit /etc/gdm/custom.conf and add:
[security] AllowRoot=true
You should be able to login as root after restarting GDM.