SDB:How to set-up a HP printer

跳转到:导航搜索
HPLIP
openSUSE 下载


开发者: HPLIP - HP Linux Imaging and Printing
许可: GNU 通用公共许可证 (GPL) v2; MIT 许可; BSD 许可 (许可信息)
网站: https://developers.hp.com/hp-linux-imaging-and-printing

本文档介绍了如何使用 HPLIP 软件操作惠普 (Hewlett-Packard) 打印机和一体机。

hplip 包正在 2025 年进行重构。更新的文档请在此处查找:此处

本文适用于 Linux 下 CUPS 版本高达 2.x,以及那里的传统过滤系统和后端。

如今的无驱动程序打印工作流程则大不相同。

所需软件

打开 YaST 的 软件管理,并确保已安装 HPLIP。hplip 包包含在默认 软件包仓库 ("OSS" 或 "Update") 中。如今,默认情况下仅安装了纯 HPLIP 打印机驱动程序 (HPCUPS 和 HPIJS) 和扫描仪驱动程序 (HPAIO) 在 hplip-hpijs 和 hplip-sane 包中,而不是包含所有图形化工具和其他 HP 特定的可选软件的完整 HPLIP 软件在 hplip 主包中(就像其他纯打印机驱动程序和扫描仪驱动程序一样)。如果您有惠普打印机,您可能希望安装 hplip 主包以使用 HP 特定的软件,例如 HP 的打印机设置工具 "hp-setup" 和 HP 的桌面应用程序 "hp-toolbox"(HP 设备管理器)。

如果您有一台全新的惠普打印机,并且在购买之前,请在 HPLIP 上游支持的设备页面 https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index 上验证您的特定型号是否真正受支持(请参阅 SDB:Printer buying guide 中的“惠普打印机”)。如果受支持,请检查所需的 HPLIP 最低版本。如果需要,您可能需要通过 https://software.opensuse.net.cn/search?q=hplip 在 openSUSE 构建服务上搜索更新的 hplip 包(请参阅 SDB:Installing a Printer 中的“打印机驱动程序软件包的版本升级”)。在信息框的上方搜索中选择您的 openSUSE 版本。

较新的 hplip 包通常位于 "Printing" 仓库中。您可以查看 SDB:添加软件包仓库 中如何添加软件包仓库。PackMan 仓库也可能提供更新的 hplip 包。


某些设备需要专有的 HPLIP 插件

许多受 HPLIP 支持的惠普打印机需要来自 HP 的非免费驱动程序软件“插件”(即专有软件和固件)才能用于 HPLIP(参阅 SDB:Printer buying guide)。由于该插件是非免费软件,因此无法在免费软件 HPLIP 中提供。该插件必须从 HP 下载并在需要时安装在计算机上。该插件仅适用于 x86_64 架构。

建议使用hp-setuphplip 包中的工具来设置需要专有插件的 HP 设备。或者,现代支持 AirPrint 协议的网络打印设备可以在 CUPS 无驱动模式下设置,而无需使用 HPLIP 软件。

HP 设备需要 HP 专有 HPLIP 插件的列表(不幸的是,并非最新)可在 https://developers.hp.com/hp-linux-imaging-and-printing/binary_plugin.html 上找到。截至 2024 年,大多数最新的 HP 设备无需插件即可打印,但“Color Laserjet Pro MFP”系列除外。但是,对于扫描,大多数最新的 HP 多功能设备需要二进制插件。再次,兼容 AirScan 的设备可以使用开源 sane-airscan 驱动程序,而无需使用 HPLIP 包。

固件上传会干扰正常打印使用

某些惠普 USB 打印机(例如 HP LaserJet 1018)在通电时首先需要上传固件。这些设备在 USB 上显示为常规 USB 打印机,但只要它们没有特定的固件,它们就不会像常规 USB 打印机一样运行。如果没有固件,它们所能做的就是接收固件,如果它们接收到其他内容,它们基本上会“挂起”。

固件由专有的 HPLIP 插件提供,并通过56-hpmud.rules通过 udev 上传到打印机(即当打印机通过 USB 连接到计算机并通电时)。

