Q: How do I print several pages per sheet?

You can use command a2ps. For example, if you have a text file called input.txt and you want to print the file 4 pages per sheet, then you can use the following command to generate an output file called output.ps, then use lpr command to print the output.ps

a2ps -o output.ps -4 input.txt
lpr -Pprintername output.ps

Note that

  • a2ps convert FILE(s) or standard input to PostScript. Input files can be of different type, e.g. .txt, .ps, or .html.
  • you can directly print out the input file to printer by the following command:

    a2ps -P -4 input.ps

    However we recommend to convert the input file to output.ps first, then use ghostview to check if the format is correct or not. Finally use lpr command to print output.ps.

  • For further information, please use command man a2ps to read the manual of the command a2ps.
Q: Someone has sent me a print-ready file formatted for A4 paper. What do I do now?

A4 format is commonly used in the rest of the world, so it's not surprising to receive DVI or Postscript files from there. If you try to print in on our printers which are set up for Letter size (8.5"x11"), you may end up with less than satisfactory results.

If you have the TeX/LaTeX source, you can change the source to use the new format and run TeX/LaTeX again.

You can also resize the Postscript output (if you have a DVI file, convert it to Postscript first), by issuing the command

  psresize -PA4 -pletter in.ps out.ps 

and print the resulting file out.ps.

If this is for publication that requires it to be on A4 paper, you can buy A4 paper from the UBC Bookstore. Ask the IT staff on how to set up the printer to print on A4 paper.

Q: How do I print a dvi (DeVice independent) file?

Convert dvi file to ps file then use lpr command to print the converted ps file:

dvips -o outputfilename.ps inputfilename.dvi

lpr -Pprintername outputfilename.dvi

Or pipe it through directly:

dvips filename.dvi | lpr -Pprintername

Q: How do I set the printer that my print jobs should go to?

As of Dec. 1, 2005, if you do not set the printer your printouts should go to, it will be thrown away. The method to set your printer is different for Windows and Unix (Linux or Solaris).

