|
|
|
|
挪动端

【完全指南】在通博8888官网中怎样打印和办理打印机

固然如今少量的相同都是电子化和无纸化的,但是在我们的公司中另有少量的资料需求打印。银行结算单、公用奇迹帐单、财政和别的陈诉、以及收益结算单等一些工具照旧需求打印的。本教程将引见在 通博8888官网 中怎样运用 CUPS 去打印。

作者:Ian Shields泉源:通博8888官网中国|2018-04-12 14:33

开辟者盛宴来袭!7月28日51CTO首届开辟者大赛决赛带来技能创新分享

 

通博8888官网 中的打印

固然如今少量的相同都是电子化和无纸化的,但是在我们的公司中另有少量的资料需求打印。银行结算单、公用奇迹帐单、财政和别的陈诉、以及收益结算单等一些工具照旧需求打印的。本教程将引见在 通博8888官网 中怎样运用 CUPS 去打印。

CUPS,是通用 Unix 打印零碎Common UNIX Printing System的首字母缩写,它是 通博8888官网 中的打印机和打印义务的办理者。晚期盘算机上的打印机普通是在特定的字符集和字体巨细下打印文本文件行。如今的图形打印机可以打印种种字体和巨细的文本和图形。虽然云云,如今你所运用的一些下令,在陈旧的行式打印保卫历程(LPD)技能的汗青中仍能找到它们。

本教程将帮你理解 通博8888官网 效劳器专业测验(LPIC-1)的第 108 号主题的 108.4 目的。这个目的的权重为 2。

条件条件

为了更好地学习本系列教程,你需求具有根本的 通博8888官网 知识,和运用 通博8888官网 零碎理论本教程中的下令的才能,你应该熟习 GNU 和 UNIX® 下令的运用。偶然差别版本的顺序输入能够会差别,因而,你的后果能够与本教程中的示例有所差别。

本教程中的示例运用的是 Fedora 27 的零碎。

有关打印的一些汗青

这一小局部汗青并不是 LPI 目的的,但它有助于你了解这个目的的相干情况。

晚期的盘算机多数运用行式打印机。这些都是击打式打印机,当时,它们运用牢固间距的字符和单一的字体来打印文本行。为提拔整个零碎功能,晚期的主秘密与慢速的核心设置装备摆设(如读卡器、卡片穿孔机、和运转别的任务的行式打印机)穿插停止任务。因而就发生了在线的或许假脱机的同步核心操纵,这一术语现在在谈到盘算机打印时依然在运用。

在 UNIX 和 通博8888官网 零碎上,打印初始化运用的是 BSD(伯克利软件分发版Berkeley Software Distribution)打印子零碎,它是由一个作为效劳器运转的行式打印保卫顺序(LPD)构成,而客户端下令如 lpr 是用于提交打印作业。这个协议厥后被 IETF 规范化为 RFC 1179 —— 行式打印机保卫历程协议

System V 也有一个打印保卫顺序。它的功用与BSD 的 LPD 保卫顺序相似,但是它们的下令集纷歧样。你在前面会常常看到完成相反的义务运用差别选项的两个下令。比方,关于打印文件的下令,伯克利完成版本是 lpr,而 System V 完成版本是 lp

随着打印机技能的提高,在一个页面上混淆呈现差别字体成为能够,而且可以将图片像笔墨一样打印。可变间距字体,以及更多先辈的打印技能,比方间距和连字符,如今都曾经规范化。呈现了几种对根本的 lpd/lpr 办法等改良设计,比方 LPRng,下一代的 LPR,以及 CUPS。

很多可以打印图形的打印机,运用 Adobe PostScript 言语停止初始化。一个 PostScript 打印机有一个表明器引擎,它可以表明打印义务中的下令并从这些下令中天生终极的页面。PostScript 常常被用做原始文件(比方一个文本文件或许一个图像文件)和终极款式没有合适的 PostScript 功用的特定打印机之间的两头层。转换这些特定的打印义务,比方将一个 ASCII 文本文件或许一个 JPEG 图像转换为 PostScript,然后再运用过滤器转换 PostScript 到非 PostScript 打印机所需求的终极光栅款式。

如今的便携式文档款式Portable Document Format(PDF),它便是基于 PostScript 的,曾经交换了传统的原始 PostScript。PDF 设计为与硬件和软件有关,它封装了要打印的页面的完好描绘。你可以检查 以及打印 PDF 文件。

办理打印行列步队

用户间接打印作业到一个名为打印行列步队print queue的逻辑实体。在单用户零碎中,打印行列步队和打印机通常是简直相反的意思。但是,CUPS 容许零碎不必衔接到一个打印机上,而终极在一个近程零碎上的列队打印作业,而且经过运用分类,容许将定向到一个分类的打印作业在该分类第一个可用的打印机上打印。

你可以反省和办理打印行列步队。关于 CUPS 来说,此中一些下令完成了一些新操纵。别的的一些是源于 LPD 的兼容下令,不外如今的一些选项通常是最后的 LPD 打印零碎选项的无限子集。

你可以运用 CUPS 的 lpstat 下令去反省行列步队,以理解打印零碎。一些罕见选项如下表 1。

< 如表现不全,请左右滑动 >
选项 作用
-a 表现打印机形态
-c 表现打印分类
-p 表现打印形态:enabled 或许 disabled
-s 表现默许打印机、打印机和类。相称于 -d -c -v留意:要指定多个选项,这些选项必需像值一样分开开。
-v 表现打印机和它们的设置装备摆设。

表 1. lpstat 下令的选项

你也可以运用 LPD 的 lpc 下令(它可以在 /usr/sbin 中找到)运用它的 status 选项。假如你不想指定打印机名字,将列出一切的行列步队。列表 1 展现了下令的一些示例。

  1. [ian@atticf27 ~]$ lpstat -d
  2. system default destination: HL-2280DW
  3. [ian@atticf27 ~]$ lpstat -v HL-2280DW
  4. device for HL-2280DW: dnssd://Brother%20HL-2280DW._pdl-datastream._tcp.local/
  5. [ian@atticf27 ~]$ lpstat -s
  6. system default destination: HL-2280DW
  7. members of class anyprint:
  8. HL-2280DW
  9. XP-610
  10. device for anyprint: ///dev/null
  11. device for HL-2280DW: dnssd://Brother%20HL-2280DW._pdl-datastream._tcp.local/
  12. device for XP-610: dnssd://EPSON%20XP-610%20Series._ipp._tcp.local/?uuid=cfe92100-67c4-11d4-a45f-ac18266c48aa
  13. [ian@atticf27 ~]$ lpstat -a XP-610
  14. XP-610 accepting requests since Thu 27 Apr 2017 05:53:59 PM EDT
  15. [ian@atticf27 ~]$ /usr/sbin/lpc status HL-2280DW
  16. HL-2280DW:
  17. printer is on device 'dnssd' speed -1
  18. queuing is disabled
  19. printing is enabled
  20. no entries
  21. daemon present
  22.  

列表 1. 表现可用打印行列步队

这个示例展现了两台打印机 —— HL-2280DW 和 XP-610,和一个分类 anyprint,它容许打印作业定向到这两台打印机中的第一个可用打印机。

在这个示例中,曾经禁用了打印到 HL-2280DW 行列步队,但是打印功用是启用的,如许便于将打印机脱机维护之前可以完成打印行列步队中的义务。启用照旧禁用行列步队,可以运用 cupsacceptcupsreject 下令来办理。曩昔它们叫做 acceptreject,你大概能够在 /usr/sbin 中找到这些下令,但它们如今都是标记链接到新的下令上了。异样,启用照旧禁用打印,你可以运用 cupsenablecupsdisable 下令来办理。在晚期版本的 CUPS 中,这些被称为 enabledisable,它大概会与 bash shell 内置的 enable 混杂。列表 2 展现了怎样去启用打印机 HL-2280DW 上的行列步队,而制止它的打印。CUPS 的几个下令支持运用 -r 选项去提供一个该操纵的来由。这个来由会在你运用 lpstat 时表现,但是假如你运用的是 lpc 下令则不会表现它。

  1. [ian@atticf27 ~]$ lpstat -a -p HL-2280DW
  2. anyprint accepting requests since Mon 29 Jan 2018 01:17:09 PM EST
  3. HL-2280DW not accepting requests since Thu 27 Apr 2017 05:52:27 PM EDT -
  4. Maintenance scheduled
  5. XP-610 accepting requests since Thu 27 Apr 2017 05:53:59 PM EDT
  6. printer HL-2280DW is idle. enabled since Thu 27 Apr 2017 05:52:27 PM EDT
  7. Maintenance scheduled
  8. [ian@atticf27 ~]$ accept HL-2280DW
  9. [ian@atticf27 ~]$ cupsdisable -r "waiting for toner delivery" HL-2280DW
  10. [ian@atticf27 ~]$ lpstat -p -a
  11. printer anyprint is idle. enabled since Mon 29 Jan 2018 01:17:09 PM EST
  12. printer HL-2280DW disabled since Mon 29 Jan 2018 04:03:50 PM EST -
  13. waiting for toner delivery
  14. printer XP-610 is idle. enabled since Thu 27 Apr 2017 05:53:59 PM EDT
  15. anyprint accepting requests since Mon 29 Jan 2018 01:17:09 PM EST
  16. HL-2280DW accepting requests since Mon 29 Jan 2018 04:03:50 PM EST
  17. XP-610 accepting requests since Thu 27 Apr 2017 05:53:59 PM EDT

列表 2. 启用行列步队和禁用打印

留意:用户实行这些义务必需颠末受权。它能够要求是 root 用户或许别的的受权用户。在 /etc/cups/cups-files.conf 中可以看到 SystemGroup 的条款,cups-files.conf 的 man 页面有更多受权用户组的信息。

办理用户打印作业

如今,你曾经晓得了一些怎样去反省打印行列步队和类的办法,我将给你展现怎样办理打印行列步队上的作业。你要做的第一件事是,怎样找到一个特定打印机或许全部打印机上列队的恣意作业。完成上述任务要运用 lpq 下令。假如没有指定任何选项,lpq 将表现默许打印机上的行列步队。运用 -P 选项和一个打印机名字将指定打印机,或许运用 -a 选项去指定一切的打印机,如上面的列表 3 所示。

  1. [pat@atticf27 ~]$ # As user pat (non-administrator)
  2. [pat@atticf27 ~]$ lpq
  3. HL-2280DW is not ready
  4. Rank Owner Job File(s) Total Size
  5. 1st unknown 4 unknown 6144 bytes
  6. 2nd pat 6 bitlib.h 6144 bytes
  7. 3rd pat 7 bitlib.C 6144 bytes
  8. 4th unknown 8 unknown 1024 bytes
  9. 5th unknown 9 unknown 1024 bytes
  10.  
  11. [ian@atticf27 ~]$ # As user ian (administrator)
  12. [ian@atticf27 ~]$ lpq -P xp-610
  13. xp-610 is ready
  14. no entries
  15. [ian@atticf27 ~]$ lpq -a
  16. Rank Owner Job File(s) Total Size
  17. 1st ian 4 permutation.C 6144 bytes
  18. 2nd pat 6 bitlib.h 6144 bytes
  19. 3rd pat 7 bitlib.C 6144 bytes
  20. 4th ian 8 .bashrc 1024 bytes
  21. 5th ian 9 .bashrc 1024 bytes

列表 3. 运用 lpq 反省打印行列步队

在这个示例中,共有五个作业,它们是 4、6、7、8、和 9,而且它是名为 HL-2280DW 的打印机的行列步队,而不是 XP-610 的。在这个示例中运用 -P 选项,可复杂地表现哪个打印机曾经预备好,但是没有行列步队义务。留意,CUPS 的打印机定名,是巨细写不敏感的。还要留意的是,用户 ian 提交了异样的作业两次,当一个作业没有第临时间打印时,常常能看到用户的这种举措。

普通状况下,你能够会检查或许维护你本人的打印作业,但是,root 用户或许别的受权的用户通常会去办理别的打印作业。大少数 CUPS 下令都可以运用一个 -E 选项,对 CUPS 效劳器与客户端之间的通讯停止加密。

运用 lprm 下令从行列步队中去删除一个 .bashrc 作业。假如不运用选项,将删除以后的作业。运用 - 选项,将删除全部的作业。要么就如列表 4 那样,指定一个要删除的作业列表。

  1. [[pat@atticf27 ~]$ # As user pat (non-administrator)
  2. [pat@atticf27 ~]$ lprm
  3. lprm: Forbidden
  4.  
  5. [ian@atticf27 ~]$ # As user ian (administrator)
  6. [ian@atticf27 ~]$ lprm 8
  7. [ian@atticf27 ~]$ lpq
  8. HL-2280DW is not ready
  9. Rank Owner Job File(s) Total Size
  10. 1st ian 4 permutation.C 6144 bytes
  11. 2nd pat 6 bitlib.h 6144 bytes
  12. 3rd pat 7 bitlib.C 6144 bytes
  13. 4th ian 9 .bashrc 1024 bytes

列表 4. 运用 lprm 删除打印作业

留意,用户 pat 不克不及删除行列步队中的第一个作业,由于它是用户 ian 的。但是,ian 可以删除他本人的 8 号作业。

别的的可以帮你操纵打印行列步队中的作业的下令是 lp。运用它可以去修正作业属性,比方打印数目或许优先级。我们假定用户 ian 盼望他的作业 9 在用户 pat 的作业之前打印,而且盼望打印两份。作业优先级的默许值是 50,它的优先级范畴从最低的 1 到最高的 100 之间。用户 ian 可以运用 -i-n、以及 -q 选项去指定一个要修正的作业,而新的打印数目和优先级可以如上面的列表 5 所示的那样去修正。留意,运用 -l 选项的 lpq 下令可以提供更细致的输入。

  1. [ian@atticf27 ~]$ lpq
  2. HL-2280DW is not ready
  3. Rank Owner Job File(s) Total Size
  4. 1st ian 4 permutation.C 6144 bytes
  5. 2nd pat 6 bitlib.h 6144 bytes
  6. 3rd pat 7 bitlib.C 6144 bytes
  7. 4th ian 9 .bashrc 1024 bytes
  8. [ian@atticf27 ~]$ lp -i 9 -q 60 -n 2
  9. [ian@atticf27 ~]$ lpq
  10. HL-2280DW is not ready
  11. Rank Owner Job File(s) Total Size
  12. 1st ian 9 .bashrc 1024 bytes
  13. 2nd ian 4 permutation.C 6144 bytes
  14. 3rd pat 6 bitlib.h 6144 bytes
  15. 4th pat 7 bitlib.C 6144 bytes

列表 5. 运用 lp 去改动打印数目和优先级

最初,lpmove 下令可以容许一个作业从一个行列步队挪动到另一个行列步队。比方,我们能够由于打印机 HL-2280DW 如今不克不及运用,而想去挪动一个作业到别的的行列步队上。你可以指定一个作业编号,比方 9,或许你可以用一个行列步队名加一个连字符去限定它,比方,HL-2280DW-0。lpmove 下令的操纵要求是受权用户。列表 6 展现了怎样去从一个行列步队挪动作业到别的的行列步队,先是指定打印机和作业 ID 挪动,然后是挪动指定打印机的一切作业。稍后我们可以去再次反省行列步队,此中一个作业曾经在打印中了。

  1. [ian@atticf27 ~]$ lpmove HL-2280DW-9 anyprint
  2. [ian@atticf27 ~]$ lpmove HL-2280DW xp-610
  3. [ian@atticf27 ~]$ lpq -a
  4. Rank Owner Job File(s) Total Size
  5. active ian 9 .bashrc 1024 bytes
  6. 1st ian 4 permutation.C 6144 bytes
  7. 2nd pat 6 bitlib.h 6144 bytes
  8. 3rd pat 7 bitlib.C 6144 bytes
  9. [ian@atticf27 ~]$ # A few minutes later
  10. [ian@atticf27 ~]$ lpq -a
  11. Rank Owner Job File(s) Total Size
  12. active pat 6 bitlib.h 6144 bytes
  13. 1st pat 7 bitlib.C 6144 bytes

列表 6. 运用 lpmove 挪动作业到别的一个打印行列步队

假如你运用的是 CUPS 之外的打印效劳器,比方 LPD 或许 LPRng,大少数的行列步队办理功用是由 lpc 下令的子下令来处置的。比方,你可以运用 lpc topq 去挪动一个作业到行列步队的顶端。别的的 lpc 子下令包罗 disabledownenableholdmoveredirectrelease、和 start。这些子下令在 CUPS 的兼容下令中没有完成。

打印文件

怎样去打印创立的作业?大少数图形界面顺序都提供了一个打印办法,通常是 文件 菜单上面的选项。这些顺序为选择打印机、设置页边距、黑色或许彩色打印、打印数目、选择每张纸打印的页面数(每张纸打印两个页面,通常用于课本)等等,都提供了图形化的东西。如今,我将为你展现怎样运用下令行东西去办理这些功用,然后和图形化完成停止比拟。

打印文件最复杂的办法是运用 lpr 下令,然后提供一个文件名字。这将在默许打印机上打印这个文件。而 lp 下令不只可以打印文件,也可以修正打印作业。列表 7 展现了运用这个下令的一个复杂示例。留意,lpr 会静默处置这个作业,但是 lp 会表现处置后的作业的 ID。

  1. [ian@atticf27 ~]$ echo "Print this text" > printexample.txt
  2. [ian@atticf27 ~]$ lpr printexample.txt
  3. [ian@atticf27 ~]$ lp printexample.txt
  4. request id is HL-2280DW-12 (1 file(s))

列表 7. 运用 lpr 和 lp 打印

表 2 展现了 lpr 上你可以运用的一些选项。留意, lp 的选项和 lpr 的很相似,但是名字能够纷歧样;比方,-#lpr 上是相称于 lp-n 选项。检查 man 页面理解更多的信息。

< 如表现不全,请左右滑动 >
选项 作用
-C-J-T 设置一个作业名字。
-P 选择一个指定的打印机。
-# 指定打印数目。留意这差别于 lp 下令的 -n 选项。
-m 在作业完成时发送电子邮件。
-l 表现打印文件曾经为打印做好款式预备。相称于 -o raw
-o 设置一个作业选项。
-p 款式化一个带有暗影标题的文本文件。相干于 -o prettyprint
-q 暂缓(或列队)前面的打印作业。
-r 在文件进入打印池之后,删除文件。

表 2. lpr 的选项

列表 8 展现了一些选项。我要求打印之后给我发确认电子邮件,谁人作业被暂缓实行,而且在打印之后删除文件。

  1. [ian@atticf27 ~]$ lpr -P HL-2280DW -J "Ian's text file" -#2 -m -p -q -r printexample.txt
  2. [[ian@atticf27 ~]$ lpq -l
  3. HL-2280DW is ready
  4.  
  5.  
  6. ian: 1st [job 13 localhost]
  7. 2 copies of Ian's text file 1024 bytes
  8. [ian@atticf27 ~]$ ls printexample.txt
  9. ls: cannot access 'printexample.txt': No such file or directory

列表 8. 运用 lpr 打印

我如今有一个在 HL-2280DW 打印行列步队上暂缓实行的作业。然后怎样做?lp 下令可以经过运用 -H 的种种选项来暂缓或许投放作业。列表 9 展现了怎样投放被暂缓的作业。检查 lp 下令的 man 页面理解别的选项的信息。

  1. [ian@atticf27 ~]$ lp -i 13 -H resume

列表 9. 重启一个暂缓的打印作业

并不是一切的可用打印机都支持相反的选项集。运用 lpoptions 下令去检查一个打印机的常用选项。添加 -l 选项去表现打印机公用的选项。列表 10 展现了两个示例。很多罕见的选项触及到人像/景色打印、页面巨细和输入在纸张上的结构。细致信息检查 man 页面。

  1. [ian@atticf27 ~]$ lpoptions -p HL-2280DW
  2. copies=1 device-uri=dnssd://Brother%20HL-2280DW._pdl-datastream._tcp.local/
  3. finishings=3 job-cancel-after=10800 job-hold-until=no-hold job-priority=50
  4. job-sheets=none,none marker-change-time=1517325288 marker-colors=#000000,#000000
  5. marker-levels=-1,92 marker-names='Black Toner Cartridge,Drum Unit'
  6. marker-types=toner,opc number-up=1 printer-commands=none
  7. printer-info='Brother HL-2280DW' printer-is-accepting-jobs=true
  8. printer-is-shared=true printer-is-temporary=false printer-location
  9. printer-make-and-model='Brother HL-2250DN - CUPS+Gutenprint v5.2.13 Simplified'
  10. printer-state=3 printer-state-change-time=1517325288 printer-state-reasons=none
  11. printer-type=135188 printer-uri-supported=ipp://localhost/printers/HL-2280DW
  12. sides=one-sided
  13.  
  14. [ian@atticf27 ~]$ lpoptions -l -p xp-610
  15. PageSize/Media Size: *Letter Legal Executive Statement A4
  16. ColorModel/Color Model: *Gray Black
  17. InputSlot/Media Source: *Standard ManualAdj Manual MultiPurposeAdj MultiPurpose
  18. UpperAdj Upper LowerAdj Lower LargeCapacityAdj LargeCapacity
  19. StpQuality/Print Quality: None Draft *Standard High
  20. Resolution/Resolution: *301x300dpi 150dpi 300dpi 600dpi
  21. Duplex/2-Sided Printing: *None DuplexNoTumble DuplexTumble
  22. StpiShrinkOutput/Shrink Page If Necessary to Fit Borders: *Shrink Crop Expand
  23. StpColorCorrection/Color Correction: *None Accurate Bright Hue Uncorrected
  24. Desaturated Threshold Density Raw Predithered
  25. StpBrightness/Brightness: 0 100 200 300 400 500 600 700 800 900 *None 1100
  26. 1200 1300 1400 1500 1600 1700 1800 1900 2000 Custom.REAL
  27. StpContrast/Contrast: 0 100 200 300 400 500 600 700 800 900 *None 1100 1200
  28. 1300 1400 1500 1600 1700 1800 1900 2000 2100 2200 2300 2400 2500 2600 2700
  29. 2800 2900 3000 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000 Custom.REAL
  30. StpImageType/Image Type: None Text Graphics *TextGraphics Photo LineArt
  31.  

列表 10. 反省打印机选项

大少数的 GUI 使用顺序有一个打印对话框,通常你可以运用 文件 >打印 菜单去选择它。图 1 展现了在 GIMP 中的一个示例,GIMP 是一个图像处置顺序。

图 1. 在 GIMP 中打印

图 1. 在 GIMP 中打印

到现在为止,我们一切的下令都是隐式指向到当地的 CUPS 打印效劳器上。你也可以经过指定 -h 选项和一个端标语(假如不是 CUPS 的默许端标语 631 的话)将打印转向到别的一个零碎上的效劳器。

CUPS 和 CUPS 效劳器

CUPS 打印零碎的中心是 cupsd 打印效劳器,它是一个运转的保卫历程。CUPS 设置装备摆设文件普通位于 /etc/cups/cupsd.conf/etc/cups 目次也有与 CUPS 相干的别的的设置装备摆设文件。CUPS 普通在零碎初始化时期启动,依据你的刊行版差别,它也能够经过位于 /etc/rc.d/init.d 或许 /etc/init.d 目次中的 CUPS 剧本来控制。关于 最新运用 systemd 来初始化的零碎,CUPS 效劳剧本能够在 /usr/lib/systemd/system/cups.service 中。和大少数运用剧本的效劳一样,你可以中止、启动、或许重启保卫顺序。检查我们的教程:学习 通博8888官网,101:运转级别、引导目的、封闭、和重启动,理解运用初始化剧本的更多信息。

设置装备摆设文件 /etc/cups/cupsd.conf 包括一些办理参数,比方拜访打印零碎、能否容许近程打印、当地打印池文件等等。在一些零碎上,第二局部独自描绘了打印行列步队,它普通是由设置装备摆设东西主动天生的。列表 11 展现了一个默许的 cupsd.conf 文件中的一些条款。留意,正文因此 # 字符扫尾的。默许值通常以正文的方法表现,而且可以经过删除后面的 # 字符去改动默许值。

  1. # Only listen for connections from the local machine.
  2. Listen localhost:631
  3. Listen /var/run/cups/cups.sock
  4.  
  5. # Show shared printers on the local network.
  6. Browsing On
  7. BrowseLocalProtocols dnssd
  8.  
  9. # Default authentication type, when authentication is required...
  10. DefaultAuthType Basic
  11.  
  12. # Web interface setting...
  13. WebInterface Yes
  14.  
  15. # Set the default printer/job policies...
  16. <Policy default>
  17. # Job/subscription privacy...
  18. JobPrivateAccess default
  19. JobPrivateValues default
  20. SubscriptionPrivateAccess default
  21. SubscriptionPrivateValues default
  22.  
  23. # Job-related operations must be done by the owner or an administrator...
  24. <Limit Create-Job Print-Job Print-URI Validate-Job>
  25. Order deny,allow
  26. </Limit>

列表 11. 默许的 /etc/cups/cupsd.conf 文件的局部内容

可以用在 cupsd.conf 中运用的文件、目次、和用户设置装备摆设下令,如今都存储在作为替换的 cups-files.conf 中。这是为了防备某些范例的提权打击。列表 12 展现了 cups-files.conf 文件中的一些条款。留意,正如在文件条理构造规范(FHS)中所希冀的那样,打印池文件默许保管在文件零碎的 /var/spool 目次中。检查 man 页面理解 cupsd.confcups-files.conf 设置装备摆设文件的更多信息。

  1. # Location of the file listing all of the local printers...
  2. #Printcap /etc/printcap
  3.  
  4. # Format of the Printcap file...
  5. #PrintcapFormat bsd
  6. #PrintcapFormat plist
  7. #PrintcapFormat solaris
  8.  
  9. # Location of all spool files...
  10. #RequestRoot /var/spool/cups
  11.  
  12. # Location of helper programs...
  13. #ServerBin /usr/lib/cups
  14.  
  15. # SSL/TLS keychain for the scheduler...
  16. #ServerKeychain ssl
  17.  
  18. # Location of other configuration files...
  19. #ServerRoot /etc/cups

列表 12. 默许的 /etc/cups/cups-files.conf 设置装备摆设文件的局部内容

列表 12 提及了 /etc/printcap 文件。这是 LPD 打印效劳器的设置装备摆设文件的名字,而且一些使用顺序依然运用它去确定可用的打印机和它们的属性。它通常是在 CUPS 零碎上主动天生的,因而,你能够没有须要去修正它。但是,假如你在诊断用户打印题目,你能够需求去反省它。列表 13 展现了一个示例。

  1. # This file was automatically generated by cupsd(8) from the
  2. # /etc/cups/printers.conf file. All changes to this file
  3. # will be lost.
  4. HL-2280DW|Brother HL-2280DW:rm=atticf27:rp=HL-2280DW:
  5. anyprint|Any available printer:rm=atticf27:rp=anyprint:
  6. XP-610|EPSON XP-610 Series:rm=atticf27:rp=XP-610:

列表 13. 主动天生的 /etc/printcap

这个文件中的每一行都有一个打印机名字、打印机描绘,近程呆板(rm)的名字、以及谁人近程呆板上的近程打印机(rp)。老的 /etc/printcap 文件也描绘了打印机的才能。

文件转换过滤器

你可以运用 CUPS 打印很多范例的文件,包罗明文的文本文件、PDF、PostScript、和种种款式的图像文件,你只需求提供要打印的文件名,除此之外你再无需向 lprlp 下令提供更多的信息。这个神奇的壮举是经过运用过滤器来完成的。实践上,这些年来最盛行的过滤器就就叫做 magicfilter(神奇的过滤器)。

当打印一个文件时,CUPS 运用多用处因特网邮件扩展(MIME)范例去决议适宜的转换过滤器。别的的打印数据包能够运用由 file 下令运用的神奇数字机制。关于 file 或许神奇数的更多信息可以检查它们的 man 页面。

输出文件被过滤器转换成两头层的光栅款式或许 PostScript 款式。一些作业信息,比方打印数目也会被添加出来。数据终极经过一个后端发送到目的打印机。另有一些可以用手动过滤的输出文件的过滤器(如 a2ps 或 dvips)。你可以经过这些过滤器取得特别款式的后果,或许行止理一些 CUPS 原生并不支持的文件款式。

添加打印机

CUPS 支持多种打印机,包罗:

  • 当地衔接的并行口和 USB 口打印机
  • 因特网打印协议(IPP)打印机
  • 近程 LPD 打印机
  • 运用 SAMBA 的 Microsoft® 通博8888® 打印机
  • 运用 NCP 的 Novell 打印机
  • HP Jetdirect 打印机

当零碎启动或许设置装备摆设衔接时,如今的大少数零碎都市实验主动检测和主动设置装备摆设当地硬件。异样,很多网络打印机也可以被主动检测到。运用 CUPS 的 web 办理东西(http://localhost:631 或许 http://127.0.0.1:631)去搜刮或添加打印机。很多刊行版都包括它们本人的设置装备摆设东西,比方,在 SUSE 零碎上的 YaST。图 2 展现了运用 localhost:631 的 CUPS 界面,图 3 展现了 Fedora 27 上的 GNOME 打印机设置对话框。

图 2. 运用 CUPS 的 web 界面

图 2. 运用 CUPS 的 web 界面

图 3. Fedora 27 上的打印机设置

图 3. Fedora 27 上的打印机设置

你也可以服从令行设置装备摆设打印机。在设置装备摆设打印机之前,你需求一些关于打印机和它的衔接方法的根本信息。假如是一个近程零碎,你还需求一个用户 ID 和暗码。

你需求去晓得你的打印机运用什么样的驱动顺序。不是一切的打印机都支持 通博8888官网,有些打印机在 通博8888官网 上压根就不克不及运用,或许功用受限。你可以去 OpenPrinting.org 去检查能否有你的特定的打印机的驱动顺序。lpinfo 下令也可以帮你辨认无效的设置装备摆设范例和驱动顺序。运用 -v 选项去列出支持的设置装备摆设,运用 -m 选项去列出驱动顺序,如列表 14 所示。

  1. [ian@atticf27 ~]$ lpinfo -m | grep -i xp-610
  2. lsb/usr/Epson/epson-inkjet-printer-escpr/Epson-XP-610_Series-epson-escpr-en.ppd.gz
  3. EPSON XP-610 Series, Epson Inkjet Printer Driver (ESC/P-R) for 通博8888官网
  4. [ian@atticf27 ~]$ locate "Epson-XP-610_Series-epson-escpr-en.ppd.gz"
  5. /usr/share/ppd/Epson/epson-inkjet-printer-escpr/Epson-XP-610_Series-epson-escpr-en.ppd.gz
  6. [ian@atticf27 ~]$ lpinfo -v
  7. network socket
  8. network ipps
  9. network lpd
  10. network beh
  11. network ipp
  12. network http
  13. network https
  14. direct hp
  15. serial serial:/dev/ttyS0?baud=115200
  16. direct parallel:/dev/lp0
  17. network smb
  18. direct hpfax
  19. network dnssd://Brother%20HL-2280DW._pdl-datastream._tcp.local/
  20. network dnssd://EPSON%20XP-610%20Series._ipp._tcp.local/?uuid=cfe92100-67c4-11d4-a45f-ac18266c48aa
  21. network lpd://BRN001BA98A1891/BINARY_P1
  22. network lpd://192.168.1.38:515/PASSTHRU

列表 14. 可用的打印机驱动顺序

这个 Epson-XP-610_Series-epson-escpr-en.ppd.gz 驱动顺序在我的零碎上位于 /usr/share/ppd/Epson/epson-inkjet-printer-escpr/ 目次中。

假如你找不到驱动顺序,你可以到打印机消费商的网站看看,说不定会有公用的驱动顺序。比方,在写这篇文章的时分,Brother 就有一个我的 HL-2280DW 打印机的驱动顺序,但是,这个驱动顺序在 OpenPrinting.org 上还没有列出来。

假如你搜集齐了根本信息,你可以如列表 15 所示的那样,运用 lpadmin 下令去设置装备摆设打印机。为此,我将为我的 HL-2280DW 打印机创立别的一个实例,以便于双面打印。

  1. [ian@atticf27 ~]$ lpinfo -m | grep -i "hl.*2280"
  2. HL2280DW.ppd Brother HL2280DW for CUPS
  3. lsb/usr/HL2280DW.ppd Brother HL2280DW for CUPS
  4. [ian@atticf27 ~]$ lpadmin -p HL-2280DW-duplex -E -m HL2280DW.ppd
  5. > -v dnssd://Brother%20HL-2280DW._pdl-datastream._tcp.local/
  6. > -D "Brother 1" -o sides=two-sided-long-edge
  7. [ian@atticf27 ~]$ lpstat -a
  8. anyprint accepting requests since Mon 29 Jan 2018 01:17:09 PM EST
  9. HL-2280DW accepting requests since Tue 30 Jan 2018 10:56:10 AM EST
  10. HL-2280DW-duplex accepting requests since Wed 31 Jan 2018 11:41:16 AM EST
  11. HXP-610 accepting requests since Mon 29 Jan 2018 10:34:49 PM EST

列表 15. 设置装备摆设一台打印机

你可以运用带 -c 选项的 lpadmin 下令去创立一个仅用于双面打印的新分类,而不必为了双面打印去创立一个打印机的正本。

假如你需求删除一台打印机,运用带 -x 选项的 lpadmin 下令。

列表 16 展现了怎样去删除打印机和创立一个替换类。

  1. [ian@atticf27 ~]$ lpadmin -x HL-2280DW-duplex
  2. [ian@atticf27 ~]$ lpadmin -p HL-2280DW -c duplex -E -D "Duplex printing" -o sides=two-sided-long-edge
  3. [ian@atticf27 ~]$ cupsenable duplex
  4. [ian@atticf27 ~]$ cupsaccept duplex
  5. [ian@atticf27 ~]$ lpstat -a
  6. anyprint accepting requests since Mon 29 Jan 2018 01:17:09 PM EST
  7. duplex accepting requests since Wed 31 Jan 2018 12:12:05 PM EST
  8. HL-2280DW accepting requests since Wed 31 Jan 2018 11:51:16 AM EST
  9. XP-610 accepting requests since Mon 29 Jan 2018 10:34:49 PM EST

列表 16. 删除一个打印机和创立一个类

你也可以运用 lpadmin 或许 lpoptions 下令去设置种种打印机选项。细致信息请检查 man 页面。

排错

假如你有打印题目,实验下列的提示:

  • 确保 CUPS 效劳器正在运转。你可以运用 lpstat 下令,假如它不克不及衔接到 cupsd 保卫顺序,它将会陈诉一个错误。或许,你可以运用 ps -ef 下令在输入中去反省能否有 cupsd。
  • 假如你试着列队一个打印作业而失掉一个错误信息,指示打印机不承受这个作业,你可以运用 lpstat -a 或许 lpc status 去反省谁人打印机能否承受作业。
  • 假如一个行列步队中的作业没有打印,运用 lpstat -plpc status 去反省谁人打印机能否承受作业。如后面所讨论的那样,你能够需求将这个作业挪动到别的的打印机。
  • 假如这个打印机是近程的,反省它在近程零碎上能否存在,而且是可操纵的。
  • 反省设置装备摆设文件,确保特定的用户或许近程零碎容许在这个打印机上打印。
  • 确保防火墙容许近程打印恳求,能否容许从别的零碎到你的零碎,或许从你的零碎到别的零碎的数据包通讯。
  • 验证能否有准确的驱动顺序。

正如你所见,打印触及到你的零碎中的几个组件,乃至另有网络。在本教程中,基于篇幅的思索,我们仅能给你的诊断提供了几个动手点。大少数的 CUPS 零碎也有完成我们所讨论的下令行功用的图形界面。普通状况下,这个界面是从当地主机运用阅读器指向 631 端口(http://localhost:631http://127.0.0.1:631)来拜访的,如后面的图 2 所示。

你可以经过将 CUPS 运转在前台而不是做为一个保卫历程来诊断它的题目。假如有需求,你也可以经过这种方法去测试替换的设置装备摆设文件。运转 cupsd -h 取得更多信息,或许检查 man 页面。

CUPS 也带有一个拜访日记和错误日记。你可以在 cupsd.conf 中运用 LogLevel 语句来改动日记级别。默许状况下,日记是保管在 /var/log/cups 目次。它们可以在阅读器界面(http://localhost:631)下,从 Administration 选项卡中检查。运用不带任何选项的 cupsctl 下令可以表现日记选项。也可以编辑 cupsd.conf 或许运用 cupsctl 去调解种种日记参数。检查 cupsctl 下令的 man 页面理解更多信息。

在 Ubuntu 的 Wiki 页面上的 调试打印题目 页面也是一个十分好的学习的中央。

这便是关于打印和 CUPS 的引见。

【编辑引荐】

  1. 让通博8888官网内核变小 与旧CPU架构说再见!
  2. 怎样记载通博8888官网的零碎运转工夫的统计信息
  3. 给初学者的通博8888官网 type下令教程
  4. 通博8888官网中的5个SSH又名例子
  5. 这里帮你总结了一下通博8888官网下检查内存运用状况的多种办法~
【责任编辑:庞桂玉 TEL:(010)68476606】

点赞 0
各人都在看
猜你喜好

读 书 +更多

零碎剖析师技能指南

本书对前沿而又成熟的零碎剖析技能和办法停止了讨论,包罗CMM与进程改良、J2EE与NET平台、两头件及相干技能、使用效劳器、Web 效劳、数据...

订阅51CTO邮刊

点击这里检查样刊

订阅51CTO邮刊