Kokil Thapa - Professional Web Developer in Nepal
Freelancer Web Developer in Nepal with 15+ Years of Experience

Kokil Thapa is an experienced full-stack web developer focused on building fast, secure, and scalable web applications. He helps businesses and individuals create SEO-friendly, user-focused digital platforms designed for long-term growth.

Enable and Customize Ubuntu Dark Theme

By Kokil Thapa | Last reviewed: September 2026

You spend hours in terminals, browsers, and IDEs every day. A mismatched desktop—bright file manager, dark editor, blinding login screen—adds fatigue fast. To enable and customize Ubuntu dark theme properly, you need more than one toggle in Settings. Ubuntu 24.04 and 22.04 LTS ship with GNOME Shell. Dark mode spans GTK apps, the shell, icons, and your terminal. This guide walks through built-in controls, GNOME desktop layers, and the commands I use on production Ubuntu workstations.

How Do You Enable the Built-In Ubuntu Dark Theme?

Ubuntu added a first-class dark mode switch starting with 22.04 LTS. You do not need third-party tools for a solid baseline. The change applies to GNOME Shell and most GTK4 applications immediately.

Open Appearance Settings

Press the Super key and type Appearance. Open the Appearance panel. You will see three style options: Light, Dark, and Default. Default follows your system schedule if configured.

  1. Click Dark under Style.
  2. Select an accent color—orange is default, but blue, purple, and green reduce eye strain for some users.
  3. Toggle Desktop Icons off if you prefer a cleaner workspace aligned with dark aesthetics.
  4. Restart any apps that still show a light toolbar—they may cache GTK theme at launch.

This matches what I configure first on any new Ubuntu desktop setup. It takes under a minute and covers Files, Settings, and most preinstalled apps.

Enable Ubuntu Dark ThemeSuper KeyOpen SearchSettingsAppearanceStyle: DarkPick AccentAppliedGTK + ShellWhat Changes InstantlyGNOME ShellGTK4 AppsQuick SettingsNautilusText Editor
Built-in path to enable and customize Ubuntu dark theme from Settings → Appearance

Verify the Switch Took Effect

Open Files and Terminal side by side. Both should use dark chrome. If Terminal stays light, its profile overrides the system theme—that is normal and fixed later in this guide.

On shared machines, document the chosen accent. Small teams I support standardize on one palette so screenshots and screen shares look consistent during Linux system administration sessions.

Why Do Some Apps Stay Light After You Enable Dark Mode?

Ubuntu runs multiple theme layers. GNOME Shell controls the top bar, overview, and quick settings. GTK controls application widgets—buttons, menus, scrollbars. Legacy GTK3 apps, Snap packages, and Flatpaks each bundle or override styles differently.

Flatpak apps may ignore host themes unless you install a matching runtime theme. Snaps sometimes ship their own palette entirely. Electron apps—VS Code, Slack, Discord—use internal theme settings separate from GNOME.

Install GNOME Tweaks for Deeper Control

GNOME Tweaks exposes options hidden from default Settings. Install it from the terminal:

sudo apt update
sudo apt install gnome-tweaks -y

Launch Tweaks from the app grid. Open the Appearance section. Here you can set:

  • Legacy Applications — forces GTK3 apps onto Yaru-dark.
  • Icons — Yaru-dark icons match the shell; alternatives like Papirus-Dark offer softer folder colors.
  • Cursor — Bibata or Yaru dark cursors avoid a bright pointer on dark panels.

This is the same workflow I describe in customizing the Ubuntu desktop like a pro. Tweaks fills gaps Settings leaves open.

Ubuntu Dark Theme LayersSystem LayerSettings → Dark StyleAccent + Shell Themegsettings color-schemeApp LayerGTK3 via GNOME TweaksFlatpak / Snap overridesElectron app settingsIcon ThemeYaru-dark / PapirusFolder contrastTerminal ProfileBuilt-in dark schemeCustom paletteWeb / IDEBrowser force-darkEditor color theme
Four layers to fully enable and customize Ubuntu dark theme across shell, apps, icons, and terminals

How Do You Enable Ubuntu Dark Theme from the Terminal?

GUI settings write to dconf keys under the hood. Scripting the same values helps dotfiles, cloud-init scripts, and remote SSH sessions. I use these commands on fresh VPS images before handing servers to clients.

Core gsettings Commands

Check your current color scheme:

gsettings get org.gnome.desktop.interface color-scheme

Set dark mode:

gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-dark'
gsettings set org.gnome.desktop.interface icon-theme 'Yaru-dark'
gsettings set org.gnome.desktop.interface cursor-theme 'Yaru'

Pick an accent—replace 'blue' with orange, purple, green, or other Yaru variants:

gsettings set org.gnome.desktop.interface accent-color 'blue'

These keys persist across reboots. They also work over SSH if a graphical session is active. For headless servers, dark theme commands are irrelevant—focus on Ubuntu server setup instead.

Automate with a Shell Script

Save a small script for reproducible workstation builds:

#!/usr/bin/env bash
set -euo pipefail

gsettings set org.gnome.desktop.interface color-scheme 'prefer-dark'
gsettings set org.gnome.desktop.interface gtk-theme 'Yaru-dark'
gsettings set org.gnome.desktop.interface icon-theme 'Yaru-dark'
gsettings set org.gnome.desktop.interface accent-color 'blue'

# Default Terminal dark profile
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-8978523c1b3e/background-color "'rgb(48,10,36)'"
dconf write /org/gnome/terminal/legacy/profiles:/:b1dcc9dd-5262-4d8d-a863-8978523c1b3e/use-theme-colors "false"

echo "Dark theme applied."

Find your terminal profile UUID with dconf list /org/gnome/terminal/legacy/profiles:/. The default profile ID differs on some installs. Adjust before running on production machines.

If you script often, pair this with aliases from our Ubuntu command aliases guide for faster daily workflows.

What Are the Best Ways to Customize Icons, Accent Colors, and Wallpapers?

Dark mode is a base coat. Customization makes the desktop tolerable for eight-hour dev sessions. Match icons, wallpaper luminance, and dock behavior so nothing pulls your eyes toward a bright corner.

Icon and Cursor Themes

Papirus-Dark is a popular alternative to Yaru-dark. Install it:

sudo apt install papirus-icon-theme -y

Apply via GNOME Tweaks → Appearance → Icons → Papirus-Dark. Folder icons become desaturated blue-gray. They read well against dark Nautilus sidebars.

For cursors, Bibata Modern Classic dark variants ship crisp outlines. Install from apt if available, or download from the author’s release page and place files under ~/.local/share/icons/.

Wallpaper and Contrast

Dark themes do not require dark wallpapers. A mid-tone wallpaper with low saturation works better than pure black. Pure black increases halation on IPS panels and makes window borders disappear.

Set wallpaper from CLI:

gsettings set org.gnome.desktop.background picture-uri "file:///home/USERNAME/Pictures/wallpaper.jpg"

Replace USERNAME with your account name. Use absolute paths only.

Dock and Extension Tweaks

Ubuntu Dock supports transparency and icon sizing under Settings → Appearance → Dock. Lower opacity blends the dock into dark wallpapers. Smaller icons free vertical space on laptops.

Extensions from extensions.gnome.org add blur, rounded corners, or panel opacity. Install the browser connector first:

sudo apt install gnome-shell-extension-manager -y

Extension Manager lists installed shell extensions without hunting through a web browser. See our Ubuntu dock customization guide for panel placement and autohide tuning.

MethodBest ForGTK4 AppsGTK3 / LegacyPersistence
Settings → DarkQuick default setupYesPartialSurvives reboot
GNOME TweaksIcons, cursors, legacy GTKYesYesSurvives reboot
gsettings / dconfScripted installs, dotfilesYesYes with gtk-theme keySurvives reboot
Third-party GTK themeVisual brandingIf theme supports GTK4Usually yesManual updates needed
Per-app overrideElectron, Flatpak, SnapApp-specificApp-specificStored in app config

Pick one primary method. Mixing Tweaks and manual theme files without tracking versions causes half-themed dialogs—a common support ticket on support and maintenance contracts.

Dark Theme Method FitSettingsFastest pathNew usersScore: 9/10GNOME TweaksFull desktopIcon controlScore: 10/10gsettingsAutomationDotfilesScore: 8/10Custom GTKBrandingManual upkeepScore: 6/10Recommended Stack for DevelopersSettings Dark + Tweaks legacy + gsettings scriptPapirus-Dark icons + terminal dark profilePer-app theme inside VS Code / Firefox
Choosing the right method to enable and customize Ubuntu dark theme by user skill and maintenance tolerance

How Do You Dark-Theme the Terminal, Browser, and Developer Tools?

System-wide dark mode stops at app boundaries. Developers live inside Terminal, Firefox or Chrome, and VS Code. Each needs its own pass.

