Chapter 13: Customization and Flavors
Chapter 13: Customization and Flavors
While standard Ubuntu provides a cohesive GNOME desktop experience, the Ubuntu ecosystem accommodates diverse specialized environments: from lightweight window managers running on embedded kiosks, to production audio/video multimedia workstations, custom corporate appliance images, and fully immutable Ubuntu Core installations.
Ubuntu achieves this versatility through official Flavors, declarative image crafting tools like ubuntu-image, and centralized management profiles via Canonical Landscape.
This chapter explores how to customize the desktop environment, compare official flavors, build bespoke operating system images, and deploy immutable appliance operating systems.
GNOME Customization: Extensions and Tweaks
The GNOME desktop can be customized using GNOME Tweaks and shell extensions:
# Install GNOME Tweaks and Extension Manager
sudo apt install -y gnome-tweaks gnome-shell-extension-managerEssential Productivity Extensions
- Dash to Panel: Merges the top bar and dock into a unified Windows/KDE-style taskbar.
- AppIndicator / KStatusNotifierItem: Displays system tray icons for background services (Slack, Discord, Nextcloud).
- Caffeine: Prevents screensaver activation during long-running builds or presentations.
- Vitals: Displays real-time CPU temperature, fan speeds, and memory consumption in the top panel.
Manage extensions via CLI:
# List installed extensions
gnome-extensions list
# Enable an extension
gnome-extensions enable appindicatorsupport@rgcjonas.gmail.comAlternative Desktop Environments
For environments with constrained hardware resources or distinct user interface workflows:
# Install lightweight XFCE desktop (minimal footprint)
sudo apt install -y xfce4 xfce4-goodies
# Install KDE Plasma (high visual customizability and Wayland maturity)
sudo apt install -y kubuntu-desktop
# Install modern tiling window manager (Hyprland / Sway for Wayland)
sudo apt install -y sway waybar wofiUsers can select their desired session from the GDM display manager login screen.
Official Flavors Overview
Canonical recognizes several official flavors, each packaging the shared Ubuntu package repository with distinct desktop environments and specialized application suites:
| Flavor | Desktop Environment | Primary Focus & Target Audience |
|---|---|---|
| Kubuntu | KDE Plasma 6 | Power users seeking complete widget and theme flexibility |
| Xubuntu | XFCE 4.20 | Resource-conscious desktops, older hardware, remote VDI |
| Lubuntu | LXQt | Ultra-lightweight; ideal for low-RAM laptops and SBCs |
| Ubuntu Studio | KDE Plasma (Low-Latency) | Audio engineers, video editors, and 3D graphic artists |
| Ubuntu MATE | MATE Desktop | Classic GNOME 2 workflow with modern GTK3 underlying libraries |
| Ubuntu Budgie | Budgie Desktop | Elegant, modern Mac-style desktop layout |
| Ubuntu Cinnamon | Cinnamon Desktop | Familiar Windows-style traditional taskbar layout |
Building Custom Ubuntu Images with ubuntu-image
Enterprise deployments frequently require custom installation ISOs or raw flashable disk images pre-loaded with internal certificates, specialized kernel drivers, and pre-installed packages.
Canonical’s ubuntu-image utility builds raw disk images from declarative specifications:
# Install image building tool
sudo snap install ubuntu-image --classicImage Definition YAML Example
# custom-appliance.yaml
name: enterprise-workstation
version: "26.04"
architecture: amd64
base: ubuntu:26.04
packages:
- htop
- curl
- openssh-server
- netplan.io
- zfsutils-linux
overlay: /path/to/enterprise-certificates/Generate the bootable disk image:
sudo ubuntu-image raw custom-appliance.yaml -o custom-u26.imgUbuntu Core: The Immutable Appliance OS
For mission-critical IoT devices, automotive systems, robotics, and industrial gateways, traditional deb-based package management carries risks of incomplete updates or configuration drift.
Ubuntu Core is an immutable, transaction-based operating system built entirely out of Snaps:
┌────────────────────────────────────────────────────────────────────────┐
│ UBUNTU CORE IMMUTABLE ARCHITECTURE │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ Application Snaps (Isolated microservices, databases, UI) │ │
│ ├────────────────────────────────────────────────────────────────┤ │
│ │ Base Snap (ubuntu-core-26: Read-only root filesystem) │ │
│ ├────────────────────────────────────────────────────────────────┤ │
│ │ Kernel Snap (Digitally signed kernel and hardware modules) │ │
│ ├────────────────────────────────────────────────────────────────┤ │
│ │ Gadget Snap (Hardware bootloader, partition table, firmware) │ │
│ └────────────────────────────────────────────────────────────────┘ │
└────────────────────────────────────────────────────────────────────────┘
- Atomic Upgrades & Automatic Rollback: If an update fails health checks, the system instantly rolls back to the previous known-good revision.
- Strict Confinement: All applications run inside AppArmor and seccomp sandboxes with zero write access to system directories.
- Cryptographic Model Assertions: Devices only boot software cryptographically signed by the organization’s private brand key.
Enterprise Customization with Canonical Landscape
Canonical Landscape delivers centralized management for heterogeneous fleets: - Repository Mirrors: Host and control internal package repositories. - Custom Script Execution: Dispatch idempotent bash/Python scripts across 10,000 machines simultaneously. - Automated Compliance Policies: Enforce baseline desktop profiles, screensaver lockouts, and firewall configurations remotely.
Chapter Summary
- GNOME 50 can be tailored using GNOME Tweaks and community Wayland extensions.
- Official flavors (Kubuntu, Xubuntu, Ubuntu Studio) adapt Ubuntu for specialized creative and resource-constrained environments.
ubuntu-imagegenerates reproducible custom appliance images containing corporate configurations.- Ubuntu Core provides an immutable, transaction-safe operating system architecture for mission-critical edge devices.
- Canonical Landscape coordinates centralized policy management across large-scale enterprise deployments.