Difference between revisions of "GNOME"

From ArchWiki
Jump to: navigation, search
(Additional packages: Boxes is now in the gnome group https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/gnome-boxes&id=4e6f5c0b782963769a95df2c5ea17fd7bac7d654)
(Xorg sessions)
 
(41 intermediate revisions by 9 users not shown)
Line 14: Line 14:
 
[[zh-hant:GNOME]]
 
[[zh-hant:GNOME]]
 
{{Related articles start}}
 
{{Related articles start}}
{{Related|Desktop environment}}
 
{{Related|Display manager}}
 
{{Related|Window manager}}
 
 
{{Related|GTK+}}
 
{{Related|GTK+}}
 
{{Related|GDM}}
 
{{Related|GDM}}
Line 28: Line 25:
 
{{Related|GNOME/Keyring}}
 
{{Related|GNOME/Keyring}}
 
{{Related|GNOME/Document viewer}}
 
{{Related|GNOME/Document viewer}}
{{Related|Cinnamon}}
 
{{Related|MATE}}
 
 
{{Related|Official repositories#gnome-unstable}}
 
{{Related|Official repositories#gnome-unstable}}
 
{{Related articles end}}
 
{{Related articles end}}
  
[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]].
+
[[Wikipedia:GNOME|GNOME]] (/(ɡ)noʊm/) 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 [[GNU Project]]. The default display is [[Wayland]] instead of [[Xorg]].
  
 
== Installation ==
 
== Installation ==
Line 44: Line 39:
 
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}}.
 
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}}.
  
{{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''.}}
+
{{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:
 
 
 
* {{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}}}}
 
  
 
== GNOME Sessions ==
 
== GNOME Sessions ==
Line 61: Line 49:
 
*'''GNOME on Xorg''' runs GNOME Shell using Xorg.
 
*'''GNOME on Xorg''' runs GNOME Shell using Xorg.
  
== Starting GNOME ==
+
== Starting ==
  
GNOME can be started either graphically, using a [[display manager]], or manually from the console.
+
GNOME can be started either graphically with a [[display manager]] or manually from the console (some features may be missing).
  
