Table of Contents#
- Prerequisites
- Step 1: Install Arch Linux Base System (Quick Recap)
- Step 2: Install Xorg Display Server
- Step 3: Install Cinnamon Desktop Environment
- Step 4: Set Up a Display Manager (LightDM)
- Step 5: Install Basic Essential Software
- Step 6: Post-Installation Tweaks & Configuration
- Troubleshooting Common Issues
- Conclusion
- 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
pacmanfor 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
iwctlto 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/sda31.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 ESP1.6 Install Base Packages#
Use pacstrap to install the core system:
pacstrap /mnt base base-devel linux linux-firmware sudo vimbase: Minimal system tools.base-devel: Build tools (required for AUR packages).linux: Latest kernel (uselinux-ltsfor long-term support).linux-firmware: Hardware firmware.sudo: Allow non-root users to run admin commands.vim: Text editor (replace withnanoif preferred).
1.7 Generate Fstab (Filesystem Table)#
genfstab -U /mnt >> /mnt/etc/fstabVerify with cat /mnt/etc/fstab—your partitions should be listed.
1.8 Chroot into the New System#
arch-chroot /mnt1.9 Configure Locale (Language/Region)#
- Uncomment your locale in
/etc/locale.gen(e.g.,en_US.UTF-8 UTF-8):vim /etc/locale.gen # Use `nano` if you prefer - Generate the locale:
locale-gen - Set the system locale:
echo "LANG=en_US.UTF-8" > /etc/locale.conf
1.10 Set Hostname & Timezone#
- Hostname: Replace
myarchwith your desired name:echo "myarch" > /etc/hostname - Timezone: Replace
America/New_Yorkwith your timezone (find yours withtimedatectl 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 user1.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 nano1.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.cfgFor 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.cfg1.14 Exit & Reboot#
exit # Leave chroot
umount -R /mnt # Unmount partitions
reboot # Remove USB drive after rebootYou’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-xinitxorg: Meta-package for the Xorg server.xorg-apps: Common Xorg utilities (e.g.,xrandrfor screen resolution).xorg-xinit: Starts Xorg withstartx.
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-translationsVerify Installation#
To test Cinnamon without a display manager (skip if you plan to use LightDM), create an ~/.xinitrc file:
echo "exec cinnamon-session" > ~/.xinitrcStart Xorg and Cinnamon:
startxYou 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-greeterlightdm: 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.serviceReboot to Test#
sudo rebootYou’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 supportMedia 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
pacmanwith 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):
- Install NetworkManager:
sudo pacman -S networkmanager - Disable
netctl(if enabled) and enable NetworkManager:sudo systemctl disable --now netctl sudo systemctl enable --now NetworkManager - 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 wireplumberpipewire: 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 wireplumberVerify 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:
- Appearance: Change themes (GTK, icon, cursor), wallpaper, and fonts.
- Applets: Add widgets to the taskbar (e.g., weather, system monitor, calendar).
- Extensions: Enable features like window previews, workspace switchers, or a "show desktop" button.
- Desktop: Toggle desktop icons, align them, or use a "folder view" layout.
- 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 packagesStep 7: Troubleshooting Common Issues#
1. Cinnamon Won’t Start#
- Check Xorg logs:
cat ~/.xsession-errorsfor 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) ornvidia-lts(LTS kernel)
- Intel:
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 withsudo 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.confto 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
networkgroup: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#
- Arch Linux Installation Guide
- Arch Wiki: Cinnamon
- Arch Wiki: Xorg
- Arch Wiki: LightDM
- Arch Wiki: PipeWire
- Cinnamon Desktop Official Site
Happy computing! 🚀