GNOME: Difference between revisions

From ArchWiki
m (Fix links)
(→‎Device Security Settings: add subsection for 'accessibility' located above 'device security' in the settings menu)
 
(94 intermediate revisions by 21 users not shown)
Line 1: Line 1:
[[Category:GNOME]]
[[Category:GNOME]]
[[cs:GNOME]]
[[de:GNOME]]
[[de:GNOME]]
[[es:GNOME]]
[[es:GNOME]]
[[fr:GNOME]]
[[it:GNOME]]
[[it:GNOME]]
[[ja:GNOME]]
[[ja:GNOME]]
Line 32: Line 32:
== Installation ==
== Installation ==


Two groups are available:
Two [[package group]]s are available:


* {{Grp|gnome}} contains the base GNOME desktop and a subset of well-integrated [https://wiki.gnome.org/Apps applications];
* {{Grp|gnome}} contains the base GNOME desktop and the well-integrated [https://apps.gnome.org/ core applications];
* {{Grp|gnome-extra}} contains further GNOME applications, including an email client, an IRC client, [[#Advanced settings|GNOME Tweaks]], and a set of games. Note that this group builds on the {{Grp|gnome}} group.
* {{Grp|gnome-extra}} contains further GNOME applications, including an email client, an IRC client, [[#Advanced settings|GNOME Tweaks]], a set of games and development tools. Note that this group builds on the {{Grp|gnome}} group.


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}}.
Line 70: Line 70:
</nowiki>}}
</nowiki>}}


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]], e.g. on tty1 by adding to {{ic|.bash_profile}}:
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]], e.g. on tty1 by adding to {{ic|.bash_profile}}:


