xfconf dbus service doesn't know about XDG user variables

Bug #327926 reported by Mario Limonciello
4
Affects Status Importance Assigned to Milestone
xfconf
Unknown
Unknown
libxfce4util (Ubuntu)
Fix Released
Low
Lionel Le Folgoc
mythbuntu-default-settings (Ubuntu)
Fix Released
Undecided
Unassigned
xfconf (Ubuntu)
Fix Released
Low
Lionel Le Folgoc
xubuntu-default-settings (Ubuntu)
Fix Released
Low
Lionel Le Folgoc

Bug Description

Binary package hint: xfconf

I've been trying to port over all of the mythbuntu xfce settings to the new xfconf based setup and racking my head out. I have checked, double checked, and even triple checked all syntax everywhere.

It then finally dawned upon me. When you log into your session, xfconf appears to not care about any XDG environment variable that has been set up for you. If I kill xfconfd and respawn it manually, xfconf-query suddenly knows all about these other missing variables.

Related branches

Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

I think I might have a better solution than our current patching of libxfce4util: drop a 70xubuntu_session (from xubuntu-default-settings) in /etc/X11/Xsession.d that exports XDG_CONFIG_DIRS and XDG_DATA_DIRS. This will be sourced before 75dbus_dbus-launch, which therefore should be spawned with the correct environment. And for mythbuntu, you can add a 71mythbuntu_session in mythbuntu-default-settings if you want to override xubuntu's settings again.

What do you think? I'll try to play with that in a vm to see if it works as expected.

Changed in xfconf (Ubuntu):
status: New → Incomplete
Revision history for this message
Mario Limonciello (superm1) wrote : Re: [Bug 327926] Re: xfconf dbus service doesn't know about XDG user variables

On 12/07/2009 10:18 AM, Lionel Le Folgoc wrote:
> I think I might have a better solution than our current patching of
> libxfce4util: drop a 70xubuntu_session (from xubuntu-default-settings)
> in /etc/X11/Xsession.d that exports XDG_CONFIG_DIRS and XDG_DATA_DIRS.
> This will be sourced before 75dbus_dbus-launch, which therefore should
> be spawned with the correct environment. And for mythbuntu, you can add
> a 71mythbuntu_session in mythbuntu-default-settings if you want to
> override xubuntu's settings again.
>
> What do you think? I'll try to play with that in a vm to see if it works
> as expected.
>
> ** Changed in: xfconf (Ubuntu)
> Status: New => Incomplete
>
>
If that works, it sounds sensible to me.

--
Mario Limonciello
<email address hidden>

Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

I played a bit with it, and it doesn't seem to work. I still don't understand why...

Changed in xfconf (Ubuntu):
status: Incomplete → Triaged
importance: Undecided → Low
Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

Ok, I'll commit a patch (discussed with upstream) for xfconf (it was merging channel is the wrong order, thus overriding settings). I'm going to upload soon. After that, I think we can ship /etc/X11/Xsession.d/70xubuntu_session and /etc/X11/Xsession.d/71mythbuntu_session (probably similar to /etc/X11/Xsession.d/60xdg_path-on-session from gdm) in xubuntu-default-settings and mythbuntu-default-settings, and eventually drop our patch that hardcodes these values from libxfce4util.

Changed in xfconf (Ubuntu):
status: Triaged → In Progress
assignee: nobody → Lionel Le Folgoc (mrpouit)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xfconf - 4.6.1-2ubuntu1

---------------
xfconf (4.6.1-2ubuntu1) lucid; urgency=low

  * debian/patches/01_respect-xdg-basedir-priority.patch: respect xdg base
    dirs' priority when merging channels. lp: #327926
  * debian/patches/series: add this patch.
  * debian/control:
    - build-depends on quilt (>= 0.46-7)
    - use our Vcs-* fields.
  * debian/rules: enable quilt.
 -- Lionel Le Folgoc <email address hidden> Tue, 26 Jan 2010 21:59:14 +0100

