41 votes

Comment installer la dernière version de HPLIP sur mon Ubuntu pour prendre en charge mon imprimante HP et/ou mon scanner ?

Supposons que quelqu'un possède une imprimante et/ou un scanner HP modernes qui ne sont pas pris en charge par le paquet HPLIP du dépôt officiel.

Actuellement, les versions d'Ubuntu ont les versions suivantes dans la poche universe:

bionic (18.04LTS): 3.17.10+repack0-5
focal (20.04LTS): 3.20.3+dfsg0-2
impish (21.10): 3.21.6+dfsg0-0ubuntu1

Que peut-on faire si l'imprimante est prise en charge dans une version plus récente de HPLIP (vérifié cela dans HP Developer Portal | Tous les modèles d'imprimantes pris en charge)?

70voto

N0rbert Points 86925

Installation

Actuellement, il n'y a pas de PPA avec des packages hplip plus récents.

Mais l'utilisateur peut télécharger et installer le binaire à partir du site de HP tel que décrit dans leur manuel.

Avant de procéder, vous devez supprimer tous les packages liés à hplip pour éviter d'éventuels conflits futurs.

Si votre système est une version récente de Debian (11 bullseye et plus récente) Ubuntu (20.04 LTS focal et plus récente), vous devriez vérifier si le support hérité de python2 est installé (voir ci-dessous "Incompatibilité avec le support hérité de python2 sur les versions récentes de Debian et Ubuntu")

HP a fait une note concernant ce problème sur leur page de support:

Avertissement : Si vous mettez à jour HPLIP et que HPLIP est déjà préinstallé avec votre distribution, ou si vous avez installé HPLIP à l'aide d'un RPM, DEB ou autre package, veuillez désinstaller la version précédente en utilisant la méthode spécifique à votre distribution. Si vous ne le faites pas, vous pourriez rencontrer des problèmes de conflit de packages ou de fonctionnalité.

J'ai déterminé expérimentalement la liste des packages (testée sur 16.04 LTS, 18.04 LTS, 20.04 LTS et 21.04) et voici les commandes:

sudo apt-get purge hplip hplip-data hplip-doc hplip-gui hpijs-ppds \
libsane-hpaio printer-driver-hpcups printer-driver-hpijs
sudo rm -rf /usr/share/hplip/

sudo apt-get autoremove

Ensuite, vous devriez effectuer les étapes suivantes:

  1. Étape 1 : Téléchargez le programme d'installation automatique (.run file) depuis le lien officiel pour Ubuntu ou utilisant wget aujourd'hui

    wget -c  https://download.sourceforge.net/project/hplip/hplip/3.22.2/hplip-3.22.2.run
  2. Étape 2 : Exécutez le programme d'installation automatique

    sh hplip-3.22.2.run

    Suivez ensuite les instructions à l'écran (il devrait demander le mot de passe de votre utilisateur avec droits sudo pour exécuter apt, et supprimer les fichiers hplip-gui s'ils étaient installés). Le processus d'installation est déjà bien documenté sur le site de HPLIP.

    Après l'installation, il affichera l'assistant d'installation de l'imprimante et vous pourrez ajouter l'imprimante au système.


Désinstallation

Ici, nous commençons avec l'installation binaire de HPLIP (donc nous n'avons pas de packages deb liés à HPLIP installés).

Supposons que nous avons terminé l'installation en utilisant le fichier hplip-3.22.2.run (ou une autre version). Nous devons appeler un script de désinstallation spécial comme suit:

sudo hp-uninstall
sudo rm -vrf /usr/share/hplip/ 
sudo rm -vrf /root/.hplip
sudo rm -v /usr/share/hal/fdi/preprobe/10osvendor/20-hplip-devices.fdi

Ensuite, nous installons à la place les packages officiels d'Ubuntu (optionnellement):

sudo apt-get -o Dpkg::Options::="--force-confask" install --reinstall hplip hplip-data hplip-doc hplip-gui libsane-hpaio

Remarque : J'ai signalé le bug 1782137 au compte LaunchPad de HPLIP demandant aux développeurs d'inclure une fonction de désinstallation des composants HPLIP sous forme de packages deb depuis Ubuntu.


