gentoo linux, java, software libre y otras hierbas
nov, 13 2008 - 3:30 pm

Configuración de impresoras en Linux

Bueno, la verdad es válido para cualquier otra distro de Linux, aunque lo voy a enfocar a Arch Linux, puesto que una vez instalado nuestro sistema base, debemos instalar un par de paquetes para poder realizar trabajos de impresión.

Lo que debemos hacer es instalar el paquete CUPS, veamos algo de teoría:

CUPS es una solución multiplataforma para impresión en entornos UNIX. Está basado en el protocolo “Internet Printing Protocol” y provee un set de servicios de impresión. CUPS es distribuido bajo la licencia GNU GPL…

Instalación…

Bastante sencillo. Basta con ejecutar el comando:

# pacman -S cups ghostscript gsfonts

Esto instalará cups, ghostscript (un intérprete de lenguaje Postscript) y gsfonts (las fuentes estándar de Postscript). Luego de instalado, debemos iniciar los servicios:

# /etc/rc.d/cups start

Después de esto podremos acceder a la interfaz web, para configurar nuestras impresoras y opciones de impresión, desde la URL http://localhost:631/. Desde allí podemos añadir nuevas impresoras, administrar los trabajos de impresión, etc.

Iniciando automáticamente CUPS

Si deseamos que el servicio de impresión se ejecute cada vez que inicie el sistema, debemos añadirlo en la sección de demonios del archivo /etc/rc.conf. Simplemente debemos añadir la palabra cups dentro de la sección DAEMONS, así:

DAEMONS=(syslog-ng network netfs crond alsa cups)

Buscando nuestros drivers…

Yo aconsejo que utilicen la base de datos que nos ofrece Linux Printing:

http://www.linuxprinting.org/printer_list.cgi

Allá de seguro encontrarán información de su impresora, y un enlace al sitio de donde pueden descargar los drivers.

Ejemplo de instalación de impresora…

Vamos a instalar paso a paso mi impresora Konika Minolta magicolor 2300 DL. Lo primero, buscar en la base de datos de linux printing, con lo cual se que los drivers los proporcionan en ésta página: http://foo2zjs.rkkda.com/.

Descargo y descomprimo el paquete de los drivers…

# wget http://foo2zjs.rkkda.com/foo2zjs.tar.gz
# tar xvfz foo2zjs.tar.gz
# cd foo2zjs

Compilo las fuentes…

# make

Instalo los drivers…

# make install

Si te aparece un error como Install foomatic package(s) for your OS, instalas los paquetes foomatic-db y foomatic-db-ppd:

pacman -S foomatic-db foomatic-db-ppd

Luego de haber instalado los drivers, actualizamos el spooler:

# /etc/rc.d/cups restart

Luego de ello, voy a http://localhost:631/ y hago clic en el link Add printer, y pongo los datos de mi impresora:

Clic en continuar, y en el menú siguiente seleccionamos nuestra impresora de la lista disponible y hacemos clic en continuar:

Ahora tendremos que escoger el driver para nuestra impresora de la lista de controladores disponibles. Ten en cuenta que, por defecto, CUPS viene con muy pocos dirvers. En nuestro caso, después de haber instalado foo2zjs la lista es grande:

También podremos indicar un archivo PPD, si tenemos uno que sea el adecuado para nuestra impresora. Algunos distribuidores proporcionan archivos PPD, otros no; yo personalmente aconsejo buscar e instalar los drivers directament. Una vez hemos terminado, hacemos clic en el icono Add Printer, y nos saldrá lo siguiente: Printer KonicaMinolta has been added successfully.

Inmediatamente después de todo esto, podremos configurar las opciones básicas de nuestra impresora e imprimir documentos.

Recomendable

Esta parte ha sido una colaboración de mi amigo Marvin Ortega:

Es recomendable además instalar guteprint, junto con cups.

# pacman -S guteprint

gutenprint – Una coleccción de drivers de alta calidad para impresoras Canon, Epson, Lexmark, Sony, Olympus, ye impresoras PCL que se utilizan junto con Ghostscript, CUPS, Foomatic, y the Gimp.

En palabras cristianas, no todos los drivers deben de compilarse a mano, al igual que en Ubuntu, la mayoría de impresoras comunes se pueden instalar sin necesidad de compilar el driver a mano, gracias a guteprint

De la misma forma, para quienes tengan impresoras HP (DeskJet, OfficeJet, Photosmart, Business Inkje y algunas Laserjet), es indispensable instalar el paquete hplip.

# pacman -S hplip

Finalmente, para quienes quieran instalar soporte de imprimir directamente a pdf, deben de instalar el paquete cups-pdf.

# pacman -S cups-pdf

En fin, para un soporte más amplio o real de impresoras, deberíamos ejecutar desde el principio el comando:

