Gnome3 + Gnome Shell - know your enemy

This page lists some tips and Web links I found while solving practical problems during the Gnome2+compiz -> Gnome Shell (Gnome3) transition under Fedora and Ubuntu Gnome.

Introduction

First of all: personally, I like the new Gnome Shell. But for those of you who don't like it I suggest to use Xfce. It will look and work like the old (Gnome2) desktop.

Gnome.org has a nice intro and searching Youtube will also show lots of appealing video intros.

Keyboard shortcuts and mouse gestures

Use the "logo" key a lot! It switches between the normal desktop and the "management" interface.

Alt+<the key above tab> to switch between windows of the same application (e.g. between multiple firefox4 windows or file managers)

Middle or right click on an application icon in the launch bar to open a new instance (Gnome3 likes to open the same instance of an app).

At the run command prompt (ALT+F2) you can type r to restart the shell, and lg to start the Looking Glass inspector.

Additional repositories

Fedora

Since you will not find everything in the core repos, it is recommended to install additional software repositories.

First of all: protect your base repos by using yum-plugin-protectbase.
Yum-plugin-fastestmirror could also be handy.

Then run these commands as root:

rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable...
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-...
rpm -Uvh http://rpm.livna.org/livna-release.rpm

Ubuntu Gnome Desktop

The latest and greatest applications can be found in the Gnome3 Team PPA. To install it run the following commands:

sudo add-apt-repository ppa:gnome3-team/gnome3 
sudo apt-get update

Shell extensions (previously known as application indicators and panel applets)

The old Gnome had a large variety of panel applets and indicators. Gnome3 has only a few but the set is rapidly growing.

They can be installed from the package repos shown above, but they can also be downloaded and installed manually from https://extensions.gnome.org/.

My picks are: 

Advanced Volume Mixer - Control programs' volume and output

AppIndicator Support
EasyScreenCast
- This extension simplifies the use of the video recording function integrated in gnome shell

Launch new instance - Gnome classic: Always launch a new instance when clicking in the dash or the application view.
Front Panel SwitcherToggle front panel audio output (e.g. headphone output)
Media player indicator
- Control MPRIS2 capable media players: Rhythmbox, Banshee, Clementine and more.
Move-free Message Tray - Returns the Message Tray to pre-3.6 behaviour where your whole screen doesn't move
Places Status Indicator - Gnome classic: Add a menu for quickly navigating places in the system.
Pomodoro - A simple pomodoro timer
Removable Drive Menu
SettingsCenter - Replace the settings menu with links to several setting utilities
Wikipedia Search Provider  
Gnote/Tomboy Integration
Curtains Up - Hide the curtain

Installed extensions can be listed on this Web page: https://extensions.gnome.org/local/

More tips and extensions.

Configuration

The standard set of (graphical) configuration utilities is rather limited.

You can find the settings in the "System settings" tool. Just press the Windows key and start typing "settings".
Application autostart entries can be edited using gnome-session-properties.

Running gnome-session-properties (via alt+F2) allows setting autostart applications. This is a good guide about the app.
Ubuntu likes to hide some of the autostart apps. Tun this command to show them all:

 sudo sed -i ‘s/NoDisplay=true/NoDisplay=false/g’ /etc/xdg/autostart/*.desktop 

You can install gnome-tweak-tool for some advanced configuration options.
Gnome3 settings can be edited using gsettings and dconf-editor, but don't touch these if you have other options.

The fedorautils package also contains some tweaks for your desktop.

Creating new launchers

New app launchers can be added globally to /usr/share/applications/ or locally to ~/.local/share/applications/.
This example creates a new "Nautilus as root"~/.local/share/applications~/.local/share/applicationslauncher

 [Desktop Entry]
Version=1.0
Type=Application
Name=Nautilus (as root)
Comment=File Manager
GenericName=File manager
TryExec=su-to-root
Exec=su-to-root -X -c nautilus --new-window %U
Icon=nautilus
Categories=GTK;System;
StartupNotify=true 

Printing

One of the biggest issues in Gnome Shell is printing. I have no ide why they don't fix it, but as of v3.8 it is still buggy.
If you have problems with it, just forget it. You can enable the other printer settings dialog in your desktop environment, or simply run system-config-printer from ALT+F2.

Gsettings

Most of your settings can be queried and set using "gsettings". For example:

 gsettings set org.gnome.shell.overrides button-layout ':minimize,maximize,close'
gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Super>space']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Alt>Shift_L']"
gsettings set org.gnome.shell.calendar show-weekdate true
gsettings list-recursively

Appearance

Although it is quite appealing by default there are already some high quality themes to install.
You can have a look here and here, but there are also some skins in the rpm repos (see gnome-shell-extensions-user-theme and gnome-shell-theme-*).

Fonts

You can improve font rendering and install some good-lookin' (and free) fonts following this guide.

The widely used core Windows fonts can also be installed. You can also install fonts from the rpm repos, see yum search font.

Other random tips

To allow remote display connections to your host add "DisallowTCP=false" to the Security section in /etc/gdm/custom.conf.

Other places of interest

ArchWiki has a good page listing several tips and tricks.

Webupd8 also offers very useful tips, themes and extensions.

The GNOME Shell blog also contains useful tips and info.