Most Linux distributions print through CUPS, the same printing system macOS is built on. When something goes wrong, the desktop settings may only say the printer is paused or a job failed, but CUPS has command-line tools and a local web interface that show exactly what's happening. This guide uses them to check the service, read printer status, revive stopped queues and set printers up with the right driver. Commands assume a typical desktop distribution and may need small adjustments on yours.
What you might be seeing
- The printer shows as paused, stopped or processing indefinitely
- Jobs fail with Filter failed or similar messages
- The printer isn't detected in the desktop printer settings
- Adding or changing printers fails with a permission error
Common causes
- CUPS not running
- If the scheduler service has stopped, nothing prints and desktop tools show no printers.
- Queue stopped after an error
- CUPS disables a printer after certain failures and leaves it disabled until it's re-enabled.
- Missing or wrong driver
- Printers without driverless support need the right driver or PPD, and filter errors often mean it's missing.
- Permissions
- Adding or changing printers requires membership of the printing admin group.
- Discovery blocked
- Network printers are found through the Avahi service, so if it's off or the firewall blocks mDNS, they won't appear.
How to fix it, step by step
Work through these in order and test a print after each one. Most people are done within the first few steps.
Check that CUPS is running
Open a terminal and run
systemctl status cups, looking for active (running) in the output. If it's inactive or failed, runsudo systemctl restart cupsand check again, and runsudo systemctl enable cupsso it starts at boot. Service names differ slightly on a few distributions, so check your distribution's documentation ifcupsisn't found.Read printer status with lpstat
Run
lpstat -p -dto list each printer, whether it's idle, printing or disabled, and which is the default.lpstat -olists waiting jobs, andlpstat -tshows everything at once, including the device each printer uses. A printer marked disabled with a reason, or a long list of old jobs, tells you where to look next.Re-enable a stopped printer
If
lpstatshows a printer as disabled, runsudo cupsenable PRINTERNAME, using the exact name from the lpstat output. If it's also rejecting jobs, runsudo cupsaccept PRINTERNAMEtoo. To clear stuck jobs first,cancel -a PRINTERNAMEremoves every job for that printer. Then send a quick test withecho test | lp -d PRINTERNAMEand watch the status again.Use the CUPS web interface
Open a browser and go to localhost:631, the CUPS interface running on your own computer. The Printers tab lists every queue with its state and recent errors, and each printer's page has menus to resume it, cancel jobs or print a test page. The Administration tab adds and modifies printers, asking for your own user name and password.
Give your account printing admin rights
If you can't add or change printers, your account may lack permission. On Debian, Ubuntu and related systems, run
sudo usermod -aG lpadmin $USER, then log out and back in. Other distributions use a different admin group, such aswheelorsys; theSystemGroupline in/etc/cups/cups-files.confshows which groups CUPS accepts.Add the printer as a driverless device
Most current network printers support IPP Everywhere, which needs no driver. Run
sudo lpinfo -vto list detected devices and look for an entry starting with ipp or ipps. Add it in your desktop's printer settings or the web interface, choosing the IPP Everywhere or driverless option as the model. From a terminal,sudo lpadmin -p Office -E -v DEVICE -m everywheredoes the same, with DEVICE replaced by the addresslpinfoprinted.Install drivers for older printers
Printers without driverless support need a driver package. Search your distribution's software manager or package manager for printer driver packages, which cover many older models, or download the official Linux driver from the manufacturer's website if one is offered. Then add the printer again and choose your exact model. Persistent filter errors usually mean the selected driver doesn't suit the printer.
Check discovery and read the logs
If network printers don't appear automatically, run
systemctl status avahi-daemonand start it if needed. If you use a firewall, allow the mDNS and IPP services through it rather than turning the firewall off. For deeper problems,journalctl -u cupsor the file/var/log/cups/error_logshows detailed errors, andsudo cupsctl --debug-loggingadds more until you runsudo cupsctl --no-debug-logging.
How to keep it from happening again
- Prefer driverless IPP Everywhere setups for network printers
- Keep CUPS and driver packages current through system updates
- Use a reserved IP address for network printer queues
- Remove queues for printers you no longer use
Common questions
Is it safe to open localhost:631?
Yes. It's a page served by CUPS on your own computer, not a website on the internet. By default, CUPS only allows administration from the local machine, and changes require your password. Leave remote administration switched off unless you specifically need to manage printing from another computer.
Why does my printer appear twice?
CUPS can create one queue automatically from network discovery and another when you add the printer by hand, or list both IPP and IPPS versions. Print a test page from each, keep the one that works best, and remove the other with sudo lpadmin -x PRINTERNAME or through your desktop's printer settings.
Do I need the manufacturer's Linux driver?
Usually not for modern network printers, since driverless printing handles normal documents well. The manufacturer's driver may add special features, scanning support or compatibility with older models. If you use it, get it only from the manufacturer's official website or your distribution's repositories, and follow its instructions for your distribution.
This guide is general information written for common home and office printers. Menus and button names vary between models, so check your printer’s manual where a step differs. Printer Problems Solved is independent and not affiliated with any printer manufacturer. See our disclaimer.