2010-03-03 13:25:43 +0000 2010-03-03 13:25:43 +0000
47
47

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

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

Je voudrais écrire un script 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 cherché sur Google pendant quelques minutes, de la façon de reprendre l'impression à partir de la ligne de commande du shell.

Réponses (9)

68
68
68
2010-03-03 16:36:51 +0000

Il y a la commande cupsenable.

cupsenable printer

démarre une imprimante désactivée (pour connaître le nom de l'imprimante, vous pouvez lister vos imprimantes avec lpstat -p ou lpc status).

Vous devrez peut-être exécuter la commande en tant que root ou par sudo. Ainsi, si vous devez activer l'imprimante dans un script shell, vous devrez ajouter le shell à la crontab de root, ou éditer votre fichier sudoers.

6
6
6
2012-10-10 07:42:50 +0000

Mon imprimante est HP CP1215 avait aussi une erreur : Printer Paused - “/usr/lib/cups/backend/hp failed”

Après avoir redémarré les deux cups et avahi-daemon et avoir identifié l'imprimante avec lpstat -p et l'avoir activée avec cupsenable, j'ai pu imprimer à nouveau. Redémarrer seulement cups et activer n'a pas fait l'affaire.

J'ai également changé la politique par défaut pour retry-job et j'ai finalement réussi à éviter les erreurs à l'avenir avec cronjob :

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

poissa käytöstä est le texte de localisation finlandais pour la maintenance “hors service” et HP_Tuloostin est le nom de mon imprimante.

Selon mon expérience, la politique par défaut et la politique actuelle de l'imprimante devraient être configurées pour être de retour au travail. La politique par défaut est simplement la politique que vous obtenez lorsque vous installez une nouvelle imprimante.

2
2
2
2014-01-27 18:33:06 +0000
ls /etc/cups/ppd/ |cut -d "." -f1 |grep -v VMware |xargs -i cupsenable {}

Cela liste tous les fichiers ppd qui représentent une imprimante installée, coupe l'extension ppd, ignore un ppd VMware inclus sur de nombreux serveurs VMware (si vous n'en avez pas besoin, il suffit de supprimer |grep -v VMware), et passe les autres noms à xargs ce qui met toutes les imprimantes en pause.

Un cron job devrait faire en sorte que cela fonctionne bien.

1
1
1
2015-08-25 10:30:16 +0000

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, fermez les tasses et modifiez cette ligne 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 supprimer la directive Resume-Printer, puis redémarrer cups. Si la directive apparaît sur plus d'une section <Limit>, vous pouvez la supprimer de la section <Policy> concernée ou la supprimer de toutes. Vous devriez maintenant être en mesure de reprendre l'imprimante sans avoir à vous connecter à l'interface graphique. J'ai vu cela sur macworld mais cela s'applique à toute installation de cups.

1
1
1
2015-09-07 12:14:32 +0000
0
0
0
2016-10-08 23:57:22 +0000

Un certain nombre de solutions n'ont pas fonctionné pour moi (par exemple, sudo cupsenable et lpadmin -E).

Si vous utilisez Debian 8.6, Cannamon 2.2.16 (Linux), faites-le à partir du menu de démarrage de votre 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épannage de l'impression. Il vous indiquera la marche à suivre.

Vous devrez probablement juste vérifier la propriété “Enabled” pour votre imprimante CUPS dans vos paramètres d'impression. (Vous devrez d'abord la 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).

Corrigé pour moi !

Qu'est-ce qui cause ce problème: Si mon imprimante wifi est mise hors tension lorsque j'imprime sur une imprimante CUPS, et que ma politique est “stop printer”, alors je reçois un message disant 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 “retry job” que Enabled ne sera pas décoché. Quelques minutes après la remise sous tension de l'imprimante, vos travaux commenceront à s'imprimer.

(Mon autre poster à ce sujet.)

0
0
0
2018-11-03 18:15:11 +0000

J'ai dû faire face aux mêmes absurdités de CUPS ici… La solution pour moi a été un script systemd qui s'exécute toutes les n minutes.

0
0
0
2012-02-13 10:28:39 +0000

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

-1
-1
-1
2010-04-12 11:16:08 +0000

Comme d'autres l'ont déjà dit, “cupsenable” ou “lpadmin -E” devraient faire l'affaire.

Un problème connexe est l'IIRC qui, par défaut, CUPS configure l'imprimante de telle sorte que si l'impression d'un travail échoue d'une manière ou d'une autre, l'imprimante est désactivée. Vous pouvez changer cela pour annuler le travail à la place.