From ArchWiki
Revision as of 14:19, 22 June 2011 by Evilandi666 (talk | contribs) (→‎Troubleshooting: I just added bluetooth problem solution again, I tested it again and this fixes it for me. sry for the "back and forth")
Jump to navigation Jump to search

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 end

For GNOME 3, the GNOME Project has started from scratch and created a completely new, modern desktop designed for today's users and technologies. In GNOME 3:

  • There is a new default modern visual theme and font
  • The Activities view which provides an easy way to access all your windows and applications
  • Built-in (integrated) messaging desktop services
  • A more subtle notifications system and a more discrete panel
  • A fast Activities search feature
  • A new System Settings application
  • ... and more features like: window tiling (Aero Snap like), an improved Nautilus etc.

[more details on the GNOME3 website]



GNOME3 comes with two interfaces, gnome-shell (the new, standard layout) and fallback mode. gnome-session will automatically detect if your computer is capable of running gnome-shell and will start fallback mode if not.

Fallback mode is very similar to the GNOME 2.x layout (while using gnome-panel and metacity, instead of gnome-shell and Mutter).

If you are on fallback mode you can still change the window manager with your preferred one.

Upgrade from GNOME 2.32

Warning: The session might crash during the update and it is recommended that you run the update command in a screen session, from another DE or WM, or from tty
# pacman -Syu 

Important: You will end up with a system that has GNOME 3.x fallback mode. To install the new shell:

# pacman -S gnome-shell

Installing to a new system

GNOME 3 is in [extra]. You can install it by running the following command:

# pacman -Syu
# pacman -S gnome

For additional applications

# pacman -S gnome-extra

Daemons and modules needed by GNOME

The GNOME desktop requires one daemon, DBUS for proper operation.


GVFS allows the mounting of virtual file systems (e.g. file systems over FTP or SMB) to be used by other applications, including the GNOME file manager Nautilus. This is done with the use of FUSE: a user space virtual file system layer kernel module.

To load the FUSE kernel module:

# modprobe fuse

Or add the module to the MODULES array in Template:Filename so they will load at boot up, e.g.:

Note: FUSE is a kernel module, not a daemon.

Running GNOME

For better desktop integration GDM is recommended (but other login managers, such as SLiM also work, see Policykit section).

# pacman -S gdm

Check out Display_Manager to learn how to start it correctly.

If you prefer to start it from the console, add the following line to your Template:Filename file, making sure it's the last line and the only one that starts with exec (see xinitrc):

exec ck-launch-session gnome-session

Now GNOME will start when you enter the following command:

$ startx

Using the shell



Using Gnome-tweak-tool

# pacman -S gnome-tweak-tool

This tool can customize fonts, themes, minimize & maximize buttons and some other useful settings like what action is taken when the lid is closed.

A good customization tutorial is which explores the power of gsettings.

Version 3.0.3 only works if gnome-shell is installed (OK if forced to fallback mode), bug:

GDM Customization

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

This command will print DBUS_SESSION_BUS_ADDRESS and DBUS_SESSION_BUS_PID. We need to export them

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

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

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


$ 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"

You will need to point to a file where the gdm user has permission to read, not in your home directory.

Turning off the sound

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

Change GDM's keyboard layout

Since GDM 3 does not care about your gnome keyboard settings, you have to set your layout to Xorg config. See here: Beginners'_Guide#Non-US_keyboard

Changing the GTK3 theme using settings.ini

Similar to Template:Filename for GTK2+ it is possible to set the GTK3 (Gnome 3) theme via Template:Filename. By default Template:Filename is interpreted as Template:Filename.

Adwaita, the default gnome3 theme is available in gnome-themes-standard package. A few third-party themes for gtk3 exist now. Check them out at


 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 may be necessary to restart one's DE or WM for the settings to be applied.

Note: More options can be find there: GtkSettings documentation

Hide Titlebar when Maximized

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

Hit Template:Keypress + Template:Keypress and type restart (or just r) followed by Template:Keypress to reload.

To prevent this file from being overwritten each time the package "gnome-themes-standard" is upgraded, add it to Template:Filename with the NoUpgrade option:


To restore the original values:

# pacman -S gnome-themes-standard

Resizing the Massive Titlebar

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

Hit Template:Keypress + Template:Keypress and type restart followed by Template:Keypress

This will change the title_vertical_pad from 14 to 0 giving a much sleeker look to windows.

To restore the original values:

sudo pacman -S gnome-themes-standard

Setting an icon theme

Note: With gnome-tweak-tool version 3.0.3 and later, you can place icon theme you wish to use inside ~/.icons.

