Skip to content

Linux Printer Configuration

Mattscreative edited this page Dec 5, 2025 · 2 revisions

Linux Printer Configuration Guide

Complete beginner-friendly guide to setting up and configuring printers on Linux, covering Arch Linux, CachyOS, and other distributions including CUPS, USB printers, network printers, and troubleshooting.


Table of Contents

  1. Understanding Linux Printing
  2. CUPS Installation
  3. USB Printer Setup
  4. Network Printer Setup
  5. Printer Configuration
  6. Troubleshooting

Understanding Linux Printing

Printing System

CUPS (Common Unix Printing System) is the printing system on Linux.

What it does:

  • Manages printers: Handles printer communication
  • Print queues: Manages print jobs
  • Driver support: Provides printer drivers
  • Network printing: Supports network printers

Printer Types

Supported printers:

  • USB printers: Direct USB connection
  • Network printers: Ethernet/Wi-Fi printers
  • IPP printers: Internet Printing Protocol
  • Samba printers: Windows network printers

CUPS Installation

Install CUPS

Arch/CachyOS:

# Install CUPS
sudo pacman -S cups cups-pdf ghostscript gsfonts

# For Gutenprint drivers
sudo pacman -S gutenprint

Debian/Ubuntu:

sudo apt install cups cups-pdf

Fedora:

sudo dnf install cups cups-pdf

Enable CUPS

Start CUPS:

# Enable service
sudo systemctl enable --now cups.service

# Check status
systemctl status cups

CUPS Web Interface

Access CUPS:

  1. Open browser
  2. Navigate to: http://localhost:631
  3. Login (if prompted)

What you can do:

  • Add printers
  • Manage print jobs
  • Configure printers
  • View printer status

Add User to Group

Add to lp group:

# Add user to lp group
sudo usermod -aG lp username

# Log out and back in

USB Printer Setup

Connect Printer

Steps:

  1. Connect USB printer
  2. Check if detected:
    # List USB devices
    lsusb
    
    # Check CUPS
    lpinfo -v

Add Printer

Via CUPS web interface:

  1. Open: http://localhost:631
  2. Administration > Add Printer
  3. Select USB printer
  4. Choose driver
  5. Set name and options

Via command line:

# Add printer
lpadmin -p PrinterName -E -v usb://printer/uri -m driver

# Set as default
lpoptions -d PrinterName

Network Printer Setup

Add Network Printer

Via CUPS web interface:

  1. Open: http://localhost:631
  2. Administration > Add Printer
  3. Select network printer
  4. Enter printer IP or hostname
  5. Choose driver

Via command line:

# Add network printer
lpadmin -p NetworkPrinter -E -v ipp://printer-ip/ipp/print -m driver

Samba Printer

Add Windows printer:

# Install Samba
sudo pacman -S samba

# Add printer
lpadmin -p SambaPrinter -E -v smb://server/printer -m driver

Printer Configuration

Test Print

Print test page:

# Print test page
lp -d PrinterName /usr/share/cups/data/testprint

# Or from CUPS web interface
# Administration > Print Test Page

Printer Options

Set options:

# Set default options
lpoptions -p PrinterName -o media=A4 -o sides=two-sided-long-edge

Troubleshooting

Printer Not Detected

Check connection:

# Check USB
lsusb | grep -i printer

# Check CUPS
lpinfo -v

# Check CUPS logs
sudo journalctl -u cups

Print Job Stuck

Clear queue:

# List jobs
lpq

# Cancel job
cancel job-id

# Cancel all
cancel -a

Driver Issues

Install drivers:

# Install Gutenprint
sudo pacman -S gutenprint

# Or HP drivers
sudo pacman -S hplip

Summary

This guide covered printer configuration for Arch Linux, CachyOS, and other distributions, including CUPS setup, USB/network printers, and troubleshooting.


Next Steps


This guide covers Arch Linux, CachyOS, and other Linux distributions. For distribution-specific details, refer to your distribution's documentation.

Clone this wiki locally