Changed in xfconf (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Didier Roche-Tolomelli (didrocks) wrote :

I have added a similar functionality recently to be able to install more than one GNOME (or other) session with gdm:
- UNE is using that
- gnome-stracciatella is currently converted to it

The idea is simply to take the .desktop file name exported by GDM and add it to the xdg path with something like /etc/xdg/xdg-<session filename>.
For instance, I currently have: XDG_CONFIG_DIRS=/etc/xdg/xdg-gnome:/etc/xdg
If I boot on my une session, I'll have: XDG_CONFIG_DIRS=/etc/xdg/xdg-une:/etc/xdg

The script keep user's xdg path if he tweaked it. It is at /etc/X11/Xsession.d/60xdg_path-on-session and is shipped on the gdm package.

The drawback of that solution is that you'll have to move your conffiles to the new path /etc/xdg/xdg-<session filename>/autostart (for autostart desktop files)

Revision history for this message
Lionel Le Folgoc (mrpouit) wrote :

To add some problems (found by Didier) about my proposed approach:
- clutter /etc/X11/Xsession.d with two mores files (maybe not so grave)
- difficult to enable selectively (our files would be sourced unconditionally, even on gnome sessions) without checking GDMSESSION (which is already done by 60xdg_path-on-session, so duplicate work here...)

The biggest drawback is that xdg dirs will change from /etc/xdg/{xu,myth}buntu to /etc/xdg/xdg-{xu,myth}buntu, so we'll have to do lots of conffiles' moves in {pre,post}inst...

I've no strong opinion on that. TBH, Didier's idea looks cleaner (but that's just me :p).

Mario, what do you think?

Revision history for this message
Mario Limonciello (superm1) wrote : Re: [Bug 327926] Re: xfconf dbus service doesn't know about XDG user variables

I'm indifferent upon either approach. I'm happy to make either set of
changes as long as it's functional.

On Tue, Jan 26, 2010 at 15:51, Lionel Le Folgoc <email address hidden> wrote:

> To add some problems (found by Didier) about my proposed approach:
> - clutter /etc/X11/Xsession.d with two mores files (maybe not so grave)
> - difficult to enable selectively (our files would be sourced
> unconditionally, even on gnome sessions) without checking GDMSESSION (which
> is already done by 60xdg_path-on-session, so duplicate work here...)
>
> The biggest drawback is that xdg dirs will change from
> /etc/xdg/{xu,myth}buntu to /etc/xdg/xdg-{xu,myth}buntu, so we'll have to
> do lots of conffiles' moves in {pre,post}inst...
>
> I've no strong opinion on that. TBH, Didier's idea looks cleaner (but
> that's just me :p).
>
> Mario, what do you think?
>
> --
> xfconf dbus service doesn't know about XDG user variables
> https://bugs.launchpad.net/bugs/327926
> You received this bug notification because you are a direct subscriber
> of the bug.
>

--
Mario Limonciello
<email address hidden>

Changed in xubuntu-default-settings (Ubuntu):
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Lionel Le Folgoc (mrpouit)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xubuntu-default-settings - 10.04.0

---------------
xubuntu-default-settings (10.04.0) lucid; urgency=low

  * New versioning scheme, includes the release version.
  * Rename etc/xdg/xubuntu to etc/xdg/xdg-xubuntu, to use the new "feature"
    added in gdm by Didier lp: #327926
    - etc/xdg/xubuntu => etc/xdg/xdg-xubuntu
    - Makefile,etc/xdg/xdg-xubuntu/xfce4/panel/{launcher-2,xfce4-menu-1}.rc.in:
      update paths
    - debian/p{re,ost}inst: handle conffiles' moves.
  * Change default session to xubuntu (xfce will be a vanilla xfce session)
    - usr/share/{xsessions/xubuntu.desktop,xubuntu/session.sh}: added
    - debian/post{inst,rm}: set new default session to 'xubuntu'.
 -- Lionel Le Folgoc <email address hidden> Wed, 27 Jan 2010 21:44:35 +0100

Changed in xubuntu-default-settings (Ubuntu):
status: In Progress → Fix Released
Changed in libxfce4util (Ubuntu):
status: New → In Progress
importance: Undecided → Low
assignee: nobody → Lionel Le Folgoc (mrpouit)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package libxfce4util - 4.6.1-2ubuntu2

---------------
libxfce4util (4.6.1-2ubuntu2) lucid; urgency=low

  * debian/patches/01_add-xubuntu-in-config-dirs.patch,
    debian/patches/02_add-mythbuntu-in-config-dirs.patch: dropped, workaround
    not needed anymore. lp: #327926
  * debian/patches/series: disable them.
 -- Lionel Le Folgoc <email address hidden> Thu, 28 Jan 2010 22:24:39 +0100

Changed in libxfce4util (Ubuntu):
status: In Progress → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mythbuntu-default-settings - 0.87-0ubuntu1

---------------
mythbuntu-default-settings (0.87-0ubuntu1) lucid; urgency=low

  * Rename etc/xdg/mythbuntu to etc/xdg/xdg-mythbuntu lp: #327926
    - etc/xdg/mythbuntu => etc/xdg/xdg-mythbuntu
    - etc/xdg/xdg-mythbuntu/xfce4/panel/xfce4-menu-1.rc,
      usr/share/mythbuntu/session.sh: update paths
    - debian/p{re,ost}inst: handle conffiles' moves.
 -- Lionel Le Folgoc <email address hidden> Wed, 27 Jan 2010 22:39:14 +0100

Changed in mythbuntu-default-settings (Ubuntu):
status: New → Fix Released
Revision history for this message
Michael Hall (mhall119) wrote :

I'm trying to create a separate session for Qimo, based on xfce, but I want to keep it's settings separate from xfce's settings (not just separate defaults). I setup /etc/xdg/xdg-qimo, and /usr/share/qimo/session that sets XDG_CONFIG_HOME=$HOME/.qimo, XDG_CONFIG_DIRS=/etc/xdg/xdg-qimo, but still whenever I log in to the Qimo Session, it puts xfconf in $HOME/.config/xfce4/, not #HOME/.qimo/xfce4/ like I would expect, and where the rest of the Xfce settings (desktop, panel, xfwm) are being put.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.