Decoupling gnome-keyring initialization from GNOME compatibility mode

Guido Berhoerster gber at opensuse.org
Thu Sep 29 11:24:08 CEST 2011


* Brian J. Tarricone <brian at tarricone.org> [2011-09-29 01:06]:
> On Wed, Sep 28, 2011 at 04:47, Guido Berhoerster <gber at opensuse.org> wrote:
> 
> > Hmm, are you aware that GNOME compatibility mode in xfce4-session
> > currently unconditionally starts all desktop files which have
> > OnlyShowIn=GNOME;? It thus starts services which may be unwanted
> > and even clash with Xfce such as gnome-settings-daemon or
> > gnome-power-manager and there is no UI allowing users to
> > selectively disable some of them. This is the main problem I'd
> > like to deal with ASAP, that is I'm willing to implement a fix
> > though I'm not sure yet what it should look like.
> 
> I'm well aware of the current state of things.  I haven't touched Xfce
> in 2 years, and my general commitment level (and amount of spare
> time!) right now is pretty low.  Until I (or someone) has time to
> implement a proper solution, or unless someone else wants to step up
> to work on an interim solution, you're on your own.

I'm not asking you to implement anything, what I'd like to
discuss is how a solution should look like (and maybe I can help
a bit with the implementation).

> GNOME compat mode hasn't really changed much for at least 3 or 4
> years, back when "GNOME compatibility" meant something very different
> than it does now.  It really needs a complete overhaul, and I'm not
> prepared to do that right now, or possibly at all.  I haven't run
> GNOME in about 6-7 years, so I don't even know *what* GNOME compat
> should even look like.  Someone else will have to take on that task.

Fair enough, I would love to get some feedback from others on
exactly this. I've just looked again at xfce4-session code and
basically what GNOME compatibility currently does is:

1. unconditionally start all XDG autostart files with
   OnlyShowIn=GNOME;
2. start all gnome-keyring components, parse the output and set
   the environment of the session accordingly
3. set the GNOME_SM_PROXY property (apparently used by ancient
   OOo to detect a GTK environment)
4. issues "gconftool-2 --shutdown" at the end of the session

So 1. does not work for GNOME services that rely on autostart
phases and does some rather harmful things such as starting
gnome-settings-daemon or gnome-power-manager which interfere with
Xfce components. 3. seems unnecessary for recent OOo and
LibreOffice, 4. is redundant as well, gconfd is started by many
GNOME applications regardless of GNOME compat mode and handles
signals fine.

Am I overlooking something or is GNOME compat mode mostly
useless, and in fact does more harm than good, with the exception
of gnome-keyring startup?

Useful features for future GNOME compatibility I can think of
would be to support GNOME's autostart phases and parts of the
org.gnome.SessionManager DBus interface (as suggested by Brian).
Autostart files with "OnlyShowIn=GNOME;" should also not be used,
rather those services compatible to Xfce sould be explicitly
marked "OnlyShowIn=GNOME;Xfce;" (by upstream/distros) anyway which
allows users to enable/disable them through
xfce4-session-settings "Application Autostart" editor. This would
basically remove the need for a "GNOME compatibility mode" which
has to be explicitly enabled by users.
-- 
Guido Berhoerster


More information about the Xfce4-dev mailing list