Getting the login right: moving from xdm to gdm or kdm

Getting the login right: moving from xdm to gdm or kdm


For years now, I have been clinging to xdm as my display manager; years ago, I spent several days tweaking the configuration files of xbanner and xdm to get it to look "just so", and I didn't want to change it. But no more! After my last upgrade predictably broke my xdm and xbanner configuration, I decided to spend a little time trying to get each display manager to look "right" with my original login screen design. Pleasantly, both gdm and kdm are much easier to customize, and I had something tolerable with each in less than an hour. I found that kdm was more flexible and gave me much closer to what I was looking for, while gdm was quite obstinate about appearances, though it may be slightly more capable technically.

Versions

In this article, I am working with Debian "Etch", which includes:

xdm v1.0.5

gdm v2.16.4

kdm v3.5.5a

There are also wdm and ldm, but I have not tried these.

I have something of an artistic outlook on my computer's display, and I can be a bit particular about the way it looks. The login screen is what you see whenever you aren't actually using the computer, so it should have a constant, friendly, and attractive (but not too invasive) appearance. Of course, you can just let it show whatever boring splash screen your distribution defaults to, but I personally can't stand doing that!

I have something of an artistic outlook on my computer's display, and I can be a bit particular about the way it looks

Each of my computers has a "personality" of particular quirks, abilities, hardware, installed software, and nominal purpose. And they each have a name, which I usually select from minor characters in media or literature I like. Media's nice, because there are usually pictures I can use for the login screen. The computer I'm typing this column on is "Samwise", after the Lord of the Rings character, of course, and although I started the Tolkien naming scheme some time before the movie came out, I was lucky to have PR images of Sean Astin playing the role of Samwise when I set up this computer.

Figure 1 shows what my login screen has looked like for the last several years, implemented in xdm and xbanner.[1]

