本节说明在;Linux;环境中如何打印文件、检查列印队列、从列印队列删除打印任务、打印前文档排版和设置打印环境等。; 2.1;Linux;打印系统的演变; Linux;打印系统;-;lp;系统;-;是将加利福尼亚大学校方为;UNIX;操作系统的;BSD;版编写的源代码改编而成。; 2.2;利用;lpr;打印文档; 到目前为止,在;Linux;系统中打印文档的最简单方法就是将文档直接送到打印设备打印。使用;cat;指令就是方法之一。作为;root,发送下列指令就可打印文档:; #;cat;thesis.txt;>;/dev/lp 在这个例子中,/dev/lp;是实际打印设备的符号连接;-;不论打印机是点阵列印机、激光打印机、排版打印机或图表打印机均可使用这个指令。(关於符号连接的进一步说明见;ln(1)); 由于安全上的考量,只有;root;和属於打印监控程式的同一群组的使用者才可书写到打印机,使打印机进行打印。这就是必需使用;lpr、lprm;和;lpq;等指令才能使用打印机的理由。; 因此,使用者必需使用;lpr;列印文档。lpr;为打印进行所有初始设定,然後将任务交给打印监控程序;-;lpd。这个打印监控程序随即告知打印机如何打印文档。; 在;lpr;执行过程中,它首先将有待打印的文档抄到一个目录(假脱机目录),然後让该文档留在该目录中等待;lpd;进行打印。一旦;lpd;得知有文档等待打印,它就自行生成一个备份(编程员称为派生(forking))。这个派生的;lpd;监控程序就会打印有待打印的文档,同时原;lpd;仍继续等待後面可能发出的打印指令。通过这种方式,Linux;系统可同时处理列队打印任务。; 使用;lpr(1);指令的语法如下:; $;lpr;[;options;];[;filename;...;] # #;(译注:$;lpr;[;选项;];[;文档名;...;]) # 如果;filename;(译注:文档名)没有标示,lpr;认为将由标准输入口(通常为键盘或另一程式的输出)提供输入。通过这种方法,使用者可将一个程式的输出导入打印假脱机程序。例如,; $;cat;thesis.txt;|;lpr 或; $;pr;-l60;thesis.txt;|;lpr 均把运行的结果导入打印机印出。; lpr;指令还接受各种打印选项参数,使使用者能控制打印方式。最常用的选项参数有:;-Pprinter;指明用何种打印机、-h;不印突发错页、-s;建立符号连接,并且不将文档抄到假脱机目录(便于处理长文档)和;-#num;标明打印份数。具体使用;lpr;的例子如下:; $;lpr;-#2;-sP;dj;thesis.txt 这个指令会在假脱机目录内为称为;dj;的打印机建立一个连接;thesis.txt;文档的符号连接,然後由;lpd;对其进行打印。印完之後,它还会再打印一次;thesis.txt;(译注:共印两份)。; 关於;lpr;使用的所有选项参数,见;lpr(1)。; 2.3;利用;lpq;察看打印队列; 使用;lpq;指令可察看当前的打印队列。如直接使用指令,不加选项参数,可察看默认打印机的打印队列情况。; lpq;的结果有许多用途。; $;lpq lp;is;ready;and;printing;(译注:打印机准备打印,下面列出打印信息) Rank;;;Owner;;;;;;Job;;Files;;;;Total;Size active;mwf31;;;thesis.txt;;;;;;;682048;bytes 2.4;利用;lprm;取消打印任务; 对任何一个打印系统而言,都需要有一个取消打印任务的工具软件。在;Linux;系统中,可用;lprm。; $;lprm;- 上述指令取消使用者发出的所有打印指令。如果只要取消一个打印任务,可用;lpq;查明打印任务编号,然後将该编号作为参数用于;lprm;指令。例如:; $;lprm;31 取消默认打印机第;31;号打印任务;(thesis.txt)。; 2.5;利用;lpc;控制;lpd;程序; lpc(8);程式用来控制;lpd;提供打印的打印机。通过;lpc;程式可控制打印机的打印功能、打印任务列队、重新安排列队次序和提供打印机和列队状况。;lpc;多数用于设置系统时一机配置多打印机的情况。; $;lpc 上述指令启动;lpc;程式。在不设置任何参数的情况下,这使用户进入互动模式,此後可开始输入指令。使用;lpc;的另一个方式是从指令行输入参数。; $;lpc;status;all 所有可用的指令均在;lpd;的使用说明(man;page)内可以查到。此处列出一些主要指令。指令中作为;选项;列出的部分可以是打印机名(lp、print;等)或关键字;all,此处表示所有打印机。; disable;选项;-;不让打印机再接受新的打印任务; down;选项;-;停止打印机的一切打印; enable;选项;-;允许打印任务进入打印列队; quit;(或;exit);-;停止;lpc;运行; restart;选项;-;重新开始打印机的;lpd; status;选项;-;印出打印机的机况; up;选项;-;重新起始并开始新的;lpd; 2.6;RedHat;的打印工具(printtool); RedHat;的;printtool;是一个非常好用的工具。它几乎无所不能。下文说明如何通过;RedHat;4.0;在并联埠接连;HP;LJ;4L;的方法(此法也可用于其他;RedHat;版本)。; 以;root;身份登录,并启动;printtool;(如果作为;su;,还记得;SETENV;DISPLAY;:0.0;和;xhost;+;吗?); 按;"Add",然後在本地打印机项按;"OK"; 填入打印机名称;(如;/dev/lp1); 填入参数;-;选择打印机种类、分辨率和纸张大小;(ljet4、300x300;和;信纸尺寸); 按;"OK";一直到底,重新启动;lpd。; 利用这种方法可为一台打印机设定多种打印方式,例如为各种打印设定不同的纸张尺寸、分辨率等。; -------------------------------------------------------------------------------- |
标签: