系统管理指南:打印

打印问题疑难解答的提示

有时在设置打印机后,您会发现不能打印任何内容。或者,可能打印过程中超出限制: 打印了一些内容,但这并不是您所期望的,输出不正确或模糊不清。

然后,在解决这些问题后,还可能出现其他问题,例如:


注 –

尽管本章中的许多建议都与并行打印机相关,但这些建议也适用于更常见的串行打印机。


无输出疑难解答(不打印任何内容)

不打印任何内容时,通常有三个方面需要检查:

如果有标题页,但没有其他任何内容,则是错误输出的特殊情况。请参见错误输出疑难解答

检查硬件

硬件是需要检查的第一个方面。很明显,应确保打印机已插电并已打开。此外,还应参阅制造商文档以了解有关硬件设置的信息。有些计算机使用可更改打印机端口特性的硬件交换机。

打印机硬件包括打印机、将打印机连接至计算机的电缆以及电缆各端插入的端口。一般方法是从打印机开始一直检查到计算机。检查打印机。检查电缆与打印机连接的位置。检查电缆。检查电缆与计算机连接的位置。

检查网络

此类问题在从打印客户机向打印服务器发出远程打印请求时更为常见。应确保已启用打印服务器与打印客户机之间的网络访问。

如果网络运行的是网络信息服务扩充版本 (Network Information Service Plus, NIS+),请参见《System Administration Guide: Naming and Directory Services (NIS+)》,了解启用系统之间访问的说明。如果网络运行的不是 NIS 或 NIS+,则在设置打印服务器和打印客户机之前,请在打印服务器上的 /etc/hosts 文件中包含 Internet 地址和每个客户机系统的系统名称。此外,还必须将打印服务器的 IP 地址和系统名称包含到每个打印客户机系统的 /etc/hosts 文件中。

检查 LP 打印服务

为使打印正常进行,必须在打印服务器上运行 LP 调度程序。如果未运行,您需要使用以下命令启动该调度程序:


# svcadm enable application/print/server

除了运行调度程序之外,打印机还必须已启用并接受请求,然后才能生成输出。如果 LP 打印服务不接受对打印机的请求,则将拒绝已提交的打印请求。通常在此情况下,用户会在提交打印请求后收到一条警告消息。如果没有为打印机启用 LP 打印服务,打印请求将在系统中继续排队,直到启用打印机为止。

通常,应该按如下步骤分析打印问题:

其他打印问题疑难解答中的过程使用此策略帮助您解决 LP 打印服务遇到的各种问题。

调试打印问题

如果在 /etc/syslog.conf 文件中启用 lpr.debug,则会提供各种有用的信息。由于会提供大量信息,因此首选的方法是仅在调试打印问题时启用此功能。

有关更多信息,请参见如何调试打印问题

错误输出疑难解答

如果打印机和打印服务软件未正确配置,打印机可能会打印,但提供的输出可能不是您所期望的输出。

检查打印机类型和文件内容类型

如果为打印机设置 LP 打印服务时使用了错误的打印机类型,则会向打印机发送不正确的打印机控制字符。结果将不可预测: 可能不打印任何内容,输出可能模糊不清,也可能使用错误的字符集或字体打印输出。

如果指定了不正确的文件内容类型,则可能仅会打印标题页。为打印机指定的文件内容类型表明打印机可以不经过滤直接打印的文件类型。当用户向打印机发送文件时,该文件将直接发送至打印机,而不会尝试对其进行过滤。如果打印机无法处理该文件内容类型,则会出现问题。

设置打印客户机时,由于打印服务器和打印客户机中的文件内容类型都必须是正确的,因此增加了出错机会。如果按照建议以 any 作为文件内容类型来设置打印客户机,则文件将直接发送到打印服务器,并且由打印服务器确定是否需要过滤。因此,仅需要在服务器中正确指定文件内容类型即可。

