Enable web interface to manage printer settings in MacOS Sierra

I use an HP 915 All-in-One Inkjet printer. I like it because of the fact that buying a new cartridge costs almost same as the refilled cartridge. As a result, I always buy a new cartridge when the current ones run out of ink, minus the feeling of being taken for ride by the Printer companies (read: Why Is Printer Ink So Expensive? and All printer ink is more expensive than gold]

The printer settings dialog that can be opened via System Preferences -> Printers and Scanners -> Choose your printer in the list -> Options and Supplies is extremely simplified. This is good for a regular Mac user. But if you need to customize the print output, say, you would like to change the default presets, there is no way to achieve it via the Options and Supplies dialog. This is where enabling the web interface to manage printer settings comes into play.

Mac uses CUPS which is an acronym for Common Unix Printing System. In simpler terms, it’s the network printing service used by Mac. Ideally, it is utilized to setup and configure printers that are connected to the network. In our case, we will use it to configure the printer connected locally to our Mac.

Step 1: Open the terminal and enter the below command.

cupsctl WebInterface=yes

The above command may fail if you are not the root user. In that case, try executing:

sudo cupsctl WebInterface=yes

If you come across an error message that reads, cupsctl: Internal Server Error, you would have to follow the alternative method of enabling WebInterface as described in the Apple Support Forum, here: https://discussions.apple.com/thread/6485634?tstart=0. As listed on the support forum, the alternative is to edit cupsd.conf file located within the /private/../cups folder using a text editor and updating the line that starts with WebInterface no as WebInterface yes (if its not already yes).

Step 2: Open http://localhost:631/printers/ in your browser. You should be able to see the list of printers connected to your machine.

Step 3: After you have updated your printer settings, you can consider disabling the interface by executing:

cupsctl WebInterface=yes
# Or, sudo cupsctl WebInterface=yes

or, updating the cupsd.conf by replacing WebInterface yes as WebInterface no within it.