# pacman -S cups ghostscript gsfonts guteprint foomatic-db foomatic-db-ppd hplip cups-pdf

Problemas y soluciones

Para resolver cualquier tipo de problema, es necesario conocer el funcionamiento de CUPS, así que aquí se explica brevemente:

  1. La aplicación que va a imprimir (OpenOffice, Gedit, etc.) envía un archivo .ps (PostScript, un script en donde se detalla cómo va a lucir la página) a CUPS.
  2. CUPS busca el archivo PPD de tu impresora (printer description file) y determina qué filtro debe usar para convertir el archivo .ps a un lenguaje que pueda entender la impresora (como PJL,PCL). Usualmente en este punto usa ghostscript.
  3. GhostScript recibe los datos que CUPS envía y aplica los filtros necesarios al archivo .ps para conviertirlo en un formato entendible por la impresora.
  4. Luego envía el archivo resultante al backend. Por ejemplo, si tienes la impresora conectada al puerto USB, se usa el backend USB.

Depuración de errores

Es recomendable, en caso de tener problemas con CUPS, configurar la variable LogLevel en el archivo /etc/cups/cupsd.conf así:

LogLevel debug

Y luego viendo los logs del archivo /var/log/cups/error_log así:

# tail -n 100 -f /var/log/cups/error_log

Error with gnutls
Si te sale algo como esto:

/usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory

Debes instalar gnutls:

# pacman -S gnutls

13 Comentarios | deja el tuyo

Un enlace entrante

12 Comentarios en “Configuración de impresoras en Linux”

  1. Maty1206 dice:

    Hola amigo

    Gran post pero contiene UN ERROR

    Tu pusiste esto:

    http://localhsot:631/

    En realidad es:

    http://localhost:631/

    Corrígelo o la guía quedará inservible.

    Te recomendaría que en el primer comando en donde le pides a pacman instalar cups, también pidas instalar guteprint.

    gutenprint – Una coleccción de drivers de alta calidad para impresoras Canon, Epson, Lexmark, Sony, Olympus, ye impresoras PCL que se utilizan junto con Ghostscript, CUPS, Foomatic, y the Gimp.

    En palabras cristianas, no todos los drivers deben de compilarse a mano, al igual que en Ubuntu, la mayoría de impresoras comunes se pueden instalar sin necesidad de compilar el driver a mano, gracias a guteprint

    De la misma forma, para quienes tengan impresoras HP (DeskJet, OfficeJet, Photosmart, Business Inkje y algunas Laserjet), es indispensable instalar el paquete hplip.

    # pacman -S hplip

    Finalmente, para quienes quieran instalar soporte de imprimir directamente a pdf, deben de instalar el paquete cups-pdf.

    # pacman -S cups-pdf

    En fin, para un soporte más amplio u real de impresoras sería

    # pacman -S cups ghostscript gsfonts guteprint foomatic-db foomatic-db-ppd hplip cups-pdf

    UN abrazo

  2. Maty1206 dice:

    Acabo de enviarte un comentario bien amplio amigo, buscalo en la sección de SPAM.

    Es que puse la corrección de localhost y por eso tomó dos URL y me lo bloqueó.

    Además agregue información importante a ser tomada para esta guía

    Saludos

  3. Cristian dice:

    Gracias por la colaboración. ya está corregido además.

    Un saludo!

  4. maty1206 dice:

    Con amigos como tú dan ganas colaborar

    Gracias

    Un abrazo

  5. jehu esmilin dice:

    hola por favor si los pasos que se sigue tambien sirven para instalar un hp 1005 laser en un ubuntu

  6. todo eso hay que hacer para que ande una impresora en linux, uf me parece que me quedo con windows……….

  7. Cristian dice:

    gualeguaychu al dia, juas… pues puedes tener razón. Aunque ya sabes como somos los usuarios de Linux… yo diría “todo eso hay que hacer para que ande una impresora en linux, genial, cuanto voy a aprender!”

    Un abrazo!

  8. kiefer dice:

    Excelente guía Cristian, solo que se te paso una pequeña cosa, el paquete no es guteprint sino gutenprint que de hecho Marvin menciona bien pero luego se equivoca en la linea final. Un saludo

  9. maty1206 dice:

    @ kiefer

    Excelente acotación amigo

    Gracias por la corrección

    Un abrazo

  10. kiefer dice:

    De nada Marvin, para eso estamos. Un Saludo a ambos!

  11. Carlos Arce dice:

    Se agradece el howto, una acotación:

    Es pacman -S gutenprint, no pacman -S guteprint.

  12. willy blas dice:

    Hola a todos, excelente manual, gracias a ustedes pude configurar mi HP c4780 en Debian lenny, pero sin embargo no puedo imprimir desde programas java, he probado del oppen office y normal, el programa java imprime normal de windows, alguien tiene alguna idea de por q sea

¡Déjanos tu comentario!