第4 章• 管理打印机(任务) 79
-r 删除指定的打印客户机。
print-client 指定要从打印服务器中删除的打印客户机的名称。可以在此命令中指定多台
打印客户机。使用空格或逗号来分隔打印客户机名称。如果使用空格,请用
引号将打印客户机列表引起来。
将指定的打印客户机从打印服务器的/etc/lp/Systems 文件中删除。
验证是否已删除打印机信息:
a. 确认在打印客户机上已删除打印机信息。
print-client$ lpstat -p printer-name -l
在命令输出中,您应该收到一个指示打印机不存在的错误。
b. 确认在打印服务器上已删除打印机信息。
print-server$ lpstat -p printer-name -l
在命令输出中,您应该收到一个指示打印机不存在的错误。
删除打印机和远程打印机访问
以下示例说明如何从打印客户机terra 和打印服务器jupiter 中删除打印机luna。此示例还
说明如何从打印服务器中删除打印客户机terra。
terra# lpadmin -x luna
Removed “luna”.
terra# lpstat -p luna -l
jupiter# lpadmin -x luna
jupiter# lpsystem -r terra
Removed “terra”.
jupiter# lpstat -p luna -l
检查打印机状态
许多日常的打印机管理任务需要有关LP 打印服务或特定打印机的状态信息。例如,您可以
确定哪些打印机可用。您还可以检查这些打印机的特征。您可以使用lpstat 命令查找有关
LP 打印服务或特定打印机的状态信息。
10
示例4–1
管理打印机和打印调度程序
80 系统管理指南:高级管理• 2006 年7 月
如果使用了PPD 文件创建或修改打印队列,则在lpstat 输出中将列出特定的PPD 文件。如
果在创建打印队列时未指定PPD 文件,则lpstat 输出中的PPD 项是none。
如何检查打印机的状态
登录到网络上的任何系统。
检查打印机的状态。
此处仅显示最常用的选项。有关其他选项的信息,请参见lpstat(1) 手册页。
$ lpstat [-d] [-p] printer-name [-D] [-l] [-t]
-d 显示系统的缺省打印机。
-p printer-name 显示打印机处于活动状态还是空闲状态、启用或禁用打印机的时间以及
打印机是否正在接受打印请求。
您可以使用此命令指定多个打印机名。使用空格或逗号来分隔打印机
名。如果您使用空格,请用引号将打印机名列表引起来。如果不指定
printer-name,则会显示所有打印机的状态。
-D 显示指定printer-name 的描述。
-l 显示指定printer-name 的特征。
-t 显示有关LP 打印服务的状态信息,包括所有打印机的状态,如它们是否
处于活动状态以及是否正在接受打印请求。
检查打印机的状态
以下示例说明如何显示系统的缺省打印机。
$ lpstat -d
system default destination: luna
以下示例说明如何显示打印机luna 的状态。
$ lpstat -p luna
printer luna is idle. enabled since Jul 12 11:17 2001. available.
以下示例说明如何显示打印机asteroid 和luna 的描述。
$ lpstat -p "asteroid luna" -D
printer asteroid faulted. enabled since Jan 5 11:35 2004. available.
1
2
示例4–2
管理打印机和打印调度程序
第4 章• 管理打印机(任务) 81
unable to print: paper misfeed jam
Description: Printer by break room
printer luna is idle. enabled since Jan 5 11:36 2004. available.
Description: Printer by server room.
以下示例说明如何显示打印机luna 的特征。
$ lpstat -p luna -l
printer luna is idle. enabled since Thu Jul 12 15:02:32 PM PDT
Form mounted:
Content types: postscript
Printer types: PS
Description:
Connection: direct
Interface: /usr/lib/lp/model/standard
PPD: none
After fault: continue
Users allowed:
(all)
Forms allowed:
(none)
Banner not required
Character sets:
(none)
管理打印机和打印调度程序
82 系统管理指南:高级管理• 2006 年7 月
Default pitch:
Default page size: 80 wide 66 long
Default port settings:
使用PPD 文件时的lpstat 命令输出
在此示例中,lpstat 命令输出指示打印队列是通过使用PPD 文件
Mitsubishi-CP50_Color_Printer-cp50.ppd.gz 配置的。
# lpstat -l -p paper
printer paper is idle. enabled since Tue 30 Mar 2004 01:48:38 PM PST
available.
Form mounted:
Content types: any
Printer types: unknown
Description:
Connection: direct
Interface: /usr/lib/lp/model/standard_foomatic
PPD:
/path/Mitsubishi-CP50_Color_Printer-cp50.ppd.gz
After fault: continue
Users allowed:
(all)
Forms allowed:
(none)
Banner required
Character sets:
示例4–3
管理打印机和打印调度程序
第4 章• 管理打印机(任务) 83
(none)
Default pitch:
Default page size:
Default port settings# lpstat l p
停止和重新启动打印调度程序
打印调度程序lpsched 处理打印服务器上的打印请求。但是,打印调度程序有时可能会在系
统上停止运行,从而停止接受或打印打印请求。
将本地打印机添加到系统时,lpadmin 命令自动启用lpsched 服务;删除最后一台本地打印
机时,该命令将禁用此服务。以下过程描述如何停止和重新启动打印调度程序。如果打印
调度程序停止运行时正在对打印请求进行打印,则重新启动打印调度程序时将完整打印该
打印请求。
如何停止打印调度程序
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
确定打印调度程序是否正在运行。
# svcs application/print/server
您还可以使用lpstat -r 命令确定打印调度程序是否正在运行。
如果打印调度程序未运行,则显示消息scheduler is not running。
如果打印调度程序正在运行,请将其停止。
# svcadm disable application/print/server
您还可以使用lpshut 命令停止打印调度程序。
如何重新启动打印调度程序
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
确定打印调度程序是否正在运行。
# svcs application/print/server
您还可以使用lpstat -r 命令确定打印调度程序是否正在运行。
1
2
3
1
2
管理打印机和打印调度程序
84 系统管理指南:高级管理• 2006 年7 月
如果打印调度程序未运行,则显示消息scheduler is not running。
如果打印调度程序未运行,请将其启动。
# svcadm enable application/print/server
您还可以使用/usr/lib/lpsched 命令启动打印调度程序。有关使用/usr/lib/lpsched 命令
启动打印调度程序与使用svcadm enable application/print server 命令启动打印调度程序
之间的差异的详细信息,请参见第85 页中的“使用选项启动打印调度程序”。
使用选项启动打印调度程序
借助Solaris 管理工具(Solaris Management Facility, SMF) 将选项传递给打印调度程序有两种方
法:
修改仅用于调用期间的选项值。
当您仅希望在调用期间将选项传递给打印调度程序时,请将/usr/lib/lpsched 命令与相
应选项一起使用。在设置选项之前,请参见lpsched(1M) 手册页,以了解有关这些缺省
值和对其进行更改的原因的详细信息。
在系统重新引导过程中或者重新启动打印调度程序时维护选项值。
打印服务器的SMF 清单包含打印服务器启动脚本所用的属性。这些属性值传递给打印调
度程序,并用来表示通过使用svccfg 命令设置的选项。这些属性如下所示:
lpsched/num_filters
lpsched/num_notifiers
lpsched/fd_limit
lpsched/reserved_fds
未使用svccfg 命令设置的任何选项都将使用打印调度程序中的缺省值。有关使用svccfg
命令的更多信息,请参见svccfg(1M) 手册页。
如何设置仅用于调用期间的打印选项值
成为超级用户lp 或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的详细信息,请参见“Configuring RBAC
(Task Map)” in 《System Administration Guide: Security Services》。
设置选项值。
# /usr/lib/lpsched option value
-f num_filters 指定可以在打印服务器上运行的并发慢速过滤器数。
-n num_notifiers 指定可以在打印服务器上运行的并发通知进程数。
-p fd_limit 指定lpsched 进程的文件描述符资源限制。
3
1
2
管理打印机和打印调度程序
第4 章• 管理打印机(任务) 85
-r reserved_fds 指定调度程序为重负载下的内部通信保留的文件描述符数。
设置仅用于调用期间的选项值
此示例说明如何将过滤器数设置为2。其余选项将使用打印调度程序中的缺省值。
# /usr/lib/lpsched -f 2
要使用打印调度程序中的缺省选项,请运行不带任何选项的/usr/lib/lpsched 命令。
请注意,使用/usr/lib/lpsched 命令启动打印调度程序时,不会使用通过svccfg 命令设置
的值。
如何设置在系统重新引导过程中保留的选项值
成为超级用户lp 或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《System
Administration Guide: Security Services》中的“Configuring RBAC (Task Map)”。
设置一个或所有选项。
# svccfg
svc:> select svc:/application/print/server
svc:/application/print/server> setprop property = value
.
.
.
svc:/application/print/server> quit
对于要设置的每个选项,请在单独的行上重复setprop property = value 命令。
通过显示打印服务器属性的当前值,验证是否已正确设置了选项。
# svcprop svc:/application/print/server
重新启动打印调度程序。
如果打印调度程序未运行,请使用以下命令:
示例4–4
1
2
3
4
管理打印机和打印调度程序
86 系统管理指南:高级管理• 2006 年7 月
# svcadm refresh svc:/application/print/server
# svcadm enable svc:/application/print/server
如果打印调度程序正在运行,请使用以下命令:
# svcadm refresh svc:/application/print/server
# svcadm restart svc:/application/print/server
要确定打印调度程序是否正在运行,请运行svcs application/print/server 命令。
设置在系统重新引导过程中保留的选项值
此示例说明如何将过滤器数设置为1。在系统重新引导过程中或者重新启动打印调度程序
时,此选项将保留其设置。
# svccfg
svc:> select svc:/application/print/server
svc:/application/print/server> setprop lpsched/num_filters = count: 1
svc:/application/print/server> quit
此示例说明如何设置所有选项。
# svccfg
svc:> select svc:/application/print/server
svc:/application/print/server> setprop lpsched/num_filters = count: 1
svc:/application/print/server> setprop lpsched/num_notifiers = count: 1
svc:/application/print/server> setprop lpsched/fd_limit = count: 4096
svc:/application/print/server> setprop lpsched/reserved_fds = count: 2
svc:/application/print/server> quit
以下是设置所有选项的样例脚本。
#!/bin/ksh
svccfg <<-EOF
示例4–5
管理打印机和打印调度程序
第4 章• 管理打印机(任务) 87
select svc:/application/print/server
setprop lpsched/num_filters = count: 1
setprop lpsched/num_notifiers = count: 1
setprop lpsched/fd_limit = count: 4096
setprop lpsched/reserved_fds = count: 2
EOF
使用RFC-1179 协议侦听器层叠打印请求
RFC-1179 协议侦听器(in.lpd) 用FMRI svc:/application/print/rfc1179 表示。缺省情况
下,此FMRI 依赖于打印调度程序服务svc:/application/print/server,并仅在主机运行
打印调度程序服务时运行。
通常,当打印调度程序未运行时,不需要RFC-1179 协议侦听器。但是,如果主机用于层叠
打印请求,则应该取消对打印调度程序服务的依赖性,如以下示例所示。请注意,您必须
成为超级用户或承担等效角色,才能取消对打印调度程序服务的依赖性。
# cat <> select application/print/rfc1179
> delpg lpsched
> end
> EOF
取消了依赖性后,请运行以下命令以使更改立即生效:
# svcadm refresh application/print/rfc1179
管理打印机和打印调度程序
88 系统管理指南:高级管理• 2006 年7 月
如何启用LP 打印服务
inetd 守护进程是LP 打印服务的SMF 重新启动程序进程。此守护进程通常在引导时启动。
inetd 守护进程侦听对当前启用的网络服务的请求。svc:/network/lp:default 服务处理来
自网络的传入打印请求。此过程描述如何启用或禁用此服务。对服务状态所做的更改不会
因系统重新引导而失效。
检查LP 打印服务的状态。
$ inetadm | grep lp
disabled disabled svc:/network/lpdefault
启用LP 打印服务。
$ inetadm -e svc:/network/lp:default
检查服务是否已启用。
$ inetadm | grep lp
enabled online svc:/network/lp:default
设置或重置杂项打印机定义(任务图)
任务说明参考
添加打印机描述。使用带有-p 选项的lp 命令添加
打印机描述。
第90 页中的“如何添加打印机
描述”
设置系统的缺省打印机。您可以为用户指定缺省打印机目
标,以便用户无需键入打印机
名。
第91 页中的“如何设置系统的
缺省打印机目标”
使标题页成为可选。您可以使用户选择在提交打印请
求时关闭标题页的打印。
第93 页中的“如何使标题页成
为可选”
关闭标题页。通过设置打印机的-o
banner=never 变量,您可以在所
有情况下关闭标题页。
第93 页中的“如何关闭标题页
”
定义一类打印机。您可以通过使用lpadmin -c 命令
将打印机归为一类。
可以将打印机归为以下类:
打印机类型
位置
工作组
第95 页中的“如何定义一类打
印机”
1
2
3
设置或重置杂项打印机定义(任务图)
第4 章• 管理打印机(任务) 89
任务说明参考
设置打印机的故障警报。如果选择此任务,则打印服务可
以在检测到打印机故障时通知
您。将-A 选项与lpadmin 命令一
起使用,以设置打印机的故障警
报。
第96 页中的“如何设置打印机
的故障警报”
设置打印机的故障恢复。您可以选择不接收任何故障通
知。您可以找出有关打印故障的
原因,以便可以更正问题。将
-F 选项与lpadmin 命令一起使
用,以定义故障恢复选项。
第98 页中的“如何设置打印机
故障恢复”
限制用户对打印机的访问。在打印服务器上创建允许列表和
拒绝列表,以控制用户对打印机
的访问
第100 页中的“如何限制用户对
打印机的访问”
设置或重置杂项打印机定义
以下过程提供了有关设置或重置打印机定义的逐步说明。以下一些打印机定义可以通过使
用Solaris Print Manager 进行设置。以下过程说明如何使用LP 打印服务命令快速设置或重置
打印机定义。
如何添加打印机描述
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
添加打印机描述。
# lpadmin -p printer-name -D "comment"
-p printer-name 指定要为其添加描述的打印机的名称。
-D "comment" 指定打印机的特征,如位置或管理联系人。将shell 可能解释的字符(如
*、?、\、!、^)用单引号引起来。
有关更多信息,请参见lpadmin(1M) 手册页。
将打印机描述添加到打印服务器的/etc/lp/printers/printer-name/comment 文件中。
验证Description 信息是否正确。
# lpstat -p printer-name -l
1
2
3
设置或重置杂项打印机定义
90 系统管理指南:高级管理• 2006 年7 月
添加打印机描述
以下示例说明如何为打印机luna 添加打印机描述。
# lpadmin -p luna -D "Nathans office"
设置缺省打印机目标
您可以为用户指定缺省打印机目标,以便用户在使用打印命令时无需键入打印机名。在将
一台打印机指定为缺省打印机之前,系统上的打印服务必须可识别该打印机。您可以通过
设置以下任一项来设置用户的缺省打印机目标:
LPDEST 环境变量
PRINTER 环境变量
用户的.PRINTERS 文件中的_default 变量
系统的缺省打印机(通过使用lpadmin -d 命令或Solaris Print Manager)
当应用程序提供打印机目标时,打印服务将使用该目标,而不管您是否设置了系统的缺省
打印机目标。如果应用程序未提供打印机目标,或者您在使用打印命令时未提供打印机
名,则打印命令将按特定顺序搜索缺省打印机。下表显示系统缺省打印机目标的搜索顺
序。
表4–1缺省打印机目标的搜索顺序
搜索顺序使用/usr/bin/lp 命令
使用基于lpd 的兼容性命令(lpr、lpq 和
lprm)
第一LPDEST 变量PRINTER 变量
第二PRINTER 变量LPDEST 变量
第三系统的缺省打印机系统的缺省打印机
如何设置系统的缺省打印机目标
以超级用户身份lp 登录,或者承担要设置缺省打印机的系统上的等效角色。
设置系统的缺省打印机。
# lpadmin -d [printer-name]
-d printer-name 指定要用作系统缺省打印机的打印机名称。如果您不指定printer-name,则
系统将设置为没有缺省打印机。
缺省打印机名是在系统的/etc/lp/default 文件中指定的。
示例4–6
1
2
设置或重置杂项打印机定义
第4 章• 管理打印机(任务) 91
检查系统的缺省打印机。
# lpstat -d
设置系统的缺省打印机目标
以下示例说明如何将打印机luna 设置为系统的缺省打印机。如果未设置LPDEST 或PRINTER
环境变量,则将打印机luna 用作系统的缺省打印机。
# lpadmin -d luna
# lpstat -d
system default destination: luna
打印标题页
标题页标识打印请求的提交者、打印请求ID 和打印请求的时间。标题页还具有可修改的标
题,以帮助用户标识其打印输出。
标题页有助于标识打印作业的属主,这在许多用户向同一打印机提交作业时尤其有用。但
是,打印标题页会使用更多的纸张,在打印机仅有几个用户时可能是不必要的。在某些情
况下,不需要打印标题页。例如,如果打印机中装有特殊纸张或表单(如工资表),则打
印标题页可能会导致问题。
缺省情况下,打印服务会强制打印标题页。但是,您可以使用户选择在提交打印请求时关
闭标题页的打印。您可以通过lpadmin 命令或Solaris Print Manager 设置此选择。如果您为用
户提供了选择,则他们必须使用-o banner 选项关闭标题页的打印。
此外,如果您不需要标题页,则可以关闭标题页以便从不打印它们。您可以通过使用
lpadmin 命令或通过Solaris Print Manager 关闭标题页的打印。
表4–2标题页打印
所用命令标题页打印是否覆盖?
lpadmin -p printer -o banner 或
lpadmin -p printer
-o banner=always
必需且打印如果您是常规用户并使用p -o
nobanner,则打印请求。但是,
忽略nobanner 参数。
如果您是超级用户(root) 或其他
特权用户,则不忽略nobanner
参数。
lpadmin -p printer -o nobanner
lpadmin -p printer
-o banner=optional
缺省情况下启用,但是可以使用
lp -o nobanner 命令基于每个请
求进行禁用
不适用。
3
示例4–7
设置或重置杂项打印机定义
92 系统管理指南:高级管理• 2006 年7 月
表4–2 标题页打印(续)
所用命令标题页打印是否覆盖?
lpadmin -p printer
-o banner=never
禁用否。
有关命令行的逐步说明,请参见第93 页中的“如何关闭标题页”和第93 页中的“如何
使标题页成为可选”。
如何使标题页成为可选
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
使标题页成为可选。
# lpadmin -p printer-name -o banner=optional
-p printer-name 指定要使其标题页成为可选的打印机的名称。
-o banner=optional 使用户可以在提交打印请求时不指定标题页。
如果要对每个打印请求强制打印标题页,请指定-o banner=always 选项。标题页设置是在
打印服务器的/etc/lp/printers/printer-name/configuration 文件中指定的。
验证标题页是否可选。命令输出包含Banner not required 一行。
# lpstat -p printer-name -l
使标题页成为可选
以下示例说明如何在打印机luna 上使标题页成为可选。
# lpadmin -p luna -o banner=optional
如何关闭标题页
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
关闭标题打印。
# lpadmin -p printer-name -o banner=never
-p printer-name 指定要关闭其标题页的打印机的名称。
-o banner=never 在所有情况下禁用标题页打印。
1
2
3
示例4–8
1
2
设置或重置杂项打印机定义
第4 章• 管理打印机(任务) 93
标题页设置是在打印服务器的/etc/lp/printers/printer-name/configuration 文件中指定
的。
验证标题打印是否已关闭。
# lpstat -p printer-name -l
命令输出包含Banner not printed 一行。
向打印机提交打印请求以确保不打印标题页。
关闭标题页的打印
以下示例说明如何在打印机luna 上禁用标题页的打印。
# lpadmin -p luna -o banner=never
设置打印机类
通过LP 打印服务,您可以将在本地连接的若干打印机归为一类。您只能通过使用lpadmin
-c 命令执行此任务。
设置打印机类后,用户可以将该类而不是单台打印机指定为打印请求的目标。此时会使用
该类中可用于打印的第一台打印机。这样,就可充分地利用各台打印机,从而更快地完成
打印过程。
打印服务不能识别任何缺省打印机类。打印机类仅在对其进行定义后才存在。下面是定义
打印机类的一些方法:
按打印机类型-例如,PostScript 打印机。
按位置-例如,位于5 楼的打印机。
按工作组或部门-例如,会计部。
或者,一个类可能包含按特定顺序使用的若干台打印机。LP 打印服务始终按打印机添加到
类的顺序来检查是否存在可用的打印机。因此,如果要首先访问高速打印机,请先向类中
添加高速打印机,然后再添加低速打印机。因此,高速打印机可处理尽可能多的打印请
求。在使用高速打印机时,低速打印机保留为备用打印机。
注– 仅在本地打印机类中的打印机之间才能平衡打印请求。
类名类似于打印机名,必须是唯一的,并且最多可以包含14 个字母数字字符和下划线。
并非必须定义打印机类。仅当您确定使用打印机类对网络上的用户有益时,才应该添加它
们。
3
4
示例4–9
设置或重置杂项打印机定义
94 系统管理指南:高级管理• 2006 年7 月
如何定义一类打印机
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
定义一类打印机。
# lpadmin -p printer-name -c printer-class
-p printer-name 指定要添加到一类打印机中的打印机的名称。
-c printer-class 指定一类打印机的名称。
将指定的打印机添加到打印机服务器的/etc/lp/classes/printer-class 文件中类列表的结
尾。如果打印机类不存在,则创建该类。
验证打印机是否属于某个打印机类。
# lpstat -c printer-class
定义一类打印机
以下示例说明如何在打印机类roughdrafts 中添加打印机luna。
# lpadmin -p luna -c roughdrafts
设置打印机故障警报
如果选择此任务,则LP 打印服务可以在检测到打印机故障时通知您。通过lpadmin -A 命令
或Solaris Print Manager,您可以选择以下任一方法来接收打印机故障通知:
向root 登录的终端发送消息
向root 发送电子邮件
不发送任何通知
但是,lpadmin -A 命令为您提供了接收所选程序指定的消息的其他选项。通过lpadmin -A 命
令,您还可以有选择地关闭已知错误的通知。
除非指定一个程序传送故障通知,否则故障警报的内容是预定义的消息,该消息指明打印
机已停止打印并需要进行修理。
下表列出了可以使用lpadmin -A 命令为打印机设置的警报值。也可以为打印轮、字体盒和
表单设置这些警报值。
1
2
3
示例4–10
设置或重置杂项打印机定义
第4 章• 管理打印机(任务) 95
表4–3打印机故障警报值
-A alert 的值说明
’mail [username]’ 通过电子邮件将警报消息发送到打印服务器上的root 或lp,
或者发送到指定的username(它是用户的名称)。
’write [user-name]’ 将警报消息发送到打印服务器上的root 或lp 控制台窗口,或
者发送到指定username(它是用户的名称)的控制台窗口。指
定的用户必须登录到打印服务器才能获取警报消息。
’command’ 运行每个警报的指定command 文件。在执行该文件时,保存并
恢复环境变量和当前目录。
quiet 在修复故障之前停止警报。当您、root 或指定用户收到重复警
报时使用该值。
none 不发送任何警报。如果您不指定打印机的故障警报,则该值为
缺省值。
如何设置打印机的故障警报
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
设置打印机的故障警报。
# lpadmin -p printer-name -A alert [-W minutes]
-p printer-name 指定要为其指定打印机故障警报的打印机名称。
-A alert 指定在打印机发生故障时出现的警报类型。有关alert 的有效值的详细信
息,请参见表4–3。一些有效值是mail、write 和quiet。
-W minutes 指定出现故障警报的间隔时间(分钟)。如果不指定此选项,则发送警
报一次。
故障警报设置是在打印服务器的/etc/lp/printers/printer-name/alert.sh 文件中指定的。
验证是否已正确发送故障警报。
# lpstat -p printer-name -l
设置打印机的故障警报
以下示例说明如何设置打印机mars,以将故障警报通过电子邮件发送到名为joe 的用户。
每隔5 分钟发送一次提醒。
# lpadmin -p mars -A ’mail joe’ -W 5
1
2
3
示例4–11
设置或重置杂项打印机定义
96 系统管理指南:高级管理• 2006 年7 月
以下示例说明如何设置打印机venus,以将故障警报发送到控制台窗口。每隔10 分钟发送
一次提醒。
# lpadmin -p venus -A write -W 10
以下示例说明如何停止打印机mercury 的故障警报。
# lpadmin -p mercury -A none
以下示例说明如何在修复打印机venus 故障之前停止故障警报。
# lpadmin -p venus -A quiet
设置打印机故障恢复
如果您选择不发送任何故障通知,仍可以找出有关打印机故障的原因并更正问题。LP 打印
服务不会继续使用有故障的打印机。除打印机故障警报外,您还可以在打印请求需要时,
提供指示装载打印轮、字体盒和表单的警报。
您只能使用lpadmin -F 命令来定义打印机的故障恢复选项。此任务在Solaris Print Manager
中不可用。
打印机故障可能很简单,如纸张不足或者需要更换碳粉盒等。其他更严重的问题可能包括
打印机整体故障或电源故障。修复打印机故障后,在出现故障时处于活动状态的打印请求
将采用以下三种方式之一开始打印:
从头开始打印
从打印停止时所在页的顶部继续打印
启用打印机后,从打印停止时所在页的顶部继续打印
LP 打印服务需要有单独的打印过滤器,才能从打印停止时所在页的顶部继续打印。此打印
过滤器记录由缺省打印过滤器设置的控制序列。打印机使用这些控制序列跟踪页边界。如
果使用指定的打印过滤器无法进行恢复,则LP 打印服务将通知您。有关编写过滤器的信
息,请参见第157 页中的“如何创建新的打印过滤器”。
如果您希望在修复打印机故障之后立即恢复打印,请通过使用enable 命令启用打印机。
下表列出了可以通过使用lpadmin -F 命令为打印机设置的故障恢复值。
表4–4打印机故障恢复值
-F recover-options 的值说明
beginning 在故障恢复之后,从文件开头重新开始打印。
continue 在故障恢复之后,从打印停止时所在页的顶部开始打印。此恢
复选项需要打印过滤器。
设置或重置杂项打印机定义
第4 章• 管理打印机(任务) 97
表4–4 打印机故障恢复值(续)
-F recover-options 的值说明
wait 在故障恢复之后,打印停止,直到您启用打印机。在通过使用
enable 命令启用打印机之后,从打印停止时所在页的顶部开始
打印。此恢复选项需要打印过滤器。
如何设置打印机故障恢复
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
设置打印机的故障恢复。
# lpadmin -p printer-name -F recovery-options
-p printer-name 指定要为其指定故障恢复的打印机的名称。
-F recovery-options 指定以下三个有效恢复选项之一:beginning、continue 或wait。
有关recovery-options 的有效值的详细信息,请参见表4–4。
有关更多信息,请参见lpadmin(1M) 手册页。
故障恢复设置是在打印服务器的/etc/lp/printers/ printer-name/configuration 文件中指
定的。
验证是否正确设置了打印机故障恢复。
# lpstat -p printer-name -l
设置打印机故障恢复
以下示例说明如何设置打印机luna,以从打印停止时所在页的顶部继续打印。
# lpadmin -p luna -F continue
限制用户对打印机的访问
您可以控制哪些用户可以访问某些打印机或所有可用打印机。例如,您可以禁止一些用户
在高品质打印机上打印,以便最大限度地减少开支。要限制用户对打印机的访问,可以通
过在打印服务器上使用lpadmin -u 命令创建allow 和deny 列表。通过Solaris Print Manager
仅能创建allow 列表。如果不创建上述任一列表,则打印机对所有可对其进行访问的用户均
可用。
allow 列表包含允许访问指定打印机的用户的名称。deny 列表包含被拒绝访问指定打印机的
用户的名称。
1
2
3
示例4–12
设置或重置杂项打印机定义
98 系统管理指南:高级管理• 2006 年7 月
allow 和deny 列表的规则在下表中进行了说明:
允许列表和拒绝列表的规则用户结果
不创建allow 和deny 列表。或者,如果将这两个
列表保留为空。
所有用户均可以访问打印机。
在allow 列表中指定all。所有用户均可以访问打印机。
在deny 列表中指定all 除了服务器上的root 和lp 用户之外,拒绝所有用
户访问打印机。
在allow 列表中建立任何项。忽略deny 列表。仅有列出的用户才能访问打印
机。
创建拒绝列表,但是不创建allow 列表或者将
allow 列表保留为空。
拒绝deny 列表中列出的用户访问打印机。
由于打印服务器负责控制对打印机的访问,因此只能在打印服务器上创建allow 和deny 列
表。如果创建allow 和deny 列表,则打印服务器将以排它方式控制用户对打印机的访问。
下表列出了可以添加到allow 列表或deny 列表以限制用户对打印机的访问的值。
表4–5允许列表和拒绝列表的值
user-list 的值说明
user 任何系统上的User
all 所有系统上的全部用户
none 不包括任何系统上的用户
system!user 仅system 上的User
!user 仅本地系统上的User
all!user 任何系统上的User
all!all 所有系统上的全部用户
system!all system 上的所有用户
!all 本地系统上的所有用户
设置或重置杂项打印机定义
第4 章• 管理打印机(任务) 99
如何限制用户对打印机的访问
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
允许或拒绝用户对打印机的访问。
# lpadmin -p printer-name -u allow:user-list [deny:user-list]
-p printer-name 指定对其应用allow 或deny 访问列表的打印机的名称。
-u allow:user-list 指定要添加到allow 访问列表的用户名。您可以使用此命令指定多个
用户名。使用空格或逗号来分隔名称。如果使用空格,请用引号将名
称列表引起来。
表4–5 提供了user-list 的有效值。
-u deny:user-list 指定要添加到拒绝用户访问列表的用户名。您可以使用此命令指定多
个用户名。使用空格或逗号来分隔名称。如果使用空格,请用引号将
名称列表引起来。
表4–5 提供了user-list 的有效值。
指定的用户将会添加到打印服务器上以下某个文件中打印机的allow 或deny 列表中:
/etc/lp/printers/printer-name/users.allow
/etc/lp/printers/printer-name/users.deny
注– 如果将none 指定为allow 列表中user-list 的值,则在打印服务器上不会创建以下文件:
/etc/lp/printers/printer-name/alert.sh
/etc/lp/printers/printer-name/alert.var
/etc/lp/printers/printer-name/users.allow
/etc/lp/printers/printer-name/users.deny
验证以下命令输出中Users allowed 或Users denied 标题下的信息是否正确:
# lpstat -p printer-name -l
限制用户对打印机的访问
以下示例说明如何仅允许用户nathan 和george 访问打印机luna。
# lpadmin -p luna -u allow:nathan,george
以下示例说明如何拒绝用户nathan 和george 访问打印机asteroid。
1
2
3
示例4–13
设置或重置杂项打印机定义
100 系统管理指南:高级管理• 2006 年7 月
# lpadmin -p asteroid -u deny:"nathan george"
管理打印请求(任务图)
任务说明参考
检查打印请求的状态。使用lpstat 命令检查打印请求
的状态。
第102 页中的“如何检查打印请
求的状态”
启用或禁用打印机。使用enable 和disable 命令可以
控制打印机对打印队列中的请求
进行打印还是停止打印。
第104 页中的“如何启用或禁用
打印机”
接受或拒绝打印机的打印请求。使用accept 和reject 命令可以
打开或关闭存储要打印的请求的
打印队列。
第106 页中的“如何接受或拒绝
打印机的打印请求”
取消打印请求。您可以使用cancel 命令采用以下
三种方式之一取消打印请求:
通过请求标识号(请求ID)
取消请求
取消所有打印机或特定打印
机上特定用户的请求
取消当前打印的作业
第107 页中的“如何取消打印请
求”
取消特定用户的打印请求。您可以使用cancel -u 命令并指
定用户,取消该用户的请求。
第108 页中的“如何取消特定用
户的打印请求”
将打印请求移动到其他打印机。您可以移动或取消当前在打印机
中排队的任何请求。您可以使用
lpmove 命令将单个或所有打印请
求移动到其他本地打印机。
第109 页中的“如何将打印请求
移动到其他打印机”
更改打印请求的优先级。您可以采用以下方式之一更改打
印请求的优先级:
如果打印请求尚未完成打
印,则将其挂起。
将打印请求移动到队列开
头。
更改仍在等待打印的作业的
优先级。
第111 页中的“如何更改打印请
求的优先级”
管理打印请求(任务图)
第4 章• 管理打印机(任务) 101
管理打印请求
当用户从打印客户机提交打印请求时,打印请求将先添加到打印服务器上的队列中,然后
发送到打印机。当打印请求在队列中时,您可以从客户机系统取消该打印请求或获取有关
它的状态信息。您必须登录到打印服务器,才能使用LP 打印服务命令移动、挂起、恢复打
印请求或更改打印请求的优先级。这些操作有助于保持打印服务顺利进行。
下表列出了用于使用lp -H 命令更改打印请求优先级的值。
表4–6用于更改打印请求优先级的值
-H change-priority 的值说明
hold 将打印请求挂起,直到您取消该请求或指示LP 打印服务恢
复打印该请求。
resume 将已挂起的打印请求放回队列。该请求将根据其优先级和
在队列中的位置进行打印。如果挂起已经在打印的打印作
业,则resume 会将打印请求放在队列开头,以便它成为打
印的下一个请求。
immediate 将打印请求放在队列开头。如果请求已经在打印,则您可
以挂起该请求,以允许立即打印下一个请求。
如何检查打印请求的状态
登录到网络上的任何系统。
检查打印机和打印请求的状态。
此处仅显示最常用的选项。有关其他有效选项,请参见lpstat(1) 手册页。
$ lpstat -o [list] | -u [user-list]
-o list 显示特定打印机上打印请求的状态。list 可以是一个或多个打印机名、打印机
类名或打印请求ID。
要为list 指定多个打印机名、类名和ID,请使用空格或逗号分隔各值。如果
使用空格,请用引号将值列表引起来。
如果不指定list,则将显示发送到所有打印机的打印请求的状态。
-u user-list 显示特定用户的打印请求的状态。user-list 可以是一个或多个用户名。
要使用此命令指定多个用户,请使用空格或逗号分隔用户名。如果使用空
格,请用引号将名称列表引起来。
如果不指定user-list,则将显示所有用户的打印请求的状态。
1
2
管理打印请求
102 系统管理指南:高级管理• 2006 年7 月
当用于检查打印请求的状态时,lpstat 命令为每个打印请求显示一行。该行从左至右显示
以下信息。
请求ID
用户
输出大小(字节)
请求的日期和时间,
有关请求的信息,如“正在过滤”。
检查打印请求的状态
以下示例说明用户fred 具有一个在打印机luna 上排队的打印请求。
$ lpstat
luna-1 fred 1261 Jul 12 17:34
以下示例说明用户paul 当前在队列中没有打印请求。
$ lpstat -u paul
以下示例说明两个打印请求在打印机moon 上排队。
$ lpstat -o moon
moon-78 root 1024 Jul 14 09:07
moon-79 root 1024 Jul 14 09:08
启用或禁用打印机的打印操作
enable 和disable 命令控制打印机是打印还是停止打印队列中的请求。当您禁用打印机
时,打印机将停止打印队列中的请求。但是,请求仍被添加到队列中。若不希望将请求添
加到队列中,则必须将打印机设置为拒绝打印请求。有关拒绝打印请求的信息,请参见第105
页中的“接受或拒绝打印请求”。
使用Solaris Print Manager 添加打印机后,将启用该打印机以执行打印任务并接受打印请
求。Solaris Print Manager 不提供任何其他有关打印机处理的管理功能。
只要打印机被禁用(打印机出现故障时可能会出现此情况),您就必须启用打印机。启用
打印机时,它将打印来自打印队列的请求,直到队列为空,即使打印服务拒绝打印队列中
的其他请求时也是如此。
下图显示在禁用打印机时中断处理打印请求的时刻。
示例4–14
管理打印请求
第4 章• 管理打印机(任务) 103
图4–1启用或禁用打印机时发生的情况
如何启用或禁用打印机
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
停止打印请求的打印。
# disable [-c | -W] [-r "reason"] printer-name
disable 取消当前作业,然后禁用打印机。保存当前作业,以便在启用打印机时重
新打印。
-c 取消当前作业,然后禁用打印机。将来不打印当前作业。
-W 在禁用打印机之前一直等待,直到完成当前作业。
-r "reason" 为用户提供禁用打印机的原因。只要用户通过使用lpstat -p 命令检查打印
机的状态,就会存储并显示原因。
printer-name 指定将停止打印请求的打印的打印机的名称。
注– 您不能启用或禁用打印机类。只能启用或禁用单台打印机。
开始打印打印请求。
# enable printer-name
验证是否已启用打印机。
# lpstat -p printer-name
启用或禁用打印机
以下示例说明如何停止打印机luna 上的当前作业、保存该作业以便将来打印,以及提供打
印机停止打印请求的打印的原因。
1
2
3
4
示例4–15
管理打印请求
104 系统管理指南:高级管理• 2006 年7 月
# disable -r "changing the form" luna
以下示例说明如何在打印机luna 上开始打印打印请求。
# enable luna
printer "luna" enabled
接受或拒绝打印请求
通过accept 和reject 命令,可以打开或关闭存储要打印的请求的打印队列。
使用reject 命令时,将关闭指定打印机的打印队列。新的打印请求无法进入打印服务器上
的队列。但是,仍将打印队列中的所有打印请求。如果您希望打印机停止打印队列中已有
的请求,则必须禁用该打印机。下表对accept、reject、enable 和disable 命令的功能进行
了比较。
表4–7 accept、reject、enable 和disable 打印命令的功能
命令功能
accept 接受发送到打印队列的打印请求。
disable 停止打印打印队列中当前的请求。
enable 打印打印队列中的请求。
reject 拒绝发送到打印队列的打印请求。
如果打印请求被拒绝,LP 打印服务将为提交请求的用户写入或发送一条消息。该消息指明
指定的打印机不接受打印请求。
您还可以通过命令行指定不接受请求的原因。当用户尝试检查打印机队列时,将在用户的
系统上显示原因。下图显示打印队列拒绝打印请求时中断处理打印请求的时刻。
管理打印请求
第4 章• 管理打印机(任务) 105
图4–2打印队列接受或拒绝请求时发生的情况
如何接受或拒绝打印机的打印请求
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
停止接受打印机的打印请求。
# reject [-r "reason"] printer-name
-r "reason" 为用户提供打印机拒绝打印请求的原因。只要用户通过使用lpstat -p 命令
检查打印机的状态,就会存储并显示原因。
printer-name 指定将停止接受打印请求的打印机的名称。
只要启用打印机,就会继续打印已排队的请求。有关禁用打印机以便它停止打印的说明,
请参见第104 页中的“如何启用或禁用打印机”。
开始接受打印机的打印请求。
# accept printer-name
检查打印机的状态,查看它是接受还是拒绝打印请求。
$ lpstat -p printer-name
接受或拒绝打印机的打印请求
以下示例说明如何阻止打印机luna 接受打印请求。
# reject -r "luna is down for repairs" luna
destination "luna" will no longer accept requests
以下示例说明如何将打印机luna 设置为接受打印请求。
1
2
3
4
示例4–16
管理打印请求
106 系统管理指南:高级管理• 2006 年7 月
# accept luna
destination "luna" now accepting requests
取消打印请求
您可以使用cancel 命令取消打印机队列中的打印请求或者取消正在打印的作业。有三种方
法可使用cancel 命令。
通过请求标识号(请求ID)取消请求
取消所有打印机或特定打印机上特定用户的请求
取消当前打印的作业
使用cancel 命令时将显示一条消息,指明已取消一个或多个请求,并将打印队列中的下一
个请求。仅在以下情况下,您才能取消打印请求。
您是提交请求的用户,并且已登录到通过其提交请求的系统。
您是在任何客户机系统上提交请求的用户,而且打印服务器在其/etc/printers.conf 文
件中为打印机配置了"user-equivalence" 选项。
您已经以超级用户身份lp 登录,或承担打印服务器上的等效角色。
要取消特定请求,您需要知道其请求ID。请求ID 包含打印机的名称、一个短划线和打印机
请求的编号。例如luna-185。
当您提交打印请求时,将显示请求ID。如果您忘记了打印请求ID,则可以通过将lpstat 命
令与-o printer 选项一起使用来查找它。
如何取消打印请求
如果要取消其他用户的打印请求,请成为超级用户lp 或者承担等效角色。
确定要取消的打印请求的请求ID。
# lpstat
有关更多详细信息,请参见第102 页中的“如何检查打印请求的状态”。
取消打印请求。
# cancel request-id | printer-name
request-id 指定要取消的打印请求的请求ID。您可以使用此命令指定多个请求ID。使
用空格或逗号来分隔请求ID。如果使用空格,请用引号将请求ID 的列表
引起来。
printer-name 指定要为其取消当前打印的打印请求的打印机。
1
2
3
管理打印请求
第4 章• 管理打印机(任务) 107
您可以使用此命令指定多个打印机名。使用空格或逗号来分隔打印机名。
如果您使用空格,请用引号将打印机名列表引起来。
验证是否已取消打印请求。
$ lpstat -o printer-name
取消打印请求
以下示例说明如何取消luna-3 和luna-4 打印请求。
$ cancel luna-3 luna-4
request "luna-3" cancelled
request "luna-4" cancelled
以下示例说明如何取消打印机luna 上当前打印的打印请求。
# cancel luna
request "luna-9" cancelled
如何取消特定用户的打印请求
(可选)如果要取消其他用户的打印请求,请成为超级用户lp 或者承担等效角色。
取消特定用户的打印请求。
$ cancel -u user-list [printer-name]
-u user-list 取消指定用户的打印请求。
user-list 可以是一个或多个用户名。使用空格或逗号来分隔用户名。如果使用
空格,请用引号将名称列表引起来
printer-name 指定要为其取消指定用户的打印请求的打印机。
printer-name 可以是一个或多个打印机名。使用空格或逗号来分隔打印机名。
如果您使用空格,请用引号将打印机名列表引起来。
如果不指定printer-name,则在所有打印机上都将取消该用户的打印请求。
取消特定用户的打印请求
以下示例说明如何在打印机luna 上取消用户george 提交的所有打印请求。
4
示例4–17
1
2
示例4–18
管理打印请求
108 系统管理指南:高级管理• 2006 年7 月
# cancel -u george luna
request "luna-23" cancelled
以下示例说明如何在所有打印机上取消用户george 提交的所有打印请求。
# cancel -u george
request "asteroid-3" cancelled
request "luna-8" cancelled
移动打印请求
如果您计划更改打印机的使用方式,或者决定停用打印机,则应该将LP 打印服务设置为拒
绝其他打印请求。然后,移动或取消当前在打印机中排队的任何请求。您可以使用lpmove
命令将单个或所有打印请求移动到其他本地打印机。
在您移动打印请求时,不会更改请求ID,因此用户仍可以找到其请求。如果新指定的打印
机无法满足打印请求的要求(如特定的文件内容类型或形式),则不能移动这些打印请
求。必须取消这些打印请求。
如何将打印请求移动到其他打印机
要将所有打印请求从一台打印机移动到其他打印机,您无需知道请求ID。但是,在移动打
印请求之前,请首先确定受影响的打印请求的数量。
以超级用户身份lp 登录,或承担打印服务器上的等效角色。
(可选)确定打印请求的请求ID 是否在原始打印机上。
# lpstat -o printer-name1
(可选)检查目标打印机是否正在接受打印请求。
# lpstat -p printer-name2
-p printer-name2 指定要向其移动打印请求的打印机的名称。
将所有打印请求从原始打印机移动到目标打印机。
# lpmove printer-name1 printer-name2
printer-name1 指定将从其中移动所有打印请求的打印机的名称。
printer-name2 指定将向其移动所有打印请求的打印机的名称。
有关更多信息,请参见lpmove(1M) 手册页。
1
2
3
4
管理打印请求
第4 章• 管理打印机(任务) 109
如果一些请求无法在目标打印机上打印,则将这些请求保留在原始打印机的队列中。通过
使用请求ID,您还可以使用lpmove 命令将特定的打印请求移动到其他打印机。
(可选)开始接受原始打印机上的打印请求。
如果您将所有打印请求移动到其他打印机,则lpmove 命令将自动停止接受该打印机的打印
请求。如果要开始接受打印机的新打印请求,则此步骤是必需的。
# accept printer-name1
检查原始打印机队列中是否存在任何剩余的打印请求。
# lpstat -o printer-name1
请确保指定的所有打印请求都已移动到目标打印机的队列中。
# lpstat -o printer-name2
将打印请求移动到其他打印机
以下示例说明如何将打印请求从打印机luna 移动到打印机terra。然后,指示原始打印机
luna 恢复接受打印请求。
# lpmove luna terra
# accept luna
更改打印请求的优先级
在用户提交打印请求后,您可以通过执行以下任一操作,更改它在打印服务器队列中的优
先级:
如果任何打印请求尚未完成打印,请将其挂起。如果正在打印某一请求,则挂起该请求
会将其停止并阻止对其进行打印,直到您继续打印该请求为止。其他打印请求将移动到
挂起的请求之前。
将任何打印请求移动到队列开头,在此它将成为符合打印条件的下一个作业。如果希望
一个作业立即开始打印,则可以通过挂起当前正打印的作业来将其中断。
更改仍等待打印的作业的优先级,或者在队列中移动作业。这样做会将作业移动到优先
级较低的请求之前,优先级相同或较高的其他请求之后。
5
6
示例4–19
管理打印请求
110 系统管理指南:高级管理• 2006 年7 月
如何更改打印请求的优先级
以超级用户身份lp 登录,或承担挂起打印请求的打印服务器上的等效角色。
确定要更改其优先级的打印请求的请求ID。
# lpstat
有关更多信息,请参见第102 页中的“如何检查打印请求的状态”。
更改打印请求的优先级。
# lp -i request-id -H change-priority
-i request-id 指定要更改的打印请求的请求ID。
您可以使用此命令指定多个请求ID。使用空格或逗号来分隔请求ID。
如果使用空格,请用引号将请求ID 的列表引起来。
-H change-priority 指定更改打印请求优先级的三种方法之一: hold、resume、
immediate。
有关change-priority 的有效值的详细信息,请参见表4–6。
您还可以使用lp -q 命令更改指定打印请求的优先级。您可以将优先级从0(最高优先级)
更改为39(最低优先级)。
更改打印请求的优先级
以下示例说明如何将请求ID 为asteroid-79 的打印请求的优先级更改为优先级1。
# lp -i asteroid-79 -q 1
1
2
3
示例4–20
管理打印请求
第4 章• 管理打印机(任务) 111
112
管理字符集、过滤器、表单和字体(任
务)
本章提供设置和管理字符集、打印过滤器、表单和字体的概述信息及逐步说明。
有关与管理字符集、过滤器、表单和字体关联的逐步过程的信息,请参见以下内容:
第113 页中的“管理字符集(任务图)”
第120 页中的“管理打印过滤器(任务图)”
第126 页中的“管理表单(任务图)”
第135 页中的“管理字体(任务图)”
有关打印的更多信息,请参见以下内容:
第1 章
第2 章
第3 章
第4 章
管理字符集(任务图)
任务说明参考
定义打印轮或字体盒。定义可以用于打印机的打印轮或
字体盒。
第118 页中的“如何设置要求挂
载打印轮或字体盒的警报”
卸载或挂载打印轮或字体盒。从打印服务器的配置文件中删除
当前的打印轮或字体盒。将新的
打印轮或字体盒添加到打印服务
器的配置文件。
第117 页中的“如何卸载和挂载
打印轮或字体盒”
设置要求挂载打印轮或字体盒的
警报。
为打印请求设置电子邮件警报。第118 页中的“如何设置要求挂
载打印轮或字体盒的警报”
5第5 章
113
任务说明参考
为可选字符集设置别名。当可选字符集的terminfo 名称
不适当时设置别名。
第119 页中的“如何设置可选字
符集的别名”
管理字符集
打印机用来打印各种字体样式的文本的方法是不同的。例如,PostScript 打印机将文本作为
图形处理。这些打印机可以生成不同字体的文本。它们还可以在页面上的任何位置、按任
何大小或方向放置文本。其他类型的打印机支持的字体样式和大小比较有限。这些打印机
使用打印轮、字体盒或预编程的可选字符集。通常,仅有一种打印方法适用于指定的打印
机类型。
从LP 打印服务的角度来看,打印轮和字体盒是类似的。在这两种情况下,必须进行人为干
预并根据需要在打印机上挂载硬件。要求您以物理方式挂载打印轮或字体盒的字符集称为
硬件字符集。不要求挂载硬件的字符集是打印机附带的,并已预编程。这些字符集可以由
打印请求进行选择。它们称为软件字符集。
设置非PostScript 打印机时,需要通知LP 打印服务可供用户使用的打印轮或可选字符集。
用户提交打印请求时,可通过lp -S 命令指定用于打印作业的打印轮或可选字符集。用户不
必知道要应用哪种类型的字符集。他们只需按您定义的名称引用字体样式即可。例如,可
以将打印轮定义为gothic。要请求gothic 打印轮,用户可以使用以下命令:
% lp -S gothic filename
可选字符集
打印机支持的可选字符集在该打印机的terminfo 项中列出。例如,ln03 打印机的该项是
/usr/share/lib/terminfo/l/ln03。您可以使用tput 命令在terminfo 数据库中找到任何打
印机类型的可选字符集的名称。tput 命令的语法如下:
tput -T printer-type csn
csn 选项是字符集编号的缩写。该编号从0 开始(在初始化打印机之后,缺省的字符集编号
始终为0)。要显示其他字符集的名称,可以用-1、-2、-3 等替换-0 重复执行该命令。对
于每个可选字符集,都将返回terminfo 名称,例如usascii、english、finnish 等。
通常,terminfo 字符集名称应该与在打印机的制造商文档中使用的字符集名称近似匹配。
由于并非所有的生产商都使用相同的字符集名称,因此terminfo 字符集名称可以随打印机
类型的不同而不同。
您不必向LP 打印服务注册可选字符集名称。但是,可以为它们提供更有意义的名称或别
名。
管理字符集
114 系统管理指南:高级管理• 2006 年7 月
注– 如果不指定可用于打印机的可选字符集,则LP 打印服务将假定该打印机可接受任何字
符集名称(如cs0、cs1 或cs2)或打印机可识别的terminfo 名称。
使用lpstat -p -l 命令时,将不列出PostScript 打印机的字符集。PostScript 字体由
PostScript 过滤器而不是terminfo 数据库中的项来控制。有关如何管理PostScript 字体的信
息,请参见第136 页中的“管理字体”。
用户可以使用lpstat -p -l 命令显示您在打印服务器上为每个打印机定义的可选字符集的
名称。
硬件字符集
获取替换字符集的另一种方法是:使用打印机中物理连接或安装的可移除打印轮或字体
盒。
要管理硬件挂载的字符集,请通知LP 打印服务以下信息:
要用于可用打印轮的名称
打印机需要其他打印轮时希望的警告方式
然后,当用户使用lp -S 命令请求特定字符集时,打印调度程序会发送要求挂载打印轮的警
报。此外,还会将打印请求放置在打印队列中。挂载正确的打印轮并通知LP 打印服务已挂
载打印轮之后,将会打印作业。有关更多信息,请参见第117 页中的“如何卸载和挂载打
印轮或字体盒”。
如果没有为打印机指定多个打印轮或字体盒,则LP 打印服务会假定打印机具有单个固定的
打印轮或字体盒。同样,用户在使用该打印机时不能指定特殊的打印轮或字体盒。
与可选字符集不同,用于打印轮或字体盒的名称不与terminfo 数据库中的项关联。打印轮
名称或字体盒名称仅用于与LP 打印服务及其用户进行通信。
但是,为打印轮或字体盒选择的名称对于用户来说应该是有意义的。这些名称应该引用字
体样式。此外,这些名称在具有类似打印轮、字体盒或可选字符集的打印机中应是相同
的。这样,用户就可以指定字体样式(字符集),而不管将使用哪台打印机,或者是否将
使用打印轮、字体盒或可选字符集。
对于打印轮名称或字体盒名称的含义,您和打印机用户应该意见一致。否则,用户要求的
和您挂载的可能不是相同的字符集。
跟踪打印轮
跟踪打印轮的过程与跟踪表单的过程类似。一些打印机(通常为信函质量打印机)具有提
供特定字体或字符集的可移除打印头。可移除打印头包括打印轮和打印盒。用户可以请求
指定的字符集。如果该字符集不可用,则LP 打印服务将向root 通知该请求。在更换打印轮
之前,作业将一直存储在打印队列中。
阅读(656) | 评论(0) | 转发(0) |