Difference between revisions of "GNOME"

From ArchWiki
Jump to: navigation, search
(Middle Mouse Button Emulation)
m (spelling)
Line 186: Line 186:
  gsettings set org.gnome.nautilus.preferences always-use-location-entry true
  gsettings set org.gnome.nautilus.preferences always-use-location-entry true
=== disable accessibility icon in panel ===
=== Disable accessibility icon in panel ===
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]
First deactivate it as startup-service: [[GNOME_3#Start_program_automatically_after_login_to_GNOME_3]]

Revision as of 17:25, 4 May 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 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 the current 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 gnome

For additional applications

# pacman -Syu gnome-extra

Daemons and modules needed by GNOME

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

To start the DBUS daemon:

# /etc/rc.d/dbus start

Or add these daemons to the DAEMONS array in Template:Filename so they will start on boot up, e.g.:

DAEMONS=(syslog-ng dbus network crond)

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.:

MODULES=(fuse usblp)
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

See https://live.gnome.org/GnomeShell/CheatSheet


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 http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html which explores the power of gsettings.

GDM Customization

GDM runs as the gdm user, which you need to be to change these settings. Login is disabled for the gdm user, so remove the "1" at the end of the gdm line in /etc/shadow to enable login. Don't forget to disable the account when you are done.

# 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

Insert a "1" back into /etc/shadow to disable gdm user login.

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.

Only Adwaita theme exists in this moment for gtk3 and is available in gnome-themes-standard package.


 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

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

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.1"],
	"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.

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.1"],
	"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.

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

Enabling fallback mode

Your session will automatically start in fallback mode if gnome-shell is not present. 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.

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. The accel should change from "ctrl+del" 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

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. 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.


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/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);

There are no event sounds for Empathy and other programs

The sound-theme-freedesktop package must be installed for the default event sounds:

 # pacman -S sound-theme-freedesktop

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.

"Failed to load session 'gnome-fallback'" message

Check if notification-daemon is installed.

 # pacman -S notification-daemon