Imprimiendo en Linux
Contenido |
Postscript:
El lenguaje de impresión en UNIX/Linux, fue unos de los primeros lenguajes de impresión que se popularizo en las impresoras laser, postscript se convirtió en un estándar para los programas los cuales sacaban directamente su impresión en este lenguaje hacia la impresora.
aún así no todos los programas producian postscript, algunos lo hacen en texto plano, PCL ...etc
El problema de postscript como estándar es que la mayoría de impresoras de gama baja no entienden el lenguaje postscript, para poder imprimir un trabajo que un programa envia en postscript (o cualquier otro lenguaje) se debe traducir primero antes de enviarlo a la cola, y ahí es donde entra ghostscript
Ghostscript: A Postscript Translator
Ghsotscript es un interprete de postcript, se dedica a parsear el lenguaje y a producir algo que la impresora entienda y pueda imprimir, el inconveniente es que ghostscript genera ficheros de salida mas pesados que postscript.
para poder traducir los documentos, existen los llamados SmartFilters, son llamados como parte del proceso de impresión, smartfilter examina el fichero determina su tipo y realiza los cambios necesarios. Smartfilter puede pasar a ghostscript los parámetros necesarios para que el mismo produzca un fichero imprimible.
Common Unix Printing System (CUPS)
ficheros de configuración:
añadir o borrar impresoras
/etc/cups/printers.conf
En este fichero encontramos impresoras definidas en el sistema
<DefaultPrinter Samsung-ML-2010> Info Samsung ML-2010 Location DeviceURI lpd://192.168.2.1/lpt1 State Idle StateTime 1252184267 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy retry-job </Printer>
más información la podemos encontrar en los ficheros Postcript Printer Definition (PPD) que normalmente estan en el directorio /etc/cups/ppd más abajo podemos ver la salida del fichero ppd de la impresora definida en el sistema.
*PPD-Adobe: "4.3" *% PPD file for ML-2010 with CUPS. *% Created by the CUPS PPD Compiler v1.2.3. *FormatVersion: "4.3" *FileVersion: "SpliX V. 2.0.0" *LanguageVersion: English *LanguageEncoding: ISOLatin1 *PCFileName: "ml2010.ppd" *Product: "(ESP Ghostscript)" *Product: "(GPL Ghostscript)" *Product: "(GNU Ghostscript)" *Manufacturer: "Samsung" *ModelName: "Samsung ML-2010" *ShortNickName: "Samsung ML-2010" *NickName: "Samsung ML-2010, SpliX V. 2.0.0" *PSVersion: "(3010.000) 705" *PSVersion: "(3010.000) 707" ...
estos fichero ppd los podemos encontrar si existen en en la web de la marca de impresoras, si tenemos el fichero ppd de nuestra impresora no tendremos ningún problema en configurarla ya que en el están detalladas todas las opciones y funcionalidades de la misma. (seria como el driver).
Fichero de configuración de CUPS
/etc/cups/cupsd.conf
En el podemos habilitar opciones del servidor como el protocolo de impresión IPP como tambiém podemos dar acceso o denegarlo a según que parte de la administración.
..... # Restrict access to the server... <Location /> Order allow,deny </Location> # Restrict access to the admin pages... <Location /admin> Encryption Required Order allow,deny </Location> .....
Administracion web de CUPS
|
Importante: La conexión no esta encriptada, así que mejor no utilizar la web de administración remotamente |
Imprimir remotamente
- IPP: Internet Printer Protocol, protocolo utilizado por CUPS que habilita el browsing mediante el cual los servidores de impresión comparten sus listas de impresoras.
- LPD: Protocolo antiguo de compartición de impresoras entre UNIX/LINUX si queremos conectarnos a una impresora en un servidor linux lo haremos de la siguiente manera: lpd://hostname/queue
- SMB/CIFS: si tenemso que conectar contra un servidor de impresion Windows deberemos utilizar este protocolo, especificando usuario/password smb://username:password@SERVIDOR/SHARE
Utilidades y comandos para controlas las colas de impresión
- lpr: Imprime ficheros
- -P Nombre de la cola donde imprimir
- -m Envia un mail cuando acaba de imprimir
- -# 3 Imprime 3 copias
lpr -Plpt1 -m david texto.txt
- lpq Muestra el estado de la cola de impresión.
root@davitux:/var/spool/cups# lpq -PSamsung-ML-2010 Samsung-ML-2010 está preparada no hay entradas
- lprm Borrar jobs encolados.
$> lprm <jobid>
borrar los trabajos del usuario con el que estamos logeados (notese '$' usuario normal )
$> lprm -
Borrar todos los trabajos de todos los usuarios (sólo root '#')
#> lprm -
Estado de la impresora
#> lpstat
