lunes, 20 de mayo de 2013

Imprimir desde el terminal

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Los entornos gráficos nos han acostumbrado a que todo sea tremendamente fácil, pero los inicios de cualquier sistema operativo nunca han sido un camino de rosas para quienes han intentado aprender sus entresijos. Habrá quien diga que volver a manejarse (casi) exclusivamente por comandos de teclado es un atraso y un retorno a la prehistoria informática, y desde la perspectiva del usuario doméstico quizá no le falte razón. Pero si queremos profundizar en los fundamentos de un SO no nos queda otra que machacarnos el modo texto y sacarle todo el jugo que sus programadores se han dignado darle. Y esto sirve también para cuando queramos imprimir.

Porque podemos imprimir el contenido de un fichero desde el terminal de GNU/Linux, para lo que disponemos del comando lp, cuyas opciones paso a describir. Huelga decir que para que lo que a continuación viene es preciso disponer de una impresora correctamente conectada y reconocida por el sistema. Vamos a suponer que disponemos de una Epson Stylus SX130 y que queremos imprimir el archivo listado.txt.

paco@paco-pc:~$ lp listado.txt
El comando lp es un comando básico para imprimir el archivo de texto que nosotros designemos, en este caso listado.txt. No hace falta nada más si solo tenemos una impresora configurada.

paco@paco-pc:~$ lp Epson-Stylus-SX130 listado.txt
Aquí hemos elegido una impresora concreta de las varias que eventualmente puedan estar disponibles.

paco@paco-pc:~$ lpstat -p -d
El comando lpstat es para conocer los nombres de las impresoras disponibles y así poder utilizar el comando anterior.

paco@paco-pc:~$ lp -n 2 listado.txt
Con la opción -n podemos imprimir dos o más copias de listado.txt. Sustitúyase el 2 por el nº de copias que cada usuario requiera.

paco@paco-pc:~$ lp -P 1,3,6-10 listado.txt
La opción -P nos da la oportunidad de imprimir páginas salteadas, en este caso las páginas 1, 3, 6, 7, 8, 9 y 10 de listado.txt.

paco@paco-pc:~$ lp -o media=letter listado.txt
La opción -o nos da la posibilidad de elegir el formato de impresión, en este caso letter. Los formatos disponibles son:
  • Letter – US Letter (8.5×11 pulgadas, o 216x279mm)
  • Legal – US Legal (8.5×14 pulgadas, o 216x356mm)
  • A4 – ISO A4 (8.27×11.69 pulgadas, o 210x297mm)
  • COM10 – US #10 Envelope (9.5×4.125 pulgadas, o 241x105mm)
  • DL – ISO DL Envelope (8.66×4.33 pulgadas, o 220x110mm)
  • Transparency – Se usa para imprimir sobre ojas de acetato
  • Upper – Para usar la bandeja superior de papel de la impresora
  • Lower – Para usar la bandeja inferior de papel de la impresora
  • MultiPurpose – Para usar la bandeja multiproposito de la impresora
  • LargeCapacity – Para usar la bandeja de gran capacidad de la impresora

paco@paco-pc:~$ lp -o media=Custom.ANCHOxLARGOmm listado.txt
Con la misma opción podemos escoger un formato personalizado.

paco@paco-pc:~$ lp -o lansdcape listado.txt
Y también imprimir en horizontal o landscape (impresión girada 90º). Las orientaciones especiales se realizan de la siguiente forma:
  • lp -o orientation-requested=3 (0 grados)
  • lp -o orientation-requested=4 (90 grados)
  • lp -o orientation-requested=5 (270 grados)
  • lp -o orientation-requested=6 (180 grados)

paco@paco-pc:~$ lpq
Con lpq podemos ver la cola de impresión mientras existan trabajos pendientes.

paco@paco-pc:~$ lprm numero_de_trabajo
Con lprm podemos cancelar un trabajo de impresión a través de su número de trabajo, el cual obtenemos con lpq.