Imprimiendo en Linux

De Wikillano
Saltar a: navegación, buscar

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

Print.png

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

http://localhost:631

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