Installation Pre-Requisites
- Ensure that CUPS is installed and started.
- Ensure that the SAMBA4 client packages are installed (SAMBA 3 will not work). If your distribution does not include a default smb.conf config file (usually in /etc/samba), you will need to follow your distribution's instructions to create a default smb.conf .
Edit the Samba config file (usually /etc/samba/smb.conf) to contain the following two directives in the "[global]" section:
client min protocol = SMB2 client max protocol = SMB3
Ensure the following symlink exists:
/usr/lib/cups/backend/smb → /usr/bin/smbspool
Installing
Make sure you have satisifed the above pre-requisites.
RedHat - Printer configuration GUI
- Start the Printer configuration tool at System - Administration - Printing
- Click New
- Enter the administrative password
- You do not need to adjust the firewall or attempt to List available devices
For the "device URI", you will use these UNIX SMB URIs :
Printer NameUNIX SMB URIAccessible byCad Room smb://rs-cnf-wp1.cnf.cornell.edu/CNF_Phillips_CAD_Color_Laserjet CNF Users & Staff Togging smb://rs-cnf-wp1.cnf.cornell.edu/CNF_Duffield_Togging_Color_Laserjet CNF Users & Staff Visitor Office smb://win2.net-print.cornell.edu/cnf-gradoffice Staff & Users with Visitor Office Access Konica smb://rs-cnf-wp1.cnf.cornell.edu/CNF_Duffield_Copier_Color CNF Staff Only Office 250 smb://rs-cnf-wp1.cnf.cornell.edu/CNF_Duffield_250_Color_Laserjet CNF Users during normal CNF office business hours (CNF Staff anytime) Office 262 smb://rs-cnf-wp1.cnf.cornell.edu/CNF_Duffield_262_Color_Laserjet CNF Staff Only - If a driver is not found, you will have to download a driver via the printer gui or separately from the manufacturer's website.
All Linux Distros - CUPS Printer GUI
The CUPS printer GUI is located at the following URL:
http://localhost:631
- Use the UNIX SMB URIs from the above "RedHat - Printer configuration GUI" section.
- Enable authentication for the print queue
If you cannot enable authentication via the CUPS web gui, edit file /etc/cups/printers.conf to add a line for the NetPrint queue:
AuthInfoRequired username,password
All Linux Distros - Commandline
- Download a PPD for the model of printer
- Get the SMB URI for the printer from the sections above
- As root or sudo'ed, run the following command (substituting in for the brackets)
lpadmin -p <your_name_for_the_print_queue> -E -P </path/to/PPD-file> -o auth-info-required=username,password -v '<SMB URI>'
Post-Installation Optional Steps
The below optional steps may improve your printing experience.
Printer Error Policy
The default Error Policy on some linux distributions is to stop the printer queue from processing more print jobs A better choice is to either retry the job or to abort the job.
List the installed printer queues:
$ lpstat -a cnf-cad-1c accepting requests since Mon 27 Nov 2017 11:11:49 AM EST cnf-konica-color accepting requests since Tue 30 Oct 2018 01:58:19 PM EDT cnf-prnt250lj accepting requests since Thu 31 Jan 2019 03:27:23 PM EST cnf-togging-2c accepting requests since Mon 27 Nov 2017 11:11:49 AM EST
Set the error policy for each printer queue to abort the job (eg for the CAD rm printer):
$ sudo lpadmin -p cnf-cad-1c -o printer-error-policy=abort-job
Don't require "cornell\" before your NetID or GuestID when printing
Before doing the following, first stop CUPS. Once you have made changes, restart CUPS.
- Edit the /etc/cups/ppd/printers.conf file in your favorite text editor
- For each printer queue, find the line starting with "DeviceURI" .
- Add "cornell/" between the "smb://" and the "win2.net-print.cornell.edu", for example
DeviceURI smb://cornell/win2.net-print.cornell.edu/cnf-cad-1c
Do the above for each printer. Save your changes. And restart CUPS
Printing (including from CNF Thin)
In the Print dialogue, select the Net-Print printer.
- The "Status" area may say "Unable to connect to CIFS host after (tried 3 times)". This is OK. You will be prompted to connect with your NetID/GuestID credentials in the next step.
When prompted for your username and password, for your username use: cornell\<NetID> or cornell\<GuestID> – that's the lowercase word "cornell" followed by a backslash followed by your NetID or GuestID.
- NOTE that your username will be autofilled without the leading cornell\ ... you MUST add the cornell\ to your username for the document to print (that's the word "cornell" followed by a backslash followed by your NetID or GuestID)
- NOTE that the cursor may start in the Password field instead of the Username field. You will need to click into the Username field to make the above necessary change to your username.
Your document prints.
KDE Applications Cannot Print
You will not be able to print from any KDE applications such as Konqueror or Okular because KDE does not prompt for a username and password.
Fixing LibreOffice Cannot Print
With the new CNF Thin service available beginning November 2019, printing in LibreOffice works. You do not need to do anything other than print.
If you are using an older version of LibreOffice, follow the below steps:
- Start LibreOffice
- Under the Tools menu, choose Options.
- In the Options window, under "LibreOffice", choose "Advanced".
- Check "Enable experimental features".
- Click OK.
- Go back to Tools menu and Options.
- Under "LibreOffice", choose "General".
- Uncheck "Use LibreOffice dialogs" under the "Print dialogs" heading.
- Click "OK".
- Printing from LibreOffice now works.