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

¿Cómo reanudar la impresora CUPS desde la línea de comandos?

Tengo una impresora en CUPS que por problemas de drivers (HP 1010) de vez en cuando se pone en pausa.

Me gustaría escribir un script de shell que se ejecute una vez por hora para reanudar la impresora en CUPS. Pero no tengo ni idea después de buscar en Google durante un par de minutos cómo reanudar la impresora desde la línea de comandos del shell.

Respuestas (9)

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

Existe el comando cupsenable.

cupsenable printer

inicia una impresora deshabilitada (para saber el nombre de la impresora puedes listar tus impresoras con lpstat -p o lpc status).

Puede que tengas que ejecutar el comando como root o a través de sudo. Así que si tienes que habilitar la impresora en un script de shell, tendrías que añadir el shell al crontab de root, o editar tu archivo sudoers.

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

Mi impresora es HP CP1215 tenía también un error: Impresora en pausa - “/usr/lib/cups/backend/hp failed”

Después de reiniciar tanto cups como avahi-daemon e identificar la impresora con lpstat -p y habilitarla con cupsenable, pude volver a imprimir. Reiniciando sólo cups y habilitando no funcionó.

También cambié la política por defecto a retry-job y finalmente acabé evitando los errores en el futuro con cronjob:

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

donde poissa käytöstä es el texto de localización finlandés para mantenimiento “out of order” y HP_Tuloostin es el nombre de mi impresora.

Según mi experiencia, tanto la política por defecto como las políticas actuales de la impresora deberían estar configuradas para reintentar el trabajo. La política por defecto es sólo la política que se obtiene cuando se instala una nueva impresora.

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

Esto lista todos los archivos ppd que representan una impresora instalada, corta la extensión ppd, ignora el ppd de VMware que se incluye en muchos servidores VMware (si no necesitas esto sólo quita el |grep -v VMware), y pasa los otros nombres al xargs que deshabilita todas las impresoras.

Un trabajo cron debería hacer que esto funcione bien.

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

Si el problema se debe a que la interfaz gráfica de usuario requiere un inicio de sesión para reanudar la impresora, otra solución es permitir la reanudación de la impresora a través de la interfaz gráfica de usuario sin un inicio de sesión. Para ello, apague las tazas y edite esta línea 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>

Y elimine la directiva Resume-Printer, luego reinicie cups. Si la directiva aparece en más de una sección <Limit> entonces puede eliminarla de la sección <Policy> correspondiente o eliminarla de todas. Ahora debería ser capaz de reanudar la impresora sin un inicio de sesión desde la GUI. Vi esto en macworld pero se aplica a cualquier instalación de cups.

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

Un montón de soluciones aquí no me funcionaron, (por ejemplo, sudo cupsenable y lpadmin -E).

Si estás usando Debian 8.6, Cinnamon 2.2.16 (Linux) haz esto desde el menú de inicio de tu GUI:

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.

Para Ubuntu 16.04:

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

Esto abre el solucionador de problemas de impresión. Le dirá qué hacer a continuación.

Probablemente sólo tendrá que comprobar la propiedad Enabled para su impresora CUPS en su configuración de impresión. (Primero tendrá que desbloquearla).

Por último, para evitar que esto vuelva a suceder, cambie la “política” de la impresora a “retry-job” en la configuración de la impresora mencionada anteriormente (en propiedades | políticas).

¡Ya está solucionado!

Qué causa este problema: Si mi impresora wifi está apagada cuando imprimo en una IMPRESORA CUPS, y mi política es “detener impresora”, entonces me aparece un mensaje de que no pude imprimir y la impresora está deshabilitada (Enabled está desmarcada). Sólo si la política está configurada como “reintentar trabajo”, la opción Habilitada no estará desmarcada. Unos minutos después de que la impresora se encienda de nuevo, sus trabajos comenzarán a imprimirse.

(Mi otro post sobre esto.)

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

Tuve que lidiar con la misma tontería de CUPS aquí… La solución para mí fue un script systemd que se ejecuta cada n minutos.

/usr/local/cups/enable_cups_printers.sh

#!/bin/sh
for printer in $(lpstat -v | perl -pe 's/device for ([A-Za-z0-9_]+):.*//g')
do
    echo "Forcely enabling printer: $printer"
    # Enable:-E PrinterId:-p
    /usr/bin/lpadmin -E -p "$printer"
done

cups.enable.printers.service

[Unit]
Description = Forcely enable printer occassionally. Why CUPS disables printers in the first place has yet to be determined.

[Service]
Type = simple
ExecStart = /usr/local/cups/enable_cups_printers.sh

[Install]
WantedBy = multi-user.wants

cups.enable.printers.timer

[Unit]
Description=Run enable printers frequently to ensure connection difficulties are remedied.

[Timer]
OnBootSec=15min
OnUnitActiveSec=300

[Install]
WantedBy = timers.target
0
0
0
2012-02-13 10:28:39 +0000

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

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

Como ya han dicho otros, ‘cupsenable’ o ‘lpadmin -E’ deberían funcionar.

Un problema relacionado es que, por defecto, CUPS configura la impresora de manera que si la impresión de un trabajo falla de alguna manera, la impresora se desactiva. Puedes cambiar esto para abortar el trabajo en su lugar.