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/*.desktop3. 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 firstname.lastname@example.org" --tab --command "ssh -X -A email@example.com" --tab --command "ssh -X -A firstname.lastname@example.org" --tab --command "ssh -X -A email@example.com" --tab --command "ssh -X -A firstname.lastname@example.org"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 -i7. Head on over to menu->other->advanced settings->desktop and turn everything "on". You might want to peruse the other settings as well...
echo "firefox --no-remote" > ff
chmod a+x ff
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.
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)?