Installing Xfce on Oracle Linux 9

I’m a great fan of lightweight desktop environments. Xfce is definitely one of my favourites, and it is in heavy use on my older hardware. My older desktop machines and laptops typically don’t require Enterprise Linux distributions, but if they did, they would run Oracle Linux :)

This post explains how to install Xfce on Oracle Linux 9.4 to 9.6 x86-64 using the EPEL (Extra Packages for Enterprise Linux) repository. I’m fairly sure the same applies to ARM64 as well, but I didn’t have time to test. The article is based on the latest ISO image from https://yum.oracle.com/oracle-linux-isos.html. I installed a minimum system, and applied all the patches I could get my hands on until September 14th 2025.

BaseOS installation

The installation is pretty much the same as usual, be sure to perform a minimal install, otherwise there are too many components pre-installed, including a GUI. To save space on my VMs I only ever want one GUI installed at a time (if ever). The RPMs required for Xfce are part of the Extra Packages for Enterprise Linux (EPEL) repository

Be advised that enabling Extra Packages for Enterprise (EPEL) come with a warning:

Note: The contents in the following repositories are for development purposes only. Oracle suggests these not be used in production.

Don’t install packages from that repository unless you are ok with the message. You can use GNOME instead of Xfce for a Server-with-GUI experience.

Enabling EPEL

You were ok with the above warning, weren’t you? If so, read on, if not, please use GNOME instead of Xfce.

Start by installing the EPEL repository configuration files (link to documentation), then enable the repository. yum-config-manager is part of the yum-utils package.

sudo dnf install oracle-epel-release-el9
sudo yum-config-manager --enable ol9_developer_EPEL

If you prefer, you can also manually switch the enabled flag in the config file from 0 to 1.

Installing X11

The second step is to install the basic xorg-x11 packages. Which really is a one-liner:

sudo dnf groupinstall "base-x"

It’s only a small list of packages:

[martin@localhost ~]$ sudo dnf groupinfo "base-x"
Last metadata expiration check: 1:15:35 ago on Mon 24 Jun 2024 16:40:33 CEST.
Group: base-x
 Description: Local X.org display server
 Mandatory Packages:
   glx-utils
   mesa-dri-drivers
   plymouth-system-theme
   xorg-x11-drv-evdev
   xorg-x11-drv-fbdev
   xorg-x11-drv-libinput
   xorg-x11-drv-vmware
   xorg-x11-drv-wacom
   xorg-x11-server-Xorg
   xorg-x11-utils
   xorg-x11-xauth
   xorg-x11-xinit
   xorg-x11-xinit-session

Installing Xfce

It’s finally time to install Xfce. Since June 25th you can use a one-liner:

[martin@localhost ~]$ sudo dnf groupinfo "Xfce"
Last metadata expiration check: 0:19:33 ago on Tue 25 Jun 2024 15:41:15 CEST.
Group: Xfce
 Description: A lightweight desktop environment that works well on low end machines.
 Mandatory Packages:
   Thunar
   xfce4-panel
   xfce4-session
   xfce4-settings
   xfconf
   xfdesktop
   xfwm4
 Default Packages:
   gdm
   network-manager-applet
   openssh-askpass
   thunar-archive-plugin
   thunar-volman
   tumbler
   xfce-polkit
   xfce4-appfinder
   xfce4-power-manager
   xfce4-pulseaudio-plugin
   xfce4-screensaver
   xfce4-terminal
 Conditional Packages:
   pinentry-gnome3
[martin@localhost ~]$ sudo dnf groupinstall "Xfce"

Have a look at the other xfce* packages to see if you have a need for them. I typically add mousepad and firefox and voila – I have a working Xfce4 environment :) I prefer to keep the VMs in command-line-mode, but when I need a GUI I start it using startxfce4.