Table of Contents
Overview: What “Graphical Environment” Means on Linux
On Linux, the graphical environment is built in layers:
- Kernel and system – low-level hardware and process control (already covered elsewhere).
- Display system – manages screens, input devices, windows.
- Desktop environment (DE) – panels, menus, settings, notifications, file manager, etc.
- Applications – web browsers, editors, office suites, etc.
Unlike Windows or macOS, these layers on Linux are modular and replaceable. You can:
- Use different desktop environments on the same system.
- Switch between them at login.
- Use “lighter” environments for older hardware.
This chapter focuses on understanding these graphical layers and how they fit together at a high level.
Display System: X11 vs Wayland (High-Level View)
Most Linux desktops use one of two display protocols:
- X11 (X Window System) – older, very flexible, widely supported.
- Wayland – newer, designed to be more secure and modern.
You don’t need to configure these manually as a beginner, but it helps to know:
- Many distributions default to Wayland (e.g., modern Fedora, Ubuntu with GNOME), but may offer X11 as an option.
- Some applications work better or only with X11, so distributions often keep both available.
- The desktop environment or login screen (display manager) chooses and launches the right one.
You’ll usually encounter this only when:
- Choosing a “GNOME on Xorg” vs “GNOME on Wayland” session from the login screen.
- Troubleshooting screen sharing or remote desktop tools (some behave differently on Wayland vs X11).
Display Managers (Graphical Login Screens)
The display manager is the program that shows the graphical login screen and starts your desktop environment.
Common display managers:
gdm– GNOME Display Managersddm– used by KDE Plasmalightdm– lightweight, used by many distributionslxqt-session/ others – for lightweight desktops
Typical things you do with a display manager:
- Choose your user and password.
- Select a desktop environment/session from a little gear or menu icon (if multiple are installed).
- Shut down, restart, or switch users from the login screen.
You rarely manage the display manager by hand; the distribution sets it up. Knowing its role helps you understand:
- Why your login screen changes appearance if you install a different desktop.
- Why you may see multiple “session types” (e.g. Plasma, GNOME, XFCE) after installing them.
Desktop Environments vs Window Managers
A desktop environment (DE) is a full graphical experience:
- A panel or taskbar (application list, clock, system tray).
- A menu or launcher.
- A file manager.
- A system settings application.
- A window manager (controls window borders, moving, resizing, tiling, etc.).
- Optional extras: notifications, clipboard manager, widgets, etc.
Examples of desktop environments covered in later chapters:
- GNOME
- KDE Plasma
- XFCE
- Others like LXQt, Cinnamon, MATE
A window manager (WM) is a smaller piece that only handles windows:
- How windows look (borders, buttons).
- How you move, resize, tile, or switch between them.
- How focus works (which window receives keyboard input).
In most DEs, the window manager is part of the environment (e.g., Mutter for GNOME, KWin for Plasma). You can also run standalone window managers without a full desktop environment (e.g., i3, Openbox), but that’s more advanced and not the focus of a beginner desktop system.
Key point: as a newcomer, you’ll mostly interact with desktop environments, not standalone window managers.
Common Elements of Linux Desktops
While desktop environments look different, they share some common elements:
Panels and Taskbars
Most DEs provide:
- A panel/taskbar at the top, bottom, or sides.
- A start menu / application launcher icon.
- Open window list or icons.
- System tray for background apps (network, sound, Bluetooth, updates).
- A clock and sometimes calendar.
You can usually:
- Right-click the panel to add/remove applets (clock, CPU monitor, etc.).
- Drag icons to rearrange them (depending on DE).
- Add launchers for your favorite applications.
The exact steps differ by DE and are covered in their specific chapters; here the important idea is that panels are customizable and not fixed like in some other OSes.
Application Menus and Launchers
Typical ways to start applications:
- Click a launcher icon in the panel/dock.
- Open the main menu (similar to a “Start” menu) and search.
- Use a keyboard shortcut (e.g.
Superkey to open overview/search in GNOME; check your DE’s documentation).
You can also:
- Add an app to “favorites” or “pin to taskbar” from its entry.
- Assign custom keyboard shortcuts in system settings.
System Tray / Indicators
The area with small icons (usually near the clock) is the system tray or indicator area. Common items:
- Network status (Wi-Fi, Ethernet).
- Volume control.
- Power/battery status (on laptops).
- Bluetooth.
- Update notifications.
- Background apps (e.g., chat clients).
Clicking these usually opens small menus to quickly change settings without opening full settings applications.
Applications and Toolkits
On Linux, graphical applications are typically built with toolkits:
- GTK – used by GNOME and many associated apps (e.g., Gedit, GNOME Terminal).
- Qt – used by KDE Plasma and its apps (e.g., Dolphin, Konsole).
- Others exist (e.g., wxWidgets, FLTK), but GTK and Qt are most common.
Important implications:
- Apps built for different toolkits can look slightly different.
- On one DE, apps from “the other” toolkit may look a bit out of place.
- Distributions often include themes and integration packages to make things look more consistent.
As a user, you can usually:
- Install both GTK and Qt applications freely.
- Adjust themes in your DE’s appearance settings to make them match better.
Workspaces and Window Management Basics
Most Linux desktops support multiple workspaces (also called virtual desktops):
- Each workspace is like a separate screen with its own group of windows.
- You can move windows between workspaces.
- You can assign keyboard shortcuts to switch workspaces quickly.
Typical uses:
- Keep communication apps on one workspace, web browser on another, IDE or editor on a third.
- Avoid clutter on a single screen.
Even though workspaces have their own dedicated chapter, here’s how they integrate with the graphical environment:
- Panels often include a workspace switcher applet.
- You may see an overview or exposé-style view showing all windows and workspaces.
- Some DEs support dynamic workspaces (they appear/disappear as needed).
Window actions you’ll commonly use:
- Maximize, minimize, close (buttons on window decoration).
- Right-click the title bar for extra actions (move, resize, keep on top, move to workspace).
- Use keyboard shortcuts for switching windows and workspaces (varies by DE).
Basic Display and Input Settings
Most graphical environments provide easy access to:
Display Settings
Typically found under “Display”, “Screen”, or “Monitors” in system settings:
- Resolution and refresh rate.
- Multiple monitors: mirror, extend, rotate.
- Scaling (for high-DPI displays).
The preference UI is part of the desktop environment, but underneath it talks to the display system (X11/Wayland) and GPU drivers.
Keyboard and Layout
In the keyboard settings you can:
- Change the keyboard layout (e.g., US, UK, German, French).
- Add multiple layouts and a switching shortcut.
- Configure repeat rate, shortcuts, and sometimes compose keys.
Mouse and Touchpad
Mouse/touchpad settings usually control:
- Pointer speed.
- Tap-to-click.
- Natural/inverse scrolling.
- Two-finger scrolling, edge scrolling.
- Button behavior (e.g., right/left-handed).
These are usually per-DE preferences, but they all ultimately talk to the same underlying input system.
Themes, Icons, and Appearance
One big advantage of Linux desktops is their flexibility in appearance:
- Window themes – change the look of window decorations and controls (buttons, checkboxes, menus).
- Icon themes – change icons used across the system.
- Cursor themes – custom mouse cursor styles.
- Dark/light modes – many DEs have system-wide light/dark themes.
Theme settings are part of the DE’s Appearance or Look & Feel module. Generally you can:
- Choose from several pre-installed themes.
- Install additional themes via the distribution’s software center or theme stores specific to the DE.
- Mix and match window theme, icon theme, and cursor theme.
Under the hood:
- GTK and Qt follow theme engines or style plugins that read your chosen theme.
- Some environments let you specify separate themes for GTK and Qt apps.
Session Management: Logging Out, Locking, and Power
Most graphical environments provide:
- User menu (often in the panel/tray) with options:
- Lock screen.
- Switch user (if multiple accounts).
- Log out.
- Suspend/hibernate.
- Reboot/shutdown.
Locking and unlocking the session uses a screen locker, often integrated with the display manager or DE. This:
- Prevents access while you’re away.
- Shows a simple login prompt or your wallpaper plus a password entry.
Understanding where this lives in the stack:
- You log into a session (e.g. GNOME, Plasma).
- The session runs until you log out, at which point the display manager reappears.
- Power actions (shutdown, reboot) are usually managed through systemd underneath, but triggered from the DE’s graphical menu.
Running Graphical Apps from the Terminal
Even when using a graphical desktop, the terminal is a powerful tool. Common interactions between terminal and GUI:
- Launching a GUI app from terminal, e.g.:
firefox &- Using
&to run apps in the background so the terminal stays usable. - Seeing error messages or logs from a GUI app in the terminal – useful for troubleshooting.
Important points:
- You generally don’t need root (
sudo) to run normal GUI apps. - Some graphical system tools ask for your password using a graphical prompt (they use tools like
polkitunder the hood).
Later command-line chapters go deeper; here it’s enough to know that GUI and terminal coexist and you’ll often benefit from using both.
Remote Graphical Access (Conceptual Overview)
Linux can be used graphically even when you’re not sitting in front of it. At a basic level, there are two main approaches:
- Remote desktop (VNC, RDP-like):
- Shows a full graphical desktop over the network.
- You control it as if you were sitting at the machine.
- Many DEs include screen sharing or remote desktop modules.
- X11 forwarding / remote applications:
- Specific to X11: you can run an app remotely but display it locally.
- More advanced and usually requires SSH configuration.
Practical setup details are left for more advanced networking and remote access chapters; here, know that the Linux graphical environment can be accessed and controlled remotely, not just locally.
Customizing and Switching Desktop Environments
Because the graphical stack is modular, you can:
- Install additional desktop environments via your package manager or software center.
- Choose which environment to use at login from the display manager’s session selector.
- Remove environments you don’t use (carefully, to avoid removing crucial packages).
Consequences of switching DEs:
- The look and feel changes: panels, menus, themes.
- Default applications may change (file manager, terminal, text editor).
- Your home directory remains the same, but each DE has its own configuration under hidden directories like
~/.config.
It’s common for users to:
- Try several DEs to see which workflow and style they prefer.
- Settle on one that balances performance and features for their hardware and taste.
Summary
Key ideas about the Linux graphical environment:
- It’s built as layers: kernel → display system (X11/Wayland) → display manager → desktop environment → applications.
- Desktop environments provide complete, integrated experiences but are interchangeable; you can install and choose more than one.
- Window management, workspaces, panels, and system settings are all part of the DE, with different implementations but similar concepts.
- Themes, icons, and appearance are highly customizable, and apps from different toolkits can usually coexist.
- The terminal and GUI complement each other, and you’ll often use both even on a desktop system.
The following chapters dive into specific desktop environments (GNOME, KDE Plasma, XFCE) and their particular layouts, tools, and customization options.