Usefully, Gnome 3 is able to use Gnome 2 icon themes, which means you're not stuck with the default set. To do this, simply copy your desired icon theme's directory to ~/.icons. For example:

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

The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface'), otherwise it can be set with no need of gnome-tweak-tool by adding the gtk-icon-theme-name entry inside ${XDG_CONFIG_HOME}/gtk-3.0/settings.ini. Template:File

Start program automatically after login to GNOME 3

You can specify which programs to start automatically after login using the gnome-session-properties tool, which is a part of the gnome-session package.

$ gnome-session-properties

Removing folders from the "Computer" section in Nautilus's Places sidebar

The displayed folders are specified in Template:Filename and can be altered with any editor. An execution of Template:Codeline will change them again, thus it may be advisable to set the file permissions to read-only.

Setting the default terminal via console

Template:Codeline, which replaces Template:Codeline 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. Template:Codeline) to indicate that a command will follow: nautilus-open-terminal passes a Template:Codeline command in order to change directories to the appropriate location.

Setting Nautilus to Use Location Bar Entry

If you want to enter path locations manually in Nautilus you can press Ctrl+L. To make this persistent you can use gsettings.

gsettings set org.gnome.nautilus.preferences always-use-location-entry true

Disable accessibility icon in panel

First deactivate it as startup-service: GNOME_3#Start_program_automatically_after_login_to_GNOME_3

After that create a folder named noa11y.icon@panel.ui in $HOME/.local/share/gnome-shell/extensions. In this folder create two files. The first one is named extension.js and has this content:

const Panel = imports.ui.panel;

