CUPS printer connection configuration options

i thought i was going to quickly print off a pdf and get back to my netflix, but the pdf viewer was only giving me a print to file option. i popped open the printers applet to see what was up and noticed i had none installed (probably as a result of a recent DE upgrade to bodhi [ubuntu-based] was my guess). it was easy enough to find my epson xp-446 in the new printer setup window, but i hadn’t taken much notice of the settings which seemed automatic and worked well before.

the connection options provided were ipp via dns-sd, driverless ipp and lpd (aka lpr, which can be used to print from the command line interestingly enough). i figured i would start at the top with dns-sd, but that sent either blank pages or symbols instead of the regular test print. i have a 32-bit antiX (debian-based) install on the same network so i decided to look at that. it uses lpd, but that also failed to work with bodhi. in this instance the third time was indeed a charm and driverless ipp was what i needed.

i realized in the intermediate 90 minute test-reboot-adjust-retest process that i didn’t know much about cups or the different options so i decided to run a couple of duckducks after getting things sorted to increase my understanding. the doc i found was informative, but technical. the ask ubuntu answers were a bit dated (almost 6 years old: link below), but seemingly still relevant according to the cups doc and also a little easier to understand/written in less technical language.

my overall impression and takeaway was that ipp is the newest of the bunch (but doesn’t work with all printers) and driverless a newer addition to the ipp standard.

i still think it is cool that cups allows ipp printers to be controlled and modified through http://localhost:631/ in a web browser. a comment on the ask ubuntu page even suggested that epson-specific printer settings (possibly others too. mine just happened to be an epson also) could be viewed and modified by visiting the printer ip (which i found in my printer network settings). sure enough there are all kinds of network and hardware (even ink level) settings there for the viewing.


Nice topic for our next community meeting.
Thanks for highlighting this gem.
Usually one configures the printers over the “normal” printers menu…


normal was pretty much what i was expecting and think happened before. bodhi is a bit of a bare essentials (in some ways/lightweight) ubuntu variant, but previously the printer was just recognized and worked. some recent change made me have to work my way through the different options. after the initial frustration and solve, i was glad to have learned a bit :slight_smile:

1 Like

That reminds me that just a couple of weeks ago I accidentally stumbled upon my printer’s own web interface. I started using this printer about 7 years ago and didn’t know about that.

1 Like

I have to manage a couple of CUPs servers for a customer application (that also runs on Linux).

Application runs on OEL 7.2 (Oracle Linux)
Prod CUPs server is OEL 5.x !!!
Test CUPs server is OEL 6.x

Everytime they want to add a new printer (and they have offices and networked printers all over the vast state of Western Australia) I hope, and I pray, that the printer vendor has Linux drivers for such an ancient version of Linux (OEL 5 runs kernel 2.6!).

Phew - each time - yes, runs on that platform! But it’s a close run thing… I usually go with the install guide in the readme for the drivers - then do the final configuration in the CUPS web UI, which is a pretty neat “thing” I reckon.

I’ve been pushing them for 18 months to replace the OEL 5.7 server, no traction, not till they upgrade the actual application that runs on OEL 7.2 (the plan is to print directly to Windows shared printers)…

That OEL 5.7 server is flaky as hell, I’ve created a cronjob that restarts some dodgy applications twice daily just to keep it up - because its a Sev 1 or 2 ticket if it crashes (and usually when it crashes, it just hangs - i.e. doesn’t reboot - and there’s been cases where it’s been in that “state” for 36 hours - 'cause it still responds to pings from the monitoring suite).

P.S. I’ve been doing Unix for 25+ years, and I HATED printer setups in UNIX back then, and I kinda still hate them now in Linux - although, having written that, let me state, I LOVE my home printer - Brother MFC9335CDW - from Ubuntu 18.04 onwards, Ubuntu just “finds” it automagically on my home LAN/WiFi and installs working drivers, that “work” and doesn’t require any intervention on my part - it even gets that I’m in Australia and we use A4 paper, not “Letter” :smiley: - also - the scanning feature does work when I’ve configured it - but - I prefer to use the scanning feature of it being an “MFC” and just FTP / email scanned images or PDFs…


sharing this info from a more recent thread since it also fits here:

after a little more reading here, i found that you can use lpinfo -v to find a printer’s uri. this page explains that you can find the driver or ppd with lpinfo -m and then how to set up a printer with lpadmin -p .