Printing CUPS lpr
From Noah.org
I don't print from the command-line a lot. This is the minimal I usually need to get something printed.
Contents
Install CUPS
On Ubuntu this is pretty easy.
aptitude install cupsys cupsys-client cupsys-bsd hpijs foomatic-bin
Install Network Printer
You probably don't need to do this. Network printers should be discovered when you install CUPS.
/usr/sbin/lpadmin -p LaserJet -E -v socket://192.168.1.30 -m laserjet.ppd
You can also go through the CUPS web interface:
lynx http://localhost:631/admin
listing installed printers
lpstat -p
That will show something like the following. The important information is the printer name (NetworOptra-E321).
printer LaserJet-3055 is idle. enabled since Tue 20 Nov 2007 12:09:55 PM PST printer NetworkOptra-E321 is idle. enabled since Tue 12 Jun 2007 03:42:31 PM PDT
printing to a named printer
You can print a document by specifying the printer name on the command-line:
lpr -P NetworkOptra-E321 my_document.txt
Or you can set the default printer with the PRINTER environment variable.
export PRINTER=NetworkOptra-E321
lpr -P NetworkOptra-E321 my_document.txt
hack to print to network printer
This is useful for testing. You can simply cat a file to a network printer using telnet to port 9100. For example, this will print the /etc/passwd file to the printer at 192.168.1.30:
cat /etc/passwd | telnet 192.168.1.30 9100