{{bc|<nowiki>
{{bc|<nowiki>
Line 82: Line 82:
{{Accuracy|Executing {{ic|gnome-session}} via dbus may cause issues or not work at all. Some issues include the inability to start Chrome/Chromium and the lack of a sound device. Running {{ic|gnome-session}} directly may work better.|section=Manually start a Wayland session}}
{{Accuracy|Executing {{ic|gnome-session}} via dbus may cause issues or not work at all. Some issues include the inability to start Chrome/Chromium and the lack of a sound device. Running {{ic|gnome-session}} directly may work better.|section=Manually start a Wayland session}}


{{Note|An X server is still necessary to run applications that have not yet been ported to [[Wayland]], see [[Wayland#XWayland]] for details. Applications using certain graphics libraries, such as Qt, can be forced to use Wayland by setting environment variables. See [[Wayland#GUI libraries]] for more information.}}
{{Note|An X server is still necessary to run applications that have not yet been ported to [[Wayland]], see [[Wayland#Xwayland]] for details. Applications using certain graphics libraries, such as Qt, can be forced to use Wayland by setting environment variables. See [[Wayland#GUI libraries]] for more information.}}


Manually starting a Wayland session is possible with {{ic|1=XDG_SESSION_TYPE=wayland dbus-run-session gnome-session}}. Alternatively, call {{ic|gnome-shell}} directly with its wayland flag from any available tty:
Manually starting a Wayland session is possible with:
$ XDG_SESSION_TYPE=wayland dbus-run-session gnome-session


$ gnome-shell --wayland
Running {{ic|gnome-shell --wayland}} directly is not recommended, because it lacks session management.


Note that manual invocation of Gnome does '''not''' require {{ic|gdm}} (consequently also the accompanying {{ic|gdm.service}}) at all and is thus also accessible for users with a (possibly very) minimal installation of Gnome composing of a selected few packages included in the more inclusive {{ic|gnome}} group in accordance to personal preference.
Note that manual invocation of Gnome does '''not''' require {{ic|gdm}} (consequently also the accompanying {{ic|gdm.service}}) at all and is thus also accessible for users with a (possibly very) minimal installation of Gnome composing of a selected few packages included in the more inclusive {{ic|gnome}} group in accordance to personal preference.
Line 104: Line 105:
== Navigation ==
== Navigation ==


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


* {{ic|Super+m}}: show notification list
* {{ic|Super+m}}: show notification list
Line 111: Line 112:
* {{ic|Alt+`}} (the key above {{ic|Tab}} on US keyboard layouts): cycle windows of the application in the foreground
* {{ic|Alt+`}} (the key above {{ic|Tab}} on US keyboard layouts): cycle windows of the application in the foreground
* {{ic|Alt+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+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).
See [[/Tips and tricks#Navigation]] for changes to the default configuration making the window-switching resemble that of Windows.


See [https://help.gnome.org/users/gnome-help/stable/keyboard-nav.html Keyboard navigation] for more shortcuts.
See [https://help.gnome.org/users/gnome-help/stable/keyboard-nav.html Keyboard navigation] for more shortcuts.
{{Tip|To make {{ic|Alt+Tab}} switch applications only in current workspace, you can set {{ic|current-workspace-only}} to {{ic|true}}:
$ gsettings set org.gnome.shell.app-switcher current-workspace-only true
}}


== Legacy names ==
== Legacy names ==
Line 134: Line 132:
| [[GNOME/Web|Web]]
| [[GNOME/Web|Web]]
| Epiphany
| Epiphany
|-
| Text Editor
| [[Gedit]]
|-
|-
| Videos
| Videos
Line 161: Line 162:
GNOME Settings (''gnome-control-center'') and GNOME applications use the [[wikipedia:Dconf|dconf]] configuration system to store their settings.
GNOME Settings (''gnome-control-center'') and GNOME applications use the [[wikipedia:Dconf|dconf]] configuration system to store their settings.


You can directly access the dconf database using the {{man|1|gsettings}} command line tool. This also allows you to configure settings not exposed by the user interfaces. Command line tool {{man|1|dconf}} can directly modify the underlying database, bypassing validation.
You can directly access the dconf database using the {{man|1|gsettings}} command line tool. This also allows you to configure settings not exposed by the user interfaces. Command line tool {{man|1|dconf}} can directly modify the underlying database, bypassing validation. The configuration keys of gsettings and dconf are equivalent, but in a slightly different format: {{ic|gsettings set mygroup.mysubgroup mysetting myvalue}} in gsettings would be {{ic|dconf write /mygroup/mysubgroup/mysetting myvalue}} in dconf.


Up until GNOME 3.24, settings were applied by the GNOME settings daemon (located at {{ic|/usr/lib/gnome-settings-daemon/gnome-settings-daemon}}), which could be run outside of a GNOME session.
Up until GNOME 3.24, settings were applied by the GNOME settings daemon (located at {{ic|/usr/lib/gnome-settings-daemon/gnome-settings-daemon}}), which could be run outside of a GNOME session.
Line 173: Line 174:
==== Color ====
==== Color ====


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


==== Night Light ====
==== Night Light ====
Line 182: Line 183:


{{Tip|To change the daytime temperature in a Wayland session, install the [https://extensions.gnome.org/extension/1276/night-light-slider/ Night Light Slider extension].}}
{{Tip|To change the daytime temperature in a Wayland session, install the [https://extensions.gnome.org/extension/1276/night-light-slider/ Night Light Slider extension].}}
{{Note| Night Light works on NVIDIA cards in Wayland sessions since version 545.29.02 }}


==== Date & time ====
==== Date & time ====
Line 201: Line 203:
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 ''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 ''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 ====
Line 224: Line 226:


{{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].}}
===== Resize windows by mouse =====
By default, you can use your mouse to move windows by holding down {{ic|Super}}, clicking and holding the left mouse button and dragging the mouse around.
Additionally, you can enable using your mouse to resize windows by holding down {{ic|Super}}, clicking and holding the right mouse button and dragging the mouse around:
$ gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true
If you don't like the {{ic|Super}} key, you can also change the modifier to something else, like {{ic|Alt}} or {{ic|Ctrl}}:
$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "'<Alt>'"


==== Network ====
==== Network ====


[[NetworkManager]] is the native tool of the GNOME project to control network settings from the shell, and is part of {{Grp|gnome}} group. If not installed already, [[install]] the {{Pkg|networkmanager}} package and [[enable]] the {{ic|NetworkManager.service}} systemd unit.
[[NetworkManager]] is the native tool of the GNOME project to control network settings from the shell. If you have not already, [[install]] the {{Pkg|networkmanager}} package and [[enable]] the {{ic|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 {{Pkg|network-manager-applet}} (not required for GNOME).
While any other [[network manager]] can be used alternatively, NetworkManager provides the full integration via the shell network settings and a status indicator applet {{Pkg|network-manager-applet}} (not required for GNOME).


{{Note|1=Hidden wireless networks set up with {{Pkg|networkmanager}}'s ''nmtui'' do not connect automatically. You need to create a new profile using GNOME control center in order to restore auto-connect capabilities for that network.}}
{{Note|1=Hidden wireless networks set up with {{Pkg|networkmanager}}'s ''nmtui'' do not connect automatically. You need to create a new profile using GNOME control center in order to restore auto-connect capabilities for that network.}}
Line 241: Line 255:
==== Search ====
==== Search ====


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 Settings.
The GNOME shell has a search that can be quickly accessed by pressing the {{ic|Super}} key and starting to type. The {{Pkg|tracker3}} package is installed by default as a dependency of {{Pkg|tracker3-miners}} from the {{Grp|gnome}} group and provides an indexing application and metadata database. It can be configured with the ''Search'' menu item in Settings. It is started automatically by ''gnome-session'' when the user logs in. Tracker does not automatically recurse into all directories under the user's home directory, so you may need to add custom paths via the ''Search > Search locations'' menu item. To exclude a directory from the indexing, create an empty {{ic|.nomedia}} file. See also [https://tracker.gnome.org/faq/ Tracker FAQ].


The Tracker database can be queried using the ''tracker-sparql'' command. See {{man|1|tracker-sparql}} for more information.
A status is available with {{ic|tracker3 status}} and indexing can be started manually with {{ic|tracker3 daemon -s}}. The Tracker database can be queried using the {{ic|tracker3 sparql}} command. See {{man|1|tracker3-sparql}} for more information.
 
==== Accessibility ====
 
GNOME has accessibility settings available via ''Settings > Accessibility''. The main settings may be toggled directly after enabling a top bar icon, but note further settings are available via the sub-menus for ''Seeing'', ''Hearing'', ''Typing'', ''Pointing and clicking'' and ''Zoom''.
 
==== Device Security Settings ====
 
GNOME 43 comes with a new [https://release.gnome.org/43/ Device Security] panel in Settings. This requires {{Pkg|fwupd}} in order to function. See [https://gitlab.gnome.org/GNOME/gnome-control-center/-/issues/2122].


=== Advanced settings ===
=== Advanced settings ===
Line 250: Line 272:


GNOME settings (which are stored in the DConf database) can also be configured using the {{man|1|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.
GNOME settings (which are stored in the DConf database) can also be configured using the {{man|1|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.
==== Extensions ====
The catalogue of extensions is available at https://extensions.gnome.org, they can be installed either through [https://archlinux.org/packages/?q=gnome-shell-extension official repositories] (only a few), [https://aur.archlinux.org/packages?K=gnome-shell-extension the AUR] or through [https://extensions.gnome.org the browser].
{{Accuracy|The note below suggests manual user file management as recommended since it is "easier" but does not explain why.}}
{{Note|
* Installing extensions through the browser makes them available for the current user only and requires you to manually update each one. This is the easier method.
** Additionally, if you decided to install extensions from the browser instead, you need to install {{Pkg|gnome-browser-connector}}. It is not required to install extensions from the official repositories or the AUR.
* Installing extensions through the AUR (or through official repositories, if you find them there) makes them available system-wide (and automates the update process if using an [[AUR helper]]).
}}
Installed extensions can also be configured, enabled or disabled through a GUI with ''gnome-extensions-app'', from the command line with {{man|1|gnome-extensions}}, or from the browser. In your browser, extensions can be installed then activated in the browser by setting the switch in right top right 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/, where available updates can be checked.
The {{Pkg|gnome-shell-extensions}} package provides a set of very useful extensions maintained as part of the GNOME project.
{{AUR|extension-manager}} is a graphical tool which can also be used to install and remove extensions, as well as enable and disable them, both system-wide and for a user. Prior to using it, consider its list of well known issues:  https://github.com/mjakeman/extension-manager/labels/bug
To enable usage of extensions (disabled by default):
$ gsettings set org.gnome.shell disable-user-extensions false
To list currently enabled extensions:
$ gsettings get org.gnome.shell enabled-extensions
The above command may list extensions that have been removed. To only list extensions that are enabled ''and'' installed, use ''gnome-extensions'' instead:
$ gnome-extensions list --enabled
For more information about GNOME shell extensions, see https://extensions.gnome.org/about/.


==== Appearance ====
==== Appearance ====
Line 275: Line 329:
{{Note|The window manager theme follows the GTK theme. Using {{ic|org.gnome.desktop.wm.preferences theme}} is deprecated and ignored.}}
{{Note|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]].
See [[GTK#Themes]] and [[Icons#Icon themes]].
 
===== Titlebar height =====
 
{{Note|Applying this configuration shrinks the titlebar of applications that do not use GNOME-style CSD. Native GNOME applications with CSD are not affected.}}
 
{{hc|~/.config/gtk-3.0/gtk.css|
headerbar.default-decoration {
padding-top: 5px;
padding-bottom: 5px;
min-height: 0px;
font-size: 0.8em;
}
 
headerbar.default-decoration button.titlebutton {
padding: 0px;
min-height: 0px;
}
}}
 
See [https://askbot.fedoraproject.org/en/question/10035/shrink-title-bar/?answer=86149#post-id-86149] for more information.


===== Titlebar button order =====
===== Titlebar button order =====
Line 304: Line 338:


{{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 =====
* [[Install]] {{AUR|gnome-shell-extension-gtktitlebar-git}}. Removes titlebars of maximized, non-GTK windows.
* [[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.


===== GNOME Shell themes =====
===== GNOME Shell themes =====
Line 314: Line 343:
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 the GNOME Extensions application or through the [https://extensions.gnome.org GNOME Shell Extensions] webpage. Shell themes can then be loaded and selected using GNOME Extensions.
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 the GNOME Extensions application or through the [https://extensions.gnome.org GNOME Shell Extensions] webpage. Shell themes can then be loaded and selected using GNOME Extensions.


There are a number of GNOME Shell themes available [https://aur.archlinux.org/packages?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 [https://gnome-look.org/ gnome-look.org].
There are a number of GNOME Shell themes available [https://aur.archlinux.org/packages?K=gtk+theme in the AUR], many themes do not have the same name format, so instead try searching for the appropriate theme in the AUR. Shell themes can also be downloaded from [https://gnome-look.org/ gnome-look.org].


===== AppIndicators/Top bar icons =====
===== AppIndicators/Top bar icons =====


To enable AppIndicators, which is useful for controlling/monitoring certain applications running in the background, Install {{Pkg|gnome-shell-extension-appindicator}} or {{AUR|gnome-shell-extension-appindicator-git}}, [[#Navigation|restart the GNOME Shell]], then enable the AppIndicator extension in the GNOME Extensions application or by running {{ic|$ gnome-extensions enable $(gnome-extensions list {{!}} grep -m 1 appindicatorsupport)}}.
To enable AppIndicators, which is useful for controlling/monitoring certain applications running in the background, Install {{Pkg|gnome-shell-extension-appindicator}} or {{AUR|gnome-shell-extension-appindicator-git}}, [[#Navigation|restart the GNOME Shell]], then enable the AppIndicator extension in the GNOME Extensions application or by running  
 
==== Folders in the applications grid ====


{{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 applications you would like to have inside. Optionally, you can have it cycle through each application without a folder and input the desired category until you {{ic|Ctrl+c}} or run out of applications.}}
$ gnome-extensions enable $(gnome-extensions list {{!}} grep -m 1 appindicatorsupport)


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:
===== Shell animation speed =====


['Utilities', 'Sundry']
The GNOME shell animation can be sped up, slowed down or disabled. See [[GNOME/Tips and tricks#Change animation speed]].


Add applications using {{ic|gsettings}}:
===== Shell blur =====


$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ apps "['alacarte.desktop', 'dconf-editor.desktop']"
Blur my Shell is an extension that adds blur effects to the overview screen as well as the shell itself and other apps. Install {{AUR|gnome-shell-extension-blur-my-shell}} or {{AUR|gnome-shell-extension-blur-my-shell-git}} for development updates. This extension is highly customizable, and you may choose to blur certain applications.


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}}.
===== Rounded corners =====


To name the folder (if it has no name that appears at the top of the applications):
Most GNOME applications have a round appearance only on their top corners, while legacy windows have all four corners sharp. To make all corners of all windows round, install {{AUR|gnome-shell-extension-rounded-window-corners}}.


$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ name "Sundry"
{{Tip|If a window renders incorrectly, you can blacklist it through the preferences dialog of this extension.}}


Applications can also be sorted by their category (specified in their ''.desktop'' file):
===== Better Alt-Tab Functionality =====


$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ categories "['Office']"
The default Alt-Tab in GNOME is very simple and does not show overviews of the selected windows. You can change the Alt-Tab shortcut from "Switch Applications" to "Switch Windows" in Settings to show window overviews.


If certain applications matching a category are not wanted in a certain folder, exclusions can be set:
You can also use Coverflow Alt-Tab. It is an extension that expands the Alt-Tab behavior and adds features to make switching between applications easier while also giving it a better look. Install {{AUR|gnome-shell-extension-coverflow-alt-tab-git}}, then you may change the configuration of this extension to your liking.


$ gsettings set org.gnome.desktop.app-folders.folder:/org/gnome/desktop/app-folders/folders/Sundry/ excluded-apps "['libreoffice-draw.desktop']"
Note: Super-` provides "Switch windows of an application` by default.
 
For more information, see [https://gitlab.gnome.org/GNOME/gsettings-desktop-schemas/blob/master/schemas/org.gnome.desktop.app-folders.gschema.xml.in] and [[Gentoo:Gnome Applications Folders]].


==== Autostart ====
==== Autostart ====
Line 360: Line 385:
==== Desktop ====
==== Desktop ====


===== Icons on the desktop =====
===== Dash to Dock =====


Up until GNOME 3.28, icons on the desktop were provided by [[GNOME/Files|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 replicates the desktop icon functionality available in GNOME 3.26 and prior, but with some minor differences. For more information, please see the following [https://bbs.archlinux.org/viewtopic.php?id=235633 Arch forum thread].
To move the dash out of the overview and turn it into a dock to easily launch and switch applications, [[install]] {{AUR|gnome-shell-extension-dash-to-dock}}.


===== Lock screen and background =====
===== Startup in Overview Mode =====


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.
Starting from GNOME 40, the desktop will start directly into Overview Mode instead of an empty desktop (like in previous versions). To mimic legacy behaviour, one may [[install]] {{AUR|gnome-shell-extension-no-overview}}.


For the desktop background:
Alternatively, you can disable it using gsettings if using {{AUR|gnome-shell-extension-dash-to-dock}}:


  $ gsettings set org.gnome.desktop.background picture-uri 'file:///path/to/my/picture.jpg'
  $ gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true
 
For the lock screen background:
 
$ gsettings set org.gnome.desktop.screensaver picture-uri 'file:///path/to/my/picture.jpg'
 
===== Disable top left hot corner =====
 
Starting from GNOME 3.34 you can disable it with this:
 
$ gsettings set org.gnome.desktop.interface enable-hot-corners false
 
or via {{Pkg|gnome-tweaks}}, in ''Top Bar > Activities Overview Hot Corner''
 
===== Startup in Overview Mode =====
 
Starting from GNOME 40, the desktop will start directly into Overview Mode instead of an empty desktop (like in previous versions). To mimic legacy behaviour, one may install the extension [https://extensions.gnome.org/extension/4099/no-overview/ No overview at start-up].


See the discussion at [https://discourse.gnome.org/t/gnome-40-login-is-to-the-activities-overview-mode-how-do-you-disable-this/5783].
See the discussion at [https://discourse.gnome.org/t/gnome-40-login-is-to-the-activities-overview-mode-how-do-you-disable-this/5783].


==== Extensions ====
==== Clipboard history ====


The catalogue of extensions is available at https://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/, where available updates can be checked. Installed extensions can also be enabled or disabled through a GUI with ''gnome-extensions-app'' or from the command line with {{man|1|gnome-extensions}}.
Unlike other desktop environments, GNOME does not have a built-in tool to manage the clipboard history. This can be done however with the help of an extension. Install {{AUR|gnome-shell-extension-clipboard-indicator}}.


{{Note|Installing extensions from https://extensions.gnome.org using a browser requires the installation of {{AUR|chrome-gnome-shell}} and the appropriate browser extension.}}
==== Weather ====


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.
To display the current weather information in the top panel based on a chosen location, install {{AUR|gnome-shell-extension-openweather}}. The weather information is updated in real-time and displays useful data such as conditions, wind speed, pressure, etc...


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 aforementioned package).
==== Sound input/output device selector ====
 
{{Accuracy|Probably not needed anymore as of Gnome 43}}
To list currently enabled extensions:
By default, if you want to change your sound input or output device or change your microphone's volume, you need to open GNOME Control Center and configure these settings from there. To integrate a device selector and a microphone volume slider, install {{AUR|gnome-shell-extension-sound-output-device-chooser}} or {{AUR|gnome-shell-extension-sound-output-device-chooser-git}}. Further configuration can be done after installation.
 
$ gsettings get org.gnome.shell enabled-extensions
 
The above command may list extensions that have been removed. To only list extensions that are enabled ''and'' installed, use ''gnome-extensions'' instead:
 
$ gnome-extensions list --enabled
 
For more information about GNOME shell extensions, see https://extensions.gnome.org/about/.


==== Fonts ====
==== Fonts ====
Line 433: Line 434:
==== Power ====
==== Power ====


When you are using a laptop you might want to alter the following settings controlling behavior when idle, screen lock power button presses and lid close:
When you are using a laptop, you might want to alter the following settings controlling behavior when idle, screen lock power button presses and lid close:


  $ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout ''3600''
  $ gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-timeout ''3600''
Line 456: Line 457:
===== Do not suspend when laptop lid is closed =====
===== Do not suspend when laptop lid is closed =====


The settings panel of GNOME does not provide an option for the user to change the action triggered when the laptop lid is closed. However {{Pkg|gnome-tweaks}} can override the setting applied by {{Pkg|systemd}}. On the tab ''General'' turn off the switch ''Suspend when laptop lid is closed''. The system will then not ''Suspend to RAM (S3)'' on lid close.
The settings panel of GNOME does not provide an option for the user to change the action triggered when the laptop lid is closed. However, {{Pkg|gnome-tweaks}} can override the setting applied by {{Pkg|systemd}}. On the tab ''General'' turn off the switch ''Suspend when laptop lid is closed''. The system will then not ''Suspend to RAM (S3)'' on lid close.


To change the lid switch action system-wide, ensure that the setting described above is '''not turned off''' and edit the systemd settings in {{ic|/etc/systemd/logind.conf}}. To turn off suspend on lid close, set {{ic|1=HandleLidSwitch=ignore}}, as described in [[Power management#ACPI events]].
To change the lid switch action system-wide, ensure that the setting described above is '''not turned off''' and edit the systemd settings in {{ic|/etc/systemd/logind.conf}}. To turn off suspend on lid close, set {{ic|1=HandleLidSwitch=ignore}}, as described in [[Power management#ACPI events]].
Line 476: Line 477:


When the service is active, power profiles can be managed through the ''Power'' section of GNOME Settings and in the system menu.
When the service is active, power profiles can be managed through the ''Power'' section of GNOME Settings and in the system menu.
==== Screencast ====
The built-in screenshot tool comes without the Screencast option by default. Install the {{Pkg|gst-plugin-pipewire}} optional dependency (of {{Pkg|gnome-shell}}) to enable screen recording.


=== Use a different window manager ===
=== 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 [[GNOME/Tips and tricks#Custom GNOME sessions|custom GNOME sessions]] which use alternative components.
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.
Under [[Wayland]], replacing GNOME Shell with a different compositor will cause certain sections of {{Pkg|gnome-control-center}} (GNOME Settings) to populate incorrectly. ''gnome-control-center'' will work, but since {{Pkg|mutter}} (GNOME Shell) will not be available to provide settings for populating these sections, they will not have an effect or may not populate accurately with your settings. Sections affected are bluetooth, display, and mouse/touchpad to name a few.


== See also ==
== See also ==

Latest revision as of 09:55, 28 March 2024

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. The default display is Wayland instead of Xorg and the available sessions are

  • GNOME, the default, runs GNOME Shell on Wayland. Traditional X applications are run through Xwayland.
  • GNOME Classic provides a "traditional desktop experience" (with an interface similar to GNOME 2) by using certain extensions and values. Thus, it is a customized form of GNOME Shell rather than a truly distinct mode.
  • GNOME on Xorg runs GNOME Shell using Xorg.

Installation

Two package groups are available:

  • gnome contains the base GNOME desktop and the well-integrated core applications;
  • gnome-extra contains further GNOME applications, including an email client, an IRC client, GNOME Tweaks, a set of games and development tools. 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.

Unstable releases can also be used, see Official repositories#gnome-unstable.

Starting

GNOME can be started either graphically with a display manager or manually from the console (some features may be missing). The display manager included in gnome is GDM.

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

If you installed the gnome group and want GNOME to start automatically on next boot, enable gdm.service. You can then select the desired session: GNOME, GNOME Classic (only displayed if gnome-shell-extensions is installed), or GNOME on Xorg from the display manager's session menu. Wayland sessions can be enabled/disabled in the GDM config.

If you prefer to start GNOME right away, thereby avoiding a reboot, start the aforementioned gdm.service from a graphically unoccupied tty instead.

Manually

Xorg sessions

  • For the GNOME on Xorg session, add to the ~/.xinitrc file (see [1] for details):
    export XDG_SESSION_TYPE=x11
    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
    

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, e.g. on tty1 by adding to .bash_profile:

if [[ -z $DISPLAY && $(tty) == /dev/tty1 ]]; then
  XDG_SESSION_TYPE=x11 GDK_BACKEND=x11 exec startx
fi

Wayland sessions

The factual accuracy of this article or section is disputed.

Reason: Executing gnome-session via dbus may cause issues or not work at all. Some issues include the inability to start Chrome/Chromium and the lack of a sound device. Running gnome-session directly may work better. (Discuss in Talk:GNOME#Manually start a Wayland session)
Note: An X server is still necessary to run applications that have not yet been ported to Wayland, see Wayland#Xwayland for details. Applications using certain graphics libraries, such as Qt, can be forced to use Wayland by setting environment variables. See Wayland#GUI libraries for more information.

Manually starting a Wayland session is possible with:

$ XDG_SESSION_TYPE=wayland dbus-run-session gnome-session

Running gnome-shell --wayland directly is not recommended, because it lacks session management.

Note that manual invocation of Gnome does not require gdm (consequently also the accompanying gdm.service) at all and is thus also accessible for users with a (possibly very) minimal installation of Gnome composing of a selected few packages included in the more inclusive gnome group in accordance to personal preference.

To start on login to tty1, add the previous line of code to your .bash_profile. Firefox and QT applications do not respect XDG_SESSION_TYPE, so add variables for them as well:

if [[ -z $DISPLAY && $(tty) == /dev/tty1 && $XDG_SESSION_TYPE == tty ]]; then
  MOZ_ENABLE_WAYLAND=1 QT_QPA_PLATFORM=wayland 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, https://docs.gtk.org/gtk3/running.html and https://docs.gtk.org/gtk4/running.html list 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 notification list
  • Super+a: show application grid
  • 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).

See /Tips and tricks#Navigation for changes to the default configuration making the window-switching resemble that of Windows.

See Keyboard navigation for more shortcuts.

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
Text Editor Gedit
Videos Totem
Main Menu Alacarte
Document Viewer Evince
Disk Usage Analyzer Baobab
Image Viewer EoG (Eye of GNOME)
Passwords and Keys Seahorse
GNOME Translation Editor Gtranslator

Configuration

GNOME Settings (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(1) command line tool. This also allows you to configure settings not exposed by the user interfaces. Command line tool dconf(1) can directly modify the underlying database, bypassing validation. The configuration keys of gsettings and dconf are equivalent, but in a slightly different format: gsettings set mygroup.mysubgroup mysetting myvalue in gsettings would be dconf write /mygroup/mysubgroup/mysetting myvalue in dconf.

Up until GNOME 3.24, settings were applied by the GNOME settings daemon (located at /usr/lib/gnome-settings-daemon/gnome-settings-daemon), which could be run outside of a GNOME session.

GNOME 3.24, however, replaced the GNOME settings daemon with several separate settings plugins /usr/lib/gnome-settings-daemon/gsd-* which were later moved to /usr/lib/gsd-*. These plugins are now controlled via desktop files under /etc/xdg/autostart/ (matching 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 the Night Light Slider extension.
Note: Night Light works on NVIDIA cards in Wayland sessions since version 545.29.02

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.

GNOME supports automatic time zone selection (can be enabled in Date & Time section of the system settings, given that location services are enabled (see Privacy section of the settings).

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 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 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.
Resize windows by mouse

By default, you can use your mouse to move windows by holding down Super, clicking and holding the left mouse button and dragging the mouse around.

Additionally, you can enable using your mouse to resize windows by holding down Super, clicking and holding the right mouse button and dragging the mouse around:

$ gsettings set org.gnome.desktop.wm.preferences resize-with-right-button true

If you don't like the Super key, you can also change the modifier to something else, like Alt or Ctrl:

$ gsettings set org.gnome.desktop.wm.preferences mouse-button-modifier "'<Alt>'"

Network

NetworkManager is the native tool of the GNOME project to control network settings from the shell. If you have not already, install the networkmanager package and enable the NetworkManager.service systemd unit.

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

Note: Hidden wireless networks set up with networkmanager's nmtui do not connect automatically. You need to create a new profile using GNOME control center in order to restore auto-connect capabilities for that network.

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

See Online accounts for more information.

Search

The GNOME shell has a search that can be quickly accessed by pressing the Super key and starting to type. The tracker3 package is installed by default as a dependency of tracker3-miners from the gnome group and provides an indexing application and metadata database. It can be configured with the Search menu item in Settings. It is started automatically by gnome-session when the user logs in. Tracker does not automatically recurse into all directories under the user's home directory, so you may need to add custom paths via the Search > Search locations menu item. To exclude a directory from the indexing, create an empty .nomedia file. See also Tracker FAQ.

A status is available with tracker3 status and indexing can be started manually with tracker3 daemon -s. The Tracker database can be queried using the tracker3 sparql command. See tracker3-sparql(1) for more information.

Accessibility

GNOME has accessibility settings available via Settings > Accessibility. The main settings may be toggled directly after enabling a top bar icon, but note further settings are available via the sub-menus for Seeing, Hearing, Typing, Pointing and clicking and Zoom.

Device Security Settings

GNOME 43 comes with a new Device Security panel in Settings. This requires fwupd in order to function. See [3].

Advanced settings

As noted above, many configuration options such as changing the GTK theme or the window manager theme are not exposed in GNOME Settings (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(1) (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.

Extensions

The catalogue of extensions is available at https://extensions.gnome.org, they can be installed either through official repositories (only a few), the AUR or through the browser.

The factual accuracy of this article or section is disputed.

Reason: The note below suggests manual user file management as recommended since it is "easier" but does not explain why. (Discuss in Talk:GNOME)
Note:
  • Installing extensions through the browser makes them available for the current user only and requires you to manually update each one. This is the easier method.
    • Additionally, if you decided to install extensions from the browser instead, you need to install gnome-browser-connector. It is not required to install extensions from the official repositories or the AUR.
  • Installing extensions through the AUR (or through official repositories, if you find them there) makes them available system-wide (and automates the update process if using an AUR helper).

Installed extensions can also be configured, enabled or disabled through a GUI with gnome-extensions-app, from the command line with gnome-extensions(1), or from the browser. In your browser, extensions can be installed then activated in the browser by setting the switch in right top right 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/, where available updates can be checked.

The gnome-shell-extensions package provides a set of very useful extensions maintained as part of the GNOME project.

extension-managerAUR is a graphical tool which can also be used to install and remove extensions, as well as enable and disable them, both system-wide and for a user. Prior to using it, consider its list of well known issues: https://github.com/mjakeman/extension-manager/labels/bug

To enable usage of extensions (disabled by default):

$ gsettings set org.gnome.shell disable-user-extensions false

To list currently enabled extensions:

$ gsettings get org.gnome.shell enabled-extensions

The above command may list extensions that have been removed. To only list extensions that are enabled and installed, use gnome-extensions instead:

$ gnome-extensions list --enabled

For more information about GNOME shell extensions, see https://extensions.gnome.org/about/.

Appearance

Themes
Note: As of Gnome 42, many default Gnome applications use GTK 4 with libadwaita. These apps do not currently support changing themes through gsettings or gnome-tweaks, the only visual configuration available is through Settings > Appearance. See GTK#Themes for setting a GTK theme other than Adwaita or Adwaita-dark.

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
Note: The Adwaita-dark theme is provided by gnome-themes-extra which may not be installed on a minimal installation of GNOME.

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#Icon themes.

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

There are a number of GNOME Shell themes available in the AUR, many themes do not have the same name format, so instead try searching for the appropriate theme in the AUR. Shell themes can also be downloaded from gnome-look.org.

AppIndicators/Top bar icons

To enable AppIndicators, which is useful for controlling/monitoring certain applications running in the background, Install gnome-shell-extension-appindicator or gnome-shell-extension-appindicator-gitAUR, restart the GNOME Shell, then enable the AppIndicator extension in the GNOME Extensions application or by running

$ gnome-extensions enable $(gnome-extensions list | grep -m 1 appindicatorsupport)
Shell animation speed

The GNOME shell animation can be sped up, slowed down or disabled. See GNOME/Tips and tricks#Change animation speed.

Shell blur

Blur my Shell is an extension that adds blur effects to the overview screen as well as the shell itself and other apps. Install gnome-shell-extension-blur-my-shellAUR or gnome-shell-extension-blur-my-shell-gitAUR for development updates. This extension is highly customizable, and you may choose to blur certain applications.

Rounded corners

Most GNOME applications have a round appearance only on their top corners, while legacy windows have all four corners sharp. To make all corners of all windows round, install gnome-shell-extension-rounded-window-cornersAUR.

Tip: If a window renders incorrectly, you can blacklist it through the preferences dialog of this extension.
Better Alt-Tab Functionality

The default Alt-Tab in GNOME is very simple and does not show overviews of the selected windows. You can change the Alt-Tab shortcut from "Switch Applications" to "Switch Windows" in Settings to show window overviews.

You can also use Coverflow Alt-Tab. It is an extension that expands the Alt-Tab behavior and adds features to make switching between applications easier while also giving it a better look. Install gnome-shell-extension-coverflow-alt-tab-gitAUR, then you may change the configuration of this extension to your liking.

Note: Super-` provides "Switch windows of an application` by default.

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. This also provides functionality to disable system-wide autostarted applications, something that gnome-tweaks does not allow.

Desktop

Dash to Dock

To move the dash out of the overview and turn it into a dock to easily launch and switch applications, install gnome-shell-extension-dash-to-dockAUR.

Startup in Overview Mode

Starting from GNOME 40, the desktop will start directly into Overview Mode instead of an empty desktop (like in previous versions). To mimic legacy behaviour, one may install gnome-shell-extension-no-overviewAUR.

Alternatively, you can disable it using gsettings if using gnome-shell-extension-dash-to-dockAUR:

$ gsettings set org.gnome.shell.extensions.dash-to-dock disable-overview-on-startup true

See the discussion at [4].

Clipboard history

Unlike other desktop environments, GNOME does not have a built-in tool to manage the clipboard history. This can be done however with the help of an extension. Install gnome-shell-extension-clipboard-indicatorAUR.

Weather

To display the current weather information in the top panel based on a chosen location, install gnome-shell-extension-openweatherAUR. The weather information is updated in real-time and displays useful data such as conditions, wind speed, pressure, etc...

Sound input/output device selector

The factual accuracy of this article or section is disputed.

Reason: Probably not needed anymore as of Gnome 43 (Discuss in Talk:GNOME)

By default, if you want to change your sound input or output device or change your microphone's volume, you need to open GNOME Control Center and configure these settings from there. To integrate a device selector and a microphone volume slider, install gnome-shell-extension-sound-output-device-chooserAUR or gnome-shell-extension-sound-output-device-chooser-gitAUR. Further configuration can be done after installation.

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.

WEBP, thumbnails

Install webp-pixbuf-loader to make GNOME's image viewer (eog) work with WEBP images, and add a thumbnailer which creates thumbnails for WEBP images to display them in GNOME Files.

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 under Keyboard > Input Sources in GNOME Settings (gnome-control-center).

Keyboard Layout quirks

If you are using an alternative keyboard layout like Neo2 which uses multiple layers/modifiers, you might need to go to Keyboard > Type Special Characters in GNOME Settings (gnome-control-center) and change the Alternate Characters Key away from Right Alt so that it can be used as a native modifier of the keyboard layout. Setting it to e.g. Left Alt prevents Alt+Tab, so be careful what you change it to. Without this change, your left Mod3 key might work, but the right one (AltGr) does not. (As of 2021-05-18)

Power

When you are using a laptop, you might want to alter the following settings controlling behavior when idle, screen lock power button presses and lid close:

$ 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
Do not suspend when laptop lid is closed

The settings panel of GNOME does not provide an option for the user to change the action triggered when the laptop lid is closed. However, gnome-tweaks can override the setting applied by systemd. On the tab General turn off the switch Suspend when laptop lid is closed. The system will then not Suspend to RAM (S3) on lid close.

To change the lid switch action system-wide, ensure that the setting described above is not turned off and edit the systemd settings in /etc/systemd/logind.conf. To turn off suspend on lid close, set HandleLidSwitch=ignore, 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
Power modes

Install the power-profiles-daemon optional dependency (of gnome-control-center) for power profiles support. Explicitly starting/enabling the power-profiles-daemon service is unnecessary since gnome-shell and GNOME Settings both request its activation upon launching.

When the service is active, power profiles can be managed through the Power section of GNOME Settings and in the system menu.

Screencast

The built-in screenshot tool comes without the Screencast option by default. Install the gst-plugin-pipewire optional dependency (of gnome-shell) to enable screen recording.

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.

Under Wayland, replacing GNOME Shell with a different compositor will cause certain sections of gnome-control-center (GNOME Settings) to populate incorrectly. gnome-control-center will work, but since mutter (GNOME Shell) will not be available to provide settings for populating these sections, they will not have an effect or may not populate accurately with your settings. Sections affected are bluetooth, display, and mouse/touchpad to name a few.

See also