Canonical developed Unity as a graphical shell for GNOME and was first introduced in Ubuntu 10.10. Canonical has since stopped the development of Unity though UBports now maintains it.

Unity packages are still available in apt's default repository. You can install Unity Desktop on Ubuntu to replace GNOME using apt at the terminal.

Steps to install Unity Desktop on Ubuntu:

  1. Launch terminal.
  2. Update apt's package list from the repositories.

    $ sudo apt update [sudo] password for user:  Hit:1 http://archive.ubuntu.com/ubuntu focal InRelease Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [111 kB] Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [98.3 kB] Get:4 http://archive.ubuntu.com/ubuntu focal-security InRelease [107 kB] Fetched 317 kB in 3s (115 kB/s)    Reading package lists... Done Building dependency tree        Reading state information... Done All packages are up to date.

  3. Upgrade installed packages using apt.

    $ sudo apt dist-upgrade --assume-yes Reading package lists... Done Building dependency tree        Reading state information... Done Calculating upgrade... Done 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

  4. Install ubuntu-unity-desktop package using apt.

    $ sudo apt install --assume-yes ubuntu-unity-desktop Reading package lists... Done Building dependency tree        Reading state information... Done The following additional packages will be installed:   a11y-profile-manager-indicator accountsservice-ubuntu-schemas activity-log-manager adium-theme-ubuntu bamfdaemon cinnamon-desktop-data cinnamon-l10n compiz compiz-core compiz-gnome   compiz-plugins-default diffstat doc-base example-content folks-common fonts-lato gdebi gdebi-core geary gettext gir1.2-appindicator3-0.1 gist gnome-icon-theme gnome-screensaver gnome-software   gnome-software-common gnome-software-plugin-snap gnome-system-log gnome-system-tools gstreamer1.0-libav gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gtk3-nocsd gucharmap hddtemp hud hwdata   i965-va-driver ifupdown indicator-applet indicator-application indicator-appmenu indicator-bluetooth indicator-common indicator-datetime indicator-keyboard indicator-messages indicator-power   indicator-printers indicator-session indicator-sound intel-media-va-driver intltool-debian inxi javascript-common jayatana liba11y-profile-manager-0.1-0 liba11y-profile-manager-data liba52-0.7.4   libaacs0 libaccounts-glib0 libaom0 libappstream-glib8 libapt-pkg-perl libarchive-zip-perl libass9 libasync-mergepoint-perl libavcodec58 libavfilter7 libavformat58 libavutil56   libb-hooks-endofscope-perl libb-hooks-op-check-perl libbamf3-2 libbdplus0 libbluray2 libbs2b0 libcapture-tiny-perl libchromaprint1 libcinnamon-desktop4 libclass-method-modifiers-perl   libclass-xsaccessor-perl libclone-perl libcodec2-0.9 libcolumbus1-common libcolumbus1v5 libcompizconfig0 libcpanel-json-xs-perl libcroco3 libdbusmenu-qt5-2 libdc1394-22 libdca0 libde265-0   libdecoration0 libdevel-callchecker-perl libdevel-size-perl libdigest-bubblebabble-perl libdigest-hmac-perl libdouble-conversion3 libdvdnav4 libdvdread7 libdynaloader-functions-perl   libemail-valid-perl libept1.6.0 libexporter-tiny-perl libfaad2 libfcitx-config4 libfcitx-gclient1 libfcitx-utils0 libfftw3-double3 libfile-find-rule-perl libflite1 libfluidsynth2 libfolks-eds25   libfolks25 libfont-ttf-perl libframe6 libfuture-perl libgail-3-0 libgeis1 libgeonames-common libgeonames0 libglewmx1.13 libgme0 libgmime-3.0-0 libgnome-panel0 libgrail6 libgsettings-qt1 libgsm1   libgstreamer-plugins-bad1.0-0 libgtk2-perl libgtk3-nocsd0 libgucharmap-2-90-7 libgupnp-igd-1.0-4 libido3-0.1-0 libigdgmm11 libilmbase24 libimport-into-perl libindicator3-7 libinstpatch-1.0-2   libio-async-loop-epoll-perl libio-async-perl libio-pty-perl libio-string-perl libipc-run-perl libjs-jquery libjson-maybexs-perl libkate1 liblightdm-gobject-1-0 liblilv-0-0 liblinux-epoll-perl   liblist-compare-perl liblist-moreutils-perl libmetacity1 libmjpegutils-2.1-0 libmms0 libmodplug1 libmodule-implementation-perl libmodule-runtime-perl libmoo-perl libmoox-aliases-perl libmpcdec6   libmpeg2-4 libmpeg2encpp-2.1-0 libmplex2-2.1-0 libmysofa1 libnamespace-clean-perl libnemo-extension1 libnet-dns-perl libnet-dns-sec-perl libnet-domain-tld-perl libnet-ip-perl libnet-libidn-perl   libnice10 libnorm1 libnumber-compare-perl libnux-4.0-0 libnux-4.0-common libofa0 liboobs-1-5 libopenal-data libopenal1 libopencore-amrnb0 libopencore-amrwb0 libopenexr24 libopenmpt0   libpackage-stash-perl libpackage-stash-xs-perl libpango-perl libparams-classify-perl libpath-tiny-perl libpcre2-16-0 libperl4-corelibs-perl libperlio-gzip-perl libpgm-5.2-0 libpostproc55 libqt5core5a   libqt5dbus5 libqt5gui5 libqt5network5 libqt5sql5 libqt5sql5-sqlite libqt5svg5 libqt5widgets5 libreadonly-perl libref-util-perl libref-util-xs-perl librole-tiny-perl librubberband2 libruby2.7   libsdl2-2.0-0 libserd-0-0 libsereal-decoder-perl libsereal-encoder-perl libsereal-perl libshine3 libsidplay1v5 libsnappy1v5 libsndio7.0 libsord-0-0 libsoundtouch1 libspandsp2 libsratom-0-0 libsrt1   libsrtp2-1 libssh-gcrypt-4 libstrictures-perl libstruct-dumb-perl libsub-exporter-progressive-perl libsub-identify-perl libsub-name-perl libsub-quote-perl libswresample3 libswscale5   libtelepathy-glib0 libtest-fatal-perl libtest-refcount-perl libtext-glob-perl libtext-levenshtein-perl libtimezonemap-data libtimezonemap1 libtype-tiny-perl libtype-tiny-xs-perl libunicode-utf8-perl   libunity-control-center1 libunity-core-6.0-9 libunity-gtk2-parser0 libunity-gtk3-parser0 libunity-misc4 libunity-settings-daemon1 liburl-dispatcher1 libusrsctp1 libutempter0 libuuid-perl libva-drm2   libva-x11-2 libva2 libvariable-magic-perl libvdpau1 libvidstab1.1 libvo-aacenc0 libvo-amrwbenc0 libwildmidi2 libx264-155 libx265-179 libxapian30 libxapp1 libxcb-xinerama0 libxcb-xinput0   libxml-libxml-perl libxml-namespacesupport-perl libxml-sax-base-perl libxml-sax-expat-perl libxml-sax-perl libxml-writer-perl libxvidcore4 libyaml-libyaml-perl libyaml-tiny-perl libytnef0 libzbar0   libzeitgeist-1.0-1 libzeitgeist-2.0-0 libzmq5 libzvbi-common libzvbi0 light-themes lightdm lintian lm-sensors mesa-utils mesa-va-drivers mesa-vdpau-drivers metacity-common nemo nemo-data   nemo-fileroller notify-osd notify-osd-icons nux-tools ocl-icd-libopencl1 onboard onboard-common onboard-data overlay-scrollbar overlay-scrollbar-gtk2 patchutils plymouth-theme-ubuntu-logo   policykit-1-gnome ppa-purge pppconfig pppoeconf qt5-gtk-platformtheme qttranslations5-l10n rake rhythmbox-plugin-zeitgeist ruby ruby-json ruby-minitest ruby-net-telnet ruby-power-assert   ruby-test-unit ruby-xmlrpc ruby2.7 rubygems-integration session-shortcuts synaptic system-tools-backends t1utils timgm6mb-soundfont tree ubuntu-artwork ubuntu-software ubuntu-sounds   ubuntu-system-service 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-schemas unity-scope-home unity-scopes-master-default unity-scopes-runner unity-services unity-session unity-settings-daemon   unity-settings-daemon-schemas va-driver-all vdpau-driver-all xapps-common xterm zeitgeist-core zeitgeist-datahub Suggested packages:   rarian-compat gettext-doc autopoint libasprintf-dev libgettextpo-dev gnome-software-plugin-flatpak ntp frei0r-plugins i965-va-driver-shaders rdnssd unity-greeter-session-broadcast libxml-dumper-perl   apache2 | lighttpd | httpd libbluray-bdj libdvdcss2 fcitx libfftw3-bin libfftw3-dev libgtk2-perl-doc libportaudio2 libscalar-number-perl qt5-image-formats-plugins qtwayland5 serdi sidplay-base sndiod   sordi libbareword-filehandles-perl libindirect-perl libmultidimensional-perl libdevel-lexalias-perl libdevel-stacktrace-perl url-dispatcher libwildmidi-config xapian-tools libxml-sax-expatxs-perl   bindfs binutils-multiarch libtext-template-perl fancontrol read-edid i2c-tools opencl-icd aptitude resolvconf xdialog ri ruby-dev bundler dwww menu deborphan apt-xapian-index tasksel   fluid-soundfont-gm fluidsynth timidity musescore libcanberra-gtk-module libvdpau-va-gl1 nvidia-vdpau-driver nvidia-legacy-340xx-vdpau-driver nvidia-legacy-304xx-vdpau-driver xfonts-cyrillic Recommended packages:   appmenu-qt systemd-services ##### snipped 0 upgraded, 360 newly installed, 0 to remove and 0 not upgraded. Need to get 159 MB of archives. After this operation, 570 MB of additional disk space will be used. ##### snipped

  5. Use [TAB] key to navigate to the Ok button and press [ENTER] to start configuring LightDM.
  6. Select lightdm by using the arrow key, use the [TAB] key to reach the Ok button and press [ENTER].
  7. Reboot your system.

    $ sudo reboot

  8. Log in to your Unity desktop via LightDM.
  9. Enjoy using Unity desktop on your Ubuntu system.

Guide compatibility:

Operating System
Ubuntu 16.04 LTS (Xenial Xerus)
Ubuntu 16.10 (Yakkety Yak)
Ubuntu 17.04 (Zesty Zapus)
Ubuntu 17.10 (Artful Aardvark)
Ubuntu 18.04 LTS (Bionic Beaver)
Ubuntu 18.10 (Cosmic Cuttlefish)
Ubuntu 19.04 (Disco Dingo)