How to install minimal Ubuntu desktop

Question: I want to use Ubuntu Desktop on my hardware, but without all the bloatware pre-installed (e.g., LibreOffice, media players, etc). How can I install a minimal Ubuntu desktop?

If you want to set up a stripped down Ubuntu desktop, a clean approach is to first install Ubuntu server on your hardware, and then manually add desktop component to it.

Assuming that you already installed Ubuntu server on your computer, you can install minimal Ubuntu desktop as follows.

Install Minimal Unity Desktop

The following command installs Unity desktop and its hard dependencies, but nothing else.

$ sudo apt-get install --no-install-recommends ubuntu-desktop

To see what packages are included in such minimal desktop, use the following command.

$ apt-cache show ubuntu-desktop | grep "Depends"
Depends: alsa-base, alsa-utils, anacron, at-spi2-core, baobab, bc, ca-certificates, checkbox-qt, dmz-cursor-theme, doc-base, eog, evince, file-roller, fonts-freefont-ttf, foomatic-db-compressed-ppds, foomatic-filters, gcalctool, gedit, genisoimage, ghostscript-x, gnome-control-center, gnome-font-viewer, gnome-media, gnome-menus, gnome-power-manager, gnome-screenshot, gnome-session, gnome-session-canberra, gnome-system-log, gnome-system-monitor, gnome-terminal, gstreamer0.10-alsa, gstreamer0.10-plugins-base-apps, gstreamer0.10-pulseaudio, gucharmap, gvfs-bin, inputattach, language-selector-gnome, libatk-adaptor, libgd2-xpm, libnotify-bin, libpam-ck-connector, libpam-xdg-support, libsasl2-modules, libxp6, lightdm, nautilus, nautilus-sendto, notify-osd, openprinting-ppds, printer-driver-pnm2ppa, pulseaudio, rfkill, seahorse, software-center, software-properties-gtk, ssh-askpass-gnome, system-config-printer-gnome, ttf-dejavu-core, ubuntu-artwork, ubuntu-drivers-common, ubuntu-extras-keyring, ubuntu-release-upgrader-gtk, ubuntu-settings, ubuntu-sounds, unity, unity-greeter, unzip, update-manager, update-notifier, wireless-tools, wpasupplicant, xdg-user-dirs, xdg-user-dirs-gtk, xdiagnose, xkb-data, xorg, xterm, yelp, zenity, zip

To check what packages are missing on the minimal desktop, run:

$ apt-cache show ubuntu-desktop | grep "Recommends"
Recommends: acpi-support, activity-log-manager-control-center, aisleriot, app-install-data-partner, apport-gtk, avahi-autoipd, avahi-daemon, bluez, bluez-alsa, bluez-cups, bluez-gstreamer, branding-ubuntu, brasero, brltty, cups, cups-bsd, cups-client, deja-dup, empathy, example-content, firefox, firefox-gnome-support, fonts-kacst-one, fonts-khmeros-core, fonts-lao, fonts-liberation, fonts-lklug-sinhala, fonts-nanum, fonts-sil-abyssinica, fonts-sil-padauk, fonts-takao-pgothic, fonts-thai-tlwg, fonts-tibetan-machine, gcc, gnome-accessibility-themes, gnome-bluetooth, gnome-disk-utility, gnome-mahjongg, gnome-orca, gnome-screensaver, gnome-sudoku, gnomine, gvfs-fuse, gwibber, hplip, ibus, ibus-gtk3, ibus-pinyin, ibus-pinyin-db-android, ibus-table, im-switch, kerneloops-daemon, landscape-client-ui-install, laptop-detect, libgail-common, libnss-mdns, libpam-gnome-keyring, libproxy1-plugin-gsettings, libproxy1-plugin-networkmanager, libqt4-sql-sqlite, libreoffice-calc, libreoffice-gnome, libreoffice-help-en-us, libreoffice-impress, libreoffice-math, libreoffice-ogltrans, libreoffice-pdfimport, libreoffice-presentation-minimizer, libreoffice-presenter-console, libreoffice-style-human, libreoffice-writer, libwmf0.2-7-gtk, linux-headers-generic, make, mousetweaks, nautilus-share, network-manager-gnome, network-manager-pptp, network-manager-pptp-gnome, onboard, overlay-scrollbar, pcmciautils, plymouth-theme-ubuntu-logo, policykit-desktop-privileges, printer-driver-c2esp, printer-driver-foo2zjs, printer-driver-min12xxw, printer-driver-ptouch, printer-driver-pxljr, printer-driver-sag-gdi, printer-driver-splix, pulseaudio-module-bluetooth, pulseaudio-module-gconf, pulseaudio-module-x11, python3-aptdaemon.pkcompat, qt-at-spi, remmina, rhythmbox, rhythmbox-plugin-magnatune, rhythmbox-ubuntuone, shotwell, simple-scan, sni-qt, speech-dispatcher, telepathy-idle, thunderbird, thunderbird-gnome-support, totem, totem-mozilla, transmission-gtk, ttf-indic-fonts-core, ttf-punjabi-fonts, ttf-ubuntu-font-family, ttf-wqy-microhei, ubuntu-docs, ubuntuone-client-gnome, ubuntuone-control-panel-qt, unity-webapps-common, usb-creator-gtk, vino, whoopsie, xcursor-themes, xdg-utils, xul-ext-ubufox, xul-ext-unity

Install Minimal KDE Desktop

If you want to add minimal KDE desktop to Ubuntu server, run the command below. It will not install any recommended extra packages, but only those required to run KDE desktop.

$ sudo apt-get install --no-install-recommends kubuntu-desktop

Install Minimal Xfce Desktop

To install minimal Xfce GUI on Ubuntu server:

$ sudo apt-get install --no-install-recommends xubuntu-desktop

Install Minimal LXDE Desktop

To set up LXDE desktop on Ubuntu server, use this command.

$ sudo apt-get install lubuntu-desktop

The lubuntu-desktop package, by design, does not install any extra recommended packages, so you don't need to supply "--no-install-recommends" argument.

Download this article as ad-free PDF (made possible by your kind donation): 
Download PDF

Subscribe to Ask Xmodulo

Do you want to receive Linux related questions & answers published at Ask Xmodulo? Enter your email address below, and we will deliver our Linux Q&A straight to your email box, for free. Delivery powered by Google Feedburner.

Support Xmodulo

Did you find this tutorial helpful? Then please be generous and support Xmodulo!

3 thoughts on “How to install minimal Ubuntu desktop

  1. Thanks- This was clear cut and helpful for my Ubuntu install. I had a problem with the arguments, but this did the job for me! 🙂

  2. Great instructions, worked like a charm on 16.04. I used the F4 option of minimal vm install, and this got me the minimal dev VM I was looking for... thanks again

Leave a comment

Your email address will not be published. Required fields are marked *