How to Set Up a Printer on Linux
Connect and configure your printer on Linux — plug-and-play setup, manual configuration, and troubleshooting common issues.
Prerequisites
- A Linux distribution installed
- A printer (USB or network)
Try plug and play first
Many modern printers work out of the box on Linux. Connect your printer via USB or make sure it's on the same WiFi network, then open Settings → Printers. Click Add Printer and your system should detect it automatically. HP, Brother, and Epson printers have the best Linux support.
Install printer drivers
If your printer isn't detected automatically, install the common driver packages. These cover most consumer printers.
sudo apt update sudo apt install cups printer-driver-all # For HP printers specifically: sudo apt install hplip # For Brother printers: # Download the driver from support.brother.com and run the installer
Start the CUPS print service
CUPS (Common Unix Printing System) manages all printing on Linux. Make sure it's running.
sudo systemctl enable cups sudo systemctl start cups sudo systemctl status cups
Add a printer via the web interface
CUPS has a powerful web interface for printer management. Open it in your browser and follow the wizard to add your printer.
# Open in your browser: xdg-open http://localhost:631
Add a network printer manually
If your WiFi printer isn't detected, you can add it by IP address. Find your printer's IP from its settings menu or your router's device list.
# Find printers on your network: avahi-browse -art | grep Printer # Or add directly via CUPS: lpadmin -p MyPrinter -E -v ipp://192.168.1.100/ipp/print -m everywhere
Print a test page
Verify everything works by printing a test page from the terminal or from Settings → Printers → your printer → Print Test Page.
# Print a test page: lp -d MyPrinter /usr/share/cups/data/testprint # Or print any file: lp -d MyPrinter document.pdf