Canonical developed Unity as a graphical shell for GNOME and was first introduced in Ubuntu 10.10.

Canonical has since then stopped the development of Unity though it is now maintained by UBports and Unity packages are still available in apt's default repository.

Unity Desktop can be installed on Ubuntu 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)
Share this guide!
Discuss the article:

Comment anonymously. Login not required.

Share!