In the most recent releases, lp can send to any printer whose format is output by Ghostscript (in addition to the usual Postscript printers). If you have a Ghostscript-supported printer, use ``gs!devicename'' instead of ``post'' or ``post2''. Follow the example for canonbjc240l in the devices file.
To print to printers that speak BSD lpr (such as those using HP JetDirect cards) follow the example for vogon in /sys/lib/lp/devices.
Charles Forsyth has a small program and additions to lp to print to Microsoft SMB print servers. For the distribution, see http://www.vitanuova.com/plan9/co/smb/index.html.
Set your default printer destination using the enviroment variable:
LPDEST
Postscript printers may not have the correct fonts to print the Plan9 manual pages and documents. These can be downloaded automatically by the printer driver, you just need change the line:
@{bind -b $LPLIB/process /bin; $LPPROC} < $j | /$cputype/bin/aux/lpdsend ...
in /sys/lib/lp/spooler/lpdspool by:
@{bind -b $LPLIB/process /bin; $LPPROC} < $j | aux/download -f -H/sys/lib/postscript/font -mfontmap -plw+ | /$cputype/bin/aux/lpdsend ...