These are my personal notes on how to set up a new GNOME desktop environment (preferably Debian stable). This documentation started with GNOME 48 of Debian 13 (Trixie).
(For the record: I was using the XFCE desktop environment for more than 15 years until 2025-08 when I wanted to try out something new with some additional amenities and better styling.)
This information was published [2025-08-18 Mon] on https://tinyurl.com/abr348xx "https://md.darmstadt.ccc.de/MmnrI-LwQTGXVIgYrCN2Qw?view">https://md.darmstadt.ccc.de/MmnrI-LwQTGXVIgYrCN2Qw?view → probably will be deleted soon.
General GNOME Notes for Setup and Initial Steps
- Switching Workspaces: Win + PgUp/Dn (default bindings)
Settings
- Power
- Power Settings Options: Suspend/…
- Show Battery Percentage
- Sharing
- Remote Desktop (incl. Remote controlling)
- Multitasking
- Application Switching: "Include applications for all workspaces"
- Keyboard
- Input Sources: setup "English (US, intl., with dead keys)"
- View and Customize Shortcuts
- Naviation
- "Switch windows" → Alt-Tab (by default, Alt-Tab switches between apps, not windows)
- System > "Show the overview" = C-F8
- … additional mapping for the GNOME overview for my personal setup (default = Win-Key)
- Naviation
- Search
- disable: Clocks
- Search Locations → bottom: add custom folders for desktop search
Extensions
- install GNOME app "Extensions" for managing extensions on your desktop: https://extensions.gnome.org/
- In general, I prefer to see everything in the one single (top) bar:
- all windows of the current workspace (= virtual desktop)
- basic stats on usage of: CPU, networking bandwidth
- clipboard with multiple entries
- date/time/weekday
- the usual notifications: sound, battery, …
Dash to Panel: app icons in the top (main) panel
Clipboard indicator: multiple clipboards
Astra: CPU Meter, ...
Hibernate status button
Somehow, you need an extension to expose relevant sleep/suspend/hibernate/... entries:
- https://extensions.gnome.org/extension/755/hibernate-status-button/
- https://wiki.ubuntuusers.de/systemd-sleep/
- suspend = s2ram = suspend to RAM
- hibernate = s2disk = suspent to disk (SSD)
- hybrid-sleep = s2ram+s2disk at the same time; my interpretation: s2disk will only be used when battery drains during suspend
- suspend-then-hibernate = s2ram + after pre-defined time, computer
resumes (via BIOS clock/RTC) and does s2disk
- I personally don't use this
- https://wiki.ubuntuusers.de/systemd-sleep/
Battery Health Charging: set/control batt limits
WSP (Windows Search Provider): Search for window /titles/ in the default search (not just applications)
Mouse Follows Focus: fix wrong mouse placement when using "WSP"
Eye on Cursor: Replacement for xeyes to spot the mouse pointer
I like this method to spot the mouse pointer when using multiple screens.
Move To Next Screen: move windows to left/right screen
Wallpaper Slideshow: Image folder slideshow for desktop images
I'm using a Synchthing share that holds all photographs of mine that are marked as "suitable as desktop background" for the current month.
All Windows + Save/Restore Window Positions
Just in case the built-in method doesn't turn out to be stable. This extension might be removed later.
- https://extensions.gnome.org/extension/4833/all-windows-saverestore-window-positions/
- https://github.com/jkavery/all-windows
Window Gestures: More options for touch gestures
On multi-touch devices:
"User Themes"
So far, I'm satisfied with the current default styling. This is just in case I want to try out some themes:
- depending on your mood/taste and risk appetite since some themes aren't tested much: non visible highlightings, …
Tweaks
Go through all all options! -> many interesting switches here!
- Appearance
- Themes (may require logout/login to enable for 1st time + Extensions→"User Themes" above)
- Keyboard & Mouse
- Additional Layout Options: CAPS -> Ctrl (scripted)
- Windows
- Window Titlebars
- Maximize/Minimize (scripted)
- Focus on Hover (scripted)
- Window Titlebars
gsettings set org.gnome.desktop.input-sources xkb-options "['caps:ctrl_modifier']" gsettings set org.gnome.desktop.wm.preferences button-layout appmenu:minimize,maximize,close gsettings set org.gnome.desktop.wm.preferences focus-mode sloppy
Themes
So far, I'm satisfied with the current default styling. This is just in case I want to try out some themes:
- https://itsfoss.com/install-switch-themes-gnome-shell/
- initial setup needs reboot(?)
- https://itsfoss.com/best-gtk-themes/
- try: WhiteSur
- try: Ultimate Dark
- user customizations
- ~/.icons
- ~/.themes
Text Snippets
I was using AutoKey for many years with xfce. With Wayland, this doesn't work any more.
I need to find a new method.
TODO find out a snippet solution (Autokey has issues with Wayland)
https://forum.manjaro.org/t/macopa-texpander-fork-for-wayland/172771 + https://gitlab.com/cscs/waybinder
DIY with Python: https://luxagraf.net/src/replacing-autokey-wayland-plain-text-snippets
Auto-Login
ALSO: Settings → Users → ... → Auto-Login option in UI
/etc/gdm/custom.conf
[daemon] AutomaticLoginEnable=True AutomaticLogin=username
impove GNOME Shell performance (disable animation)
- Why? On X13/jackson, Super-key shows Window previews. This is slow when I just want to switch to a different window.
gsettings set org.gnome.desktop.interface enable-animations false
adapt default directories
I dislike the default folders.
Defaults: ~/.config/user-dirs.dirs
# This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run. # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. # XDG_DESKTOP_DIR="$HOME/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/Templates" XDG_PUBLICSHARE_DIR="$HOME/Public" XDG_DOCUMENTS_DIR="$HOME/Documents" XDG_MUSIC_DIR="$HOME/Music" XDG_PICTURES_DIR="$HOME/Pictures" XDG_VIDEOS_DIR="$HOME/Videos"
On jackson/x13: (outdated example)
# This file is written by xdg-user-dirs-update # If you want to change or add directories, just edit the line you're # interested in. All local changes will be retained on the next run. # Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped # homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an # absolute path. No other format is supported. # XDG_DESKTOP_DIR="$HOME/tmp/2del/Desktop" XDG_DOWNLOAD_DIR="$HOME/Downloads" XDG_TEMPLATES_DIR="$HOME/templates_labels" XDG_PUBLICSHARE_DIR="$HOME/tmp/2del/Publicshare" XDG_DOCUMENTS_DIR="$HOME/rise" XDG_MUSIC_DIR="$HOME/art/music/mp3/library" XDG_PICTURES_DIR="$HOME/tmp/2del" XDG_VIDEOS_DIR="$HOME/share/netvideos"