我们假设某人有一些现代 HP 打印机和/或扫描仪,但官方存储库中的 HPLIP 包不支持它们。
目前 Ubuntu 版本有以下版本宇宙口袋:
bionic (18.04 LTS): 3.17.10+repack0-5 focal (20.04 LTS): 3.20.3+dfsg0-2 impish (21.10): 3.21.6+dfsg0-0ubuntu1 jammy (22.04 LTS): 3.21.12+dfsg0-1 kinetic (22.10): 3.22.6+dfsg0-1 lunar (23.04): 3.22.10+dfsg0-1
如果较新版本的 HPLIP 支持打印机,该怎么办(检查了HP 开发人员门户 | 所有支持的打印机型号)?
答案1
安装
目前没有包含较新hplip
软件包的 PPA。
但用户可以从 HP 下载并安装二进制文件,如他们的手册。
在继续之前,您应该删除所有hplip
相关的包以避免可能的未来冲突。
如果您的系统是较新的 Debian(11 bullseye 及更新版本)Ubuntu(20.04 LTS focal 及更新版本),则应检查是否安装了 python2 旧版支持(请参阅下文“与较新的 Debian 和 Ubuntu 上的 python2 旧版支持不兼容”)
HP 已注意到此问题支持页面:
警告:如果您要升级 HPLIP,并且 HPLIP 已预装在您的发行版中,或者您使用 RPM、DEB 或其他软件包安装了 HPLIP,请使用特定于您的发行版的方法卸载以前的版本。如果不这样做,您可能会遇到软件包冲突问题或功能问题。
我已经通过实验确定了软件包列表(在 16.04 LTS、18.04 LTS、20.04 LTS 和 21.04 上测试)并且以下命令:
sudo apt-get purge hplip hplip-data hplip-doc hplip-gui hpijs-ppds \
libsane-hpaio printer-driver-hpcups printer-driver-hpijs
sudo rm -rf /usr/share/hplip/
sudo apt-get autoremove
然后您应该执行以下步骤:
步骤 1:下载自动安装程序(.run 文件)从官方链接对于 Ubuntu 或者今天使用
wget
wget -c https://download.sourceforge.net/project/hplip/hplip/3.23.3/hplip-3.23.3.run
第 2 步:运行自动安装程序
sh hplip-3.23.3.run
然后按照屏幕上的说明进行操作(它应该要求输入您的
sudo
-capable 用户的密码来运行apt
,并删除hplip-gui
已安装的文件)。安装过程已经在HPLIP 网站。安装后,它将显示打印机安装向导,您可以将打印机添加到系统。
卸载
这里我们从二进制 HPLIP 安装开始(所以我们没有安装与 HPLIP 相关的 deb 包)。
假设我们已经使用文件hplip-3.23.3.run
(或其他版本)完成了安装。我们需要调用特殊的卸载脚本,如下所示:
sudo hp-uninstall
sudo rm -vrf /usr/share/hplip/
sudo rm -vrf /root/.hplip
sudo rm -v /usr/share/hal/fdi/preprobe/10osvendor/20-hplip-devices.fdi
之后我们安装官方的 Ubuntu 软件包(可选):
sudo apt-get -o Dpkg::Options::="--force-confask" install --reinstall hplip hplip-data hplip-doc hplip-gui libsane-hpaio
注:我已举报错误 1782137到 HPLIP 的 LaunchPad 帐户,要求开发人员包含来自 Ubuntu 的 deb-packages HPLIP 组件的卸载功能。
与最近的 Debian 和 Ubuntu 上的 Python2 旧版支持不兼容
自 Debian 11 (bullseye) 和 Ubuntu 20.04 LTS (focal) 以来,Python2 已弃用,因此许多旧的 Python 包不再存在。此外,包必须明确引用或python3
不python2
引用python
。为了与使用 的旧版 Python2 代码兼容/usr/bin/python
,两个包python-is-python2
和python-dev-is-python2
可能已安装在您的系统上。它们只是安装了一些链接,python
并python-config
指向这些命令的 Python2 版本。
例如,您需要运行颜色校准套件 DisplayCal(displaycal 3.8 仍然依赖于 python2 代码)。
检查的最简单方法是运行python --version
并查看它是 Python 版本 2 还是版本 3。
如果您运行 hplip 安装包,它将失败,因为它会尝试查找要使用哪个版本的 python(可能是基于python --version
或等效的版本)。如果您安装了 python2 兼容包,脚本会被欺骗并尝试安装不再可用的 python2 依赖包。
如果你真的需要从 HP 网站安装 hplip,和如果你确实需要基于 python2 的工具,你可以随时临时更改 python 版本的链接:
sudo apt-get install python-is-python3 python-dev-is-python3
然后运行安装程序。
当所有东西都安装完成后,编辑python 文件,用debian 和 ubuntu hplip 包中的内容/usr/share/hplip/*.py
替换第一行(#!/usr/bin/env python
) 。#!/usr/bin/python3
答案2
直到几周前,最新的 HPLIP 驱动程序版本,可在HP 开发人员 - HP Linux 成像和打印, 曾是3.18.12. 在 Ubuntu 16.04 官方仓库中,可用的版本是3.16.3。
首先,我尝试安装从网站下载的最新版本。但是,软件包出现了兼容性问题python-gobject
。正如诺伯特(主要答案),你需要完全地在安装其他版本之前,请先卸载当前版本的 HPLIP。请按照以下说明手动执行诺伯特之后,确保以下文件不再存在(或相应的文件夹为空):
/etc/hp/hplip.conf
/var/lib/hp/hplip.state
/usr/share/hplip/
/usr/share/ppd/hplip
~/.hplip/hplip.conf
/etc/cups/ppd/HP-....ppd
我不确定是否必须删除上面列出的所有文件。不过,删除这些文件后,我可以毫无问题地继续进行新安装。
尽管 repo 没有最新版本的驱动程序,但我还是决定通过 安装它apt
,因为它可以正常工作,不会与其他预安装的软件包崩溃。我做了如下操作:
sudo apt install hplip
(适用于大多数 HP 打印机和扫描仪的 Linux 驱动程序)。sudo apt install hplip-gui
(hp-plugin 所需)。hp-plugin
(作为普通用户)。此插件是驱动程序的专有“部分”,HP 不将其开源。没有它,设备将无法工作。系统将提示您接受条款并安装与所安装驱动程序的确切版本相匹配的所需插件。
hp-doctor
(确保一切都正确安装,特别是插件)。hp-setup
添加连接的设备,或者使用此时已安装的HP软件(带图形界面)。去Ubuntu 系统设置并使用 HPLIP 添加新的打印机/扫描仪。
PS:截至2019年1月,最新版本为3.19.1,我还没有测试过。
一般来说,如果你真的不需要软件包的最新版本,最好安装官方存储库提供的版本。这样以后你很可能不会遇到问题。
答案3
答案4
在我使用其他品牌的旧打印机 15 年后,它无法打印,今天我尝试安装 HP M182n。我以为 HP 驱动程序是同类产品中最好的,但从安装旧的 18.04 开始,我遇到了一些障碍,我将在此列出。
对于我来说,最简单的方法是使用带有默认软件包的 Ubuntu 20.04。所以如果有疑问,请先尝试一下,以免浪费大量时间。
继续:
有一个折断这显然是一个夏季指导项目,但从未离开过实验阶段,然而,当搜索 HPLIP 时,它会出现在软件中心的搜索结果中,许多人似乎这样做而不是打开终端,毕竟这是 Ubuntu。2019 年 8 月的 Snap 版本 0.2 似乎根本不起作用。描述只是稍微暗示它是非功能性软件。
由于我的型号是带扫描仪的多功能打印机,因此我需要安装 HPLIP 插件,最简单的方法似乎是
hp-plugin
Felipe 和其他人写的方法。您也可以从 HP 网站下载,但这对我来说太麻烦了。值得注意的是:如果您之前没有使用过网络打印机/MFP,并且您认为防火墙可能由于连接超时而出现问题,请务必先安装 HPLIP 插件,然后再追逐其他东西并出于沮丧而禁用许多安全功能。
最后,如果您确实需要从 HP 网站下载最新版本,请务必检查它是否是您正在下载的最新版本。GitHub 有一个 API,今天我了解到 Sourceforge 也有一个!让我们使用它,不要用您必须跟踪的硬编码版本号编写说明。
# Download latest release using the Sourceforge release API # Notes: # - Linux platform is still tagged to offer 3.16 release from 2016. # - The parts of the URL are replaced to yield a result similar to this: # https://nchc.dl.sourceforge.net/project/hplip/hplip/3.20.9/hplip-3.20.9.run # https://sourceforge.net/p/forge/documentation/Using%20the%20Release%20API/ wget $(curl https://sourceforge.net/projects/hplip/best_release.json \ | jq -r '.platform_releases.windows.url' \ | sed -e '{s/tar\.gz.*/run/;s/downloads/nchc.dl/}')
在 Ubuntu 20.04 上安装 HPLIP 3.20.9 让我遇到了更多麻烦,因为它有一些损坏的依赖项。https://bugs.launchpad.net/hplip/+bug/1878974/comments/8
正如我所说,我的设置现在有效,我必须从轻度智能 MFP 打印机跳转到新的网络打印机。
编辑:尝试安装插件让我在 18.04 上遇到了更多麻烦。似乎 HP 已删除了 Ubuntu 中匹配版本的插件,转而支持小版本升级……而且没人再考虑这个问题。我打开了一个错误,希望能解决这个问题:https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/1903693