Difference between revisions of "GNOME"

From ArchWiki
Jump to navigation Jump to search
(Undo revision 138437 by Adispi (talk) I find this note unnecessary)
Line 60: Line 60:
== Installing to a new system ==
== Installing to a new system ==
{{Note|Gnome requires ''Xorg server'' to be installed on your system. If you don't have it yet, follow the instructions in [[Xorg|this article]] first.}}
Enable testing in the same way as above.
Enable testing in the same way as above.

Revision as of 13:00, 26 April 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 discreet 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

Enable testing repo.

Edit /etc/pacman.conf and uncomment testing.

Warning: It's very important for the new repo to be on the top, otherwise pacman will not upgrade GNOME
 #testing uncommented
Include = /etc/pacman.d/mirrorlist

For 64 bit systems you must also add the multilib repository below the code above. It will look like this.

 #testing uncommented with multilib repository enabled for 64bit systems.
 Include = /etc/pacman.d/mirrorlist
 Include = /etc/pacman.d/mirrorlist
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

Enable testing in the same way as above.

# pacman -Syu testing/gnome

For additional applications

# pacman -Syu testing/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.

Setting an icon theme

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

$ cp -R /home/user/Desktop/my_new_icon_theme /usr/share/icons

The new icon theme 'my_new_icon_theme' will now be selectable using the gnome-tweak-tool (under 'Interface').


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

Turning off the sound

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

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.


 gtk-theme-name = Adwaita
 gtk-fallback-icon-theme = gnome
 gtk-application-prefer-dark-theme = true # applicable only if selected theme supports it

It may be necessary to restart one's DE or WM for the settings to be applied.

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

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