Files
quartz/content/10-19 LIFE/13 TECH SETUP/13.13 OS SETUP/Printing.md
Quartz Syncer fe0581e423
All checks were successful
Build and Deploy Quartz / build (push) Successful in 27s
Published multiple files
2026-02-05 12:24:25 -07:00

1.6 KiB

publish, permalink, title, created, modified, tags, cssclasses
publish permalink title created modified tags cssclasses
true /os/printing Printing 2026-02-05T08:52:25.911-07:00 2026-02-05T12:18:10.587-07:00
printing
cups

CUPS printing setup for Arch Linux.

Installation

sudo pacman -S cups cups-pdf

Enable Services

sudo systemctl enable --now cups
sudo systemctl enable --now avahi-daemon

Avahi enables automatic network printer discovery.

Configuration

Web interface

Access CUPS admin at: http://localhost:631

Add printer via CLI

# List available printers
lpinfo -v

# Add a printer
lpadmin -p PrinterName -E -v "uri" -m "driver.ppd"

# Set default printer
lpoptions -d PrinterName

Network printers (auto-discovery)

With Avahi running, network printers should appear automatically. If not:

# Install nss-mdns for .local hostname resolution
sudo pacman -S nss-mdns

# Edit /etc/nsswitch.conf, add mdns_minimal before resolve:
hosts: mymachines mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] files myhostname dns

Print to PDF

The cups-pdf package creates a virtual PDF printer:

# Print to PDF (outputs to ~/PDF/)
lp -d cups-pdf document.txt

Useful Commands

lpstat -p              # List printers
lpstat -t              # Full status
lp -d PrinterName file # Print file
cancel <job-id>        # Cancel print job
lprm <job-id>          # Remove print job

Troubleshooting

# Check CUPS status
systemctl status cups

# View logs
journalctl -u cups -f

# Restart CUPS
sudo systemctl restart cups

Resources