Difference between revisions of "GNOME"

From ArchWiki
Jump to: navigation, search
m (GNOME shell extensions: Added frippery)
Line 33: Line 33:
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.
When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.
== Upgrade from GNOME 2 ==
{{Warning|Upgrading to GNOME 3 from a GNOME 2 session might cause a system crash.}}
It is recommended that you run the update command from a TTY session or from another Desktop Environment / Window Manager.
# pacman -Syu
After this update you have installed GNOME 3.x with ''fallback mode'' only. To install the new GNOME shell:
# pacman -S gnome-shell
Depending on your setup, you might need to delete your old configuration to get a successful session start.
$ mv .config .config.bak
$ mv .gconf .gconf.bak
$ mv .gnome2 .gnome2.bak

Revision as of 15:59, 17 November 2011

This template has only maintenance purposes. For linking to local translations please use interlanguage links, see Help:i18n#Interlanguage links.

Local languages: Català – Dansk – English – Español – Esperanto – Hrvatski – Indonesia – Italiano – Lietuviškai – Magyar – Nederlands – Norsk Bokmål – Polski – Português – Slovenský – Česky – Ελληνικά – Български – Русский – Српски – Українська – עברית – العربية – ไทย – 日本語 – 正體中文 – 简体中文 – 한국어

External languages (all articles in these languages should be moved to the external wiki): Deutsch – Français – Română – Suomi – Svenska – Tiếng Việt – Türkçe – فارسی

Template:Article summary start

Template:Article summary text Template:Article summary heading Template:Article summary text Template:Article summary heading Template:Article summary wiki Template:Article summary end

The GNOME Project started from scratch and created a completely new desktop called GNOME 3. It has:

  • A modern visual theme and font
  • An activities view providing access to all windows and applications
  • A subtle notifications system and a discreet top panel
  • Integration with an improved Nautilus file manager
  • Integrated desktop services for messaging
  • A new system settings application
  • An activities search feature
  • Features such as snap-like window tiling

Additional explanations are found on the official GNOME3 website.



GNOME 3 has two interfaces: GNOME Shell, the new standard layout; and fallback mode.  Gnome-session automatically detects when your computer is incapable of running Gnome Shell and starts fallback mode when appropriate.

Fallback mode is similar to GNOME 2. (Fallback mode uses gnome-panel/Metacity instead of gnome-shell/Mutter.)

When you are on fallback mode you can still replace GNOME's default window manager with your preferred one.


GNOME 3 is in the [extra] repository. The gnome group contains the core desktop environment and applications, and gnome-extra contains the rest. You likely do not want all of the packages installed, so consider reading the package descriptions before installing them (or just remove them later).


# pacman -Syu gnome
# pacman -S gnome-extra

D-Bus daemon

The GNOME desktop requires the D-Bus daemon. Refer to the dbus article for setup instructions.

Running GNOME

For the best desktop integration, login manager GDM is recommended. Other login managers (a.k.a. display managers) such as SLiM can be used in place of GDM. Check out the wiki article on display managers to learn how desktop environments are started.

The login manager is a limited process entrusted with duties that impact the system. The PolicyKit wiki article addresses the topic of system‑wide access control.

# pacman -S gdm

If you prefer to start GNOME manually from the console, add the following line to your ~/.xinitrc file. Make sure it is the only line (remove the for block from the standard ~/.xinitrc since the for block can cause problems) and the only command starting with exec. See the xinitrc wiki article.

 exec ck-launch-session gnome-session

After the exec command is placed, GNOME can be launched by typing startx.

Using the shell

GNOME cheat sheet

The GNOME web site has a helpful GNOME Shell cheat sheet explaining task switching, keyboard use, window control, the panel, overview mode, and more.

Restarting the shell

After appearance tweaks you are often asked to restart the GNOME shell. You could log out and log back in, but it is simpler and faster to issue the following keyboard command. Restart the shell by pressing Template:Keypress + Template:Keypress  then  Template:Keypress  then  Template:Keypress

