Tuesday, January 31, 2012

Ubuntu 11.10/Gnome 3.0: Surviving the transition!

I've had significant issues with the new Ubuntu GUI and Gnome 3.0; ranging from irritations (difficulty to create launchers) to bugs (mouse stops responding).  If you are googling around I'm sure you've seen the near universal cry of dismay.  If there is one message to send Canonical (if any of you ever read this posting) it would be that while its a great idea to "dumb down" the interface so a single GUI will work between your desktop and touch machines, you can't disable the advantages available through a mouse interface!

Anyway, here is what I did to make it workable.  These are mostly culled from various web sources; they are not my original work.

1. Install Linux Mint http://www.linuxmint.com/ instead.  This is a "downstream" distribution from Ubuntu (i.e. its a customized Ubuntu) so you won't be moving that far from what is familiar.  But you will get a Gnome 3 customized for people who preferred Gnome 2.

2. Enable all apps to show up in the "Startup Applications":
 sudo sed -i 's/NoDisplay=true/NoDisplay=false/g' /etc/xdg/autostart/*.desktop
3.   Put most "window" buttons on the left, but "close" on the right side:
gconftool-2 -s -t string /desktop/gnome/shell/windows/button_layout "menu,maximize,minimize:close"
4. Add the ability to right click on the desktop to create a new launcher (launchers are icons that run programs):

echo "gnome-desktop-item-edit ~/Desktop/ --create-new" > ~/.gnome2/nautilus-scripts/Create\ New\ Launcher
chmod a+x ~/.gnome2/nautilus-scripts/Create\ New\ Launcher

5. Right click on the desktop->Scripts->Create New Launcher to create launchers for your key programs.

5a.  Here's a launcher I use to automatically connect into multiple virtual machines:

/usr/bin/gnome-terminal --window --command "ssh -X -A root@" --tab --command  "ssh -X -A root@" --tab --command "ssh -X -A root@" --tab --command "ssh -X -A root@" --tab --command "ssh -X -A root@"
5b.  You can use the same thing to log in a multiple users.

/usr/bin/gnome-terminal --window --command "ssh -X -A me@localhost" --tab --command "ssh -X -A minime@localhost" --tab --command "ssh -X -A maxime@localhost"
6. Multiple gmail/firefox sessions.  Even if you spawn firefox from different users to use multiple gmail accounts, it outsmarts you by checking the desktop to see whether firefox is already running.  If it is it just uses that program.  To defeat that, run firefox like this "firefox --no-remote".  I made a simple script called 'ff':
sudo -i
cd /usr/bin
echo "firefox --no-remote" > ff
chmod a+x ff
7. Head on over to menu->other->advanced settings->desktop and turn everything "on".  You might want to peruse the other settings as well...

8. Install the gnome config editor and really start tweaking:
apt-get -y install gconf-editor

8a. Multi-monitor workspace "bug" -- the workspace does not change on one monitor
    go to: gconf-editor -> /desktop/gnome/shell/windows/workspaces_only_on_primary and uncheck it.

Important keys:

ALT-F2: then "r"  restarts the desktop without losing your windows

That's it!  Your desktop should now be usable! :-)

Please post any other tricks you discover.  Especially:

1. How do I add launchers to the top/bottom bar?

2. How do I specify the total number of workspaces (not have them be dynamically created)?


  1. Well *I* read your blog, so I can try to comment.

    This is a great list about how to make Mint/Gnome3 just right for you!

    Do you have a list of specific bugs vs. changes using Unity?

    1. Hi David, OMG I forgot you moved to Canonical! But thx for reading :-)!!! Hope you are not offended; I would very much like to move back to straight Ubuntu some day. In terms of bugs I can remember a few:

      1. I was running software RAID 0 and so the upgrade left my system in an unusable state (because the standard upgrade does not support sw RAID). Also neither does the "standard" install cd. I guess the "alternate" does... The issue is all over the web *once you know to look for it*. But you don't know to look until your system is dead. Moral of the story is if you are going to REMOVE something that once worked you've got to deprecate it because users will expect that it works... in this particular case the upgrade/installer should at least check (its pretty easy to see volumes marked RAID) and refuse to install.

      2. Display would randomly lock up for 1-10 seconds and then come back. This may have something to do with the fact that I put in a 20Gig IDE drive as my boot drive (to avoid the RAID issue) so disk performance was not so good. But still a 10 second lockup is extreme; this is a box with 8G RAM -- maybe Unity relies too much on the disk.

      3. Could not launch programs. They would seem like they would launch but the window would never appear.

      4. Right click stops working: I'd right click the unity bar to open a "new" terminal and it would not open.


      I actually like the big icons and the simple navigation. The initial presentation of Unity is pretty nice. And like I said in the blog I do like the vision of having a unified desktop and phone/pad look&feel -- as the base platform. However, you've got to be able to then customize Unity for the more complex desktop. You need a GUI that can be accessed at multiple complexity levels; not just the simplest.

      For example, the first thing I tried was to drag the "terminal" icon to the top bar (or anywhere). Nope! Also, I like to make my own launchers. And was there multiple workspace support (I forget now, maybe there just were not enough; I need at least 5)? And then there is the issue where the unity bar does not launch new apps -- it focuses on already launched apps. I can see how some would find that useful esp. on a "pad", but that behavior should either be customizable or there should be another bar that always launches a new copy (like the Gnome 3 menu). Otherwise the only way to "launch new copy" is to type it into xterm. And we need some GUI means to edit what is in the Unity bar (preferably drag from the upper left search tool). Anyway, I hope you guys will be able to evolve it into a multi-complexity interface.

  2. sure will come handy when I'll have to leave my LTS for the freaking new gnome ...
    I just hope it will still support enlightenment and that it'll save me from most of the horrors.