为 Arch Linux 安装 HP 打印机驱动程序

Vio*_*rin 12 drivers arch-linux printer

我现在使用一台 PC(我现在工作的实验室的),不久前我在上面成功安装了 Arch Linux。我想连接到那里的 HP 打印机,它已经连接到实验室的以太网。打印机是“HP Color LaserJet M552”。

我已经安装hplip(参考:CUPS/打印机特定问题);安装时,我记得有很多错误消息。

当我尝试打印一些文档时,没有找到打印机。我跑了sudo hp-setup(按照这里的建议:使用 hp-setup 配置您的打印机)。出现一个对话框,要求我提供“PPD”文件,我不知道它在哪里,它是做什么用的。

当我在寻找解决这个问题的材料时,不幸的是我发现 HP 似乎不支持 Arch Linux。

调用时有控制台错误消息hp-setup

HP Linux Imaging and Printing System (ver. 3.16.11)
Printer/Fax Setup Utility ver. 9.0

Copyright (c) 2001-15 HP Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

Searching... (bus=net, timeout=5, ttl=4, search=(None) desc=0, method=slp)
error: No PPD found for model color_laserjet_m552 using old algorithm.
error: No appropriate print PPD file found for model hp_color_laserjet_m552
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33404 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33834 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33922 bytes
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33582 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33940 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33514 bytes                                                                                                                                                                                                              
kf5.kio.core: KLocalSocket(0x129ca60) Jumbo packet of 33928 bytes      
Run Code Online (Sandbox Code Playgroud)

同时,系统提示我选择 PPD 文件。我选择的默认文件夹是/usr/share/ppd/hp,但是当我选择任何东西时,框仍然是空的,说我应该选择一个文件。显示了打印机名称,所以我认为连接没问题。

PS:我知道这种事情如果不亲自玩电脑很难调试。如果缺少任何信息,请询问。

Mat*_*aun 28

system-config-printer

按照这些步骤,我现在可以在 Arch Linux 4.16.9 上使用 Evince 打印文档,并通过 USB 连接 HP LaserJet P1102:

  1. 安装sudo pacman -Sy cups
  2. 启动并启用(开机后启动)CUPS 打印服务:(sudo systemctl enable --now cups服务单元的名称曾经是org.cups.cupsd
  3. 安装HP Linux 成像和打印sudo pacman -S hplip
  4. 通过 安装驱动程序插件sudo hp-setup -i。Root 权限在这里很重要,否则它会显示“错误:未选择/指定或支持此功能的设备”。选择连接方式时。在安装插件的过程中,我每次都选择了默认选项。
  5. 安装system-config-printer,一个用于配置打印机的 GUI 工具。
  6. 开始system-config-printer并单击按钮以添加打印机。选择您的打印机并选择 HPLIP 作为连接方法(参见屏幕截图)。
  7. system-config-printer 现在应该允许您打印测试页。
  8. 为了让像 Evince 这样的 GTK 应用程序在打印对话框中显示您的打印机,您还需要安装gtk3-print-backends

系统配置打印机屏幕截图


带有 CUPS 网络界面

system-config-printer您可以使用 CUPS 的 Web 界面,而不是上述描述,该界面可通过 访问localhost:631

在管理打印机之前,您必须将您的用户添加到组中sys,否则您将在 Web 界面中遇到错误,例如“无法修改打印机:禁止”。

gpasswd -a theUser sys
Run Code Online (Sandbox Code Playgroud)

或者,使用vigr编辑/etc/group

Web 界面将提示输入此用户及其密码。

/etc/cups/cups-files.conf定义组sys(和root)的成员可以管理打印机:

SystemGroup 系统根

处理组成员身份后,您可以添加打印机并执行其他管理任务:

通过网络界面添加打印机

在 中选择打印机后localhost:631/printers,您还可以通过 Web 界面打印测试页:

通过网络界面打印测试页


故障排除

保持lib与驱动程序同步

hplip来自的库pacman和通过安装的驱动程序插件hp-setup -i必须具有相同的版本,否则您将无法打印并在您的 systemd 日志中看到此错误消息(检查它journalctl -e):

validate_plugin_version() Plugin version[3.17.7] mismatch with HPLIP version[3.18.4]
Run Code Online (Sandbox Code Playgroud)

要解决此问题,您可以hp-setup -i再次运行,这将下载并安装当前的驱动程序。

我添加了以下内容以~/.bash_aliases防止驱动程序和库不同步:

alias upgrade-ignore-hp="(set -x; sudo pacman -Syu --ignore hplip)"
Run Code Online (Sandbox Code Playgroud)

序列号已更改

最近,我的打印机拒绝打印;system-config-printer以及 CUPS Web 界面将其显示为已暂停lpc status,并导致打印机“已禁用打印”。

cupsenable Hewlett-Packard-HP-LaserJet-Professional-P1102 没有帮助。

我通过更改打印机的连接解决了这个问题。使用前面提到的 CUPS Web 界面,我选择了我的打印机并单击下拉列表中的“修改打印机”。在这里,我改变了连接

hp:/usb/HP_LaserJet_Professional_P1102?serial=000000000Q80X0EGPR1a

HP LaserJet Professional P1102 USB 000000000Q80X0EGSI1c HPLIP(HP LaserJet Professional P1102)

请注意,这两个序列号不同。

我不知道这个序列号是从哪里来的,因为我没有得到新的打印机,所以它改变了;它不是打印机背面标签上的那个。

但是,此序列号确实显示在 的输出中hp-info

“错误:没有选择/指定或支持此功能的设备。”

调用时此错误仍然存​​在sudo hp-setup -i,我不确定 HP for Arch Linux 是否不再支持该打印机。从那以后,我放弃了 HP LaserJet P1102 并获得了Brother DCP-L3550CDW,其单色打印功能在 Arch Linux 5.3.12 上开箱即用:在 中system-config-printer,我选择了“LPD/LPR 队列‘BINARY_P1”作为连接和“PCL激光”作为驱动程序。我使用此驱动程序启用彩色打印。

为了让设备的内置扫描仪工作,我遵循了这些说明

我在 Arch Linux 上使用的第二台 Brother 打印机/扫描仪是DCP-1610W以下是使用 Wi-Fi 打印和扫描的一些注意事项。


小智 5

最初我在 Arch Linux 上安装了 KDE。在尝试配置 HP LaserJet Professional 数小时后,我重新安装了带有 Xfce 桌面的 Arch Linux。Pacman 安装了 hplip 和 wget。检查 ArchWiki 以确保安装了所有依赖项。经常更新系统。确保您的打印机对您的系统可见。我重启了三四次。终于,我可以打印了。最后的想法。看起来 Arch 需要 wget 来与 HP 通信,而“hp-setup”完成了它的工作。最后的建议:永远不要购买需要 hplip-plugin 的 HP LaserJet 专业人士。我永远不会再这样做了。祝你好运。