Karmic Koala, GDM, XDMCP and some other stuff

Update: I’ve written another post which describes how to work around some of the XDMCP regressions in Karmic

Ubuntu 9.10, Karmic Koala, has been released. So it’s time to provide some updates on my older posts to cover the changes, both good and bad, that are relevant to the subjects I’ve raised in the past.

Last night I installed Karmic on my Dell Mini 9 netbook. Today I’ve created a virtual machine to test the desktop edition. I haven’t done a real install on an actual hardware desktop machine yet though, so take the following with a pinch of salt: the installation takes too long.

I don’t mean that it takes too long chronologically, but rather it takes too long relative to the accompanying slideshow which introduces you to some of the included applications. In both cases the slideshow reached its end, telling me that the installation would finish shortly, before I was even half way through the installation process. It should either wrap back round to the start, or spend more time on each slide, when the installation is going too slowly. As a final niggle on this part, the last slide tells me I can get help from the white/blue question mark “above” – which is true on a desktop installation where a link is placed on the top panel, but isn’t true on a netbook installation where it’s placed in the “favourites” section of the netbook launcher instead.

On the subject of the netbook launcher, one of my complaints about the previous version was that the background was too opaque, making it somewhat pointless letting the user choose a desktop image. In the 9.10 release the background is far more translucent, a definite improvement.

When it comes to desktop images, Karmic Koala ships with far more than previous versions of Ubuntu did. There’s a nice selection of photographic images which were contributed by the Ubuntu community, and stand up well against the desktop backgrounds available by default in Windows and MacOS. I would have liked to have seen some vector or 3D-modelled backgrounds as well though, as these can have source code, helping to reinforce the fact that you have the right to modify and change every aspect of an Open Source desktop.

Karmic ships with a nice selection of desktop backgrounds
Karmic ships with a nice selection of desktop backgrounds

One annoying change was that there’s no longer an application to let you switch between the netbook launcher and “normal” Ubuntu desktop modes. I’ll grant you that the full Ubuntu desktop doesn’t make much sense on a netbook screen, but when the machine it plugged into a larger monitor – and possibly with an external keyboard and mouse attached – it’s nice to be able to switch it to a conventional desktop that suits the extra space more. With the previous edition of UNR one of my favourite tricks was to enable XDMCP, then log into the netbook via a desktop machine elsewhere on the network. You get to work on the netbook, but using a big screen and sensible keyboard and mouse, and all without having to route around to re-plug cables. This approach also benefits from a dektop mode switcher… but as they’ve essentially killed support for XDMCP with Karmic, it’s a bit moot.

What’s that? Killed XDMCP support you say? Unfortunately, yes. It’s still there under the hood, but all the user-facing UI has gone. What was once an easy way to set up multiple users on a single machine by setting one dropdown and booting a few old boxes from Live CDs, has now turned into a technical obstacle race requiring you to manually edit a config file, and install extra software on the live machines.

In previous Ubuntu releases the GDM configuration app (System=>Administration=>Login Screen) was an overly complex collection of tabs and widgets which exposed far too many options. Below is an image from one of my earlier posts which shows the sheer number of options on the “Remote” tab – and that was just one of six.

Remote Login Window Preferences

In practice a lot of people just want to enable or disable XDMCP and aren’t too worried about being able to set all of the other parameters, so it would have been practical to reduce this whole tab down to just the dropdown at the top. Even that could probably be reduced to a simple checkbox: Enable Remote Logins (XDMCP) – Yes/No. But instead of slightly simplifying all of the tabs and removing the more esoteric features, Karmic sees this whole dialogue reduced to this:

Simplicity can be taken too far
Simplicity can be taken too far

So how do you enable XDMCP on a Karmic box? It’s back to the bad old days of editing the gdm config file, I’m afraid (I’ll go into the details in a future post). Now there are good reasons why it should be tricky to enable XDMCP. It’s an inherently insecure protocol, so accidentally leaving it on when you take your laptop out of the security of your local network is a bad thing. But it’s also an incredibly useful feature:

  • As mentioned above, it lets you use your netbook on a big screen without the need to route cables around
  • It’s a great way to turn an old machine into a simple terminal for a newer, faster model. No need to throw out your old machine when you upgrade – just use it as a thin client for the kids to use
  • Are the kids on your Ubuntu box, just when you need to access it? Use your laptop to log into it without having to boot them off
  • I know of one case where a child was allowed her own PC, but only as a remote terminal to the family PC in the living room. They knew that when the family machine was off she couldn’t be playing with the computer or browsing the web into the small hours
  • It’s also the closest equivalent to Microsoft’s Remote Desktop Protocol, familiar to any enterprise Windows user. Being able to share the desktop you’re currently logged into, while useful, is not the same thing as being able to log in from any machine on the network

At the very least I’m sure that the complete removal of a UI for this will annoy the 150 people who hit my site every month looking to run a rootless Linux desktop on their Windows machine.

While we’re on the subject of XDMCP, it’s worth noting that they’ve killed it at the other end as well. Whereas the old GDM login had a menu option to select XDMCP Login, the Karmic version doesn’t. Pressing F10 to bring up the option doesn’t work either. It used to be that you could temporarily convert any machine into a thin terminal by booting a Live CD, logging out, then selecting XDMCP login. That’s no longer the case. In fact, if you try to do that you’ll probably find that you can’t log back in either, as the default user has no password, and the automatic login doesn’t work at that point. Never mind, ctrl-alt-backspace will restart GDM and get you in… oh, hold on, they got rid of that in the last version, didn’t they. I hope you know your Magic SysRq Keys or you’ll have no choice but to shut the machine down.

In theory you could connect to an XDMCP server using the Terminal Server Client Applet from within the live environment – except that needs XNest to be installed, so you’re out of luck if you haven’t got an internet connection. The applet also crashes for me every time I try to add it to the panel – though this is in a virtual machine, so you might fare better on real hardware.

So, no way to easily configure XDMCP from the server end, and no way to easily connect from the client end. Perhaps changing the GDM theme will bring back that useful F10 menu. Here’s the overly complex GDM setup screen from Jaunty, showing the theme selector:


Yes, there are too many settings again. But at least it gives you a thumbnail view of what your login screen will look like. Just find the one you want and select it. There are plenty more in the repositories if you want, or you can use the “Add…” button if you’ve grabbed one off the internet. Ignoring the rest of the options on here, that bit at least does what it needs to. But we’ve already seen the GDM Settings screen in Karmic, and there’s no sign of a thumbnail viewer – so how do we change the GDM login screen in this brave new world? The answer can be found in this useful list of Karmic tips and tricks:

8. What happened to GDM theming?

* The new GDM uses the GTK theme for the gdm user. To change it, you’ll need to run gksudo -u gdm gnome-appearance-properties and select a new theme

Hmmm…. okay, let’s give that a try…. Open a terminal, type in the command line, provide my password… and get an error message:

That can't be right, surely?
That can't be right, surely?

Not a great start. Clicking through fills the terminal with more error messages, but eventually the Gnome Appearance Properties dialogue does come up:

Now where are those GDM thumbnails?
Now where are those GDM thumbnails?

Yes, it looks like the normal Appearance dialogue, because that’s what it is – it’s just that this one is for the “gdm” user rather than your normal user. As a result, you won’t find a thumbnail list of GDM themes, no matter how hard you look. Instead the GDM theme is taken from the GTK theme, so you can try changing to another GTK theme, perhaps select a different background, maybe an alternative window decoration. Then you exit the dialogue, log out and… it looks exactly the same as before. Hmm…

I suspect that the tip above actually relates to the “simple” login screen that GDM can use, rather than the full graphical version. Switching to the simple screen now requires editing the GDM configuration file, so I can’t be bothered to pursue that line of investigation any further. Suffice to say that changing the style of the graphical GDM login screen has gone from being a point-and-click affair, reminiscent of changing the desktop background, into a who-knows-how-the-hell-to-do-it conundrum. All of which means that, no, changing the GDM theme to get the F10 menu back isn’t an easy solution to the XDMCP problem either.

Finally onto another bugbear of mine from Jaunty: the shutdown menu. Six months ago the shutdown options got removed from the System menu and put onto the “fast user switcher applet” (FUSA). Now FUSA has some advantages, but I do prefer my shutdown options on the System menu. Unfortunately you can’t have both – it’s one or the other. If you remove FUSA you get them back on the System menu, but then you lose the FUSA advantages.

Nothing has improved with Karmic. In fact if anything, it’s got worse. Not only is it still an either/or proposition (Why, Canonical? Why can’t we have both?), but if you do remove the FUSA and decide that you want it back again things have got more confusing. In Jaunty the FUSA was exposed via the add applets menu as “User Switcher”. There was also a “Log Out” and a “Shut Down” applet to add to the confusion, but once you remembered that the widget in the corner was also used to switch users, it wasn’t too hard to find.

In Karmic, if you remove the FUSA then want it back, good luck in finding it. Karmic has a “Log Out” and a “Shut Down”. It also has a “User Switcher” – but that’s not what you want anymore. Yes, it kind of does the job, but it’s not the one that’s on the panel by default. If you want that one back, the thing you’re looking for is “Indicator Applet Session”. Don’t get it confused with “Indicator Applet” just above it, even though they have the same icon – they’re related, but very different things.

So Karmic still doesn’t let me have a shutdown option on my System menu and the FUSA (sorry, Indicator Applet Session). It will let me load up the panel with a whole load of Shut Down, Log Out, Switch User, and Indicator Applet Session widgets instead though. Phew! That makes my life so much simpler.

You may be thinking that I’m making a lot of fuss over a little menu entry, but my post about this for Jaunty is my most popular page, getting over 160 hits per month. Looks like I’m not the only one who wants his menu entries back.

Comments (20)

  1. One of the reasons I use Ubuntu is because of its high customization levels. I find that the Apple-approach (let user customize nothing) is a bit frustrating.

    Thanks for the write up. I don’t feel like experimenting right now to change a GDM screen, but I may pull up my sleeves and try your tips out like the good old days of Linux I had hoped were gone 😉

  2. GDM’s been broken for two releases. The last one couldn’t actually do that “save session state” thing because they (GNOME, not Ubuntu) were in the middle of writing this thing.

    I’ll stick to KDE.

  3. I don’t use the Save Session State option, so didn’t notice the problem with it in Jaunty. The apparent inability (or at least difficulty) in changing GDM themes is annoying, but not a show-stopper. I am a frequent user of XDMCP though, so the regressions there are causing me some real pain.

    This is one of the problems with chasing a timed release, rather than a feature-based release. If something’s not ready, it just gets dropped to hit the deadline, even if it means a significant regression.

    In fairness KDE hasn’t always been great in this respect either – the initial 4.x releases dropped a lot of features that were present in 3.x. I’ve always been put off KDE by the excessive number of configuration options, and preferred Gnome’s simpler approach – but as noted in the article, simplifying six pages of widgets down to two or three options was perhaps a step too far.

  4. When I upgrade my ubuntu 9.04 to Karmic Koala 9.10
    I was very ansious to see the new improvements of
    Canonical collaborators. My main machine where I
    deposit all our home (users) directories is a machine without screen and mouse. I connected to
    it every time by XMDCP. Now that’s not possible.
    I was so disappointed with this new version.
    Hope developpers will apply a correction to return
    to this ‘insecure’ but very useful way to login in
    in a near future.

  5. The “Remote connection” entry remains available with KDM ! So, XDMCP works (for the client side) as soon as one uses KDM instead of GDM (the “Remote connection” is available). In addition, the KDE System Settings GUI allows to customize the login window and its background. So, while my desktop manager is GNOME, I installed KDM and KDE Systems Settings. That implies a lot of KDE libraries, but it works fine. It’s the only one workaround I found in order to avoid the GDM regression from Jaunty to Karmic.

  6. Thank you jmgdoc for the information.
    I always avoid to use KDE at home because its
    amount of resources used. As workaround I’ll
    try to install it for the moment.

    But I still convinced that removing XDMCP from
    GNOME is a backstep in this nice distribution.

  7. Dear Mark,
    I follow the instructions but even installing KDM
    or performing the modifications on the file
    /etc/gdm/custom.conf with Enable=true, it doesn’t
    give me any prompt to connect to Remote Servers.
    Maybe I’m missing something…
    Little bit lost for the moment.

  8. Ernesto,

    The changes to /etc/gdm/custom.conf are to enable the XDMCP at the server end, they won’t affect your login screen. I haven’t tried KDM yet, so I can’t comment on that at the moment. If you’ve already got an XDMCP server set up, have you tried the xinit approach described in my other post to make a connection?

  9. Thank you Mark for your help,
    Using the xinit approach:
    from 9.10 Karmic to 9.04 Jaunty
    sudo xinit — :2 -query ‘myIPaddress’ works OK !

    I’m still investigate about the vice-versa.
    Using a Windows connecting with NX to my Jaunty
    and trying to connect to Karmic doesn’t work.
    Maybe because I’m using a remote client.

    I’ll connect a monitor, kbd and mouse on Jaunty
    and test it on Karmic, tomorrow.

  10. I’ve had both a Jaunty client connected to a Karmic server and a Karmic client connected to a Jaunty server during my testing of the past few days, and aside from the removal of the XDMCP GUI options, I’ve had no real problems making connections in either direction.

    I don’t think NX will allow you to use XDMCP to connect. The last time I looked at NX (some time ago, I admit) it just used TCP over an SSH connection to tunnel the X desktop, whereas XDMCP requires a UDP connection. SSH with the -w option can be used to set up a full VPN tunnel which should allow UDP-based protocols to work, but I haven’t tried it myself. It’s possible that more recent versions of NX use this mechanism and therefore should allow an XDMCP connection to work.

    That said, if you have NX installed, do you really need XDMCP at all? The last time I looked at it, NX provided all the features of an XDMCP connection and more. The only real advantage of XDMCP is that it’s already present on your system – and even that is less of an advantage now that GDM doesn’t offer the option anymore.

    One other thing to look at is using the XMing Windows X server to make an XDMCP connection to your Linux box. You can even run this rootless, which is quite a nice working environment, as described in my earlier post:


    This uses the same UDP traffic as any other XDMCP connection, so will only work if your Windows box is on your LAN or you have a full VPN connection between the boxes.

  11. After some customizing to change my GDN screen at login it now always prompts me to change my theme settings at every login????

    I need to shut this off. Need help.


  12. I don’t know what could be causing that, but the two config files that govern GDM are /etc/gdm/gdm.conf and /etc/gdm/custom.conf – try deleting those if they exist and restarting GDM (“sudo restart gdm”).

  13. Anyone help out with the configuration setting of gdm.conf file for 9.10 and 10.4 ubuntu for remote machine connection

    Thanks regards,
    Krunal Patel

  14. I just installed 10.04 and was surprised that I could not use my Xming from my windows laptop to access my home computer anymore. Your site helped me at least understand the problem…. now whose ass do I kick to get the XDMCP option back into UBUNTU? – I have been using Ubuntu for a number of years and actually with my old machine, it seems to be getting worse and worse with every major release. I am not a linux expert but when I started with version 5 awhile ago, I was very impressed.. now I am loosing faith and will likely go back to a straight Debian install.

  15. Unfortunately I think the likelihood of XDMCP making a return to Ubuntu is becoming more and more slim with each release. These days I would recommend that anyone requiring XDMCP support is probably better off with a different distro, such as Debian.

Comments are closed.