2.4 CUPS基本设置
要使用CUPS进行打印工作,你需要同时设置好你的打印机硬件和CUPS软件。设置分为两大部分:
1. 简单的打印机设置,
2. 高级打印机设置
2.4.1简单的打印机设置
如何配置打印机硬件和CUPS软件。包括:
(1)硬件设置这一节说明如何将打印机接到计算机的连接端口。
(2)软件设置这一节说明如何设置CUPS后台打印系统的配置文件(/etc/cups/printers.conf)。
CUPS可以通过网页浏览器从打印服务器的631端口访问。打开浏览器,指向http://127.0.0.1:631 ,点击Manage Printer。这里你可以找到你新安装的打印机,配置打印机并测试一个页面。也可以从命令行管理CUPS。
对于CUPS来说,只有root用户才能配置打印机,在浏览器界面下root用户可以根据打印机的型号进行配置,其中包括选择打印机端口、根据打印机的型号选择相应的驱动。如果要使用另一型号的打印机,则需要为该打印机建立新的配置或者修改现在默认打印机配置。
推荐的打印驱动程序是根据选定的打印机型号而选择的。打印驱动程序把你想打印的数据处理成打印机能够理解的格式。由于本地打印机是直接连接到你的计算机上的,你需要一个打印驱动程序来处理发送给打印机的数据。
同时需要说明的是,root用户可以配置多个打印机(本地、远程、网络),在某一时刻只有一个打印机配置文件起作用(默认打印配置),如果需要使用另一打印配置则需要更改默认配置。所有打印机的配置信息存放在一个配置文件中(/etc/cups/prnter.conf)。
2.5 CUPS打印方式
(1)通过cat等命令直接送往/dev/lp0等打印端口
该方式不需要特定的打印系统支持,如果以终端用户登陆使用vncviewer和Xvnc则启动的cat进程将属于Xvnc的子进程,该进程直到打印完成之后才会结束。
(2)通过使用打印系统提供的打印命令lpr等
对于CUPS打印系统,lpr的作用是通过IPP协议与cupsd后台服务进行通信,提交相应的请求(request),通过类似于HTTP协议的请求与应答提交相应的打印作业的内容,包括建立打印临时文件,使用何种打印配置,传送打印文件内容。cupsd接受到请求后,根据提交的请求信息形成打印任务,为打印任务分配id,根据任务优先级插入到统一的打印任务队列中。cupsd循环地检测打印队列状况,根据任务的属性和打印机的属性决定是否进行打印操作。
(3)通过应用程序进行打印
当CUPS打印系统设置完毕后,应用程序使用打印系统进行打印可分为两种情况,第一种情况就是某些应用程序(Mozilla、OpenOffice、Emacs)自动的调用CUPS的打印命令lpr将文档送往默认打印机进行打印;第二类应用程序(xpdf)将文档内容转换成后缀为ps的文件,然后再手工调用CUPS打印命令进行打印。
值得一提的是CUPS系统打印测试页方式不同于以上的打印方式,因为测试页文档是一个固定的文档(testprint.ps),通过浏览器方式打印测试页通过IPP协议并调用printers.cgi将打印任务提交给CUPS后台服务程序。
2.6 CUPS原理分析
为了对打印任务进行控制,Linux将打印系统分为上下两部分,上半部分和需打印的应用程序合作,负责打印任务的生成和管理工作,分别由过滤器和打印系统后台程序(cupsd,lpd)完成,下半部分负责与打印机通信,由运行于内核空间的驱动程序lp完成,打印机后台程序负责在过滤器和lp之间传递打印任务。