This compiz update forced removal of unity
and ubuntu-desktop
on my 16.04 Ubuntu system.
The offending package that is missing, but unity
needs, seems to be compiz-core-abiversion-20151010
. It seems to be a virtual package, and I can't find it to download.
As it happens, I mostly use LXDE on this system, but I'd be very unhappy if I used Unity...
Since I do occasionally use the Unity desktop, is there a fix for this?
Edit: related questions are rolling in. Looks like a major quality escape
"Kept back" packages for update , want to uninstall unity?
compiz upgrade uninstalled unity
Ubuntu TaskBar is gone. Launcher is missing
What did you guys just DO! Updates to both my 16.04 environs killed the desktops!
I have found a solution. apt-get fails to be able to handle the situation, but aptitude can handle it.
Note that the first solution offered by aptitude doesn't correct the problem, because that chooses not to install the package. I had to select no the first time, and then aptitude offered a second solution of downgrading the compiz packages that caused all the problems. The downgrade fixes the dependency problem, and then ubuntu-desktop and unity are reinstalled.
Very strange situation.
Yes
compiz-core-abiversion-20151010
is virtual on xenial and zesty, but it is provided bycompiz-core
:So APT and dpkg knows about both of them.
Full list of
compiz-core-abiversion
family is as follows:Here as we know
compiz-core-abiversion-20151010
is not installable:But we can install newer (actual) version:
So on normal consistent system all we need is to have all upgrades installed.
But if
unity
package was removed, we can install it with:Note 1: My Ubuntu 16.04 LTS installations with Unity and MATE DE (1 clean xenial and and 3 old precise->trusty->xenial) work normally after regular upgrades without my intervention. All these systems did not tried to remove neither Unity nor
ubuntu-desktop
during upgrades. And of coursexenial-proposed
is disabled on my system, since I do not want to transform my Ubuntu LTS to bleeding-edge self-breakable ArchLinux.Note 2: I edited my answer 2018-03-12 because of the fact that
compiz-core-abiversion-20170630
was removed from repositories.Assuming you're logged in and your UI is stuck without unity, you can do the following:
Install
aptitude
:Install
unity
usingaptitude
:It will then tell you that there is a conflicting package. You answer
'n'
and it will propose that you downgrade compiz. Go ahead and accept that.This is the second times in less than 6 months that the Ubuntu teams made a proposed update without any testing and breaking working Ubuntu systems.
These guys recently are set loose to break the current LTS version with phony and untested proposed updates ... That is new, till last year it never happened.
The solution is to
NEVER install
a proposed and so calledPartial Upgrade
... You can still update your system throughSynaptic
package by package (although to make good sense of itSynaptic
is now removed from the official release) ... Until you block all updates of the buggy release. Here is an example:Then run the script by its name in the current directory, like:
To unblock
Then
Here in Synaptic you can see a long list of
compiz
related packages which are breakingXenial LTS
by removing these packages:The packages to block are:
[List Updated as I missed the unity affected packages]
Quite a long list. Manageable through Shell scripting.
A recovery solution would be to boot from a Xenial install USB stick and to perform a
chroot
. Go to the Launchpad website forcompiz
to download theRelease (main)
packages and force install them withdpkg -i *.deb
then block all updates, or remove theproposed
releases from your update configuration.[Update]: You need as well to go to the Launchpad website for
unity
and download theRelease (main)
affected packages (see below in the script).Google search if you are not familiar with it.
Here is my blocking script for
compiz
I just finished:[Updated as I missed the unity affected packages]
Don't forget to set the scripts executable ...
[Folllow Up]: After running a Shell script to unblock the 19 packages from
compiz
andunity
. I tried out theN0rbet
solution and it seems to work: