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

Zorael zorael at gmail.com
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`
>fi

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

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.


Zorael
-------------- next part --------------
A non-text attachment was scrubbed...
Name: source_X11_xsession.diff
Type: text/x-patch
Size: 386 bytes
Desc: not available
URL: <https://lists.ubuntu.com/archives/kubuntu-devel/attachments/20110112/dc19f874/attachment.bin>


More information about the kubuntu-devel mailing list