[Pkg-xfce-devel] Bug#526009: Bug#526009: xfce4-utils: sessions started with startxfce4 lose hal/dbus functionality

Scott Barker scott at mostlylinux.ca
Tue Sep 1 22:48:43 UTC 2009


On 09/01/09 15:41, Yves-Alexis Perez wrote:
> Thanks for the summary, it'll definitely be quite helpful for users. It
> might be a good idea to push that to the xfce4{-session} README.Debian.
> Would you license it to GPL or something? :)

Please feel free to include it in the README.Debian file if you think it
will be helpful.

>> 1) The "Debian" way:
>>
>> Set xfce4-session as the default session manager for X (with 
>> update-alternatives) and use "startx" at the console to start xfce4. 
>> This will provide a minimal xfce4 session. For a more complete xfce4 
>> session, the user can put "exec /usr/bin/startxfce4" in $HOME/.xsession, 
>> so that various environment variables are set correctly for xfce4.
> 
> And this is the preferred way :)
>> 2) The "xfce4" way:
>>
>> Put "exec ck-launch-session /etc/xdg/xfce4/xinitrc" in 
>> $HOME/.config/xfce4/xinitrc, make $HOME/.config/xfce4/xinitrc 
>> executable, and use "startxfce4" to start xfce4. This will ensure the 
>> various environment variables are set correctly for xfce4, and will also 
>> ensure that a correct consolekit session is started.
> 
> In fact, even method 1) will enable that, since startxfce4 will
> run /etc/xdg/xfce4/xinitrc (or $HOME/.config/xfce4/xinitrc  if it
> exists)

True, but only if "exec /usr/bin/startxfce4" is put into
$HOME/.xsession. Otherwise, it appears that the Debian "startx" process
just runs /usr/bin/x-session-manager, which for xfce4 is xfce4-session,
not startxfce4. (I determined this by looking at
/etc/X11/Xsession.d/50x11-common_determine-startup).

>> For either method, libpam-ck-connector can be installed or not 
>> installed, it doesn't matter.
>>
>> For method 2), perhaps one day the xfce4 developers will include 
>> ck-launch-session in the startxfce4 script (as they did for dbus), and 
>> then the xinitrc customization will no longer be necessary.
> 
> It's already not necessary, imho.

I have confirmed that if the user just runs "startxfce4" without making
any other customizations to the xfce4 or X11 startup process,
ck-launch-session does not get used, and thus the original problem remains.

>> For users of gdm/kdm/xdm, I do not know if it is possible to get more 
>> than the minimal xfce4 session - it will depend if those display 
>> managers call startxfce4 and/or set the correct environment variables. 
>> As I don't use gdm/kdm/xdm, I cannot test that.
> 
> Then don't worry, they already call (gdm at least does) startxfce4.

I note that gdm uses the .desktop files in /usr/share/xsessions to 
determine what session managers are available. If startx used a similar 
mechanism, then using $HOME/.xsession to spawn startxfce4 would become 
unnecessary too.

-- 
Scott Barker       scott at mostlylinux.ca
Linux Consultant   http://www.mostlylinux.ca/scott






More information about the Pkg-xfce-devel mailing list