Script (o icono) para borrar todos los trabajos y reiniciar el CUPS con usuario sin privilegios a través de sudo

Saludos de nuevo!

Si eres de los que tienes un servidor de impresión que requiere frecuentemente borrar todos los trabajos de impresión y reiniciarlo para que vuelva a imprimir, implementa esta solución:

El primer paso es autorizar a un usuario "normal" (sin privilegios) para que pueda usar el comando lprm (borra los trabajos del cups), kill para matar los procesos y /etc/init.d/cups restart para reiniciar el servicio.

1) Como root: ejecuta el siguiente comando:

$ visudo

y agrega la siguiente línea:

yescalante ALL=NOPASSWD:/etc/init.d/cups restart,/usr/bin/kill,/usr/bin/lprm

Note que yescalante es el nombre del usuario que se le otorgarán los permisos para hacer el "reseteo", cámbielo por su nombre de usuario.

2) Ingrese con el usuario sin privilegios (yescalante en mi caso) y cree un archivo que se llame reiniciar_impresora.sh

Yo lo hice en el directorio /home/usuario/Escritorio para crear un icono en el escritorio para el usuario, más fácil, IMPOSIBLE!

$ nano reestablecer_impresora.sh

E ingrese las siguientes líneas:

#!/bin/bash

sudo lprm -P Hewlett-Packard-HP-LaserJet-1020
# (Donde Hewlett-Packard-HP-LaserJet-1020 es el nombre de la cola de impresión del CUPS, puede conseguir esto en la interfaz gráfica del CUPS en http://localhost:631 de su máquina y coloque el nombre de la impresora que quiere reiniciar)
# OJO: Esta descripción no debe tener espacios en blanco, tome la que aparece como vínculo en la parte superior de la página del CUPS.
sudo /etc/init.d/cups restart

3) Dele permisos de ejecución al archivo:

$ chmod 755 reestablecer_impresora.sh

Y listo!, ha creado un cómodo icono en el escritorio que le permite: borrar todos los trabajos en la cola del CUPS y reiniciar el CUPS dejando su impresora completamente operativa de nuevo.

Espero les sea útil.

Alejo V.

Comentarios

Entradas populares