![]() |
ULPR - Universal LPR ClientCopyright © 2000, Chris GonnermanULPR is a printing client program for the LPD, TCP (raw), and SMB protocols. It is extensible, so that additional protocols may be added, and it requires NO configuration files.ULPR is distributed under the terms of the General Public License of the Free Software Foundation; see the file COPYING included in the distribution for details, or visit www.gnu.org. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
I am a laptop user, and I got tired of adding printers to /etc/printcap
every time I needed to print at a new location. Not only is it a hassle,
but the /etc/printcap file rapidly becomes a mess. ULPR solves these problems.
Here's an example:
Simple, eh? ULPR accepts two main types of printer specification:
Each protocol is implemented by a backend module, in the $PREFIX/libexec/ulpr directory, named "protocol"_print, i.e. lpd_print, smb_print, tcp_print, etc. Eventually, there will be a ulpq command with similar backends named "protocol"_queue. The default protocol is implemented by a symbolic link from lpd_print to def_print; you can change the default by changing this link. It is also possible to specify options at the end of the printer specification where such are needed; I have deliberately limited the number of options accepted, and each protocol module implements its' own set of options, so there is no general rule. However, the option "debug" does usually specify verbose tracing of the program, probably not needed by any casual user. Options are specified after the normal print specification, following a slash and separated by slashes, as in:
Some options are specified by themselves, and others have arguments following an equal sign, as shown above. See below for additional examples. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ProtocolsLPDThis is the normal default protocol. It has the following defaults and options:
TCPThis is the raw-tcp protocol module; it opens a connection to a given port and dumps in the print job. Each file specified on the command line is sent through a separate connection. The "printer" part of the print specification is the port address to send to.
SMBThis is the SMB (Server Message Block) protocol. The backend protocol module is actually as script file using the smbclient program included with Samba; therefore you need Samba installed to use this protocol module. Note that name resolution uses the Samba model also; see the smbclient documentation for more information. The default host and printer are rather likely to be incorrect...
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||