GNOME 50 Customization: Tweaks, Extensions and Settings

Quick start

Install the two tools that cover almost every tweak, then use gsettings for the rest:

# Ubuntu / Debian
sudo apt install gnome-tweaks gnome-shell-extension-manager
# Fedora
sudo dnf install gnome-tweaks
flatpak install flathub com.mattjakeman.ExtensionManager
# Arch
sudo pacman -S gnome-tweaks extension-manager

Before changing anything, back up your current settings: dconf dump / > ~/dconf-backup.ini.

Where GNOME settings live

GNOME has three layers of configuration, and knowing which one holds an option saves a lot of searching:

ToolWhat it covers
Settings (gnome-control-center)Appearance (light/dark, accent colour), displays and scaling, keyboard shortcuts, mouse and touchpad, power, sound, multitasking (hot corner, workspaces).
Tweaks (gnome-tweaks)Fonts and hinting, titlebar buttons, legacy GTK3 themes, startup applications, keyboard extras like Caps Lock remapping.
Extension ManagerBrowse, install, update and configure GNOME Shell extensions without a browser add-on.
gsettings / dconfEverything above and many hidden keys, from the terminal. Good for scripts and new installs.

All of them write to the same dconf database in ~/.config/dconf/user, so a change in one appears in the others.

Common tweaks with gsettings

Each command takes effect immediately and can be undone with gsettings reset SCHEMA KEY.

# minimize and maximize buttons
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
# buttons on the left, macOS style
gsettings set org.gnome.desktop.wm.preferences button-layout 'close,minimize,maximize:appmenu'
# dark style for GTK4/libadwaita apps
gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
# battery percentage in the top bar
gsettings set org.gnome.desktop.interface show-battery-percentage true
# weekday and seconds in the clock
gsettings set org.gnome.desktop.interface clock-show-weekday true
gsettings set org.gnome.desktop.interface clock-show-seconds true
# disable the top-left hot corner
gsettings set org.gnome.desktop.interface enable-hot-corners false
# open new windows centred
gsettings set org.gnome.mutter center-new-windows true
# fixed number of workspaces
gsettings set org.gnome.mutter dynamic-workspaces false
gsettings set org.gnome.desktop.wm.preferences num-workspaces 4
# tap to click on touchpads
gsettings set org.gnome.desktop.peripherals.touchpad tap-to-click true
# click the dock icon to minimise (Ubuntu dock / Dash to Dock)
gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

To find keys yourself, list a schema or search all of them:

gsettings list-recursively org.gnome.desktop.interface
gsettings list-recursively | grep -i battery
# graphical browser for every key
sudo apt install dconf-editor     # dnf install dconf-editor / pacman -S dconf-editor

Extensions worth knowing

Extensions change GNOME Shell itself: the panel, dock, overview and window behaviour. Install them from Extension Manager (search, click Install) or from extensions.gnome.org.

ExtensionWhat it does
Dash to Dock / Dash to PanelA permanent dock, or a Windows-style taskbar combining panel and dock. Ubuntu's dock is a fork of Dash to Dock, so don't run both.
AppIndicator and KStatusNotifierItem SupportTray icons for apps like Discord, Steam, Dropbox. Preinstalled on Ubuntu.
Blur my ShellBlurred panel, overview and app backgrounds.
CaffeinePrevents the screen from locking or sleeping while toggled on.
Clipboard IndicatorClipboard history in the top bar.
GSConnectKDE Connect for GNOME: phone notifications, file transfer, clipboard sharing.
VitalsCPU, memory, temperature and network readouts in the panel.

Command-line management with the built-in gnome-extensions tool:

gnome-extensions list --enabled
gnome-extensions disable [email protected]
gnome-extensions enable [email protected]
gnome-extensions prefs blur-my-shell@aunetx

On Wayland, newly installed extensions from a zip file need a log out and back in before they appear; GNOME Shell cannot restart in place on Wayland the way it could with Alt+F2, r on X11.

Extensions and GNOME upgrades

Each extension lists the GNOME Shell versions it supports. After a major upgrade (for example GNOME 48 or 49 to 50 when you upgrade Ubuntu or Fedora), unsupported extensions are disabled until their authors update them. Check gnome-shell --version and update in Extension Manager. Extensions run inside the shell, so a buggy one can crash your session; install only those you actually use.

Themes, icons, cursors and fonts

GNOME's own apps use libadwaita and follow the system light/dark style and accent colour from Settings → Appearance. They deliberately ignore old GTK themes. Legacy GTK3 apps and the shell can still be themed:

# user-level locations (create them if missing)
mkdir -p ~/.local/share/themes ~/.local/share/icons
# set icon and cursor themes after copying them in
gsettings set org.gnome.desktop.interface icon-theme 'Papirus'
gsettings set org.gnome.desktop.interface cursor-theme 'Adwaita'
gsettings set org.gnome.desktop.interface cursor-size 32
# legacy GTK3 theme
gsettings set org.gnome.desktop.interface gtk-theme 'adw-gtk3-dark'

