Compiz doesn't undo profile change after processing upgrade

Bug #1232299 reported by Fred
60
This bug affects 9 people
Affects Status Importance Assigned to Milestone
Compiz
Fix Released
High
Ryan Tandy
compiz (Ubuntu)
Fix Released
High
Ryan Tandy
Trusty
Fix Released
Undecided
Unassigned

Bug Description

[Impact]

gnome-session-flashback (Flashback (No Effects)) which runs with Metacity works fine.
gnome-session-flashback (Flashback) which runs with Compiz starts Unity instead.

It works very well with Metacity, but if you use Compiz, then you get a conflict with Unity. That is; you get both Unity and Gnome Panel running at the same time.

[Test Case]

(1) make sure both the gnome-session-flashback and the ubuntu-session packages are
    installed
(2) at the lightdm prompt, select the guest session using the GNOME Flashback (Compiz)
    desktop environment and log in
(3) you should not see the Unity Launcher

[Regression Potential]

Because this change involves Compiz confiurations, it has the potential to lose or modify those data in unexpected or undesirable ways. Recovery from such a situation involves manually resetting those configurations.

Related branches

Revision history for this message
Fred (eldmannen+launchpad) wrote :
Revision history for this message
Doug McMahon (mc3man) wrote :

Have seen this for some time. To get the gnome panel then one has to disable the unityshell plugin in ccsm.
After doing that all is usually ok except if that user then decides to log into a ubuntu session. Then it's possible that the unityshell plugin will be improperly disabled

Changed in compiz (Ubuntu):
status: New → Confirmed
Revision history for this message
Felix Moreno (felix-justdust) wrote :

In ubuntu 13.10 it works fine, no the mix of unity and gnome-panel like in 13.04 or 12.10...

Revision history for this message
Felix Moreno (felix-justdust) wrote :
Revision history for this message
Fred (eldmannen+launchpad) wrote :

I am running Ubuntu 13.10 and it does not work fine.
I tried your suggested solution and it did not work.

Compiz does not gets loaded, and I have to open a terminal and type;
compiz --replace
To get it to work:

Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in gnome-panel (Ubuntu):
status: New → Confirmed
Revision history for this message
Ryan Tandy (rtandy) wrote :

For me, this only ever happens on the first login with a new user account. If I log into Unity first, leave it alone for a few seconds to finish initializing, and then log in to gnome-flashback, it works every time. Happened in Raring, too.

tags: added: raring
Revision history for this message
Fred (eldmannen+launchpad) wrote :

Ryan, but what about on the guest account?

Revision history for this message
Ryan Tandy (rtandy) wrote : Re: [Bug 1232299] Re: gnome-session-flashback with Compiz launches Unity

On Fri, Oct 18, 2013 at 12:59 PM, Fred <email address hidden> wrote:
> Ryan, but what about on the guest account?

A new guest account is created each time you launch a guest session,
so you're right, it will always be affected. I posted that information
to help anyone trying to triage this bug: I think the place to look is
in the scripts that do the first-time-only initialization for Unity.

Revision history for this message
Felix Moreno (felix-justdust) wrote : Re: gnome-session-flashback with Compiz launches Unity

Hello, the bug is still present in ubuntu 13.10 updated.

It seems that is fixed for the first login of a created user using first unity and then gnome-panel.

But if you create a user and directly log in using gnome-fallback with effects the mixed unity and gnome-panel appears, like said Ryan probably is the first time only scripts...

To fix it still what i used works:
https://bugs.launchpad.net/ubuntu/+source/gnome-panel/+bug/1180556

Just log off and log in using gnome-fallback without ffects, and the log off and use it with efects and the desktop is ready to work, but i should be fixed in ubuntu 13.10...

Revision history for this message
Felix Moreno (felix-justdust) wrote :

Or the othr option is like Ryan sais, start with unity and then log off and change to gnome flashback with effects.

summary: - gnome-session-flashback with Compiz launches Unity
+ gnome-session-flashback with Compiz launches Unity if you create a user
+ and log in for the first time directly with gnome-flashback
Revision history for this message
Ryan Tandy (rtandy) wrote : Re: gnome-session-flashback with Compiz launches Unity if you create a user and log in for the first time directly with gnome-flashback

