dotlinux blog

How to Install Cinnamon Desktop and Basic Software in Arch Linux

Arch Linux is a rolling-release, lightweight, and highly customizable distribution beloved by Linux enthusiasts for its flexibility and adherence to the "keep it simple, stupid" (KISS) principle. However, its minimal default installation—no graphical environment, no pre-installed apps—can be intimidating for new users.

If you want a user-friendly, traditional desktop experience on Arch, Cinnamon is an excellent choice. Developed by the Linux Mint team, Cinnamon features a familiar layout (start menu, taskbar, system tray) with modern functionality, making it ideal for users transitioning from Windows or GNOME 2.

This guide will walk you through:

  1. Installing the Arch Linux base system (quick recap for new users).
  2. Setting up the Xorg display server (required for graphical desktops).
  3. Installing and configuring the Cinnamon desktop environment.
  4. Adding a display manager (LightDM) for easy login.
  5. Installing essential software (browsers, office suites, media players).
  6. Post-install tweaks (networking, audio, Cinnamon customization).
  7. Troubleshooting common issues.

By the end, you’ll have a fully functional Arch Linux system with Cinnamon and all the basic apps you need for daily use.

2026-03

Table of Contents#

  1. Prerequisites
  2. Step 1: Install Arch Linux Base System (Quick Recap)
  3. Step 2: Install Xorg Display Server
  4. Step 3: Install Cinnamon Desktop Environment
  5. Step 4: Set Up a Display Manager (LightDM)
  6. Step 5: Install Basic Essential Software
  7. Step 6: Post-Installation Tweaks & Configuration
  8. Troubleshooting Common Issues
  9. Conclusion
  10. References

Prerequisites#

Before starting, ensure you have:

  • A bootable Arch Linux USB drive (create one with Rufus or BalenaEtcher).
  • A wired or wireless internet connection (required for package installation).
  • A blank disk/partition (minimum 20 GB for the system + apps).
  • Basic familiarity with the command line (Arch uses pacman for package management).

Step 1: Install Arch Linux Base System (Quick Recap)#

If you already have Arch installed, skip to Step 2. For new users, follow this abbreviated guide (full instructions in the Arch Installation Guide):

1.1 Boot from the Arch ISO#

Insert your USB drive and boot from it (use F12/Del to access BIOS/UEFI boot menu). You’ll land in a terminal as the root user.

1.2 Connect to the Internet#

  • Wired: Plug in an Ethernet cable (should work automatically).
  • Wireless: Use iwctl to connect:
    iwctl
    device list  # Note your wireless adapter name (e.g., wlan0)
    station wlan0 scan
    station wlan0 get-networks
    station wlan0 connect "YOUR_WIFI_NAME"
    exit

Verify connectivity with ping archlinux.org.

1.3 Partition Your Disk#

Use fdisk (BIOS) or gdisk (UEFI) to create partitions. For a simple setup:

  • BIOS: 1 partition for / (ext4) + 1 swap partition.
  • UEFI: 1 EFI system partition (ESP, 512 MB, FAT32) + 1 / (ext4) + 1 swap.

Example for UEFI:

gdisk /dev/sda  # Replace /dev/sda with your disk (check with `lsblk`)
# Create ESP: Type `n` → Enter → Enter → +512M → Type `ef00`.
# Create / partition: Type `n` → Enter → Enter → +20G → Type `8300`.
# Create swap: Type `n` → Enter → Enter → +4G → Type `8200`.
# Write changes: Type `w`.

1.4 Format Partitions#

# ESP (UEFI only):
mkfs.fat -F32 /dev/sda1  # Replace /dev/sda1 with your ESP
 
# Root partition:
mkfs.ext4 /dev/sda2  # Replace /dev/sda2 with your / partition
 
# Swap (optional but recommended):
mkswap /dev/sda3  # Replace /dev/sda3 with your swap partition
swapon /dev/sda3

1.5 Mount Partitions#

mount /dev/sda2 /mnt  # Mount / to /mnt
mkdir -p /mnt/boot/efi  # UEFI only: Create ESP mount point
mount /dev/sda1 /mnt/boot/efi  # UEFI only: Mount ESP

1.6 Install Base Packages#

Use pacstrap to install the core system:

pacstrap /mnt base base-devel linux linux-firmware sudo vim
  • base: Minimal system tools.
  • base-devel: Build tools (required for AUR packages).
  • linux: Latest kernel (use linux-lts for long-term support).
  • linux-firmware: Hardware firmware.
  • sudo: Allow non-root users to run admin commands.
  • vim: Text editor (replace with nano if preferred).