GNOME Terminal Profile

Open Terminal → Preferences → select your profile → Colors. Disable Use colors from system theme. Pick the built-in Solarized Dark or Tango Dark scheme. Or define custom RGB values:

  • Background: #1e1e2e (soft charcoal, easy on OLED and LCD)
  • Foreground: #cdd6f4 (muted white, not pure #FFFFFF)
  • Palette: Catppuccin Mocha or Dracula hex sets work well for syntax in vim and htop

Export the profile on one machine and import on another when you rebuild workstations. Our essential Ubuntu terminal commands article covers profile management and multiplexer basics.

Firefox and Chromium

Firefox: Settings → Extension and Themes → Themes → Dark. Enable layout.css.prefers-color-scheme.content-override via about:config set to 0 if sites ignore your preference.

Chromium and Google Chrome respect GNOME on most builds. Force dark mode with a launch flag if needed:

google-chrome --force-dark-mode

Add the flag to your .desktop file under ~/.local/share/applications/ for persistence.

VS Code and JetBrains IDEs

VS Code uses its own theme engine. Install "Default Dark Modern" or "Catppuccin Mocha" from the marketplace. Set:

{
  "workbench.colorTheme": "Default Dark Modern",
  "window.autoDetectColorScheme": true,
  "window.systemColorTheme": "dark"
}

Validate JSON before saving—our JSON formatter catches trailing commas that break VS Code settings sync.

PHP and Laravel work on Ubuntu daily drives my stack. After theming the desktop, I install PHP 8.3+ following the PHP on Ubuntu guide. A coherent dark environment reduces context switching when jumping between Terminal, browser devtools, and the editor.

Flatpak Theme Consistency

Flatpak apps sandbox theme access. Install the host GTK theme as a Flatpak extension:

flatpak install flathub org.gtk.Gtk3theme.Yaru-dark

Apply with:

flatpak override --user --env=GTK_THEME=Yaru-dark com.example.App

Replace the application ID with the output of flatpak list. Without this step, Flatpak GIMP or OBS may render light dialogs on a dark desktop.

Developer Dark Desktop StackUbuntu GNOME Dark BaseGNOME TerminalCustom profileBrowserForced dark sitesVS Code / IDEEditor theme syncProduction Tasks on Themed WorkstationLaravel deploy · GitLab CI logs · MySQL CLIDeployer 7 releases on Ubuntu 24.04
Align terminal, browser, and IDE after you enable and customize Ubuntu dark theme for daily development

What Common Ubuntu Dark Theme Problems Should You Watch For?

Most issues are fixable in five minutes once you know which layer broke.

Theme Resets After Upgrade

Ubuntu release upgrades sometimes restore Yaru defaults. Export dconf keys before dist-upgrade:

dconf dump /org/gnome/ > ~/gnome-backup.dconf

Restore after upgrade:

dconf load /org/gnome/ < ~/gnome-backup.dconf

Keep the backup in your dotfiles repo alongside SSH config. Sister sites I maintain on shared EC2 use the same discipline for server configs described in our Translation Nepal deployment pipeline notes.

Mixed Light Dialogs in GTK Apps

Install the matching GTK3 theme package:

sudo apt install yaru-theme-gtk -y

Set legacy applications to Yaru-dark in Tweaks. Log out and back in—some GTK caches clear only on session restart.

Performance and OLED Burn-In

Dark themes save modest power on OLED laptops. They do not replace Ubuntu performance tuning. Disable unnecessary shell extensions if GNOME feels sluggish after installing blur effects.

