How to Install Xfce Desktop in Arch Linux [Complete Guide]

6 min

In this guide, we explain how you can install the latest Xfce desktop in Arch Linux. The guide explains the steps for the latest Xfce 4.16 release, however, it works for any Xfce version as well.

The first part of the guide explains the steps for installing the base Arch system. The second part is installing the complete Xfce desktop on top of Arch Linux.

What is the Xfce Desktop?

Xfce is an open-source Linux desktop environment. It is known to be a lightweight desktop while providing enough visual appeal to the users and customizations. Xfce desktop comes with its own modular packages which contributed to the overall desktop feel.

Xfce desktop is an option for many Linux distributions as a lightweight flavour. Some of the important Xfce desktop features as Xubuntu, Debian Xfce edition, Linux Mint Xfce, MX Linux, Fedora Xfce edition, etc.

For Arch Linux as well, you can install Xfce on top of a base install. In this guide, we explain the steps for the same.

Xfce 4.16

The latest Xfce desktop version was recently released as Xfce 4.16. This brings many new features and updates to this lightweight desktop. The Arch Linux repo (extra) is already updated with Xfce 4.16. This guide explains the steps for installing Xfce 4.16 in Arch Linux.

Install Xfce Desktop in Arch Linux

Part 1: Install Arch Linux

If you have already Arch Linux installed, you can skip this step and directly go to the install Xfce Desktop section below.

For a quick Arch Linux base installation, follow the below steps. You can also visit this guide for a complete tutorial on how to install Arch Linux as Dual Boot or on a virtual machine.

Download Arch Linux

Download Arch Linux .iso from the below link. There are magnet and torrent links available. Once you download, write the ISO to a USB drive. And then boot from the drive.

If you are planning to install it as a virtual machine image via GNOME Boxes, virt-manager – then you do not need to write it to a USB drive.

Boot and Configure Partitions

After you boot from the Arch Linux iso, you have to run a series of commands to install the base system.

First, run the below command to find out the device identifier.

fdisk -l
fdisk -l before
fdisk -l before

Then with the device identifier, run the below command to start partitioning your disk. Make sure to change /dev/sda as per your system.

cfdisk /dev/sda

Select label type = dos in the next prompt.

Select the free space and choose option NEW from the bottom. In this example, I will create three partitions as per below.

/dev/sda1 - 1G - for /boot
/dev/sda2 - 5G - for root
/dev/sda3 - 1G - for swap

In the next screen provide the partition size for the boot partition (for this example, I gave 1 GB). Select it as the primary partition.

Repeat the same step for the main root partition of size 5GB.

Swap partition type change
Swap partition type change

Create a swap partition using the same steps with size 1G (you may change it as per your need). After you create the swap partition, make sure to choose Type at the bottom and mark it as a swap with the option “Linux Swap/Solaris”.

final partition list in cfdisk
final partition list in cfdisk

Once done, write the changes to the disk using the Write option at the bottom. Make sure you take a backup before you write as this is a permanent change in your system.

Run the below command to check before you proceed. You can see in this example, that three partitions are listed.

fdisk -l
final partition list in fdisk
final partition list in fdisk

Run the following commands in sequence to format and create an ext4 file system in the newly created partition above. Make sure you change the /dev/sda1 and /dev/sda2 as per your need.

mkfs.ext4 /dev/sda1
mkfs.ext4 /dev/sda2
mkswap /dev/sda3
swapon /dev/sda3

After completion, mount the system and create the necessary directories.

mount /dev/sda2 /mnt
mkdir /mnt/boot /mnt/var /mnt/home
mount /dev/sda1 /mnt/boot

Again, make sure you change /dev/sda1, /dev/sda2 and /dev/sda3 as per your system.

prepare file system
prepare file system

Install the base system

I hope you are already connected to the internet. If not, try using a USB dongle or wired internet connection which the Arch installer automatically configures and detect. If you do not have a wired connection available, follow this guide to configure a wireless or wifi network using the Arch Linux installer.

Run the below commands in sequence to install the base system in the mounted partition. The download size is approx 400 MB.

pacman -Syy
pacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub
Install base system
Install base system

Once complete, generate file system table without which you can’t boot the system.

genfstab -U /mnt >> /mnt/etc/fstab

Configure the base system

Follow the below commands in sequence to configure the base system. This involves setting up your locale, and language, adding a login user, and setting up the internet.

arch-chroot /mnt
nano /etc/locale.gen

Uncomment the locale of your choice by removing # at the beginning. For this guide, I have chosen en_US.UTF-8 UTF-8. Press CTRL+O, Enter, and CTRL+X to exit from nano.

change locale
change locale

Generate the locale using:


Setup the language using the below command.

echo LANG=en_US.UTF-8 > /etc/locale.conf
export LANG=en_US.UTF-8

Setup the local time zone.

ln -s /usr/share/zoneinfo/America/New_York /etc/localtime

Again, you can choose them as per your need. You can list the local timezones via the below commands.

ls /usr/share/zoneinfo
ls /usr/share/zoneinfo/America

Setup the hardware clock, create a hostname and enable the DHCP for the internet using the below commands in sequence. You can change "arindam-pc" to any hostname as per your desire.

hwclock --systohc --utc
echo arindam-pc > /etc/hostname
systemctl enable dhcpcd

The next step is to set up the root user password, create an admin user, and add the user to the sudoers file.

Follow the below commands in sequence. Make sure to change the user name debugpoint to something else as per your need.

passwd root
useradd -m -g users -G wheel -s /bin/bash debugpoint
passwd debugpoint
create user
create user

Open the sudoers file and add the below lines.

nano /etc/sudoers

Add below lines. As you already created the root user, the entry should be there.

root ALL=(ALL) ALL
debugpoint ALL=(ALL) ALL
update sudoers file
update sudoers file

Install grub, setup the initial ramdisk environment, and unmount the system using the below commands in sequence.

grub-install /dev/sda
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux
configure grub
configure grub

Then reboot your system.

umount /mnt/boot
umount /mnt

You have now successfully installed the Arch Linux base system. It’s time to install the complete Xfce desktop.

Part 2: Install Xfce Desktop in Arch Linux

After reboot, choose Arch Linux from grub. In the Arch Linux prompt start running the following commands in sequence. These commands install Xorg server, lightdm display manager, Xfce desktop components, controller packages, and additional applications.

For all the commands use default i.e. press enter when asked.

  • Install Xorg. Approx install size is 80 MB.
sudo pacman -S --needed xorg
  • Install additional components and applications (approx 144 MB)
sudo pacman -S --needed xfce4 mousepad parole ristretto thunar-archive-plugin thunar-media-tags-plugin xfce4-battery-plugin xfce4-datetime-plugin xfce4-mount-plugin xfce4-netload-plugin xfce4-notifyd xfce4-pulseaudio-plugin xfce4-screensaver xfce4-taskmanager xfce4-wavelan-plugin xfce4-weather-plugin xfce4-whiskermenu-plugin xfce4-xkb-plugin file-roller network-manager-applet leafpad epdfview galculator lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings capitaine-cursors arc-gtk-theme xdg-user-dirs-gtk
  • If the above command is too much to type, try to install xfce4-goodies group via the below command with the rest of the required packages (Thanks to Philip and others).
sudo pacman -S --needed xfce4-goodies file-roller network-manager-applet leafpad epdfview galculator lightdm lightdm-gtk-greeter lightdm-gtk-greeter-settings capitaine-cursors arc-gtk-theme xdg-user-dirs-gtk
  • If you are installing Arch + Xfce in a VirtualBox virtual machine, install the following package for guest additions. This is optional.
sudo pacman -S --needed virtualbox-guest-utils xf86-video-vmware

The above packages are just for reference. You can also install the ones you require.

Now it’s time to enable the display manager and network manager as a service. So that next time you log on, they can run automatically by systemd.

systemctl enable lightdm
systemctl enable NetworkManager
Enable lightdm and network - Install Xfce Desktop in Arch Linux
Enable lightdm and network – Install Xfce Desktop in Arch Linux

Reboot the system using the reboot command.


If all goes well, you should see a lightdm login prompt on the Xfce desktop. Login using the credentials you just created in the above steps. You should be greeted with the latest Xfce desktop environment.

lightdm login prompt
lightdm login prompt
Xfce Desktop in Arch Linux
Xfce Desktop in Arch Linux

I hope this guide helps you create your own Arch Linux environment with a lightweight Xfce desktop from scratch. If you run into trouble, let me know using the comment box below.

We bring the latest tech, software news and stuff that matters. Stay in touch via Telegram, Twitter, YouTube, and Facebook and never miss an update!

Join our Telegram channel and stay informed on the move.

Subscribe to Blog via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.


Creator of All time Linux user and open-source supporter. Connect with me via Telegram, Twitter, LinkedIn, or send us an email.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Oldest Most Voted
Inline Feedbacks
View all comments
Would love your thoughts, please comment.x