Chapter 3: GNOME Desktop
Learning Objectives
By the end of this chapter, you will be able to:
- Navigate the GNOME desktop environment confidently
- Use the Activities overview and application launcher
- Customize your desktop with themes and extensions
- Manage windows, workspaces, and virtual desktops
- Install applications via GNOME Software
Prerequisites
- Completed Chapter 2
- Linux installed and running
- Working internet connection
GNOME Overview
What is GNOME?
GNOME (GNU Network Object Model Environment) is a complete desktop environment for Linux. It provides:
- Graphical User Interface (GUI) — Point-and-click interaction
- Core Applications — File manager, web browser, terminal, settings
- System Integration — Manages displays, audio, notifications
GNOME Philosophy
GNOME follows a modern, minimal design philosophy:
graph LR
A[GNOME Design Principles] --> B[Simplicity]
A --> C[Consistency]
A --> D[Accessibility]
A --> E[Internationalization]
B --> B1[Clean, uncluttered interface]
C --> C1[Same patterns everywhere]
D --> D1[Usable by everyone]
E --> E1[Available in 40+ languages]
Key Design Elements:
- Top Bar: System status, clock, notifications
- Activities Overview: Application launcher and window manager
- Dash: Favorite applications dock
- Dynamic Workspaces: Automatic virtual desktop management
GNOME vs Other Desktop Environments
| Feature | GNOME | KDE Plasma | XFCE |
|---|---|---|---|
| Philosophy | Modern, minimal | Highly customizable | Traditional, lightweight |
| Resource Usage | Medium | Low-Medium | Low |
| Default on | Fedora, Debian, Ubuntu | Kubuntu, KDE neon | Xubuntu, Mint XFCE |
| Touch/Gestures | Excellent | Good | Basic |
| Learning Curve | Medium | Low-Medium | Low |
Desktop Navigation
The GNOME Layout
┌─────────────────────────────────────────────────────────┐
│ [Activities] [App Name] □ 🌙 📶 🔋 2:45 PM │ ← Top Bar
├─────────────────────────────────────────────────────────┤
│ │
│ │
│ Desktop Area │
│ (or Windows) │
│ │
│ │
├─────────────────────────────────────────────────────────┤
│ [🔍] [📁] [🖥️] [⚙️] [📧] │ ← Dash
└─────────────────────────────────────────────────────────┘
The Top Bar
The top bar is your command center:
┌─────────────────────────────────────────────────────────────────┐
│ [Activities] [Application Menu] [Status] [Calendar] [Sys] │
└─────────────────────────────────────────────────────────────────┘
↓ ↓ ↓ ↓
Click to see Current app's Volume, Notifications,
Activities menu (if open) network, calendar, power
(or "Activities") battery
Components:
- Activities Button (top-left): Opens overview
- Application Menu (center): Current app's menu
- Status Indicators (right): System tray icons
- Clock (right): Click for calendar and notifications
- System Menu (far-right): Settings, power, logout
Try this: Click the clock to see the calendar and notifications!
Keyboard Shortcuts (Essential!)
Master these to become efficient:
| Action | Shortcut |
|---|---|
| Open Activities Overview | Super (Windows key) or Alt+F1 |
| Application Search | Super, then type |
| Switch Windows | Alt+Tab |
| Switch Workspaces | Super+PageUp/PageDown |
| Show All Applications | Super+A |
| Open Terminal | Super+Enter (if configured) |
| Close Window | Alt+F4 or Super+Q |
| Hide Window | Super+H |
| Lock Screen | Super+L |
| Screenshot | PrintScreen |
💡 Pro Tip: The
Superkey is the Windows key on most keyboards. macOS users can useCommandin most cases.
Activities Overview
What is Activities Overview?
The Activities Overview is GNOME's central hub. Press the Super key to activate it.
flowchart TD
A[Activities Overview] --> B[Application Grid]
A --> C[Window Selector]
A --> D[Workspace Switcher]
A --> E[Search Bar]
B --> B1[Click to launch apps]
C --> C1[Click to focus windows]
D --> D1[Switch between desktops]
E --> E1[Type to search anything]
Navigating the Overview
Opening Applications
- Press
Superto open Activities - Click the grid icon (bottom-left) to show All Applications
- Scroll or search to find your app
- Click to launch
Switching Between Windows
- Press
Superfor Activities - Click on any window thumbnail to focus it
- Or press
Alt+Tabfor quick switching
Managing Workspaces
- Press
Superfor Activities - Look at the right side — you'll see workspaces
- Drag windows between workspaces
- Click a workspace to switch to it
Search from Activities
The search bar in Activities is powerful:
# Type in the search bar to find:
> firefox # Launch applications
> "document" # Find files by name
> "wifi" # Search settings
> calc # Calculator
> # Web search (if enabled)
Search Categories:
- Applications
- Settings
- Files (indexed in your home directory)
- Calculator (type equations)
- Web search (optional)
Pinned Favorites (Dash)
The Dash is the dock at the bottom of the screen with your favorite apps.
To add a favorite:
- Open Activities → All Applications
- Right-click an app
- Select "Add to Favorites"
To remove a favorite:
- Right-click the app in the Dash
- Select "Remove from Favorites"
Window Management
Window Actions
| Action | Mouse | Keyboard |
|---|---|---|
| Move window | Drag title bar | Alt+F7 then arrows |
| Resize window | Drag edges/corners | Alt+F8 then arrows |
| Maximize | Click maximize button | Super+↑ or Alt+F10 |
| Unmaximize | Click unmaximize | Super+↓ |
| Minimize/Hide | Click minimize | Super+H |
| Close | Click × or Alt+F4 | Alt+F4 |
| Always on Top | Right-click title bar | Not available by default |
Tiling Windows (Snap to Edge)
Drag a window to the edge of the screen to tile it:
┌──────────────────────────────────────────────┐
│ Drag to left edge: │
│ ┌──────────┬─────────────────────────────────┐│
│ │ │ ││
│ │ Window 1 │ Empty / Window 2 ││
│ │ (50%) │ (50%) ││
│ └──────────┴─────────────────────────────────┘│
└──────────────────────────────────────────────┘
Drag to corner: Quarter screen
Keyboard Tiling:
Super+←→ Left halfSuper+→→ Right halfSuper+↑→ MaximizeSuper+↓→ Restore/Minimize
Virtual Workspaces
GNOME uses dynamic workspaces — they're created and destroyed as needed.
Understanding Workspaces:
Workspace 1: Browser, Terminal
Workspace 2: Code Editor, File Manager
Workspace 3: Music, Chat
Workspace Shortcuts:
| Action | Shortcut |
|---|---|
| Switch to next workspace | Super+PageDown |
| Switch to previous workspace | Super+PageUp |
| Move window to next workspace | Super+Shift+PageDown |
| Open new workspace | Just drag a window to empty space |
Customization (Themes, Extensions)
GNOME Settings Overview
Open Settings via:
- System Menu → Settings (gear icon)
- Activities → Search "Settings"
- Terminal:
gnome-control-center
Appearance Settings
Settings → Appearance:
┌─────────────────────────────────────────┐
│ Appearance │
├─────────────────────────────────────────┤
│ Style: │
│ ○ Light ● Dark ○ Dark with Accent │
│ │
│ Accent Color: │
│ ● Blue ○ Green ○ Orange, etc. │
│ │
│ Background: [Change...] │
│ Lock Screen: [Change...] │
│ Application Icons: [Adwaita] │
└─────────────────────────────────────────┘
Dark Mode:
# Terminal command to toggle dark mode
$ gsettings set org.gnome.desktop.interface gtk-theme 'Adwaita-dark'
Desktop Background
To change wallpaper:
- Open Settings → Appearance
- Click Background or Lock Screen
- Choose from defaults or click Add Picture...
Supported formats: JPG, PNG, WebP, SVG
GNOME Extensions
Extensions add functionality to GNOME. Think of them like browser extensions for your desktop.
Popular Extensions
| Extension | Purpose |
|---|---|
| Dash to Dock | Transform the Dash into a configurable dock |
| AppIndicator/KStatusNotifierItem | Tray icons (Discord, Spotify, etc.) |
| ArcMenu | Windows-style start menu |
| Blur my Shell | Blur effects on overview, dash |
| GSConnect | Pair Android phone with desktop |
| Caffeine | Prevent screen from automatically locking |
Installing Extensions
Method 1: GNOME Software (Easiest)
- Open GNOME Software
- Search for "Extensions" app
- Install "Extensions" (the manager app)
- Browse and install extensions directly
Method 2: Web Browser
- Visit extensions.gnome.org
- Browse extensions
- Toggle switch to install (requires browser extension)
- Open Extensions app to manage
Method 3: Terminal (Advanced)
# Install GNOME Shell integration
$ sudo dnf install gnome-shell-extensions
# Install specific extensions
$ sudo dnf install gnome-shell-extension-dash-to-dock
$ sudo dnf install gnome-shell-extension-appindicator
Managing Extensions
Open the Extensions app to:
- Enable/disable extensions
- Configure extension settings
- Remove unwanted extensions
⚠️ Warning: Some extensions can cause system instability. Install only what you need.
Font Customization
Settings → Fonts:
| Setting | Description | Default |
|---|---|---|
| Interface Text | UI font | Cantarell 11 |
| Document Text | Document reading | Sans 11 |
| Monospace Text | Code, terminal | Monospace 11 |
| Legacy Window Titles | Older apps | Sans 11 |
| Antialiasing | Smooth edges | Subpixel |
| Scaling Factor | Text size | 1.0 |
Terminal:
# Change interface font size
$ gsettings set org.gnome.desktop.interface document-font-name 'Sans 12'
# Change monospace font
$ gsettings set org.gnome.desktop.interface monospace-font-name 'Monospace 12'
System Settings
Essential Settings to Configure
1. Network (WiFi & Ethernet)
Settings → Network
# Quick status check in terminal
$ nmcli connection show
$ nmcli device wifi list
Connect to WiFi:
- Click the network icon in top bar
- Select your network
- Enter password
Forgetting a network:
- Settings → Network
- Click the gear icon next to the network
- Click Forget
2. Display & Monitors
Settings → Display
- Resolution: Usually auto-detected
- Scale: For high-DPI (4K/Retina) displays
- Refresh Rate: Higher = smoother motion
Multiple Monitors:
┌────────────────┐ ┌────────────────┐
│ Display 1 │ │ Display 2 │
│ (Primary) │ │ (Secondary) │
└────────────────┘ └────────────────┘
[Set as Primary] [Arrange]
Arrangement: Drag displays to match physical layout.
3. Sound & Volume
Settings → Sound
| Setting | Purpose |
|---|---|
| Output | Speakers/headphones |
| Input | Microphone |
| System Sounds | Alert sounds |
| Volume | Master volume level |
Quick Mute: Click volume icon → select Mute
4. Power & Battery
Settings → Power
| Profile | Use Case |
|---|---|
| Balanced Power | Default for most users |
| Power Saver | Extend battery life |
| Performance | Maximum performance (plugged in) |
Battery Saver:
# Check battery status
$ upower -i /org/freedesktop/UPower/devices/battery_BAT0
5. Privacy
Settings → Privacy
Important settings:
- Location Services: Disable for privacy
- Camera & Microphone: Control app access
- Usage & History: Clear usage data
- Screen Lock: Set timeout and password requirement
6. Users
Settings → Users
- Add User: Create additional accounts
- Automatic Login: Skip login screen (convenient but less secure)
- Parental Controls: Limit app usage (for families)
⚠️ Security Tip: Disable automatic login for laptops and shared computers.
Installing GUI Applications
GNOME Software
GNOME Software is your GUI app store:
┌─────────────────────────────────────────┐
│ GNOME Software │
├─────────────────────────────────────────┤
│ [Explore] [Installed] [Updates] │
│ │
│ Featured Applications: │
│ ┌─────────┐ ┌─────────┐ ┌─────────┐ │
│ │ Firefox │ │ VLC │ │ GIMP │ │
│ │ Browser│ │ Player │ │ Image │ │
│ │ [Install]│ [Install]│ [Install]│ │
│ └─────────┘ └─────────┘ └─────────┘ │
└─────────────────────────────────────────┘
To install:
- Open GNOME Software
- Browse or search for an app
- Click Install
To remove:
- Click Installed tab
- Find the app
- Click Remove
Flatpak (Flathub)
Many apps are available as Flatpaks — containerized packages that work on any distro.
# Install Flatpak support (Fedora has it by default)
$ sudo dnf install flatpak
# Add Flathub repository
$ sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# Install an app
$ flatpak install flathub com.spotify.Client
# Run the app
$ flatpak run com.spotify.Client
Popular Flathub Apps:
- Spotify
- Discord
- VS Code
- LibreOffice
- OBS Studio
- Steam
Finding Applications
| Category | Recommended Apps |
|---|---|
| Web Browsers | Firefox, Chromium, Brave |
| Office | LibreOffice, OnlyOffice |
| Graphics | GIMP, Inkscape, Krita |
| Media | VLC, Audacity, OBS |
| Communication | Discord, Thunderbird |
| Development | VS Code, Sublime Text |
Summary
Key Takeaways:
- GNOME is the default desktop on Fedora and Debian
- Activities Overview (
Superkey) is the central hub - Workspaces provide virtual desktops for organization
- Extensions add functionality (use sparingly)
- GNOME Software is the GUI app store
- Keyboard shortcuts dramatically improve efficiency
Essential Shortcuts to Memorize:
| Shortcut | Action |
|---|---|
Super | Open Activities |
Alt+Tab | Switch windows |
Super+Enter | Open terminal |
Super+L | Lock screen |
PrintScreen | Screenshot |
Chapter Quiz
Test your understanding of the GNOME desktop environment:
Exercises
Exercise 1: GNOME Navigation Scavenger Hunt
Complete these tasks as fast as possible:
- Open the Activities Overview
- Find and launch GNOME Terminal
- Open a second workspace
- Move Terminal to workspace 2
- Switch back to workspace 1
- Open GNOME Files (Nautilus)
- Maximize the Files window
- Close the Files window
- Lock the screen
- Unlock and return
Deliverable: Record your time and list which shortcuts you used.
Exercise 2: Desktop Customization
Personalize your desktop:
- Change your desktop background
- Enable dark mode
- Add 5 applications to your favorites/dock
- Install 1 GNOME extension (from Extensions app)
- Change your interface font size
- Configure your power settings
Deliverable: Screenshots of your customized desktop.
Exercise 3: Application Installation
Install these applications:
- Via GNOME Software: Install VLC media player
- Via Flatpak: Install Flatpak, add Flathub, install 1 app
- Via Terminal (preview): Use
dnfto installtree
$ sudo dnf install tree
Deliverable: List the commands/steps you used for each method.
Exercise 4: Workspace Workflow
Create a productive workspace setup:
- Workspace 1: Browser + Terminal
- Workspace 2: Files + Text Editor
- Workspace 3: Settings + Software (optional)
Practice switching between workspaces and moving windows.
Deliverable: Describe your workspace workflow and how it helps you stay organized.
Expected Output
After completing these exercises, you should have:
- Navigation Skills: Can use GNOME efficiently without mouse
- Customized Desktop: Personalized appearance and setup
- Installed Apps: VLC, Flatpak app, and
treecommand - Workspace Workflow: Organized multi-desktop setup
Further Reading
Discussion Questions
- Why does GNOME hide options compared to Windows/macOS? Is this good or bad?
- How does GNOME's dynamic workspace model compare to fixed virtual desktops?
- What are the security implications of installing extensions from the web?
- Why might someone prefer KDE Plasma or XFCE over GNOME?