我现在使用一台 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
同时,系统提示我选择 PPD 文件。我选择的默认文件夹是/usr/share/ppd/hp
,但是当我选择任何内容时,该框仍然是空的,说我应该选择一个文件。显示了打印机名称,因此我认为连接正常。
PS:我知道如果不亲自操作计算机,这种事情很难调试。如果有任何信息缺失,请询问。
答案1
和system-config-printer
按照以下步骤,我现在可以在 Arch Linux 4.16.9 上使用 Evince 以及通过 USB 连接的 HP LaserJet P1102 打印文档:
- 安装计算机辅助系统:
sudo pacman -S cups
- 启动并启用(使其在引导后启动)CUPS打印服务:
sudo systemctl enable --now cups
(服务单位原名称org.cups.cupsd
) - 安装HP Linux 成像和打印:
sudo pacman -S hplip
- 通过安装驱动插件
sudo hp-setup -i
。根权限在这里很重要,否则会显示“错误:未选择/指定或支持此功能的设备”。选择连接方法时。在安装插件的过程中,我每次都选择默认选项。 - 安装
system-config-printer
,一个配置打印机的 GUI 工具。 - 启动
system-config-printer
并单击按钮添加打印机。选择您的打印机并选择 HPLIP 作为连接方法(参见屏幕截图)。 system-config-printer
现在应该允许您打印测试页。- 为了让像 Evince 这样的 GTK 应用程序在打印对话框中显示您的打印机,您
gtk3-print-backends
还需要安装。
具有 CUPS Web 界面
除了system-config-printer
上述描述之外,您还可以使用 CUPS 的 Web 界面,可通过 访问localhost:631
。
在管理打印机之前,您必须将您的用户添加到组中sys
,否则您将在 Web 界面中遇到错误,例如“无法修改打印机:禁止”。
gpasswd -a "$USER" sys
或者,使用vigr
编辑/etc/group
。
Web 界面将提示输入该用户的名称和密码。
/etc/cups/cups-files.conf
sys
定义组( 和)的成员root
可以管理打印机:
系统组 sys 根目录
处理好组成员身份后,您可以添加打印机并执行其他管理任务:
在 中选择打印机后localhost:631/printers
,您还可以通过 Web 界面打印测试页:
故障排除
保持库与驱动程序同步
hplip
来自的库pacman
和通过安装的驱动程序插件hp-setup -i
必须具有相同的版本,否则您将无法打印并在 systemd 日志中看到此错误消息(使用 检查它journalctl -e
):
validate_plugin_version() Plugin version[3.17.7] mismatch with HPLIP version[3.18.4]
要解决此问题,您可以hp-setup -i
再次运行,这将下载并安装当前的驱动程序。
我添加了以下内容以~/.bash_aliases
防止驱动程序和库不同步:
alias upgrade-ignore-hp="(set -x; sudo pacman -Syu --ignore hplip)"
序列号已更改
最近,我的打印机无法打印;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 是否不再支持 Arch Linux 的打印机。从那以后我就放弃了 HP LaserJet P1102 并购买了一台兄弟 DCP-L3550CDW其单色打印功能在 Arch Linux 5.3.12 上开箱即用:在 中system-config-printer
,我选择“LPD/LPR 队列 'BINARY_P1”作为连接,选择“PCL Laser”作为驱动程序。我用了这位司机以启用彩色打印。
为了让设备的内置扫描仪正常工作,我遵循这些说明。
我在 Arch Linux 上使用的第二台 Brother 打印机/扫描仪是DCP-1610W。这里以下是使用 Wi-Fi 进行打印和扫描的一些注意事项。
答案2
最初我在 Arch Linux 上安装了 KDE。经过几个小时的尝试配置我的 HP LaserJet Professional,我重新安装了带有 Xfce 桌面的 Arch Linux。 Pacman 安装了 hplip 和 wget。检查 ArchWiki 以确保所有依赖项均已安装。经常更新系统。确保您的打印机对您的系统可见。我重启了三四次。终于,我可以打印了。最后的想法。看来 Arch 需要 wget 来与 HP 通信,而“hp-setup”则完成了它的工作。最后建议:切勿购买需要 hplip 插件的 HP LaserJet Professional。我再也不会这样做了。祝你好运。