当需要固件上传的惠普 USB 打印机通电并且已经存在待处理的打印作业时,待处理的作业将被发送到打印机(因为它在 USB 上显示为常规 USB 打印机),但这会干扰固件上传。因此,如果您使用需要固件上传的惠普打印机,请确保在通电之前没有待处理的打印作业(简单的 "cancel -a" 将从所有打印队列中删除所有待处理的打印作业)。

固件上传会干扰自动打印机配置实用程序,例如 udev-configure-printer。因此,如果您使用需要固件上传的惠普 USB 打印机,则应卸载 udev-configure-printer 包。请参阅 bug#1151174

插件版本必须与 HPLIP 版本匹配

由于 HPLIP 插件不是作为 RPM 包安装的,而是通过分离且不同的方法安装的,因此可以通过 RPM 包进行 HPLIP 版本升级,而无需进行自动匹配的 HPLIP 插件升级(因为在这种情况下不能有 RPM 依赖项)。因此,通过 RPM 包进行 HPLIP 版本升级后,必须手动升级 HPLIP 插件(如果使用了插件)。安装的 HPLIP 插件版本列在/var/lib/hp/hplip.state并且那里的版本必须与安装的 HPLIP RPM 包的版本匹配。否则,事情可能会以任意且可能难以解释的方式失败。请参阅 bug#1187232

HPLIP 将固件和插件文件安装到各种目录中,例如

/usr/share/hplip/data/firmware
/usr/share/hplip/data/plugins
/usr/share/hplip/prnt/plugins
/usr/share/hplip/scan/plugins
/usr/share/hplip/fax/plugins

参阅 bug#1187232 中的评论 14

设置

终端启动

打开 终端(参阅:SDB:什么是控制台),输入

su - -c "hp-setup"

然后按“ENTER”键。

这将要求输入系统的 'root' 密码,然后启动图形化安装程序,该程序将引导您完成安装过程。

有关更多详细信息,您可以查看 HPLIP 项目的文档,例如 https://developers.hp.com/hp-linux-imaging-and-printing/downloads

通过 "hp-toolbox" 启动

另一种启动相同图形化安装程序的方法是启动应用程序 "hp-toolbox"(HP 设备管理器)。

安装打印机后,您还可以使用它将其他惠普打印机添加到您的打印机列表中。

通过 YaST 打印机模块启动

openSUSE 11.3 以来,您可以从 YaST 打印机模块通过“添加”按钮,然后“运行 hp-setup”来启动相同的图形化安装程序。

特殊情况

通过网络 (LAN 或 WLAN) 连接的打印机

当您安装通过网络(LAN 或无线 LAN)连接到计算机的惠普打印机时,您可能需要打印机的 IP 地址。获取此信息的最佳方法是通过打印机的设置菜单。

要设置网络打印机,需要具备一定的网络设置知识。设置打印机 IP 地址的最佳方法是在打印机中指定固定的 IP 地址(就像网络服务器一样,因为网络打印机是提供打印服务的服务器)。这可以通过直接 USB 电缆连接到打印机或通过打印机的设置菜单来完成。

网络打印机设置
1. 在 hp-setup 菜单中选择“网络/以太网...”选项
2. 单击“显示高级选项”按钮,选中“手动发现”复选框,然后输入打印机的 IP 地址
3. 单击“下一步”并按照上述说明设置打印机

故障排除

作为一种解决方法,暂时禁用网络打印机防火墙可能会有所帮助,以便找到它们。一旦找到并添加了打印机,应重新启用防火墙。正确的解决方案是正确设置网络和防火墙。有关更多信息,请参阅 SDB:CUPS 和 SANE 防火墙设置,特别是 "关于打印机防火墙设置的具体内容" 部分。

确保提供 HPLIP 软件的软件包来自同一个仓库(即不要混合来自 PackMan 和 openSUSE 的软件包)。您可以在 YaST 软件管理的“版本”选项卡中检查软件包的仓库。openSUSE 在 hplip 和 hplip-hpijs 包中提供 HPLIP,并且自 openSUSE 12.1 以来,在 hplip-sane 包中提供。PackMan 在 hplip 和 hplip-hpcups 包中提供 HPLIP。

