This guide explains the steps you need to install GNOME Desktop in Arch Linux.
This guide has two parts. The first part deals with installing the base Arch system. The second part is installing the complete GNOME desktop environment on top of Arch Linux.
Table of Contents
What is the GNOME Desktop?
GNOME is a popular desktop environment that is a default desktop choice for many top-tier desktops-based Linux distributions such as Ubuntu and Fedora. Almost all flavors provide a GNOME desktop option.
The GNOME desktop is one of the stable and user-friendly desktops, hence it is preferred by many average, advanced users. If you want a desktop that remains invisible while you carry out your work, GNOME is the one. It never gets into your way while working. Hence it is still popular and default option for many despite many controversies about being GNOME3 (current iteration) being slow, resource-heavy, etc,
With all that said, let’s take a look at how you can install a GNOME desktop in bare metal Arch installations.
Install GNOME 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 GNOME 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 in a virtual machine.
The following steps are a straightforward legacy way of installing Arch. Follow the guide below for a more modern way of using the archinstall script. Once you are done, come back to resume GNOME installation via step 2.
Modern method: Install using archinstall script (recommended)
Legacy method: 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.
Then with the device identifier, run the below command to start partitioning your disk. Make sure to change
/dev/sda as per your system.
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 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.
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”.
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, three partitions are listed.
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.
After completion, mount the system and create 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.
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 Arch installer automatically configure and detect. If you do not have a wired connection available, follow this guide to configure a wireless or wifi network using 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.
pacstrap /mnt base base-devel linux linux-firmware nano dhcpcd net-tools grub
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, language, add a login user, and setting up the internet.
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.
Generate the locale using:
Setup the language using the below command.
echo LANG=en_US.UTF-8 > /etc/locale.conf
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 in the sudoers file.
Follow the below commands in sequence. Make sure to change the user name from
debugpoint to something else as per your need.
useradd -m -g users -G wheel -s /bin/bash debugpoint
Open the sudoers file and add the below lines.
Add below lines. As you already created the root user, the entry should be there.
root ALL=(ALL) ALL
debugpoint ALL=(ALL) ALL
Install grub, setup the initial ramdisk environment, unmount the system using the below commands in sequence.
grub-mkconfig -o /boot/grub/grub.cfg
mkinitcpio -p linux
Then reboot your system. If you are isntalling in a physical system, unplug the USB media at this step.
umount /mnt/boot umount /mnt reboot
You have now successfully installed the Arch Linux base system. It’s time to install the complete GNOME desktop.
Part 2: Install GNOME 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, display manager, GNOME desktop components, controller packages, and additional applications.
For all the commands use default, i.e. press enter when asked.
- Install Xorg server. Approx install size is 80 MB.
sudo pacman -S --needed xorg
- Install display manager, GNOME desktop. Approx install size is 300 MB.
sudo pacman -S --needed gnome gnome-tweaks nautilus-sendto gnome-nettool gnome-usage gnome gnome-multi-writer adwaita-icon-theme xdg-user-dirs-gtk fwupd arc-gtk-theme seahosrse gdm
The above installation would ask for several options for packages. Choose any of the ones you want. If you are unsure, choose jack, noto-sans and xdg-portal-desktop-gnome when asked.
- Install applications
This is just a reference. You can also install the ones you require.
sudo pacman -S --needed firefox vlc filezilla leafpad xscreensaver archlinux-wallpaper
Now it’s time to enable the display manager and network manager as service. So that next time you log on, they can run automatically by systemd.
systemctl enable gdm systemctl enable NetworkManager
Reboot the system using the reboot command.
If all goes well, you should see a nice login prompt on the GNOME desktop. Login using the credential you just created. You should be greeted with a nice and clean GNOME 43 desktop in Arch Linux.
I hope this guide helps you to install GNOME desktop in a bare metal Arch instalation.