Búsqueda de sitios web

Controle su impresora desde una terminal Linux con el comando lp


Conclusiones clave

  • Imprimir desde la línea de comando con lp puede resultar útil para enviar archivos directamente a la impresora sin abrir una aplicación.
  • La mayoría de las distribuciones incluyen lp, pero es posible que necesites instalarlo usando comandos como "sudo apt install cups".
  • El uso de lpstat, lpoptions y lpinfo puede ayudarlo a encontrar información sobre su impresora y enviar trabajos de impresión desde la línea de comando con opciones de diseño.

El comando lp de Linux le permite imprimir desde una ventana de terminal. Puede enviar trabajos de impresión manualmente o desde scripts, configurar la orientación de la página y otras preferencias, y enumerar las capacidades de su impresora.

¿Por qué imprimir desde la línea de comandos?

Usando nada más que mi superpoder de suposición, creo que es probable que la mayor parte de la impresión desde computadoras Linux en entornos domésticos se realice desde una aplicación GUI.

Por supuesto, existen aplicaciones de interfaz de usuario basada en texto (TUI) que también admiten la impresión. Estos se ejecutan dentro de una ventana de terminal y le permiten enviar contenido a su impresora. Pero aun así, espero que la mayor parte de la impresión provenga del interior de las aplicaciones GUI.

Imprimir archivos de texto desde la línea de comandos, fuera de cualquier aplicación, no es una actividad cotidiana para la mayoría de las personas, pero es algo que puede resultar útil. No es necesario iniciar un programa, cargar el archivo, presionar imprimir y luego cerrar la aplicación nuevamente. Con el comando lp, puede enviar el archivo directamente a la impresora desde la línea de comando.

Esto es útil hasta cierto punto, pero resulta útil cuando tienes un script de shell que necesita imprimir algo. Imprimir archivos existentes o imprimir archivos creados por el propio script es fácil con lp y su familia de programas de soporte.

Sin embargo, un punto que debes comprender es que no puedes enviar ningún tipo de archivo antiguo a la impresora. Por ejemplo, no puede enviar un archivo ODT a la impresora porque no está en un formato que la impresora comprenda. Cuando abre un documento ODT en LibreOffice y lo imprime, LibreOffice envía una versión traducida del archivo a la impresora, que la impresora puede entender y actuar en consecuencia. La impresión de la que estamos hablando aquí se utiliza mejor con archivos de texto.

instalando lp

La mayoría de las distribuciones incluyen lp y otros comandos relacionados con la impresora directamente desde el primer momento. Si necesita instalarlos, estos son los comandos que necesitará.

En Ubuntu, debes escribir:

sudo apt install cups

En Fedora usa este comando:

sudo dnf install cups

El comando para Manjaro es:

sudo pacman -S cups

Más información sobre su impresora

El comando lp tiene un par de comandos aliados útiles. Uno de ellos es lpstat, que puede encontrar información sobre su impresora.

Usado sin opciones de línea de comando, lpstat muestra la cola de impresión.

lpstat

La opción -p (impresoras) enumera las impresoras configuradas y su estado, como inactiva o imprimiendo.

lpstat -p

La opción -d (predeterminada) muestra la impresora predeterminada. Para obtener una respuesta útil de este comando, necesitará tener una impresora configurada como dispositivo predeterminado. El hecho de que tenga una sola impresora no la convierte en la predeterminada.

lpstat -d

El comando lpoptions enumera las opciones que admite su impresora. Si no se especifica ninguna impresora, se describe la impresora predeterminada.

lpoptions

Para obtener información sobre una impresora específica, puede pasar el nombre en la línea de comando, usando la opción -p (impresora). Como solo tenemos una impresora conectada, y es la impresora predeterminada, obtendremos el mismo resultado que antes.

lpoptions -p Lexmark_B2442dw

Tenga en cuenta que el nombre a utilizar se puede encontrar utilizando la salida lpstat -p.

