En réalité, le système d'impression vérifie l'existence d'un fichier ppd dans /etc/cups/ppd/ et si il ne le trouve pas, il met l'imprimante en erreur.

La solution simple en attendant de voir le bug corrigé est de créer un fichier vide correspondant à chaque imprimante qui n'en possède pas. Ceci se réalise en deux étapes :

Premièrement,' récupérer l'identifiant de l'imprimante à l'aide de la commande lpstat -v :

shell# lpstat -v
périphérique pour Laser_1erHP : http://servimp:631/printers/laser_1erhp
périphérique pour Laser_2ndHP : http://servimp:631/printers/laser_2ndhp
périphérique pour Laser_rdc-HP : http://servimp:631/printers/laser_rdc
périphérique pour sharp_2nd : ipp://172.16.9.59:631/printers/sharp_2nd
périphérique pour sharpcouleur : ipp://172.16.9.59:631/printers/sharpcouleur

Dans le résultat ci-dessus, nous avons donc 5 imprimantes identifiées dans l'ordre par :

  1. Laser_1erHP
  2. Laser_2ndHP
  3. Laser_rdc-HP
  4. sharp_2nd
  5. sharpcouleur

Deuxièmement, créer un fichier correspondant au nom de l'imprimante suivi avec une extension ppd dans le répertoire /etc/cups/ppd/. Par exemple :

shell# sudo touch /etc/cups/ppd/Laser_1erHP.ppd

Si vous avez plusieurs imprimantes, et que vous n'avez pas envie de les recréer à la main, voici un petit code shell qui le fera pour vous :

for print in $(lpstat -v | cut -d' ' -f3); do
   if [ ! -f /etc/cups/ppd/$print.ppd ]; then 
       sudo touch /etc/cups/ppd/$print.ppd
   fi
done

Et voilà ... vous devriez maintenant de nouveau pouvoir imprimer depuis ces imprimantes.