Switching desktop environments

Different Fedora Linux variants (Spins/Labs) have different default environments. For example, the Fedora workstation uses GNOME as its default desktop environment, while the KDE spin will use KDE.

Irrespective of what installation media you used to install Fedora Linux, you can easily try and switch to any of the many other desktop environments that are available without affecting your current desktop environment.

Installing additional desktop environments

You can list available desktop environments using the default package manager, dnf. In a terminal use the dnf grouplist command to list all available package groups:

$ dnf grouplist -v
Available Environment Groups:
   Fedora Custom Operating System (custom-environment)
   Minimal Install (minimal-environment)
   Fedora Server Edition (server-product-environment)
   Fedora Workstation (workstation-product-environment)
   Fedora Cloud Server (cloud-server-environment)
   KDE Plasma Workspaces (kde-desktop-environment)
   Xfce Desktop (xfce-desktop-environment)
   LXDE Desktop (lxde-desktop-environment)
   LXQt Desktop (lxqt-desktop-environment)
   Cinnamon Desktop (cinnamon-desktop-environment)
   MATE Desktop (mate-desktop-environment)
   Sugar Desktop Environment (sugar-desktop-environment)
   Deepin Desktop (deepin-desktop-environment)
   Development and Creative Workstation (developer-workstation-environment)
   Web Server (web-server-environment)
   Infrastructure Server (infrastructure-server-environment)
   Basic Desktop (basic-desktop-environment)
   i3 desktop (i3-desktop-environment)
Available Groups:
   3D Printing (3d-printing)
   Administration Tools (admin-tools)
   Audio Production (audio)
...

Install the required desktop environment using the dnf install command. Ensure to prefix with the @ sign, for example:

# dnf install @kde-desktop-environment

You can also use the full name using the groupinstall command:

# dnf groupinstall "KDE Plasma Workspaces"

Switching desktop environments using a graphical user interface (GUI)

First, install the desired desktop environment as described in Installing additional desktop environments.

You can login to a different desktop for a single session using the login manager. For example, for the Gnome Display Manager (GDM) that is used by default on the Fedora Linux Workstation:

  1. On the login screen, select a user from the list.

  2. Click on the Preferences icon right below the password field. A window appears with a list of several different desktop environments.

  3. Choose one, and enter password as usual.

Login Screen

Using switchdesk

You also change your desktop environment using the switchdesk tool. It also allows you to change default desktop environment for individual users, and for all users.

  1. Install the switchdesk and switchdesk-gui packages:

    # dnf install switchdesk switchdesk-gui
  2. Run the Desktop Switching Tool application.

  3. Select the default desktop from the list of available desktop environments, and confirm.

Desktop Switching Tool

Switching desktop environments using the command line interface (CLI)

First, install the desired desktop environment as described in Installing additional desktop environments.

Install the switchdesk package:

# dnf install switchdesk

Pass the selected desktop environment as the only argument to the switchdesk command, for example:

# switchdesk kde

See the switchdesk(1) man page for more information.

Manually editing the system configuration

You can also change your default desktop environment using the /etc/sysconfig/desktop system configuration file. If this file does not exists, please create it. This file specifies the desktop for new users and the display manager to run when entering runlevel 5.

Please create/edit it using your preferred text editor. Note that you will need administrator (root) privileges to create or edit this file.

Correct values are:

DESKTOP="<value>", where <value> is one of the following:

  1. GNOME - Selects the GNOME desktop environment.

  2. KDE - Selects the KDE desktop environment.

DISPLAYMANAGER="<value>", where <value> is one of the following:

  1. GNOME - Selects the GNOME Display Manager.

  2. KDE - Selects the KDE Display Manager.

  3. XDM - Selects the X Display Manager.