How To: Configure Linux Client (Fedora 20) to Use Printer on Windows Server 2008 R2 Print Server

TABLE OF CONTENTS:

  1. BACKGROUND
  2. DIRECTIONS
    1. Basic Linux Client Configuration
    2. Configure Linux Client to Use LPD Protocol
    3. Configure Linux Client to Use IPP
  3. Printing a Test Page
  4. Wrapping Up

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

  1. Verify the Cups service is installed and running
    • (on Fedora 20) $ sudo systemctl status cups.service

      Cups Status Output
      output of: sudo systemctl status cups.service
    • (on most other distributions and versions) $ sudo service cups status OR sudo service cupsd status
    • (alternatively) $ /etc/init.d/cups status OR /etc/init.d/cupsd status
  2. 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
  3. 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
  4. 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.

  1. Open a web browser (ex: Firefox) on your Linux client and go to http://localhost:631
  2. Click Administration
  3. Click Add Printer (If prompted for username and password, you can use “root” for username and the root user’s password)
  4. Select LPD/LPR Host or Printer, click Continue

    Selecting LPD Printer
    Selecting LPD/LPR Printer
  5. For “Connection” use lpd://serverName/PrinterShareName, then click Continue

    LPD Connection Name
    LPD Connection Name
  6. 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).
  7. Click Continue
  8. 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).
  9. Click Add Printer
  10. Edit preferences to your default liking, then click “Set Default Options”
  11. To verify printing works, go to the “Printing a Test Page” section

Configure Linux Client to Use IPP

  1. Open a web browser (ex: Firefox) on your Linux client and go to http://localhost:631
  2. Click Administration
  3. Click Add Printer (If prompted for username and password, you can use “root” for username and the root user’s password)
  4. Select “Internet Printing Protocol (https)”

    Select IPP Printer
    Select IPP Printer
  5. (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”

    IPP Connection Name
    IPP Connection Name
  6. (not saving credentials to a file) For “Connection” use https://serverName/printers/PrinterShareName/.printer
  7. 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).
  8. Click Continue
  9. 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).
  10. Click Add Printer
  11. Edit preferences to your default liking, then click “Set Default Options”
  12. To verify printing works, go to the “Printing a Test Page” section

Printing a Test Page

  1. In the CUPS administration web site, Click Printers
  2. Click on the name of your Printer
  3. Click on the drop down where it says “Maintenance” and then Click on “Print Test Page”
    Dropdown Option to 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!

2 Replies to “How To: Configure Linux Client (Fedora 20) to Use Printer on Windows Server 2008 R2 Print Server”

  1. 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.

    1. 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).

Leave a Reply

Your email address will not be published. Required fields are marked *