当我尝试使用 Xsane 进行扫描时,收到一条错误消息“无法启动扫描仪:参数无效”。
我在以太网上有一台 HP Laserjet MFP M227fdn,打印正常。我在 Intel Xeon CPU E5-2670 0 @ 2.60GHz × 16 上运行 Ubuntu 20.04.3 LTS。当我启动 Xsane 时,它会搜索扫描仪并看到三个设备:
escl:http//192.168.4.68:8080
hpaio:HP_Laserjet_MFP_M227-M231?zc=NPIF3C167
hpaio:HP_Laserjet_MFP_M227-M231?ip=192.168.4.68
选择任一 hpaio 设备都会导致错误“设备 I/O 期间出错”,选择 escl 设备允许 Xsane 启动,但当我点击扫描按钮时会失败并生成无效参数错误。
我已经卸载了 Xsane,执行了 sudo apt update && sudo apt upgrade,然后通过 Ubuntu 软件中心重新安装了 xsane
scanimage -T 的输出
scanimage -T
Output format is not set, using pnm as a default.
Capability : [image/jpeg]
Capability : [image/jpeg]
Capability : [image/jpeg]
Capability : [image/jpeg]
scanimage: rounded value of br-x from 0 to 0
scanimage: rounded value of br-y from 0 to 0
scanimage: sane_start: Invalid argument
我将在本文末尾发布 hp-check -rt 的完整输出。
我已将 .ppd 文件的权限更改为如下形式:
/etc/cups/ppd$ ls -l
total 148
-rwxrwxr-- 1 root lp 11167 Aug 22 00:00 HP_LaserJet_MFP_M227fdn_F3C167_.ppd
-rwxrwxr-- 1 root lp 2868 Aug 20 22:17 HP_LaserJet_MFP_M227-M231_fax.ppd
-rwxrwxr-- 1 root lp 59716 Aug 21 20:00 HP_LaserJet_MFP_M227-M231.ppd
-rwxrwxr-- 1 root lp 59716 Aug 20 22:17 HP_Laserjet.ppd
-rw-r----- 1 root lp 12270 Aug 18 11:20 HP_Laserjet.ppd.O
我可以看到有很多问题,但我不知道该如何处理。根据其他关于此问题的帖子,.ppd 文件的权限似乎是导致此错误的问题之一,但这似乎无法解决问题。提前感谢您的帮助。
hp-check -rt
warning: ubuntu-20.04 version is not supported. Using ubuntu-19.10 versions dependencies to verify and install...
---------------
| SYSTEM INFO |
---------------
Kernel: 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 GNU/Linux
Host: DianneFossey
Proc: 5.4.0-80-generic #90-Ubuntu SMP Fri Jul 9 22:49:44 UTC 2021 GNU/Linux
Distribution: ubuntu 20.04
Bitness: 64 bit
-----------------------
| HPLIP CONFIGURATION |
-----------------------
HPLIP-Version: HPLIP 3.20.3
HPLIP-Home: /usr/share/hplip
warning: HPLIP-Installation: Auto installation is not supported for ubuntu distro 20.04 version
Current contents of '/etc/hp/hplip.conf' file:
# hplip.conf. Generated from hplip.conf.in by configure.
[hplip]
version=3.20.3
[dirs]
home=/usr/share/hplip
run=/var/run
ppd=/usr/share/ppd/hplip/HP
ppdbase=/usr/share/ppd/hplip
doc=/usr/share/doc/hplip
html=/usr/share/doc/hplip-doc
icon=no
cupsbackend=/usr/lib/cups/backend
cupsfilter=/usr/lib/cups/filter
drv=/usr/share/cups/drv
bin=/usr/bin
apparmor=/etc/apparmor.d
# Following values are determined at configure time and cannot be changed.
[configure]
network-build=yes
libusb01-build=no
pp-build=no
gui-build=yes
scanner-build=yes
fax-build=yes
dbus-build=yes
cups11-build=no
doc-build=yes
shadow-build=no
hpijs-install=yes
foomatic-drv-install=yes
foomatic-ppd-install=no
foomatic-rip-hplip-install=no
hpcups-install=yes
cups-drv-install=yes
cups-ppd-install=no
internal-tag=3.20.3
restricted-build=no
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes
policy-kit=yes
lite-build=no
udev_sysfs_rules=no
hpcups-only-build=no
hpijs-only-build=no
apparmor_build=no
class-driver=no
Current contents of '/var/lib/hp/hplip.state' file:
Plugins are not installed. Could not access file: No such file or directory
Current contents of '~/.hplip/hplip.conf' file:
[installation]
date_time = 08/22/21 10:55:20
version = 3.20.3
<Package-name> <Package-Desc> <Required/Optional> <Min-Version> <Installed-Version> <Status> <Comment>
-------------------------
| External Dependencies |
-------------------------
error: cups CUPS - Common Unix Printing System REQUIRED 1.1 - INCOMPAT 'CUPS may not be installed or not running'
gs GhostScript - PostScript and PDF language interpreter and previewer REQUIRED 7.05 9.50 OK -
xsane xsane - Graphical scanner frontend for SANE OPTIONAL 0.9 0.999 OK -
scanimage scanimage - Shell scanning program OPTIONAL 1.0 1.0.29 OK -
error: dbus DBus - Message bus system REQUIRED - 1.12.16 MISSING 'DBUS may not be installed or not running'
policykit PolicyKit - Administrative policy framework OPTIONAL - 0.105 OK -
network network -wget OPTIONAL - 1.20.3 OK -
avahi-utils avahi-utils OPTIONAL - 0.7 OK -
------------------------
| General Dependencies |
------------------------
error: libjpeg libjpeg - JPEG library REQUIRED - - MISSING 'libjpeg needs to be installed'
error: cups-devel CUPS devel- Common Unix Printing System development files REQUIRED - - MISSING 'cups-devel needs to be installed'
error: cups-image CUPS image - CUPS image development files REQUIRED - - MISSING 'cups-image needs to be installed'
libpthread libpthread - POSIX threads library REQUIRED - b'2.31' OK -
error: libusb libusb - USB library REQUIRED - 1.0 MISSING 'libusb needs to be installed'
sane SANE - Scanning library REQUIRED - - OK -
error: sane-devel SANE - Scanning library development files REQUIRED - - MISSING 'sane-devel needs to be installed'
error: libnetsnmp-devel libnetsnmp-devel - SNMP networking library development files REQUIRED 5.0.9 - MISSING 'libnetsnmp-devel needs to be installed'
error: libcrypto libcrypto - OpenSSL cryptographic library REQUIRED - 1.1.1 MISSING 'libcrypto needs to be installed'
python3X Python 2.2 or greater - Python programming language REQUIRED 2.2 3.8.10 OK -
error: python3-notify2 Python libnotify - Python bindings for the libnotify Desktop notifications OPTIONAL - - MISSING 'python3-notify2 needs to be installed'
error: python3-pyqt4-dbus PyQt 4 DBus - DBus Support for PyQt4 OPTIONAL 4.0 - MISSING 'python3-pyqt4-dbus needs to be installed'
error: python3-pyqt4 PyQt 4- Qt interface for Python (for Qt version 4.x) REQUIRED 4.0 - MISSING 'python3-pyqt4 needs to be installed'
python3-dbus Python DBus - Python bindings for DBus REQUIRED 0.80.0 1.2.16 OK -
python3-xml Python XML libraries REQUIRED - 2.2.9 OK -
error: python3-devel Python devel - Python development files REQUIRED 2.2 3.8.10 MISSING 'python3-devel needs to be installed'
python3-pil PIL - Python Imaging Library (required for commandline scanning with hp-scan) OPTIONAL - 7.0.0 OK -
python3-reportlab Reportlab - PDF library for Python OPTIONAL 2.0 3.5.34 OK -
--------------
| COMPILEDEP |
--------------
error: libtool libtool - Library building support services REQUIRED - - MISSING 'libtool needs to be installed'
gcc gcc - GNU Project C and C++ Compiler REQUIRED - 9.3.0 OK -
make make - GNU make utility to maintain groups of programs REQUIRED 3.0 4.2.1 OK -
---------------------
| Python Extentions |
---------------------
cupsext CUPS-Extension REQUIRED - 3.20.3 OK -
hpmudext IO-Extension REQUIRED - 3.20.3 OK -
----------------------
| Scan Configuration |
----------------------
'/etc/sane.d/dll.d/hpaio' not found.
hpaio HPLIP-SANE-Backend REQUIRED - 3.20.3 OK 'hpaio found in /etc/sane.d/dll.conf'
scanext Scan-SANE-Extension REQUIRED - 3.20.3 OK -
------------------------------
| DISCOVERED SCANNER DEVICES |
------------------------------
device `escl:http://192.168.4.68:8080' is a ESCL HP LaserJet MFP M227fdn (F3C167) flatbed scanner
device `hpaio:/net/HP_LaserJet_MFP_M227-M231?zc=NPIF3C167' is a Hewlett-Packard HP_LaserJet_MFP_M227-M231 all-in-one
device `hpaio:/net/HP_LaserJet_MFP_M227-M231?ip=192.168.4.68' is a Hewlett-Packard HP_LaserJet_MFP_M227-M231 all-in-one
--------------------------
| DISCOVERED USB DEVICES |
--------------------------
No devices found.
---------------------------------
| INSTALLED CUPS PRINTER QUEUES |
---------------------------------
HP_Laserjet
-----------
Type: Printer
Device URI: hp:/net/HP_LaserJet_MFP_M227-M231?zc=NPIF3C167
PPD: /etc/cups/ppd/HP_Laserjet.ppd
PPD Description: HP LaserJet Pro MFP M227-M231 Postscript (recommended)
Printer status: printer HP_Laserjet is idle. enabled since Sun 22 Aug 2021 10:14:30 AM CDT
error: Communication status: Failed
HP_LaserJet_MFP_M227-M231
-------------------------
Type: Printer
Device URI: hp:/net/HP_LaserJet_MFP_M227-M231?ip=192.168.4.68
PPD: /etc/cups/ppd/HP_LaserJet_MFP_M227-M231.ppd
PPD Description: HP LaserJet Pro MFP M227-M231 Postscript (recommended)
Printer status: printer HP_LaserJet_MFP_M227-M231 is idle. enabled since Sat 21 Aug 2021 08:00:25 PM CDT
Communication status: Good
HP_LaserJet_MFP_M227-M231_fax
-----------------------------
Type: Fax
Device URI: hpfax:/net/HP_LaserJet_MFP_M227-M231?zc=NPIF3C167
PPD: /etc/cups/ppd/HP_LaserJet_MFP_M227-M231_fax.ppd
PPD Description: HP Fax2 hpcups
Printer status: printer HP_LaserJet_MFP_M227-M231_fax is idle. enabled since Fri 20 Aug 2021 10:17:24 PM CDT
Communication status: Good
HP_LaserJet_MFP_M227fdn_F3C167_
-------------------------------
Type: Unknown
Device URI: implicitclass://HP_LaserJet_MFP_M227fdn_F3C167_/
PPD: /etc/cups/ppd/HP_LaserJet_MFP_M227fdn_F3C167_.ppd
warning: Failed to read /etc/cups/ppd/HP_LaserJet_MFP_M227fdn_F3C167_.ppd ppd file
PPD Description:
Printer status: printer HP_LaserJet_MFP_M227fdn_F3C167_ is idle. enabled since Sun 22 Aug 2021 12:00:05 AM CDT
warning: Printer is not HPLIP installed. Printers must use the hp: or hpfax: CUPS backend for HP-Devices.
--------------
| PERMISSION |
--------------
-----------
| SUMMARY |
-----------
Missing Required Dependencies
-----------------------------
error: 'libcups2' package is missing/incompatible
error: 'libdbus-1-dev' package is missing/incompatible
error: 'libjpeg-dev' package is missing/incompatible
error: 'libcups2-dev' package is missing/incompatible
error: 'cups-bsd' package is missing/incompatible
error: 'cups-client' package is missing/incompatible
error: 'libcupsimage2-dev' package is missing/incompatible
error: 'libusb-1.0.0-dev' package is missing/incompatible
error: 'libusb-0.1-4' package is missing/incompatible
error: 'libsane-dev' package is missing/incompatible
error: 'libsnmp-dev' package is missing/incompatible
error: 'snmp-mibs-downloader' package is missing/incompatible
error: 'openssl' package is missing/incompatible
error: 'python3-pyqt4' package is missing/incompatible
error: 'gtk2-engines-pixbuf' package is missing/incompatible
error: 'python3-dev' package is missing/incompatible
error: 'libtool' package is missing/incompatible
error: 'libtool-bin' package is missing/incompatible
Missing Optional Dependencies
-----------------------------
error: 'python3-notify2' package is missing/incompatible
error: 'python3-dbus.mainloop.qt' package is missing/incompatible
Total Errors: 15
Total Warnings: 1
Done.
答案1
我能够使用几个答案中的步骤此主题来解决问题。
简短的回答:修复 Python,以便 HPlip 可以找到 Python 3。卸载 HP-Lip,然后按照说明下载和编译 HP-Lip。稍后它会要求您安装 hplip-3.20.6-plugin.run,但此时 shell 脚本停止运行。我需要找到这个插件的正确版本这里并通过 sudo sh hplip-3.20.6-plugin.run 手动安装
详细答案:
我从 hplip 的启动板网站找到了一个对我有用的解决方案。它是本主题中的第 7 篇帖子。我在问题中描述的问题是由 Ubuntu 20.04 使用 python3 而对 python2 的支持减少所导致的。如果 /usr/bin/python 链接到 python 2 版本,则运行 hplip-3.20.**.run 会出现报告的问题,即尝试安装必要的 python 组件但失败。
要诊断此问题,请运行
python --version
如果你得到的版本以 2 开头,则修复方法如下
sudo unlink /usr/bin/python sudo ln -s /usr/bin/python3.* /usr/bin/python 其中 python3.* 是您安装的 python3 版本。您可以通过运行来找到它
ls /usr/bin/python*
进而
尝试这个:
将文件下载到〜/Dowloads
https://sourceforge.net/projects/hplip/files/hplip/3.20.6/hplip-3.20.6.run/download?use_mirror=nchc
打开终端并删除以前安装的版本:
sudo apt remove hplip* Cd 到下载安装程序的位置。
cd ~/Downloads 要安装,请运行以下命令:
sh hplip-3.20.6.run 选择安装模式自动,输入a
确保安装程序检测到正确的 Linux 发行版。
输入您的 root/超级用户用户密码。
安装程序现在将检测系统在安装 HPLIP 之前需要安装哪些依赖项
如果您的系统缺少任何依赖项,现在就会下载并安装它们。
./configure 准备安装 HPLIP,并且验证您的系统具有 HPLIP 所需的所有依赖项。
然后执行“make”。Make 会为您的系统编译(“构建”)HPLIP。
“make install” 是实际的安装过程,此步骤是将 HPLIP 实际安装到您的系统中。
使用“hp-setup”来配置您的打印机。
第一步是选择打印机连接类型。
接下来安装工具将显示检测到的打印机。
选择用于您的打印机的 PPD 文件,通常您需要选择推荐的 PPD 文件。
单击“添加打印机”即可完成打印机设置过程。
最后安装插件时提示:下载正确的版本hplip-xxxxx-plugin.run 到 /.hplip/sudo sh hplip-xxxxx-plugin.run,其中 xxxxx 是尝试下载的版本。
完成此过程后,Xsane 开始帮我扫描 hpiao 设备。