可以在打印客户机上指定文件内容,以便将过滤工作从服务器转移至客户机,但打印服务器必须支持该内容类型。

检查 stty 设置

当缺省的 stty(标准终端)设置与打印机所需设置不匹配时,会出现许多格式问题。以下各节介绍了某些设置不正确时将出现的情况。

波特设置错误

当计算机的波特设置与打印机的波特设置不匹配时,通常会得到一些输出,但是这些输出看起来与提交打印的文件不同。此时将显示随机字符,并且带有特殊字符和多余间距的异常混合。LP 打印服务的缺省设置为 9600 波特。


注 –

如果打印机通过并行端口连接,则波特设置无关紧要。


奇偶校验设置错误

有些打印机使用奇偶校验位来确保接收进行打印的数据在传输过程中未混淆。计算机和打印机的奇偶位设置必须相匹配。如果不匹配,则某些字符根本不会打印出来或被其他字符所替换。在此情况下,输出看似正确。字间距合适,许多字母也都位置正确。缺省情况下,LP 打印服务不设置奇偶位。

制表符设置错误

如果文件中包含制表符,但是打印机没有预期到制表符,则打印的输出可能包含文件的完整内容,但文本可能都挤到右边界。此外,如果打印机的制表符设置不正确,文本可能没有左边界、都挤到一起、集中到页面中的某个部分或设置为错误的双倍间距。制表符的缺省设置以八个空格为间隔。

回车设置错误

如果本应为单倍间距却输出为双倍间距,则表明不是打印机的制表符设置错误就是打印机在每次回车后添加了一次换行。LP 打印服务在每次换行前添加一次回车,因此这种组合会导致出现两次换行。

如果沿页面向下以 Z 字形打印,则不会设置在每次换行前发送回车的 stty 选项 onlcr。缺省情况下会设置 stty=onlcr 选项,但您在尝试解决其他打印问题时可能已清除该选项。

挂起 lp 命令疑难解答

如果键入任何一个 lp 命令(例如 lpsystemlpadminlpstat)后没有出现相应信息(未显示任何错误消息、状态信息或提示符),则 LP 调度程序可能存在问题。通过停止并重新启动 LP 调度程序通常可以解决此类问题。请参见如何停止打印调度程序了解相关说明。

空闲(挂起)打印机疑难解答

您可能会发现,即使某台打印机收到的打印请求已开始排队,但该打印机仍处于空闲状态。

打印机在本不应该空闲时而处于空闲状态可能是由于以下原因之一:

检查打印过滤器

降低在后台运行的打印过滤器的速度,以避免阻碍打印机。需要过滤的打印请求在过滤之前不会进行打印。

检查打印机故障

当 LP 打印服务检测到故障后,会自动继续进行打印,但不会立即进行。LP 打印服务在重试之前会等待大约五分钟的时间,然后继续尝试,直到打印请求成功执行为止。可以通过启用打印机来强制立即进行重试。

检查网络问题

通过网络打印文件时,可能会遇到以下类型的问题:

在本地队列中备份的打印请求

由于以下原因,提交至打印服务器的打印请求可能会在客户机系统队列中进行备份:

在跟踪问题的来源时,应停止向队列中添加新请求。有关更多信息,请参见如何接受或拒绝打印机的打印请求

在远程队列中备份的打印请求

如果打印请求备份在打印服务器队列中,则可能已禁用打印机。当打印机接受了请求,但不处理这些请求时,这些请求将进行排队等待打印。除非还有其他问题,否则一旦启用打印机,就应打印队列中的打印请求。

冲突状态消息疑难解答

用户可能输入打印请求并收到通知客户机系统已接受该请求,然后收到打印服务器拒绝该请求的邮件。

出现这些冲突消息的原因可能是:

应检查在打印客户机和打印服务器中注册的这些作业组件是否具有相同的定义,以便本地用户可以访问打印服务器上的打印机。