For Windows

  1. Setting a printer for an individual print job

    Most Windows applications will allow you to choose the printer from a menu when you try to print something. Choose the appropriate printer.

  2. Setting a printer for a session

    To set a default printer for a login session (i.e. this setting will be forgotten once you log out), you can go to the printer settings control panel:

    Start -> Settings -> Printers

    then bring up the printer menu by placing the mouse over the printer's icon you want to print to and right-click, then select

    Select As Default Printer

    A check mark should appear over the printer icon of your choice.

  3. Setting a permanent default printer for a workstation

    To set a permanent default printer (for the workstation you are using: you'll have to repeat it for another workstation), go to

    Start Menu -> Run ...

    Then, type the following into the text input window:

    \samba\win-share\SetDefaultPrinter

    Then double-click the appropriate printer batch file. From then on, that will be your default printer for this particular workstation.

For Unix

  1. Setting a printer for an individual print job

    Some application (like firefox) will allow you to choose the printer. Most printing is done from the command line via lpr. You can tell lpr where to send the output to via the -P switch:

    lpr -Pname file ...

  2. Setting a printer for a login session

    To set a default printer for a login session (i.e. this setting will be forgotten once you log out), you can set the environment variable PRINTER. In tcsh (the default shell), you can enter

    setenv PRINTER name

  3. Setting a permanent default printer for your MathNet Unix account

    To permanently set a default printer for your Unix sessions, you can enter the above command to set your PRINTER environment variable in your startup script, found in your home directory:

    ~/.login

Q: How do I check printing status?

SYNTAX

     lpq -Pprinter

EXAMPLE

     lpq -Php5

Q: How do I use 'enscript' to print a non-text or non-ps file?

PDF FILES

First use acroread to open the file. Then use acroread's "print" menu.

JPG AND GIF FILES

First use Firefox to open the file. Then use Firefox's "print" menu.

For text files, you can first convert them to ps files before you print them. You can use Unix command "enscript" to do this. Enscript converts text files to PostScript and spools gen- erated PostScript output to the specified printer or leaves it to file. If no input files are given, enscript processes standard input. Enscript can be extended to handle dif- ferent output media and it has many options which can be used to customize printouts (Use command "man enscript" to find more information).

SYNTAX:

enscript [options] filename

OPTION EXAMPLES:

         -1, -2, --columns=num
                 Specify how many columns each page have.  With  long
                 option  --columns=num  you  can  specify more than 2
                 columns per page.

         -a pages, --pages=pages
                 Specify which pages are printed.  Page specification
                 pages can be given in following formats:

                 start-end
                         print pages from start to end

                 -end    print pages from 0 to end

                 start-  print pages from start to end

                 page    print page page

                 odd     print odd pages

                 even    print even pages

         -A align, --file-align=align
                 Align separate input files to even align page count.
                 This  is  handy  for  two-side  and  2-up  printings
                 (--file-align=2).

         -b header, --header=header

EXAMPLE

          enscript foo.txt
                  Print file foo.txt to the default printer.

          enscript -2 foo.txt
                  Print file foo.txt to two columns.

          enscript -2r foo.txt
                  Print file to  two  columns  and  rotate  output  90
                  degrees (landscape).

          enscript -G2rE -U2 foo.c
                  gaudy header,  two columns,  landscape,  
                  code highlighting, 2-up printing.
Q: Where does/did my printout go?

Windows

To find which printer is the default printer using Windows, go to the printer control panel:

Start -> Settings -> Printers

The default printer will have a check mark over the icon.

Unix (Linux, Solaris)

Under Unix, the default printer can be found by looking at the output of

lpq

For example, the output may look like

   Printer: pulp@viol  'Lexmark Optra Se3455, Rm209 (1-sided)'    Queue: no printable jobs in queue       Status: job 'smith@viol+232' removed at 20:15:34.286          Filter_status: done at 20:15:34.271    

The default printer is named "pulp" and it's located in Rm209. The last printout was sent by user "smith" at 20:15:34. To send it to a particular printer, you can supply the "-P" flag to the print command:

lpr -Ppulp file ...

If you have a missing printout, first make sure that the printer you intended to print to to was actually the printer used (Unix: use the lpq command to see that your username was the last finished job and that the room location is what you expect). If the printout is still missing, it could be that

  • You sent it to the wrong printer. Don't just keep resending your printout without finding out what happended to it.

  • Somebody mistakenly took your output.

  • You have not set the printer that your print job should go to and sent it to the default 'null' printer. See note at top of this page.

  • The file has Postscript errors and can't be printed. Try viewing the file with Ghostscript to see if it is well formed. Also, try printing from within the same room as the printer so that you can observe the printer. If you suspect it is a Postscript error, contact the IT staff.

  • You are trying to print something other than letter size (8.5x11.0inch) paper. This is especially common with European print-ready files formatted for A4 size appear which is not commonly used in North America. You'll may have to reformat the paper in this case. Check the LCD window to see if it complains about not being able to supply the correct size paper.

  • The printer is jammed or is out of paper - the output of "lpq" will have pending jobs to be printed (and your is last in line) and the LCD window on the printer has an error condition. In this case, contact the IT staff. Unless you know what you are doing, don't try to repair it yourself.

  • You tried to print a file the printer does not understand. You ought to get a shingle sheet stating that it could not print your file format. In this case you'll need to convert the file format to something the printer can understand (like Postscript).

  • Configuration screw up: if you cannot explain why a print job disappeared, contact the IT staff. We can't fix it if we don't know about it.
Q: How do I make the printer print single-sided?

Most printers will print on both sides of the paper by default -- to make the print-out single-sided, try adding s at the end of the printer's name. 

Q: How do I add StatNet printers to my personal laptop/ desktop?

Update Mar 2018
Please use TCP/IP printing method

Do not use CUPS method below until further notice

Printers Info:

NOTES: Must be using wired to connect to local StatNet internal network in order to use our printers. 
You can not print from UBC wireless.
Alternate how to add printer usingTCP/IP HPJetdirect Socket printing.

Print server: cups.stat.ubc.ca
http://cups.stat.ubc.ca:631/printers

I) Windows Setup
Step1:
Find out which printer you want to add here:
http://cups.stat.ubc.ca:631/printers
Look at "Description" for the printer Model.
Download  PCL6 or PCL5 or Postscript driver from the Vendor site.
If your printer's Vendor doesn't have one, Windows/MacOSX/Linux operating systems comes with print drivers
installed.  You should choose one of these drivers that is as close as possible to the name of the printer.
Some "Generic Postscript" driver would work but you might lose some special functionality such as Duplex, Booklet.

Do not use "Universal driver"
Install the driver and notice where you install it "c:\....)

Step2:Click on Start -- Setting -- Printer and Faxes
    1.  Select add a printer
    2. Select add a network printer