Shell crashes

Certain tweaks and/or repeated shell restarts may cause the shell to crash when a restart is attempted. In this case, you are informed about the crash and then forced to log out. Some shell changes, such as switching between GNOME Shell and fallback mode, cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.

It is common sense — but worth repeating — that valuable documents should be saved (and perhaps closed) before attempting a shell restart. It is not strictly necessary; open windows and documents usually remain intact after a shell restart.

Customizing GNOME appearance

Overall appearance

GNOME 3 may have "started from scratch", but like most large software projects it is assembled from parts dating to different eras. There is not one all-encompassing configuration tool. The new Systems Settings tool is a big improvement over previous control panels. System Settings is well-organized, but you may find yourself wishing for more control over system appearance.

You may be familiar with existing configuration tools: some of these still work; many will not. Some settings are not readily exposed for you to change. Indubitably, many settings will migrate to newer tools and/or become exposed as time progresses and the wider community embraces and extends the latest GNOME desktop.


A new command-line tool gsettings stores data in a binary format, unlike previous tools using XML text. A tutorial Customizing the GNOME Shell explores the power of gsettings.

GNOME tweak tool

This graphical tool customizes fonts, themes, titlebar buttons and other settings.

# pacman -S gnome-tweak-tool

Version 3.0.3 only works when gnome-shell is installed (OK if forced to fallback mode). Bugzilla bug report here.

GTK3 theme via settings.ini

Like ~/.gtkrc-2.0  with GTK2+, it is possible to set a GTK3 theme via  ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini.

Variable $XDG_CONFIG_HOME is usually set to ~/.config

Adwaita, the default GNOME 3 theme, is a part of gnome-themes-standard. Additional GTK3 themes are found at Deviantart web site. For example:

  gtk-theme-name = Adwaita
  gtk-fallback-icon-theme = gnome
  # next option is applicable only if selected theme supports it
  gtk-application-prefer-dark-theme = true
  # set font name and dimension
  gtk-font-name = Sans 10

It is necessary to restart GNOME shell for settings to be applied. More GTK options are found at GNOME developer documentation.

Icon theme

Using gnome-tweak-tool v. 3.0.3 and later, you can place any icon theme you wish to use inside  ~/.icons.

Usefully, GNOME 3 is compatible with GNOME 2 icon themes, which means you're not stuck with the default icons. To install a new set of icons, copy your desired icon theme's directory to  ~/.icons.  As an example:

$ cp -R /home/user/Desktop/my_icon_theme ~/.icons

The new theme  my_icon_theme  is now selectable using gnome-tweak-tool  under  interface.

Alternatively, you may textually select your icon theme with no need for gnome-tweak-tool. Add the GTK icon theme name to  ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini. Please note, not to use "" as your settings would not be recognised then.

... previous lines ...

gtk-icon-theme-name = my_new_icon_theme


Remove folders from the places sidebar

The displayed folders are specified in ~/.config/user-dirs.dirs and can be altered with any editor. An execution of xdg-user-dirs-update will change them again, thus it may be advisable to set the file permissions to read-only.

Always show text-entry location

The standard Nautilus toolbar shows a button bar interface for path navigation. To enter path locations using the keyboard you must expose the location text-entry field. This is done by pressing Template:Keypress + Template:Keypress

To make the location text-entry field always present, use gsettings as shown.

$ gsettings set org.gnome.nautilus.preferences always-use-location-entry true
Note: after changing this setting you will not be able to expose the button bar. Only when the setting is false can both forms of location navigation be employed.

GNOME panel

Show date in top bar

By default GNOME displays only the weekday and time in the top bar. This can be changed with the following command. Changes take effect immediately.

# gsettings set org.gnome.shell.clock show-date true

Hide accessibility icon

Install gnome-shell-extension-noa11y-gitAUR from AUR.

Hide Bluetooth icon

