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
diff --git a/kdm/kfrontend/genkdmconf.c.orig b/kdm/kfrontend/genkdmconf.c
index 2b2c892..be6eba5 100644
--- a/kdm/kfrontend/genkdmconf.c.orig
+++ b/kdm/kfrontend/genkdmconf.c
@@ -747,6 +747,8 @@ static const char def_session2[] =
 "    ;;\n"
 "esac\n"
 "\n"
+". /etc/X11/Xsession"
+"\n"
 "[ -f /etc/xprofile ] && . /etc/xprofile\n"
 "[ -f $HOME/.xprofile ] && . $HOME/.xprofile\n"
 "\n"
-- 
kubuntu-devel mailing list
[email protected]
Modify settings or unsubscribe at: 
https://lists.ubuntu.com/mailman/listinfo/kubuntu-devel

Reply via email to