Figure 1: my original xdm-based login screen for Figure 1: my original xdm-based login screen for "Samwise" (These are actual photographs, because it's hard to screen-capture the login screen). [2]

After upgrading from Xfree86 4.3 to X.org versions of X Windows (a pretty big leap), as part of my "dist-upgrade" on my Debian system, I wound up with the screen in Figure 2. Actually, I'm abbreviating the story a little bit. What I actually saw after the upgrade was an empty X display: gdm was installed in place of xdm and KDE had been removed, leaving me with no desktop environment. Oh well, dist-upgrades are a bit dicey, especially on a system with as many incremental package upgrades as I have on this one. But this time, I had some extra time, so I thought I'd go ahead and try out the alternatives before fixing my old xdm-based login screen (although I did reinstall KDE immediately!).

Figure 2: This is what always happens with my <code>xdm</code>/<code>xbanner</code> configuration when I move from Xfree86 to X.org. Fortunately, I know what's wrong and can fix it (because I've seen this about three times before). It's apparently a bug in my config file that the upgrade exposes.Figure 2: This is what always happens with my xdm/xbanner configuration when I move from Xfree86 to X.org. Fortunately, I know what's wrong and can fix it (because I've seen this about three times before). It's apparently a bug in my config file that the upgrade exposes.

Trying GDM out

Because it was already installed, I tried out gdm first. I had also read good things about it in online reviews. There's no requirement to use Gnome to use gdm, by the way: one of the nicer features of gdm is that you can set your default environment to be anyone you please, even Gnome competitor KDE!

Under KDE, the configuration dialog for gdm appears (rather cryptically) as "K→System→Login Window Preferences" in the application menu (you'd expect that to be for kdm, but that's in a different place). Figure 3 shows what the configuration dialog looks like. As with other "administrator" tasks, you have to type the root password to get into this dialog.

Figure 3: The configuration window for gdm.Figure 3: The configuration window for gdm.

The first thing to change is, of course, the background image. Fortunately, I didn't make sophisticated use of xbanner on this system, and my login image is a fullscreen image (it appears this is the only kind that gdm understands, although it is much less finicky about file formats).

This was extremely easy, but beyond that, there really wasn't that much I could customize in gdm. I did, of course, spend the time to set up the face browser. This is a nice feature of modern display managers which allow such options as automatically identifying the username at a mouse click (if you're willing to accept the security risk, then you can set up password-less login, so it's possible to login with just two clicks).

Figure 4: My best attempt with gdm was aesthetically disappointing. It is possible to drag the login window to a better position, but who wants to do that every time you log out?Figure 4: My best attempt with gdm was aesthetically disappointing. It is possible to drag the login window to a better position, but who wants to do that every time you log out?

Sadly, the result from gdm is not very aesthetically pleasing. The login widget always appears right in the middle, which as you can see doesn't work well with this background. Of course, the widget is movable (you can grab the window with the mouse and move it around just like any normal GUI window), but that's not very satisfying as you would have to manually change it on every logout (meaning you'd have to hang around until the logout is complete, which I usually don't). There's no point in doing it when you login, since it'll all go away as soon as you do anyway. So the default position is pretty much where the widget is going to be all the time, and yet, I was unable to find any way to change it (it might be possible to do this through a configuration file, just as I had to do with xdm, but I was looking for progress here, not just more of the same).

Sadly, the result from gdm is not very aesthetically pleasing

Another unsatisfying thing is that despite the large size of the login window, the face browser can't display very many faces at once without having to scroll. There's not much direct control over the fonts and colors of the window itself. There is a "themes" feature, but in my installation there was only one, pretty plain, theme.

Trying KDM

After satisfying myself that there was no way (or at least no easy way) to get what I wanted in the gdm preferences, I moved on to kdm. On a Debian system, it's very easy to switch which display manager will start on boot: on a terminal emulator, just run:

# dpkg-reconfigure kdm

It doesn't matter which of the managers you reconfigure, since all of them will ask the same question, which is "Select the desired default display manager" (with all of the installed managers as the options).

Once the display manager has been switched, you can configure it. The KDE display manager configuration is located at "K→Settings→System Administration→Login Manager" (it can also be reached through the Control Panel). Again, you will have to enter the root password to "enter administration mode". Then you will reach the dialog window in Figure 5.

Figure 5: The configuration window for kdm.Figure 5: The configuration window for kdm.

As you can see, there are a great deal more customization options in kdm. In fact, it's even possible to run older X programs like xbanner to draw the login background, using the "Advanced" button on the Background tab. However, I needed relatively little of that flexibility to get what I wanted: I selected the appropriate wallpaper background in the "Background" tab, then a desirable logo, invitation message, and percentage screen position for the login widget. I also selected a GUI theme for the login widget and set up the face browser under the "Users" tab. Finally, I picked more attractive fonts from the "Fonts" tab.

This all took perhaps 20 minutes—mostly due to me deciding which options I liked best. I did have to go through a few login cycles to check the outcome of my changes.

The kdm configuration was a cinch compared to what I had to do to get xdm configured like I wanted

The biggest problem I had was getting the percentage positioning right. The percentages are for the center of the widget, and if it gets too close to the edge, it will squeeze up to fit. Unfortunately, on my first try, this closed up the face browser panel which made it hard for me to tell that I had even successfully enabled the face browser.

Figure 6: Final result with KDE. This was really more aesthetically pleasing than the original xdm layout, and it now has a face browser interface and a choice of desktop environments on login.Figure 6: Final result with KDE. This was really more aesthetically pleasing than the original xdm layout, and it now has a face browser interface and a choice of desktop environments on login.

My final result is in Figure 6, and in my opinion, it's actually more aesthetically pleasing than my original xdm layout. Certainly it is far and away more attractive than the best I could do in gdm. Perhaps more importantly, the kdm configuration was a cinch compared to what I had to do to get xdm configured like I wanted (the reason why I've taken so long to get around to learning another one, though now I'm embarrassed that I waited so long). There are some faults, of course: kdm, unlike gdm does not give you a choice of default desktop environments to bring up—you're stuck with KDE, though you can still switch the environment on each login. Fortunately, I don't have much need for this, although I did take a little time to play around with Gnome, now that I can easily access it. For now, though, I'm definitely sticking with kdm.

——

[1] Explaining how I did it in xdm and xbanner is a little too complex to include here, but if there's interest, I can write it up in a separate post.

[2] Credits on wallpaper image: Created by "Eiluned", at http://www.phoenixfyre.net. This particular wallpaper appears to have been removed. The image included, of course, is (C)2001 New Line Cinema, and was published as a public-relations photo. Naturally, the use on my desktop is legal as that is the intended use for such images. Publishing it here, especially at low resolution, is legal under fair use to illustrate my desktop. I expect there is a way to get direct screen captures of the X server's display, but it can be tricky to get through the security to do it. Most X screen capture utilities don't work until after you are logged in.

Category: 
Tagging: 

Comments

mjjzf's picture
Submitted by mjjzf on

One might consider playing with SLiM:
=> http://slim.berlios.de/

It is very easy to set up the way you'd want to. The homepage features documentation on making themes, but the theme files are human-readable and rather straightforward to edit.

[Edited to make link live)

Ryan Cartwright's picture

Great post Terry.

There are some faults, of course: kdm, unlike gdm does not give you a choice of default desktop environments to bring up—you’re stuck with KDE, though you can still switch the environment on each login.

You might like to have a look at KDM themes. With these you usually get a session menu which allows you to choose an environment (which can be set to be "sticky".

KDM themes are a little trickier to create but - in true KDE fashion - you can customise pretty much everything including the splash you get while KDE loads. If I get a moment I'll post a piece on creating one. In the meantime check out the KDM theme manager. Don't install from there though: there are Debian packages for it (kdmtheme) and KDM themes (kde-kdm-themes).

cheers Ryan

Terry Hancock's picture

I was referring to the ability to set the manager to log into a "desktop environment" (e.g. "Gnome", "KDE", "XFCE", etc), not a particular theme within KDE.

KDM (v3.5.5 anyway) always defaults to KDE, although you can switch to Gnome on each login if you want.

By contrast, GDM Is agnostic -- you can set its default to whichever environment you want. As I mentioned, this is a non-issue for me, since I do want KDE to be the default, but obviously Gnome users would find it annoying.

Ryan Cartwright's picture

I was also referring to desktop environments but also to KDM themes not KDE ones.

KDM themes are more than just window dressing for the standard KDM login dialog. They enable you to completely define what is shown and what it does. Some of them have controls for setting the defaukt environment (IIRC).

If you want to take a look, install the kdmthemes package and have a look at /etc/kde3/kdmrc. In there you can enable themes and set your chosen one. You'll see that it overrides what is defined in KControl. The kdmtheme-manager is a KControl plugin from which you can set a theme for KDM.

BTW: My default Debian install of KDM will keep the previously chosen desktop environment (KDE, XFCE, GNOME, IceWm etc.) as the one to use next time. I'm using it with XFCE on this machine, although IceWm is installed as well. Does yours not do this then?

Author information

Terry Hancock's picture

Biography

Terry Hancock is co-owner and technical officer of Anansi Spaceworks. Currently he is working on a free-culture animated series project about space development, called Lunatics as well helping out with the Morevna Project.

Most forwarded

Interview with Dave Mohyla, of DTIDATA

Dave Mohyla is the president and founder of dtidata.com, a hard drive recovery facility based in Tampa, Florida.

TM: Where are you based? What does your company do?
DTI Data recovery is based in South Pasadena, Florida which is a suburb of Tampa. We have been here for over 10 years. We operate a bio-metrically secured class 100 clean room where we perform hard drive recovery on all types of hard disks, from laptop hard drives to multi drive RAID systems.

Anybody up to writing good directory software?

Since the very beginning, directories (of any kind) have had a very central role in the internet. (I have recently grown fond of Free Web Directory. Even Slashdot can be considered a directory: a collection of great news and invaluable user-generated comments. As far as software is concerned, doing a quick search on Google about software directories will return the free (as in freedom) software directories like Savannah, SourceForge, Freshmeat and so on, followed by shareware and freeware sites such as FileBuzz, PCWin Download Center and All Freeware (great if you're looking for shareware and freeware, but definitely less comprehensive than their free-as-in-freedom counterparts).

Interview with Mark Shuttleworth

Mark Shuttleworth is the founder of Thawte, the first Certification Authority to sell public SSL certificates. After selling Thawte to Verisign, Mark moved on to training as an astronaut in Russia and visiting space. Once he got back he founded Ubuntu, the leading GNU/Linux distribution. He agreed on releasing a quick interview to Free Software Magazine.

Is better education the key to finding better software?

I read David Jonathon's article Anybody Up To Writing Good Directory Software? the other day, which got me thinking about software directories in general. As David mentioned, many of the software directories one finds when doing a quick google search are free as in beer, not as in freedom. But what interests me is the software directories that already exist, providing a combination of both free as in beer software, and open source software. Sites such as Freeware Downloads and Shareware Download don't advertise themselves as providing free as in liberty software, but each of them have a good selection of open source software available... if you know where to look.

Most emailed

Free Open Document label templates

If you’ve ever spent hours at work doing mailings, cursed your printer for printing outside the lines on your labels, or moaned “There has got to be a better way to do this,” here’s the solution you’ve been looking for. Working smarter, not harder! Worldlabel.com, a manufacture of labels offers Open Office / Libre Office labels templates for downloading in ODF format which will save you time, effort, and (if you want) make really cool-looking labels

Creating a user-centric site in Drupal

A little while ago, while talking in the #drupal mailing list, I showed my latest creation to one of the core developers there. His reaction was "Wow, I am always surprised what people use Drupal for". His surprise is somehow justified: I did create a site for a bunch of entertainers in Perth, a company set to use Drupal to take over the world with Entertainers.Biz.

Update: since writing this article, I have updated the system so that the whole booking process happens online. I will update the article accordingly!

So, why, why do people and companies develop free software?

More and more people are discovering free software. Many people only do so after weeks, or even months, of using it. I wonder, for example, how many Firefox users actually know how free Firefox really is—many of them realise that you can get it for free, but find it hard to believe that anybody can modify it and even redistribute it legally.

When the discovery is made, the first instinct is to ask: why do they do it? Programming is hard work. Even though most (if not all) programmers are driven by their higher-than-normal IQs and their amazing passion for solving problems, it’s still hard to understand why so many of them would donate so much of their time to creating something that they can’t really show off to anybody but their colleagues or geek friends.

Sure, anybody can buy laptops, and just program. No need to get a full-on lab or spend thousands of dollars in equipment. But... is that the full story?

Fun articles

Santa Claus - the most successful open source project

It dawned on me the other day, as I was shopping for the dozens of gifts it seems I have to buy every December, that Santa Claus is the most successful open source project in history. (Bridget @ Illiterarty would agree with that). Santa Claus is essentially a marketing development that is embodied by everyone who stuffs a sock, gives a gift, hosts a dinner or wishes Merry Christmas over the holiday season.

Most emailed

Editorial

When I first started thinking about Free Software Magazine, I was feeling enthusiastic about the dream. I had Dave, Gianluca, and Alan willing to help me, I had established members of the free software community willing to help me out, I had writers volunteering their time and energy for free, and I had a generous offer from OpenHosting for servers, all before I'd proved myself. There was a sense of excitement in the air, and I thought maybe, just maybe, I could make this work.

Free Software Magazine uses Apollo project management software and CRM for its everyday activities!