如果它适用于 root 但不适用于普通用户,通常原因是您的用户帐户没有足够的权限才能访问该设备。默认情况下,设备文件应由 root 拥有,并属于 lp 组,这符合 HP USB 设备的 udev 规则。要确定设备文件,请运行 "lsusb" 并记住设备的总线和设备编号。匹配的设备文件是 "/dev/bus/usb/<总线编号>/<设备编号>".
一种解决方法是使用 YaST → 安全性和用户将所需的帐户添加到 'lp' 组。或者,请参阅 SDB:配置扫描仪,特别是 "通过 udev 设置 USB 扫描仪访问权限" 部分。

对于惠普一体化 USB 设备,udev 规则存在特殊复杂性,因为惠普一体化设备具有来自 sane-backends 包的额外的 udev 规则,用于通过 ACL 设置读/写权限(运行 "getfacl /dev/bus/usb/<总线编号>/<设备编号>" 以显示它们)给当前本地登录的普通桌面用户(即通过图形 XDM/Kdm 登录),以便当前登录的桌面用户可以以普通用户身份使用扫描仪单元。

hplip 包中的规则位于 /etc/udev/rules.d/55-hpmud.rules,而 sane-backends 包中的 udev 规则位于 /etc/udev/rules.d/55-libsane.rules,这些规则在 /etc/udev/rules.d/55-hpmud.rules 之后设置,因此 /etc/udev/rules.d/55-libsane.rules 中的条目可能会覆盖 /etc/udev/rules.d/55-hpmud.rules 中的设置。从那时起,hplip 包中的 udev 规则位于 /etc/udev/rules.d/56-hpmud.rules,以便在 sane-backends 包中的 udev 规则之后设置。

通常,关于 HPLIP 的问题

通常情况下,我们(即 openSUSE)会分发来自各个上游项目的各种打印机驱动包,但我们不开发打印机驱动,因此通常在某个打印机驱动无法工作时我们无能为力。特别是,我们通常无法重现打印机驱动的问题。

如果遇到打印机驱动问题,请参阅 SDB:How to Report a Printing Issue,了解基本的测试和诊断问题原因的基本操作。

如果在使用 HPLIP 时遇到问题,在终端中运行 "hp-check -r" 可能会帮助追踪问题 - 但 hp-check 也可能报告具有误导性的“假阳性”问题。

如果在使用 HPLIP 时遇到问题,请按照以下说明直接向 HP 报告:

https://developers.hp.com/hp-linux-imaging-and-printing/about

如果在 HPLIP 上游网页 https://developers.hp.com/hp-linux-imaging-and-printing/supported_devices/index 上列出了您的特定打印机型号受支持,但您在使用我们提供的 openSUSE 版本中的 HPLIP 时仍然无法正常工作,您应该检查是否已有更新版本可用,并尝试该更新版本是否适用于您的特定型号,请参阅 SDB:Installing a Printer 中的“打印机驱动包的版本升级”。

也就是说,在向 HPLIP 上游项目的驱动程序作者报告问题之前,您可能需要将 hplip RPM 包升级到 openSUSE “Printing” 项目中的版本,并验证该问题是否也发生在最新的 HPLIP 版本中。

参见

其他页面

打印门户

YaST Printer (openSUSE 的标准打印机安装)

SDB:Configuring Scanners

Printers, Section: Hewlett-Packard 在硬件兼容性列表中

Novell 和 openSUSE 的链接

Novell 的 Bugzilla:在 Bugzilla 中搜索 已解决和未解决的错误(您可以根据您的 openSUSE 版本细化搜索)。

openSUSE 论坛:搜索手动 标记为 hplip 的帖子,或使用 高级搜索

其他外部链接

HP Linux Imaging and Printing (HPLIP) https://developers.hp.com/hp-linux-imaging-and-printing(文本中的外部链接指向此 HPLIP 项目的子页面)