A year ago, I wrote a post on Configuring CMU SCS printers on Linux. SCS Computing Facilities is rolling out a new single-queue print system, where you fetch your job from the queue to a particular printer using your ID card. They don’t provide instructions for configuring this on unfacilitized hosts, so here’s what worked for me.

Edit: It turns out one doesn’t actually need to use SAMBA, nor to authenticate against the printers. You can find the original instructions below the rule. The updated instructions are as follows.

Edit 2: It looks like the queue lpd://SCSID@lpd.srv.cs.cmu.edu/scs_public will be phased out. Instead, use lpd://SCSID@scs-print.srv.cs.cmu.edu/SCS-Public.

  • Address: lpd://SCSID@scs-print.srv.cs.cmu.edu/SCS-Public
  • Make: Generic
  • Model: Generic PostScript Printer

Don’t forget to change SCSID to your SCS ID.

I normally add printers via the CUPS web interface:

  1. Navigate to http://localhost:631. If asked for a username or password, enter your local username/password. Make sure your user is in the lpadmin group.
  2. Select the “Administration” tab.
  3. Click “Add Printer” under the “Printers” header.
  4. Select “LPD/LPR Host or Printer”.
  5. Paste in the printer address, found above, and continue to the next page.
  6. Give the printer an appropriate name, e.g., scs_public, and continue.
  7. Select the make “Generic” and model “Generic PostScript Printer” or “Generic PostScript Printer Foomatic/Postscript”.
  8. Add the printer. You can then configure duplexing, etc., as desired.

You can make this your (user) default printer using

lpoptions -d scs_public

N.B. In my experience, you must be connected to the CMU network to print to SCS printers.


Old instructions: Unfortunately, printing now requires SAMBA. On Debian-derived systems, you can install the required bits by going

sudo apt install smbclient

If you have not yet created an SCS Windows domain account password, do so now via the Kerberos Instance Manager. Then, assuming you’re using CUPS, the configuration details are:

  • Address: smb://SCS\scsID:scsWindowsPassword@scs-print.srv.cs.cmu.edu/SCS-public
  • Make: Generic
  • Model: Generic PostScript Printer

Of course, you should remember to change scsID and scsWindowsPassword to your SCS ID and your SCS Windows domain account password.

I normally add printers via the CUPS web interface:

  1. Navigate to http://localhost:631. If asked for a username or password, enter your local username/password. Make sure your user is in the lpadmin group.
  2. Select the “Administration” tab.
  3. Click “Add Printer” under the “Printers” header.
  4. Select “Windows Printer via SAMBA”.
  5. Paste in the SCS-public address, smb://SCS\scsID:scsWindowsPassword@scs-print.srv.cs.cmu.edu/SCS-public and continue to the next page. Again, make sure to change scsID and scsWindowsPassword to your SCS ID and your SCS Windows domain account password.
  6. Give the printer an appropriate name, e.g., scs_public, and continue.
  7. Select the make “Generic” and model “Generic PostScript Printer” or “Generic PostScript Printer Foomatic/Postscript”.
  8. Add the printer. You can then configure duplexing, etc., as desired.

A few caveats:

  1. Your SCS username and windows password will be stored in plaintext (!) in /etc/cups/printers.conf. If you do not want this, then use the address smb://scs-print.srv.cs.cmu.edu/SCS-public. You will then be prompted for them every time you go to print.
  2. Even if you do specify your SCS username and windows password, you will likely be prompted for them every time you go to print from a GTK program. This is because AuthInfoRequired gets set to username,password in /etc/cups/printers.conf. Commenting out this line seems to fix the problem:

    sudo service cups stop && \
        sudo sed -i 's/^AuthInfoRequired/#&/g' /etc/cups/printers.conf && \
        sudo service cups start
    

    (note, this will apply the change indiscriminately to all of your printers…).

  3. Editing the printer from the CUPS web interface will cause it to drop your username/password from the config file.
  4. In my experience, you must be connected to the CMU network to print to SCS printers.