1.7 Generate Fstab (Filesystem Table)#

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

Verify with cat /mnt/etc/fstab—your partitions should be listed.

1.8 Chroot into the New System#

arch-chroot /mnt

1.9 Configure Locale (Language/Region)#

  1. Uncomment your locale in /etc/locale.gen (e.g., en_US.UTF-8 UTF-8):
    vim /etc/locale.gen  # Use `nano` if you prefer
  2. Generate the locale:
    locale-gen
  3. Set the system locale:
    echo "LANG=en_US.UTF-8" > /etc/locale.conf

1.10 Set Hostname & Timezone#

  1. Hostname: Replace myarch with your desired name:
    echo "myarch" > /etc/hostname
  2. Timezone: Replace America/New_York with your timezone (find yours with timedatectl list-timezones):
    ln -sf /usr/share/zoneinfo/America/New_York /etc/localtime
    hwclock --systohc  # Sync hardware clock

1.11 Create a User Account#

Arch recommends using a non-root user for daily tasks. Replace yourusername with your name:

useradd -m -G wheel yourusername  # Create user with home directory and add to wheel group
passwd yourusername  # Set a password for the user

1.12 Allow Sudo Access#

Uncomment the line %wheel ALL=(ALL) ALL in /etc/sudoers to let wheel group users run sudo:

EDITOR=vim visudo  # Use `EDITOR=nano visudo` for nano

1.13 Install a Bootloader#

For UEFI:#

Install GRUB (most common):

pacman -S grub efibootmgr
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB
grub-mkconfig -o /boot/grub/grub.cfg

For BIOS:#

pacman -S grub os-prober  # os-prober for dual-booting
grub-install /dev/sda  # Replace /dev/sda with your disk
grub-mkconfig -o /boot/grub/grub.cfg

1.14 Exit & Reboot#

exit  # Leave chroot
umount -R /mnt  # Unmount partitions
reboot  # Remove USB drive after reboot

You’ll now boot into the Arch Linux command line. Log in with your user account.

Step 2: Install Xorg Display Server#

Cinnamon (and all graphical desktops) require a display server to render graphics. Arch uses Xorg (the most mature display server) by default.

Install Xorg and essential tools:

sudo pacman -S xorg xorg-apps xorg-xinit
  • xorg: Meta-package for the Xorg server.
  • xorg-apps: Common Xorg utilities (e.g., xrandr for screen resolution).
  • xorg-xinit: Starts Xorg with startx.

Step 3: Install Cinnamon Desktop Environment#

Cinnamon is available in the Arch extra repository. Install the core package and translations (for non-English languages):

sudo pacman -S cinnamon cinnamon-translations

Verify Installation#

To test Cinnamon without a display manager (skip if you plan to use LightDM), create an ~/.xinitrc file:

echo "exec cinnamon-session" > ~/.xinitrc

Start Xorg and Cinnamon:

startx

You should see the Cinnamon desktop! To exit, log out from the start menu.

Step 4: Set Up a Display Manager (LightDM)#

A display manager (DM) provides a graphical login screen and automatically starts your desktop. LightDM is lightweight and works seamlessly with Cinnamon.

Install LightDM#

sudo pacman -S lightdm lightdm-gtk-greeter
  • lightdm: The display manager itself.
  • lightdm-gtk-greeter: A simple, GTK-based login screen (matches Cinnamon’s theme).

Enable LightDM#

Make LightDM start automatically at boot:

sudo systemctl enable lightdm.service

Reboot to Test#

sudo reboot

You’ll now see the LightDM login screen. Enter your password to start Cinnamon!

Step 5: Install Basic Essential Software#

Arch’s minimalism means you’ll need to install all apps manually. Below are the most common tools for daily use:

Web Browsers#

  • Firefox (default for many Linux distros):
    sudo pacman -S firefox
  • Chromium (open-source Chrome):
    sudo pacman -S chromium

Office Suite#

LibreOffice is the best free, open-source office suite (compatible with Microsoft Office files):

sudo pacman -S libreoffice-fresh  # "Fresh" = latest version
# OR
sudo pacman -S libreoffice-still  # "Still" = stable, long-term support

Media Players#

  • VLC (versatile, plays almost any file):
    sudo pacman -S vlc
  • MPV (lightweight, command-line based with GUI):
    sudo pacman -S mpv

Image Editing & Graphics#

  • GIMP (Photoshop alternative):
    sudo pacman -S gimp
  • Inkscape (vector graphics editor):
    sudo pacman -S inkscape

Communication Tools#

  • Thunderbird (email client):
    sudo pacman -S thunderbird
  • Discord (chat for gaming/communities):
    sudo pacman -S discord

