Session startup; kdm's Xsession, X11's Xsession and startkde

Zorael zorael at
Wed Jan 12 18:50:12 UTC 2011

Hello all,

(First of all, apologies if this is already fixed in natty. This is on
a maverick system with 4.5.95 packages from the beta ppa.)

Since 4.5.85, scripts in /etc/X11/Xsession.d are no longer sourced by
/etc/kde4/kdm/Xsession. This means tidbits like 80kubuntu-xmodmap for
automatic ~/.Xmodmap execution, 80im-switch for easy input method
management and others aren't factored in on session startup.

>From the tail of 4.5.1's /etc/kde4/kdm/Xsession;
># invoke global X session script
>. /etc/X11/Xsession

It's not there in 4.5.85 and onwards. Some of the functionality from
said Xsession.d scripts seems to now be duplicated in startkde, such
as launch of dbus --exit-with-session, which would (as far as I
gather) otherwise be handled by 75dbus_dbus-launch.

>From 4.5.95's startkde at around line 377;
># D-Bus autolaunch is broken
>if test -z "$DBUS_SESSION_BUS_ADDRESS" ; then
>    eval `dbus-launch --sh-syntax --exit-with-session`

Paraphrased from 75dbus_dbus-launch;
>if has_option use-session-dbus; then
>  STARTUP="/usr/bin/dbus-launch --exit-with-session $STARTUP"

I couldn't find any adverse effects after adding the sourcing back,
besides a probably slower session boot since it's again doing stuff it
didn't. Moreover debug statements showed that, with 75dbus_dbus-launch
once again being sourced, the "D-Bus autolaunch is broken" bit could
be commented/removed from startkde.

Diff on a /etc/kde4/kdm/Xsession extracted from 4.5.95's binary
package, before and after;
>diff --git a/etc/kde4/kdm/Xsession.orig b/etc/kde4/kdm/Xsession
>index e6ea8c2..ecdf4cf 100755
>--- a/etc/kde4/kdm/Xsession.orig
>+++ b/etc/kde4/kdm/Xsession
>@@ -43,6 +43,8 @@ case $SHELL in
>     ;;
> esac
>+. /etc/X11/Xsession
> [ -f /etc/xprofile ] && . /etc/xprofile
> [ -f $HOME/.xprofile ] && . $HOME/.xprofile

Is this an upstream thing, or an unfinished refactoring of ours?
Obviously xmodmap isn't executing ~/.Xmodmap anymore, neither is easy
switching of input methods via im-switch working, and whatever else
those Xsession.d scripts are doing.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: source_X11_xsession.diff
Type: text/x-patch
Size: 386 bytes
Desc: not available
URL: <>

More information about the kubuntu-devel mailing list