使用 CUPS 在 Linux 上进行打印的技巧和窍门

Apple 对 GNU/Linux 最重要的贡献之一是在 Mac OS X 中采用 CUPS。
232 位读者喜欢此文章。
document sending

Opensource.com

您是否尝试过在 90 年代末(甚至更早)的 GNU/Linux 桌面发行版上配置打印机?

长话短说:如果您在拥有 IT 团队来处理打印机问题和专用硬件或打印服务器的大型组织工作,那还不错。当时有许多不同的标准和协议来处理打印机。而且只有少数大型供应商(通常是 Unix 供应商)为其整个产品系列提供专门的支持和驱动程序。

但是,如果开源爱好者想要一台可以在他们最喜欢的发行版上使用的家用打印机,那就是另一回事了。他们可能花费大量时间在论坛、新闻组或 IRC(还记得那些社交网络和聊天的鼻祖吗?)上询问具有易于安装的 Linux 驱动程序的打印机。

1999 年,Easy Software Products 发布了第一版 CUPS (通用 Unix 打印系统)。当时大多数流行的发行版都采用 CUPS 作为其默认打印系统。这是一个巨大的成功:一个标准可以处理许多打印机和协议。

但是,如果打印机供应商没有提供 CUPS 驱动程序,那么使其工作仍然很棘手或不可能。一些聪明的人可能会进行逆向工程。而少数具有 PostScript 和 Internet 打印协议 (IPP) 本机支持的打印机可以“开箱即用”。

然后是 Apple

在 2000 年代初,Apple 正在努力为其新的 Mac OS X 构建一个新的打印系统。2002 年 3 月,它决定通过采用 CUPS 作为其旗舰操作系统来节省时间。

没有打印机供应商可以忽视 Apple 电脑的市场份额,因此大量适用于 Mac OS X 的 CUPS 的新打印机驱动程序开始出现,涵盖了大多数供应商和产品范围,包括企业、图形艺术、消费者和照片打印。

CUPS 对 Apple 变得如此重要,以至于它在 2007 年从 Easy Software Products 购买了该软件;此后,Apple 继续维护它并管理其知识产权。

但这与 GNU/Linux 有什么关系?

在 Apple 将 CUPS 集成到 Mac OS X 中时,它已经默认在许多发行版中使用,并且适用于大多数其他发行版。但是,很少有专用驱动程序可用,这意味着它们没有被打包或列为“适用于 GNU/Linux”。

但是,一旦 Mac OS X 可以使用 CUPS 驱动程序,GNU/Linux 爱好者中流行了一个简单的技巧:下载 Mac 驱动程序,提取 PPD 文件,并使用您的打印机进行测试。我多次使用这种技巧来使用我的 Epson 打印机。

这就是 CUPS 的魔力:如果存在驱动程序,只要它们使用受支持的协议(如 IPP),它通常适用于所有使用 CUPS 进行打印的操作系统。

这就是打印机驱动程序开始适用于 GNU/Linux 的方式。

现在

之后,打印机供应商意识到为 GNU/Linux 提供驱动程序非常容易,因为他们已经为 Mac 开发了它们。现在很容易找到打印机的 GNU/Linux 驱动程序,即使是较新的打印机也是如此。某些发行版包含包含大量驱动程序的软件包,而大多数供应商都提供专用驱动程序 - 有时通过软件包,有时通过存档中的 PPD 文件。

也有可用的高级控制应用程序,一些是官方的,一些不是,这使得(例如)查看墨水液位或清洁打印头成为可能。

在某些情况下,在 GNU/Linux 上安装打印机甚至比在其他操作系统上更容易,尤其是在使用零配置网络(例如,Bonjour,Avahi)来自动发现和共享网络打印机的发行版上。

