注: 此为一个 System V 打印子系统命令。
配置 LP 打印服务。
添加或更改本地打印机的配置
lpadmin -p Printer -v Device [ -D Comment ] [ -A AlertType ] \ [ -W Minutes ] [ -c Class ] [ -e Printer1 ] [ -F FaultRecovery ] [ -f allow:\ FormList | -f denyFormList ] [ -h ] [ -I Content-Type-List ] [ -i Interface ] \ [ -l ] [ -M -f Form-Name [ -o File-break ] ] [ -M -S Print-Wheel ] \ [ -m Model ] [ -O Copy-Options ] [ -o Print-Options ] [ -o nobanner | -o banner ] \ [ -r Class ] [ -S List ] [ -s Server-Name [!ServerPrinterName ] ] [ -T \ Printer-Type-List ] [ -u allow:Login-Id-List | -u deny:Login-Id-List ] ]
添加或更改远程打印机的配置
lpadmin -p Printer -s ServerName [!ServerPrinterName ] -v Device [ -D Comment ] \ [ -A AlertType ] [ -W Minutes ] [ -c Class ] [ -e Printer1 ] [ -F FaultRecovery ] [ \ -f allow:FormList | -f denyFormList ] [ -h ] [ -I Content-Type-List ] [ -i Interface ] [ -l ] \ [ -M -f Form-Name [ -o Filebreak ] ] [ -M -S Print-Wheel ] [ -m Model ] [ -O CopyOptions ] \ [ -o PrintOptions ] [ -o nobanner | -o banner ] [ -r Class ] [ -S List ] [ -T PrinterTypeList ] \ [ -u allow:LoginIdList | -u deny:LoginIdList ] ] [ -v Device ]
删除打印机目的地
lpadmin -x Destination
设置或更改系统缺省目的地
lpadmin -d [ Destination ]
为打印轮设置一个警告
lpadmin -S Print-Wheel -A AlertType [ -W Minutes ] [ -Q Requests ]
lpadmin 命令通过定义打印机和设备来配置 LP 打印服务。它被用于:
打印机和类的名称不能长于正在使用的文件系统类型所允许的文件名最大长度,并且可以由除了空格、斜杠、反斜杠、冒号、分号、逗号、星号、问号和代字符(~)之外的所有可打印字符构成。破折号可以用于任何地方,除了打印机名的首位。
关于网络打印机的额外信息,请参阅 lpsystem 命令。
-p Printer 标志用于配置一台新的打印机或更改现有打印机的配置。当使用 lpadmin 命令的该格式时,必须选择以下之一:
-x dest 标志从 LP 打印服务删除目的地 dest(一台打印机或一个类)。如果 dest 是一台打印机,并且是类的唯一成员,那么该类被删除。如果 dest 是 all,所有的打印机和类都被删除。不允许其它参数与 -x 并用。
-d [ dest ] 标志确定了 dest,一个现有的打印机或类,新的系统缺省目的地。如果没有提供 dest,那么就没有系统缺省目的地。不允许其它参数与 -d 并用。要取消系统缺省打印机设置,用户可以输入关键字 none。
-S Print-Wheel 标志与 -A Alert-Type 标志一起使用,用于定义在有作业排队等待打印轮时安装打印轮的警告。如果没有使用该命令安排对打印轮的警告,就不会为打印轮发送警告。请参阅 -A 标志与 -p 一起时的其它作用。
Alert-Types 同那些可与 -A 标志一起使用的一样:mail、write、quiet、none、shell-command 和 list。请参阅 -A 的描述以获得关于每个的详细信息。
发送的消息显示如下:
需要在打印机上安装打印轮 Print-Wheel: 打印机(integer1 个请求) integer2 个打印请求等待该打印轮。
管理员先前指定的、已列出的打印机是该打印纸的候选打印机。列在每个打印机之后的数字 integer1 是适合该打印机的请求数目。显示在打印机列表之后的数字 integer2 是等待该打印轮的请求总数。如果一些请求可以由多于一台的打印机处理,它将小于其它数字的和。
如果 Print-Wheel 是 all,那么在此命令中定义的警告适用于所有已经定义了有一个警告的打印轮。
如果 -W 标志没有给出,缺省过程是对每个安装该打印轮的需要仅仅发送一个消息。没有指定 -W 标志和指定 -W once 或 -W 0 是一样的。如果 Minutes 是一个大于零的数,在由 minutes 指定的时间间隔发送一个警告。
如果也给出了 -Q 标志,当正在等待的需要该打印轮的打印请求达到确定数目(由参数 requests 指定)的时候发送警告。如果 -Q 标志没有给出,或者 requests 是 1 或单词 any(二者都是缺省值),当某打印轮没有安装的时候,任何人一提交对该打印轮的打印请求就发送一个消息。
注:
-A AlertType [-W minutes ] | -A 标志定义一个警告用于检测到打印故障的时候通知管理员,并且此后周期通知直到管理员清除了打印故障。如果没有为特定的打印机定义警告,缺省情况下将发送邮件到用户 lp。AlertTypes 是:
|
|
|
|
|
|
|
|
|
|
|
发送的消息显示如下:
打印机 Printer 由于以下原因已停止打印。 请修复问题并使打印机重新联机。 打印已停止,但将在数分钟内重新启动; 如果您希望立即重新启动,请发出启动命令。 除非某人发出更改请求 lp -i request-id -P . . . 更改要打印的页列表,否则当前请求将 从头开始重新打印。 其停止原因为(多个原因显示重新打印尝试): 原因 |
|
只有通过一个足够快速的过滤器以及只有使用标准接口程序或者一个适用的定制接口程序的时候,LP 打印服务才能检测打印机故障。而且,故障之后的恢复级别依赖于过滤器的能力。 |
|
如果 Printer 是 all,在该命令中定义的警告适用于所有现有的打印机。 |
|
如果 -W 标志没有用于为 Printer 安排故障警告,缺省过程是对每个故障向 Printer 的管理员发送一个消息邮件。这等同于指定 -W once 或 -W 0。如果 minutes 是一个大于零的数,警告以由 minutes 指定的时间间隔发送。 |
|
-c Class | 插入 Printer 到指定的 Class。如果 Class 还不存在就创建它。 |
-d [ Dest ] | 给定 dest,一个现有的打印机或类,新的系统缺省目的地。 |
-D Comment | 每当用户请求 Printer 的完整描述时保存用于显示的 Comment(请参阅 lpstat)。LP 打印服务不解释该命令。 |
-e Printer1 | 复制现有的 Printer1 的接口程序为 Printer 的接口程序。
注:不要指定 -i,并且 -m 标志不可以与 -e 标志一起指定。 |
-F FaultRecovery | 根据 FaultRecovery 的值,指定用于因打印机故障而停止的任何打印请求的恢复:
FaultRecovery 的缺省值是 beginning。 |
-f allow: FormList | -f deny:FormList | 允许或禁止 FormLlist 中的打印纸在 Printer 上打印。缺省情况下新的打印机上不允许任何打印纸。 |
对每个打印机,LP 打印服务保持有两个打印纸列表:一个可以用于该打印机的打印纸的允许列表和一个不能用于该打印机的打印纸的拒绝列表。使用 -f allow 标志,列出的打印纸被添加到允许列表并从拒绝列表删除。使用 -f deny 标志,列出的打印纸被添加到拒绝列表并从允许列表删除。 |
|
如果允许列表非空,只有在该列表中的打印纸可以用于打印机上而不管拒绝列表的内容。如果允许列表为空,但是拒绝列表非空,那么拒绝列表中的打印纸不能用于打印机。通过指定 -f deny:all 可以从某台打印机排除所有的打印纸。通过指定 -f allow:all 可以使得所有打印纸能用于某台打印机上(假设该打印机可以处理每个打印纸的所有特征)。 |
|
LP 打印服务使用此信息作为确定打印纸安装位置的一组准则。然而管理员不受任何打印机上安装打印纸的限制。如果在特定打印机上安装打印纸不符合允许列表或拒绝列表中的信息,管理员将被警告但安装被接受。尽管如此,但如果用户试图发出一个对打印纸和打印机组合的打印或更改请求,而其与信息不符的话,那么只有当前打印纸安装到打印机上的情况下请求才被接受。如果稍后打印纸在请求能够打印之前卸载,那么将取消请求并用邮件通知用户。 |
|
如果管理员试图在没有打印纸所需能力的打印机上指定可使用该打印纸,那么命令将被拒绝。 |
|
当一个无效的(不存在的)打印纸名称被 -f deny: 标志提交时 lpadmin 命令发出一个警告。 |
|
请参阅 -f 带 -M 标志的其它使用。 |
|
-h | 表示跟打印机关联的设备是硬连线的。如果相互排斥的 -h 和 -l 标志都未指定,该标志就是假定值。 |
-I Content-Type-List | 允许 Printer 处理带有 Content-Type-List 中所列的内容类型的打印请求。如果列表包含多于一种类型的名称,名称必须由逗号或空格分隔。如果它们由空格分隔,整个列表必须包在双引号之内。
类型 simple 被看作是缺省内容类型。一个 simple 类型的文件是一个只包含可打印 ASCII 字符和以下控制字符的数据流。 控制字符 八进制值 含义 backspace 10 向后移一个字符,除行首之外 tab 11 移到下一个制表符停止位 linefeed (newline) 12 移到下一行首 form feed 14 移到下一页首 carriage return 15 移到当前行首 为了防止打印服务将 simple 认为是打印机的有效类型,要么在 content-type-list 中指定一个显式值(例如打印机类型),要么指定一个空列表。如果确实希望 simple 和其它类型一起被包含,必须在 content-type-list 中包含 simple。 除了 simple 以外,每个 content-type 名称由管理员自由确定。如果打印机类型由 -T 选项指定,则打印机类型隐含地也被当作是有效的内容类型。 |
-i Interface | 为 Printer 建立一个新的接口程序。Interface 是新的程序的路径名。不要跟该标志一起指定 -e 和 -m 标志。 |
-l | 表示和 Printer 关联的设备是一个登录终端。LP 调度程序(lpsched)自动在每次启动的时候禁止所有逻辑终端。-h 标志不可以与该标志一起指定。 |
-M -f Form-Name [-a [-o filebreak] ] | 将打印纸 Form-Name 安装到 Printer 上。在 Printer 上打印需要预打印格式纸 Form-Name 的打印请求。如果多于一台的打印机安装了该打印纸并且用户带 lp 命令 -d 标志指定了 any 作为打印机目的地,那么打印请求在一台也能满足该请求的其它需要的打印机上打印。 |
通过检查 terminfo 数据库中关于该类型打印机的能力,将打印纸要求的页面长度和宽度,以及字符和行间距将与打印机所允许的那些进行比较。如果打印纸请求属性对该打印机不可用,管理员将被警告但安装被接受。如果打印纸强制性列出了一个打印轮,但安装该打印机上的打印轮不相同,管理员也将被警告但安装被接受。 |
|
如果给出了 -a 标志,在先于正常打印请求的物理打印机的相同初始化之后,将打印一种对齐模式。设想打印从打印纸的第一页的顶部开始。模式打印之后,管理员能够调整打印机安装的打印纸和为其它的对齐模式(此时没有初始化)按下返回,并且能继续打印和期望一样多的对齐模式。管理员能通过输入 q 退出对齐模式的打印。 |
|
如果给定了 -o filebreak 标志,一个换页符插入到对齐模式的每个副本之间。缺省情况下,对齐模式设想为正确地填充打印纸,因此没有添加换页符。 |
|
通过在打印纸的位置安装一个新的打印纸或者通过使用 -f none 标志来卸载它。缺省情况下,一个新的打印机没有安装任何打印纸。 |
|
请参阅 -f 不带 -M 的其它使用。 |
|
-M -S Print-Wheel | 在 Printer 上安装 Print-Wheel。需要 Print-Wheel 的打印请求将在 Printer 上打印。如果多于一台的打印机安装了 Print-Wheel 并且用户带 lp 命令 -d 标志指定了 any 作为打印机目的地,那么打印请求在一台也能满足该请求的其它需要的打印机上打印。
如果 Print-Wheel 没有列为该打印机可接受的,管理员将被警告但安装被接受。如果打印机没有获得打印轮,则拒绝该命令。 通过在打印轮的位置安装一个新的打印轮或者通过使用 -S none 标志来卸载它。缺省情况下,一个新的打印机没有安装任何打印轮。 请参阅 -S 标志不带 -M 的其它使用。 |
-m Model | 选择与 LP 打印服务一起提供给打印机的 Model 接口程序。不要跟该标志一起使用 -e 和 -i 标志。以下接口程序是可用的:
|
-o Printing-Option | 如果选项不是取自预打印格式纸描述或者没有明确由提交请求的用户给出(请参阅 lp),则指定以下列表中的缺省值给接口程序。能有已定义缺省值的唯一 -o 选项列表如下。 |
length=scaled-decimal-number width=scaled-decimal-number cpi=scaled-decimal-number lpi=scaled-decimal-number stty='stty-option-list' |
|
scaled-decimal-number 取非负数值,用于表示单元的大小。单元的类型由一个附加到数字的后缀字母显示。LP 打印服务可以使用三种度量的十进制数: |
|
|
|
也就是,行数、字符数、每英寸行数或每英寸字符数。 |
|
前四个缺省选项值必须符合物理打印机类型的能力,如同在 terminfo 数据库中为打印机类型定义的那样。如果它们不是,则拒绝命令。 |
|
不检查 stty-option-list 以获取允许值,但是通过标准接口程序直接将其发送到 stty 程序。当处理(通过标准接口程序)一个请求的时候任何由 stty 产生的出错消息被作为邮件发送到提交请求的用户。 |
|
对于每个没有指定的打印选项,以下属性的缺省值在 terminfo 项中为指定的打印机类型定义。 |
|
length width cpi lpi |
|
stty 的缺省值是
stty='9600 cs8 -cstopb -parenb ixon -ixany opost -olcuc onlcr -ocrnl -onocr -onlret -ofill nl0 cr0 tab0 bs0 vt0 ff0' |
|
通过不带指定参数地输入它们,可以设置任意的 -o 标志为缺省值(这因打印机的不同类型而变化),如下所示:
length= width= cpi= lpi= stty= |
|
-o nobanner | 允许用户提交指定不打印标志页的打印请求。 |
-o banner | 强制每个打印请求打印标志页,即使用户要求不要标志页。此为缺省值;如果要允许用户能够指定 lp 命令的 -o nobanner,就必须指定 -o nobanner。 |
-p Printer | 配置新的打印机,更改现有打印机的配置。 |
-Q Requests | 指定当需要打印轮的特定数目的 Requests 正在等待的时候发送一个警告。 |
-r Class | 从指定的 Class 删除打印机。如果打印机是 Class 的最后成员, 那么删除 Class。 |
-S List | 允许打印轮或在 List 中命名的字符集的别名用于该打印机。-S 标志不允许添加项到由早先的 -S 符号指定的 List 中;相反,它用一个新的替换现有的 List。因而 -S 不同于 -f、-u、allow 和 deny 选项,它们允许修改可用的打印纸和已授权用户的现有列表。一旦运行了 -S 标志,在 List 中和当前命令行上指定的打印轮和字符集就成为唯一可用的。 |
如果该打印机是获取了打印轮的一种打印机类型,那么 List 就是由逗号或空格分隔的打印轮名称列表。如果它包含空格,则用引号将列表括起来。这些被当作在该打印机上唯一可安装的打印轮。然而,总是可以强制安装一个不同的打印轮。直到使用标志指定一个列表为止,没有打印轮被认为在该打印机上可安装,并且要求该打印机使用特定打印轮的打印请求将被拒绝。 |
|
如果打印机是拥有可选择字符集的一种类型,那么 List 就是由逗号或空格分隔的字符集名称的映射或别名的列表。如果它包含空格,则用引号将列表括起来。每个映射的格式是: |
|
known-name=alias |
|
known-name 是由 cs 开头的字符集编号,比如 cs3 代表字符集 3,或者是来自 Terminfo 数据库项 csnm 的字符集名称。请参阅 terminfo。如果该标志没有用于指定一个列表,只有已经从 Terminfo 数据库知道的名称或者带有 cs 前缀的数字该打印机才可接受。 |
|
如果 List 是单词 none,那么任何现有打印轮列表或字符集别名都将被删除。 |
|
请参阅 -S 带 -M 标志的其它使用。 |
|
-s Server-Name [ !Server-Printer-Name ] | 指定正在配置一个远程打印机。它使得在您的系统上的用户可访问一个服务器打印机。Server-Name 是打印机定位在的系统名称。它必须列在 LP 系统表内。请参阅 lpsystem。Server-Printer-Name 是用在服务器系统上那台打印机的名称。例如,如果要访问 Server1 上的 Printer1 并且希望它在您的系统上被称为 Printer2,请输入 -p Printer2 -s Server1!Printer1。
如果 Server-Name 是一个 Netware 服务器,用 lpsystem 命令定义为 -t nuc,那么 Server-Printer-Name 可以是一个 Netware 队列或 Netware 打印机的名称。 |
-T Printer-Type-List | 标识打印机为一个或多个 Printer-Type。每个 Printer-Type 用于从 terminfo 数据库抽取信息;该信息用于在打印每个用户的请求之前初始化打印机。一些过滤器也可以使用 Printer-Type 为打印机转换内容。如果该标志没有使用,缺省的 Printer-Type 是 unknown;没有从 terminfo 抽取信息,因此每个用户请求没有先初始化打印机就打印。而且,如果要使以下命令起作用,必须使用该标志:-o cpi、-o lpi、-o width 和 lpadmin 命令与 lp 命令的 -o length 标志以及 lpadmin 命令的 -S 和 -f 标志。
如果 Printer-Type-List 包含多于一种类型,那么 -I 选项的 content-type-list 必须要么指定为 simple 或为空(-I ""),要么根本不指定。 |
-u allow:Login-ID-List | |
-u deny:Login-ID-List | 允许或禁止在 Login-ID-List 中的用户访问打印机。缺省情况下,本地系统上的所有用户都允许访问新的打印机。Login-ID-List 参数可以包含以下构造的任意或全部:
对每个打印机 LP 打印服务保有两个用户列表:
如果允许列表非空,只有列表中的用户可以使用该打印机,而不管拒绝列表内容。如果允许列表为空,但是拒绝列表非空,则拒绝列表中的用户不能使用该打印机。通过指定 -u deny:all 能禁止所有用户访问该打印机。通过指定 -u allow:all 所有的用户可以使用该打印机。 |
-v Device | 指定正在配置本地打印机。它将 Device 与 Printer 关联。Device 是由 lp 可写的文件的路径名。同样的 Device 可以与多于一台的打印机关联。 |
-x Dest | 从 LP 打印服务删除目的地 dest(一台打印机或一个类)。 |
accept 命令、enable 命令、lpsched 命令、lpsystem 命令。