System Utilities#

  • File Manager: Cinnamon uses Nemo (pre-installed). For a more advanced option:
    sudo pacman -S nautilus  # GNOME Files
  • Terminal Emulator: Cinnamon includes GNOME Terminal (pre-installed). For a more customizable option:
    sudo pacman -S tilix  # Tiling terminal with tabs
  • Package Manager GUI: Manage pacman with a GUI:
    sudo pacman -S pamac-aur  # AUR support (requires AUR helper like yay)

Step 6: Post-Installation Tweaks & Configuration#

Enable NetworkManager (GUI Networking)#

Arch uses netctl (command-line) by default. For Cinnamon’s NetworkManager applet (GUI Wi-Fi/ethernet manager):

  1. Install NetworkManager:
    sudo pacman -S networkmanager
  2. Disable netctl (if enabled) and enable NetworkManager:
    sudo systemctl disable --now netctl
    sudo systemctl enable --now NetworkManager
  3. Reboot to see the NetworkManager applet in the system tray.

Set Up Audio with PipeWire#

PipeWire is the modern, default audio server for Arch (replaces PulseAudio). It works seamlessly with Cinnamon.

Install PipeWire and dependencies:

sudo pacman -S pipewire pipewire-pulse pipewire-alsa wireplumber
  • pipewire: Core audio/video server.
  • pipewire-pulse: PulseAudio compatibility layer.
  • pipewire-alsa: ALSA compatibility layer.
  • wireplumber: Session manager for PipeWire.

Enable PipeWire for your user:

systemctl --user enable --now pipewire pipewire-pulse wireplumber

Verify audio works with pactl list sinks (lists audio devices) or play a test sound.

Customize Cinnamon Settings#

Cinnamon is highly customizable! Open Cinnamon Settings (start menu → Settings) to tweak:

  1. Appearance: Change themes (GTK, icon, cursor), wallpaper, and fonts.
  2. Applets: Add widgets to the taskbar (e.g., weather, system monitor, calendar).
  3. Extensions: Enable features like window previews, workspace switchers, or a "show desktop" button.
  4. Desktop: Toggle desktop icons, align them, or use a "folder view" layout.
  5. Power Management: Set screen timeout, sleep mode, and battery alerts.

Update Your System#

Arch is a rolling-release distro—update frequently to get the latest security patches and features:

sudo pacman -Syu  # Sync repos and upgrade packages

Step 7: Troubleshooting Common Issues#

1. Cinnamon Won’t Start#

  • Check Xorg logs: cat ~/.xsession-errors for errors.
  • Missing Xorg: Reinstall Xorg with sudo pacman -S xorg.
  • Graphics Drivers: Ensure you have the correct drivers for your GPU:
    • Intel: sudo pacman -S xf86-video-intel
    • AMD: sudo pacman -S xf86-video-amdgpu
    • NVIDIA: sudo pacman -S nvidia (for latest kernel) or nvidia-lts (LTS kernel)

2. No Sound#

  • Check PipeWire status: systemctl --user status pipewire (should be "active").
  • Restart PipeWire: systemctl --user restart pipewire pipewire-pulse
  • Select audio device: Use pavucontrol (install with sudo pacman -S pavucontrol) to choose your output device.

3. LightDM Won’t Load#

  • Check LightDM status: sudo systemctl status lightdm (look for errors).
  • Reinstall LightDM: sudo pacman -S lightdm lightdm-gtk-greeter
  • Greeter Configuration: Edit /etc/lightdm/lightdm.conf to set the greeter:
    [Seat:*]
    greeter-session=lightdm-gtk-greeter

4. NetworkManager Applet Missing#

  • Reboot: Sometimes the applet takes a reboot to appear.
  • Reinstall NetworkManager: sudo pacman -S networkmanager
  • Check user permissions: Ensure your user is in the network group:
    sudo usermod -aG network yourusername

Conclusion#

You’ve successfully installed the Cinnamon desktop and basic software on Arch Linux! With Cinnamon’s familiar interface and Arch’s flexibility, you now have a powerful, customizable system for work or play.

Remember:

  • Arch is about learning by doing—don’t be afraid to experiment!
  • The Arch Wiki is your best friend for troubleshooting.
  • Cinnamon’s community (and Linux Mint’s forums) are great resources for customization tips.

References#

  1. Arch Linux Installation Guide
  2. Arch Wiki: Cinnamon
  3. Arch Wiki: Xorg
  4. Arch Wiki: LightDM
  5. Arch Wiki: PipeWire
  6. Cinnamon Desktop Official Site

Happy computing! 🚀