Part I: Introduction
Download
Report
Transcript Part I: Introduction
Printing
Some printer jargon
Spooler
• A piece of software
Dpi
• Dots per inch
PDL
• Page description languages
Bitmap
• Common bitmap formats include JPEG, PNG,
TIFF and GIF
Introduction
1-1
Printing
Some printer jargon (cont)
RIP
• Raster Image Processor
• Converts PDL documents to a bitmap
Filters
• Programs that modify jobs en route from the spooler
to the printer
Postscript
• The most common PDL found on Unix
PCL
• Exclusively on Hp printers and quite common in PC
world
Introduction
1-2
Types of printers
By connection interface
Serial port
parallel port
Universal Serial Bus (USB)
Network
• Full-fledged network interfaces
• Computer can spool directly to the network printer
– Many network laser printers include a lpd server that runs
inside the printer.
• To simplify administration
– Set up a few host to control the printers
– Other machine simply transmit jobs to these print server
machines
Introduction
1-3
BSD Printing
Redhat and FreeBSD use BSD printing system.
Daemon lpd
Accepts print jobs from users or other (remote) lpds
Processes the jobs
Sends jobs to an actual printer
reads /etc/printcap and is started at boot time
Program lpr allow users to submit print jobs to lpd.
Lpr and lpd communicate through the unix socket
/dev/printer
Which printer to use
• Option -Pprinter
• Env $PRINTER
• Default printer lp, or the first one in /etc/printcap
Introduction
1-4
BSD Printing
Spool
• Lpr create two files under the printer’s spool dir
/var/spool/lpd/printername
control file started with cf
data file started with df
Lpr notifies lpd of the job’s existence
Lpd then check printcap to determine if the
destination is local or remote
• If remote, lpd opens a connection to the remote
machines’ lpd, transfer the cf and df file,and delete
the local copy
• If local, lpd creates a series of UNIX pipes between
the spool file and hardware to transport the data –
filter processes
Introduction
1-5
BSD printing commands
Command
Location
Function
lpq
/usr/bin
Shows print queue contents and status
lpr
/usr/bin
Queues jobs for printing
lprm
/usr/bin
Cancels a queued or printing job
lpc
/usr/sbin
Controls a printer or queue
lpd
/usr/sbin
Schedules and prints jobs
printtool
/usr/bin
Configures the printing system
Introduction
1-6
BSD Printing
lpc : make administrative changes
Enable or disable queuing for a particular printer
• enable/disable printer
Enable or disable printing on a particular printer
• start/stop printer
Remove all jobs from a printer’s queue
• clean printer
Move a job to the top of a printer’s queue
• topq printer jobid
• topq printer username
Start, stop or restart the lpd daemon
• restart printer
Get printer status information
• status printer
Introduction
1-7
BSD Printing
/etc/printcap file
BSD printing system’s master database
A printer must be described in the printcap file
before jobs can be submitted it.
Printcap format
• Name:xx=string:xx#number:xx=string… …
Introduction
1-8
Printcap variables
Name
Type
Meaning
Example
sd
string
Spool directory
sd=/var/spool/lpd/howler-lw
lf
string
Error log file
lf=/var/log/lpr
lp
string
Device name
lp=/dev/lp0
af
string
Accounting file
af=/usr/adm/lpr.acct
rm
string
Remote machine name
rm=beast.xor.com
rp
string
Remote printer name
rp=howler-lw
of
string
Output filter
of=/usr/libexec/lpr/lpf
if
string
Input filter
if=/usr/sbin/stylascii
mx
number
Maximum file size
mx#0
Introduction
1-9
System V printing
Used by HP-UX, SCO Unic, Solaris etc.
System V spooling subsystem’s major components:
Spooling daemon: lpsched responsible for carrying out
print requests by sending data to the appropriate
printer.
User commands
• Initiate print requests: lp
• Cancel a pending request: cancel
• List queue contents: lpstat
Administrative commands
• Accept, reject, enable, disable, lpadmin, lpmove, lpusers
Introduction
1-10
System V printing
Spooling directories under /var/spool/lp/request named
for each printer
• By default the actual file to print is not copied. The
changing or deleting a file before it is printed affects the
final output.
• Use –c option to lp to copy the file to the spool area
Device classes
Group similar devices and declare them to be equivalent
to and substitutable for one another.
Setting the system default destination
Use the –d option to the lpadmin command
• #lpadmin –dprinter2
• #lpstat –d
User may set the env LPDEST
Introduction
1-11
System V printing
Obtaining Destination Status Information
Lpstat command
•
•
•
•
•
•
•
•
Accept job or not: -alist
Display the members: -clist
List print requests: -olist
Display the current status: -plist
Display users’ jobs: -ulist
Display the special files: -vlist
Display summary: -s
Display all status info: -t
Introduction
1-12
System V printing
Controlling print queues
Use accept and reject commands to permit and
inhibit spooling to a print queue.
Example:
# reject –r “ There is no paper in the entire building …” laserprinter
#accept laserprinter
Controlling the status of a particular printing
device
Use enable and disable commands followed by a device
Example:
#disable –r “ changing toner cartridge; back by 11” laserpritner
#enable laserprinter
Introduction
1-13
System V printing
Starting and stopping the print service
Started automatically at system boottime
• Such as /etc/rc2.d/S80lp
Check if the scheduler is running
• #lpstat –r
Stop
and start printing service manually
• #lpshut
• #/etc/rc2.d/S80lp start
Managing printers and destination classes
Use lpadmin command to define and modify
characteristics of printer devices and classes
• Stop lpsched first
Introduction
1-14
System V printing
• Adding a printer
#lpadmin –p printer –v special-files interface-option
Where interface_option can be
» -e printer
» -m model
» -i interface-path
Example:
#lpadmin –pPS4 –v /dev/tty02 –ePS3
• Modifying and deleting printers
– Option –x removes a printer
– Option –P changes a printer if it is existed.
• Managing Device class
– Use –c option to place a printer into a class
» #lpadmin –pPS2 -claser
Introduction
1-15
System V printing
Adding a New printer
Physically connect the printer
Change the ownership of the special file to the
user lp and change its mode to 600
Check startup file (s file and K file)
• Make links if they do not exist
Shutdown printing service with lpshut if
running, and then use lpadmin to add the printer
Start the printer and its queue
• #accept PS3
• #enable PS3
Test the new printer by spooling a small file.
Introduction
1-16
Network Printing
Sharing printers among systems within a local area
network
Print server: allow users on other hosts send jobs to one
or more of its printers
Clients: send the jobs to remote hosts.
Between BSD System
Outgoing
• Set up printcap entry to specify
– the destination host (rm)
– The target printer (rp)
Incoming
• Allow a remote system to print
– /etc/hosts.lpd or /etc/hosts.equiv
Introduction
1-17
Network printing
Remote printing under Solaris
Outgoing
• Register the remote system name using lpsystem
• Set up a queue using lpadmin
Incoming
• Handled by the Service Access Facility
– Configure the local listen port monitor using pmadm
Introduction
1-18
Practice
Let’s configure the printer on Solaris
Connect the printer to the network
Set the printer IP address/netmask
Define the printer on your Solaris box
• Use lpadmin sun as
#lpadmin –p printername –s systemname
• Or use /usr/sadm/admin/bin/printmgr
Enable the printer
Print a test page
Introduction
1-19
Exercise
Configure the printer on Linux with CUPS
CUPS: common Unix printing system
• Dynamic printer detection
– Broadcasts the printer available
• Grouping printers
• Integrating with Windows
Configure it via localhost:631
Disable the queue
Disable the printer
Cancel a job
Check the print queue
Introduction
1-20