The adw-gtk3 theme (packaged on Fedora, Arch and Debian/Ubuntu-based distros, or from Flathub for Flatpak apps) makes GTK3 apps look like libadwaita ones, which is the least disruptive way to get a consistent look. Shell themes require the User Themes extension.

Fonts and text scaling live in Tweaks → Fonts. Text scaling (for example 1.10) is gentler than display scaling for slightly-too-small text:

gsettings set org.gnome.desktop.interface text-scaling-factor 1.1
gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'

Displays, scaling and multiple monitors

In Settings → Displays choose resolution, refresh rate, scale and which monitor is primary. Fractional scaling (125%, 150%) is offered there on current GNOME releases. Two things to know:

  • Blurry X11 apps at fractional scale. Apps running through XWayland can look soft at 125% or 150%. Most current apps are native Wayland; for Electron apps, launch them with --ozone-platform=wayland or set it in the app's settings.
  • Per-monitor settings are stored in ~/.config/monitors.xml. Deleting it resets display configuration if a bad setting leaves you with a black screen; copy it to /var/lib/gdm/.config/ (or /var/lib/gdm3/.config/ on Debian/Ubuntu) to apply your layout to the login screen too.

GNOME 50 runs only on Wayland, so X11 tools like xrandr and xdotool don't control the desktop. See Wayland vs X11 for replacements.

Keyboard shortcuts and window behaviour

Settings → Keyboard → View and Customise Shortcuts lists everything, with Custom Shortcuts at the bottom for launching commands. Useful defaults: Super (overview), Super+A (apps), Super+Arrow (tile left/right/maximise), Super+Page Up/Down (workspaces), Print (screenshot UI), Super+V (notifications).

# Super+E opens the file manager
gsettings set org.gnome.settings-daemon.plugins.media-keys home "['<Super>e']"
# Caps Lock as an extra Ctrl
gsettings set org.gnome.desktop.input-sources xkb-options "['ctrl:nocaps']"
# alt-tab switches windows instead of applications
gsettings set org.gnome.desktop.wm.keybindings switch-windows "['<Alt>Tab']"
gsettings set org.gnome.desktop.wm.keybindings switch-applications "[]"

Distro differences

DistroWhat GNOME looks like by default
Ubuntu 26.04GNOME 50 with Ubuntu Dock, app indicators, Yaru theme and minimize/maximize buttons already enabled. Dock options in Settings → Ubuntu Desktop.
Fedora Workstation 44Nearly unmodified upstream GNOME 50: no dock, close button only. Extension Manager from Flathub.
Debian 13Upstream GNOME at the version trixie shipped with (older than 50, still offers an X11 session). Extensions from apt, e.g. gnome-shell-extension-dashtodock.
ArchUpstream GNOME, current version. Many extensions in the AUR or via Extension Manager.
openSUSE TumbleweedUpstream GNOME with light branding; sudo zypper install gnome-tweaks.

Reset or recover a broken GNOME setup

If the desktop crashes on login or something looks wrong after a tweak, work from least to most drastic:

# 1. disable all extensions (from a TTY: Ctrl+Alt+F3)
gsettings set org.gnome.shell disable-user-extensions true
# 2. reset one area
dconf reset -f /org/gnome/shell/
dconf reset -f /org/gnome/desktop/interface/
# 3. reset all GNOME settings (back up first)
dconf dump / > ~/dconf-backup.ini
dconf reset -f /org/gnome/
# restore later
dconf load / < ~/dconf-backup.ini

Extensions you installed yourself live in ~/.local/share/gnome-shell/extensions/; deleting a folder there removes the extension. Logging in still fails? Check journalctl --user -b -p err and journalctl -b _COMM=gnome-shell for the error. If you would rather have a more configurable desktop, compare the KDE Plasma guide and Xfce configuration.

Frequently asked questions

How do I add minimize and maximize buttons in GNOME?

Run gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close', or use GNOME Tweaks → Windows → Titlebar Buttons.

Why did my GNOME extensions stop working after an upgrade?

Extensions declare which GNOME Shell versions they support, and GNOME disables them after a major version change until the author releases an update. Update them in Extension Manager, or wait for a compatible release.

Can I get the X11 session back in GNOME 50?

No. GNOME 50 removed the X11 session entirely. X11 apps keep working through XWayland; if you need a full X11 desktop, use KDE Plasma or Xfce.

How do I reset GNOME to default settings?

Run dconf reset -f /org/gnome/ and log out. Back up first with dconf dump / > ~/dconf-backup.ini.

Spotted a mistake or a command that no longer works? Send a correction — pages are re-checked when reports come in.