以下过程以打印机 luna 为例来检查基本的 LP 打印服务功能。
在打印服务器上,确保 LP 打印服务正在运行。
使用以下方法之一检查 LP 调度程序是否正在运行。
使用 lpstat 命令。
% lpstat -r scheduler is running |
显示一条消息,指示 LP 调度程序正在运行。
使用 svcs 命令。
% svcs application/print/server |
如果调度程序正在运行,则显示以下输出。
STATE STIME FMRI online Oct_24 svc:/application/print/server:default |
如果未运行调度程序,则显示以下输出。
STATE STIME FMRI disabled 14:27:48 svc:/application/print/server:default |
|
如果未运行调度程序,请成为超级用户 lp 或同等角色。使用以下方法之一启动调度程序。
使用 lpsched 命令。
# /usr/lib/lpsched Print services started. |
显示一条消息,指示未启动打印服务。
使用 svcadm 命令。
# svcadm enable application/print/server |
使用 svcadm 命令时,不显示指示是否已启动打印服务的消息。要确定打印服务是否联机,请再次运行 svcs application/print/server 命令。
如果在启动该调度程序时遇到问题,请参见如何取消挂起 LP 打印服务。
在打印服务器和打印客户机上,确保打印机正在接受请求。
在打印服务器和打印客户机上,确保打印机可以打印提交的打印请求。
检查打印机是否已连接至正确的串行端口。
# lpstat -t scheduler is running system default destination: luna device for luna: /dev/term/a |
该消息 device for printer-name 可显示端口地址。电缆是否连接至 LP 打印服务所连接的端口?如果端口正确,请跳转到步骤 5。
成为超级用户或同等角色。
更改表示端口的设备文件的文件拥有权。
# chown lp device-filename |
此命令将指定特殊用户 lp 作为设备文件的属主。在此命令中,device-filename 是设备文件的名称。
更改打印机端口设备文件的权限。
# chmod 600 device-filename |
此命令仅允许超级用户 lp 或同等角色访问打印机端口设备文件。
检查是否已正确配置打印机。
# lpstat -p luna -l printer luna is idle. enabled since Jan 12 14:24 2004. available Content types: postscript Printer types: PS |
以上示例说明了一台已正确配置并可用于处理打印请求的 PostScript 打印机。如果打印机类型和文件内容类型正确,请跳转到步骤 6。
如果打印机类型或文件内容类型错误,请尝试在打印客户机上将打印类型设置为 unknown,将内容类型设置为 any。
# lpadmin -p printer-name -T printer-type -I file-content-type |
在打印服务器上,确保打印机未出现故障。
确保未将打印机错误设置为登录终端。
很容易错误地将打印机设置为登录终端,因此即使在您认为不适用的情况下,也要检查这种可能性。
在 ps -ef 命令输出中查找打印机端口项。
# ps -ef root 169 167 0 Apr 04 ? 0:08 /usr/lib/saf/listen tcp root 939 1 0 19:30:47 ? 0:02 /usr/lib/lpsched root 859 858 0 19:18:54 term/a 0:01 /bin/sh -c \ /etc/lp /interfaces/luna luna-294 rocket!smith “passwd\n## # |
在此命令的输出中,查找打印机端口项。在以上示例中,端口 /dev/term/a 错误地设置为登录终端。可以通过行尾的 "passwd\n## 信息进行判断。如果端口设置正确,请跳过此过程中最后的步骤。
取消打印请求。
# cancel request-id |
在此命令中,request-id 是要取消的打印请求的请求 ID 号。
将打印机端口设置为非登录设备。
# lpadmin -p printer-name -h |
检查 ps -ef 命令输出,以确认打印机端口不再是登录设备。
如果在基本 LP 打印服务功能中找不到打印问题的根源,请继续进行以下针对所适用的特定客户机/服务器情况的过程之一。