I have a home server that sits in my closet running Ubuntu 9.04. I regularly access it using NX. About a week ago, I arrived back from an extended trip, and noticed that a security update to the kernel had been installed and it was waiting for me to approve a reboot. After I rebooted, I logged back in, and… my GNOME theme was all messed up.

I don’t think that this was caused by the kernel update (I even booted up the old kernel to make sure), but some other update that came along recently is probably to blame, and the problem didn’t show itself until I had to log out and log back in.
I don’t use a fancy theme, just the regular default Ubuntu theme. In this situation, the window borders were still themed properly (although now an ugly blue color, which you can’t see in this screen shot), but the icon set was the default GNOME set no matter which set I chose in the appearence preferences, and most of the controls weren’t themed either (see the bottom-left and top-right of the screen shot).
I thought that maybe something had gone bad in my profile, but I created a new account and it also had the problem, so something had apparently broken system-wide. This is what makes me suspect that a recent software update is to blame, because I haven’t been poking around in any system-wide stuff on this machine in a while.
I didn’t realize that using the FreeNX server was part of the problem at first, but I finally found some other people who have the same issue this evening, and one of them mentioned this bug report, which mentions another bug report, which has the solution to the problem. (It doesn’t just affect FreeNX either, some people have the same problem with VNC.) It turns out that gnome-settings-daemon is crashing, and without it running, the theme is messed up (among other things). To get it running again, you have to disable its keyboard plug-in. (I’m not yet sure what you lose by disabling this plug-in, but the keyboard still works even without gnome-settings-daemon running, so what’s there to lose…).
Here’s the solution.
- Run gconf-editor
- Navigate to /apps/gnome_settings_daemon/plugins/keyboard
- Uncheck the “active” box on the right
- Log out and log back in (or manually start gnome-settings-daemon)
There you have it. This will tie us over until the issue is actually fixed in gnome-settings-daemon. Maybe, if you are experiencing this issue, you didn’t have to search around for as long as I did to find the solution.
Update: August 5, 2009
There is a new bug report on this issue.
Also, a user reported that the fix above did not work. I suggest also disabling the mouse plug-in for gnome-settings-daemon (by following the steps above, but going to /apps/gnome_settings_daemon/plugins/mouse instead), since some of the comments in the first gnome-settings-daemon bug report indicated that this was necessary for them to fix the problem. If that doesn’t help, then something else is causing gnome-settings-daemon to crash… or if it is not crashing, you must have a completely different issue.
Update: September 23, 2009
Reportedly, you can fix this problem by reverting libxklavier to version 3.9-0ubuntu1.
I tried all three solutions but it’s not working in Ubuntu 9.10.
Have you upgraded to 9.10 yet? I am wondering if you have managed to fix the problem there also.
Alessandro,
please take a look at https://edge.launchpad.net/~chrisccoulson/+archive/ppa
en find the
libgnome-desktop-2-11_2.28.1-0ubuntu3~chrisccoulson1_.deb
and
libgnome-desktop-dev_2.28.1-0ubuntu3~chrisccoulson1_.deb
files and install.
This will fix it (at least it did here)
**where in my case would be “amd64″.
Cheers!
freenx worked fine in ubuntu 9.04 with this fix
now i upgraded to 9.10 and the same problem showed up, but disabling the keyboard and mouse plugins didn’t help
The theme problem got fixed – but there is still something fundementally broken in Ubuntu 9.04 and FreeNX server (at least in my case). The NX Client freezes ocassionally and it seem to be rather random, usually in cases where the windowing system has to represent a lot widgets (such as complex settings window with a lot checkboxes, radiobuttons etc.). The GUI of such applications also keeps freezing requently, and then comes back alive. Sometimes the application can be un-responding for 15-20 second, then comes back alive for 2-5 second, and freezes again. This happens only inside FreeNX session, not via VNC or locally. (one example of such application is Lazarus IDE).
Wow, thank you! This actually solved the problem. I did not have this issue on regular logins or with VNC, but gnome-settings-daemon did crash every time I logged in only via FreeNX.
Oddly also, if you went into System -> Preferences -> Appearance, the theme came back for a while, taskbar got themed for couple of seconds, and then everything reverted back to plain gray theme.
Sweet thanks!!! Worked like a charm!
Thank you!!! Been searching for a solution to this for a while. Disabled the keyboard-thing and it did the trick!
Thanks,
Your tip solved my problems.
Glad to see this article. I have test my ubuntu 9.04 and freenx for a month, because I plan to send the machine to my family, they were working well together. Just 2 days before I send, the 29 July evening, the gnome theme, keyboard indicator started behave funny. It took me 2 day to reinstall the whole system twice but the problem still there.
Keyboard indicator is my main issue because I have to use Eng-Thai keyboard. I have tried xfce, kde and other the theme, they seem to work fine but keyboard indicator still a problem. I,also, have tried to edit the xorg.conf to enable this function with no luck.
So I am still waiting for the good news, may be have to wait for the 9.10
Hi Aaron,
It seems that the lock problem was also solved by the fix you mention. But when logging in through NX it takes a few minutes before the “Lock Screen” actually responds.
Thanks again mate. And now of to work
Yeah, someone in one of the forum threads I linked to above also mentioned being unable to lock the screen. I’ve gotta assume it has to do with the “keyboard” plug-in for gnome-settings-daemon as well — that is, the “keyboard” plug-in needs to be loaded for the screen lock to work, for some reason. It never bothered me, since I just always lock the client.
Hopefully, they’ll get this worked out soon!
Thank god I found this page. I also had this problem. Today I even reinstalled the complete PC in a desperate move .
* installed ubuntu 9.04 from scratch
* leave updates pending for the time being
* installed freenx-server
* connected from laptop to confirm correct working order
* installed pending updates
* again connected from laptop to see a non-working theme (as in screenshot above) and inability to lock screen
Although the fix mentioned here does the trick for the ‘theme’ problem, I still am not able to lock the screen on my remote pc. But eey, you still made my day by posting this fix.
[...] http://aaron-kelley.net/blog/2009/08…y-gnome-theme/ [...]
If it’s the keyboard mapping that you set in the GNOME Keyboard Preferences, I imagine that it was broken before because gnome-settings-daemon was not running, and it is broken now because gnome-settings-daemon is running without the keyboard plug-in. Unfortunately, I don’t know of anything you can do until this bug is fixed, if you must use the machine remotely.
You can follow the progress of getting this bug resolved here.
I read your solution and it works. But I have another problem that persists: the keyboard mapping. Before this bug there was no problem, I managed the configuration. Now I have same config, but it doesn’t fix the problem. Any suggestion?