Es muy difícil para mí realizar la impresión, porque el diálogo de la impresora está lleno de cientos de impresoras agregadas automáticamente, por lo que no puedo encontrar la que quiero usar, vea la captura de pantalla a continuación.
Las impresoras provienen de mi red de trabajo, donde aparentemente muchas personas (incluidos estudiantes, supongo) están "compartiendo" sus impresoras domésticas, que mi computadora portátil recoge automáticamente. (casualmente, a veces desactivo el demonio avahi en el trabajo, simplemente porque está usando una gran cantidad de CPU).
Cuando voy a http://localhost:631/printers/
, dice que hay 131 impresoras, y todas son de Marca y Modelo 'Impresora local sin formato'. Con dos excepciones: 1 es una impresora de red en el trabajo que configuré manualmente. Otra es una impresora de red en casa de mis padres, que también se agregó automáticamente y en la que estoy en la misma red en este momento. Pero el resto son sólo basura que realmente me gustaría evitar. Se agradecerían consejos sobre cómo hacerlo.
Sin embargo, no regresaré a mi lugar de trabajo por un tiempo, así que por ahora, solo me gustaría que se eliminen estas impresoras (que serían las impresoras 129/130 agregadas automáticamente). ¿Hay una manera de hacer eso? Supongo que podría hacerlo haciendo clic en la interfaz web de cups, pero para 129 impresoras, eso es demasiado. Así que estoy buscando un comando único o consejos sobre cómo lograrlo con una especie de script.
Respuesta1
Usando este comando: lpstat -a
podemos ver las impresoras instaladas e identificar el nombre de la impresora que deseamos conservar, grep
también podemos usar el comando para filtrar los resultados de esta manera: lpstat -a | grep <probable_name_of_printer>
.
Entonces este pequeño guión puede ayudar:
Ejecute este comando para verificar que la impresora deseada no esté en la lista:
lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d' | grep <NAME_OF_PRINTER>
Esto no debería devolver nada ya que hace lo siguiente:
lpstat -a
: lista de impresoras instaladascut -d" " -f1
: devuelve solo los nombres de las impresorassed -E '/<NAME_OF_PRINTER>/d'
: elimina el nombre de la impresora para mantenerla en la salida de los comandos anterioresgrep <NAME_OF_PRINTER>
: asegúrese de que la impresora deseada no esté en la lista
Si lo anterior es correcto; luego ejecute este comando para eliminar todas las demás impresoras que no necesite:
sudo bash -c 'for i in $(lpstat -a | cut -d" " -f1 | sed -E '/<NAME_OF_PRINTER>/d'); do lpadmin -x "$i"; done'