CUPS 客户端是否需要在本地安装驱动程序?

bak*_*ytn 10 printing samba cups

如果我使用 CUPS,客户端是否应该在本地安装驱动程序?

示例:假设我们有 1 台装有 Linux 的联网 PC、1 台打印服务器(或 CUPS、Samba 打印服务器)

如果 Linux PC 想要通过打印服务器打印文档,Linux PC 是否需要为要使用的打印机安装驱动程序?

还是使用了一些通用的 API?

roz*_*acz 10

运行 CUPS 的打印服务器是唯一需要驱动程序的机器。例如,在Wikipedia 上阅读CUPS - 在概述部分,它非常清楚地说明了这一点:

CUPS 允许打印机制造商和打印机驱动程序开发人员更轻松地创建在打印服务器上本地工作的驱动程序。处理发生在服务器上,与其他 Unix 打印系统相比,可以更轻松地进行基于网络的打印。安装 Samba 后,用户可以对远程 Windows 计算机上的打印机进行寻址,并且可以使用通用 PostScript 驱动程序通过网络进行打印。

否则,运行 CUPS 的真正好处是什么?


Con*_*lls 5

如果您使用 Samba/CUPS 作为基于 Windows 的客户端的打印服务器,那么客户端通常会有该打印机的驱动程序,尽管在某些情况下 CUPS 可以进行自己的转换。例如,可以设置 ghostscript 和渲染 postscript 以在非 PS 打印机上显示,尽管 Windows 客户端需要一个与此配合良好的 PS 驱动程序。

对于 Linux 客户端,答案是:它很复杂,但并不复杂。传统的 Unix/Linux 没有与 Windows 的 GDI 等效的标准本机打印或渲染 API,尽管诸如Cairo 之类的库可以为使用它们的应用程序提供此功能。大多数传统的 Unix 应用程序只是将 ASCII 打印到标准输出或本地生成 Postscript 文件。独立于设备的渲染库(例如 Cairo)将通过自己的驱动程序渲染到 Postscript,该驱动程序将与库捆绑在客户端上。

您几乎肯定会在 CUPS 或更旧的 lpr/lpd 打印系统的工作流程中找到 Postscript。通常,客户端将生成 ASCII 或 Postscript 输出。ASCII 输出将通过诸如 a2ps 和 Postscript 之类的东西进行转换。Postscript 将被传递到打印机或基于 Ghostscript 的渲染层。

我已经有一段时间没有设置基于 linux 的打印子系统了,但是 IIRC PS 驱动程序非常通用,只有一个用于目标打印机的 PPD 文件。客户不一定需要了解太多。传统上,您只需设置以不同方式打印的队列(例如双面打印、非双面打印或信头纸),它们就会成为单独的打印目的地。

如果您使用具有本地打印机控制的应用程序,例如使用GNOME-Print API 的应用程序,或直接使用lpr -o选项打印文件,则打印工具可以对实际打印机目标进行更多控制。例如,可以选择特定的托盘或双面打印选项。如果您在 CUPS 服务器上安装了正确的打印机 PPD 文件,那么这些选项应该可以从客户端运行,而无需客户端安装额外的驱动程序软件。

编辑:在你的情况下,我认为问题可能在于 LBP810 是一个 winprinter,并且从来没有为它生产过任何 Linux 驱动程序。你最好的办法可能是换一台不同的打印机,如果你的方法正确,这可以非常便宜地完成。

Ebay 上的二手激光打印机非常便宜,您可以花100 美元左右购买Laserjet 4100 或类似产品,具体取决于您所在的位置。所有中档 HP 激光器都支持 Postscript 或 PCL5/6,并且可以很好地与 Linux 和 CUPS 配合使用。您应该可以轻松地使用其中一个来工作,并且使用过的东西非常便宜,您可以将它们视为一次性物品。