Click on "Connect to a printer on Internet or home or office network.
    3. Put in for the URL :
       http://cups.stat.ubc.ca:631/printers/Printer_name
       Substitute the name of the printer for Printer_name.
Click Next
    4. For the print driver select correct driver which you have just
   installed.
Click "Have Disk" -- Browse --
Find location of your new printer driver, Select it and OK

II) Mac Leopard / Linux /Unix:
1) Add one printer: ( Mac OSX only)
Open "Systems Preferences" -- Print & Fax
Click on "+" to open 'Add Printer' window
Click "IP" icon then enter:
   Protocol: Select Internet Printing Protocol - IPP
   Address: cups.stat.ubc.ca
   (* "Printer_name" is the name of StatNet printer )
   Queue: printers/Printer_name     [ e.g. printers/hp5      ]
   Name: Printer_name                     [ e.g. hp5, Duplex       ]
   Location:                                           [ e.g. ESB mail room ]
   Print Using: Select Printer Softwares  (ie.  HP Laserjet Enterprise M605 with Duplex option)
                         Check:  Duplex Unit
Click Add

Repeat for each new printer.

2) If you want to have ALL StatNet public servers
WARNING Mac OSX: it will remove ALL your old printers and the removal of the previous printers is not undoable.
Add the following line to /etc/cups/client.conf as root:
     ServerName cups.stat.ubc.ca

Q: How do I bogofilter out spam?

Bogofiltler needs train/retrain often to make it works 100%
See this URL for how it works
http://www.bogofilter.org/

We use the term "ham "for email you want, "spam" for email you don't want.  We also assume you save your ham/spam and others email in mail/ folder.  See Notes below of you only have Mail (uppercase) folder.

  1. Login to  SUN Unix server only.
  2. ssh your_login@stat.ubc.ca  (Be.stat.ubc.ca)

I have have a copy of spam folder for you to start training bogofilter manually.

First step, you need to save lot of spam email to train bogofilter. 

          bogofilter -sM < /usr/local/data/etc/bogofilter/spam
 

Second step, you need "ham" email to train bogofilter. 
You can use any saved email (good known emails) as ham.
          bogofilter -nM <  mail/ham  
or 
          bogofilter -nM < mail/tha

NOTES: If you only see Mail (Uppercase) folder, do this 
          ln -s Mail mail
        
Bogofiler will store your database in your home dir ~/.bogofilter/wordlist.db

Edit your .procmail file using vi or emacs or pico by typing 
         vi ~/.procmailrc

  1. Add to content below:
    :0fw

    | /usr/local/bin/bogofilter -u -e -p

    :0e

    { EXITCODE=75 HOST }

    :0:

    * ^X-Bogosity: Spam, tests=bogofilter

    mail/Bspam

    :0:

    * ^X-Bogosity: Unsure, tests=bogofilter

    mail/Bunsure

    # Used during vacation: forwards to vacation, then makes a cc for # myself

    # Unhash 2 lines below to turn on your vacation

    #:0 c

    #|/usr/bin/vacation -t1d $LOGNAME

    Notes:  "Bunsure" and  "Bspam" are two "spam" and "not sure" spam files that bogofilter saved for you in the mail folder.  You need to check them often to make sure you don't have false positive or false negative. You need to sort  "Bunsure" and  "Bspam" into real "ham" and "spam" and "re-train "your filter to update your bogofitler database (wordlist.db)
                         

To enable the filter type

           vi ~/.forward

and add this line (Note: include the double quotes " ")

"|exec /usr/local/bin/procmail"
When you need to turn on vacation, do not use the "vacation" command to turn your vacation command. Instead add this line to your .procmailrc
# Used during vacation: forwards to vacation, then makes a cc for myself

:0 c

|/usr/bin/vacation -t1d $USER

Automation:
If you setup your as describe above, you can setup a cronjob to update your wordlist.db hourly
   crontab -e     (crontab editor = vi mode.  You can changes by edit your shell environment EDITOR=emacs)
               0 * * * * /usr/local/bin/bgupdate > /dev/null 2>&1

Manual update:
  After saving your new spam/ham form Bspam and Bunsure, run this
         bgupdate

You may need to run it twice the first time.

Advance option: Personalize your bogofilter:
If you want personal configuration for bogofilter, just copy this file /nfs/packages/bogofilter/etc/bogofilter.cf.example to your bogofilter directory.

cp /nfs/packages/bogofilter/etc/bogofilter.cf.example ~/.bogofilter/bogofilter.cf

Pages