2 FreeBSD handbook中文版 11 打印 高级打印机设置 B.Header Pages( 七 )


11.4.4.3 限制提交工作的大小
如果你有很多使用者在使用打印机,你也许会想要设置使用者能传过来打印的文件大小
限制 。毕竟,在我们spooling 目录所在的文件系统空间有限,而你得确保有足够的空间给其
它的使用者在打印时用 。
LPD 让你可以用mx 关键词限制一个打印工作中的文件大小,以BUFSIZ 区块为单位,
每一块大小为1024 字节 。如果你将值设置为0,那么表示对文件大小没有限制 。如果没有
使用mx 关键词的话,那么默认的大小是1000 个区块 。
注意: 这些限制将会套用在打印工作中的文件,而不是整个打印工作的大小 。
LPD 不会拒绝接收一个文件大小超过你为打印机设置上限的文件 。而会尽量将该文件
小于上限的资料放入缓存并打出,而超出上限的资料则取消 。这是不是一个正确的处理方式
还有待争议 。
让我们为我们举例的打印机rattan 和bamboo 设置上限 。既然这些艺术家的PostScript
文件都蛮大的,我们将上限设置为5 MB 。而我们在纯文本行式打印机上不做任何限制:
#
# /etc/printcap for host rose
#
#
# No limit on job size:
#
rattan|line|diablo|lp|Diablo 630 Line Printer:
:sh:mx#0:sd=/var/spool/lpd/rattan:
:lp=/dev/lpt0:
:if=/usr/local/libexec/if-simple:
第54 页FreeBSD 使用手册
#
# Limit of five megabytes:
#
bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:
:sh:sd=/var/spool/lpd/bamboo:sc:rg=artists:mx#5000:
:lp=/dev/ttyd5:fs#0x82000e1:xs#0x820:rw:
:if=/usr/local/libexec/psif:
:df=/usr/local/libexec/psdf:
同样的,这些限制仅对本机使用者有效 。如果有人通过网络使用这些打印机,那么这些
设置是不会产生效用的 。你得在远程的/etc/printcap 设置文件里也设置mx 关键词才行 。
请阅读安装远程机器上的打印机这一节以取得更多关于远程打印的信息 。
有另一种更好的方法来限定远程打印机传送过来的打印工作大小 。请阅读限制来自远
程打印机的工作这一节的说明 。
11.4.4.4 限制远程打印机的工作
LPD spooling 系统提供好几种方法来限制从远程传过来的打印工作:
限制机器来源
你可以用/etc/hosts.equiv 和/etc/hosts.lpd 这两个文件来限制LPD 接收哪些远
程机器的要求 。LPD 会检查传出要求的机器是否列在这些文件中 。如果没有的话,
那么LPD 会拒绝这些要求 。
这两个文件的格式很简单: 一行写一台机器名称即可 。不过你得注意
/etc/hosts.equiv 这个文件也被ruserok 通讯协议所使用,因此会影响到像rsh 和rcp
等程序,所以你得小心的设置 。
举例来说,rose 的/etc/hosts.lpd 设置文件是下面这样的:
orchid
violet
madrigal.fishbaum.de
意思就是rose 这台机器将会接收从orchid、violet、以及madrigal.fishbaum.de
这三台机器送过来的要求 。如果其它的机器想要来使用rose 这机器的LPD,那么
第55 页FreeBSD 使用手册
LPD 将会拒绝它们 。
限制大小
你可以控制有多少空间得保留在spooling 目录所在的文件系统上 。只要在本机打印
机的spooling 目录上建立一个叫做minfree 的文件就行了 。而这个文件的内容是一
个数字记录 。当文件系统至少还有多少磁盘区块(512 字节)的剩余空间时,才接收远
程传来的打印工作 。
这可以确保远程的使用者不会将你的文件系统空间用完 。而这块空间可以给本机使
用者一些保障:它们在文件系统剩余空间小于minfree 文件里所指定的大小时,还
是可以将打印工作送进打印队列 。
举例来说,我们如果想要为bamboo 设置minfree 文件 。我们得先查看/etc/printcap
文件以找出这台打印机spooling 目录的位置 。下面是关于bamboo 的设置:

推荐阅读