Pure black (#000000) backgrounds on OLED can cause uneven wear if static UI elements sit for hours. Charcoal (#1a1a1a–#2d2d2d) is safer for taskbars and terminal backgrounds.

Accessibility and Readability

Dark mode helps many developers but hurts others with astigmatism or low contrast vision. Ubuntu supports high-contrast themes under Settings → Accessibility. Test WCAG contrast if you ship screenshots in client documentation.

Official guidance from Ubuntu Help and the GTK project documentation explains how prefer-dark propagates to applications. Cross-check behavior after major GNOME version bumps.

Remote teams in Nepal often share one reference image of the themed desktop in onboarding docs. Pair the screenshot with keyboard shortcuts from our Ubuntu keyboard shortcuts guide so new hires match the environment quickly.

Key Takeaways

  • Start with Settings → Appearance → Dark, then install GNOME Tweaks for legacy GTK3 and icon themes.
  • Script reproducible setups with gsettings keys for color-scheme, gtk-theme, and accent-color.
  • Configure Terminal, browser, and IDE themes separately—system dark mode does not reach Electron or Flatpak apps automatically.
  • Use Papirus-Dark icons and mid-tone wallpapers for balanced contrast, not pure black everywhere.
  • Back up dconf before Ubuntu release upgrades to avoid losing customized dark theme settings.
  • Flatpak apps need explicit GTK theme extensions or overrides to match the host Ubuntu dark theme.

People Also Ask

Does Ubuntu 24.04 have a dark mode?

Yes. Ubuntu 24.04 LTS includes a Dark style toggle under Settings → Appearance. It applies to GNOME Shell and GTK4 applications out of the box. Install GNOME Tweaks for legacy app coverage.

How do I make all apps dark on Ubuntu?

Combine Settings dark mode, GNOME Tweaks legacy theme set to Yaru-dark, Flatpak GTK theme extensions, and per-app dark settings in Electron apps like VS Code. No single switch themes every package format.

Can I schedule automatic light and dark mode on Ubuntu?

Settings → Appearance → Style → Default follows the system night light schedule on some builds. For precise scheduling, install the Night Theme Switcher GNOME extension or cron a gsettings script at fixed hours.

Will dark theme improve battery life on Ubuntu laptops?

On OLED screens, darker pixels draw less power and you may see a small gain. On standard LCD panels the difference is negligible. Dark theme mainly reduces eye strain during long coding sessions.

Build a Consistent Dark Ubuntu Workstation

You now have a full path to enable and customize Ubuntu dark theme—from the Settings toggle through Tweaks, gsettings automation, and developer tool alignment. Start with the built-in switch, layer GNOME Tweaks for icons and legacy apps, then tune Terminal and your editor. Back up dconf before the next LTS upgrade.

I theme every Ubuntu workstation before installing PHP, Nginx, or Laravel stacks for client work. If you want the same environment configured on office machines or a remote team, review our Linux system administration services or see how we standardize dev machines on production projects. Questions about desktop plus server setup? Contact us and we will map a workflow that fits your team.

Frequently Asked Questions

Yes. Ubuntu 24.04 LTS includes a Dark style toggle under Settings → Appearance. It applies to GNOME Shell and GTK4 applications immediately. Install GNOME Tweaks separately if legacy GTK3 apps, icons, or cursors still look light.

Open Settings → Appearance, set Style to Dark, pick an accent color, then install GNOME Tweaks to align legacy GTK3 apps, icons, and shell extensions so every window matches.

Press Super, search Appearance, and open the panel. Under Style, click Dark instead of Light or Default. Choose an accent such as orange, blue, purple, or green. Toggle Desktop Icons off if you want a cleaner look. Restart apps that cached a light toolbar at launch. Open Files and Terminal side by side to verify both use dark chrome. On shared machines, document the accent so team screenshots stay consistent during admin sessions.

Ubuntu runs several theme layers at once. GNOME Shell styles the top bar and overview. GTK styles application widgets. Legacy GTK3 apps, Snap packages, and Flatpaks each handle themes differently. Flatpak apps may ignore host themes unless you install a matching runtime theme. Snaps sometimes ship their own palette. Electron apps such as VS Code, Slack, and Discord use internal theme settings separate from GNOME, so system dark mode alone will not reach every window.

GNOME Tweaks exposes appearance options hidden from default Settings. Install it with sudo apt update and sudo apt install gnome-tweaks -y, then open Appearance in Tweaks. Set Legacy Applications to Yaru-dark so GTK3 apps match. Pick Yaru-dark icons or alternatives like Papirus-Dark. Choose a dark cursor such as Bibata or Yaru so the pointer is not bright on dark panels. Tweaks fills gaps Settings leaves open and is the standard next step after the built-in Dark toggle.

GUI settings write to dconf keys you can script with gsettings. Check the current scheme with gsettings get org.gnome.desktop.interface color-scheme. Set dark mode with gsettings set org.gnome.desktop.interface color-scheme prefer-dark, then set gtk-theme to Yaru-dark, icon-theme to Yaru-dark, and cursor-theme to Yaru. Pick an accent with gsettings set org.gnome.desktop.interface accent-color blue, replacing blue with orange, purple, or green. These keys persist across reboots and work over SSH when a graphical session is active. Save them in a shell script for reproducible workstation builds.

No single switch themes every package format. Start with Settings → Appearance → Dark, then use GNOME Tweaks to force legacy GTK3 apps onto Yaru-dark and match icon and cursor themes. Install Flatpak GTK theme extensions and apply flatpak override with GTK_THEME=Yaru-dark for sandboxed apps. Set dark mode separately inside Electron apps like VS Code, Slack, and Discord. Configure GNOME Terminal profile colors because Terminal can override the system theme. Combining these layers is the reliable path to a fully dark desktop.

Settings → Appearance → Style → Default can follow the system night light schedule on some builds, giving basic automatic switching. For precise control at fixed hours, install the Night Theme Switcher GNOME extension from extensions.gnome.org, or cron a small gsettings script that toggles color-scheme between prefer-dark and prefer-light. Test after GNOME upgrades because scheduling behavior can change between Ubuntu LTS releases. Export your dconf keys before major upgrades so a scheduled setup is easy to restore if defaults return.

On OLED screens, darker pixels draw less power and you may see a modest gain. On standard LCD panels the difference is usually negligible. Dark theme mainly reduces eye strain during long terminal, browser, and IDE sessions rather than replacing performance tuning or power management.

Dark mode is a base layer; icons and wallpaper finish the look. Install Papirus-Dark with sudo apt install papirus-icon-theme -y and apply it in GNOME Tweaks → Appearance → Icons for softer folder colors against dark Nautilus sidebars. Change accent via Settings or gsettings set org.gnome.desktop.interface accent-color. Set wallpaper from CLI with gsettings set org.gnome.desktop.background picture-uri using an absolute file path. Prefer mid-tone, low-saturation wallpapers over pure black to keep window borders visible. Tune Ubuntu Dock opacity and icon size under Settings → Appearance → Dock for a cleaner dark workspace.

Terminal often keeps its own profile even when the system is dark. Open Terminal → Preferences → your profile → Colors. Disable Use colors from system theme. Pick Solarized Dark or Tango Dark, or set custom values such as background #1e1e2e and foreground #cdd6f4 instead of pure white. Export the profile when rebuilding workstations. If you script setup, find your profile UUID with dconf list /org/gnome/terminal/legacy/profiles:/ because the default ID differs on some installs, then write background-color and use-theme-colors false with dconf write.

System-wide dark mode stops at app boundaries. In Firefox, open Settings → Extension and Themes → Themes → Dark. If sites ignore your preference, set layout.css.prefers-color-scheme.content-override to 0 in about:config. Chromium and Google Chrome usually respect GNOME; add google-chrome --force-dark-mode to the .desktop file under ~/.local/share/applications/ if needed. VS Code needs its own theme—install Default Dark Modern or Catppuccin Mocha and set workbench.colorTheme plus window.autoDetectColorScheme and window.systemColorTheme to dark in settings.json.

Flatpak apps sandbox theme access and may not read the host GTK theme automatically. Install the matching extension with flatpak install flathub org.gtk.Gtk3theme.Yaru-dark, then apply flatpak override --user --env=GTK_THEME=Yaru-dark followed by the app ID from flatpak list. Without this step, apps like Flatpak GIMP or OBS can render light dialogs while the rest of the desktop is dark. Treat Flatpak theming as a separate pass after Settings and GNOME Tweaks, not something the main Dark toggle handles alone.

Mixed dialogs usually mean the GTK3 theme package or legacy setting is missing. Install sudo apt install yaru-theme-gtk -y, open GNOME Tweaks, and set Legacy Applications to Yaru-dark. Log out and back in because some GTK caches clear only on session restart. If you recently upgraded Ubuntu, restore saved dconf keys rather than re-clicking every toggle. Avoid mixing Tweaks changes with manual theme files without tracking versions—that pattern often produces half-themed windows and wasted support time.

Ubuntu release upgrades sometimes restore Yaru defaults and wipe customized appearance keys. Before dist-upgrade, export settings with dconf dump /org/gnome/ > ~/gnome-backup.dconf. After upgrade, restore with dconf load /org/gnome/ < ~/gnome-backup.dconf. Store the backup in your dotfiles repo alongside other workstation config. Re-check GNOME Tweaks legacy theme, icon theme, Terminal profile, Flatpak overrides, and per-app Electron settings because upgrades can reset those layers independently even when core gsettings values return.

Share this article

0 Comments

Leave a comment

Your email is not published. Comments appear once they have been read. Sign in to have your details filled in.

Quick Contact Options
Choose how you want to connect me: