我应该将 CUPS 打印设置为使用 IPP、LPD 还是 URL?

vir*_*xtc 47 networking printing kubuntu

当我要添加网络打印机时,我总是面临同样的困境:

我是通过 IPP、LPD 还是使用它的 IP 地址(AppSocket/Jetdirect?)来设置打印机,为什么?

各自的优缺点是什么?

IPP 与 IP 地址选项有何不同?如果我选择 IPP,是否会阻止我在 IP 地址更改时重新添加打印机?


这里有一个类似的问题,但答案是针对特定型号/情况的各种打印机连接之间有什么区别?


这是 Kubuntu 设置向导中 IP 样式配置的屏幕截图: 在此处输入图片说明

Kod*_*duX 54

LPD 是旧标准,IPP 是新标准。

Ubuntu 使用通用 UNIX 打印系统(“CUPS”)来处理打印。CUPS 使用 Internet 打印协议 (“IPP”) 作为管理打印作业和队列的基础。还支持其他协议(LPD、SMB、AppSocket 又名 JetDirect),其中一些具有减少的功能

LPD/LPR 仍然普遍使用并且工作得很好,但它没有为用户提供对每个打印作业的打印机设置的太多控制。

LPD 和 JetDirect/AppSocket 协议都可以在今天的 Internet 上使用,但是这些协议都没有提供身份验证服务、访问控制,并且所有文档管理和格式(包括打印机特定的命令)都必须由发送文件。

IPP 是首选,因为它使用双向通信,可为您提供更多反馈和控制。

某些打印机可能不支持 IPP。


Kur*_*fle 8

@KodduX 已经很好地回答了这个问题(我赞成)。但这里有一些额外的细节......

IPP 相对于 JetDirect/AppSocket 的主要优势如下:

  • AppSocket 是一种“即发即忘”的协议。IPP(S) 可以提供有关当前作业处理状态(当前打印哪个页面)的非常详细的反向通道信息,以及更多信息(例如查询过去、已完成或已取消的作业)。

  • AppSocket 是一个非常简单的协议,所以在 HP 推出之后(很久以前)每个人都可以对其进行逆向工程,即使它从未成为官方标准;它也非常可靠和强大(它支持所有这些空的“功能”)——这就是为什么它被几乎所有网络打印机广泛使用和支持。

  • IPP 由ISTO 打印机工作组 (PWG)标准化,该工作组几乎代表了世界各地的每一家打印机制造商。惠普自己甚至非常紧密地接受了 IPP,他们的 350 多种最新打印机型号通过了自我认证,符合新的“IPP Everywhere”标准

  • 使用 IPP(S),您有更多与安全相关的选项:身份验证/授权、传输数据的加密、访问控制等。

  • 使用 IPP,您可以为打印作业选项指定一组名称和值。双面打印是'sides=two-side-long-edge''...=two-side-short-edge' 之一,而在之前,您可以有多达十种或更多的方式来指定双面打印输出(因为每个供应商都可以自由使用自己的命名方案)。这同样适用于许多其他打印参数。

  • IPP(S) 允许您查询支持 IPP 的打印机(过去 10 年销售的 90% 以上的设备都可以使用 IPP——因为AirPrint只能因为它而工作;其中一半以上可以直接使用 PDF太)关于它的特定功能:它可以做颜色吗?它支持哪些纸张尺寸?它可以双面打印吗?它可以装订、打孔、折叠吗?它支持哪些 IPP 版本?我可以向它发送哪种页面描述语言(PDL——PostScript、PDF、PCL、JPEG 等)?等.pp ...

  • 随着 IPP 标准的最新发展,被恰当地称为“IPP Everywhere”无人驾驶打印终于开始工作了。杯子可以做到!每当遇到 IPP Everywhere 打印机时,它不再需要管理员准备或预安装的任何驱动程序和/或设备特定的 PPD:它知道它可以发送标准页面描述格式之一(JPEG、PWG- Raster、URF-Raster 或 PDF 不需要专有驱动程序生成),它可以查询设备有关其特定功能的信息,并会自动创建反映这些功能的 PPD,因此即使不支持 IPP 的应用程序仍然可以打印传统方式(这些“遗留”应用程序还不会使用 IPP,而是用于寻找 PPD——像 LibreOffice 或 Firefox 之类的应用程序或其他不做的事情)。

IPP就是未来,未来已经到来。(AppSocket 已经过去了,但它还没有完全消失。大多数 IPP 打印机仍然在谈论 AppSocket....)


但是,在您的打印机的特定情况下:某些供应商/型号的 IPP 实现有问题,它们可能无法正常工作,而 AppSocket 打印到同一型号可能会完美无缺。只需使用 IPP 对其进行测试,如果效果良好,请继续使用它。如果不是,请恢复为 AppSocket。