Several years ago I promised myself that I'd be content with Ubuntu Long Term Support (LTS) releases. Fussing with bi-annual standard releases was OK during university, but now my sensibilities have changed. I don't need bleeding edge. I only need reliability and productivity.
I couldn't tell you why I decided to upgrade my Ubuntu 12.04 LTS installation to Ubuntu 13.10 a couple days ago. I should have listened to the LTS promise I made myself. It all started with an ill-timed power failure during the middle of dist-upgrade.
Recovering From the Failed dist-upgrade
Thankfully GRUB was OK and I managed to boot into a recovery mode on a previous kernel. I was caught somewhere between the new linux-image-[VERSION]-generic being installed but complaining that it required linux-image-extra-[VERSION]-generic. When attempting to manually install linux-image-extra-[VERSION]-generic, it complained that on linux-image-[VERSION]-generic hadn't installed properly.
The apt-get -f install command wasn't going anyway, just threw the above error about kernels. I used the following command to list my currently installed kernels:
dpkg --list | grep linux-image
Using the output from that command I chose to run dpkg --purge on the broken linux-image-[VERSION]-generic, linux-image-extra-[VERSION]-generic and a handful of old kernels.
I then rebooted back into recovery mode on my latest working kernel. I ran do-release-upgrade and managed to kick the upgrade process off again and it completed the upgrade.
Fixing Broken Unity (GNOME)
Upon booting into the properly installed kernel for 13.10, I was greated with a login screen using an improper apsect ratio. When I logged in, I got my desktop background, a cursor, and nothing else similar to this Ask Ubuntu question. Following the advice of a separate Ask Ubuntu thread I was able to get a console up using Ctrl + Alt + T and ran:
sudo apt-get install --reinstall ubuntu-desktop sudo apt-get install --reinstall unity sudo dconf reset -f /org/compiz/ sudo setsid unity
This managed to throw a useful error that got my on to the right path:
compiz (core) - Error: Plugin 'opengl' not loaded.
Compiz was misconfigured and not loading OpenGL. So I ran:
sudo apt-get install compizconfig-settings-manager ccsm
Under General settings I checked OpenGL. Under the Desktop > Ubuntu Unity Plugin settings I checked "Enable Ubuntu Unity Plugin". I restarted the machine, logged back in and Unity seemed to be loading up properly. My aspect ratio was still messed up but that was easily fixed by reinstalling my Nvidia drivers under the Additional Drivers section of Software & Updates.
Fixing Java and downloaded Eclipse
One of my most-used applications is Eclipse. I don't use the version from Ubuntu repositories because it's old and has proven more useful just to use versions downloaded from eclipse.org. However, it was throwing several errors with java-7-openjdk so I decided to install the proprietary version from Oracle. Using Oracle's JDK fixed the Java errors that Eclipse was throwing.
My second annoyance was that global Unity menus were broken. It looks like Java applications being first-class citizens in the global Unity menu has been an issue for some time. I went with the workaround mentioned in the Launchpad comments. Running the following command loads up Eclipse with its menus outside of the global Unity menu.
I put this into a shell script named eclipse_unity_fix.sh and made the file executable.
Fixing Executable Text Files in Nautilus
Apparently the default behavior of executable text files as changed. My eclipse_unity_fix.sh file kept opening in gedit rather than prompting me to run the script. There's an Ask Ubuntu thread that does an excellent job of explaining where to set executable-text-activation back to 'ask' like the way I was used to.
Installing Google Earth
The 64-bit .deb package still depends on ia32-libs which was replaced in 11.10 by multiarch. I tried simply installing the 32-bit .deb package but that didn't work. The fix that ended up working for me was this Ask Ubuntu thread which has you manually repackage the 64-bit .deb.