CUPS Printing Tips For GNU/Linux & Unix

This page provides a brief introduction to using the CUPS printing system; full user documentation can be found at These instructions assume you are using a cups client for printing; if you are running CSAIL Debian this is what you have.

KDE Printing Manager

KDE, the default desktop environment for CSAIL Debian, already knows about CUPS and all the attached printers. From the Printing Manager (K Menu -> Settings -> Printing Manager) you can browse all available printers, view the list of queued jobs, configure personal default printers and printer settings, and learn about supported features of a given printer. The settings you define in the Printing Manager affect your CUPS environment on all CSAIL Debian systems, whether you print directly from a KDE application or from the command line using kprinter, lpr, or some other CUPS front-end. A sample Printing Manager window looks like:

KDE Printing Manager snapshot

XFCE Printing Manager

XFCE is the default display environment for CSAIL Ubuntu, and includes an interface for accessing the CUPS server. You can access the Print manager via: XFCE Menu -> System -> Printing. From here, you can see all available printers, and set your default printer. To set the default, right click your closest printer, and select "Set As Default". Following that, select the "Set as my personal default printer" radio button. The Print Manager window looks like the following:

XFCE Printing Manager

Command Line options

CUPS allows you to access all of the printer features on the command line by specifying options in the form
-o <option>=<value>
, multiple option specification are possible but each requires its own
. You can also save common settings as personal queue instances

Common Options

action syntax notes
duplex -o sides=two-sided-long-edge this is the default
simplex -o sides=one-sided
no banner -o job-sheets=none
print banner -o job-sheets=standard
N up printing -o number-up=<N> where N=[1,2,4,6,9,16]

More standard options are shown at in the online documentation on our CUPS server, but these are the most common.

Advanced Options

The above options are generic and can be applied to any printer that is spooled through CUPS. CUPS also supports printer specific options for things such as paper tray and print quality selection. The following command will list all available options for a specific pritner:

lpoptions -p <queue name> -l

The output of this command is in the following format

ShortOptionName/Long Option Name: value1 *value2 value3

Here value two (with the asterisk) is the default value, to change this to value3 for a specific print job the command would be:

lpr -Pqueue -o ShortOptionName=value3

Saving Option Sets

Specifying 4 up simplex printing with no banner page from paper tray 2 in 1200dpi presentation quality mode can get awfully tedious. Thankfully you can save these options into a printer instance which takes the form <queue-name>/<instance-name> where <queue-name> is the printer you want to use and <instance-name> is a personal identifier for this option grouping. These opions are recorede in your ~/.lpoptions file. For example to record te previosly mentioned otions for the printer cabal in an instance called test you would look up the options using lpotions -p cabal -l as shown in the previous section and then use lpotions with the new queue/instance name and the selected options:

lpoptions -p cabal/test -o number-up=4 -o job-sheets=none -o <noop>InputSlot=Tray2 -o <noop>OutputMode=HiResPhoto -o sides=one-sided

Now anytime you print to lpr -Pcabal/test you will be invoking all those options. If you only specify a queue and don't specify an instance these options will be your personal defaults for this printer. You can check which options have been changed from the system wide default by using lpoptions -p <queue-name>[/instance-name], for example:

lpoptions -p cabal/test
number-up=4 job-sheets=none InputSlot=Tray2 OutputMode=HiResPhoto sides=one-sided

lpoptions -p cabal
job-sheets=none,none page-bottom=18 page-left=18 page-right=18 page-top=18

proivides a GUI that allows you to set printer defaults and create printer instances. I find it cumbersome but it may be helpful to some

Client Settings for non CSAIL Debian Systems

If you use Ubuntu 13.04 or higher, please see the instructions in the 13.04 section below.

The following instructions to print to CSAIL printers from Ubuntu versions 12.10 and earlier, and other GNU/Linux distributions, are at your own risk and require root access (using sudo for example). They are not necessary for CSAIL Debian, which is fully supported.

METHOD 1: Easiest; blocks out everything except for CSAIL printers
sudo -i
cp /etc/cups/client.conf /etc/cups/client.conf.bak 2>/dev/null
echo ServerName > /etc/cups/client.conf
service cups restart

METHOD 2: Slightly harder; still allows other printers or even other external cups servers.

Copy the file /etc/cups/cupsd.conf to your home directory for backup, then edit it to contain the lines (replacing them if they exist, otherwise at the end):
Browsing On
Then restart your local CUPS service:
sudo /etc/init.d/cups restart

If you take a laptop to multiple locations with cups servers, simply add a BrowsePoll line for each server. You can also add standalone printers (such as your printer at home) via the regular printing admin interface.

Ubuntu 13.04+

Copy the file /etc/cups/cupsd.conf to your home directory for backup, then edit it to contain the lines (replacing them if they exist, otherwise at the end):
Browsing On
Then restart your local CUPS service:
sudo /etc/init.d/cups restart

Ubuntu 13.04 uses cups-browsed, which requires adding the BrowsePoll line to /etc/cups/cups-browsed.conf instead, and then restarting the cups-browsed service.

sudo /etc/init.d/cups-browsed restart

Linux drivers

TIG maintains and supports a CSAIL specific distribution of Debian. If you are using another version of gnu/linux you may wish to use this driver, note however that other versions of gnu/linux are not supported by TIG.

Topic attachments
I Attachment Action Size Date Who Comment
xfce-cups.pngpng xfce-cups.png manage 30.2 K 11 Dec 2012 - 14:36 StephenJahl XFCE Print Manager
Topic revision: 03 Aug 2017, edemaine

MIT Computer Science and Artificial Intelligence Laboratory


  • About CSAIL
  • Research
  • News + Events
  • Resources
  • People

This site is powered by Foswiki MIT: Massachusetts Institute of Technology