Table of Contents >> Show >> Hide
- What is the Cabinet GTK theme (and what it is not)
- Before you install: pick the right install location
- Step 1: Download the Cabinet theme
- Step 2: Install Cabinet (single-user install)
- Step 3: Install Cabinet (system-wide install)
- Step 4: Apply Cabinet on GNOME
- Optional: Apply Cabinet via the command line (GNOME and many GTK setups)
- Applying Cabinet on other desktop environments
- GNOME Shell theming: why Cabinet may not change your top bar
- Flatpak apps: making them follow your theme (or at least try)
- Troubleshooting: when Cabinet doesn’t show up (or doesn’t apply)
- How to uninstall Cabinet cleanly
- Keeping Cabinet updated (without re-downloading everything)
- Conclusion
- Experience Notes: The Stuff People Actually Trip Over (and How to Not)
Your Linux desktop is perfectly functional… and also looks like it was designed by a committee that only communicates through spreadsheets.
If you’d like your apps to stop dressing like they borrowed clothes from 2007, the Cabinet GTK theme is a solid upgrade:
clean, modern, and based on the well-loved Arc stylekind of like putting your UI in a tailored blazer.
This guide walks you through installing Cabinet the “right” way (and the “works on my machine” way), applying it on popular desktop environments,
and handling the two biggest theme gremlins: GNOME Shell and Flatpak.
What is the Cabinet GTK theme (and what it is not)
Cabinet is a GTK2/GTK3 theme. Translation: it changes the look of GTK-based apps (many GNOME apps, lots of third-party tools),
including widgets like buttons, menus, sliders, and window controlsdepending on your desktop.
- Great for: GTK3 apps, older GTK2 apps, consistent “Arc-like” styling.
- Not guaranteed for: GTK4/libadwaita apps (many modern GNOME apps), and GNOME Shell (top bar, overview) unless you add extra components.
- Also not included: Icons. Themes and icons are separate. (Yes, it’s annoying. No, we can’t unionize about it.)
Before you install: pick the right install location
Linux supports a few theme directories. Two are most common for manual installs:
Option A (recommended): install for your user via XDG paths
Put the theme in:
This is the modern, standards-friendly location. It avoids permission issues and keeps things tidy.
Option B (classic): install for your user via ~/.themes
Put the theme in:
Many guides still use this. It works on lots of desktops and tools. It’s just a bit… vintage. Like a flip phone that still gets great reception.
Option C: system-wide install for all users
Put the theme in:
System-wide installs require admin rights. Do this if you manage multiple user accounts or want a single source of truth.
Step 1: Download the Cabinet theme
Cabinet is commonly distributed as either:
- a compressed archive (
.zip,.tar.gz,.tar.xz), or - a Git repository you can clone.
Wherever you download it from, you want the final extracted folder(s) to look like a real GTK theme folder:
- It should contain an
index.themefile. - It commonly includes folders like
gtk-3.0and/orgtk-2.0.
Step 2: Install Cabinet (single-user install)
If you’re installing just for your account, create the themes directory (if it doesn’t exist) and copy the extracted Cabinet folder into it.
Install to ~/.local/share/themes (recommended)
Install to ~/.themes (classic)
After copying, you should have something like:
Step 3: Install Cabinet (system-wide install)
If you want every user on the machine to have Cabinet available, copy it to /usr/share/themes:
If you get permission errors, that’s normal: you’re touching system directories. That’s what sudo is for.
Step 4: Apply Cabinet on GNOME
On GNOME, the easiest way to switch GTK themes is GNOME Tweaks.
Install it using your distro’s package manager, then select Cabinet under Appearance.
Install GNOME Tweaks (common examples)
Select the theme
- Open GNOME Tweaks.
- Go to Appearance.
- Under Applications, pick Cabinet (or its variant).
If you don’t see the theme immediately, close Tweaks and open it again, or log out/in. GTK can be dramatic like that.
Optional: Apply Cabinet via the command line (GNOME and many GTK setups)
If you like automating your setup (or rebuilding your dotfiles for the 19th time this month), you can set the theme programmatically.
Using gsettings (GNOME)
Replace "Cabinet" with the exact theme folder name you installed (case-sensitive).
Editing GTK settings files (desktop-agnostic-ish)
Many environments read GTK settings from config files:
Look for (or add) a line like:
Applying Cabinet on other desktop environments
Cabinet is a GTK theme, so it plays best with desktops that respect GTK settings.
Here’s the quick map.
XFCE
- Open Settings → Appearance.
- Select Cabinet under Style.
Cinnamon
- Open Themes in System Settings.
- Set Controls (GTK) to Cabinet.
MATE
- Open Control Center → Appearance.
- Select Cabinet or customize your theme components.
KDE Plasma (GTK apps inside a Qt world)
KDE can theme GTK apps via its GTK application style settings. Look for GTK-related settings in System Settings (wording varies by Plasma version).
If you want a universal tool, many users also rely on GTK theme switchers like lxappearance.
GNOME Shell theming: why Cabinet may not change your top bar
A common surprise: you apply Cabinet, but the GNOME top bar and overview still look like stock GNOME.
That’s because GNOME has two layers:
- GTK theme: affects applications.
- GNOME Shell theme: affects the shell UI (top bar, overview, notifications).
To load a user-installed shell theme, GNOME typically needs the User Themes extension.
Cabinet is primarily a GTK theme, so you may not get shell theming unless Cabinet also ships a compatible GNOME Shell theme component.
If you do have a GNOME Shell theme component
- Install/enable the User Themes extension.
- Open GNOME Tweaks → Appearance.
- Use the Shell dropdown to select the theme.
Flatpak apps: making them follow your theme (or at least try)
Flatpak apps run in a sandbox. That sandbox can’t always see your host theme files, and GTK4/libadwaita apps may ignore custom themes anyway.
Still, you have options.
GTK3 Flatpak apps (often fixable)
Many Flatpak GTK3 apps can use a matching theme runtime (often named like org.gtk.Gtk3theme.THEME).
Sometimes Flatpak will detect your current theme and offer to install a matching runtime on update.
Try this first:
If your theme doesn’t exist as a Flatpak runtime, the app may fall back to Adwaita.
In that case, your “fix” might be choosing a theme that is packaged for Flatpakor living with a small mismatch.
GTK4/libadwaita Flatpak apps (often limited by design)
Many GTK4 GNOME apps use libadwaita, which intentionally limits full theming.
You might get light/dark preferences and accent behavior, but not a complete reskin.
Practical advice:
- Expect Cabinet to theme GTK3 apps more reliably than GTK4 apps.
- If consistent theming across GTK4 is critical, look for themes that explicitly ship GTK4 support.
- When something looks “half themed,” don’t immediately blame your installthis is a known limitation.
Troubleshooting: when Cabinet doesn’t show up (or doesn’t apply)
1) The theme isn’t listed in Tweaks
- Check folder depth: Make sure
index.themeis inside the theme folder you copied. - Check location: Try moving from
~/.themesto~/.local/share/themes(or vice versa). - Restart Tweaks (and sometimes log out/in).
2) Tweaks shows Cabinet, but nothing changes
- You might be changing the GTK theme but using apps that are Qt (KDE apps) or GTK4/libadwaita (modern GNOME apps).
- Try a known GTK3 app (e.g., a GTK3 settings tool) to confirm Cabinet is working.
- On GNOME, confirm you changed Applications, not just icons or cursor.
3) Flatpak apps ignore your theme
- Run
flatpak updateand look for theme-related runtimes. - Accept that some GTK4 apps won’t fully theme.
4) You installed system-wide but can’t select it
- Confirm the theme folder is in
/usr/share/themesand readable. - Some desktops cache theme lists; log out/in to refresh.
How to uninstall Cabinet cleanly
Uninstalling a manual theme is refreshingly low drama:
Single-user uninstall
System-wide uninstall
Then switch to a different theme in your desktop settings so you’re not pointing at a theme that no longer exists.
Keeping Cabinet updated (without re-downloading everything)
If you installed Cabinet by cloning a Git repository, updating can be as simple as pulling the latest changes:
After updating, copy the updated theme folders into your themes directory again if needed. Then restart your apps (or log out/in).
Conclusion
Installing the Cabinet GTK theme on Linux is mostly about putting the right folders in the right placethen telling your desktop to actually use them.
The only real curveballs are GNOME Shell (needs an extension for shell theming) and Flatpak/GTK4 (may be limited by design).
Once Cabinet is active, you’ll get a polished GTK look with minimal fussplus the quiet satisfaction of knowing your desktop no longer resembles
a “default settings” screenshot from a help forum post.
Experience Notes: The Stuff People Actually Trip Over (and How to Not)
Let’s talk about the real-world part of installing Cabinet: the part where you do everything “correctly” and your desktop responds with a calm,
unblinking stare. Based on recurring patterns in community troubleshooting threads and support docs, most theme problems aren’t complicated
they’re just sneaky.
The #1 issue is the folder-within-a-folder problem. You download a theme, extract it, and end up with something like
Cabinet-1.0/Cabinet/Cabinet/gtk-3.0. GNOME Tweaks is not going to excavate that archaeological site for you. It wants one clean theme folder
containing index.theme and the GTK directories. If Cabinet doesn’t appear in the list, check your folder depth firstbefore you reinstall Tweaks,
restart your computer, or question your life choices.
The #2 issue is assuming “theme” means “everything.” You apply Cabinet and expect the top bar, quick settings, and overview to match.
That’s GNOME Shell theming, not GTK theming. Cabinet can make your apps look sharp while the shell remains stubbornly default.
If you want the shell UI themed too, you’ll need the User Themes extension and a shell theme that matches your GNOME version.
Sometimes you’ll get it working beautifully… until a GNOME update arrives and politely rearranges the furniture.
If that happens, switch back, update extensions, and try againdon’t treat it like a personal betrayal.
Another common “why is it half working?” moment is GTK4 and libadwaita. Modern GNOME apps often rely on libadwaita, which intentionally limits
full theming. So you might see Cabinet in older GTK3 apps but not in Files, Settings, or other core GNOME apps on newer versions.
That mismatch isn’t you messing up; it’s the ecosystem evolving. If your top priority is uniform visuals across GTK3 and GTK4, you’ll want a theme that
explicitly supports GTK4and even then, expect some boundaries.
Flatpak adds its own flavor of chaos. You can have Cabinet set perfectly on your system and still open a Flatpak app that looks like it’s wearing stock Adwaita
because the sandbox can’t access your host themeor because a matching Flatpak theme runtime isn’t available. The practical move is to run
flatpak update and see if it offers theme components, then accept that some apps won’t comply (especially GTK4 ones).
If you do manage to make everything match, take a screenshot. Not for bragging rightsjust in case it breaks later and you need to remember what “good” looked like.
Finally, don’t underestimate the humble log-out/log-in cycle. A surprising number of theme changes don’t fully propagate until you restart apps,
restart the shell session, or re-login. If you toggle Cabinet and nothing changes, try closing the app and reopening it.
If it still doesn’t change, log out and back in. It’s not glamorous, but neither is debugging why one specific dropdown menu refuses to stop being light gray.
Bottom line: Cabinet is straightforward once installed correctly. When it doesn’t behave, it’s usually one of three culprits:
folder depth, GNOME Shell expectations, or Flatpak/GTK4 limitations. Fix those, and your desktop gets to look intentionally designed
like you meant it to be this nice all along.