Got it. The bug is in Compiz.

When Compiz starts up it looks for upgrade scripts in /usr/share/compizconfig/upgrades and runs each of them. For each upgrade, ccsProcessUpgrade (compizconfig/libcompizconfig/src/main.c:4737) sets the Compiz profile to the one mentioned in the filename ("unity" for all the scripts shipped in compiz-gnome); I guess that is so that the affected plugins are made active. But, it doesn't set the profile back afterwards!

So, the workaround for a new user account is:

mkdir -p ~/.config/compiz-1/compizconfig
for file in /usr/share/compizconfig/upgrades/*.upgrade; do basename $f; done > ~/.config/compiz-1/compizconfig/done_upgrades

Then Compiz won't run the upgrade scripts (since we told it they've already been done), and we avoid setting the profile to unity.

Compiz devs, would you please consider trying to fix this bug? If I have time I'll try to submit a patch, but it won't be soon...

Changed in gnome-panel (Ubuntu):
status: Confirmed → Invalid
summary: - gnome-session-flashback with Compiz launches Unity if you create a user
- and log in for the first time directly with gnome-flashback
+ Compiz doesn't undo profile change after processing upgrade
Revision history for this message
Ryan Tandy (rtandy) wrote :

I've been poking at this a bit. This change makes the bug go away when using the ini backend, but not gsettings. I'm not sure whether there's a separate bug in the gsettings backend, or whether this change is incorrect. I'll put some more time into it when I can. Hoping to get it fixed for trusty.

tags: added: patch
Revision history for this message
Ryan Tandy (rtandy) wrote :

There are some test packages for trusty in ppa:rtandy/lp1232299

Does anyone else affected have a trusty system they could test that on? For me, my own session and the guest session both work well, under Flashback (Compiz) and Unity.

I experienced a Unity crash one time, but now I can't reproduce it, so I don't know whether my changes caused it.

tags: added: trusty
removed: third-party-packages
Revision history for this message
Alberto Salvia Novella (es20490446e) wrote :

It's estimated to have a moderate impact on a large portion of Ubuntu users.

Changed in compiz (Ubuntu):
importance: Undecided → High
Changed in gnome-panel (Ubuntu):
importance: Undecided → High
Changed in compiz (Ubuntu):
status: Confirmed → Triaged
Changed in compiz:
status: New → Triaged
importance: Undecided → High
Changed in compiz:
assignee: nobody → Ryan Tandy (rtandy)
Changed in compiz (Ubuntu):
assignee: nobody → Ryan Tandy (rtandy)
Changed in compiz:
milestone: none → 0.9.11.0
Changed in compiz:
status: Triaged → In Progress
Changed in compiz (Ubuntu):
status: Triaged → In Progress
Stephen M. Webb (bregma)
description: updated
Revision history for this message
Felix Moreno (info-justdust) wrote :

This bug is present in ubuntu 14.04 when upgrading from ubuntu 13.10, the first time you enter in your gnome-flashback account it will show unity, to fix it, you have to start the session in metacity mode and then again in gnome-flashback gnome-panel mode.

Chris J Arges (arges)
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in compiz (Ubuntu Trusty):
status: New → Confirmed
Changed in gnome-panel (Ubuntu Trusty):
status: New → Confirmed
Ryan Tandy (rtandy)
Changed in gnome-panel (Ubuntu Trusty):
status: Confirmed → Invalid
Changed in compiz:
status: In Progress → Fix Committed
no longer affects: gnome-panel (Ubuntu)
no longer affects: gnome-panel (Ubuntu Trusty)
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

It seems the automated message did not reach here.

The updated version is now in proposed: https://launchpad.net/ubuntu/trusty/+source/compiz/1:0.9.11+14.04.20140423-0ubuntu1

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested, and change the tag from verification-needed to verification-done. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed. In either case, details of your testing will help us make a better decision.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

tags: added: verification-needed
Revision history for this message
Ryan Tandy (rtandy) wrote :

Timo, right now trusty-proposed has a newer compiz than utopic and this bug seems to not be fixed in utopic. Is that OK?

With compiz from trusty, logging in to a gnome-flashback guest session, the Unity launcher is visible.

With compiz from trusty-proposed, logging in to a gnome-flashback guest session, only the plugins from the Default set are loaded and there is no Unity launcher.

Logging in and out of different sessions as a single non-guest user, the proper profile is loaded for each session and settings are saved to the correct profile.

Marking verified.

tags: added: verification-done
removed: verification-needed
Changed in compiz (Ubuntu Trusty):
status: Confirmed → Fix Committed
Revision history for this message
Fred (eldmannen+launchpad) wrote :

I just tested Compiz 1:0.9.11+14.04.20140423-0ubuntu1 from trusty-proposed.

When starting guest session it works great and correctly starts the session.

However, when starting my existing user account it still loads Unity. :(

Revision history for this message
Ryan Tandy (rtandy) wrote :

Hi Fred,

I thought about trying to automatically fix existing user accounts, but didn't want to risk breaking working setups.

To fix your account, edit ~/.config/compiz-1/compizconfig/config and under [gnome_session] change the profile from unity to Default (with the capital D), or just delete that file. Then on your next login you should get the right profile.

Hope that helps.

Revision history for this message
Fred (eldmannen+launchpad) wrote :

Thank you!

That worked great!
This works great now!
I am very pleased with it ,and this made my Ubuntu much more enjoyable to use, thank you for fixing this! :)

Revision history for this message
Felix Moreno (info-justdust) wrote :

I had to remove unity to recover my gnome-panel.

I just upgraded another computer from 13.10 to 14.04, when login I choosed gnome-flashback metacity. The desktop worked.
But if I try to log in again with flash-back compiz the desktop is unity and I can't fix it.

The only way I had to be abel to use gnome-flashback wit compiz was unistall unity.

sudo apt-get remove unity

All this with regular updated ubuntu 14.04 I did not used the patch.

Bests.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.11+14.04.20140423-0ubuntu1

---------------
compiz (1:0.9.11+14.04.20140423-0ubuntu1) trusty; urgency=low

  [ Ryan Tandy ]
  * Fix gnome-flashback session starting Unity plugins. Change the
    profile back after processing settings upgrades. When changing
    profile, discard existing GSettings wrappers pointing to the old
    profile. (LP: #1232299)

  [ Chris Townsend ]
  * Remove the Number of Desktops option in CCSM as this option confuses
    Compiz and is really no longer needed since the Horizontal/Vertical
    Virtual Desktop Size is what is used for determining the size. (LP:
    #1289820)
  * Due to some change in Gtk SpinButton, setting the initial value in
    Adjustment does not work for integers, so now just explicitly set
    the value after the SpinButton is created. (LP: #1294341)
 -- Ubuntu daily release <email address hidden> Wed, 23 Apr 2014 14:56:06 +0000

Changed in compiz (Ubuntu Trusty):
status: Fix Committed → Fix Released
Revision history for this message
Adam Conrad (adconrad) wrote : Update Released

The verification of the Stable Release Update for compiz has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regresssions.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

The attachment "lp1232299‎-reset-profile-after-processing-upgrades.diff" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package compiz - 1:0.9.11+14.04.20140423-0ubuntu1

---------------
compiz (1:0.9.11+14.04.20140423-0ubuntu1) trusty; urgency=low

  [ Ryan Tandy ]
  * Fix gnome-flashback session starting Unity plugins. Change the
    profile back after processing settings upgrades. When changing
    profile, discard existing GSettings wrappers pointing to the old
    profile. (LP: #1232299)

  [ Chris Townsend ]
  * Remove the Number of Desktops option in CCSM as this option confuses
    Compiz and is really no longer needed since the Horizontal/Vertical
    Virtual Desktop Size is what is used for determining the size. (LP:
    #1289820)
  * Due to some change in Gtk SpinButton, setting the initial value in
    Adjustment does not work for integers, so now just explicitly set
    the value after the SpinButton is created. (LP: #1294341)
 -- Ubuntu daily release <email address hidden> Wed, 23 Apr 2014 14:56:06 +0000

Changed in compiz (Ubuntu):
status: In Progress → Fix Released
Ryan Tandy (rtandy)
Changed in compiz:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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