function main() {

The second one is named metadata.json and has this content:

	"shell-version": ["3.0"],
	"uuid": "noa11y.icon@panel.ui",
	"name": "na11y",
	"description": "Turn off the ally icon in the panel"

Now restart the gnome-shell (press ALT+F2, type r and press Enter) and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.

If the above method doesn't work, you can try disabling the accessibility icon system wide. Edit the file /usr/share/gnome-shell/js/ui/panel.js, find this line:

'a11y': imports.ui.status.accessibility.ATIndicator,

and comment it out e.g.:

/* 'a11y': imports.ui.status.accessibility.ATIndicator, */

Afterwards restart the shell.

Disable bluetooth icon in panel

First deactivate it as startup-service: GNOME_3#Start_program_automatically_after_login_to_GNOME_3

After that create a folder named nobluetooth.icon@panel.ui in $HOME/.local/share/gnome-shell/extensions. In this folder create two files. The first one is named extension.js and has this content:

const Panel = imports.ui.panel;

function main() {

The second one is named metadata.json and has this content:

	"shell-version": ["3.0"],
	"uuid": "nobluetooth.icon@panel.ui",
	"name": "nbluetooth",
	"description": "Turn off the bluetooth icon in the panel"

Now restart the gnome-shell (press ALT+F2, type r and press Enter) and the icon is away. If this extensions stops working adjust the shell-version number in the metadata-file according to your version.

Disable suspend capability in the status menu

A quick way to do it for all the users is to change the line 153 of "/usr/share/gnome-shell/js/ui/statusMenu.js" from :

this._haveSuspend = this._upClient.get_can_suspend();


this._haveSuspend = false;

Middle Mouse Button Emulation

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

Battery icon

To have battery tray icon, install gnome-power-manager package:

# pacman -S gnome-power-manager


Upgrading to Gnome 3 will (most-likely) break your xmonad setup. You can use xmonad again by forcing fallback mode (see below) and creating the following two files:



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

Enabling fallback mode

Your session will automatically start in fallback mode if gnome-shell is not present or if your desktop cannot handle graphics acceleration (such as running in a Virtual Machine or on old hardware). If you want to enable it while having gnome-shell installed, open gnome-control-center. Open System Info > Graphics. Change Forced Fallback Mode to ON.

You can also use gsettings to set the session manually from a terminal using the next command:

$ GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.session session-name gnome-fallback

Enabling hidden features

Gnome 3.0 hides a lot of useful options which you can customize with dconf-editor or gconf-editor for settings not yet migrated to dconf.

Changing Hotkeys

In dconf-editor, enable org.gnome.desktop.interface "can-change-accels".

An example of changing the delete hotkey: Open nautilus, select any file/directory, then click "Edit" from the menubar, and hover over the "Move to Trash" menuitem. While hovering, push delete, and default accel will be unset. Now push the key that you want to set as accel. i.e. Pushing again delete, will make the accel change to "del".

Make sure you have selected a file, else the "Move to Trash" menuitem will be greyed out. You should disable "can-change-accels" afterwards, to prevent accidental accel changes.

How to shutdown through the Status menu

For now, the Shutdown option seems to be hidden if the user presses the Status menu on the upper right. If you want to shutdown your system through the Status menu, click on it and then press the Alt button. The "Suspend" option will instantly turn into "Power off...", as long as you are pressing the Alt button, which will allow you to properly shutdown your system.

You can also install the "Alternative Status Menu" extension (see the section on Enabling Extensions, below). This will put a permanent "Power Off" option in the Status menu below the usual suspend option.

Enabling integrated messaging

Empathy, the engine behind the integrated messaging, and all of the system settings based on your 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 are not included in the default Arch GNOME installs and the Empathy interface doesn't give a nice error message, it just fails to work silently. You can install them:

# pacman -S telepathy

You may view a description of the various telepathy components on the Telepathy Wiki.

Enabling extensions

Gnome Shell can be customised to an extent with extensions that have been written by others. These provide functionality like having a dock that is always present, and being able to change the shell theme. More details on the functionality of currently available extensions is given here You can use the gnome-shell-extensions-git package in the AUR to install them or install them individually using the [extra extensions' snapshots] . Restart Gnome to enable them.

If installing the extensions causes Gnome to stop working then you must remove the user-theme extension and and the auto-move-windows extension from their installation directory (could be in ~/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions or /usr/local/share/gnome-shell/extensions). Removing or adding extensions to these directories will remove or install them form the system. More details on Gnome Shell extensions are available here.


Bluetooth Applet does not work properly

If you have problems getting the Bluetooth Applet to work, just add your user to group uucp (gpasswd -a $USER uucp) and be sure that bluetooth daemon is started. (rc.d start bluetooth). Don't forget to relogin after adding your user to uucp group.

If it still does not work, create /etc/udev/rules.d/10-gnome-bluetooth.rules with the following content:

# Get access to /dev/rfkill for group 'uucp'
# See
KERNEL=="rfkill", ENV{ACL_MANAGE}="1", GROUP="uucp"

Make sure it has the right permissions and owner (chmod 700 and chown root:root). You should know that this might be a security problem, for more information look at this bugreport and this comment.

Gnome does take very long (~ 1 minute) to login

Check if you enabled PulseAudio Network settings in paprefs - If there are any network audio settings enabled, Gnome will hang about a minute after login. Another solution is to try a new useraccount or to move $HOME/.gconf $HOME/.gconfd $HOME/.conf/dconf to a backup folder. Try again to login to see if the delay is gone. If it is gone, you have to look what setting causes that delay.

My extensions don't work anymore after a Gnome 3 update

Go to $HOME/.local/share/gnome-shell/extensions or /usr/share/gnome-shell/extensions (depends on where you have installed your extensions) and open metadata.json in every subfolder. Insert

  "shell-version": ["3.0"] 

instead of (for example)

  "shell-version": ["3.0.1"]

you also could insert

  "shell-version": ["3.0.0", "3.0.1", "3.0.2"]

but in my opinion "shell-version": ["3.0"] is the best solution, because this means that a extension works for every 3.0.x gnome-shell version, without changing it every time.

My screen isn't locked after resume from suspend/hibernate

Screen lock does only work when you suspend through gnome status menu. If you suspend or hibernate with powerbutton/etc. you screen is not locked after resume. This problem occours because of an config failure in dconf, so just open dconf-editor and change lock-use screensaver to false (unchecked) in org/gnome/power-manager. Your screen will now be locked after resume, regardless whether you used gnome status menu or power button or key combination. For more information see bugreport: Screen gets no more locked after suspend#Comment 8

My GTK2+ apps show segfaults and won't start

That usually happens when oxygen-gtk is installed. That theme conflicts somehow with GNOME 3's or/and GTK3 settings and when it has been set as a GTK2 theme, the GTK2 apps segfault with errors like:

 (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 completely and set another theme for your apps.

I use the ATI Catalyst driver and I encounter glitches and artifacts while using GNOME Shell

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.

I have multiple monitors and the Dock extension appears stuck between them

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/ and locate this line in the source:, (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., (primary.height-height)/2);

There are no event sounds for Empathy and other programs

If you're using OSS, you may want to install libcanberra-oss from 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 Template:Filename, whereas Nautilus's is located at Template:Filename. 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.

[fallback mode] Panels and applets don't respond to right click to remove, etc, as in GNOME 2

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

Show Desktop: ALT+STRG+D does not work

The GNOME developers treated the corresponding binding as bug (see 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

Starting Nautilus does not work

Start gnome-tweak-tool -> File Manager -> Have file manager handle the desktop -> Off

Epiphany does not play flash videos

Epiphany now uses gtk3, but Adobe's Flash Player still relies on gtk2. See Epiphany#Flash for a workaround involving nspluginwrapper.

Could not apply the 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

External links