J'ai récemment mis à jour une version 18.04 vers 20.04 (en avance, je sais), et j'ai effacé mon paquet 'hplip' installé manuellement (3.16.11) et installé le paquet officiel de la version (3.20.3+dgfsg0-2). Tout semblait tout allait bien jusqu'à ce que je commence à recevoir des messages pour mettre à jour mon pilote. M'assurant que je n'avais rien d'autre à imprimer aujourd'hui, j'ai suivi les instructions mais la commande 'hp-plugin' n'a pas réussi à télécharger le plugin avec le backtrace suivant...
Traceback (most recent call last):
File "/usr/share/hplip/ui5/plugindialog.py", line 248, in NextButton_clicked
status, download_plugin_file, error_str = self.pluginObj.download(self.plugin_path,self.plugin_download_callback)
File "/usr/share/hplip/installer/pluginhandler.py", line 254, in download
core = core_install.CoreInstall()
File "/usr/share/hplip/installer/core_install.py", line 239, in __init__
self.passwordObj = password.Password(ui_mode)
File "/usr/share/hplip/base/password.py", line 88, in __init__
self.__readAuthType() # self.__authType
File "/usr/share/hplip/base/password.py", line 110, in __readAuthType
distro_name = get_distro_name().lower()
File "/usr/share/hplip/base/password.py", line 78, in get_distro_name
return distro.linux_distribution(full_distribution_name=False)[0]
File "/usr/lib/python3/dist-packages/distro.py", line 122, in linux_distribution
return _distro.linux_distribution(full_distribution_name)
File "/usr/lib/python3/dist-packages/distro.py", line 677, in linux_distribution
self.version(),
File "/usr/lib/python3/dist-packages/distro.py", line 737, in version
self.lsb_release_attr('release'),
File "/usr/lib/python3/dist-packages/distro.py", line 899, in lsb_release_attr
return self._lsb_release_info.get(attribute, '')
File "/usr/lib/python3/dist-packages/distro.py", line 552, in __get__
ret = obj.__dict__[self._fname] = self._f(obj)
File "/usr/lib/python3/dist-packages/distro.py", line 1012, in _lsb_release_info
stdout = subprocess.check_output(cmd, stderr=devnull)
File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
Le fait de télécharger manuellement le programme du plugin et d'essayer de l'installer de cette manière a donné le même résultat. Que se passe-t-il ici ? Il ne semble pas que le module lsb_release soit manquant, et l'exécution de la commande /usr/bin/lsb_release -a
fonctionne bien et ne renvoie aucune erreur.
$ apt-cache policy hplip-gui
hplip-gui:
Installed: 3.20.3+dfsg0-2
Candidate: 3.20.3+dfsg0-2
Version table:
*** 3.20.3+dfsg0-2 500
500 http://us.archive.ubuntu.com/ubuntu focal/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu focal/universe i386 Packages
100 /var/lib/dpkg/status
$ dpkg -l | grep -i hplip
ii hplip 3.20.3+dfsg0-2 amd64 HP Linux Printing and Imaging System (HPLIP)
ii hplip-data 3.20.3+dfsg0-2 all HP Linux Printing and Imaging - data files
ii hplip-doc 3.20.3+dfsg0-2 all HP Linux Printing and Imaging - documentation
ii hplip-gui 3.20.3+dfsg0-2 all HP Linux Printing and Imaging - GUI utilities (Qt-based)
L'exécution de la commande hp-plugin à partir de la ligne de commande imprime la pile deux fois, et la première itération comporte quelques plaintes supplémentaires...
File "/usr/lib/python3.8/subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 144, in apport_excepthook
with os.fdopen(os.open(pr_filename,
PermissionError: [Errno 13] Permission denied: '/var/crash/_usr_share_hplip_plugin.py.1000.crash'
Je n'ai aucun problème à écrire des fichiers en tant qu'utilisateur normal dans /var/crash, donc je ne sais pas où est le problème ici.
J'avais mentionné que courir lsb_release -a
a bien fonctionné à partir de la ligne de commande, mais j'ai oublié de fournir le résultat de cette opération...
$ lsb_release -a
LSB Version: core-11.1.0ubuntu2-noarch:printing-11.1.0ubuntu2-noarch:security-11.1.0ubuntu2-noarch
Distributor ID: Ubuntu
Description: Ubuntu 20.04 LTS
Release: 20.04
Codename: focal
$ echo $?
0
Running hp-plugin -i -g
semble indiquer que le vrai problème est du côté de HP...
hp-plugin[310176]: debug: /usr/bin/wget --cache=off --tries=3 --timeout=60 --output-document=- http://www.hp.com --spider -S
hp-plugin[310176]: debug: Spider mode enabled. Check if remote file exists.
--2020-05-31 09:36:45-- http://www.hp.com/
Resolving www.hp.com (www.hp.com)... 15.73.200.23, 15.73.200.22
Connecting to www.hp.com (www.hp.com)|15.73.200.23|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Server: Apache
X-Frame-Options: SAMEORIGIN
Cache-Control: no-store, no-cache, must-revalidate, max-age=0, max-age=7200
Location: http://www-redirect.ext.hp.com
Expires: Sun, 31 May 2020 15:36:45 GMT
Vary: Accept-Encoding
Content-Type: text/html; charset=iso-8859-1
Accept-Ranges: bytes
Date: Sun, 31 May 2020 13:36:45 GMT
X-Varnish: 1131355252
Age: 0
Via: 1.1 varnish
Connection: keep-alive
X-Varnish-Origin: g2t3073.austin.hp.com
X-Cache: MISS
Location: http://www-redirect.ext.hp.com [following]
Spider mode enabled. Check if remote file exists.
--2020-05-31 09:36:45-- http://www-redirect.ext.hp.com/
Resolving www-redirect.ext.hp.com (www-redirect.ext.hp.com)... 96.7.23.193
Connecting to www-redirect.ext.hp.com (www-redirect.ext.hp.com)|96.7.23.193|:80... connected.
HTTP request sent, awaiting response...
HTTP/1.1 301 Moved Permanently
Server: AkamaiGHost
Content-Length: 0
Location: https://www8.hp.com/us/en/home.html
Cache-Control: max-age=0
Expires: Sun, 31 May 2020 13:36:45 GMT
Date: Sun, 31 May 2020 13:36:45 GMT
Connection: keep-alive
Location: https://www8.hp.com/us/en/home.html [following]
Spider mode enabled. Check if remote file exists.
--2020-05-31 09:36:45-- https://www8.hp.com/us/en/home.html
Resolving www8.hp.com (www8.hp.com)... 184.24.150.205
Connecting to www8.hp.com (www8.hp.com)|184.24.150.205|:443... connected.
HTTP request sent, awaiting response...
HTTP/1.1 200 OK
Server: Apache
Last-Modified: Sun, 31 May 2020 13:01:01 GMT
Access-Control-Allow-Headers: Access-Control-Allow-Origin, Origin, X-Requested-With, Content-Type, Accept
Access-Control-Allow-Methods: GET, OPTIONS, POST, PUT, DELETE
Access-Control-Allow-Origin: *
X-Powered-By: Servlet/2.5 JSP/2.1
Access-Control-Max-Age: 3600
X-Frame-Options: SAMEORIGIN
Content-Type: text/html; charset=UTF-8
Cache-Control: max-age=1448
Expires: Sun, 31 May 2020 14:00:53 GMT
Date: Sun, 31 May 2020 13:36:45 GMT
Connection: keep-alive
Vary: Accept-Encoding
Length: unspecified [text/html]
Remote file exists and could contain further links,
but recursion is disabled -- not retrieving.
hp-plugin[310176]: debug: wget returned: 0
[...] rest of error was the same.
Mais ensuite j'ai téléchargé le fichier manuellement et j'ai obtenu ceci...
-----------------------------------------
| PLUG-IN INSTALLATION FOR HPLIP 3.20.3 |
-----------------------------------------
Option Description
---------- --------------------------------------------------
d Download plug-in from HP (recommended)
p Specify a path to the plug-in (advanced)
q Quit hp-plugin (skip installation)
Enter option (d=download*, p=specify path, q=quit) ? p
Enter the path to the 'hplip-3.20.3-plugin.run' file (q=quit) : hplip-3.20.3-plugin.run
---------------
| COPY PLUGIN |
---------------
Downloading plug-in from: file:///home/users/jason/Downloads/hplip-3.20.3-plugin.run
Downloading plug-in: [\ ] 0% Traceback (most recent call last):
[...] rest of error the same.
C'est aussi le bon chemin.
UPDATE : J'ai réussi à faire fonctionner ceci, mais ce n'est pas vraiment une "réponse" ou même vraiment une "solution". Je me suis dit que j'allais voir si le débogueur Python pouvait m'apporter quelque chose de nouveau. hp-plugin
à partir de cela, avec la commande pdb3 /usr/share/hplip/plugin.py -i -g
et, euh, ça a juste marché. Ça ne marche toujours pas sans le débogueur, mais au moins j'ai pu faire fonctionner mon imprimante à nouveau. Je ne peux toujours pas vous dire ce qui ne va pas (et il y a toujours quelque chose qui ne va pas ici), mais peut-être que plus de données aideront.