52 votes

Comment reprendre l'imprimante CUPS à partir de la ligne de commande ?

J'ai une imprimante dans CUPS qui, en raison de problèmes de pilote (HP 1010), se met de temps en temps en pause.

Je voudrais écrire un Shell Shell qui s'exécutera une fois par heure pour reprendre une imprimante dans CUPS. Mais je n'ai aucune idée après avoir googlé pendant quelques minutes comment reprendre une imprimante à partir de la ligne de commande Shell.

2voto

xaphod Points 161

La réponse de Janne ci-dessus, par exemple celle-ci :

* * * * * lpstat -p |grep "poissa käytöstä" && service avahi-daemon restart; service cups restart; cupsenable HP_Tuloostin

... provoquera le redémarrage de CUPS toutes les minutes, quel que soit l'état de l'imprimante. C'est parce que la clause de redémarrage de CUPS n'est pas associée au &&.

Voici un petit script BASH script que j'ai utilisé pour conditionner le redémarrage de CUPS à la détection d'un état d'échec.

#!/bin/bash

DATE=$(date)
DS40=$(/usr/bin/lpstat -p |grep "DS40" |grep "disabled")

if [ ! -z "${DS40}" ]; then
    echo "${DATE} - Restarted avahi and cups" >> /var/log/cups/restart-cron-tim.log
    /usr/sbin/service avahi-daemon restart
    /usr/sbin/service cups restart
    /usr/sbin/cupsenable Dai_Nippon_Printing_DS40
fi

Remplacez "DS40" par l'imprimante dont vous souhaitez connaître l'état, et "disabled" par le résultat de lpstat -p dans votre langue.

1voto

Pierz Points 1579

Si le problème est dû au fait que l'interface graphique nécessite une connexion pour reprendre l'imprimante, une autre solution consiste à autoriser la reprise de l'imprimante via l'interface graphique sans connexion. Pour ce faire, arrêtez cups et modifiez la ligne suivante sudo vi /etc/cups/cupsd.conf :

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-  Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

Et enlevez le Resume-Printer puis redémarrer cups. Si la directive apparaît sur plusieurs <Limit> vous pouvez alors le retirer de la section <Policy> ou supprimer de tous. Vous devriez maintenant être en mesure de reprendre l'imprimante sans connexion à partir de l'interface graphique. J'ai vu cela sur macworld mais cela s'applique à toute installation de coupes.

0voto

J'ai mis à jour cupsd.conf avec la ligne :

Politique d'erreur abort-job

J'ai ensuite redémarré cupsd en utilisant : /etc/init.d/cups restart

Mais lorsque je regarde le fichier printers.conf, la politique d'erreur n'est pas mise à jour. D'après la documentation de cups, la ligne "ErrorPolicy abort-job" doit apparaître dans la section imprimante.

J'ai également essayé de mettre à jour la politique d'erreur avec lpadmin. Rien ne change la politique d'erreur ou elle ne se retrouve pas dans le fichier printers.conf.

Qu'est-ce qui m'échappe ? Comment puis-je m'assurer que cupsd abandonne réellement un travail en cas d'erreur ?

0voto

vserg Points 1

lpadmin -p p-go-avtom2 -v p-go-avtom2 -E

Source

0voto

Elliptical view Points 1060

Plusieurs des solutions proposées ici n'ont pas fonctionné pour moi (par exemple, sudo cupsenable et lpadmin -E).

Si vous utilisez Debian 8.6, Cannelle 2.2.16 (Linux) à partir du menu de démarrage de l'interface graphique :

Click Administration | Print Settings,
Then select your stalled CUPS printer,
Click Unlock (and give it your admin password),
Click Server | Settings,
In this click the blue "Problems?" link. 

Pour Ubuntu 16.04 :

Click System Settings | Printers,
Then Server | Settings,
Click the blue "Problems?" link. 

Cela ouvre le dépanneur d'impression. Il vous indiquera la marche à suivre.

Il vous suffira probablement de vérifier la propriété Enabled de votre imprimante CUPS dans vos paramètres d'impression. (Vous devrez d'abord déverrouiller).

Enfin, pour éviter que cela ne se reproduise, changez la "politique" de l'imprimante en "retry-job" dans la configuration de l'imprimante mentionnée ci-dessus (sous propriétés | politiques).

Je l'ai corrigé pour moi !

Quelle est la cause de ce problème ? Si mon imprimante wifi est hors tension lorsque j'imprime sur une IMPRIMANTE CUPS, et que ma politique est "arrêter l'imprimante", je reçois un message indiquant que je n'ai pas pu imprimer et que l'imprimante est désactivée (Enabled n'est pas coché). Ce n'est que si la politique est réglée sur "réessayer le travail" que l'option Activé n'est pas décochée. Quelques minutes après la remise sous tension de l'imprimante, vos travaux commenceront à s'imprimer.

(Mon autres (voir l'article à ce sujet).

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