nautilus gtk header bar

With our latest poll sparking lively debate about the merits (or otherwise) of client-side decorations in Linux apps, it feel like a ripe time present the following how to.

In this post i’m going to tell you how to enable client-side decorations in Nautilus on Ubuntu 16.04 LTS (and above) — and no, before you panic, you don’t need to switch desktop environment to do it!

While upstream Nautilus sues client-side decorations by default Ubuntu ships with a patched version of the file manager that (among other things) runs the app with a traditional window title bar and app menu.

The following guide is how I enable Nautilus CSD on my Ubuntu 16.04 LTS desktop, which runs Unity. It’s not the only way to achieve the same result, and possibly not even the most practically — but it is the one I feel most confident in presenting.

If you’re not sure why you’d want to switch from this:

regular nautilus in ubuntu

to this:

csd nautilus on Ubuntu

…then you can probably skip this how-to altogether ;)

Also keep in mind that there’s more than an aesthetic change going on here. You will not be able to use app menu shortcuts, LIM, or the Unity HUD with Nautilus when CSD enabled.

But if you the lure of compact, combined window title and toolbars in the Ubuntu file manager is too much to resister, read on to learn how to turn them on.

Enable CSD in Nautilus on Ubuntu 16.04 LTS (and up!)

To enable Nautilus’ GTK+ Header Bars on the regular, run-of-the-mill Ubuntu Unity desktop we’ll need to get our hands dirty editing the various .desktop files that are used to launch Nautilus.

The main Nautilus desktop launcher sits in /usr/share/applications/nautilus.desktop. We need to edit this file as root to amend a couple of lines.

Open a new Terminal window (press Alt+F2 to get one up) and run the following command:

sudo gedit /usr/share/applications/nautilus.desktop

The Gedit text editor will open up in front of you with the file we need to edit pre-loaded.

Find the the two lines that read:

Exec=nautilus --new-window %U

and

Exec=nautilus --new-window

And edit them so that they read:

Exec=env XDG_CURRENT_DESKTOP=GNOME nautilus --new-window %U

and

Exec=env XDG_CURRENT_DESKTOP=GNOME nautilus --new-window

Hit the save button once you’ve made your changes and then close the window.

Repeat the steps above with the following two desktop files:

sudo gedit /usr/share/applications/nautilus-autorun-software.desktop
sudo gedit /etc/xdg/autostart/nautilus-autostart.desktop

Once again add the text ‘ env XDG_CURRENT_DESKTOP=GNOME‘ after each line that begins Exec=. Remember to hit save on both files before you exit them.

Once all of the editing is complete you can proceed to log out. Yes, this is a little inconvenient but it is required for the changes we’ve made to take effect.

When you log back go ahead and open a new file manager window to check everything went as planned.

Things Look Off?

csd nautilus gif

Switching to a header-bar friendly GTK theme can do a lot to improve the appearance of rounded CSD apps on Ubuntu. Some popular GTK themes include Arc, Adapta and Numix.