11 votes

L'installation du pilote HPLIP échoue sur Ubuntu 20.04

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.

4voto

Karl Meyer Points 41

L'option de débogage a fonctionné pour moi, mais dans un deuxième temps j'ai dû taper "cont" et appuyer sur Return pour que le processus dépeint s'exécute.

3voto

Antoni Aloy Points 31

J'ai eu le même problème et je peux confirmer qu'avec l'option debug le plugin scanner s'installe.

pdb3 /usr/share/hplip/plugin.py  -i -g

1voto

Xlearner Points 29

J'utilise actuellement Ubuntu 20.04. J'ai un HP LaserJet Pro MFP M226dw. Il s'agit d'une imprimante multifonction prenant en charge l'impression et la numérisation. J'ai également eu des difficultés avec la numérisation. Heureusement, j'ai pu faire fonctionner l'impression plus tôt.

J'avais déjà hplip-3.21.2.run installé dans mon système. Je pensais que le problème venait du plugin du scanner. La commande automatique de téléchargement du plugin indiquée ci-dessus n'a pas fonctionné. J'ai donc téléchargé manuellement le dernier script sur le site web du HPLip.

Ensuite, j'ai exécuté cette commande pour installer le plugin :

sh hplip-3.21.2-plugin.run

Ça a réparé le scanner pour moi. Maintenant, je suis capable de scanner sans aucun problème.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X