Quick Links

Each Linux distribution comes with a single default desktop environment chosen from the many different desktop environments available for Linux. But you don't have to stick with the default.

Switching desktop environments is as simple as installing a software package and selecting your preferred environment on the login screen, known as a display manager. You don't have to install an entirely different Linux distribution.

Desktop Environment Basics

Related: "Linux" Isn't Just Linux: 8 Pieces of Software That Make Up Linux Systems

Desktop environments include basically everything you see after you log into your user account on your Linux distribution's sign-in screen. The desktop itself, desktop background, panels, menus, file manager, settings windows, and many other applications and utilities all come from a desktop environment. Even each window's titlebar is provided by an application known as a window manager that comes with the desktop environment.

unity-desktop-environment-on-ubuntu-14.04

Different desktop environments have different strengths and weaknesses. Ubuntu's default Unity desktop environment is designed to provide a single interface that will work well on computers, tablets, smartphones and TVs, while Linux Mint's Cinnamon desktop environment is designed to provide a more traditional Linux desktop experience. The LXDE desktop environment included with Lubuntu is designed to be fast and use little resources.

linux-mint-17-cinnamon-desktop

How to Install Another Desktop Environment

Related: Linux Users Have a Choice: 8 Linux Desktop Environments

To install a different desktop environment, you'll just need to open your Linux distribution's package manager and install the appropriate package. This will be similar on al distributions, but we'll use Ubuntu 14.04 and Linux Mint 17 as examples here.

For example, let's say you wanted to install another desktop environment on Ubuntu. You'd open the Ubuntu Software Center, search for the name of the desktop environment's package, select it, and click the Install button. To install Xfce, you'd search for xfce4. To install the full, customized Xubuntu desktop system, you'd search for xubuntu-desktop instead.

install-xfce4-on-ubuntu-14.04

Search for another desktop environment's name to install it. For example, you might type lxde or lubuntu-desktop for LXDE/Lubuntu or kde-full or kubuntu-desktop for KDE/Kubuntu. Some desktop environments may not be provided in your Linux distribution's repositories. The Cinnamon and MATE desktop environments included with Linux Mint aren't available in Ubuntu's repositories, so you'd have to use a PPA to install them on Ubuntu.

The process is basically the same on Linux Mint, but you'd search for the package in the Software Manager application instead.

install-desktop-environment-from-linux-mint-software-manager

Here's how you'd install XFCE from the terminal on Ubuntu or Linux Mint:

sudo apt-get install xfce4

The above command would give you the standard XFCE desktop environment. However, you might want Xubuntu's customized XFCE desktop environment instead:

sudo apt-get install xubuntu-desktop

install-alternate-desktop-environment-on-ubuntu-14.04

Enter your password after running the command. The package manager will want to install all the packages that make up the desktop environment -- type y to confirm.

do-you-want-to-continue-apt-get

If you use another Linux distribution, head to your package manager and look for a desktop environments category or just search for the name of the desktop environment. You can also perform a quick web search to find out how to install the desktop environment on your Linux distribution. If it's available in your Linux distribution's software repositories, you should just need a single command.

How to Switch Between Desktop Environments

Log out of your Linux desktop after installing another desktop environment.

sign-out-of-ubuntu-14.04

When you see the login screen, click the Session menu and select your preferred desktop environment. You can adjust this option each time you log in to choose your preferred desktop environment.

On Ubuntu's default login screen -- known as a display manager -- this menu can be accessed by clicking an icon next to your user name. The icon only appears if multiple desktop environments are available. On other display managers, you may need to click a "Session" menu or a similar icon. You'll find the option somewhere on the screen.

select-desktop-environment-on-ubuntu-default-login-screen-or-display-manager

You'll see a list of the desktop environments you have installed. Click one to select it and set it as your user account's default desktop environment.

choose-ubuntu-desktop-environment-on-login-screen

Sign in and you'll see the desktop environment you chose. All desktop environments have access to your home folder and files, so they can share data. They're basically just different programs with their own individual settings.

xfce-desktop-environment-installed-on-ubuntu-14.04

Different desktop environments can interfere with each other. Fore example, Ubuntu 14.04 sets a default GTK theme that doesn't work well with the XFCE desktop environment we installed as an example. XFCE's panels look ugly and many icons are missing by default. To fix this, we clicked Applications Menu > Settings > Settings Manager > Appearance and select the Xfce-4.0 style and Tango icons.

This is the sort of problem you might run into when using multiple desktop environments -- issues with a desktop environment looking ugly can generally be fixed by changing the theme. A Linux distribution's alternate desktop environments generally aren't quite as polished as its default desktop environment.

fix-ugly-xfce-theme-on-ubuntu-14.04

To switch desktop environments again, sign out and choose a different one on the login screen.

How to Uninstall a Desktop Environment

To remove the desktop environment, search for the same package you installed earlier and uninstall it. On Ubuntu, you can do this from the Ubuntu Software Center or with the sudo apt-get remove packagename command.

uninstall-xfce-desktop-environment-on-ubuntu-linux

To uninstall other applications the desktop environment pulled in, you'll probably want to visit the terminal and run the following command on Ubuntu or other Debian-based Linux distributions:

sudo apt-get autoremove

The autoremove bit of the command instructs apt-get to automatically remove packages that were installed as dependencies for the desktop environment, so it will remove the additional packages the desktop environment pulled onto your system.

You should probably sign out of the desktop environment before doing this. You'll see error messages as the desktop environment's files vanish while it's running.

clean-up-dependencies-with-apt-get-autoremove

Other Linux distributions may automatically remove the desktop environment's associated programs when you uninstall it from their package managers, or you may have to run a command like sudo apt-get autoremove to clean up.


If you love a particular desktop environment, you may want to seek out a Linux distribution -- or at least a different installation media for your Ubuntu or another Linux distribution of your choice -- that uses it as its default desktop. For example, XFCE lovers will want to install Xubuntu instead of Ubuntu in the future, while people who prefer the Cinnamon desktop may want to install the Cinnamon version of Linux Mint.

Linux Commands

Files

tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · type · rename · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · convert · rclone · shred · srm · scp · gzip · chattr · cut · find · umask · wc · tr

Processes

alias · screen · top · nice · renice · progress · strace · systemd · tmux · chsh · history · at · batch · free · which · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · timeout · wall · yes · kill · sleep · sudo · su · time · groupadd · usermod · groups · lshw · shutdown · reboot · halt · poweroff · passwd · lscpu · crontab · date · bg · fg · pidof · nohup · pmap

Networking

netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw · arping · firewalld

RELATED: Best Linux Laptops for Developers and Enthusiasts