Saturday, September 12, 2009

Ubuntu Display Manager


Just some notes about the display manager(s) on Ubuntu I found out over time, and about their startup settings.
The display manager – that’s usually gdm, the gnome d.m.; alternatively kdm on kubuntu/kde, or even the good old xdm when using a lightweight desktop. In any case, it’s usually started to show a user login screen ;)

Text mode

It is often practical to boot into text only mode – at least, when you know a bit about linux. I’m not talking about removing gdm forever (apt-get remove gdm or update-rc.d -f gdm remove do this), but to use text mode in certain situations – including when you know your Xorg or gdm setup to be broken. Or, when you really want to save battery power ;)
The gdm startup allows this by putting text into the kernel command line. If this parameter is found, /etc/init.d/gdm just exits again. This can be achieved by:
  • stop the bootup in the grub menu, then

    • press “e” to edit the wanted entry
    • use the cursor keys to select the “kernel” line
    • press “e” again to edit the line
    • go to the end of the line and add “text”
    • press return to leave the line editing
    • press “b” to boot the edited entry
  • create a grub entry for text mode

    • sudo gedit /boot/grub/menu.lst
    • copy the first real boot entry (that starts with “title”) into another one below
    • change the title – append “text mode” or such
    • add “text” to the end of the “kernel” line
    • next time you boot the system, you can select the text mode and have tun.
This also disallows to start the gdm via the init script later on, because the entry is part of the kernel command line that cannot be changed. Yet, starting gdm directly achieves the same result.
By the way: I have not hardly anything about this on the web. Of course, you just need to look into /etc/init.d/gdm … the only post I found referring to this is https://bugs.launchpad.net/ubuntu/+source/gdm/+bug/294980

gdm, kdm and xdm

Ever wondered how the various display managers that can be installed on (k)ubuntu stay out of each others hair?
  • each of them may be added to the runlevels
  • when starting, they each check whether they are the “preferred display manager” via /etc/defaults
  • if no, they exit; if yes, the one that should starts.
This way, it should not be possible to start more than one display manager – which you usually don’t want to. Opensuse, on the other hand, uses just one rc-script which decides which dm to start.

sysv-rc-conf

As a side note – I never know how to edit the /etc/rc.d?/scripts. This changed over time, mainly because of the linux standard base (LSB), I believe. The current command-line tool is update-rc.d which is not really nice to use.
But, the package sysv-rc-conf contains a textmode ui tool of the same name which seems to be usable, at least.

There is also chkconfig and insserv as I know from opensuse; yet, their packages refuse to install on Jaunty due to some sysv-init package conflicts. Probably because ubuntu migrated from sysvutils to sysvinit-utils. Or rather to upstart, where sysvinit-utils only contains some utilities.

No comments: