On kde-base/kdm-3.5.1 and kde-base/kdm-3.5.0, custom backgrounds are not displayed when the background is saved in the root home diretory, or when getting a new wallpaper through the "Get New Wallpaper" button in the Background tab of "Login Manager". Reason, when the background file is located in the root home directory, and selecting the file using folder icon next to the picture button, the entry in: /usr/kde/3.5/share/config/kdm/backgroundrc is Wallpaper=$HOME/25052-ubuntu_the_difference_gentoo.png Changing it to read: Wallpaper=/root/25052-ubuntu_the_difference_gentoo.png Fixes the problem. Also, downloading a custom background has the same problem since it is located in a subdirectory of the root home directory, as show here: Wallpaper=$HOME/.kde/share/wallpapers/QuakeLinux--0 Changing it to: Wallpaper=/root/.kde/share/wallpapers/QuakeLinux--0 Fixes it. It appears that the value of $HOME has not yet been determined since no one has logged in at this point. Portage 2.1_pre4-r1 (default-linux/x86/2005.0, gcc-3.4.5, glibc-2.3.6-r2, 2.6.15-ck2 i686) ================================================================= System uname: 2.6.15-ck2 i686 Unknown CPU Typ Gentoo Base System version 1.12.0_pre15 dev-lang/python: 2.4.2 sys-apps/sandbox: 1.2.17 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1 sys-devel/binutils: 2.16.1-r1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r3 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-O2 -pipe -march=athlon-xp -fomit-frame-pointer -mmmx -msse -m3dnow -mfpmath=sse" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/kde/3/share/config /usr/share/X11/xkb /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O2 -pipe -march=athlon-xp -fomit-frame-pointer -mmmx -msse -m3dnow -mfpmath=sse" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo http://gentoo.chem.wisc.edu/gentoo/ http://gentoo.osuosl.org/ http://mirror.phy.olemiss.edu/mirror/gentoo http://gentoo.mirrors.easynews.com/linux/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 3dnow 3dnowext S3TC X a52 aac acpi alsa apache2 arts asf audiofile avi berkdb bzip2 cairo cddb cdio cdparanoia crypt css cups curl dga dlloader dvd dvdr dvdread eds emboss emoticon encode fame ffmpeg firefox flac foomaticdb gdbm gif gimp glut gstreamer gtk gtk2 ieee1394 imagemagick imlib imlib2 iproute2 jack java joystick jpeg jpeg2k kde libwww live logitech-mouse lzo mad mikmod mjpeg mmx mmxext motif mozsvg mp3 mpeg mplayer musicbrainz nas ncurses network nforce2 nls nntp nomalloccheck nptl nptlonly nsplugin nspr nvidia ogg oggvorbis opengl pam pdf pdflib perl png python qt quicktime readline real rtc samba scanner sdl spell sse ssl subtitles svg sysfs tcltk tcpd theora tiff transcode truetype truetype-fonts type1 type1-fonts unicode urandom usb userlocales v4l2 vcd vorbis win32codecs wmf xine xml2 xmms xpm xrandr xscreensaver xv xvid xvmc zlib zvbi elibc_glibc input_devices_keyboard input_devices_evdev kernel_linux userland_GNU video_cards_nvidia" Unset: ASFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, LANG, LC_ALL, LDFLAGS, LINGUAS
As root: # echo $HOME /root You shouldn't run a whole desktop as root anyways.
This is not the wallpaper when logging in as root. This is the "Login Manager" wallpaper as I noted in the paragraph. I am logged in as my normal user. I click "Control Center" in the K-Menu. I select "System Administration" at the bottom of the list. I select "Login Manager" In order to make changes, I click the "Administrator Mode". I then select the Background tab. Again, this is not the root desktop wallpaper, but the background of the "Login Manager".
${HOME} settings for daemons and services is set to /, afair, this might explain it. I think this should be told upstream tho, as it's probably better to leave full paths for kdm settings, instead of relying on whatever setting on ${ROOT}.
That was ${HOME} of course.
Please file a bug upstream, see comment 3.