How To Install Unity In Ubuntu 18.04 LTS

Unity Ubuntu 18.04

This is a guide on how to install Unity Desktop in Ubuntu 18.04 LTS, by using a meta-package that installs all the required packages to run Unity, just like it was in Ubuntu 16.04, including the Lightdm login screen, the complete Unity interface with global menu, default indicators, and so on.

You'll also find instructions on how to completely remove Unity if you want to go back to using Gnome (Shell) on your Ubuntu 18.04 LTS computer.

How to install Unity Desktop in Ubuntu 18.04 LTS

To get a complete Unity experience, you'll need to install the ubuntu-unity-desktop meta-package, which includes everything you need to run the Unity desktop, including LightDM, Unity System Settings, Compiz, default indicators and so on.

Screenshots showing Unity in Ubuntu 18.04 LTS:

Ubuntu 18.04 Unity desktop

Ubuntu 18.04 Unity desktop

Ubuntu 18.04 Unity desktop

To install Unity and all that's required for a complete experience in Ubuntu 18.04, use this command:

sudo apt install ubuntu-unity-desktop

When prompted to choose between gdm3 and lightdm, select lightdm:

Ubuntu 18.04 configure lightdm gdm3

Once the installation is done, restart your system and make sure Unity (Default) is selected on the login screen:

After using Unity in ubuntu 18.04 for a while, you'll notice that some applications don't seem themed right for the Unity desktop. I think this may happen because the gtk3-nocsd is installed  by default with the Unity session, or there might have been some theme changes.

Here's for example Gedit with the default Ambiance theme in Ubuntu 18.04 with Unity:

Gedit Unity Ubuntu 18.04

I would recommend installing a different theme that integrates better.

In the repositories you'll find Numix Gtk Theme. Here's Gedit in Ubuntu 18.04 with the Unity desktop using Numix Gtk Theme:

Gedit Unity Ubuntu 18.04 Numix

You can install Numix Gtk theme using:

sudo apt install numix-gtk-theme

To change the theme, use Unity Tweak Tool - to install it, run:

sudo apt install unity-tweak-tool

That's pretty much it! One more thing though. If you want to use Unity with Ubuntu 18.04 in VirtualBox, if Unity doesn't automatically set the LowGFX mode, you may have missing window titlebars and won't be able to access the indicators on the top panel. In such cases, enable the Unity lowgfx option by launching a terminal and using this command:

gsettings set com.canonical.Unity lowgfx true

How to completely remove Unity from Ubuntu 18.04 LTS

To make it easy to remove, I saved the list of packages installed by the ubuntu-unity-desktop meta-package.

This is the list of installed packages installed on a fresh Ubuntu 18.04 system with no extra packages installed. You may have manually installed some of these packages, or they may be dependencies for some packages you've installed, so be careful when using this command. It may remove some packages you have installed yourself.

I used this instead of just removing ubuntu-unity-desktop and then using apt autoremove, because only a few packages are removed that way, so you would end up with a large list of leftovers.

1. Log in to the Gnome session

Log out and select Ubuntu from the login screen:

This way you'll be logged into the Gnome session, and not Unity. You can now proceed to remove Unity.

2. Set gdm3 as default

After installing Unity, lightdm was set as default, so let's switch back to gdm3:

sudo dpkg-reconfigure gdm3

Select "gdm3" when prompted:

Ubuntu 18.04 reconfigure gdm3

3. Remove all the packages installed with the ubuntu-unity-desktop meta-package:

sudo apt purge ubuntu-unity-desktop unity-tweak-tool a11y-profile-manager-indicator activity-log-manager appmenu-qt bamfdaemon compiz compiz-core compiz-gnome compiz-plugins-default doc-base fonts-nanum fonts-symbola fonts-takao-pgothic geoclue geoclue-ubuntu-geoip gir1.2-accounts-1.0 gir1.2-appindicator3-0.1 gir1.2-gdata-0.0 gir1.2-signon-1.0 gnome-calculator gnome-logs gnome-orca gnome-screensaver gnome-system-log gnome-system-monitor gtk3-nocsd gucharmap hud indicator-applet indicator-application indicator-appmenu indicator-bluetooth indicator-common indicator-datetime indicator-keyboard indicator-messages indicator-power indicator-printers indicator-session indicator-sound jayatana liba11y-profile-manager-0.1-0 liba11y-profile-manager-data libaccounts-glib0 libatkmm-1.6-1v5 libbamf3-2 libcairomm-1.0-1v5 libcolumbus1-common libcolumbus1v5 libcompizconfig0 libdbusmenu-qt2 libdbusmenu-qt5-2 libdecoration0 libdouble-conversion1 libfcitx-config4 libfcitx-gclient1 libfcitx-utils0 libframe6 libgeis1 libgeoclue0 libgeonames-common libgeonames0 libglewmx1.13 libglibmm-2.4-1v5 libgrail6 libgsettings-qt1 libgtk3-nocsd0 libgtkmm-3.0-1v5 libgucharmap-2-90-7 libido3-0.1-0 liblightdm-gobject-1-0 libmetacity1 libmng2 libmysqlclient20 libnm-glib4 libnm-gtk0 libnm-util2 libnux-4.0-0 libnux-4.0-common libpanel-applet3 libpangomm-1.4-1v5 libqt4-dbus libqt4-declarative libqt4-network libqt4-script libqt4-sql libqt4-sql-mysql libqt4-sql-sqlite libqt4-xml libqt4-xmlpatterns libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5widgets5 libqtcore4 libqtdbus4 libqtgui4 libsigc++-2.0-0v5 libsignon-glib1 libtelepathy-glib0 libtimezonemap-data libtimezonemap1 libunity-control-center1 libunity-core-6.0-9 libunity-gtk2-parser0 libunity-gtk3-parser0 libunity-misc4 libunity-settings-daemon1 liburl-dispatcher1 libutempter0 libuuid-perl libxcb-xinerama0 libyaml-tiny-perl libzeitgeist-1.0-1 lightdm metacity-common mysql-common notify-osd notify-osd-icons nux-tools onboard onboard-common onboard-data overlay-scrollbar overlay-scrollbar-gtk2 policykit-1-gnome python3-blinker python3-bs4 python3-feedparser python3-html5lib python3-jwt python3-lxml python3-oauthlib python3-webencodings qdbus qt-at-spi qt5-gtk-platformtheme qtchooser qtcore4-l10n qttranslations5-l10n rhythmbox-plugin-zeitgeist session-shortcuts sgml-base sni-qt ttf-ancient-fonts-symbola ttf-ubuntu-font-family ubuntu-touch-sounds unity unity-accessibility-profiles unity-asset-pool unity-control-center unity-greeter unity-gtk-module-common unity-gtk2-module unity-gtk3-module unity-lens-applications unity-lens-files unity-lens-music unity-lens-photos unity-lens-video unity-schemas unity-scope-calculator unity-scope-chromiumbookmarks unity-scope-colourlovers unity-scope-devhelp unity-scope-firefoxbookmarks unity-scope-home unity-scope-manpages unity-scope-openclipart unity-scope-texdoc unity-scope-tomboy unity-scope-video-remote unity-scope-virtualbox unity-scope-yelp unity-scope-zotero unity-scopes-master-default unity-scopes-runner unity-services unity-session unity-settings-daemon xterm zeitgeist-datahub

After all packages are removed successfully, reboot your system to avoid running into any issues.