TABLE OF CONTENTS:
BACKGROUND:
This is the second post in this two post series, with the first covering how to configure the Windows Server 2008 R2 print server. I will go over how to configure a Fedora 20 client, however most of what I do is applicable to other Linux distributions. The printer I am using is a Canon Pixma MP620 with a share name, but you can use any printer that has Linux drivers available for it (can be configured by checking the manufacturers website, or following part of this guide).
As mentioned in the previous post, if you use IPP your credentials used to authenticate to the server will be stored in a text file on your Linux system. There is a way to configure the Linux client so they are not stored there, however, if you choose this method then you will not be able to send test print jobs to the printer and you will not be able to print from the command line (ex: lp myFile.doc). Also note that most if not all GUI programs will prompt you for credentials when you try to print; if you do not have the credentials saved then you must type in the correct credentials each time whereas if you had them saved then you could supply empty credentials and it will still print.
DIRECTIONS:
- Note: Anywhere it says “serverName”, you should put either the DNS name of your server (ex: myPrintServer), or the IP address of the server (ex: 192.168.1.50)
- Note: The share name I created for my printer is CanonMP620, whenever you see that name below, you should replace you configuration with the share name of your printer.
Basic Linux Client Configuration
- Verify the Cups service is installed and running
- If you get a message saying it is stopped, then start the service
- (on Fedora 20) $ sudo systemctl start cups.service
- (on most other distributions and versions) $ sudo service cups start OR sudo service cupsd start
- (alternatively) $ /etc/init.d/cups start OR /etc/init.d/cupsd start
- If you get a message saying the service is not found, then install cups:
- (Fedora and most rpm based distros) $ sudo yum install cups
- (OpenSuse) $ sudo zypper install cups
- (Most Debian based distros) $ sudo apt-get install cups
- Verify that it is now running by performing step 1 above
Configure Linux Client to Use LPD Protocol
If you choose to use the LPD protocol (it is older than IPP but still works pretty well), then follow this portion of the guide, otherwise skip down to the “Configure Linux Client to Use IPP” section.
- Open a web browser (ex: Firefox) on your Linux client and go to http://localhost:631
- Click Administration
- Click Add Printer (If prompted for username and password, you can use “root” for username and the root user’s password)
- Select LPD/LPR Host or Printer, click Continue
- For “Connection” use lpd://serverName/PrinterShareName, then click Continue
- Fill in a name (required), and any other info (not necessary). Do not check “Share This Printer”, it is not necessary since it is already being shared from your print server (sharing it here would make it available so other computers could use your Linux client as a print server).
- Click Continue
- Either search for your printer driver based on the Make and Model list (select your Make, ex: Canon, click Continue, then select your model), or provide a PPD file (Linux printer driver file).
- Click Add Printer
- Edit preferences to your default liking, then click “Set Default Options”
- To verify printing works, go to the “Printing a Test Page” section
Configure Linux Client to Use IPP
- Open a web browser (ex: Firefox) on your Linux client and go to http://localhost:631
- Click Administration
- Click Add Printer (If prompted for username and password, you can use “root” for username and the root user’s password)
- Select “Internet Printing Protocol (https)”
- (saving credentials to a file) For “Connection” use https://username:password@serverName/printers/PrinterShareName/.printer
Note: There is a typo in the picture below, the value for “Connection” should say “.printer” at the end, not “.priter” - (not saving credentials to a file) For “Connection” use https://serverName/printers/PrinterShareName/.printer
- Fill in a name (required), and any other info (not necessary). Do not check “Share This Printer”, it is not necessary since it is already being shared from your print server (sharing it here would make it available so other computers could use your Linux client as a print server).
- Click Continue
- Either search for your printer driver based on the Make and Model list (select your Make, ex: Canon, click Continue, then select your model), or provide a PPD file (Linux printer driver file).
- Click Add Printer
- Edit preferences to your default liking, then click “Set Default Options”
- To verify printing works, go to the “Printing a Test Page” section
Printing a Test Page
- In the CUPS administration web site, Click Printers
- Click on the name of your Printer
- Click on the drop down where it says “Maintenance” and then Click on “Print Test Page”
Wrapping Up
Hopefully your test page printed successfully and everything is good to go. If you’re having issues, have any questions, or have a comment to add to the post then leave it below!
I folllowed both this post as your post explaining how to configure IPP on a Windows 2008 R2 server. Printing from the latest Ubuntu (version 14.04) results in a print error and finally after a long delay the job is on the Windows side in the correct queue. The job remains in teh Linux queue as an error job even if I have changed the error policy to abort job.
Do you have any idea why. I have already searched teh internet, but no solution found for this behaviour. Ububtu 14.04 is running CUPS 1.7.2 and I’m printing to a Windows 2008 R2 server over HTTPS.
Hi Robertus. Did you save your IPP credentials, or are you entering them in each time? Take a look at the config file /etc/cups/printers.conf (that’s the path on my Fedora system, yours *might* be different but I’m not sure).