5 votos

Cómo obtener los niveles de suministro de una impresora a través de la línea de comandos

Estoy tratando de obtener los niveles de suministro de una impresora a través de la línea de comandos. Hasta ahora he podido obtener alguna información con un comando lpoptions (propiedad marker-message). El problema es que el estado no se actualiza automáticamente. No importa cuántas páginas imprima, el resultado de este comando no cambia.

Al mismo tiempo, la utilidad de impresión estándar (cmd+p) de macOS puede obtener la información adecuada de la impresora. Hice una investigación rápida y descubrí que llama al comando ReportLevels de CUPS.

Así que mi pregunta es: ¿hay alguna forma de llamar a ese comando ReportLevels manualmente y, de ser así, cómo se puede hacer? ¿O tal vez hay otra forma de forzar esa actualización?

Agradecería mucho cualquier ayuda, ¡gracias de antemano!

-1voto

Program5284 Puntos 18

Creo que estás equivocado aquí, el comando ReportLevels es una opción utilizada al configurar una impresora en CUPS, que determina el nivel de detalle a incluir en el registro de errores de la impresora, no se utiliza para obtener los niveles de suministro actuales de una impresora.

Además, ReportLevels no es un comando que se pueda invocar manualmente desde la línea de comandos.

En lugar de eso, puedes utilizar la opción ReportLevels y otros ajustes de impresora utilizando el comando cupsctl, que te permite ver y cambiar varios ajustes de CUPS, incluidas las opciones de impresora y límites de trabajos. Puedes utilizar la bandera -o (seguido por la opción y su valor) para modificar la opción ReportLevels1.


Mientras que la salida del comando lpstat -t NOMBRE-IMPRESORA | grep -E 'Nivel de tóner|Nivel de tinta' solo muestra el nivel de tóner para la impresora especificada (aquí llamada NOMBRE-IMPRESORA), puedes modificar el comando para mostrar tanto el nivel de tóner como los niveles de tinta. Aquí tienes un ejemplo de comando que puedes usar para obtener el nivel de tóner y los niveles de tinta de una impresora llamada impresora:

lpstat -t impresora | grep -E 'Nivel de tóner|Nivel de tinta|Tinta Restante'

Este comando incluye el texto adicional | Tinta Restante en el comando grep, que coincidirá con Nivel de tinta o Tinta Restante si alguna de esas cadenas está presente en la información de la impresora. Esto debería permitirte capturar también los niveles de tinta si están disponibles.

Deberías obtener algo similar a esto:

Nivel de tóner: 64%
Nivel de tinta: 83%

Nota: No todas las impresoras informan los niveles de tinta y, incluso cuando lo hacen, no todos los controladores de impresora admiten acceder a esos niveles a través del comando lpstat. Por lo tanto, es posible que no veas información sobre los niveles de tinta incluso si tu impresora lo admite.


1Por ejemplo, para establecer la opción ReportLevels en trabajo,error, deberías usar cups to -o ReportLevels=job,error (puede ser necesario sudo). Este comando hará que solo registre errores que ocurran durante los trabajos de impresión. Además, para obtener el valor actual de este comando, simplemente ejecuta cupsctl | grep ReportLevels.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X