Incompatibilité avec le support hérité de python2 sur les versions récentes de Debian et Ubuntu

Python2 est obsolète depuis Debian 11 (bullseye) et Ubuntu 20.04 LTS (focal) donc de nombreux anciens packages python ne sont plus disponibles. De plus, les packages doivent explicitement se référer à python3 ou python2 et non à python. Pour la compatibilité avec le code python2 hérité utilisant /usr/bin/python, deux packages python-is-python2 et python-dev-is-python2 peuvent déjà être installés sur votre système. Ils installent simplement des liens pour que python et python-config pointent vers la version python2 de ces commandes.

Vous en aurez besoin, par exemple pour exécuter la suite d'étalonnage de couleur DisplayCal (displaycal 3.8 dépend toujours du code python2).

La manière la plus simple de vérifier est d'exécuter python --version et de voir s'il s'agit de python version 2 ou version 3.

Si vous lancez l'installation de hplip, elle échouera car elle essaie de déterminer quelle version de python doit être utilisée (probablement en se basant sur python --version ou équivalent). Si vous avez les packages de compatibilité python2 installés, le script est trompé et tente d'installer des packages de dépendance python2 qui ne sont plus disponibles.

Si vous avez vraiment besoin d'installer hplip depuis le site de HP, et que vous avez vraiment besoin d'outils basés sur python2, vous pouvez toujours temporairement changer le lien sur la version de python:

sudo apt-get install python-is-python3 python-dev-is-python3

Ensuite, exécutez l'installateur.

Une fois tout installé, modifiez les fichiers python /usr/share/hplip/*.py pour remplacer la première ligne (#!/usr/bin/env python) par #!/usr/bin/python3 comme c'est le cas dans les packages hplip de debian et ubuntu.

11voto

Felipe G. M. Maia Points 1140

Jusqu'à il y a quelques semaines, la dernière version du pilote HPLIP, disponible sur HP Developers - HP Linux Imaging and Printing, était 3.18.12. Dans le référentiel officiel d'Ubuntu 16.04, la version disponible était 3.16.3.

J'ai d'abord essayé d'installer la dernière version, téléchargée depuis le site web. Cependant, un problème de compatibilité est survenu avec le paquet python-gobject. Comme l'a noté N0rbert (réponse principale), vous devez complètement désinstaller la version actuelle de HPLIP avant d'installer une autre version. Faites-le manuellement, comme décrit par N0rbert. Ensuite, assurez-vous que les fichiers suivants ne sont plus présents (ou que les dossiers respectifs sont vides) :

/etc/hp/hplip.conf
/var/lib/hp/hplip.state
/usr/share/hplip/
/usr/share/ppd/hplip
~/.hplip/hplip.conf
/etc/cups/ppd/HP-....ppd

Je ne suis pas sûre que tous les fichiers listés ci-dessus doivent absolument être supprimés. Cependant, une fois ceux-ci supprimés, j'ai pu poursuivre l'installation sans problèmes.

Malgré le fait que le référentiel n'ait pas la dernière version du pilote, j'ai décidé de l'installer, via apt, car il fonctionne sans crash avec les autres paquets préinstallés. J'ai procédé comme suit :

  1. sudo apt install hplip (pilote Linux pour la plupart des imprimantes et scanners HP).

  2. sudo apt install hplip-gui (nécessaire pour hp-plugin).

  3. hp-plugin (en tant qu'utilisateur normal).

    Ce plugin est une "partie" propriétaire du pilote que HP ne rend pas open-source. Le périphérique ne fonctionnera pas sans lui. Vous serez invité à accepter les termes et à installer le plugin requis pour la version exacte du pilote que vous avez installée.

  4. hp-doctor (pour s'assurer que tout est correctement installé, en particulier le plugin).

  5. hp-setup pour ajouter le périphérique connecté, ou utiliser le logiciel de HP (avec interface graphique), déjà installé à ce stade.

  6. Allez dans les Paramètres système d'Ubuntu et ajoutez une nouvelle imprimante/scanner avec HPLIP.

PS : En janvier 2019, la dernière version est 3.19.1, que je n'ai pas testée.

En général, si vous n'avez pas vraiment besoin de la dernière version d'un paquet, préférez installer celle offerte dans le référentiel officiel. Il est beaucoup plus probable que vous n'aurez pas de problèmes par la suite.

3voto

Deepam Gupta Points 293

Si vous êtes sur Ubuntu 20.04

sudo apt install hplip hplip-gui

Ensuite redémarrez l'ordinateur !!

Remarque : Supprimez tous les types d'installations précédentes en premier. Voir cette réponse.

1voto

David Grant Points 8477

Après que mon ancienne imprimante d'une autre marque a refusé d'imprimer après environ 15 ans, j'ai essayé d'installer un HP M182n aujourd'hui. Je pensais que les pilotes HP étaient parmi les meilleurs de leur catégorie, commençant par mon ancienne installation 18.04, j'ai rencontré quelques problèmes que je vais énumérer ici.

La solution facile pour mon cas aurait été d'utiliser Ubuntu 20.04 avec les packages par défaut. Donc, en cas de doute, essayez d'abord avant de perdre beaucoup de temps.

Passons à autre chose:

  • Il y a un snap qui apparemment était un projet de mentorat estival mais n'a jamais quitté le stade expérimental, pourtant il apparaît dans les résultats de recherche du centre logiciel lorsque l'on recherche HPLIP, ce que beaucoup de personnes semblent faire au lieu d'ouvrir un terminal, c'est Ubuntu après tout. La version Snap 0.2 d'août 2019 ne semble pas fonctionner du tout. La description laisse seulement entendre qu'il s'agit d'un logiciel non fonctionnel.

  • Comme mon modèle est une imprimante multi-fonctions avec un scanner, j'ai besoin d'installer les plugins HPLIP, la manière la plus facile de le faire semble être hp-plugin comme l'ont écrit Felipe et d'autres. Vous pouvez également le télécharger depuis le site HP, mais c'est trop compliqué pour mon goût.

    Remarque: Si vous n'avez jamais eu d'imprimante/MFP réseau auparavant et que vous pensez qu'un pare-feu pourrait poser problème en raison d'une expiration de la connexion, assurez-vous d'installer d'abord le plugin HPLIP avant de chercher autre chose et de désactiver de nombreuses fonctionnalités de sécurité par frustration.

  • Enfin, si vous devez absolument télécharger la dernière version depuis le site HP, assurez-vous de vérifier que c'est bien la dernière version que vous téléchargez. GitHub a une API, et aujourd'hui j'ai appris que Sourceforge en a une aussi! Utilisons-la et n'écrivons pas d'instructions avec des numéros de version codés en dur que vous devez suivre.

    # Télécharger la dernière version en utilisant l'API de publication Sourceforge
    # Notes:
    # - La plate-forme Linux est toujours étiquetée pour offrir la version 3.16 de 2016.
    # - Les parties de l'URL sont remplacées pour obtenir un résultat similaire à ceci :
    #   https://nchc.dl.sourceforge.net/project/hplip/hplip/3.20.9/hplip-3.20.9.run
    # https://sourceforge.net/p/forge/documentation/Using%20the%20Release%20API/
    
    wget $(curl https://sourceforge.net/projects/hplip/best_release.json \
           | jq -r '.platform_releases.windows.url' \
           | sed -e '{s/tar\.gz.*/run/;s/downloads/nchc.dl/}')
    • L'installation de HPLIP 3.20.9 m'a causé plus de problèmes sur Ubuntu 20.04 car elle a des dépendances brisées. https://bugs.launchpad.net/hplip/+bug/1878974/comments/8

      Comme je l'ai dit, ma configuration fonctionne pour l'instant et je dois faire le saut des imprimantes MFP légèrement stupides aux nouvelles imprimantes réseau.

Édit : Essayer d'installer le plugin m'a causé plus de problèmes sur 18.04. Il semble que HP ait supprimé le plugin avec la version correspondante sur Ubuntu en faveur d'une légère augmentation de version... et personne n'y a pensé à deux fois. J'ai ouvert un bogue dans l'espoir que cela soit résolu : https://bugs.launchpad.net/ubuntu/+source/hplip/+bug/1903693

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