{{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]].}}
+
{{Note|Support for screen locking (and more) in GNOME is provided by GDM. If GNOME is not started with GDM, another screen locker may be used. See [[List of applications/Security#Screen lockers]].}}
  
 
=== Graphically ===
 
=== Graphically ===
Line 75: Line 63:
 
==== Xorg sessions ====
 
==== Xorg sessions ====
  
* For the GNOME on Xorg session, add to the {{ic|~/.xinitrc}} file: {{ic|exec gnome-session}}.
+
* For the GNOME on Xorg session, add to the {{ic|~/.xinitrc}} file: {{bc|<nowiki>export GDK_BACKEND=x11
 +
exec gnome-session</nowiki>}}
 
* For the GNOME Classic session, add to the {{ic|~/.xinitrc}} file: {{bc|<nowiki>export XDG_CURRENT_DESKTOP=GNOME-Classic:GNOME
 
* 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
 
export GNOME_SHELL_SESSION_MODE=classic
Line 99: Line 88:
 
=== GNOME applications in Wayland ===
 
=== 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 [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.
+
When the ''GNOME'' session is used, GNOME applications will be run using Wayland. For debugging cases, the [https://developer.gnome.org/gtk3/stable/gtk-running.html GTK+ manual] lists options and environment variables.
  
 
== Navigation ==
 
== Navigation ==
Line 111: Line 100:
 
* {{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).  
 
* {{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).  
  
=== Legacy names ===
+
== Legacy names ==
  
 
{{Note|
 
{{Note|
Line 172: Line 161:
  
 
  $ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
 
  $ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
 +
 +
{{Tip|To change the daytime temperature in a Wayland session install [https://extensions.gnome.org/extension/1276/night-light-slider/ this extension].}}
  
 
==== Date & time ====
 
==== Date & time ====
Line 186: Line 177:
 
==== Default applications ====
 
==== 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''.  
+
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: ''Details'' > ''Default applications''.  
 
    
 
    
For other protocols and methods see [[Default applications]] for configuration.  
+
For other protocols and methods see [[Default applications]] for configuration.
  
 
==== Mouse and touchpad ====
 
==== Mouse and touchpad ====
  
To help reduce touchpad interference you may wish to implement the settings below via ''gnome-control-center'':
+
Most touchpad settings can be set from system settings via: ''Devices'' > ''Mouse & Touchpad''.
 
 
* 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 {{ic|click-method}}
 
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}}
Line 207: Line 194:
 
to be set manually:  
 
to be set manually:  
 
  $ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'
 
  $ gsettings set org.gnome.desktop.peripherals.touchpad click-method 'fingers'
or via {{pkg|gnome-tweak-tool}}.  
+
or via {{pkg|gnome-tweaks}}.  
  
 
{{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].}}
 
{{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].}}
Line 229: Line 216:
 
=== Advanced settings ===
 
=== 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 ({{Pkg|gnome-tweak-tool}}), a convenient graphical tool which exposes many of these 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 Tweaks ({{Pkg|gnome-tweaks}}), 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 [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.  
+
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 Tweaks 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 ====
 
==== Appearance ====
  
===== GTK+ themes and icon themes =====
+
===== Themes =====
  
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}}:
+
GNOME uses Adwaita by default. To apply Adwaita dark only to GTK+2 applications use the following symlink:
  
{{hc|~/.config/gtk-3.0/settings.ini|<nowiki>
+
$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita
[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
 
</nowiki>}}
 
  
Additional theme locations:
+
To select new themes (move them to the appropriate directory and) use GNOME Tweaks or the GSettings commands below:
* [http://www.deviantart.com/browse/all/customization/skins/linuxutil/desktopenv/gnome/gtk3/ DeviantArt].
 
* [http://gnome-look.org/ gnome-look.org].
 
* [https://aur.archlinux.org/packages.php?O=0&K=gtk3&do_Search=Go GTK+ 3 themes in the AUR].
 
* [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].
 
  
Once installed, they can be selected using the GNOME Tweak Tool or GSettings - see below for GSettings commands:
+
For the GTK+ theme:
  
For the GTK+ theme:
 
 
  $ gsettings set org.gnome.desktop.interface gtk-theme ''theme-name''
 
  $ gsettings set org.gnome.desktop.interface gtk-theme ''theme-name''
  
For the icon theme
+
For the icon theme:
 +
 
 
  $ gsettings set org.gnome.desktop.interface icon-theme ''theme-name''
 
  $ gsettings set org.gnome.desktop.interface icon-theme ''theme-name''
  
====== Global dark theme ======
+
{{note|The window manager theme follows the GTK+ theme. Using {{ic|org.gnome.desktop.wm.preferences theme}} is deprecated and ignored.}}
 
 
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 {{ic|org.gnome.desktop.wm.preferences theme}} is deprecated and ignored.
+
See [[GTK+#Themes]] and [[Icons#Manually]].
  
====== Titlebar height ======
+
===== 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.}}
 
{{Note|Applying this configuration shrinks the titlebar of the GNOME-terminal and Chromium, but does not appear to affect the Nautilus titlebar height.}}
Line 288: Line 259:
 
}
 
}
 
}}
 
}}
 +
 
See [https://ask.fedoraproject.org/en/question/10035/shrink-title-bar/?answer=86149#post-id-86149] for more information.
 
See [https://ask.fedoraproject.org/en/question/10035/shrink-title-bar/?answer=86149#post-id-86149] for more information.
  
====== Titlebar button order ======
+
===== Titlebar button order =====
 +
 
 +
To set the order for the GNOME window manager (Mutter, Metacity):
  
To set the order for the GNOME window manager (Mutter, Metacity):
 
 
  $ gsettings set org.gnome.desktop.wm.preferences button-layout ':minimize,maximize,close'
 
  $ 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.}}
 
{{Tip|The colon indicates which side of the titlebar the window buttons will appear.}}
  
====== Hide titlebar when maximized ======
+
===== Hide titlebar when maximized =====
  
 
*[[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.
 
*[[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.
Line 307: Line 280:
 
===== GNOME Shell themes =====
 
===== GNOME Shell themes =====
  
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.
+
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 Tweaks or through the [https://extensions.gnome.org GNOME Shell Extensions] webpage. Shell themes can then be loaded and selected using the GNOME Tweaks.
  
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].
+
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]. Shell themes can also be downloaded from [http://gnome-look.org/ gnome-look.org].
 
 
Shell themes can also be downloaded from [http://gnome-look.org/ gnome-look.org].
 
  
 
===== Icons on menu =====
 
===== Icons on menu =====
Line 318: Line 289:
  
 
  $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"
 
  $ gsettings set org.gnome.settings-daemon.plugins.xsettings overrides "{'Gtk/ButtonImages': <1>, 'Gtk/MenuImages': <1>}"
 +
 +
==== Apps grid folders ====
 +
 +
{{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.}}
 +
 +
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:
 +
 +
['Utilities', 'Sundry']
 +
 +
Add applications using {{ic|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 {{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}}.
 +
 +
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 more information, see [https://git.gnome.org/browse/gsettings-desktop-schemas/tree/schemas/org.gnome.desktop.app-folders.gschema.xml.in] and [https://wiki.gentoo.org/wiki/Gnome_Applications_Folders].
 +
 +
==== Autostart ====
 +
 +
GNOME implements [[XDG Autostart]].
 +
 +
The {{Pkg|gnome-tweaks}} allows managing autostart-entries.
 +
 +
{{Tip|If the plus sign button in the Tweaks's Startup Applications section is unresponsive, try start the Tweaks from the terminal using the following command: {{ic|gnome-tweaks}}. See the following [https://bbs.archlinux.org/viewtopic.php?pid&#61;1413631#p1413631 forum thread].}}
 +
 +
{{Note|The deprecated ''gnome-session-properties'' dialog can be added by [[install]]ing the {{AUR|gnome-session-properties}} package.}}
  
 
==== Desktop ====
 
==== Desktop ====
 
Various Desktop settings can be applied.
 
  
 
===== Icons on the Desktop =====
 
===== Icons on the Desktop =====
  
See [[GNOME/Files#Desktop Icons]].
+
Up until GNOME 3.28, icons on the desktop were provided by [[Files]] which would draw a transparent window over the desktop containing the icons. As of GNOME 3.28 this functionality has been removed and desktop icons are no longer available in GNOME. Possible workarounds include using [[Nemo]] (a fork of Files which still has desktop icons functionality) or installing {{AUR|gnome-shell-extension-desktop-icons}} which partially replicates the desktop icon functionality available in GNOME 3.26 and prior. For more information, please see the following [https://bbs.archlinux.org/viewtopic.php?id=235633 Arch forum thread].
  
 
===== Lock screen and background =====
 
===== Lock screen and background =====
Line 343: Line 350:
 
==== Extensions ====
 
==== Extensions ====
  
{{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 {{pkg|chrome-gnome-shell}} and the appropriate browser extension.}}
+
The catalogue of extensions is available at [https://extensions.gnome.org extensions.gnome.org]. They can be installed and activated in a browser by setting the switch in the top left of the screen to '''ON''' and clicking '''Install''' on the popup window (if the extension in question is not installed). Installed extensions may be seen at [https://extensions.gnome.org/local/ extensions.gnome.org/local], where available updates can be checked. Installed extensions can also be enabled or disabled with {{Pkg|gnome-tweaks}}.
  
GNOME Shell can be customized with extensions per user or system-wide.  
+
{{Note|Extensions from [https://extensions.gnome.org extensions.gnome.org] can be installed right away with [[GNOME/Web]]. For other browsers, it is required to install {{pkg|chrome-gnome-shell}} and the appropriate browser extension.}}
  
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}}.  
+
GNOME Shell can be customized with extensions per user or system-wide. Installing extensions with [[pacman]] makes them available for all users of the system and automates the update process. 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). 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).
  
More information about GNOME shell extensions is available on the [https://extensions.gnome.org/about/ GNOME Shell Extensions about page].
+
To list currently enabled extensions:
  
[[Installing]] extensions via a package makes them available for all users of the system and automates the update process.
 
 
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).
 
 
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).
 
 
Listing currently enabled extensions can be achieved with:
 
 
  $ gsettings get org.gnome.shell enabled-extensions
 
  $ gsettings get org.gnome.shell enabled-extensions
  
==== Input methods ====
+
For more information about GNOME shell extensions, see [https://extensions.gnome.org/about/].
 
 
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.
 
  
 
==== Fonts ====
 
==== Fonts ====
Line 368: Line 366:
 
{{Tip|If you set the ''Scaling factor'' to a value above 1.00, the Accessibility menu will be automatically enabled.}}
 
{{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.
+
Fonts can be set for Window titles, Interface (applications), Documents and Monospace. See the Fonts tab in the Tweaks 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''.
 
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 ====
+
==== Input methods ====
 
 
To start certain applications on login, copy the relevant {{ic|.desktop}} file from {{ic|/usr/share/applications/}} to {{ic|~/.config/autostart/}}.
 
 
 
The {{Pkg|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: {{ic|gnome-tweak-tool}}. See the following [https://bbs.archlinux.org/viewtopic.php?pid&#61;1413631#p1413631 forum thread].}}
 
  
{{Note|The deprecated ''gnome-session-properties'' dialog can be added by [[install]]ing the {{AUR|gnome-session-properties}} package.}}
+
GNOME has integrated support for [[input method]]s 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.
  
 
==== Power ====
 
==== Power ====
Line 407: Line 399:
 
===== Configure behaviour on lid switch close  =====
 
===== Configure behaviour on lid switch close  =====
  
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.
+
The GNOME Tweaks 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 tweaks 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 Tweaks'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 {{ic|1=HandleLidSwitch=''preferred_behaviour''}} as described in [[Power management#ACPI events]].
 
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]].
Line 422: Line 414:
 
}}
 
}}
  
==== Sort applications into application (app) folders ====
+
=== Use a different window manager ===
 
 
{{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.}}
 
 
 
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:
 
 
 
['Utilities', 'Sundry']
 
 
 
Add applications using {{ic|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 {{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}}.
 
 
 
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 [https://git.gnome.org/browse/gsettings-desktop-schemas/tree/schemas/org.gnome.desktop.app-folders.gschema.xml.in app-folders schema].
+
GNOME Shell does not support using a different [[window manager]], however [[GNOME Flashback]] provides sessions for Metacity and [[Compiz]]. Furthermore, it is possible to define your own [[GNOME/Tips and tricks#Custom GNOME sessions|custom GNOME sessions]] which use alternative components.
  
 
== See also ==
 
== See also ==
  
 
* [https://www.gnome.org/ Official Website]
 
* [https://www.gnome.org/ Official Website]
 +
* [[Wikipedia:GNOME|Wikipedia article]]
 
* [https://extensions.gnome.org/ GNOME-Shell Extensions]
 
* [https://extensions.gnome.org/ GNOME-Shell Extensions]
 
* [https://wiki.gnome.org/Projects/GnomeShell/CheatSheet GNOME Shell Cheat Sheet]
 
* [https://wiki.gnome.org/Projects/GnomeShell/CheatSheet GNOME Shell Cheat Sheet]

Latest revision as of 17:11, 7 October 2018

GNOME (/(ɡ)noʊm/) 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.

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 can be started either graphically with a display manager or manually from the console (some features may be missing).

Note: Support for screen locking (and more) in GNOME is provided by GDM. If GNOME is not started with GDM, another screen locker may be used. 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:
    export GDK_BACKEND=x11
    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. 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

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.

Night Light

GNOME comes with a built-in blue light filter similar to Redshift. You can enable and customise the time you want to enable Night Light from the display settings menu. Furthermore, you can tweak the kelvin temperature with the following dconf setting, where 5000 is an example value:

$ gsettings set org.gnome.settings-daemon.plugins.color night-light-temperature 5000
Tip: To change the daytime temperature in a Wayland session install this extension.

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: Details > Default applications.

For other protocols and methods see Default applications for configuration.

Mouse and touchpad

Most touchpad settings can be set from system settings via: Devices > Mouse & Touchpad.

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

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 Tweaks (gnome-tweaks), 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 Tweaks 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

Themes

GNOME uses Adwaita by default. To apply Adwaita dark only to GTK+2 applications use the following symlink:

$ ln -s /usr/share/themes/Adwaita-dark ~/.themes/Adwaita

To select new themes (move them to the appropriate directory and) use GNOME Tweaks or the GSettings commands below:

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
Note: The window manager theme follows the GTK+ theme. Using org.gnome.desktop.wm.preferences theme is deprecated and ignored.

See GTK+#Themes and Icons#Manually.

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 Tweaks or through the GNOME Shell Extensions webpage. Shell themes can then be loaded and selected using the GNOME Tweaks.

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

Apps grid 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 more information, see [4] and [5].

Autostart

GNOME implements XDG Autostart.

The gnome-tweaks allows managing autostart-entries.

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

Desktop

Icons on the Desktop

Up until GNOME 3.28, icons on the desktop were provided by Files which would draw a transparent window over the desktop containing the icons. As of GNOME 3.28 this functionality has been removed and desktop icons are no longer available in GNOME. Possible workarounds include using Nemo (a fork of Files which still has desktop icons functionality) or installing gnome-shell-extension-desktop-iconsAUR which partially replicates the desktop icon functionality available in GNOME 3.26 and prior. For more information, please see the following Arch forum thread.

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'
Disable top left hot corner

You can disable the top left hot corner with the gnome-shell-extension-no-topleft-hot-cornerAUR package.

Extensions

The catalogue of extensions is available at extensions.gnome.org. They can be installed and activated in a browser by setting the switch in the top left of the screen to ON and clicking Install on the popup window (if the extension in question is not installed). Installed extensions may be seen at extensions.gnome.org/local, where available updates can be checked. Installed extensions can also be enabled or disabled with gnome-tweaks.

Note: Extensions from extensions.gnome.org can be installed right away with GNOME/Web. For other browsers, it is required to install chrome-gnome-shell and the appropriate browser extension.

GNOME Shell can be customized with extensions per user or system-wide. Installing extensions with pacman 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).

To list currently enabled extensions:

$ gsettings get org.gnome.shell enabled-extensions

For more information about GNOME shell extensions, see [6].

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

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.

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 Tweaks can optionally inhibit the systemd setting for the lid close ACPI event.[7] To inhibit the setting, start the tweaks 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 Tweaks'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

Use a different window manager

GNOME Shell does not support using a different window manager, however GNOME Flashback provides sessions for Metacity and Compiz. Furthermore, it is possible to define your own custom GNOME sessions which use alternative components.

See also