LPQ(1)

NAME
lpq - spool queue examination program

SYNOPSIS
lpq [ -a ] [ -A ] [ -l ] [ -L ] [ -P printer ] [ -s ]
[ -t sleeptime ] [ -V ] [ -D debugopt ]
[ jobid... ]

DESCRIPTION
lpq requests a status report from lpd(8) on the specified printers or jobs. lpq invoked without any arguments reports on the printer given by the default printer (see -P option). The short (default) format simply lists the printer, host, and numbers of jobs in the spool queue. When using the long format (-l option), for each job in a spool queue lpq reports the job identifier which is generated from the user's name and originating host, current rank in the queue, the job number (which may be supplied to lprm(1) for removing a specific job), the job description information, and the total size in bytes. If there is an error or other problem with the job, this information may be modified to reflect the problems. In a spool queue, Job ordering is a modified FIFO (First in First Out), modified by the job class and priority information.

The following options are available.

-A  Use authentication specified by the value of the AUTH environment variable.

-Ddebugoptions
    Debugging is controlled using the -D option. This accepts a comma-separated list of debugging settings. These settings take one of two forms: facility=value , or value to set an overall default value.

-P printer
    By default, the destination printer is taken from the command line printer value, then the environment variables PRINTER, LPDEST, NPRINTER, NGPRINTER, then first entry in the printcap information, and and finally the default_printer entry from the configuration file, and then the compile time default.

-V  Print version information.

-a  List status for all printers (see PRINTER LISTS below) which have entries for the LPRng client programs in the printcap(5) database.

-l  Increase verbosity of the long display format. A single -l options selects a short verbose display, multiple -l options increase the verbosity.

-L  Use maximum verbosity for the long display format.

-s  Display a short, single line status summary for each queue and subqueue.

-tsleeptime
    Forces lpq to periodically display the spool queues and then sleep sleeptime seconds between scans of the queue.

jobid ... all
    The options are followed by a list of jobids which are used to select jobs of interest. A jobid can be a user name, a job identifier, a job number, or a glob based pattern which will be applied to the job identifiers. The all keyword will display all jobs and is the default option.

The lpq will report the status of the spool queue (enabled for spooling, disabled for unspooling), and the absence of a server if unspooling is enabled. The lpc(1) command lpc start <printer> may be used to start the server if this is the case.

ENVIRONMENT

By default, the destination printer is taken from the command line dest value, then the environment variables PRINTER, LPDEST, NPRINTER, NGPRINTER, then first entry in the printcap information, and and finally the default_printer entry from the configuration file, and then the compile time default.

PRINTER LISTS

The -a option is used to by lpq(1) to get status for a list of printers. This list is formed as follows.

1)  The printcap file is scanned for printer entries. Only entries with names starting with a letter or digit are recognized as valid queue or printer names.

2)  If the special entry all is present, and it has a field :all=pr1@host1,pr2@host2,... then the printers pr1, pr2, ... are used as the printer or queue list.

3)  If there is no all entry, then the original list of printers found in step 1) is used as the list of printers.

The special case of lpq -Pall disables the searching of the printcap database, and simply sends a query to the lpd server for status of printer all. The lpd(8) server enumerates the printers in its printcap file, ignoring any all entry, and returns status only for printers which have entries in the lpd(8) server printcap file.

Finally, the special case lpq -Ppr@host causes lpq(1) to send a status request for printer pr to host host.

Here is a simple set of rules to use:
Client:
 pr1:lp=%P@server
 pr2:lp=%P@server
  - printer pr1 followed by pr2
pr1:lp=%P@server
pr2:lp=%P@server
all:all=pr2,pr1
  - printer pr2 followed by pr1 (all overrides)
Client:
 pr1:lp=%P@server
 pr2:lp=%P@server
Server:
 lp:lp=...
  lpq -Pall
    - status returned only for printer 'lp'

EXIT STATUS

The following exit values are returned:

zero (0)
    Successful completion.

non-zero (!=0)
    An error occurred.

PRINTCAP INFORMATION

The printer names and other information is obtained by using a printcap file or some other database. The ${HOME}/.printcap file can be used to specify user level options and configuration information. See printcap(5) for more information.

FILES

The files used by LPRng are set by values in the printer configuration file. The following are a commonly used set of default values.
/opt/local/etc/lpd/lpd.conf	LPRng configuration file
${HOME}/.printcap	user printer description file
/opt/local/etc/printcap	printer description file
/opt/local/etc/lpd/lpd.perms	permissions
/var/run/lpd	lock file for queue control
/var/spool/lpd		spool directories
/var/spool/lpd/QUEUE/control	queue control
/var/spool/lpd/QUEUE/log	trace or debug log file
/var/spool/lpd/QUEUE/acct	accounting file
/var/spool/lpd/QUEUE/status	status file

SEE ALSO
lpd.conf(5), lpc(8), lpd(8), checkpc(8), lpr(1), lprm(1), printcap(5), lpd.perms(5), pr(1), lprng_certs(1), lprng_index_certs(1).

DIAGNOSTICS

Most of the diagnostics are self explanatory. If you are puzzled over the exact cause of failure, set the debugging level on (-D5) and run again. The debugging information will help you to pinpoint the exact cause of failure.

HISTORY

LPRng is a enhanced printer spooler system with functionality similar to the Berkeley LPR software. The LPRng mailing list is lprng@lprng.com; subscribe by sending mail to lprng-request@lprng.com with the word subscribe in the body. The software is available from ftp://ftp.lprng.com/pub/LPRng.

AUTHOR
Patrick Powell <papowell@lprng.com>.