Bug 760621

Summary: xfconf-migration restores old settings
Product: [Fedora] Fedora Reporter: Jeff Bastian <jbastian>
Component: xfce-utilsAssignee: Kevin Fenzi <kevin>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: 16CC: kevin, maxamillion, ofourdan
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: xfce-utils-4.8.3-2.fc16 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-26 19:16:59 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Jeff Bastian 2011-12-06 16:28:33 UTC
Description of problem:
I recently logged in to Gnome to test something, and when I returned to Xfce it was like I had stepped back in time: all my Xfce settings and tweaks were lost.

Apparently /etc/xdg/autostart/xfconf-migration-4.6.desktop ran when I logged into Gnome and copied my old 4.6 settings back into place.

I think Gnome 3 uses 
  X-GNOME-Autostart-enabled=false
in the autostart desktop files instead of
  Hidden=true
to prevent a service from automatically starting on login.

Should the system-wide /etc/xdg/autostart/xfconf-migration-4.6.desktop contain this setting?  Or possibly
  OnlyShowIn=XFCE
also?

Version-Release number of selected component (if applicable):
xfce-utils-4.8.3-1.fc16.x86_64

How reproducible:
every time (?) (I'm afraid to try again!)

Steps to Reproduce:
1. log out of Xfce
2. log in to Gnome
3. return to Xfce
  
Actual results:
recent Xfce tweaks and settings are lost

Expected results:
Xfce profile is left undisturbed

Additional info:

Comment 2 Jeff Bastian 2011-12-06 18:16:03 UTC
Here's a more detailed reproducer that keeps your personal settings safe by using a test account.


1. Create a test user

useradd testxfce
echo password | passwd --stdin testxfce
su - testxfce

2. Create an "old" Xfce 4.6 settings directory and create an xfwm4.xml 
   file that enables box (aka transparent or wireframe) window moving 
   and resizing  

mkdir -p ~/.config/xfce4/mcs_settings
cat > ~/.config/xfce4/mcs_settings/xfwm4.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mcs-option SYSTEM "mcs-option.dtd">

<mcs-option>
        <option name="Xfwm/BoxMove" type="int" value="1"/>
        <option name="Xfwm/BoxResize" type="int" value="1"/>
</mcs-option>
EOF

3. Start a VNC server with Xfce

cat > ~/.Xclients <<EOF
#!/bin/bash

exec /usr/bin/startxfce4
EOF
chmod 755 .Xclients
vncserver

4. Connect to the VNC session and verify that windows are moved and 
   resized in box mode.

vncviewer localhost:1

5. Change the setting back to opaque mode.  Go to
      Aplications -> Settings -> Window Manager -> Advanced
   and uncheck the hide content boxes under "Box move and resize"

6. Logout of Xfce and save your session.  Kill the VNC session.

vncserver -kill :1

7. Change to Gnome and start a new VNC session

cat > ~/.Xclients <<EOF
#!/bin/bash
  
exec /usr/bin/gnome-session
EOF
chmod 755 .Xclients
vncserver

8. Logout of Gnome and kill the VNC session

vncserver -kill :1

9. Switch back to Xfce and start a VNC session

cat > ~/.Xclients <<EOF
#!/bin/bash
  
exec /usr/bin/startxfce4
EOF
chmod 755 .Xclients
vncserver

10. Notice that windows are reverted back to box moving and resizing!

Comment 3 Jeff Bastian 2011-12-06 18:28:11 UTC
Adding the following 2 lines to /etc/xdg/autostart/xfconf-migration-4.6.desktop fixed the problem for me:

X-GNOME-Autostart-enabled=false
OnlyShowIn=XFCE


The full file:

[Desktop Entry]
Version=1.0
Name=Xfconf Migration Script
Exec=/usr/lib64/xfce4/xfconf-migration/xfconf-migration-4.6.pl
Terminal=false
Type=Application
StartupNotify=false
X-GNOME-Autostart-enabled=false
OnlyShowIn=XFCE
Categories=Utility;

Comment 4 Kevin Fenzi 2011-12-09 23:08:56 UTC
This fix has already been commited upstream too. ;) 

I'll push out a update in a few here. Thanks for tracking this down and providing a fix!

Comment 5 Kevin Fenzi 2011-12-09 23:19:42 UTC
The upstream commit seems to be lacking a ; at the end of the OnlyShowIn=XFCE line (which causes a build failure here). 


diff -Nur xfce-utils-4.8.3.orig/scripts/xfconf-migration-4.6.desktop.in xfce-utils-4.8.3/scripts/xfconf-migration-4.6.desktop.in
--- xfce-utils-4.8.3.orig/scripts/xfconf-migration-4.6.desktop.in	2011-12-09 16:02:58.689214217 -0700
+++ xfce-utils-4.8.3/scripts/xfconf-migration-4.6.desktop.in	2011-12-09 16:04:31.347779838 -0700
@@ -5,4 +5,6 @@
 Terminal=false
 Type=Application
 StartupNotify=false
+X-GNOME-Autostart-enabled=false
+OnlyShowIn=XFCE;
 Categories=Utility;

Comment 6 Fedora Update System 2011-12-09 23:37:31 UTC
xfce-utils-4.8.3-2.fc16 has been submitted as an update for Fedora 16.
https://admin.fedoraproject.org/updates/xfce-utils-4.8.3-2.fc16

Comment 7 Fedora Update System 2011-12-09 23:50:09 UTC
xfce-utils-4.8.3-2.fc15 has been submitted as an update for Fedora 15.
https://admin.fedoraproject.org/updates/xfce-utils-4.8.3-2.fc15

Comment 8 Fedora Update System 2011-12-11 21:49:40 UTC
Package xfce-utils-4.8.3-2.fc16:
* should fix your issue,
* was pushed to the Fedora 16 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing xfce-utils-4.8.3-2.fc16'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2011-16960/xfce-utils-4.8.3-2.fc16
then log in and leave karma (feedback).

Comment 9 Fedora Update System 2011-12-26 19:16:59 UTC
xfce-utils-4.8.3-2.fc15 has been pushed to the Fedora 15 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 10 Fedora Update System 2011-12-26 19:18:38 UTC
xfce-utils-4.8.3-2.fc16 has been pushed to the Fedora 16 stable repository.  If problems still persist, please make note of it in this bug report.