我正在尝试在 Ubuntu 19.04 上设置我的 HP LaserJet P1102。
我知道理论程序安装打印机,但这个过程对我来说不起作用,按照“正确”的步骤安装打印机(软件+插件)失败,如下所示。
我已经从这里。
一开始安装似乎成功了。它要求安装插件,然后显示“插件安装成功”。但是当我点击此消息上的“确定”后,它返回到我应该选择要安装哪台打印机的窗口,并弹出另一条消息:
错误:您尝试设置的设备需要二进制插件。如果没有插件,某些功能可能无法正常工作。请以普通用户身份运行“hp-plugin”以安装插件。请访问http://hplipopensource.com 了解更多信息。
错误:hp-setup 失败。请手动运行 hp-setup。
答案1
我也是。我是这样解决的:
请运行:
hp-setup -g &> ~/hp-setup.log
出现错误后阅读日志:
cat ~/hp-setup.log
你会发现如下几行:
hp-setup[19265]: 调试:/usr/lib/i386-linux-gnu/sane/libsane-hp2000S1.so 文件不存在或缺少符号链接
如果你运行:
locate libsane-hp2000S1
你会得到正确的地方,例如:
- /usr/lib/sane/libsane-hpgt2500-x86_64.so.1.0.22
- /usr/lib/sane/libsane-hpgt2500-x86_64.so.1.0.27
- /usr/lib/sane/libsane-hpgt2500.so
- /usr/lib/sane/libsane-hpgt2500.so.1
- /usr/lib/x86_64-linux-gnu/sane/libsane-hpgt2500.so
- /usr/lib/x86_64-linux-gnu/sane/libsane-hpgt2500.so.1
- /usr/lib64/sane/libsane-hpgt2500-x86_64.so.1.0.22
- /usr/lib64/sane/libsane-hpgt2500-x86_64.so.1.0.27
- /usr/lib64/sane/libsane-hpgt2500.so /usr/lib64/sane/libsane-hpgt2500.so.1
现在您只需创建一个符号链接:
sudo ln -s /usr/lib /usr/lib/i386-linux-gnu
sudo ln -s /usr/lib64 /usr/lib64/x86_64-linux-gnu
再次运行 hp-setup
完毕
答案2
我也遇到了 HP 打印机安装正常但扫描仪插件无法安装的问题(Ubuntu 19)。禁用 plugin.py 有效!(谢谢)但我必须先安装 apparmor-utils。
sudo apt install apparmor-utils
sudo aa-disable /usr/share/hplip/plugin.py
hp-plugin
最后一步运行打印机扫描功能所需的 HP 插件安装程序。
答案3
我遇到了一个稍微不同的问题。我的 HP 打印机安装正常,但扫描仪插件无法正确安装。看来诀窍是让 AppArmor 降低 Python 脚本的防护等级。
编辑:查看其他答案,似乎没有安装 AppArmor 实用程序是很常见的,因此您可能还需要先安装它
sudo apt install apparmor-utils
sudo aa-disable /usr/share/hplip/plugin.py
我这样做之后,插件安装正确。
答案4
关注后Kai Kramer 的回答在这里我有:
error: Python gobject/dbus may be not installed
error: Plug-in install failed.
和
cannot access '/var/lib/hp/hplip.state': No such file or directory
在网上搜索后,我尝试了以下方法,并且成功了:
$ aa-disable /usr/share/hplip/plugin.py
Command 'aa-disable' not found, but can be installed with:
sudo apt install apparmor-utils
安装 apparmor utils(请注意,我没有安装它!)
sudo apt-get install apparmor-utils
然后运行
sudo aa-disable /usr/share/hplip/plugin.py
以普通用户身份运行,而不是以 root 身份运行:
hplip-plugin
现在我的打印机(laserjet 1020)已经安装好了。