Para que el resultado del comando lpoptions sea más legible, puede pasarlo a través del comando de columna. Si le decimos que comience una nueva línea cada vez que encuentre espacios en blanco, obtendremos un formato de columnas aproximado y listo que es mucho más fácil de analizar.

lpoptions -p Lexmark_B2442dw | column -t -o $'\n'

El comando lpinfo se puede utilizar con la opción -v (detallado) para brindarle detalles de conexión para las impresoras detectadas. Se muestran las impresoras que pueden utilizar cada protocolo.

lpinfo -v

Ahora que conocemos nuestra impresora, podemos enviarle trabajos de impresión.

Crear trabajos de impresión con lp

El comando lp es el que realmente envía los trabajos de impresión a la impresora.

Podemos echar un vistazo rápido a la cola de impresión con lpq.

lpq

Comenzamos con una cola de impresión vacía. Para enviar un trabajo usamos el comando lp, seguido del nombre del archivo.

lp sample-file-1.txt

Si es lo suficientemente rápido o si el archivo es lo suficientemente grande, puede usar lpq para verificar que el trabajo haya llegado a la cola de impresión.

lpq

Podemos agregar más trabajos a la cola y la impresora los manejará en orden a medida que avanza en su carga de trabajo.

lp sample-file-2.txt
lpq

Si su archivo tiene espacios en su nombre, coloque el nombre del archivo entre comillas o use la expansión de tabulación para completar el nombre por usted. La expansión de pestañas escapa automáticamente de los espacios.

lp "sample file 3.txt"
lpq

Si necesita varias copias de un documento, utilice la opción -n (copias) seguida del número de copias que necesita.

lp -n 15 sample-file-1.txt
lpq

Tenga en cuenta que no ve 15 entradas en la cola de impresión. El trabajo se envía a la impresora una vez, con instrucciones para imprimirlo 15 veces.

Para ahorrar papel, y si tu impresora lo admite, puedes imprimir a doble cara. Puede optar por pasar las páginas por sus bordes largos o cortos. Hacemos esto usando la opción -o (opciones) y pasando el nombre de la opción que queremos usar (en nuestro caso, "lados") y cualquier parámetro de esa opción.

Imprimamos algo a doble cara, con las páginas girando por el borde largo.

lp -o sides=two-sided-long-edge sample-file-1.txt

Para imprimir las páginas de modo que se giren por el borde corto, utilizamos el parámetro borde corto de dos caras.

lp -o sides=two-sided-short-edge sample-file-1.txt

Seleccionar paisaje o retrato es igual de fácil. Usamos la opción -o (opciones) una vez más y especificamos vertical u horizontal.

lp -o landcape sample-file-1.txt

Hay muchas otras opciones que puedes usar con la opción -o (opciones). Consulte la página de manual si está interesado. Es posible que algunas de las opciones le resulten útiles.

  • job-sheets=name: imprime una portada. Reemplace el nombre con uno de clasificado, confidencial, secreto, estándar, ultrasecreto o no clasificado.
  • media=size: establece el tamaño del papel. Los tamaños típicos son "a4", "carta" y "oficial".
  • number-up=number: el número puede ser 2, 4, 6, 9 o 16. Esto dicta cuántas páginas de entrada se apiñan en una página de salida.
  • print-quality=calidad: el valor de calidad puede ser 3 (borrador), 4 (normal) o 5 (óptimo).

Cancelación de trabajos de impresión

Para cancelar un trabajo de impresión necesita saber su número de trabajo. Puede encontrar esto en la salida del comando lpq.

El comando que necesitamos es cancelar, seguido del número de trabajo.

lpq
cancel 16
lpq

Puede cancelar varios trabajos a la vez.

lpq
cancel 15 17
lpq

Ahora hemos vaciado la cola de impresión.

Copia impresa, eso

Ser capaz de controlar su impresora desde la ventana de terminal le permite imprimir desde la línea de comandos con cierto grado de control sobre el diseño de la página y el manejo del papel, pero realmente resulta útil cuando necesita una forma de imprimir desde dentro de un script de shell.