This extension is based on gnome-shell-extension-noa11y-gitAUR from AUR and works for GNOME 3.2

Create a folder named nobluetooth.icon@panel.ui in ~/.local/share/gnome-shell/extensions.

# mkdir ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui

Create two new files:

# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/extension.js
const Panel = imports.ui.panel;
const Main = imports.ui.main;

function enable() {
	for (let i = 0; i < Main.panel._rightBox.get_children().length; i++) {
		if (Main.panel._statusArea['bluetooth'] == Main.panel._rightBox.get_children()[i]._delegate) {
	// addToStatusArea would throw an error on disable if we do not set this to null 
	Main.panel._statusArea['bluetooth'] = null;

function disable() {
	let indicator = new Panel.STANDARD_STATUS_AREA_SHELL_IMPLEMENTATION["bluetooth"];
	Main.panel.addToStatusArea("bluetooth", indicator, Panel.STANDARD_STATUS_AREA_ORDER.indexOf('bluetooth'));

function init() {
# gedit ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json
  "shell-version": ["3.2"],
  "uuid": "nobluetooth.icon@panel.ui",
  "name": "nobluetooth",
  "description": "Turn off the Bluetooth icon in the panel"

Restart the GNOME shell. Activate this extension with the GNOME Tweak Tool. If this extension ceases to work in the future, adjust the shell version number in ~/.local/share/gnome-shell/extensions/nobluetooth.icon@panel.ui/metadata.json.

Show battery icon

To show the battery tray icon, install gnome-power-manager from the official repositories.

Disable "Suspend" in the status menu

A quick way to do it system-wide is to change line 153 of /usr/share/gnome-shell/js/ui/statusMenu.js. In GNOME 3.2, the file has changed to /usr/share/gnome-shell/js/ui/userMenu.js. This change takes effect the next time GNOME Shell is started.

 // this._haveSuspend = this._upClient.get_can_suspend();  //  Comment this line out.
 this._haveSuspend = false;                                //  Use this line instead.

However, the effect will not last after a GNOME update. A more perennial solution is to install the shell extension provided by the package gnome-shell-extension-alternative-status-menu, which is in the official repositories.

Eliminate delay when logging out

The following tweak removes the confirmation dialog and sixty second delay for logging out.

This dialog normally appears when you log out with the status menu. This tweak affects the Power Off dialog as well. This is not a system-wide change; it affects only the user who enters this command. The change takes effect immediately after entering the command.

$ gsettings set org.gnome.SessionManager logout-prompt 'false'

Show system monitor

Install the gnome-shell-system-monitor-applet-gitAUR extension available in the AUR.

Show weather information

Install gnome-shell-extension-weather-gitAUR from AUR.

Activity view

Remove entries from Applications view

Like other desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are in /usr/share/applications.  It is not possible to edit these files from a folder view ‒ Nautilus does not treat their icons as text files. Use a terminal to display or edit .desktop file entries.

# ls /usr/share/applications
# nano /usr/share/applications/foo.desktop

For system wide changes, edit files in /usr/share/applications.  For local changes, make a copy of foo.desktop  in your home folder.

$ cp /usr/share/applications/foo.desktop ~/.local/share/applications/

Edit .desktop files to fit your wishes. Note: removing a .desktop file does not uninstall an application, but instead removes its desktop integration: MIME types, shortcuts, and so forth.

The following command appends one line to a .desktop file and hides its associated icon from Applications view:

$ echo "NoDisplay=true" >> foo.desktop

Reduce application icon size

One awkward selection of the GNOME designers is their choice of large icons for Applications view. This view is painful when working with a small screen containing many large application icons. There is a way to reduce the icon size. It is done by editing the Gnome-Shell theme.

Edit system files directly (make a backup first) or copy theme files to your local folder and edit these files. For the default theme, edit  /usr/share/gnome-shell/theme/gnome-shell.css

For user themes, edit /usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css

Edit gnome-shell.css  and replace the following values. Afterward, restart the GNOME shell.

 .icon-grid {
     spacing: 18px;
     -shell-grid-item-size: 82px;
 .icon-grid .overview-icon {
     icon-size: 48px;

A cloned GNOME Shell theme with smaller icons is available on the AUR.

Disable Activity hot corner hovering

To disable automatic activity view when the hot corner is hovered, edit /usr/share/gnome-shell/js/ui/layout.js (that was panel.js in Gnome 3.0.x) :

 this._corner = new Clutter.Rectangle({ name: 'hot-corner',
                                       width: 1,
                                       height: 1,
                                       opacity: 0,
                                       reactive: true });icon-size: 48px;

and set reactive to false. Gnome Shell needs to be restarted.


Reduce title bar height

# sed -i '/title_vertical_pad/s|value="[0-9]\{1,2\}"|value="0"|g' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

Restart the GNOME shell. This changes vertical padding from 14 to 0, which gives windows a sleeker look.

To restore the original values, install the package gnome-themes-standard from the official repositories.

Reorder titlebar buttons

At present this setting is changeable only through gconf-editor.

For example, we move the close and minimize buttons to the left side of the titlebar. Open gconf-editor and locate the desktop.gnome.shell.windows.button_layout  key. Change its value to close,minimize:  (Colon symbol designates the spacer between left side and right side of the titlebar.) Use whichever buttons in whatever order you prefer. You cannot use a button more than once. Also, keep in mind that certain buttons are deprecated. Restart the shell to see your new button arrangement.

Hide titlebar when maximized

# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml

Restart the GNOME shell. After this tweak, you may find it difficult to un-maximize a window when there is no titlebar to grab.

With suitable keybindings, you should be able to use Template:Keypress + Template:KeypressTemplate:Keypress + Template:Keypress  or  Template:Keypress + Template:Keypress  to remedy the situation.

To prevent metacity-theme-3.xml from being overwritten each time package "gnome-themes-standard" is upgraded, add its name to /etc/pacman.conf with NoUpgrade.

... previous lines ...

# Pacman won't upgrade packages listed in IgnorePkg and members of IgnoreGroup
# IgnorePkg   =
# IgnoreGroup =

NoUpgrade = usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml    # Do not add a leading slash to the path

... more lines ...

To restore original Adwaita theme values:

# pacman -S gnome-themes-standard

Login screen

To modify characteristics of the login screen (GDM, the GNOME display manager) the following lines can be executed. The first command allows all users, including "gdm", to access X settings (albeit temporarily). This command creates a temporary vulnerability, so be advised. The second command opens a bash session with the credentials of user "gdm". Note: for exposition, user gdm's terminal prompt is shown as $. In actuality, it shows something like -bash-4.2$.

# xhost +
# su - gdm -s /bin/bash
$ dbus-launch

The third command prints DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We must export these variables. Either manually export the below two variables shown in the output of dbus-launch like this:

$ export DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-Jb433gMQHS,guid=fc14d4bf3d000e38276a5a2200000d38
$ export DBUS_SESSION_BUS_PID=4283

Or use the follow command:

$ `dbus-launch | sed "s/^/export /"`

Check to see if dconf-service is running and if not, start it like this

$ /usr/lib/dconf/dconf-service &

Login background image

Once session variables have been exported as explained above, you may issue commands to retrieve or set items used by GDM.

The easiest way to changes all the settings is by launching the Configuration Editor gui with the command

$ dconf-editor

The location of each setting is the same as in the command line style of configuration shown below:

The following is the command-line approach to retrieve or set the file name used for GDM's wallpaper.

 $  GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri
 $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///usr/share/backgrounds/gnome/SundownDunes.jpg'
 $  GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options 'zoom'
 ## Possible values: centered, none, scaled, spanned, stretched, wallpaper, zoom

Note: You must specify a file which user "gdm" has permission to read. GDM cannot read files in your home directory.

An alternative graphical interface to changing themes (gtk3, icons and cursor), the wallpaper and minor other settings of the GDM login screen, you can install gdm3setup from AUR.

Larger font for login

This tweak enlarges the login font with a scaling factor. It is the same method employed by Accessibility Manager on the desktop.

You must export the GDM session variables before performing this tweak.

$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.interface text-scaling-factor '1.25'

Turning off the sound

This tweak disables the audible feedback heard when the system volume is adjusted (via keyboard) on the login screen. You must first export the GDM session variables.

$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.sound event-sounds 'false'

If the above tweak does not work for you or you are unable to export the GDM session variables, there is always the easiest solution to the "ready sound" problem: mute or lower the sound while in GDM login screen using the media keys (if available) of your keyboard.

Make the power button interactive

The default installation sets the power button to suspend the system. Power off  or  Show dialog  is a better choice. You must first export the GDM session variables as outlined previously.

 $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-power 'interactive'
 $ GSETTINGS_BACKEND=dconf gsettings set org.gnome.settings-daemon.plugins.power button-hibernate 'interactive'
 $ gsettings list-recursively org.gnome.settings-daemon.plugins.power

GDM keyboard layout

GDM does not know about your GNOME 3 desktop keyboard settings. To change keyboard settings used by GDM, set your layout using Xorg configuration. Refer to this section of the Beginner's Guide.

Other tips

See GNOME Tips.

Miscellaneous settings

Automatic program launch upon logging in

Specify which programs start automatically after logging in using gnome-session-properties. This tool is part of the gnome-session package.

$ gnome-session-properties

Activate NumLock upon logging in

Install numlockx from the official repositories. Then, add a start-up command to launch numlockx.

$ gnome-session-properties

The above command opens the Startup Applications Preferences applet. Click Add  and enter the following:

Name: Numlockx
Command:   /usr/bin/numlockx on
Comment: Turns on numlock.

This is not a system-wide appearance tweak. Repeat these steps for each user wishing to activate NumLock after logging in.

Move dialog windows

The default configuration for dialogs will not allow you to move them which causes problems in some cases. To change this you will need to use gconf-editor and change this setting:


After the change you will need to restart the shell for it to take affect.

GNOME shell extensions

GNOME Shell can be customized with extensions written by others. These provide features such as a dock or a widget for changing the theme. Details on available extensions are found at the WEBUPD8 site. The most recent articles can be found using this WEBUPD8 search link.

The official repositories have a dozen extensions which can be installed individually. (The latest version of a given extension may be installed using its code snapshot, if preferred.)  List here.

$ pacman -Ss gnome-shell-extension

Other useful extensions provided in the AUR:

 gnome-shell-extension-presentation-mode-gitAUR Adds option to inhibit screensaver in the power menu (battery icon).
 gnome-shell-extension-weather-gitAUR Displays weather notifications.
 gnome-shell-extension-alternative-status-menu-gitAUR Adds "Hibernate" and "Power Off" to the status menu.
gnome-shell-extension-theme-selectorAUR Select a theme in the Activities overview.

To install a custom theme with GNOME Tweak Tool, you need to install the gnome-shell-extension-user-theme package from the official repositories.

gnome-shell-fripperyAUR An unofficial extension pack providing GNOME2 like features for GNOME3.

Restart the GNOME Shell after installing an extension. See when an extension breaks GNOME for troubleshooting information.

Default terminal

gsettings, which replaces gconftool-2 in GNOME 3, is used to set e.g. the default terminal manually. The setting is relevant for nautilus-open-terminal. The commands for urxvt run as daemon:

gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"
Note: For nautilus-open-terminal, you may need a flag (e.g. -e) to indicate that a command will follow: nautilus-open-terminal passes a cd command in order to change directories to the appropriate location.

Middle mouse button

By default, GNOME 3 disables middle mouse button emulation regardless of Xorg settings (Emulate3Buttons). To enable middle mouse button emulation use:

$ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true


xmonad is a tiling window manager.

Upgrading to GNOME 3 will likely break your xmonad setup. You can use xmonad again by forcing fallback mode and creating two files:

[GNOME Session]
Name=Xmonad session
[Desktop Entry]
Name=Xmonad GNOME
Comment=Tiling window manager
Exec=gnome-session --session=xmonad

The next time you log in, you should have the ability to choose Xmonad GNOME as your session.


wmii is a tiling window manager.

You can use wmii with gnome by forcing fallback mode and creating three files:

[Desktop Entry]
[Desktop Entry]
Comment=GNOME with wmii as window manager
Exec=gnome-session --session=wmii
[GNOME Session]

The next time you log in, you should have the ability to choose GNOME-wmii as your session.

The original info was taken from running-the-awesome-window-manager-within-gnome, go there for info on awesome-gnome.

Also it has info on how to:

- create a per session (wmii, GNOME, GNOME-wmii, etc.) dconf database (useful if you ever plan on using regular GNOME)

- Remove the bottom GNOME panel (with the task list)

- Move the top panel (with the menus) to the bottom

- Untick the expand option

- Set it to autohide

Hidden features

GNOME 3 hides many useful options which you can customize with dconf-editor. GNOME 3 also supports gconf-editor for settings that have not yet migrated to dconf.

Changing hotkeys

Firstly, use dconf-editor to place a checkmark next to can-change-accels in the key named org.gnome.desktop.interface.

We will replace the hotkey — a.k.a. keyboard shortcut, keyboard accelerator — used by Nautilus to move files to the trash folder.

The default assignment is a somewhat-awkward Template:Keypress + Template:Keypress.

  • Open Nautilus, select any file, and click Edit on the menu bar.
  • Hover over the Move to Trash menu item.
  • While hovering, press Template:Keypress. The current accelerator is now unset.
  • Press the key that you wish to become the new keyboard accelerator.
  • Press Template:Keypress to make the new accelerator be the Delete key.

Unless you select a file or folder, Move to Trash will be grayed-out. Finally, disable can-change-accels to prevent accidental hotkey changes.

Shutdown via the status menu

Currently, the GNOME designers have hidden the Shutdown option inside the status menu. To shut down your system with the status menu, click the menu and hold down the Template:Keypress key so that the Suspend  item changes to Power Off. The subsequent dialog allows you to shut down or restart your system.

If you disable the Suspend menu item system-wide as described elsewhere in this document you do not have to go through these motions.

Another option is to install the Alternative Status Menu extension. See the section on shell extensions. The alternative menu extension installs a new status menu with a non-hidden Power Off entry.

Integrated messaging (Empathy)

Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the telepathy group of packages or at least one of the backends (telepathy-gabble, or telepathy-haze, for example) is installed.

These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:

# pacman -S telepathy

Without telepathy, Empathy will not open the account management dialog and can get stuck in this state. If this happens -- even after quitting Empathy cleanly -- the /usr/bin/empathy-accounts application can remain running and will need to be killed before you can add any new accounts.

View descriptions of telepathy components on the Freedesktop.org Telepathy Wiki.

Enabling fallback mode

Your session automatically starts in fallback mode when gnome-shell is not present, or when your hardware cannot handle graphics acceleration — such as running within a virtual machine or running on old hardware.

If you wish to enable fallback mode while still having gnome-shell installed, make the following system change:

Open gnome-control-center. Click the System Info icon. Click Graphics. Change Forced Fallback Mode to ON.

You can alternatively choose the type of session from a terminal with a gsettings command:

$ gsettings set org.gnome.desktop.session session-name 'gnome-fallback'

You may want to log out after making the change. You will see the chosen type of session upon your next login.

To disable forced-fallback mode (that is, launch the normal GNOME Shell) use a value of 'gnome' instead of 'gnome-fallback'.


GNOME login takes a very long time

See if you enabled PulseAudio Network settings in paprefs. When any network audio settings are enabled, GNOME hangs about a minute after logging in.

One solution is to create a new user account and log in to that account. Another solution is to move your ~/.gconf, ~/.gconfd and ~/.conf/dconf folders to a holding area. Log in again to see if the delay is gone.

If the excessive delay is gone, determine which setting causes the delay using trial-and-error.

When an extension breaks GNOME

When enabling shell extensions causes GNOME breakage, you should first remove the user-theme and auto-move-windows extensions from their installation directory.

The installation directory could be one of  ~/.local/share/gnome‑shell/extensions, /usr/share/gnome‑shell/extensions, or /usr/local/share/gnome‑shell/extensions. Removing these two extension-containing folders may fix the breakage. Otherwise, isolate the problem extension with trial‑and‑error.

Removing or adding an extension-containing folder to the aforementioned directories removes or adds the corresponding extension to your system. Details on Gnome Shell extensions are available at the GNOME web site.

Extensions do not work after GNOME 3 update

Locate the folder where your extensions are installed. It might be ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions.

Edit each occurrence of  metadata.json  which appears in each extension sub-folder.

Insert: "shell-version": ["3.0"]
Instead of (for example):   "shell-version": ["3.0.1"]
You might instead use: "shell-version": ["3.0.0", "3.0.1", "3.0.2"]

"3.0"  is the best solution. It indicates the extension works with every  3.0.x  GNOME Shell version.

Screen is not locked after resume

Screen lock only works when you suspend through GNOME's status menu. If you suspend or hibernate using the power button, your screen is not locked after resume. The problem is a configuration failure in dconf.

Open dconf-editor and uncheck  lock-use-screensaver  in the key named  org.gnome.power-manager.

# gsettings set org.gnome.power-manager lock-use-screensaver 'false'

Your screen should now be locked after resume whether you used the status menu, the power button, or a key combination. Bug report: Screen gets no more locked after suspend #Comment 8

GTK2+ apps show segfaults and fail to launch

That usually happens when oxygen-gtk is installed. This theme appears to conflict with GNOME 3 or GTK3 settings. When oxygen-gtk has been set as a GTK2 theme, GTK2 apps segfault with errors like these:

 (firefox-bin:14345): GLib-GObject-WARNING **: invalid (NULL) pointer instance

(firefox-bin:14345): GLib-GObject-CRITICAL **: g_signal_connect_data: assertion `G_TYPE_CHECK_INSTANCE (instance)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_colormap_get_visual: assertion `GDK_IS_COLORMAP (colormap)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_default_colormap: assertion `GDK_IS_SCREEN (screen)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_screen_get_root_window: assertion `GDK_IS_SCREEN (screen)' failed
(firefox-bin:14345): Gdk-CRITICAL **: IA__gdk_window_new: assertion `GDK_IS_WINDOW (parent)' failed
Segmentation fault

The current workaround is to remove oxygen-gtk from the system and use a different theme for applications.

ATI Catalyst driver creates glitches and artifacts

For the moment, Catalyst is not proposed to be used while running GNOME Shell. The opensource ATI driver, xf86-video-ati, however, seems to be working properly with the GNOME 3 composited desktop.

Note: Fix is promised with Catalyst 11.9. See http://ati.cchtml.com/show_bug.cgi?id=99

Window opens behind other windows when using multiple monitors

This is possibly a bug in gnome shell, and causes new windows to open behind others. Unchecking "workspaces_only_on_primary" in desktop/gnome/shell/windows using gconf-editor solves this problem.

Multiple monitors and dock extension

If you have multiple monitors configured using Nvidia Twinview, the dock extension may get sandwiched in-between the monitors. You can edit the source of this extension to reposition the dock to a position of your choosing.

Edit /usr/share/gnome-shell/extensions/dock@gnome-shell-extensions.gnome.org/extension.js and locate this line in the source:

this.actor.set_position(primary.width-this._item_size-this._spacing-2, (primary.height-height)/2);

The first parameter is the X position of the dock display, by subtracting 15 pixels as opposed to 2 pixels from this it correctly positioned on my primary monitor, you can play around with any X,Y coordinate pair to position it correctly.

this.actor.set_position(primary.width-this._item_size-this._spacing-15, (primary.height-height)/2);

No event sounds for Empathy and other programs

If you are using OSS, you may want to install libcanberra-ossAUR from the AUR.

Editing hotkeys via can-change-accels fails

It is also possible to manually change the keys via an application's so-called accel map file. Where it is to be found is up to the application: For instance, Thunar's is at ~/.config/Thunar/accels.scm, whereas Nautilus's is located at ~/.gnome2/accels/nautilus. The file should contain a list of possible hotkeys, each unchanged line commented out with a leading ";" that has to be removed for a change to become active.

Panels do not respond to right-click in fallback mode

Check Configuration Editor: /apps/metacity/general/mouse_button_modifier. This modifier key (Template:Keypress, Template:Keypress, etc) used for normal windows is also used by panels and their applets.

"Show Desktop" keyboard shortcut does not work

GNOME developers treated the corresponding binding as bug (see https://bugzilla.gnome.org/show_bug.cgi?id=643609) due to Minimization being deprecated. To show the desktop again assign ALT+STRG+D to the following setting:

System Settings --> Keyboard --> Shortcuts --> Windows --> Hide all normal windows

Nautilus does not start

  1. Press Template:Keypress+Template:Keypress
  2. Enter gnome-tweak-tool
  3. Select the File Manager tab.
  4. Locate option Have file manager handle the desktop and assure it is toggled off.

Epiphany does not play Flash videos

Adobe Flash Player is buggy and does not work directly in Epiphany. See Epiphany#Flash for a workaround involving nspluginwrapper.

Unable to apply stored configuration for monitors

If you encounter this message try to disable the xrandr gnome-settings-daemon plugin :

$ dconf write /org/gnome/settings-daemon/plugins/xrandr/active false

Lock button fails to re-enable touchpad

Some laptops have a touchpad lock button that disables the touchpad so that users can type without worrying about touching the touchpad. It appears currently that although GNOME can lock the touchpad by pressing this button, it can't unlock it. If the touchpad gets locked you can do the following to unlock it.

  1. Start a terminal. You can do this by pressing Template:Keypress+Template:Keypress , then typing gnome-terminal and then pressing Template:Keypress
  2. Type in the following command
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1

Ctrl+V pastes path instead of file in Nautilus

If you are affected by this issue, edit ~/.gnome2/accels/nautilus where you can find two lines for Template:Keypress+Template:Keypress:

(gtk_accel_path "<Actions>/DirViewActions/Paste" "<Control>v")
(gtk_accel_path "<Actions>/ClipboardActions/Paste" "<Control>v")

The issue appears to stem from the second entry. Deleting that line may fix the issue temporarily. You might have to re-apply this fix after an update.

An alternative is to assign a different key combination to one of the actions.

Edit: this issue seems to be fixed since Gnome 3.2.x.

Unable to connect to secured Wi-Fi networks

You can see the network connections listing, but choosing an encrypted network fails to show a dialog for key entry. You may need to install network-manager-applet. See GNOME NetworkManager setup.

"Any command has been defined 33"

When you press the Template:Keypress key (sometimes labeled Template:Keypress or Template:Keypress) to take a screenshot, and you got "Any command has been defined 33", install metacity.

GDM and GNOME use X11 cursors

To fix this issue, you will have to copy and paste these lines as root in a terminal:

# mkdir /usr/share/icons/default
# cd /usr/share/icons/default
# echo "[Icon Theme]" >> index.theme
# echo "Inherits=Adwaita" >> index.theme

Alternatively, you can install gnome-cursors-fixAUR from the AUR.

External links