In a desktop environment, you might have a printer dialog that you could open to add a new printer. Not in the powerful, less graphical, i3. Here's another way.
What is cups? It stands/stood for Common UNIX Printing System. It converts the print job into a language that the printer can understand so that the ink splatters on the page in just the right way as to create a Mona Lisa replica.
It's probably already running on your computer. Check:
❯ systemctl | rg cups cups.path loaded active running CUPS Scheduler cups-browsed.service loaded active running Make remote CUPS printers available locally cups.service loaded active running CUPS Scheduler cups.socket loaded active running CUPS Scheduler
Once you have CUPS running locally, you should be able to print from your computer.
List Available Printers
To see what printers you already have installed, run the cli to show all cups-enabled printers:
(There are other cool commands, like
lpstat -R to see pending print jobs.)
Or see similar info in a web gui:
Problem: Installed Printer Won't Print
Apparently the cups-browsed package will auto-install printers on the network. Well, that happened to me. I had a nicely-identified printer in my list of printers. The problem was that it wouldn't accept print jobs. On the print job, I would get the error message:
"No suitable destination host found by cups-browsed."
Removed cups-browsed. Reboot. Installed Printer manually
lpinfo -m | rg 8610
drv:///hpcups.drv/hp-officejet_pro_8610.ppd HP Officejet Pro 8610, hpcups 3.21.12
What are .ppd fileshttps://en.wikipedia.org/wiki/PostScript_Printer_Description
See network protocols
No idea best. Saw lpd used in an example
❯ lpadmin -p hp8610-jtmade3 -v lpd://192.168.50.68 -m drv:///hpcups.drv/hp-officejet_pro_8620.ppd -Elpadmin: Printer drivers are deprecated and will stop working in a future version of CUPS.
Problem: Stuck on "Connecting to Printer"
I entered the correct IP. The printer is added, registered with CUPS. Still, it would not send the job and print.
sudo vim /etc/cups/cupsd.conf
# All administration operations require an administrator to authenticate...
#AuthType Default #Require user @SYSTEM Order deny,allow# All printer operations require a printer operator to authenticate... #AuthType Default #Require user @SYSTEM Order deny,allow
Then restart the cups server
Remove a Printer
lpadmin -x hp8610-jtmade3
Alternative: Desktop Settings Manager
If you have a desktop environment also installed on your system, you may already have some printer system app that can be used to manage printers. Fire up dmenu, and try:
Find/add/delete should be available there.