在linux中打印
使用LINUX进行打印
以下是Linux进行打印过程的概述。我们将研究使用LPD(行式打印机守护程序)从命令行进行打印以及使用CUPS(通用Unix打印系统)进行打印。首先,让我们看一下创建打印件时涉及的流程:
所有打印系统在其系统的核心都有一个打印守护程序或打印服务。该守护程序的工作是接受来自直接打印命令或通过您的网络的作业。接收到文件或命令后,将对其进行处理并将其传递到本地连接的打印机或另一台打印机服务或守护程序。(许多大型组织都有专用的打印服务器来处理这些请求)。然后将这些打印作业或请求保留在打印队列中,直到打印机准备接受它们为止。如果打印机缺纸,遇到卡纸或墨粉或墨水不足,则通常将作业保留在队列中。通常,此队列称为假脱机。将作业发送到打印机的过程也称为假脱机。
最初为BSD Unix和SystemV Unix开发了两个最著名的打印系统。尽管两个打印系统都可以达到相同的最终结果,但是它们使用不同的命令来实现此目的。BSD Unix打印命令包括lpc,lpd,lpr和lprm。SystemV打印系统使用命令lp,enable,disable,cancel,lpstat和lpadmin。在基于SystemV的系统上,可以使用lpadmin命令来处理打印队列。
大多数现代Linux发行版都将CUPS作为其默认打印方法。CUPS同时支持SystemV和BSD命令。CUPS作为守护程序运行,并在系统启动时自动启动。尽管可以直接从命令行配置打印机,但是CUPS具有功能强大的Web界面,可让您管理打印环境的各个方面。
使用CUPS管理打印机
什么是CUPS?
CUPS(通用Unix打印系统)是打印机后台处理程序和各种实用程序,可让您管理网络上的本地和远程打印机。CUPS最初旨在与IPP(Internet打印协议)一起使用,但是现在它已取代了旧的BSD和System V打印实用程序。CUPS进程作为守护程序cupsd
运行。在这里管理打印队列。在大多数系统上,默认情况下会启动杯子进程:
john@john-desktop:~$ initctl status cups cups start/running, process 628 john@john-desktop:~$ ps -ef | grep cupsd root 628 1 0 19:39 ? 00:00:00 /usr/sbin/cupsd -F
还可以通过Web界面处理打印机的管理和配置:
使用浏览器打开 http://localhost:631
从命令行打印
CUPS可以处理Berkeley的lpr
打印命令以及System V的lp
命令。这样就可以直接从脚本进行打印,管理队列和打印机。
CUPS可以理解许多不同的文件类型,包括文本,Postscript,PDF和图像。
打印命令: lp和lpr
打印文件
john@john-desktop:~$ lp test.txt request id is Eastman-Kodak-Company-KODAK-HERO-3.1-AiO-76 (1 file(s)) john@john-desktop:~$ lpq Eastman-Kodak-Company-KODAK-HERO-3.1-AiO is ready and printing Rank Owner Job File(s) Total Size active (null) 76 untitled 1024 bytes
显示可用的打印机
lpstat
命令用于显示系统上的可用打印机。 -p
选项指定显示打印机列表。-d
选项显示您的默认打印机:
john@john-desktop:~$ lpstat -p -d printer Eastman-Kodak-Company-KODAK-HERO-3.1-AiO is idle. enabled since Sat 16 Mar 2013 22:04:14 GMT Ready to print. printer Eastman-Kodak-Company-KODAK-HERO-3.1-AiO-2 disabled since Mon 10 Sep 2012 21:07:28 BST - Unplugged or turned off system default destination: Eastman-Kodak-Company-KODAK-HERO-3.1-AiO
指定打印机打印
lp -d printer filename
在lp命令中,使用-d
参数指定打印机
lpr -P printer filename
在lpr命令中,使用-P
参数指定打印机
设置默认打印机
如前所述,lpstat -p -d
命令显示可用的打印机和默认打印机
。
如果我们想要改变默认打印机, 可以使用web界面,或者简单地执行lpoptions -d printer
命令。
john@john-desktop:~$ lpoptions -d "Eastman-Kodak-Company-KODAK-HERO-3.1-AiO-2"
打印多份
lp -n no_of_copies filename lpr -#no_of_copies filename
取消打印任务
lprm job_id
job_id在执行lp命令时会显示。 也可以使用lpq
命令或lpstat
命令再次查看。
CUPS -配置文件
所有CUPS的配置文件在"/etc/CUPS"目录下
/etc/cups/cupsd.conf
这是用来配置cupsd
的主要配置文件。各种信息和配置可以在这里找到。我们可以定义谁可以操作打印机和队列,监听什么端口等等.
/etc/cups/printers.conf
此文件由cupsd
自动生成。它将包括改变打印机,添加等。
/var/spool/cupscupsd
使用这个区域来存储等待打印的数据。