Difference between revisions of "GNOME"

From ArchWiki
Jump to: navigation, search
(Disable blinking cursor in Terminal)
(update interlanguage links)
(Tag: wiki-scripts)
 
(668 intermediate revisions by 92 users not shown)
Line 6: Line 6:
 
[[it:GNOME]]
 
[[it:GNOME]]
 
[[ja:GNOME]]
 
[[ja:GNOME]]
[[nl:GNOME]]
 
 
[[pl:GNOME]]
 
[[pl:GNOME]]
 
[[pt:GNOME]]
 
[[pt:GNOME]]
Line 14: Line 13:
 
[[tr:Gnome Masaüstü Ortamı]]
 
[[tr:Gnome Masaüstü Ortamı]]
 
[[uk:GNOME]]
 
[[uk:GNOME]]
[[zh-CN:GNOME]]
+
[[zh-hans:GNOME]]
[[zh-TW:GNOME]]
+
[[zh-hant:GNOME]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|Desktop Environment}}
+
{{Related|Desktop environment}}
{{Related|Display Manager}}
+
{{Related|Display manager}}
{{Related|Window Manager}}
+
{{Related|Window manager}}
 
{{Related|GTK+}}
 
{{Related|GTK+}}
 
{{Related|GDM}}
 
{{Related|GDM}}
{{Related|Nautilus}}
+
{{Related|GNOME/Tips and tricks}}
{{Related|Gedit}}
+
{{Related|GNOME/Troubleshooting}}
{{Related|Epiphany}}
+
{{Related|GNOME/Files}}
{{Related|GNOME Flashback}}
+
{{Related|GNOME/Gedit}}
 +
{{Related|GNOME/Web}}
 +
{{Related|GNOME/Evolution}}
 +
{{Related|GNOME/Flashback}}
 +
{{Related|GNOME/Keyring}}
 +
{{Related|GNOME/Document viewer}}
 +
{{Related|Cinnamon}}
 +
{{Related|MATE}}
 +
{{Related|Official repositories#gnome-unstable}}
 
{{Related articles end}}
 
{{Related articles end}}
  
[http://www.gnome.org/ GNOME] is a [[desktop environment]] developed by The GNOME Project.
+
[https://www.gnome.org/ GNOME] (pronounced ''gah-nohm'' or ''nohm'') is a [[desktop environment]] that aims to be simple and easy to use. It is designed by [[Wikipedia:The GNOME Project|The GNOME Project]] and is composed entirely of free and open-source software. GNOME is a part of the [[Wikipedia:GNU Project|GNU Project]]. The default display is [[Wayland]] instead of [[Xorg]].
 
 
GNOME 3 has ''two'' sessions:
 
 
 
*'''GNOME''' is the default, innovative layout.
 
*'''GNOME Classic''' is a traditional desktop layout, similar to the GNOME 2 user interface whilst using GNOME 3 technologies. It does so through the use of pre-activated extensions and parameters (see [http://worldofgnome.org/welcome-to-gnome-3-8-flintstones-mode/ here] for a list). Hence it is more of a customized GNOME Shell than a truly distinct mode.
 
 
 
Both of them use GNOME Shell, a desktop shell and plugin of the Mutter window manager. Mutter acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter. GNOME session manager automatically detects if your video driver is capable of running GNOME Shell and if not, falls back to software rendering using llvmpipe.
 
  
 
== Installation ==
 
== Installation ==
  
GNOME 3 is available in the [[official repositories]] and can be [[pacman|installed]] with one of the following:
+
Two groups are available:
*The {{Pkg|gnome-shell}} package provides a minimal desktop shell.
 
*The {{Grp|gnome}} group contains the core desktop environment and applications required for the standard GNOME experience.
 
*The {{Grp|gnome-extra}} group contains various optional tools such as an editor, an archive manager, a disk burner, a mail client, games, development tools and other non-critical applications that integrate well with the GNOME desktop. Installing just the {{Grp|gnome-extra}} group will not pull in the whole {{Grp|gnome}} group via dependencies. If you want to install all GNOME packages then you will need to explicitly install both groups.
 
  
== Starting GNOME ==
+
* {{Grp|gnome}} contains the base GNOME desktop and a subset of well-integrated [https://wiki.gnome.org/Apps applications];
 +
* {{Grp|gnome-extra}} contains further GNOME applications, including an archive manager, disk manager, [[Gedit|text editor]], and a set of games. Note that this group builds on the {{Grp|gnome}} group.
  
'''Graphical log-in'''
+
The base desktop consists of [[Wikipedia:GNOME_Shell|GNOME Shell]], a plugin for the [[Wikipedia:Mutter_(software)|Mutter]] window manager. It can be installed separately with {{Pkg|gnome-shell}}.
  
For the best desktop integration, [[GDM]] (the GNOME [[Display Manager]]) is recommended. GDM is installed as part of the {{grp|gnome}} group and can be used by enabling {{ic|gdm.service}} [[systemd#Using units|using systemd]].
+
{{Note|''mutter'' acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter. The GNOME session manager automatically detects if your video driver is capable of running GNOME Shell and if not, falls back to software rendering using ''llvmpipe''.}}  
  
Other display managers can be used in place of GDM if desired.
+
=== Additional packages ===
  
{{note|Native support for screenlocking in GNOME is provided by GDM. If you choose to not use GDM you will need to use a different screenlocking program such as [[Xscreensaver]].}}
+
These packages are not in the above mentioned groups:
  
Should GNOME fail to start, you could try adding your user to the {{ic|video}} group as shown below:
+
* {{App|[[Wikipedia:GNOME Boxes|Boxes]]|A simple user interface to access [[libvirt]] virtual machines.|https://wiki.gnome.org/Apps/Boxes|{{Pkg|gnome-boxes}}}}
 +
* {{App|Games|Simple game launcher for GNOME.|https://wiki.gnome.org/Apps/Games|{{Pkg|gnome-games}}}}
 +
* {{App|GNOME Initial Setup|A simple, easy, and safe way to prepare a new system.|https://github.com/GNOME/gnome-initial-setup|{{Pkg|gnome-initial-setup}}}}
 +
* {{App|GNOME MultiWriter|Write an ISO file to multiple USB devices at once.|https://wiki.gnome.org/Apps/MultiWriter|{{Pkg|gnome-multi-writer}}}}
 +
* {{App|GNOME PackageKit|Collection of graphical tools for PackageKit to be used in the GNOME desktop.|https://github.com/GNOME/gnome-packagekit|{{Pkg|gnome-packagekit}}}}
 +
* {{App|[[Wikipedia:Nemiver|Nemiver]]|A C/C++ debugger.|https://wiki.gnome.org/Apps/Nemiver|{{Pkg|nemiver}}}}
 +
* {{App|Recipes|Recipe management application for GNOME.|https://wiki.gnome.org/Apps/Recipes|{{Pkg|gnome-recipes}}}}
 +
* {{App|Simple Scan|Simple scanning utility.|https://launchpad.net/simple-scan|{{Pkg|simple-scan}}}}
 +
* {{App|[[Wikipedia:GNOME Software|Software]]|Lets you install and update applications and system extensions.|https://wiki.gnome.org/Apps/Software/|{{Pkg|gnome-software}}}}
  
# gpasswd -a ''username'' video
+
== GNOME Sessions ==
  
Replace the word username with your own username. You will need to log out and log in again for the changes to be applied.
+
GNOME has three available sessions, all using GNOME Shell.
  
'''Starting GNOME manually'''
+
*'''GNOME''' is the default which uses Wayland. Traditional X applications are run through Xwayland.
 +
*'''GNOME Classic''' is a traditional desktop layout with a similar interface to GNOME 2, using pre-activated extensions and parameters. [http://worldofgnome.org/welcome-to-gnome-3-8-flintstones-mode/] Hence it is more a customized GNOME Shell than a truly distinct mode.
 +
*'''GNOME on Xorg''' runs GNOME Shell using Xorg.
  
If you prefer to start GNOME manually from the console, add the following line to your {{ic|~/.xinitrc}} file:
+
== Starting GNOME ==
{{hc|~/.xinitrc|<nowiki>
 
exec gnome-session
 
</nowiki>}}
 
  
Or {{ic|exec gnome-session --session&#61;gnome-classic}} for GNOME Classic. After editing your {{ic|~/.xinitrc}}, GNOME can be launched by typing {{ic|startx}}.
+
GNOME can be started either graphically, using a [[display manager]], or manually from the console.
  
See [[xinitrc]] for details, such as preserving the logind session.
+
{{Note|Support for screen locking in GNOME is provided by GDM. If GNOME is not started using GDM, you will have to use another screen locker to provide this functionality - see [[List of applications/Security#Screen lockers]].}}
  
== Using the shell ==
+
=== Graphically ===
  
=== GNOME cheat sheet ===
+
Select the session: ''GNOME'', ''GNOME Classic'', or ''GNOME on Xorg'' from the display manager's session menu.
  
The GNOME web site has a helpful [https://live.gnome.org/GnomeShell/CheatSheet GNOME Shell cheat sheet] explaining task switching, keyboard use, window control, the panel, overview mode, and more.
+
=== Manually ===
  
=== Restarting the shell ===
+
==== Xorg sessions ====
  
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 {{ic|Alt}} + {{ic|F2}} then  {{ic|r}} then  {{ic|Enter}}
+
* For the GNOME on Xorg session, add to the {{ic|~/.xinitrc}} file: {{ic|exec gnome-session}}.
 +
* For the GNOME Classic session, add to the {{ic|~/.xinitrc}} file: {{bc|<nowiki>export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
 +
export GNOME_SHELL_SESSION_MODE=classic
 +
exec gnome-session --session=gnome-classic</nowiki>}}
  
=== Shell crashes ===
+
After editing the {{ic|~/.xinitrc}} file, GNOME can be launched with the {{ic|startx}} command (see [[xinitrc]] for additional details, such as preserving the logind session).  After setting up the {{ic|~/.xinitrc}} file it can also be arranged to [[Start X at login]].
  
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 cannot be accomplished via a keyboard restart; you must log out and log back in to effect them.
+
==== Wayland sessions ====
  
{{note|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 however there is a risk that data could be lost if documents are not saved.}}
+
{{Note|
 +
* An X server—provided by the {{Pkg|xorg-server-xwayland}} package—is still necessary to run applications that have not yet been ported to [[Wayland]].
 +
* Wayland with the proprietary [[NVIDIA]] driver currently suffers from very poor performance: {{bug|53284}}.
 +
}}  
  
=== Shell freezes ===
+
Manually starting a Wayland session is possible with {{ic|<nowiki>XDG_SESSION_TYPE=wayland dbus-run-session gnome-session</nowiki>}}.
  
Sometimes shell extensions freeze the GNOME Shell. In this case a possible strategy is to switch to another terminal via {{ic|Ctrl+Alt+F2}} through {{ic|Ctrl+Alt+F6}}, log in, and restart gnome-shell with:
+
To start on login to tty1, add the following to your {{ic|.bash_profile}}:
  
  # pkill -HUP gnome-shell
+
  <nowiki>if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]] && [[ -z $XDG_SESSION_TYPE ]]; then
 +
  XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session
 +
fi</nowiki>
  
All open applications will still be available after restarting the shell.
+
=== GNOME applications in Wayland ===
  
Sometimes, however, merely restarting the shell might not be enough. Then you will have to restart X, losing all work in progress. You can restart X by:
+
When the ''GNOME'' session is used, GNOME applications will be run using Wayland. See the current status of Wayland for GNOME applications at [https://wiki.gnome.org/Initiatives/Wayland/Applications/ GNOME Applications under Wayland]. For debugging cases, the [https://developer.gnome.org/gtk3/stable/gtk-running.html GTK+ manual] lists options and environment variables.
  
# pkill X
+
== Navigation ==
  
The GNOME Shell then restarts automatically.
+
To learn how to use the GNOME shell effectively read the [https://wiki.gnome.org/Projects/GnomeShell/CheatSheet GNOME Shell Cheat Sheet]; it highlights GNOME shell features and keyboard shortcuts.  Features include task switching, keyboard use, window control, the panel, overview mode, and more. A few of the shortcuts are:
  
If this does not work, you can try to restart your login manager. For instance, if you use GDM, try:
+
* {{ic|Super}} + {{ic|m}}: show message tray
 +
* {{ic|Super}} + {{ic|a}}: show applications menu
 +
* {{ic|Alt-}} + {{ic|Tab}}: cycle active applications
 +
* {{ic|Alt-}} + {{ic|`}} (the key above {{ic|Tab}} on US keyboard layouts): cycle windows of the application in the foreground
 +
* {{ic|Alt}} + {{ic|F2}}, then enter {{ic|r}} or {{ic|restart}}: restart the shell in case of graphical shell problems (only in X/legacy mode, not in Wayland mode).  
  
# systemctl restart gdm.service
+
=== Legacy names ===
  
{{Tip|You can also use '''htop''' in tty; press ''t'', select the ''gnome-shell'' tree, press ''k'' and send ''SIGKILL''.}}
+
{{Note|
 +
Some GNOME programs have undergone name changes where the application's name in documentation and about dialogs has been changed but the executable name has not. A few such applications are listed in the table below.}}
  
== Pacman integration: GNOME PackageKit ==
+
{{Tip|Searching for the legacy name of an application in the Shell search bar will successfully return the application in question. For instance, searching for ''nautilus'' will return ''Files''.}}
  
GNOME has its own Pacman GUI: {{Pkg|gnome-packagekit}}.
+
{| class="wikitable"
 +
! Current
 +
! Legacy
 +
|-
 +
| [[Files]]
 +
| Nautilus
 +
|-
 +
| [[GNOME/Web|Web]]
 +
| Epiphany
 +
|-
 +
| Videos
 +
| Totem
 +
|-
 +
| Main Menu
 +
| Alacarte
 +
|-
 +
| Document Viewer
 +
| Evince
 +
|-
 +
| Disk Usage Analyser
 +
| Baobab
 +
|-
 +
| Image Viewer
 +
| EoG (Eye of GNOME)
 +
|-
 +
| [[GNOME/Keyring|Passwords and Keys]]
 +
| Seahorse
 +
|}
  
Using the [https://www.archlinux.org/pacman/libalpm.3.html alpm] backend, it supports the following features:
+
== Configuration ==
  
* Install and remove packages from the repos.
+
The GNOME System Settings panel (''gnome-control-center'') and GNOME applications use the [[wikipedia:Dconf|dconf]] configuration system to store their settings.
* Periodically refresh package databases and prompt for updates.
 
* Install packages from tarballs.
 
* Search for packages by name, description, category or file.
 
* Show package dependencies, files and reverse dependencies.
 
* Ignore IgnorePkgs and hold HoldPkgs.
 
* Report optional dependencies, .pacnew files, etc.
 
  
You can change the {{ic|remove}} operation from -Rc to -Rsc by setting the DConf key {{ic|org.gnome.packagekit.enable-autoremove}}.
+
You can directly access the dconf database using the {{ic|gsettings}} or {{ic|dconf}} command line tools. This also allows you to configure settings not exposed by the user interfaces.
  
=== Packages updates notifications ===
+
Up until GNOME 3.24 settings were applied by the GNOME settings daemon, which could be run outside of a GNOME session using:
  
If you want GNOME to check automatically for updates, you must install {{Pkg|gnome-settings-daemon-updates}} from the official repository.
+
$ nohup /usr/lib/gnome-settings-daemon/gnome-settings-daemon > /dev/null &
  
== Customizing GNOME appearance ==
+
GNOME 3.24 however replaced the GNOME settings daemon with several separate settings plugins {{ic|/usr/lib/gnome-settings-daemon/gsd-*}}. These plugins are now controlled via desktop files under {{ic|/etc/xdg/autostart}} (org.gnome.SettingsDaemon.*.desktop). To run these plugins outside of a GNOME session you will now need to copy/edit the appropriate [[desktop entries]] to {{ic|~/.config/autostart}}.
  
=== Overall appearance ===
+
The configuration is usually performed user-specific, this section does not cover how to create configuration templates for multiple users.
  
There is no all-encompassing configuration tool however a variety of tools are available to ensure that all customisations that the user needs to make can be made. The new ''Systems Settings'' tool (provided by {{pkg|gnome-control-center}}) is a simple and streamlined panel which covers most basic settings however more extensive customisation may require the use of some of the tools below.
+
=== System settings ===
  
==== Gsettings ====
+
Control panel settings of note.
  
A new command-line tool {{ic|gsettings}} stores data in a binary format, unlike previous tools using XML text. See [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell] for a tutorial on using gsettings.
+
==== Color ====
  
==== GNOME tweak tool ====
+
The daemon {{ic|colord}} reads the display's EDID and extracts the appropriate color profile.  Most color profiles are accurate and no setup is required; however for those that are not accurate, or for older displays, color profiles can be put in {{ic|~/.local/share/icc/}} and directed to.
  
This graphical tool customizes fonts, themes, titlebar buttons and other settings. {{Pkg|gnome-tweak-tool}} is available from the [[official repositories]]. It is set up as a user friendly frontend to the gsettings tool.
+
==== Date & time ====
  
==== dconf ====
+
If the system has a configured [[Network Time Protocol daemon]], it will be effective for GNOME as well. The synchronization can be set to manual control from the menu, if required.
  
The {{pkg|dconf}} tool is a tree based graphical frontend to gsettings. It is somewhat similar to the ''regedit'' tool in Windows. Most GNOME configuration settings are exposed in this tool.
+
To show the date in the top bar, execute:
  
==== GTK3 theme via settings.ini ====
+
$ gsettings set org.gnome.desktop.interface clock-show-date true
  
It is possible to set a GTK3 theme via {{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}} (usually {{ic|~/.config/gtk-3.0/settings.ini}}).
+
Additionally, to show week numbers in the calendar opened on the top bar, execute:
 +
$ gsettings set org.gnome.desktop.calendar show-weekdate true
  
''Adwaita,'' the default GNOME 3 theme, is a part of {{pkg|gnome-themes-standard}}. Additional GTK3 themes can be found at [http://browse.deviantart.com/customization/skins/linuxutil/desktopenv/gnome/gtk3/ Deviantart web site.] For example:
+
==== Default applications ====
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki>
 
[Settings]
 
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
 
</nowiki>}}
 
 
 
It is necessary to restart the GNOME shell for settings to be applied. More GTK options are found at [http://developer.gnome.org/gtk3/3.0/GtkSettings.html#GtkSettings.properties GNOME developer documentation.]
 
 
 
==== Icon theme ====
 
 
 
Using {{pkg|gnome-tweak-tool}} version 3.0.3 and later, you can place any icon theme you wish to use inside {{ic|~/.icons}}.
 
 
 
GNOME 3 is compatible with a number of icon themes including GNOME 2 icon themes. To install a new set of icons, copy your desired icon theme's directory to {{ic|~/.icons}}. As an example:
 
  
$ cp -R /home/user/Desktop/my_icon_theme ~/.icons
+
Upon installing GNOME for the first time, you may find that the wrong applications are handling certain protocols. For example, ''totem'' opens videos instead of a previously used [[VLC]]. Some of the associations can be set from system settings via: ''System'' > ''Details'' > ''Default applications''.
 +
 
 +
For other protocols and methods see [[Default applications]] for configuration.  
  
The new theme  ''my_icon_theme''  is now selectable using {{ic|gnome-tweak-tool}} under ''interface''.
+
==== Mouse and touchpad ====
  
Alternatively, you may manually select your icon theme without the use of gnome-tweak-tool or dconf. Add the GTK icon theme name to {{ic|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini}}. Please note, not to use "" as your settings would not be recognised then.
+
To help reduce touchpad interference you may wish to implement the settings below via ''gnome-control-center'':
  
{{hc|${XDG_CONFIG_HOME}/gtk-3.0/settings.ini|<nowiki>... previous lines ...
+
* Disable touchpad while typing
 +
* Disable scrolling
 +
* Disable tap-to-click
  
gtk-icon-theme-name = my_new_icon_theme</nowiki>}}
+
Depending on your device, other configuration settings may be available, but not exposed via the default GUI. For example, a different touchpad {{ic|click-method}}
 +
{{hc|$ gsettings range org.gnome.desktop.peripherals.touchpad click-method|
 +
enum
 +
'default'
 +
'none'
 +
'areas'
 +
'fingers'}}
 +
to be set manually:
 +
$ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'
 +
or via ''gnome-tweak-tool''.
  
=== GNOME panel ===
+
{{Note|1=The [[synaptics]] driver is not supported by GNOME. Instead, you should use [[libinput]]. See [https://bugzilla.gnome.org/show_bug.cgi?id=764257#c12 this bug report].}}
  
==== Show date in top bar ====
+
==== Network ====
  
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.  
+
[[NetworkManager]] is the native tool of the GNOME project to control network settings from the shell. [[Install]] the {{pkg|networkmanager}} package and [[enable]] the {{ic|NetworkManager.service}} systemd unit.
  
# gsettings set org.gnome.desktop.interface clock-show-date true
+
While any other [[network manager]] can be used as well, NetworkManager provides the full integration via the shell network settings and a status indicator applet {{Pkg|network-manager-applet}} (not required for GNOME).
  
You can also change this setting using dconf or gnome-tweak-tool. In {{ic|dconf-editor}} expand org -> gnome -> desktop -> interface and tick the option labelled '''clock-show-date'''.
+
==== Online accounts ====
  
In '''gnome-tweak-tool''' click on the "Top Bar" tab and tick the option labelled '''Show Date'''.
+
Backends for the GNOME messaging application {{Pkg|empathy}} as well as the GNOME Online Accounts section of the System Settings panel are provided in a separate group: {{Grp|telepathy}}. See [[GNOME/Troubleshooting#Unable to add accounts in Empathy and GNOME Online Accounts|Unable to add accounts in Empathy and GNOME Online Accounts]]. Some online accounts, such as [[ownCloud]], require {{Pkg|gvfs-goa}} to be installed for full functionality in GNOME applications such as [[GNOME Files]] and GNOME Documents [https://wiki.gnome.org/ThreePointSeven/Features/Owncloud].
  
==== Hiding icons in the top bar ====
+
==== Search ====
  
When installing GNOME, some unwanted icons might appear in the panel. These icons can be removed either with GNOME shell extensions or by manually editing the GNOME panel script.
+
The GNOME shell has a search that can be quickly accessed by pressing the {{ic|Super}} key and starting to type. The {{Pkg|tracker}} package is installed by default as a part of {{Grp|gnome}} group and provides an indexing application and metadata database. It can be configured with the ''Search and Indexing'' menu item; monitor status with ''tracker-control''.  It is started automatically by ''gnome-session'' when the user logs in. Indexing can be started manually with {{ic|tracker-control -s}}.  Search settings can also be configured in the ''System Settings'' panel.
  
===== Hiding icons with shell extensions =====
+
The Tracker database can be queried using the ''tracker-sparql'' command. View its manual page {{man|1|tracker-sparql}} for more information.
 
To remove the accessibility icon, one can use the https://extensions.gnome.org/extension/112/remove-accesibility/.  
 
  
The best way to use extensions is installing them from the gnome extensions web page like the one above.
+
=== Advanced settings ===
  
===== Manually editing the GNOME panel script =====
+
As noted above, many configuration options such as changing the [[GTK+]] theme or the [[window manager]] theme are not exposed in the GNOME System Settings panel (''gnome-control-center''). Those users that want to configure these settings may wish to use the GNOME Tweak Tool ({{Pkg|gnome-tweak-tool}}), a convenient graphical tool which exposes many of these settings. 
  
For example, to remove the '''universal access icon''', comment out the 'a11y' line in PANEL_ITEM_IMPLEMENTATIONS:
+
GNOME settings (which are stored in the DConf database) can also be configured using the [https://developer.gnome.org/dconf/unstable/dconf-editor.html ''dconf-editor''] (a graphical DConf configuration tool) or the [https://developer.gnome.org/gio/stable/GSettings.html ''gsettings''] command line tool. The GNOME Tweak Tool does not do anything else in the background of the GUI; note though that you will not find all settings described in the following sections in it.
  
{{hc|/usr/share/gnome-shell/js/ui/panel.js|<nowiki>
+
==== Appearance ====
const PANEL_ITEM_IMPLEMENTATIONS = {
 
    'activities': ActivitiesButton,
 
    'appMenu': AppMenuButton,
 
    'dateMenu': imports.ui.dateMenu.DateMenuButton,
 
//    'a11y': imports.ui.status.accessibility.ATIndicator,
 
    'volume': imports.ui.status.volume.Indicator,
 
    'battery': imports.ui.status.power.Indicator,
 
    'lockScreen': imports.ui.status.lockScreenMenu.Indicator,
 
    'keyboard': imports.ui.status.keyboard.InputSourceIndicator,
 
    'powerMenu': imports.gdm.powerMenu.PowerMenuButton,
 
    'userMenu': imports.ui.userMenu.UserMenuButton
 
};
 
</nowiki>}}
 
  
Then, save your results and restart the shell:
+
===== GTK+ themes and icon themes =====
  
#{{ic|Alt+F2}}
+
To install a new theme or icon set, add the relevant {{ic|~/.local/share/themes}} or {{ic|~/.local/share/icons}} respectively (add to {{ic|/usr/share/}} instead of {{ic|~/.local/share/}} for the themes to be available systemwide.)  They and other GUI settings can also be defined in {{ic|~/.config/gtk-3.0/settings.ini}}:
#{{ic|r}}
 
#{{ic|Enter}}
 
 
 
{{note|As of GNOME 3.8 the accessibility icon is hidden from the panel by default.}}
 
 
 
==== 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 {{AUR|gnome-shell-system-monitor-applet-git}} extension available in the [[AUR]].
 
 
 
==== Show weather information ====
 
 
 
Install {{AUR|gnome-shell-extension-weather-git}} from [[AUR]].
 
 
 
=== Activity view ===
 
 
 
==== Remove entries from Applications view ====
 
 
 
Like most desktop environments, GNOME uses .desktop files to populate its Applications view. These text files are located in the '''{{ic|/usr/share/applications}}''' folder. 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. You will need root privileges to edit the .desktop files.
 
 
 
# ls /usr/share/applications
 
# nano /usr/share/applications/foo.desktop
 
 
 
For system wide changes, edit files in '''{{ic|/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.}}
 
 
 
To hide an application launcher open its .desktop file in a text editor and add the following line:
 
 
 
NoDisplay=true
 
 
 
==== Change application icon size ====
 
 
 
To change the application icon size it is necessary to edit the GNOME-Shell theme.
 
 
 
You can 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  '''{{ic|/usr/share/gnome-shell/theme/gnome-shell.css}}'''
 
 
 
* For '''user themes''', edit '''{{ic|/usr/share/themes/<UserTheme>/gnome-shell/gnome-shell.css}}'''
 
 
 
Edit ''gnome-shell.css''  and replace the following values. Afterward, [[#Restarting the shell|restart the GNOME shell.]]
 
{{hc|gnome-shell.css|<nowiki>
 
...
 
/* Application Launchers and Grid */
 
 
.icon-grid {
 
    spacing: 18px;
 
    -shell-grid-horizontal-item-size: 82px;
 
    -shell-grid-vertical-item-size: 82px;
 
}
 
 
.icon-grid .overview-icon {
 
    icon-size: 48px;
 
}
 
...
 
</nowiki>}}
 
 
 
==== Change dash icon size ====
 
GNOME's Activities view has a dash on the left hand side, the size of the icons in this dash will scale depending on the amount of icons set to display. The scaling can be manipulated or set to a constant icon size. To do so, edit {{ic|/usr/share/gnome-shell/js/ui/dash.js}}.
 
 
 
{{hc|dash.js|<nowiki>
 
...
 
 
 
        let iconSizes = [ 16, 22, 24, 32, 48, 64 ];
 
 
 
...
 
</nowiki>}}
 
 
 
==== Change switcher (alt-tab) icon size ====
 
GNOME comes with a built in task switcher, the size of the icons in this task switcher will scale depending on the amount of icons set to display. The scaling can be manipulated or set to a constant icon size. To do so, edit {{ic|/usr/share/gnome-shell/js/ui/altTab.js}}
 
 
 
{{hc|altTab.js|<nowiki>
 
...
 
 
 
        const iconSizes = [96, 64, 48, 32, 22];
 
 
 
...
 
</nowiki>}}
 
 
 
==== Change system tray icon size ====
 
GNOME comes with a built in system tray, visible when the mouse is hovered over the bottom right corner of the screen. The size of the icons in this tray is set to a fixed value of 24. To change this value, edit {{ic|/usr/share/gnome-shell/js/ui/messageTray.js}}
 
{{hc|messageTray.js|<nowiki>
 
...
 
 
 
    ICON_SIZE: 24,
 
 
 
...
 
</nowiki>}}
 
 
 
==== Disable Activity hot corner hovering ====
 
 
 
To disable automatic activity view when the hot corner is hovered, edit {{ic|/usr/share/gnome-shell/js/ui/layout.js}} (that was ''panel.js'' in GNOME 3.0.x) :
 
{{hc|layout.js|<nowiki>
 
this._corner = new Clutter.Rectangle({ name: 'hot-corner',
 
                                      width: 1,
 
                                      height: 1,
 
                                      opacity: 0,
 
                                      reactive: true });icon-size: 48px;
 
}
 
</nowiki>}}
 
and set {{ic|reactive}} to {{ic|false}}. GNOME Shell needs to be restarted.
 
 
 
{{tip|There are also GNOME Shell extensions that can be installed which will modify this behaviour.}}
 
 
 
==== Disable Message Tray hovering ====
 
 
 
The message tray is shown when the mouse hovers at the bottom of the screen for one second. To disable this behavior, comment out the following line in {{ic|/usr/share/gnome-shell/js/ui/messageTray.js}}:
 
{{hc|messageTray.js|<nowiki>
 
        //pointerWatcher.addWatch(TRAY_DWELL_CHECK_INTERVAL, Lang.bind(this, this._checkTrayDwell));
 
</nowiki>}}
 
GNOME Shell needs to be restarted. The message tray is still visible in activity view.
 
 
 
=== Titlebar ===
 
 
 
==== Reduce title bar height ====
 
* ''' global''' - edit {{ic|/usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml}}, search for {{ic|title_vertical_pad}} and  and reduce its value to a minimum of {{ic|0}}.
 
* '''user-only''' - copy {{ic|/usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml}} to {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}, search for {{ic|title_vertical_pad}} and reduce its value to a minimum of {{ic|0}}.
 
 
 
Then restart the GNOME shell.
 
 
 
To restore the original values, [[pacman|install]] the package {{Pkg|gnome-themes-standard}} from the [[Official Repositories|official repositories]] or remove {{ic|/home/$USER/.themes/Adwaita/metacity-1/metacity-theme-3.xml}}
 
 
 
==== Reorder titlebar buttons ====
 
 
 
At present this setting can be changed through '''dconf-editor.'''
 
 
 
For example, to move the close and minimize buttons to the left side of the titlebar, open '''dconf-editor''' and locate the  '''''org.gnome.shell.overrides.button_layout'''''  key. Change its value to '''{{ic|close,minimize:}}'''  (Colon symbol designates the spacer between left side and right side of the titlebar.) Place the buttons in your preferred order. 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 ====
 
The command below will hide the titlebar when windows are maximised:
 
 
# sed -i -r 's|(<frame_geometry name="max")|\1 has_title="false"|' /usr/share/themes/Adwaita/metacity-1/metacity-theme-3.xml
 
 
 
After entering the command 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 {{ic|Alt+F5}}, {{ic|Alt+F10}} or {{ic|Alt+Space}} to remedy the situation.
 
 
 
To prevent {{ic|metacity-theme-3.xml}} from being overwritten each time package {{pkg|gnome-themes-standard}} is upgraded, add its name to {{ic|/etc/pacman.conf}} with {{ic|NoUpgrade}}.
 
 
 
{{hc|/etc/pacman.conf|<nowiki>... previous lines ...
 
 
 
# Pacman will not 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 ...</nowiki>}}
 
 
 
To restore original Adwaita theme values, install the {{pkg|gnome-themes-standard}} package.
 
 
 
== Miscellaneous settings ==
 
 
 
=== Power Management ===
 
 
 
==== Prevent Suspend-To-RAM (S3) when closing the LID ====
 
This setting is not exposed in GNOME's ''System Settings'' or in ''dconf''. The current approach is to manage this on the level of [[Systemd]]. Change the variable '''HandleLidSwitch''' to '''ignore''' in {{ic|/etc/systemd/logind.conf}}
 
 
 
{{hc|/etc/systemd/logind.conf|HandleLidSwitch&#61;ignore}}
 
 
 
See the [[Power_Management#ACPI_events]] article for more information.
 
   
 
{{note|Ensure that the '''HandleLidSwitch''' entry is uncommented or the setting will not take effect.}}
 
 
 
==== No reaction on lid close ====
 
 
 
When configuring the lid close events via [[Systemd#ACPI_power_management]], the settings may seem to have no effect. If you have an external monitor connected to your laptop, this is default GNOME behaviour. Disconnect the monitor and the settings should work, otherwise your {{ic|/etc/systemd/logind.conf}} may be incorrect.
 
 
 
==== Change Critical Battery Level Action (for Laptops) ====
 
 
 
The ''System Settings'' panel only allows the user to choose between ''Suspend'' or ''Hibernate''. To choose another option such as ''Do Nothing'' open the {{ic|dconf-editor}} and navigate to -> org -> gnome -> settings-daemon -> plugins -> power. Edit the "critical-battery-action" value to "nothing".
 
 
 
=== Switch back scrolling behavior ===
 
If you do not like the new scrollbar behavior just put {{ic|<nowiki>gtk-primary-button-warps-slider = false</nowiki>}} under the {{ic|<nowiki>[Settings]</nowiki>}} section in {{ic|~/.config/gtk-3.0/settings.ini}}:
 
  
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
 
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
 
[Settings]
 
[Settings]
gtk-primary-button-warps-slider = false
+
gtk-theme-name = Adwaita
...
+
# 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
 
</nowiki>}}
 
</nowiki>}}
  
=== Autostarting / Automatic program launch upon logging in ===
+
Additional theme locations:
 
+
* [http://www.deviantart.com/browse/all/customization/skins/linuxutil/desktopenv/gnome/gtk3/ DeviantArt].
Specify which programs start automatically after logging in using {{ic|gnome-session-properties}}. This tool is part of the {{Pkg|gnome-session}} package.
+
* [http://gnome-look.org/index.php?xcontentmode=167 gnome-look.org].
 
+
* [https://aur.archlinux.org/packages.php?O=0&K=gtk3&do_Search=Go GTK+ 3 themes in the AUR].
$ gnome-session-properties
+
* [https://aur.archlinux.org/packages.php?O=0&K=xcursor&do_Search=Go&PP=50&SB=v&SO=d Cursor themes in the AUR].
 
+
* [https://aur.archlinux.org/packages.php?O=0&K=icon-theme&do_Search=Go&PP=50&SB=v&SO=d Icon themes in the AUR].
=== Editing applications menu ===
 
 
 
{{pkg|gnome-menus}} provides ''gmenu-simple-editor'' which can show/hide menu entries.
 
 
 
{{pkg|alacarte}} provides a more complete menu editor for adding/editing menu entries.
 
 
 
=== Inner padding in Gnome Terminal===
 
To move the terminal output away from the window borders create the stylesheet {{ic|~/.config/gtk-3.0/gtk.css}} with the following setting:
 
 
 
    TerminalScreen {
 
      -VteTerminal-inner-border: 10px 10px 10px 10px;
 
    }
 
 
 
=== Disable blinking cursor in Terminal ===
 
Since Gnome 3.8 and the migration to gsettings and dconf the key required to modify in order to disable the blinking cursor in the Terminal differs slightly in contrast to the old gconf key. To disable the blinking cursor in Gnome 3.8 use:
 
 
 
gsettings set org.gnome.desktop.interface cursor-blink false
 
 
 
If you prefer dconf to the gsettings CLI then open {{ic|dconf-editor}} and expand expand org -> gnome -> desktop -> interface and untick the option labelled '''Cursor Blink'''.
 
 
 
=== Make new tabs inherit current directory in Gnome Terminal (3.8+) ===
 
In Gnome 3.8, the behaviour of how current directories are tracked has changed. To restore this behaviour, you need to source the {{ic|/etc/profile.d/vte.sh}} file, put this in your {{ic|~/.bashrc}} or {{ic|~/.zshrc}} for zsh users:
 
 
 
    source /etc/profile.d/vte.sh
 
  
For more information refer to the [https://wiki.gnome.org/action/show/Apps/Terminal/FAQ?action=show&redirect=Terminal%252FFAQ#How_can_I_make_new_terminals_start_in_the_working_directory_of_the_current_terminal.3F Gnome wiki]
+
Once installed, they can be selected using the GNOME Tweak Tool or GSettings - see below for GSettings commands:
  
=== Move dialog windows ===
+
For the GTK+ theme:
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:
+
$ gsettings set org.gnome.desktop.interface gtk-theme ''theme-name''
  
  /desktop/gnome/shell/windows/attach_modal_dialogs
+
For the icon theme
 +
  $ gsettings set org.gnome.desktop.interface icon-theme ''theme-name''
  
After the change you will need to restart the shell for it to take affect.
+
====== Global dark theme ======
  
=== Show context menu icons ===
+
GNOME will use the Adwaita light theme by default however a dark variant of this theme (called the Global Dark Theme) also exists and can be selected using the Tweak Tool or by editing the GTK+ 3 settings file - see [[GTK+#Dark theme variant]]. Some applications such as Image Viewer (''eog'') use the dark theme by default. It should be noted that the Global Dark Theme only works with GTK+ 3 applications; some GTK+ 3 applications may only have partial support for the Global Dark theme. Qt and GTK+ 2 support for the Global Dark Theme may be added in the future.
Some programs do have context menu icons which, however, are disabled by default to show up in Gnome. In order to show them set {{ic| org.gnome.desktop.interface menus-have-icons}} to true.
 
  
=== GNOME shell extensions ===
+
===== Window manager themes =====
  
GNOME Shell can be customized with extensions. These provide features such as a dock or a widget for changing the theme.
+
The window manager theme follows the GTK+ theme. Using {{ic|org.gnome.desktop.wm.preferences theme}} is deprecated and ignored.
  
Many extensions are collected and hosted by [https://extensions.gnome.org/ extensions.gnome.org]. They can be browsed and installed simply activating them in the browser. More information about gnome shell extensions can be found [https://extensions.gnome.org/about/ here].
+
====== Titlebar height ======
  
See [[#When an extension breaks GNOME|when an extension breaks GNOME]] for troubleshooting information.
+
{{Note|Applying this configuration shrinks the titlebar of the GNOME-terminal and Chromium, but does not appear to affect the Nautilus titlebar height.}}
  
=== Default file browser/replace Nautilus ===
+
{{hc|~/.config/gtk-3.0/gtk.css|
 +
headerbar.default-decoration {
 +
padding-top: 0px;
 +
padding-bottom: 0px;
 +
min-height: 0px;
 +
font-size: 0.6em;
 +
}
  
You can trick GNOME into using another file browser by editing the {{ic|Exec}} line in {{ic|/usr/share/applications/nautilus.desktop}}. See the correct parameters in the {{ic|.desktop}} file of the file manager of your choice, e.g.:
+
headerbar.default-decoration button.titlebutton {
{{hc|/usr/share/applications/nautilus.desktop|
+
padding: 0px;
2=[...]
+
min-height: 0px;
Exec=thunar %F
+
}
OR
 
Exec=pcmanfm %U
 
OR
 
Exec=nemo %U
 
[...]
 
 
}}
 
}}
 +
See [https://ask.fedoraproject.org/en/question/10035/shrink-title-bar/?answer=86149#post-id-86149] for more information.
  
=== Default PDF viewer ===
+
====== Titlebar button order ======
In some cases when you have installed Inkscape or other graphic programs Evince Document Viewer might no longer be selected as the default PDF application. If it is not available in the '''Open With''' entry which would be the GUI solution, you can use the following user command to make it the default application again.
 
  
  xdg-mime default evince.desktop application/pdf
+
To set the order for the GNOME window manager (Mutter, Metacity):
 +
  $ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
  
=== Default terminal ===
+
{{Tip|The colon indicates which side of the titlebar the window buttons will appear.}}
  
{{ic|gsettings}} (which replaces {{ic|gconftool-2}}) is used to set the default terminal. The setting affects ''nautilus-open-terminal'' (a Nautilus extension).
+
====== Hide titlebar when maximized ======
To make [[rxvt-unicode|urxvt]] the default, run:
 
  
gsettings set org.gnome.desktop.default-applications.terminal exec urxvtc
+
*[[Install]] {{AUR|gnome-shell-extension-pixel-saver-git}} or {{AUR|gnome-shell-extension-pixel-saver}}. Maximized windows get the title bar merged into the activity bar, saving precious pixels.
gsettings set org.gnome.desktop.default-applications.terminal exec-arg "'-e'"
 
  
{{Note|The {{ic|-e}} flag is for executing a command. When ''nautilus-open-terminal'' invokes {{ic|urxvtc}}, it puts a {{ic|cd}} command at the end of the command line so that the new terminal starts in the directory you opened it from. Other terminals will require a different (perhaps empty) {{ic|exec-arg}}.}}
+
*[[Install]] {{AUR|mutter-hide-legacy-decorations}}. It changes a default setting in the window manager, so as to automatically hide the titlebar on legacy (non-headerbar) apps when they are maximized or tiled to the side.
  
=== Default Applications ===
+
*[[Install]] {{AUR|maximus}}. To start the application, execute ''maximus'' from a terminal. When running, the daemon will automatically maximize windows. It will undecorate maximized windows and redecorate them when they are unmaximized. If you do not want all windows to start maximized, run {{ic|maximus -m}} instead. Note that this will only work with windows decorated by the window manager; applications that use client-side decoration such as [[GNOME Files]] will not be undecorated when maximized.
  
While one can right click any file and set the default applications in 'Preferences', the settings are actually saved in {{ic | $HOME/.local/share/applications/mimeapps.list}} and {{ic| $HOME/.local/share/applications/mimeinfo.cache}}
+
===== GNOME Shell themes =====
  
For systemwide preferences create or edit the file {{ic|/usr/share/applications/mimeapps.list}}.
+
The theme of GNOME Shell itself is configurable. To use a Shell theme, firstly ensure that you have the {{Pkg|gnome-shell-extensions}} package installed. Then enable the ''User Themes'' extension, either through GNOME Tweak Tool or through the [https://extensions.gnome.org GNOME Shell Extensions] webpage. Shell themes can then be loaded and selected using the GNOME Tweak Tool.
  
=== Default web browser for other applications ===
+
There are a number of GNOME Shell themes available [https://aur.archlinux.org/packages.php?O=0&K=gnome-shell-theme&do_Search=Go&PP=50&SB=v&SO=d in the AUR].
  
To configure the web browser used by the AUR package {{AUR|gnome-gmail-notifier}}, open gconf-editor
+
Shell themes can also be downloaded from [http://gnome-look.org/index.php?xcontentmode=191 gnome-look.org].
and edit the {{ic|/desktop/gnome/url-handlers/http/}} key. You may want to change {{ic|https/}}, {{ic|about/}}, and {{ic|unknown/}} keys while you are at it.
 
  
=== Middle mouse button ===
+
===== Icons on menu =====
  
By default, GNOME 3 disables middle mouse button emulation regardless of [[Xorg]] settings ('''Emulate3Buttons'''). To enable middle mouse button emulation use:
+
The default GNOME schema doesn't display any icon on menus. To display icons on menus, issue the following command.
  
  $ gsettings set org.gnome.settings-daemon.peripherals.mouse middle-button-enabled true
+
  $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"
  
=== Display dimming ===
+
==== Desktop ====
  
By default GNOME 3 has a ten second idle timeout to dim the screen regardless of the battery and AC state:
+
Various Desktop settings can be applied.
  
gsettings get org.gnome.settings-daemon.plugins.power idle-dim-time
+
===== Icons on the Desktop =====
  
To set a new value type the following
+
See [[GNOME/Files#Desktop Icons]].
  
gsettings set org.gnome.settings-daemon.plugins.power idle-dim-time <int>
+
===== Lock screen and background =====
  
where <int> is the value in seconds
+
When setting the Desktop or Lock screen background, it is important to note that the Pictures tab will only display pictures located in {{ic|/home/''username''/Pictures}} folder. If you wish to use a picture not located in this folder, use the commands indicated below.
  
=== Changing hotkeys ===
+
For the desktop background:
Certain hotkeys cannot be changed directly via Settings -> Keyboard -> Shortcuts. In order to change these keys, use dconf-editor. An example of particular note is the hotkey Alt-Above_Tab. On US keyboards, this is Alt-`: is a hotkey often used in the [[Emacs]] editor. It can be changed by opening dconf-editor and modifying the ''switch-group'' key found in {{ic|org.gnome.desktop.wm.keybindings}}.
+
$ gsettings set org.gnome.desktop.background picture-uri 'file:///path/to/my/picture.jpg'
  
It is 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 ~/.config/nautilus/accels and ~/.gnome2/accels/nautilus on old release.
+
For the lock screen background
 +
$ gsettings set org.gnome.desktop.screensaver picture-uri 'file:///path/to/my/picture.jpg'
  
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.
+
==== Extensions ====
For example to replace the hotkey used by Nautilus to move files to the trash folder, change the line :
 
; (gtk_accel_path "<Actions>/DirViewActions/Trash" "<Primary>Delete")
 
to this :
 
(gtk_accel_path "<Actions>/DirViewActions/Trash" "Delete")
 
  
The file is regenerate regularly so do not waist time on commenting the file. The uncommented line will stay but every comment you may add will be lost.
+
{{Note|The GNOME Shell browser plugin which allows users to install extensions from [https://extensions.gnome.org extensions.gnome.org] works out-of-the-box for browsers such as [[GNOME/Web]]. For [[Firefox]], Google Chrome/Chromium, Opera and Vivaldi browsers, it is required to install {{AUR|chrome-gnome-shell-git}} and the appropriate browser extension.}}
  
==== Nautilus 3.4 and older ====
+
GNOME Shell can be customized with extensions per user or system-wide.  
Firstly, use '''dconf-editor''' to place a checkmark next to {{ic|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 catalogue of extensions is available at [https://extensions.gnome.org extensions.gnome.org]. By a user they can be installed and activated in the browser by setting the switch in the top left of the screen to '''ON''' and clicking '''Install''' on the resulting dialog (if the extension in question is not installed). After installation it is shown in the [https://extensions.gnome.org/local/ extensions.gnome.org/local/] tab, which has to be visited as well to check for available updates. Installed extensions can also be enabled or disabled using {{Pkg|gnome-tweak-tool}}.  
The default assignment is a somewhat-awkward {{ic|Ctrl+Delete}}.
 
* Open Nautilus, select any file, and click '''Edit''' on the menu bar.
 
* Hover over the ''Move to Trash'' menu item.
 
* While hovering, press {{ic|Delete}}. The current accelerator is now unset.
 
* Press the key that you wish to become the new keyboard accelerator.
 
* Press {{ic|Delete}} 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 {{ic|can-change-accels}} to prevent accidental hotkey changes.
 
  
=== Screencast recording ===
+
More information about GNOME shell extensions is available on the [https://extensions.gnome.org/about/ GNOME Shell Extensions about page].
  
Gnome features the built-in possbility to create screencasts easily. Thereby Control+Shift+Alt+R keybinding starts and stops the recording. A red circle is displayed in the bottom right corner of the screen when the recording is in progress. After the recording is finished, a file named 'Screencast from %d%u-%c.webm' is saved in the Videos directory. In order to use the screencast feature you need to have installed the gst plugins which are:
+
[[Installing]] extensions via a package makes them available for all users of the system and automates the update process.  
  
$ pacman -Qs gst
+
The {{Pkg|gnome-shell-extensions}} package provides a set of extensions maintained as part of the GNOME project (many of the included extensions are used by the GNOME Classic session).
  
=== Modify Keyboard with XkbOptions ===
+
Users who want a taskbar but do not wish to use the GNOME Classic session may want to enable the ''Window list'' extension (provided by the {{Pkg|gnome-shell-extensions}} package).
  
Using the '''dconf-editor''', navigate to the key named ''org.gnome.desktop.input-sources.xkb-options'' and add desired XkbOptions (e.g. 'caps:swapescape') to the list.
+
Listing currently enabled extensions can be achieved with:
 +
$ gsettings get org.gnome.shell enabled-extensions
  
See /usr/share/X11/xkb/rules/xorg for all XkbOptions and then /usr/share/X11/xkb/symbols/* for the respective descriptions.
+
==== Input methods ====
  
{{Note|To enable the {{ic|Ctrl+Alt+Backspace}} combination to terminate Xorg, use the {{Pkg|gnome-tweak-tool}} from [[official repositories]]. Within the Gnome Tweak Tool, navigate to ''Typing > Terminate'' and select the option {{ic|Ctrl+Alt+Backspace}} from the dropdown menu.}}
+
GNOME has integrated support for input methods through [[IBus]], only {{Pkg|ibus}} and the wanted input method engine (e.g. {{Pkg|ibus-libpinyin}} for Intelligent Pinyin) needed to be installed, after installation the input method engine can be added as a keyboard layout in GNOME's Regional & Language Settings.
  
=== Toggle keyboard layouts ===
+
==== Fonts ====
Since Gnome does not consider any configuration in {{ic|/etc/X11/conf.d/*.conf}} you have to set the command for layout switching either via the control center with the options ''Switch to previous source'' and ''Switch to next source'' or if you want to use Alt - Shift combination you have to use the Gnome-Tweak-Tool and set  ''Typing -> Modifiers-only input sources -> select Alt-shift''. For more information see also the forum [https://bbs.archlinux.org/viewtopic.php?id=152127 thread].
 
  
=== Other tips ===
+
{{Tip|If you set the ''Scaling factor'' to a value above 1.00, the Accessibility menu will be automatically enabled.}}
See [[GNOME Tips]].
 
  
== Tracker (search program) ==
+
Fonts can be set for Window titles, Interface (applications), Documents and Monospace. See the Fonts tab in the Tweak Tool for the relevant options.
The {{Pkg|tracker}} provides the Tracker program, an indexing application. You can configure it with {{ic|tracker-preferences}}, and monitor status with {{ic|tracker-control}}. Once installed, indexing should start automatically when you log in. You can explicitly start indexing with {{ic|tracker-control -s}}. Search settings can also be configured in the ''System Settings'' panel.
 
  
== Totem (movie player) ==
+
For hinting, RGBA will likely be desired as this fits most monitors types, and if fonts appear too blocked reduce hinting to ''Slight'' or ''None''.
  
Totem is a movie player based on [[GStreamer]]. For information about adding codecs or hardware acceleration, see [[GStreamer]].
+
==== Startup applications ====
  
== Empathy (integrated messaging) ==
+
To start certain applications on login, copy the relevant {{ic|.desktop}} file from {{ic|/usr/share/applications/}} to {{ic|~/.config/autostart/}}.
  
Empathy, the engine behind integrated messaging, and all system settings based on messaging accounts will not show up unless the {{grp|telepathy}} group of packages or at least one of the backends ({{pkg|telepathy-gabble}}, or {{pkg|telepathy-haze}}, for example) is installed.
+
The {{Pkg|gnome-tweak-tool}} allows managing autostart-entries.
  
These packages are not included in default Arch GNOME installs. You can install the Telepathy and optionally any backends with:
+
{{Tip|If the plus sign button in the Tweak Tool's Startup Applications section is unresponsive, try start the Tweak Tool from the terminal using the following command: {{ic|gnome-tweak-tool}}. See the following [https://bbs.archlinux.org/viewtopic.php?pid&#61;1413631#p1413631 forum thread].}}
  
# pacman -S telepathy
+
{{Note|The deprecated ''gnome-session-properties'' dialog can be added by [[install]]ing the {{AUR|gnome-session-properties}} package.}}
  
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 {{ic|/usr/bin/empathy-accounts}} application can remain running and will need to be killed before you can add any new accounts.
+
==== Power ====
  
View descriptions of telepathy components on the [http://telepathy.freedesktop.org/wiki/Components Freedesktop.org Telepathy Wiki.]
+
When you are using a laptop you might want to alter the following settings:
  
== Troubleshooting ==
+
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout ''3600''
 +
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type ''hibernate''
 +
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout ''1800''
 +
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type ''hibernate''
 +
$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action ''suspend''
 +
$ gsettings set org.gnome.desktop.lockdown disable-lock-screen ''true''
  
=== Cannot change settings in dconf-editor ===
+
To keep the monitor active when the lid is closed:
  
When one cannot set settings in {{pkg|dconf}}, it is possible their dconf user settings are corrupt. In this case it is best to delete the user dconf files in {{ic|~/.config/dconf/user*}} and set the settings in dconf-editor after.
+
$ gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup do-nothing
  
=== When an extension breaks GNOME ===
+
GNOME 3.24 deprecated the following settings:
  
When enabling shell extensions causes GNOME breakage, you should first remove the ''user-theme'' and ''auto-move-windows'' extensions from their installation directory.
+
org.gnome.settings-daemon.plugins.power button-hibernate
 +
org.gnome.settings-daemon.plugins.power button-power
 +
org.gnome.settings-daemon.plugins.power button-sleep
 +
org.gnome.settings-daemon.plugins.power button-suspend
 +
org.gnome.settings-daemon.plugins.power critical-battery-action
  
The installation directory could be one of '''{{ic|~/.local/share/gnome‑shell/extensions,}}''' '''{{ic|/usr/share/gnome‑shell/extensions,}}''' or '''{{ic|/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.
+
===== Configure behaviour on lid switch close =====
  
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 [https://live.gnome.org/GnomeShell/Extensions GNOME web site.]
+
The GNOME Tweak Tool can optionally ''inhibit'' the ''systemd'' setting for the lid close ACPI event.[http://ftp.gnome.org/pub/GNOME/sources/gnome-tweak-tool/3.17/gnome-tweak-tool-3.17.1.news] To ''inhibit'' the setting, start the tweak tool and, under the power tab, check the ''Don't suspend on lid close'' option. This means that the system will do nothing on lid close instead of suspending - the default behaviour. Checking the setting creates {{ic|~/.config/autostart/ignore-lid-switch-tweak.desktop}} which will autostart the Tweak Tool's inhibitor.
  
=== Extensions do not work after GNOME 3 update ===
+
If you do not want the system to suspend or do nothing on lid close, you will need to ensure that the setting described above is '''not''' checked and then configure ''systemd'' with {{ic|1=HandleLidSwitch=''preferred_behaviour''}} as described in [[Power management#ACPI events]].
  
Locate the folder where your extensions are installed. It might be '''{{ic|~/.local/share/gnome-shell/extensions}}''' or '''{{ic|/usr/share/gnome-shell/extensions}}'''.
+
===== Change critical battery level action =====
  
Edit each occurrence of  '''{{ic|metadata.json}}'''  which appears in each extension sub-folder.  
+
The settings panel does not provide an option for changing the critical battery level action. These settings have been removed from dconf as well. They are now managed by upower. Edit the upower settings in {{ic|/etc/UPower/UPower.conf}}. Find these settings and adjust to your needs.
  
{| border="0"
+
{{hc|head=/etc/UPower/UPower.conf|output=
| Insert: || '''{{ic|"shell-version": ["3.6"]}}'''
+
PercentageLow=10
|-
+
PercentageCritical=3
| Instead of (for example):  || '''{{ic|"shell-version": ["3.4"]}}'''
+
PercentageAction=2
|}
+
CriticalPowerAction=HybridSleep
 
+
}}
'''"3.x"''' indicates the extension works with every Shell version. If it breaks, you will know to change it back.
 
 
 
=== Remove Gnome Shell Extensions ===
 
 
 
If you have trouble with uninstalling Gnome Extensions via https://extensions.gnome.org/local/, then probably they have been installed as system-wide extensions with {{ic|pacman -S gnome-shell-extensions}} before. To remove them, you have to be careful, because the following instruction removes all extensions from other user's, too.
 
{{ic|pacman -R gnome-shell-extensions}}
 
Following that, you refresh Gnome Shell by pressing ALT+F2 and entering {{ic|restart}}
 
 
 
Then go to https://extensions.gnome.org/local/ again and have a look for your installed extensions list. It should have changed.
 
 
 
All other extensions should be removable by pressing the red X icon to the right. If not, something may be broken.
 
 
 
As a final step, you can remove them manually from {{ic|~/.local/share/gnome-shell/extensions/*}} and/or {{ic|/usr/share/gnome-shell/extensions}}. Restart Gnome Shell again and you should be fine.
 
 
 
=== The "Windows" key ===
 
By default, this key is mapped to the "overlay-key" to launch the Overview. You can remove this key mapping to free up your {{ic|Windows Key}} (also called {{ic|Mod4}}), which GNOME calls {{ic|Super_L}}, by utilizing {{ic|gsettings}}.
 
 
 
Example:
 
{{ic| gsettings set org.gnome.mutter overlay-key 'Foo';}}.
 
You can leave out '''Foo''' to simply remove any binding to that function.
 
 
 
{{Note| GNOME also uses {{ic|Alt+F1}} to launch the Overview.}}
 
 
 
=== Keyboard Shortcut do not work with only conky running ===
 
The gnome-shell keyboard shortcuts like {{ic|Alt+F2}}, {{ic|Alt+F1}}, and the media key shortcuts do not work if conky is the only program running. However if another application like gedit is running, then the keyboard shortcuts work.
 
 
 
solution: edit .conkyrc
 
 
 
own_window yes
 
own_window_transparent yes
 
own_window_argb_visual yes
 
own_window_type dock
 
own_window_class Conky
 
own_window_hints undecorated,below,sticky,skip_taskbar,skip_pager
 
 
 
=== Window opens behind other windows when using multiple monitors ===
 
 
 
This is possibly a bug in GNOME Shell which 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 {{ic|/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);
 
 
 
=== "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:
+
==== Sort applications into application (app) folders ====
 
 
System Settings --> Keyboard --> Shortcuts --> Navigation --> Hide all normal windows
 
 
 
=== Nautilus does not start ===
 
 
 
# Press {{ic|Alt+F2}}
 
# Enter {{ic|gnome-tweak-tool}}
 
# Select the ''File Manager'' tab.
 
# Locate option ''Have file manager handle the desktop'' and assure it is toggled '''off'''.
 
 
 
=== 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 cannot unlock it. If the touchpad gets locked you can do the following to unlock it.
 
# Start a terminal. You can do this by pressing {{ic|Alt+F2}}, then typing {{ic|gnome-terminal}} followed by pressing {{ic|Enter}}.
 
# Type in the following command
 
$ xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 1
 
 
 
=== "Any command has been defined 33" ===
 
 
 
When you press the {{ic|Print Screen}} key (sometimes labeled {{ic|PrntScr}} or {{ic|PrtSc}}) to take a screenshot, and you got "Any command has been defined 33", [[pacman|install]] {{Pkg|metacity}}.
 
 
 
=== GDM and GNOME use X11 cursors ===
 
 
 
To fix this problem, become root and put the following into {{ic|/usr/share/icons/default/index.theme}} (creating the directory {{ic|/usr/share/icons/default}} if necessary):
 
{{hc|/usr/share/icons/default/index.theme|<nowiki>
 
[Icon Theme]
 
Inherits=Adwaita
 
</nowiki>}}
 
  
Note: Instead of "Adwaita", you can choose another cursor theme (e.g. Human).
+
{{Tip|The [https://github.com/prurigro/gnome-catgen gnome-catgen] ({{AUR|gnome-catgen-git}}) script allows you to manage folders through the creation of files in {{ic|~/.local/share/applications-categories}} named after each category and containing a list of the desktop files belonging to apps you would like to have inside. Optionally, you can have it cycle through each app without a folder and input the desired category until you ctrl-c or run out of apps.}}
  
=== Tracker & Documents do not list any local files ===
+
In the '''dconf-editor''' navigate to {{ic|org.gnome.desktop.app-folders}} and set the value of {{ic|folder-children}} to an array of comma separated folder names:
  
In order for Tracker (and, therefore, Documents) to detect your local files, they must be stored in directories that it knows of. If your documents are contained in one of the usual XDG standard directories (i.e. "Documents" or "Music"), you should install {{Pkg|xdg-user-dirs}} and run:
+
['Utilities', 'Sundry']
  
  # xdg-user-dirs-update
+
Add applications using {{ic|gsettings}}:
  
This will create all of the usual XDG home directories if they do not already exist and it will create the config file definining these directories that Tracker and Documents depend upon.
+
$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ apps "['alacarte.desktop', 'dconf-editor.desktop']"
  
=== Passwords are not remembered ===
+
This adds the applications {{ic|alacarte.desktop}} and {{ic|dconf-editor.desktop}} to the Sundry folder.  This will also create the folder {{ic|org.gnome.desktop.app-folders.folders.Sundry}}.
  
If you get a password prompt every time you login, and you find password are not saved, you might need to create/set a default keyring:
+
To name the folder (if it has no name that appears at the top of the applications):
  
Install {{pkg|seahorse}}. Open "Passwords and Keys" from the menu or run {{ic|seahorse}}. Select View > By Keyring. If there is no keyring in the left column (it will be marked with a lock icon), go to File > New > Password Keyring and give it a nice name. You will be asked to enter a password. If you do not give it a password it will be unlocked automatically even when using autologin, but passwords will not be stored securely. Finally, right-click on the keyring you just created and select "Set as default".
+
$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ name "Sundry"
  
=== Windows cannot be modified with Alt-Key + Mouse-Button ===
+
Applications can also be sorted by their category (specified in their ''.desktop'' file):
  
Change the dconf-setting "org.gnome.desktop.wm.preferences.mouse-button-modifier" from <Super> back to <Alt>. It is not possible to change this with ''System Settings'' > "Keyboard" > "Shortcuts", you will find there only the regular keybindings. The developers of GNOME decided to change this from 3.4 to 3.6 because of this bug report https://bugzilla.gnome.org/show_bug.cgi?id=607797
+
$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ categories "['Office']"
  
=== Gnome-shell 3.8.x fails to load with a black screen + cursor ===
+
If certain applications matching a category are not wanted in a certain folder, exclusions can be set:
  
If you have a non-UTF8 language enabled, Gnome 3 can fail to load. Disable non-UTF-8 locales and perform a locale-gen until this is resolved.
+
$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ excluded-apps "['libreoffice-draw.desktop']"
For more information see this bug report: https://bugzilla.gnome.org/show_bug.cgi?id=698952
 
  
=== Gnome 3.10 UI elements scale incorrectly ===
+
For further information, refer to the [https://git.gnome.org/browse/gsettings-desktop-schemas/tree/schemas/org.gnome.desktop.app-folders.gschema.xml.in app-folders schema].
  
With 3.10 Gnome introduced HDPI support. If your displays EDID info does not contain the correct screen size, but the resolution is right, this can lead to incorrectly scaled UI elements. As a workaround you can open dconf-editor and find the key {{ic|scaling-factor}} in {{ic|org.gnome.desktop.interface}}. Set it to 1 to get the standard scale.
+
== See also ==
  
== External links ==
+
* [https://www.gnome.org/ The Official Website of GNOME]
* [http://www.gnome.org/ The Official Website of GNOME]
+
* [https://extensions.gnome.org/ Extensions for GNOME-shell]
* [http://extensions.gnome.org/ Extensions for GNOME-shell]
+
* [https://wiki.gnome.org/Projects/GnomeShell/CheatSheet GNOME Shell Cheat Sheet], commands, keyboard shortcuts and other tips for using GNOME Shell.
 
* Themes, icons, and backgrounds:
 
* Themes, icons, and backgrounds:
** [http://art.gnome.org/ GNOME Art]
+
** [https://wiki.gnome.org/Personalization Personalize GNOME]
** [http://www.gnome-look.org/ GNOME Look]
+
** [https://www.gnome-look.org/ GNOME Look]
* GTK/GNOME programs:
+
* GTK+/GNOME programs:
** [http://www.gnomefiles.org/ GNOME Files]
+
** [https://wiki.gnome.org/Apps GNOME Apps Index]
** [http://www.gnome.org/projects/ GNOME Project Listing]
+
* [http://blog.fpmurphy.com/2011/03/customizing-the-gnome-3-shell.html Customizing the GNOME Shell]
 +
* GNOME Source/Mirrors:
 +
** [https://git.gnome.org/browse/ GNOME Git Repository]
 +
** [https://github.com/GNOME GNOME Github Mirror]

Latest revision as of 12:47, 23 September 2017

GNOME (pronounced gah-nohm or nohm) is a desktop environment that aims to be simple and easy to use. It is designed by The GNOME Project and is composed entirely of free and open-source software. GNOME is a part of the GNU Project. The default display is Wayland instead of Xorg.

Installation

Two groups are available:

  • gnome contains the base GNOME desktop and a subset of well-integrated applications;
  • gnome-extra contains further GNOME applications, including an archive manager, disk manager, text editor, and a set of games. Note that this group builds on the gnome group.

The base desktop consists of GNOME Shell, a plugin for the Mutter window manager. It can be installed separately with gnome-shell.

Note: mutter acts as a composite manager for the desktop, employing hardware graphics acceleration to provide effects aimed at reducing screen clutter. The GNOME session manager automatically detects if your video driver is capable of running GNOME Shell and if not, falls back to software rendering using llvmpipe.

Additional packages

These packages are not in the above mentioned groups:

  • Boxes — A simple user interface to access libvirt virtual machines.
https://wiki.gnome.org/Apps/Boxes || gnome-boxes
  • Games — Simple game launcher for GNOME.
https://wiki.gnome.org/Apps/Games || gnome-games
  • GNOME Initial Setup — A simple, easy, and safe way to prepare a new system.
https://github.com/GNOME/gnome-initial-setup || gnome-initial-setup
  • GNOME MultiWriter — Write an ISO file to multiple USB devices at once.
https://wiki.gnome.org/Apps/MultiWriter || gnome-multi-writer
  • GNOME PackageKit — Collection of graphical tools for PackageKit to be used in the GNOME desktop.
https://github.com/GNOME/gnome-packagekit || gnome-packagekit
https://wiki.gnome.org/Apps/Nemiver || nemiver
  • Recipes — Recipe management application for GNOME.
https://wiki.gnome.org/Apps/Recipes || gnome-recipes
  • Simple Scan — Simple scanning utility.
https://launchpad.net/simple-scan || simple-scan
  • Software — Lets you install and update applications and system extensions.
https://wiki.gnome.org/Apps/Software/ || gnome-software

GNOME Sessions

GNOME has three available sessions, all using GNOME Shell.

  • GNOME is the default which uses Wayland. Traditional X applications are run through Xwayland.
  • GNOME Classic is a traditional desktop layout with a similar interface to GNOME 2, using pre-activated extensions and parameters. [1] Hence it is more a customized GNOME Shell than a truly distinct mode.
  • GNOME on Xorg runs GNOME Shell using Xorg.

Starting GNOME

GNOME can be started either graphically, using a display manager, or manually from the console.

Note: Support for screen locking in GNOME is provided by GDM. If GNOME is not started using GDM, you will have to use another screen locker to provide this functionality - see List of applications/Security#Screen lockers.

Graphically

Select the session: GNOME, GNOME Classic, or GNOME on Xorg from the display manager's session menu.

Manually

Xorg sessions

  • For the GNOME on Xorg session, add to the ~/.xinitrc file: exec gnome-session.
  • For the GNOME Classic session, add to the ~/.xinitrc file:
    export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
    export GNOME_SHELL_SESSION_MODE=classic
    exec gnome-session --session=gnome-classic

After editing the ~/.xinitrc file, GNOME can be launched with the startx command (see xinitrc for additional details, such as preserving the logind session). After setting up the ~/.xinitrc file it can also be arranged to Start X at login.

Wayland sessions

Note:
  • An X server—provided by the xorg-server-xwayland package—is still necessary to run applications that have not yet been ported to Wayland.
  • Wayland with the proprietary NVIDIA driver currently suffers from very poor performance: FS#53284.

Manually starting a Wayland session is possible with XDG_SESSION_TYPE=wayland dbus-run-session gnome-session.

To start on login to tty1, add the following to your .bash_profile:

if [[ -z $DISPLAY ]] && [[ $(tty) = /dev/tty1 ]] && [[ -z $XDG_SESSION_TYPE ]]; then
  XDG_SESSION_TYPE=wayland exec dbus-run-session gnome-session
fi

GNOME applications in Wayland

When the GNOME session is used, GNOME applications will be run using Wayland. See the current status of Wayland for GNOME applications at GNOME Applications under Wayland. For debugging cases, the GTK+ manual lists options and environment variables.

Navigation

To learn how to use the GNOME shell effectively read the GNOME Shell Cheat Sheet; it highlights GNOME shell features and keyboard shortcuts. Features include task switching, keyboard use, window control, the panel, overview mode, and more. A few of the shortcuts are:

  • Super + m: show message tray
  • Super + a: show applications menu
  • Alt- + Tab: cycle active applications
  • Alt- + ` (the key above Tab on US keyboard layouts): cycle windows of the application in the foreground
  • Alt + F2, then enter r or restart: restart the shell in case of graphical shell problems (only in X/legacy mode, not in Wayland mode).

Legacy names

Note: Some GNOME programs have undergone name changes where the application's name in documentation and about dialogs has been changed but the executable name has not. A few such applications are listed in the table below.
Tip: Searching for the legacy name of an application in the Shell search bar will successfully return the application in question. For instance, searching for nautilus will return Files.
Current Legacy
Files Nautilus
Web Epiphany
Videos Totem
Main Menu Alacarte
Document Viewer Evince
Disk Usage Analyser Baobab
Image Viewer EoG (Eye of GNOME)
Passwords and Keys Seahorse

Configuration

The GNOME System Settings panel (gnome-control-center) and GNOME applications use the dconf configuration system to store their settings.

You can directly access the dconf database using the gsettings or dconf command line tools. This also allows you to configure settings not exposed by the user interfaces.

Up until GNOME 3.24 settings were applied by the GNOME settings daemon, which could be run outside of a GNOME session using:

$ nohup /usr/lib/gnome-settings-daemon/gnome-settings-daemon > /dev/null &

GNOME 3.24 however replaced the GNOME settings daemon with several separate settings plugins /usr/lib/gnome-settings-daemon/gsd-*. These plugins are now controlled via desktop files under /etc/xdg/autostart (org.gnome.SettingsDaemon.*.desktop). To run these plugins outside of a GNOME session you will now need to copy/edit the appropriate desktop entries to ~/.config/autostart.

The configuration is usually performed user-specific, this section does not cover how to create configuration templates for multiple users.

System settings

Control panel settings of note.

Color

The daemon colord reads the display's EDID and extracts the appropriate color profile. Most color profiles are accurate and no setup is required; however for those that are not accurate, or for older displays, color profiles can be put in ~/.local/share/icc/ and directed to.

Date & time

If the system has a configured Network Time Protocol daemon, it will be effective for GNOME as well. The synchronization can be set to manual control from the menu, if required.

To show the date in the top bar, execute:

$ gsettings set org.gnome.desktop.interface clock-show-date true

Additionally, to show week numbers in the calendar opened on the top bar, execute:

$ gsettings set org.gnome.desktop.calendar show-weekdate true

Default applications

Upon installing GNOME for the first time, you may find that the wrong applications are handling certain protocols. For example, totem opens videos instead of a previously used VLC. Some of the associations can be set from system settings via: System > Details > Default applications.

For other protocols and methods see Default applications for configuration.

Mouse and touchpad

To help reduce touchpad interference you may wish to implement the settings below via gnome-control-center:

  • Disable touchpad while typing
  • Disable scrolling
  • Disable tap-to-click

Depending on your device, other configuration settings may be available, but not exposed via the default GUI. For example, a different touchpad click-method

$ gsettings range org.gnome.desktop.peripherals.touchpad click-method
 
enum
'default'
'none'
'areas'
'fingers'

to be set manually:

$ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'

or via gnome-tweak-tool.

Note: The synaptics driver is not supported by GNOME. Instead, you should use libinput. See this bug report.

Network

NetworkManager is the native tool of the GNOME project to control network settings from the shell. Install the networkmanager package and enable the NetworkManager.service systemd unit.

While any other network manager can be used as well, NetworkManager provides the full integration via the shell network settings and a status indicator applet network-manager-applet (not required for GNOME).

Online accounts

Backends for the GNOME messaging application empathy as well as the GNOME Online Accounts section of the System Settings panel are provided in a separate group: telepathy. See Unable to add accounts in Empathy and GNOME Online Accounts. Some online accounts, such as ownCloud, require gvfs-goa to be installed for full functionality in GNOME applications such as GNOME Files and GNOME Documents [2].

Search

The GNOME shell has a search that can be quickly accessed by pressing the Super key and starting to type. The tracker package is installed by default as a part of gnome group and provides an indexing application and metadata database. It can be configured with the Search and Indexing menu item; monitor status with tracker-control. It is started automatically by gnome-session when the user logs in. Indexing can be started manually with tracker-control -s. Search settings can also be configured in the System Settings panel.

The Tracker database can be queried using the tracker-sparql command. View its manual page tracker-sparql(1) for more information.

Advanced settings

As noted above, many configuration options such as changing the GTK+ theme or the window manager theme are not exposed in the GNOME System Settings panel (gnome-control-center). Those users that want to configure these settings may wish to use the GNOME Tweak Tool (gnome-tweak-tool), a convenient graphical tool which exposes many of these settings.

GNOME settings (which are stored in the DConf database) can also be configured using the dconf-editor (a graphical DConf configuration tool) or the gsettings command line tool. The GNOME Tweak Tool does not do anything else in the background of the GUI; note though that you will not find all settings described in the following sections in it.

Appearance

GTK+ themes and icon themes

To install a new theme or icon set, add the relevant ~/.local/share/themes or ~/.local/share/icons respectively (add to /usr/share/ instead of ~/.local/share/ for the themes to be available systemwide.) They and other GUI settings can also be defined in ~/.config/gtk-3.0/settings.ini:

~/.config/gtk-3.0/settings.ini
[Settings]
gtk-theme-name = Adwaita
# 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

Additional theme locations:

Once installed, they can be selected using the GNOME Tweak Tool or GSettings - see below for GSettings commands:

For the GTK+ theme:

$ gsettings set org.gnome.desktop.interface gtk-theme theme-name

For the icon theme

$ gsettings set org.gnome.desktop.interface icon-theme theme-name
Global dark theme

GNOME will use the Adwaita light theme by default however a dark variant of this theme (called the Global Dark Theme) also exists and can be selected using the Tweak Tool or by editing the GTK+ 3 settings file - see GTK+#Dark theme variant. Some applications such as Image Viewer (eog) use the dark theme by default. It should be noted that the Global Dark Theme only works with GTK+ 3 applications; some GTK+ 3 applications may only have partial support for the Global Dark theme. Qt and GTK+ 2 support for the Global Dark Theme may be added in the future.

Window manager themes

The window manager theme follows the GTK+ theme. Using org.gnome.desktop.wm.preferences theme is deprecated and ignored.

Titlebar height
Note: Applying this configuration shrinks the titlebar of the GNOME-terminal and Chromium, but does not appear to affect the Nautilus titlebar height.
~/.config/gtk-3.0/gtk.css
headerbar.default-decoration {
 padding-top: 0px;
 padding-bottom: 0px;
 min-height: 0px;
 font-size: 0.6em;
}

headerbar.default-decoration button.titlebutton {
 padding: 0px;
 min-height: 0px;
}

See [3] for more information.

Titlebar button order

To set the order for the GNOME window manager (Mutter, Metacity):

$ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
Tip: The colon indicates which side of the titlebar the window buttons will appear.
Hide titlebar when maximized
  • Install mutter-hide-legacy-decorationsAUR. It changes a default setting in the window manager, so as to automatically hide the titlebar on legacy (non-headerbar) apps when they are maximized or tiled to the side.
  • Install maximusAUR. To start the application, execute maximus from a terminal. When running, the daemon will automatically maximize windows. It will undecorate maximized windows and redecorate them when they are unmaximized. If you do not want all windows to start maximized, run maximus -m instead. Note that this will only work with windows decorated by the window manager; applications that use client-side decoration such as GNOME Files will not be undecorated when maximized.
GNOME Shell themes

The theme of GNOME Shell itself is configurable. To use a Shell theme, firstly ensure that you have the gnome-shell-extensions package installed. Then enable the User Themes extension, either through GNOME Tweak Tool or through the GNOME Shell Extensions webpage. Shell themes can then be loaded and selected using the GNOME Tweak Tool.

There are a number of GNOME Shell themes available in the AUR.

Shell themes can also be downloaded from gnome-look.org.

Icons on menu

The default GNOME schema doesn't display any icon on menus. To display icons on menus, issue the following command.

$ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"

Desktop

Various Desktop settings can be applied.

Icons on the Desktop

See GNOME/Files#Desktop Icons.

Lock screen and background

When setting the Desktop or Lock screen background, it is important to note that the Pictures tab will only display pictures located in /home/username/Pictures folder. If you wish to use a picture not located in this folder, use the commands indicated below.

For the desktop background:

$ gsettings set org.gnome.desktop.background picture-uri 'file:///path/to/my/picture.jpg'

For the lock screen background

$ gsettings set org.gnome.desktop.screensaver picture-uri 'file:///path/to/my/picture.jpg'

Extensions

Note: The GNOME Shell browser plugin which allows users to install extensions from extensions.gnome.org works out-of-the-box for browsers such as GNOME/Web. For Firefox, Google Chrome/Chromium, Opera and Vivaldi browsers, it is required to install chrome-gnome-shell-gitAUR and the appropriate browser extension.

GNOME Shell can be customized with extensions per user or system-wide.

The catalogue of extensions is available at extensions.gnome.org. By a user they can be installed and activated in the browser by setting the switch in the top left of the screen to ON and clicking Install on the resulting dialog (if the extension in question is not installed). After installation it is shown in the extensions.gnome.org/local/ tab, which has to be visited as well to check for available updates. Installed extensions can also be enabled or disabled using gnome-tweak-tool.

More information about GNOME shell extensions is available on the GNOME Shell Extensions about page.

Installing extensions via a package makes them available for all users of the system and automates the update process.

The gnome-shell-extensions package provides a set of extensions maintained as part of the GNOME project (many of the included extensions are used by the GNOME Classic session).

Users who want a taskbar but do not wish to use the GNOME Classic session may want to enable the Window list extension (provided by the gnome-shell-extensions package).

Listing currently enabled extensions can be achieved with:

$ gsettings get org.gnome.shell enabled-extensions

Input methods

GNOME has integrated support for input methods through IBus, only ibus and the wanted input method engine (e.g. ibus-libpinyin for Intelligent Pinyin) needed to be installed, after installation the input method engine can be added as a keyboard layout in GNOME's Regional & Language Settings.

Fonts

Tip: If you set the Scaling factor to a value above 1.00, the Accessibility menu will be automatically enabled.

Fonts can be set for Window titles, Interface (applications), Documents and Monospace. See the Fonts tab in the Tweak Tool for the relevant options.

For hinting, RGBA will likely be desired as this fits most monitors types, and if fonts appear too blocked reduce hinting to Slight or None.

Startup applications

To start certain applications on login, copy the relevant .desktop file from /usr/share/applications/ to ~/.config/autostart/.

The gnome-tweak-tool allows managing autostart-entries.

Tip: If the plus sign button in the Tweak Tool's Startup Applications section is unresponsive, try start the Tweak Tool from the terminal using the following command: gnome-tweak-tool. See the following forum thread.
Note: The deprecated gnome-session-properties dialog can be added by installing the gnome-session-propertiesAUR package.

Power

When you are using a laptop you might want to alter the following settings:

$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout 3600
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-timeout 1800
$ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-battery-type hibernate
$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action suspend
$ gsettings set org.gnome.desktop.lockdown disable-lock-screen true

To keep the monitor active when the lid is closed:

$ gsettings set org.gnome.settings-daemon.plugins.xrandr default-monitors-setup do-nothing

GNOME 3.24 deprecated the following settings:

org.gnome.settings-daemon.plugins.power button-hibernate
org.gnome.settings-daemon.plugins.power button-power
org.gnome.settings-daemon.plugins.power button-sleep
org.gnome.settings-daemon.plugins.power button-suspend
org.gnome.settings-daemon.plugins.power critical-battery-action
Configure behaviour on lid switch close

The GNOME Tweak Tool can optionally inhibit the systemd setting for the lid close ACPI event.[4] To inhibit the setting, start the tweak tool and, under the power tab, check the Don't suspend on lid close option. This means that the system will do nothing on lid close instead of suspending - the default behaviour. Checking the setting creates ~/.config/autostart/ignore-lid-switch-tweak.desktop which will autostart the Tweak Tool's inhibitor.

If you do not want the system to suspend or do nothing on lid close, you will need to ensure that the setting described above is not checked and then configure systemd with HandleLidSwitch=preferred_behaviour as described in Power management#ACPI events.

Change critical battery level action

The settings panel does not provide an option for changing the critical battery level action. These settings have been removed from dconf as well. They are now managed by upower. Edit the upower settings in /etc/UPower/UPower.conf. Find these settings and adjust to your needs.

/etc/UPower/UPower.conf
PercentageLow=10
PercentageCritical=3
PercentageAction=2
CriticalPowerAction=HybridSleep

Sort applications into application (app) folders

Tip: The gnome-catgen (gnome-catgen-gitAUR) script allows you to manage folders through the creation of files in ~/.local/share/applications-categories named after each category and containing a list of the desktop files belonging to apps you would like to have inside. Optionally, you can have it cycle through each app without a folder and input the desired category until you ctrl-c or run out of apps.

In the dconf-editor navigate to org.gnome.desktop.app-folders and set the value of folder-children to an array of comma separated folder names:

['Utilities', 'Sundry']

Add applications using gsettings:

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ apps "['alacarte.desktop', 'dconf-editor.desktop']"

This adds the applications alacarte.desktop and dconf-editor.desktop to the Sundry folder. This will also create the folder org.gnome.desktop.app-folders.folders.Sundry.

To name the folder (if it has no name that appears at the top of the applications):

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ name "Sundry"

Applications can also be sorted by their category (specified in their .desktop file):

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ categories "['Office']"

If certain applications matching a category are not wanted in a certain folder, exclusions can be set:

$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ excluded-apps "['libreoffice-draw.desktop']"

For further information, refer to the app-folders schema.

See also