技巧和窍门

  • 安装 PDF 打印机: 在 GNU/Linux 上安装 PDF 打印机非常容易。只需在您喜欢的发行版中查找 cups-pdf 软件包并安装它。如果该软件包没有自动创建 PDF 打印机,您可以使用系统首选项添加一个,以便从任何应用程序中打印为 PDF。

  • 访问 CUPS Web 界面: 如果您常用的打印机管理界面无法工作或者您不喜欢它,请打开一个 Web 浏览器并转到 http://localhost:631/admin。您可以管理计算机上安装的所有打印机,调整其设置,甚至添加新的打印机 - 所有这些都可以通过此 Web 界面完成。请注意,这可能在您网络上的其他计算机上可用;如果是这样,请将“localhost”替换为相关的 hostname 或 IP 地址。

  • 检查墨水液位: 如果您有 Epson、Canon、HP 或 Sony 打印机,您可以使用一个简单的应用程序查看其墨水液位。在您的发行版存储库中查找“ink”软件包。

  • 为 CUPS 做贡献: 与许多开源项目一样,CUPS 在 GitHub 上维护。查看 CUPS 网站GitHub issues 以了解如何为改进它做出贡献。

CUPS 许可

最初,CUPS 是在 GPLv2 下发布的。我不确定为什么;也许是为了更容易与 GNU/Linux 一起分发。或者可能只是当时大多数开源项目所做的事情。

Apple 决定在 2017 年 11 月 将许可更改为 Apache 2.0 许可。许多观察家评论说,这与 Apple 将其开源项目的 IP 转移到更符合业务的许可的策略是一致的。

虽然此更改可能会在使用 GNU/Linux 运送 CUPS 时产生问题,但它仍然在大多数发行版中可用。

CUPS,20 岁生日快乐!

CUPS 于 1999 年发布,因此,让我们庆祝并感谢所有参与这个成功的开源项目的人,从最初的作者到驱动程序开发人员再到当前的维护人员。

下次您使用您最喜欢的 GNU/Linux 操作系统进行打印时,请提醒自己对 Apple 说“谢谢”。

该公司并不以其对开源的贡献而闻名。但是,如果您仔细观察(例如,Apple 的开源版本开源开发 页面),您会看到 Apple 的操作系统和应用程序中有多少开源组件。

您还将发现 Apple 发起的其他重要开源项目。例如,它 fork 了 KDE 浏览器 KHTML,为 Safari 浏览器创建了 WebKit。等等,是那个 WebKit 吗?是的,Apple 发起了 WebKit。但那是另一个故事了...

标签
User profile image.
Hyland 的社区经理。Une Jolie Musique 的创始人,这是一个非营利工作室,仅使用开源和基于开源的软件来录制音乐和制作视频。我还教授和建议有关开源的知识,并编写教程。多年来一直参与各种开源和自由软件项目和社区。

6 条评论

很棒的文章,Antoine!感谢分享您的专业知识。

非常有趣,Antoine。感谢您为我们上的这堂历史-技术课!

您说“虽然此更改可能会在使用 GNU/Linux 运送 CUPS 时产生问题,但它仍然在大多数发行版中可用。”但从未解释原因。每个主要的 Linux 发行版中都有大量软件使用该许可证,从 Apache Web 服务器开始。您为什么认为使用该许可证运送 CUPS 会给发行版带来问题?

你好,有趣的问题。
关键不是禁止在 GNU/Linux 上安装 CUPS 或 Apache Web 服务器。但可能无法通过 GPL 的 GNU/Linux 发行版的安装程序默认运送它。
但是,我不是律师,因此对于 OSI 的 FSF 而言,这是一个非常有趣的问题,关于许可证不兼容和版权。我很想得到一个详细的答案。

回复 作者 sgtrock

我真的很喜欢 Apple 转向成为基于 UNIX 的操作系统。这使得在 Linux 和带有 X11 的 Mac 之间来回移动程序变得更加容易。
我真的不知道为什么 Windows 不使用类似 CUPS 的东西。即使您没有互联网连接,它似乎也能更好地工作。许多相同的打印机使用完全相同的驱动程序并使用相同的语言进行通信,因此为什么不利用它而不是每次都必须下载驱动程序。与 iPad 和 iPhone 的 Air Print 的工作方式非常相似。这只是让事情变得简单。

Creative Commons License此作品已根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.