Autorisations des imprimantes USB sous Linux
Symptôme : l'imprimante apparaît lors de la recherche, mais l'impression échoue avec une erreur d'accès ou d'autorisation.
Pourquoi cela arrive
Sous Linux, un périphérique USB appartient à root sauf si une règle en décide autrement : une application lancée sous votre compte ne peut donc pas l'ouvrir. Le pilote d'impression du noyau peut lui aussi avoir déjà réservé le périphérique.
Ce qu'il faut faire
-
Trouvez les identifiants de fabricant et de produit de l'imprimante :
lsusbRepérez la ligne de votre imprimante — les identifiants sont les deux valeurs de quatre caractères qui suivent
ID, par exemple04b8:0e28. -
Créez un fichier de règle, en remplaçant les identifiants par les vôtres :
sudo tee /etc/udev/rules.d/99-receipt-printer.rules <<'RULE'SUBSYSTEM=="usb", ATTRS{idVendor}=="04b8", ATTRS{idProduct}=="0e28", MODE="0666"RULE -
Rechargez les règles et réappliquez-les :
sudo udevadm control --reload-rules && sudo udevadm trigger -
Débranchez l'imprimante, rebranchez-la et redémarrez l'application. Imprimez une page de test.
Lancez l'application avec votre compte utilisateur normal, et non avec sudo — une règle qui ne fonctionne que pour root n'a aucun intérêt.
Toujours bloqué ?
Utilisez Copier le rapport de configuration sur l'écran de dépannage et collez-le dans votre message, avec la ligne lsusb correspondant à votre imprimante.