How can I configure my printer via terminal on macOS?
Recently, a coworker of mine got a new laptop and needed to connect to the printer at work. One of the dialog boxes asked for the “print queue”.
For the unfamiliar, here’s what the macOS printer settings look like.
I can’t see any queue settings so let’s dive a little deeper.
Nothing here either but surely there must be something under the hood. Thankfully, there’s a built in command called
lpstat that allows all sorts of printer configuration.
> man lpstat | grep lpstat lpstat(1) Apple Inc. lpstat(1) lpstat - print cups status information 26 April 2019 CUPS lpstat(1)
In order to find the printer queue name, I was able to make use of
lpstat -s like so:
> lpstat -s system default destination: example_printer device for example_printer: ipp://example-printer/my-fake-queue
Ah, so the queue name is
my-fake-queue. I wish the System Preferences pane had just said so earlier.
While there, I also discovered a bunch of my old print jobs as well!
> lpstat -W completed -l example_printer-3 marcus 59392 Wed 28 Apr 09:40:30 2021 Status: The printer is not responding. Alerts: processing-to-stop-point queued for example_printer example_printer-2 marcus 113664 Wed 17 Mar 15:36:56 2021 Status: The printer is unreachable at this time. Alerts: job-canceled-by-user queued for example_printer example_printer-1 marcus 51200 Thu 8 Oct 11:14:01 2020 Status: Alerts: processing-to-stop-point queued for example_printer
Hopefully this makes your printing life easier, or at least gives you some closure on why those months old jobs refused to print.