업그레이드 후 HP 프린터 소프트웨어 복구(Arch Linux)

업그레이드 후 HP 프린터 소프트웨어 복구(Arch Linux)

최근 업그레이드되어 모든 인쇄 기능이 중단된 HP 프린터 소프트웨어를 실행하려고 합니다. 저는 지속적으로 업그레이드되는 버전의 아치(2021년 2월 28일 기준, 2014년 10월 5일 버전)를 실행하고 있습니다. 분명히 그들은 지금 Qt를 사용하고 있습니다. 그래서 그것은 일종의 요구 사항입니다. 그래서 저는 이 모든 Qt 관련 항목을 구축하는 데 2시간을 보냈습니다. HP가 Linux 사용자에게 인쇄할 수 있도록 알려지지 않은 소프트웨어 패키지를 구축하는 데 몇 시간을 소비하도록 요구하는 것은 미친 것 같습니다. lpstat -a프린터가 준비되어 있고 작동/유휴 상태이지만 아무 것도 인쇄할 수 없다고 말합니다. 컵 로그에는 "백엔드 오류"로 인해 인쇄가 실패했음이 표시됩니다.

그럼에도 불구하고 이제 hp-setup은 시작 시 중단되고 hp-check는 PyQt4가 QtCore를 가져올 수 없다는 오류를 표시합니다. 이는 PyQt 사용자가 실행 중인 Qt 버전을 확인하는 표준 방법입니다. 따라서 둘 사이에 일종의 버전 충돌이 있는 것 같습니다. 내 포인트 목록의 관련 부분은 다음과 같습니다.

파이오픈GL 3.1.5
pyOpenSSL 20.0.1
파이파싱 2.4.7
PyQt3D 5.15.2
PyQt4-sip 4.19.24
PyQt5 5.15.2
PyQt5-sip 12.8.1
PyQtChart 5.15.2
PyQt 데이터 시각화 5.15.2
PyQt 조달 5.15.2
PyQtWebEngine 5.15.2

그렇다면 질문은 내 시스템에 PyQt5가 있고 HP 소프트웨어에 PyQt4가 필요한가요?입니다. 그렇다면 두 가지를 모두 동일한 시스템에 둘 수 있습니까? 이 문제를 진단하는 절차는 무엇입니까?

$ sudo find /usr -name "PyQt*"
/usr/share/qt/qsci/api/python/PyQtDataVisualization.api
/usr/share/qt/qsci/api/python/PyQtPurchasing.api
/usr/share/qt/qsci/api/python/PyQtWebEngine.api
/usr/share/qt/qsci/api/python/PyQt3D.api
/usr/share/qt/qsci/api/python/PyQt5.api
/usr/share/qt/qsci/api/python/PyQtChart.api
/usr/lib/qt/plugins/PyQt5
/usr/lib/python3.9/site-packages/PyQtChart-5.15.3.dist-info
/usr/lib/python3.9/site-packages/PyQt5_sip-12.8.1-py3.9.egg-info
/usr/lib/python3.9/site-packages/PyQtPurchasing-5.15.3.dist-info
/usr/lib/python3.9/site-packages/PyQt4
/usr/lib/python3.9/site-packages/PyQt5
/usr/lib/python3.9/site-packages/PyQt3D-5.15.3.dist-info
/usr/lib/python3.9/site-packages/PyQtDataVisualization-5.15.3.dist-info
/usr/lib/python3.9/site-packages/PyQt4_sip-4.19.24.dist-info
/usr/lib/python3.9/site-packages/PyQt5-5.15.3.dist-info
/usr/lib/python3.9/site-packages/PyQtWebEngine-5.15.3.dist-info
/usr/lib/python2.7/site-packages/PyQt4
/usr/lib/python2.7/site-packages/PyQt4_sip-4.19.24.dist-info

HPLIP_DEBUG=1 hp-setup의 출력:


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

Copyright (c) 2001-18 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.

hp-setup[711208]: debug: param=
hp-setup[711208]: debug: selected_device_name=None
hp-setup[711208]: debug: Using PyQt5
hp-setup[711208]: debug: Sys.argv=['/usr/bin/hp-setup'] printer_name=None param= jd_port=1 device_uri=None remove=False
hp-setup[711208]: debug: Starting GUI Event Loop...
Searching... (bus=net, timeout=5, ttl=4, search=(None) desc=0, method=slp)
error: No devices found on bus: net
error:  HPLIP cannot detect printers in your network.  This may be due to existing firewall settings blocking the required ports.
                When you are in a trusted network environment, you may open the ports for network services like mdns and slp in the firewall. For detailed steps follow the link.
                 http://hplipopensource.com/node/374 

답변1

예를 들어 Ubuntu 20.10에서 이 hplip패키지는 실제로 PyQt5( )와 함께 실행됩니다 python3-pyqt5. 또한 Arch에서는 hplip패키지 버전 3.21.2-1이 Qt 5를 사용합니다. 따라서 Qt 4를 설치할 필요가 없습니다.

사용된 Qt 버전은 실제로 다음 구성으로 구성됩니다 /etc/hp/hplip.conf.

[configure]
ui-toolkit=qt5
qt3=no
qt4=no
qt5=yes

실행하면 찾을 수 없다고 hp-check언급되지만 PyQt4끝에는 나열되지 않습니다 Missing Required Dependencies. 저에게 묻는다면 이 도구는 그다지 신뢰할 만한 것이 아닙니다.

Python 측에서 무슨 일이 일어나고 있는지 이해하기 위해 먼저 Qt 바인딩이 설치된 위치를 찾으려고 했습니다.

$ find /usr -name "PyQt*"

시스템에 각각 다른 패키지 디렉터리가 있는 여러 버전의 Python이 있을 수 있습니다. 모든 종속성이 설치되어 있다고 생각되는 Python 인터프리터를 사용하여 명시적으로 도구를 호출해 보세요. 예를 들면 다음과 같습니다.

$ export HPLIP_DEBUG=1
$ python3.9 $(where hp-setup)

콘솔 출력에서 ​​무엇이 잘못되었는지에 대한 힌트를 얻고 싶습니다.

추가 단계는 Python 디버거를 실행하는 것입니다.

잘못된 Python 인터프리터를 사용하고 있는 경우 python올바른 버전을 가리키는지 확인하세요.

$ python --version

그러나 지금 제공한 추가 콘솔 출력을 살펴보면 이것이 PyQt/Qt와 관련이 없다고 생각합니다. 특히 다음과 같은 이유 때문입니다.

error: No devices found on bus: net

검색(SLP)이 실패하므로 이는 어떤 방식으로든 네트워크와 관련된 것으로 보입니다.

관련 정보