The default GNOME desktop in Ubuntu is functional, but also pretty unfulfilling.
TL;DR Compiz can quickly get you the desktop you deserve: a desktop with a very high degree of customizability, on top of being faster than the default GNOME Shell, and (as far as I can tell) faster than Mac or Windows.
The best part is that it takes no time at all to get up and running! I’ll show you how to transform Ubuntu into a desktop that is functionally similar to Mac.
Mission Control / Scale
Virtual Desktops / Workspaces
If you’re a Mac user, then hopefully this guide shows you how easy it is to get at least the same amount of utility in Ubuntu as you do from Mac, if not more! And if you need a little push, check out the Mac frustrations that Ubuntu solves for me.
Quick Install ❡
This guide is targeted for 18.04, but will probably work for most other recent Ubuntu releases.
sudo apt-get install gnome-session-flashback compiz compiz-core compiz-plugins compiz-plugins-default compiz-plugins-extra compiz-plugins-main compiz-plugins-main-default compiz-plugins-main-dev compizconfig-settings-manager
Switch to compiz desktop
Log out of your user in GNOME, to get back to the user selection screen. Select your user. Before you enter your password, click on the options cog (
⚙), and select
GNOME Flashback (Compiz). Then log in.
Welcome to your compiz desktop!
Dock / Toolbar Maintenance
Toolbars (aka “panels”) can be modified, auto-hidden, or deleted by holding down the Alt key and right clicking.
Personally, I autohide the top toolbar and delete the bottom toolbar, giving you a 100% clutter free desktop. Then I replace the toolbar we deleted with Docky, a Mac-like dock (but feel free explore other dock software, I was also very happy with Cairo Dock for a couple years).
sudo apt-get install docky
If Docky doesn’t launch automatically, go to the upper toolbar,
Applications -> Accessories -> Docky.
Compiz: A Guided Tour
In the upper toolbar go to
System Tools -> Preferences -> CompizConfig Settings Manager.
Here is where you can achieve nearly all the customization aspects of a desktop you could possibly want! Before we start I would encourage you to explore on your own and get a feel for all the minutiae available to you!
Protip: If you change anything you didn’t mean to, or want to revert, you can always click the tag
⌫next to each field to reset to default. Handy!
Note: Keep in mind that you’re still in the GNOME desktop, so the core configuration items are still in the
System Settings...area of Ubuntu.
When browsing the CCSM, note that if your mouse has more than 2 buttons, they are automatically availble to you for mapping. Buttons are numbered, so if you want to know which mouse button maps to which number, type
xev on the command line and click inside of the window that pops up.
On top of that, every mouse button can be used in conjuction with a hot-corner.
Note: The mouse in Ubuntu is a free agent! The mouse will act on the window it is hovering over, rather than which window has focus. This means that common window actions, such as closing a window, can be triggered anywhere inside of a window, regardless of if I focus on the window. This is excellent for effortlessly closing windows that you stop caring about, and you won’t have to think about clicking the dumb
xin the corner.
Here you can map any terminal action to keyboard shortcuts, mouse buttons, or hot-corners. Personally I add
gnome-terminal as a command, and bind
Ctrl-Alt-t to launch it.
Here you’ll find basic keyboard, mouse, and hot-corner shortcuts for window managment, like closing or minimizing a window.
You can also define how many workspaces your desktop has, including 2D workspaces. I’ve experimented with vertical workspaces (see
Vertical Virtual Size), but end up sticking with just horizontal workspaces.
A birds-eye view of your workspaces.
Customize every aspect of your workspaces. Personally, I turn off all the animations, they make me impatient.
Note: You can define how many workspaces you want in the
If eye-candy is your thing, prepare to sink some time into tweaking window animations! Toggle
Animations Plus, and
Animations Experimental to view even more animations (which will show up after rebooting, in the
Animations category itself).
Apple’s min/maximize animation is called
Magic Lamp here if that’s your thing.
The bar on the top of every window with
x _ □ (exit, minimize, maximize) is sometimes wasted space, especially when you’ve mapped those actions to the mouse/keyboard! The good news it that we can get rid of them on a per application basis.
Decoration windows, you can replace
any with the following format to prevent window decorations:
This is like just like Spectacle for Mac, and something I personally couldn’t live without.
This is like the 3-finger swiping up on Mac, see all your open windows.
There are several Application Switchers to choose from here, each varying in style and function, so try each one out. Personally I use the Static Application Switcher since it’s the least intense.
Other Helpful Stuff
Video Codecs and more
sudo apt-get install ubuntu-restricted-extras ubuntu-restricted-addons
Gnome tweaks can help you out a bit with the GNOME related side of things. The only thing I use it for is to remove the desktop icons.
sudo apt-get install gnome-tweaks gnome-tweak-tool
You can open in
Applications -> System Tools -> Preferences -> Gnome Tweak.
I make sure to hide any icons on the desktop.
Customize the theme of native applications
You can customize your entire theme, or even cherry-pick native applications to have a specific theme. Head over to gnome-look to browse themes. Download the theme and unzip it to
You can use the Gnome Tweak described above to set a theme across the board. Or, to customize the theme of an individual native application, head into
~/.local/share/applications. You’ll see a bevy of native applications
.desktop files. Open your respective application file (e.g.
rhythmbox.desktop) and prefix the
Exec= line with
env GTK_THEME=<name-of-theme>. For example, if I want the
Exec=rhythmbox %U will become
Exec=env GTK_THEME=Macterial rhythmbox %U. Re/start the application and enjoy.
Note: You may have to reset shortcuts in your dock/toolbar/input-mapping, since it’s possible that it was using the old version of the
.desktopfile. If you launch apps via the command line then obviously just add
env GTK_THEME=<name-of-theme>before the command.
Note: GTK3 themes are a lot like CSS files, if there’s something a little off (like color preferences), you can probably adjust it easily!
Windows can “sticky”, which means they will persist across all workspaces. They can also always-be-on-top regardless of window focus.
Handy for terminals, music players, video players, chat programs, and other passive applications that require infrequent focus.
Tip: Try combining this with the Opacity plugin!
There you have it, the compiz enhanced Ubuntu desktop! Hopefully it has piqued your interest!