Difference between revisions of "CUPS (Español)"

From ArchWiki
Jump to: navigation, search
(Interfaces alternativa para CUPS)
(Otros recursos para los controladores de la impresora)
(17 intermediate revisions by the same user not shown)
Line 18: Line 18:
  
 
De la [http://www.cups.org/index.php web de CUPS']:
 
De la [http://www.cups.org/index.php web de CUPS']:
:"''[[Wikipedia:CUPS|CUPS]] es el sistema de impresión, basado en estándares y de código abierto, desarrollado por Apple Inc. para Mac OS® X y otros sistemas operativos basados en UNIX®''".
+
:«''[[Wikipedia:es:Common_Unix_Printing_System|CUPS]] es el sistema de impresión, basado en estándares y de código abierto, desarrollado por Apple Inc. para Mac OS® X y otros sistemas operativos basados en UNIX®''».
  
 
Aunque hay otras alternativas de impresión como LPRng, el Sistema de Impresión Común de Unix ('''''C'''ommon '''U'''nix '''P'''rinting '''S'''ystem'') es la opción más popular debido a su relativa facilidad de uso.
 
Aunque hay otras alternativas de impresión como LPRng, el Sistema de Impresión Común de Unix ('''''C'''ommon '''U'''nix '''P'''rinting '''S'''ystem'') es la opción más popular debido a su relativa facilidad de uso.
  
 
==Cups Linux Printing workflow==
 
==Cups Linux Printing workflow==
Desde la versión 1.5.3-3 de {{Pkg|cups}}, ArchLinux utiliza el sistema de impresión completamente nuevo pdf-based. Para obtener más información, consulte el artículo [http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdfasstandardprintjobformat PDF standard printing job format] y éste otro más antiguo [https://wiki.linuxfoundation.org/en/OpenPrinting/Database/CUPS-Filter-Chart Cups filtering chart] para conocer la historia e ilustrarse.
+
Desde la versión 1.5.3-3 de {{Pkg|cups}}, ArchLinux utiliza el sistema de impresión completamente nuevo pdf-based. Para obtener más información, consulte el artículo [http://www.linuxfoundation.org/collaborate/workgroups/openprinting/pdfasstandardprintjobformat PDF standard printing job format] y este otro más antiguo [https://wiki.linuxfoundation.org/en/OpenPrinting/Database/CUPS-Filter-Chart Cups filtering chart] para conocer la historia e ilustrarse.
 
Un buen punto de partida para comprender mejor cómo se gestiona todo el proceso de impresión es [http://www.linuxfoundation.org/collaborate/workgroups/openprinting este artículo].
 
Un buen punto de partida para comprender mejor cómo se gestiona todo el proceso de impresión es [http://www.linuxfoundation.org/collaborate/workgroups/openprinting este artículo].
  
 
Hay dos maneras de configurar una impresora:
 
Hay dos maneras de configurar una impresora:
* Si su red tiene un servidor linux para la impresión que comparta una impresora, debe instalar sólo el cliente.
+
* Si tiene un servidor cups de Linux ejecutándose en su red y una impresora compartida, solo necesita instalar el paquete cliente.
* Si la impresora está conectada directamente al sistema, o si tiene acceso IPP a la impresora, es necesario instalar un servidor local cups.
+
* Si la impresora está conectada directamente a su sistema o si tiene acceso a una impresora de red IPP, entonces configure un servidor cups local.
  
 
==Instalar el paquete cliente==
 
==Instalar el paquete cliente==
El paquete {{Pkg|libcups}} es el único necesario. [[pacman|Instálelo]] desde los [[Official repositories|repositorios oficiales]].
+
El paquete {{Pkg|libcups}} es el único necesario. [[pacman (Español)|Instálelo]] desde los [[Official Repositories (Español)|repositorios oficiales]].
  
 
A continuación, agregue la dirección IP del servidor CUPS o el nombre de host en {{ic|/etc/cups/client.conf}}. Eso es todo lo que se necesita. Cada solicitud debe rápidamente encontrar la impresora(s) compartida por el servidor CUPS.
 
A continuación, agregue la dirección IP del servidor CUPS o el nombre de host en {{ic|/etc/cups/client.conf}}. Eso es todo lo que se necesita. Cada solicitud debe rápidamente encontrar la impresora(s) compartida por el servidor CUPS.
Line 40: Line 40:
  
 
==Instalar los paquetes del servidor==
 
==Instalar los paquetes del servidor==
Se necesitan los paquetes {{Pkg|cups}}, {{Pkg|cups-filters}}, {{Pkg|ghostscript}}, {{Pkg|gsfonts}} y el controlador de la impresora. [[pacman|Instale]] dichos paquetes desde los [[Official repositories|repositorios oficiales]].
+
Se necesitan los paquetes {{Pkg|cups}}, {{Pkg|cups-filters}}, {{Pkg|ghostscript}}, {{Pkg|gsfonts}} y el controlador de la impresora. [[pacman (Español)|Instale]] dichos paquetes desde los [[Official Repositories (Español)|repositorios oficiales]].
  
 
* '''cups''' - El software CUPS actual (demonio)
 
* '''cups''' - El software CUPS actual (demonio)
* '''avahi''' - Proporciona la interfaz web de cups a través de la red
+
* '''avahi''' - Proporciona la interfaz web de cups a traves de la red
 
* '''cups-filters''' - Paquete esencial de filtros
 
* '''cups-filters''' - Paquete esencial de filtros
 
* '''ghostscript''' -  El intérprete para el lenguaje Postscript (opcional)
 
* '''ghostscript''' -  El intérprete para el lenguaje Postscript (opcional)
 
* '''gsfonts''' - Las fuentes estándar GhostScript Type1
 
* '''gsfonts''' - Las fuentes estándar GhostScript Type1
* '''hpoj''' - Si está utilizando una HP Officejet, también debe instalar este paquete y seguir las instrucciones para evitar problemas. Consulte  [http://answers.launchpad.net/hplip/+question/133425 ésto], para más información.
+
* '''hpoj''' - Si está utilizando una HP Officejet, también debe instalar este paquete y seguir las instrucciones para evitar problemas. Consulte  [http://answers.launchpad.net/hplip/+question/133425 esto], para más información.
  
 
Si el sistema está conectado a una impresora en red utilizando el protocolo [[Samba]] o si el sistema va a actuar como un servidor de impresión para clientes Windows, instale también {{Pkg|samba}}.
 
Si el sistema está conectado a una impresora en red utilizando el protocolo [[Samba]] o si el sistema va a actuar como un servidor de impresión para clientes Windows, instale también {{Pkg|samba}}.
  
Desde la versión 1.6 de cups el demonio avahi-daemon debe iniciarse antes de cupsd si desea habilitar la navegación de impresoras a través de la red.
+
Desde la versión 1.6 de cups el demonio avahi-daemon debe iniciarse antes de cupsd si desea habilitar la navegación de impresoras a traves de la red.
  
 
===Controladores para la imprerosa===
 
===Controladores para la imprerosa===
Line 57: Line 57:
  
 
* '''{{Pkg|gutenprint}}''' - Una colección de controladores de alta calidad para impresoras Canon, Epson, Lexmark, Sony, Olympus; y para impresoras PCL para usar con GhostSscript, CUPS, Foomatic, y [[GIMP]]
 
* '''{{Pkg|gutenprint}}''' - Una colección de controladores de alta calidad para impresoras Canon, Epson, Lexmark, Sony, Olympus; y para impresoras PCL para usar con GhostSscript, CUPS, Foomatic, y [[GIMP]]
* '''{{Pkg|foomatic-db}}, {{Pkg|foomatic-db-engine}}, {{Pkg|foomatic-db-nonfree}}, y {{Pkg|foomatic-filters}}''' - Foomatic es un sistema orientado a base de datos para integrar controladores de impresión de software libre con colas de impresión comunes en entornos Unix. La instalación de foomatic-filters debería resolver eventuales problemas de impresión con respecto a errores recogidos en el registro como "stopped with status 22!".
+
* '''{{Pkg|foomatic-db}}, {{Pkg|foomatic-db-engine}}, {{Pkg|foomatic-db-nonfree}}, y {{Pkg|foomatic-filters}}''' - Foomatic es un sistema orientado a base de datos para integrar controladores de impresión de software libre con colas de impresión comunes en entornos Unix. La instalación de foomatic-filters debería resolver eventuales problemas de impresión con respecto a errores recogidos en el registro como «stopped with status 22!».
 
* '''{{AUR|foo2zjs}}''' - Controladores para el protocolo ZjStream usados por impresoras como HP Laserjet 1018. Más información [http://foo2zjs.rkkda.com aquí]. Foo2zsj está disponible en {{AUR|foo2zjs}}.
 
* '''{{AUR|foo2zjs}}''' - Controladores para el protocolo ZjStream usados por impresoras como HP Laserjet 1018. Más información [http://foo2zjs.rkkda.com aquí]. Foo2zsj está disponible en {{AUR|foo2zjs}}.
 
* '''{{Pkg|hplip}}''' - Controlador GNU/Linux para HP. Proporciona soporte para DeskJet, OfficeJet, Photosmart, Business Inkjet y algunos modelos de impresoras LaserJet, así como para algunas impresoras Brother.
 
* '''{{Pkg|hplip}}''' - Controlador GNU/Linux para HP. Proporciona soporte para DeskJet, OfficeJet, Photosmart, Business Inkjet y algunos modelos de impresoras LaserJet, así como para algunas impresoras Brother.
 
* '''{{Pkg|splix}}''' - Controlador para Samsung para impresoras SPL (Samsung Printer Language) .
 
* '''{{Pkg|splix}}''' - Controlador para Samsung para impresoras SPL (Samsung Printer Language) .
* '''{{AUR|samsung-unified-driver}}''' - Controladores para impresoras y escáneres Samsung. Requerido por las nuevas impresoras, como ML-2160. Paquete disponible en [[AUR]].
+
* '''{{AUR|samsung-unified-driver}}''' - Controladores para impresoras y escáneres Samsung. Requerido por las nuevas impresoras, como ML-2160. Paquete disponible en [[Arch User Repository (Español)|AUR]].
* '''{{AUR|ufr2}}''' o '''{{AUR|cndrvcups-lb}}''' - Controladores para Canon UFR2 con soporte para las impresoras series LBP, iR y MF. Paquete disponible en [[AUR]].
+
* '''{{AUR|ufr2}}''' o '''{{AUR|cndrvcups-lb}}''' - Controladores para Canon UFR2 con soporte para las impresoras series LBP, iR y MF. Paquete disponible en [[Arch User Repository (Español)|AUR]].
 
* '''{{Pkg|cups-pdf}}''' - Un paquete que permite configurar una impresora virtual PDF que genera un archivo PDF de los documentos enviados a ella.
 
* '''{{Pkg|cups-pdf}}''' - Un paquete que permite configurar una impresora virtual PDF que genera un archivo PDF de los documentos enviados a ella.
  
Line 72: Line 72:
 
He aquí una explicación del sitio web de impresión de Linux sobre el significado del archivo PPD:
 
He aquí una explicación del sitio web de impresión de Linux sobre el significado del archivo PPD:
  
:"''Para todas las impresoras PostScript los fabricantes pueden proporcionar un archivo PPD que contiene toda la información específica del particular modelo de impresora: esto es, las capacidades básicas de la impresora, como, por ejemplo, si la impresora es a color, las fuentes, el nivel de PostScript, etc., y, sobre todo, la opciones configurables por el usuario, como el tamaño del papel, la resolución, etc.''"
+
:«''Para todas las impresoras PostScript los fabricantes pueden proporcionar un archivo PPD que contiene toda la información específica del particular modelo de impresora: esto es, las capacidades básicas de la impresora, como, por ejemplo, si la impresora es a color, las fuentes, el nivel de PostScript, etc., y, sobre todo, la opciones configurables por el usuario, como el tamaño del papel, la resolución, etc.''»
  
 
Si el PPD para la impresora ''no'' está incluido en CUPS, entonces:
 
Si el PPD para la impresora ''no'' está incluido en CUPS, entonces:
* compruebe en [[AUR]] si hay paquetes para la impresora/fabricante
+
* compruebe en [[Arch User Repository (Español)|AUR]] si hay paquetes para la impresora/fabricante
 
* visite la base de datos [http://www.openprinting.org/printers OpenPrinting] y seleccione el fabricante y el modelo de la impresora
 
* visite la base de datos [http://www.openprinting.org/printers OpenPrinting] y seleccione el fabricante y el modelo de la impresora
 
* visite el sitio del fabricante para realizar una búsqueda de los drivers GNU/Linux
 
* visite el sitio del fabricante para realizar una búsqueda de los drivers GNU/Linux
Line 82: Line 82:
  
 
==Configuración==
 
==Configuración==
Ahora que CUPS está instalado, tenomos una variedad de opciones sobre cómo configurar soluciones de impresión. Como siempre, el conocido método de línea de comandos está a su disposición. Del mismo modo, varios entornos de escritorio, como GNOME y KDE, tienen programas útiles que pueden ayudar a gestionar impresoras. Sin embargo, para que esta explicación llegue al mayor número posible de usuarios, este artículo se centrará en el método que usa la interfaz web proporcionada por CUPS.
+
Ahora que CUPS está instalado, tenomos una variedad de opciones sobre cómo configurar soluciones de impresión. Como siempre, el conocido método de la línea de comandos está a su disposición. Del mismo modo, varios entornos de escritorio, como GNOME y KDE, tienen programas útiles que pueden ayudar a gestionar impresoras. Sin embargo, para que esta explicación llegue al mayor número posible de usuarios, este artículo se centrará en el método que usa la interfaz web proporcionada por CUPS.
  
 
Si está planificando una conexión a una impresora en red, en lugar de una conectada directamente al ordenador, es posible que desee leer primero la página sobre el [[CUPS printer sharing|uso compartido de impresoras CUPS]]. El uso compartido de impresoras entre sistemas GNU/Linux es muy fácil y consiste en una configuración muy sencilla, mientras que compartir impresoras entre sistemas Windows y GNU/Linux requiere un esfuerzo un poco mayor.
 
Si está planificando una conexión a una impresora en red, en lugar de una conectada directamente al ordenador, es posible que desee leer primero la página sobre el [[CUPS printer sharing|uso compartido de impresoras CUPS]]. El uso compartido de impresoras entre sistemas GNU/Linux es muy fácil y consiste en una configuración muy sencilla, mientras que compartir impresoras entre sistemas Windows y GNU/Linux requiere un esfuerzo un poco mayor.
  
Se puede tener acceso a las impresoras USB de dos modos: a través de los módulos del kernel {{ic|usblp}} y {{ic|libusb}}. El primero es el modo clásico y el más simple: los datos se envían a la impresora mediante una simple corriente de datos en serie. El mismo archivo tiene un acceso "bidireccional", a fin de permitir ver el nivel de tinta, el estado o la información de la capacidad de la impresora (PJL). Este método funciona muy bien para las impresoras simples, pero no es adecuado para los dispositivos multifunción (impresora/escáner), de ahí que fabricantes como HP proporcionen sus propios backends. (fuente: [http://lists.linuxfoundation.org/pipermail/printing-architecture/2012/002412.html aquí])
+
Se puede tener acceso a las impresoras USB de dos modos: a través de los módulos del kernel {{ic|usblp}} y {{ic|libusb}}. El primero es el modo clásico y el más simple: los datos se envían a la impresora mediante una simple corriente de datos en serie. El mismo archivo tiene un acceso «bidireccional», a fin de permitir ver el nivel de tinta, el estado o la información de la capacidad de la impresora (PJL). Este método funciona muy bien para las impresoras simples, pero no es adecuado para los dispositivos multifunción (impresora/escáner), de ahí que fabricantes como HP proporcionen sus propios backends. (fuente: [http://lists.linuxfoundation.org/pipermail/printing-architecture/2012/002412.html aquí])
  
 
===Módulos del kernel===
 
===Módulos del kernel===
 
Antes de utilizar la interfaz web de CUPS, necesita tener instalados los módulos apropiados del kernel. Los pasos siguientes son los proporcionados por la Guía de Impresión de Gentoo.
 
Antes de utilizar la interfaz web de CUPS, necesita tener instalados los módulos apropiados del kernel. Los pasos siguientes son los proporcionados por la Guía de Impresión de Gentoo.
  
No obstante, los pasos de esta sección pueden no ser necesarios dependiendo de qué kérnel se esté utilizando. El módulo del kernel puede ser cargado automáticamente después de conectarse la impresora. Utilice el comando {{ic|tail}} (como se describe más adelante) para ver si la impresora ya ha sido detectada. La herramienta {{ic|lsmod}} puede utilizarse también para ver qué módulos se han cargado.
+
No obstante, los pasos de esta sección pueden no ser necesarios dependiendo de qué kérnel se esté utilizando. El módulo del kernel puede ser cargado automáticamente después de conectarse la impresora. Utilice la orden {{ic|tail}} (como se describe más adelante) para ver si la impresora ya ha sido detectada. La herramienta {{ic|lsmod}} puede utilizarse también para ver qué módulos se han cargado.
  
 
====Impresoras USB====
 
====Impresoras USB====
{{Advertencia|Desde la versión 1.6.0 de {{pkg|cups}} no tendría que ser necesario introducir en [[Kernel modules#Blacklisting|blacklist]] el módulo {{ic|usblp}}.}}
+
{{Advertencia|Desde la versión 1.6.0 de {{pkg|cups}} no tendría que ser necesario introducir en [[Kernel_modules_(Español)#Blacklisting|blacklist]] el módulo {{ic|usblp}}.}}
  
 
Si nota que al poner dicho módulo en blaklist soluciona algún problema, por favor informe del fallo a los desarrolladores de Cups. Consulte [http://cups.org/str.php?L4128 upstream bug] para más información.
 
Si nota que al poner dicho módulo en blaklist soluciona algún problema, por favor informe del fallo a los desarrolladores de Cups. Consulte [http://cups.org/str.php?L4128 upstream bug] para más información.
Line 116: Line 116:
 
  Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
 
  Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
  
Si se ha introducido en blacklisted el módulo {{ic|usblp}}, debería obtener una salida similar a ésta:
+
Si se ha introducido en blacklisted el módulo {{ic|usblp}}, debería obtener una salida similar a esta:
 
  usb 3-2: new full speed USB device using uhci_hcd and address 3
 
  usb 3-2: new full speed USB device using uhci_hcd and address 3
 
  usb 3-2: configuration #1 chosen from 1 choice
 
  usb 3-2: configuration #1 chosen from 1 choice
Line 128: Line 128:
 
Una vez más, compruebe la configuración, ejecutando:
 
Una vez más, compruebe la configuración, ejecutando:
 
  # tail /var/log/messages.log
 
  # tail /var/log/messages.log
Se debería ver algo como ésto:
+
Se debería ver algo como esto:
 
  lp0: using parport0 (polling).
 
  lp0: using parport0 (polling).
  
Line 135: Line 135:
  
 
====Inicio automático====
 
====Inicio automático====
Es conveniente que el sistema cargue automáticamente el módulo del kernel cada vez que se inicie. Para hacer ésto posible, utilice un editor de texto para modificar el archivo {{ic|/etc/modules-load.d/[[printing.conf]]}} y añada el módulo apropiado, uno por línea. He aquí un ejemplo:
+
Es conveniente que el sistema cargue automáticamente el módulo del kernel cada vez que se inicie. Para hacer esto posible, utilice un editor de texto para modificar el archivo {{ic|/etc/modules-load.d/printing.conf}} y añada el módulo apropiado, uno por línea. He aquí un ejemplo:
 
  lp
 
  lp
 
  parport
 
  parport
Line 141: Line 141:
  
 
===Demonio CUPS===
 
===Demonio CUPS===
Con el módulo del kernel instalado, ahora puede [[Daemon#Performing daemon actions manually|iniciar el demonio cupsd]]. Añada {{ic|cupsd}} a la matriz [[daemons#Starting on Boot|DAEMONS]] para iniciarlo automáticamente en cada arranque.
+
Con el módulo del kernel instalado, ahora puede [[Systemd_(Español)#Usar_las_unidades|iniciar el demonio cupsd]]. Añada {{ic|cupsd}} a la matriz [[Daemon_(Español)#Iniciar_al_arranque|DAEMONS]] para iniciarlo automáticamente en cada arranque.
  
 
=== Interfaz web y herramientas ===
 
=== Interfaz web y herramientas ===
Line 151: Line 151:
 
Ahora pruebe la configuración pulsando ''Administración'', en el menú desplegable, y seleccione ''Imprimir página de prueba''. Si no se imprime y la configuración es correcta, entonces lo más probable sea que el controlador seleccionado no es el adecuado para la impresora.
 
Ahora pruebe la configuración pulsando ''Administración'', en el menú desplegable, y seleccione ''Imprimir página de prueba''. Si no se imprime y la configuración es correcta, entonces lo más probable sea que el controlador seleccionado no es el adecuado para la impresora.
  
{{Tip|Consulte: [[#Interfaz alternativa para CUPS|Interfaz alternativa para CUPS]] para otros tipos de interfaz.}}
+
{{Sugerencia|Consulte: [[#Interfaces alternativa para CUPS|Interfaces alternativa para CUPS]] para otros tipos de interfaz.}}
{{Nota|Cuando se configura una impresora USB, ésta debe aparecer listada en la página ''Agregar Impresora''. Si sólo se puede ver una "impresora SCSI", probablemente significa que CUPS no ha reconocido la impresora.}}
+
{{Nota|Cuando se configura una impresora USB, esta debe aparecer listada en la página ''Agregar Impresora''. Si solo se puede ver una «impresora SCSI», probablemente significa que CUPS no ha reconocido la impresora.}}
{{Nota|Para habilitar el escaneo de redes inalámbricas en determinados dispositivos multifunción HP, utilizando el paquete [https://www.archlinux.org/packages/extra/i686/hplip/ hplip], puede que tenga que agregar la impresora como una impresora de red, utilizando http:// protocol. Para determinar el URI correcto a usar, ejecute el comando {{ic|hp-makeuri}}.}}
+
{{Nota|Para habilitar el escaneo de redes inalámbricas en determinados dispositivos multifunción HP, utilizando el paquete [https://www.archlinux.org/packages/extra/i686/hplip/ hplip], puede que tenga que agregar la impresora como una impresora de red, utilizando http:// protocol. Para determinar el URI correcto a usar, ejecute la orden {{ic|hp-makeuri}}.}}
  
 
==== Administración de CUPS ====
 
==== Administración de CUPS ====
Line 161: Line 161:
  
 
====Acceso remoto a la interfaz web====
 
====Acceso remoto a la interfaz web====
Por defecto, la interfaz web de CUPS es accesible sólo por ''localhost'', es decir, el equipo sobre el que está instalado. Para acceder a la interfaz remota, será necesario realizar los siguientes cambios, modificando el archivo {{ic|/etc/cups/cupsd.conf}}. Cambien la línea:
+
Por defecto, la interfaz web de CUPS es accesible solo por ''localhost'', es decir, el equipo sobre el que está instalado. Para acceder a la interfaz remota, será necesario realizar los siguientes cambios, modificando el archivo {{ic|/etc/cups/cupsd.conf}}. Cambien la línea:
 
  Listen localhost:631
 
  Listen localhost:631
 
con
 
con
Line 211: Line 211:
 
  DefaultEncryption Never
 
  DefaultEncryption Never
  
Ésto debería evitar el error: 426 - Es necesaria la actualización cuando se utiliza la interfaz web de CUPS desde una máquina remota.
+
Esto debería evitar el error: 426 - Es necesaria la actualización cuando se utiliza la interfaz web de CUPS desde una máquina remota.
  
 
==Solución de Problemas==
 
==Solución de Problemas==
Line 242: Line 242:
  
 
====CUPS deja de funcionar====
 
====CUPS deja de funcionar====
Puede suceder que, como resultado de una actualización hay cambios en el archivo de configuración. Mensajes como "404 - página no encontrada" puede ser consecuencia de tratar de administrar CUPS a través de localhost:631, por ejemplo.
+
Puede suceder que, como resultado de una actualización hay cambios en el archivo de configuración. Mensajes como "404 - page not found" (''«404 - página no encontrada»'') puede ser consecuencia de tratar de administrar CUPS a través de localhost:631, por ejemplo.
  
Para utilizar la nueva configuración, copie /etc/cups/cupsd.conf.default a /etc/cups/cupsd.conf (respalde la configuración antigua si es necesario):
+
Para utilizar la nueva configuración, copie {{ic|/etc/cups/cupsd.conf.default}} a {{ic|/etc/cups/cupsd.conf}} (respalde la configuración antigua si es necesario) y reinicie CUPS para emplear la nueva configuración.
  # cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf
+
y reinicie CUPS para emplear la nueva configuración.
+
  
====Todos los trabajos están "detenidos"====
+
====Todos los trabajos están «detenidos»====
Si todos los trabajos enviados a la impresora se "detuvieron", elimine la impresora y vuelva a agregarla.
+
Si todos los trabajos enviados a la impresora se «detuvieron», elimine la impresora y vuelva a agregarla.
 
Usando la [http://localhost:631 interfaz web de CUPS], vaya a Impresoras > Eliminar impresora.
 
Usando la [http://localhost:631 interfaz web de CUPS], vaya a Impresoras > Eliminar impresora.
  
 
Para comprobar la configuración de la impresora vaya a ''Impresoras'', luego ''Modificar Impresora''. Copie la información mostrada, seleccione 'Modificar Impresora' para pasar a la página siguiente(s), y así sucesivamente.
 
Para comprobar la configuración de la impresora vaya a ''Impresoras'', luego ''Modificar Impresora''. Copie la información mostrada, seleccione 'Modificar Impresora' para pasar a la página siguiente(s), y así sucesivamente.
  
====Todos los trabajos derivan a "The printer is not responding" (La impresora no responde)====
+
====Todos los trabajos derivan a «The printer is not responding» (La impresora no responde)====
 
En las impresoras en red, compruebe que el nombre que CUPS utiliza como  URI de conexión se resuelve en la dirección IP de la impresora a través de DNS, por ejemplo, si la conexión de la impresora es la siguiente:
 
En las impresoras en red, compruebe que el nombre que CUPS utiliza como  URI de conexión se resuelve en la dirección IP de la impresora a través de DNS, por ejemplo, si la conexión de la impresora es la siguiente:
 
   lpd://BRN_020554/BINARY_P1
 
   lpd://BRN_020554/BINARY_P1
Line 265: Line 263:
  
 
Y reinicie CUPS (como señala el mensaje post-instalación de gutenprint)
 
Y reinicie CUPS (como señala el mensaje post-instalación de gutenprint)
 
===Impresoras USB con CUPS 1.4.x===
 
El nuevo CUPS 1.4.x introduce muchos cambios:
 
 
====Permisos del Device node====
 
Algunos dispositivos pueden ser cargados sin la debida autorización, especialmente cuando el módulo usblp está en blacklist (lo cual -incluir dicho módulo en blacklist- , como ya se ha indicado, no es necesario a partir de la versión 1.6.x de cups). CUPS necesita que la propiedad del archivo del dispositivo USB conectado a la impresora sea root: lp, y los permisos sean 660, por ejemplo:
 
 
$ ls -l /dev/bus/usb/003/002
 
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
 
 
Se supone que ésto viene proporcionado por dos reglas udev en /lib/udev/rules.d/50-udev-default.rules:
 
# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
 
# the ones from the old usblp kernel module
 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"
 
 
Sin embargo, para algunos dispositivos, en particular los que combinan  impresora/escáner, estas reglas,  o no se lanzan, o son sobreescritas por reglas del paquete "sane". En estos casos necesita agregar una regla udev personalizada. Véase a continuación.
 
 
=====Solución de problemas con los permisos del Device node=====
 
Obtenga el archivo de la impresora  y sus permisos con:
 
$ lsusb
 
...
 
Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp.
 
$ ls -l /dev/bus/usb/003/002
 
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
 
 
Si los permisos no están ya estableccidos para root: lp 660, se fuerza mediante la creación de una regla udev personalizada, por ejemplo:
 
cat /etc/udev/rules.d/10-usbprinter.rules
 
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp"
 
 
Si tiene un dispositivo multifunción (impresora+escaner) será necesario hacer detectables a ambos, incluyendo a "sane":
 
cat /etc/udev/rules.d/10-usbprinter.rules
 
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp", ENV{libsane_matched}:="yes"
 
 
{{Nota|
 
* {{ic|idVendor}} y {{ic|idProduct}} son del listado obtenido con el comando {{ic|lsusb}} anterior.
 
* algunas impresoras necesitarán permisos {{ic|666}}
 
* la carpeta apropiada debe ser {{ic|/usr/lib/udev/rules.d}}
 
}}
 
 
=====Cargar el firmware=====
 
Algunas impresoras y controladores deben cargar el firmware para la impresora (por ejemplo, impresoras HP LaserJet 10xx utilizando foo2zjs) y deben hacer ésto escribiendo directamente en el dispositivo lp, una funcionalidad que proporciona usblp. Un modo de arreglar provisionalmente este problema es instalar el módulo usblp hasta que el firmware se ha cargado, y después, remover el módulo usblp para permitir que CUPS funcione correctametne. Esto se puede lograr lanzando manualmente "$ modprobe usblp", esperando hasta que el firmware se cargue, y después ejecutar "$ rmmod usblp". También se puede hacer no incluyendo usblp en blacklist, y añadir "rmmod usblp" al archivo /etc/rc.local, permitiendo que el firmware se cargue durante el inicio antes que rc.local sea ejecutado, que removería usblp.
 
 
Respecto a este último método, en el caso de que la impresora está conectada o encendida mientras el sistema se está iniciando, /etc/rc.local no se lanzará y el módulo usblp permanecerá cargado. Una solución consistiría en modificar el archivo /etc/udev/rules.d/11-hpj10xx.rules, proporcionado por foo2zjs, para que después del evento añadamos una espera, por ejemplo de 15 segundos, para cargar el firmware y, luego, eliminar automáticamente usblp. El siguiente ejemplo es para HP LaserJet 1018. Para otros modelos, el valor ATTRS{idProduct} se debe cambiar para que coincida con el modelo de impresora.
 
 
Busque la línea que coincida con la impresora en /etc/udev/rules.d/11-hpj10xx.rules:
 
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",    \
 
        ATTRS{idProduct}=="4117", RUN+="/sbin/foo2zjs-loadfw 1018 $tempnode"
 
Añada las siguientes líneas a continuación, asegurándose de que coincidan con las IDs del producto y el vendedor:
 
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",    \
 
        ATTRS{idProduct}=="4117", RUN+="/usr/bin/sleep 15"
 
ACTION=="add", KERNEL=="lp*", SUBSYSTEM=="usb", ATTRS{idVendor}=="03f0",    \
 
        ATTRS{idProduct}=="4117", RUN+="/usr/bin/rmmod usblp"
 
 
Actualización: ¡estas modificaciones no son necesarias si se está utilizando el paquete foo2zjs>=20120519-2 de AUR porque la regla /etc/udev/rules.d/11-hpj10xx.rules contiene ya el arreglo oportuno!
 
  
 
===Otros===
 
===Otros===
Line 331: Line 274:
 
  # chgrp lp /dev/usb/lp0
 
  # chgrp lp /dev/usb/lp0
  
====La impresora HPLIP envía como error "/usr/lib/cups/backend/hp failed"====
+
====La impresora HPLIP envía como error «/usr/lib/cups/backend/hp failed»====
 
Asegúrese de tener instalado dbus y de haberlo iniciado, comprobando DAEMONS en {{ic|/etc/rc.conf}} o ejecutando {{ic|ls /var/run/daemons}}.
 
Asegúrese de tener instalado dbus y de haberlo iniciado, comprobando DAEMONS en {{ic|/etc/rc.conf}} o ejecutando {{ic|ls /var/run/daemons}}.
  
Line 338: Line 281:
 
Trate de añadir la impresora como una impresora de red utilizando el protocolo http:// protocol. Genere el URI de la impresora con {{ic|hp-makeuri}}.
 
Trate de añadir la impresora como una impresora de red utilizando el protocolo http:// protocol. Genere el URI de la impresora con {{ic|hp-makeuri}}.
  
{{Nota|Existe la posibilidad de sea necesario cambiar los permisos de CUPS. Siga estas indicaciones: [[CUPS#Device_node_permissions]].}}
+
{{Nota|Existe la posibilidad de sea necesario cambiar los permisos de CUPS.}}
  
 
====HPLIP indica que todos los trabajos se han completado pero la impresora no responde====
 
====HPLIP indica que todos los trabajos se han completado pero la impresora no responde====
Line 346: Line 289:
 
  hp-firmware -n
 
  hp-firmware -n
  
====hp-toolbox envía como error, "Unable to communicate with device"====
+
====hp-toolbox envía como error, «Unable to communicate with device»====
 
Si se ejecuta  hp-toolbox como un usuario normal se obtiene:
 
Si se ejecuta  hp-toolbox como un usuario normal se obtiene:
 
  # hp-toolbox
 
  # hp-toolbox
 
  # error: Unable to communicate with device (code=12): hp:/usb/<printer id>
 
  # error: Unable to communicate with device (code=12): hp:/usb/<printer id>
o, "{{ic|Unable to communicate with device"}}", entonces puede ser necesario [[Groups#Group_management|añadir al usuario al grupo lp]].
+
o, «{{ic|Unable to communicate with device}}», entonces puede ser necesario [[Users_and_Groups_(Español)#Gesti.C3.B3n_de_grupos|añadir al usuario al grupo lp]].
  
Esto también puede ser causado por las impresoras P1102 que proporiconan una unidad CD-ROM virtual con el controlador para MS-Windows. El dispositivo lp aparece y luego desaparece. En ese caso, pruebe los paquetes '''usb-modeswitch''' y '''usb-modeswitch-data''', que permiten intercambiar la "Smart Drive" (reglas de udev incluidas en dichos paquetes).
+
Esto también puede ser causado por las impresoras P1102 que proporiconan una unidad CD-ROM virtual con el controlador para MS-Windows. El dispositivo lp aparece y luego desaparece. En ese caso, pruebe los paquetes '''usb-modeswitch''' y '''usb-modeswitch-data''', que permiten intercambiar la «Smart Drive» (reglas de udev incluidas en dichos paquetes).
  
 
Esto también puede ocurrir con las impresoras conectadas en red, si el demonio [[Avahi|avahi-daemon]] no se está ejecutando.
 
Esto también puede ocurrir con las impresoras conectadas en red, si el demonio [[Avahi|avahi-daemon]] no se está ejecutando.
  
====CUPS responde '"foomatic-rip" not available/stopped with status 3' con una impresora HP====
+
====CUPS responde '«foomatic-rip» not available/stopped with status 3' con una impresora HP====
  
 
Si recibe alguno de los siguientes mensajes de error en {{ic|/var/log/cups/error_log}} mientras se utiliza una impresora HP, con trabajos que se muestran para ser procesados ​​mientras que el resto de trabajos ya procesados no los completa y su estado se establece en 'parado':
 
Si recibe alguno de los siguientes mensajes de error en {{ic|/var/log/cups/error_log}} mientras se utiliza una impresora HP, con trabajos que se muestran para ser procesados ​​mientras que el resto de trabajos ya procesados no los completa y su estado se establece en 'parado':
   Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director
+
   Filter "foomatic-rip" for printer "<nombre_impresora>" not available: No such file or director
 
o:
 
o:
 
  PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
 
  PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
Line 381: Line 324:
  
 
Reinicie CUPS:
 
Reinicie CUPS:
  # /etc/rc.d/cupsd restart
+
  # systemctl restart cups
  
 
====Formato soportado desconocido: application/postscript====
 
====Formato soportado desconocido: application/postscript====
Line 392: Line 335:
 
====Cambiar los URIs para los servidores de la impresora de Windows====
 
====Cambiar los URIs para los servidores de la impresora de Windows====
  
A veces, Windows es poco intuitivo en la definición exacta del dispositivo URI (ubicación del dispositivo). Si tiene problemas para especificar la ubicación del dispositivo correcto en CUPS, ejecute el comando siguiente para listar todas las acciones disponibles para un determinado nombre de usuario de Windows:
+
A veces, Windows es poco intuitivo en la definición exacta del dispositivo URI (ubicación del dispositivo). Si tiene problemas para especificar la ubicación del dispositivo correcto en CUPS, ejecute la orden siguiente para listar todas las acciones disponibles para un determinado nombre de usuario de Windows:
   $ Smbtree-U windowsusername''''
+
   $ smbtree -U ''windowsusername''
Este comando enumerará cada recurso compartido disponible para un determinado nombre de usuario de Windows en la subred LAN local, siempre que Samba esté configurado y funcionando correctamente. Debe devolver algo como ésto:
+
Esta orden enumerará cada recurso compartido disponible para un determinado nombre de usuario de Windows en la subred LAN local, siempre que Samba esté configurado y funcionando correctamente. Debe devolver algo como esto:
 
{{bc| WORKGROUP
 
{{bc| WORKGROUP
 
\\REGULATOR-PC 
 
\\REGULATOR-PC 
Line 419: Line 362:
 
Los siguientes pasos 1-3 en las interfaces Alternativas de CUPS que figuran a continuación puede ser una mejor solución, ya que hay nuevas versiones de cups que no permitirán que el mismo grupo realice conjuntamente operaciones normales y de admninistración.
 
Los siguientes pasos 1-3 en las interfaces Alternativas de CUPS que figuran a continuación puede ser una mejor solución, ya que hay nuevas versiones de cups que no permitirán que el mismo grupo realice conjuntamente operaciones normales y de admninistración.
  
===="Unable to get list of printer drivers"====
+
====«Unable to get list of printer drivers»====
 
Pruebe eliminando los drivers Foomatic.
 
Pruebe eliminando los drivers Foomatic.
  
Line 433: Line 376:
 
Si esto resuelve el problema, haga la solución permanente añadiendo la línea export de arriba en ~/.bash_profile.
 
Si esto resuelve el problema, haga la solución permanente añadiendo la línea export de arriba en ~/.bash_profile.
  
====La impresoras instaladas no aparecen en el cuadro de diálogo de impresión después de instalar/actualizar a systemd====
+
==== CUPS imprime solo un vacío y una página de mensajes de error en HP LaserJet ====
Systemd utiliza un archivo diferente para el socket cups ubicado en:
+
 
+
'''/usr/lib/systemd/system/cups.socket'''
+
 
+
El archivo predeterminado para el socket cups se encuentra en:
+
 
+
'''/var/run/cups/cups.sock'''
+
 
+
Modifique '''/etc/cups/cupsd.conf''' y '''/etc/cups/client.conf''' como root para usar el socket de Systemd en lugar del predeterminado. Asegúrese de reiniciar CUPS cuando haya terminado:
+
 
+
# systemctl restart cups
+
 
+
==== CUPS imprime sólo un vacío y una página de mensajes de error en HP LaserJet ====
+
  
 
Hay un bug que hace que CUPS falle al imprimir imágenes en impresoras HP LaserJet (como es el caso de 3380). El error ha sido reportado y se repara por [https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/998087 Ubuntu].
 
Hay un bug que hace que CUPS falle al imprimir imágenes en impresoras HP LaserJet (como es el caso de 3380). El error ha sido reportado y se repara por [https://bugs.launchpad.net/ubuntu/+source/cups-filters/+bug/998087 Ubuntu].
Line 462: Line 392:
 
   lpadmin -p <printer> -o pdftops-renderer-default=pdftops
 
   lpadmin -p <printer> -o pdftops-renderer-default=pdftops
  
====Mensaje de error "Using invalid Host" ====
+
====Mensaje de error «Using invalid Host» ====
  
 
Pruebe añadiendo "ServerAlias *" en cupsd.conf
 
Pruebe añadiendo "ServerAlias *" en cupsd.conf
 +
 +
====La impresora no es reconocida por CUPS====
 +
 +
Si la impresora no aparece listada en la página «Añadir impresoras» de la interfaz web de CUPS, ni por lpinfo -v, pruebe lo siguiente (sugerido en [https://bbs.archlinux.org/viewtopic.php?pid=1037279#p1037279 este hilo]):
 +
 +
# Detenga cups (sudo systemctl stop cups).
 +
# Añada la siguiente regla udev en el siguiente archivo de regla udev nuevo /etc/udev/rules.d/10-cups_device_link.rules {{ic|1=KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"}}
 +
# Desconcecte y vuelva a conectar la impresora.
 +
# Espero un poco y luego inicie de nuevo cups (sudo systemctl start cups).
  
 
==Apéndice==
 
==Apéndice==
Line 471: Line 410:
 
  # pacman -S system-config-printer-gnome
 
  # pacman -S system-config-printer-gnome
  
Para hacer system-config-printer realmente funcional, será necesario ejecutarlo como root, o, alternativamente, establecer permisos a un usuario "normal" para administrar CUPS (en este último caso '''siga los pasos 1-3'''):
+
Para hacer system-config-printer realmente funcional, será necesario ejecutarlo como root, o, alternativamente, establecer permisos a un usuario «normal» para administrar CUPS (en este último caso '''siga los pasos 1-3'''):
  
 
* 1. Cree el grupo, y añada al usuario como sigue:
 
* 1. Cree el grupo, y añada al usuario como sigue:
Line 477: Line 416:
 
  # usermod -aG lpadmin <nombre-de-usuario>
 
  # usermod -aG lpadmin <nombre-de-usuario>
  
* 2. Añada "lpadmin" (sin las comillas) en la línea siguiente del archivo {{ic|/etc/cups/cupsd.conf}}
+
* 2. Añada «lpadmin» (sin las comillas) en la línea siguiente del archivo {{ic|/etc/cups/cupsd.conf}}
 
  SystemGroup sys root <poner aquí>
 
  SystemGroup sys root <poner aquí>
  
Line 483: Line 422:
 
{{bc|# systemctl restart cups}}
 
{{bc|# systemctl restart cups}}
  
Los usuarios de [[KDE]] pueden gestionar las impresoras desde el Centro de Control. Los usuarios de ambos entornos de escritorios (Gnome, KDE), deben remitirse a la documentación de sus respectivos escritorios "para más información sobre cómo utilizar las interfaces".
+
Los usuarios de [[KDE]] pueden gestionar las impresoras desde el Centro de Control. Los usuarios de ambos entornos de escritorios (Gnome, KDE), deben remitirse a la documentación de sus respectivos escritorios «para más información sobre cómo utilizar las interfaces».
  
Otra interfaz útil es [https://aur.archlinux.org/packages.php?ID=43505 gtklp] disponible desde [[AUR]]
+
Otra interfaz útil es {{AUR|gtklp}} disponible desde [[Arch User Repository (Español)|AUR]]
  
 
===Impresora virtual PDF===
 
===Impresora virtual PDF===
Line 505: Line 444:
  
 
==== Imprimir en postscript: arreglo para la impresora virtual CUPS-PDF ====
 
==== Imprimir en postscript: arreglo para la impresora virtual CUPS-PDF ====
Imprimir en PDF en la mayoría de aplicaciones como OpenOffice no es ningún problema, simplemente pulse el botón imprimir. Sin embargo, al imprimir en PostScript, las cosas requieren un poco más de trabajo. Para aplicaciones como OpenOffice, donde la impresión con kprinter es un problema, hay otra ruta de salida válida. CUPS-PDF (impresora virtual PDF) en su proceso de elaboración, crea un archivo PostScript que después convierte en PDF con la utilidad ps2pdf. Para generar un archivo PostScript mediante CUPS-PDF, lo que hay que hacer es capturar el archivo PostScript intermedio creado por CUPS-PDF. Esto se logra fácilmente seleccionando la opción "imprimir en archivo" en el cuadro de diálogo de impresión.  Después de seleccionar la opción "imprimir en archivo", basta con introducir el nombre del archivo (elegir la extensión .ps o .eps para el formato del archivo) y haga clic en "Imprimir".
+
Imprimir en PDF en la mayoría de aplicaciones como OpenOffice no es ningún problema, simplemente pulse el botón imprimir. Sin embargo, al imprimir en PostScript, las cosas requieren un poco más de trabajo. Para aplicaciones como OpenOffice, donde la impresión con kprinter es un problema, hay otra ruta de salida válida. CUPS-PDF (impresora virtual PDF) en su proceso de elaboración, crea un archivo PostScript que después convierte en PDF con la utilidad ps2pdf. Para generar un archivo PostScript mediante CUPS-PDF, lo que hay que hacer es capturar el archivo PostScript intermedio creado por CUPS-PDF. Esto se logra fácilmente seleccionando la opción «imprimir en archivo» en el cuadro de diálogo de impresión.  Después de seleccionar la opción «imprimir en archivo», basta con introducir el nombre del archivo (elegir la extensión .ps o .eps para el formato del archivo) y haga clic en «Imprimir».
  
 
=====Configurando la impresora virtual CUPS-PDF=====
 
=====Configurando la impresora virtual CUPS-PDF=====
 
#Configure el demonio cups siguiendo las instrucciones presentes en esta página.
 
#Configure el demonio cups siguiendo las instrucciones presentes en esta página.
#Instale {{Pkg|cups-pdf}} desde [extra].
+
#Instale {{Pkg|cups-pdf}} desde los [[Official Repositories (Español)|repositorios oficiales]].
 
#Acceda a la administración de la impresora cups: http://localhost:631 y seleccione:
 
#Acceda a la administración de la impresora cups: http://localhost:631 y seleccione:
 
  Administración -> Añadir Impresora
 
  Administración -> Añadir Impresora
Line 516: Line 455:
 
  Driver:  Generic CUPS-PDF Printer
 
  Driver:  Generic CUPS-PDF Printer
  
Ahora, para imprimir en PostScript, imprima como de costumbre, en el diálogo de impresión seleccione "CUPS-PDF" como impresora, luego seleccione la casilla de verificación "imprimir en archivo", pinche en Imprimir, introduzca el nombre del archivo (extensión .ps) y haga clic en Guardar. Esto es útil para faxes, etc.
+
Ahora, para imprimir en PostScript, imprima como de costumbre, en el diálogo de impresión seleccione «CUPS-PDF» como impresora, luego seleccione la casilla de verificación «imprimir en archivo», pinche en Imprimir, introduzca el nombre del archivo (extensión .ps) y haga clic en Guardar. Esto es útil para faxes, etc.
  
 
===Otros recursos para los controladores de la impresora===
 
===Otros recursos para los controladores de la impresora===
[http://www.turboprint.de/english.html Turboprint] es un controlador propietario para muchas impresoras aún no soportadas por GNU/Linux (Canon i*, por ejemplo). A diferencia de CUPS, sin embargo, normalmente las impresiones de alta calidad son, o bien señaladas con una marca de agua o bien son ofrecidas únicamente como un servicio de pago.
+
[http://www.turboprint.de/english.html Turboprint] es un controlador propietario para muchas impresoras aún no soportadas por GNU/Linux (Canon i*, por ejemplo). A diferencia de CUPS, sin embargo, normalmente las impresiones de alta calidad son, o bien señaladas con una marca de agua, o bien son ofrecidas únicamente como un servicio de pago.
  
 
==Consulte también==
 
==Consulte también==

Revision as of 19:36, 22 December 2012

Sumario help replacing me
Instalación y configuración de CUPS
Relacionado
CUPS printer sharing
CUPS printer-specific problems
Samba

De la web de CUPS':

«CUPS es el sistema de impresión, basado en estándares y de código abierto, desarrollado por Apple Inc. para Mac OS® X y otros sistemas operativos basados en UNIX®».

Aunque hay otras alternativas de impresión como LPRng, el Sistema de Impresión Común de Unix (Common Unix Printing System) es la opción más popular debido a su relativa facilidad de uso.

Contents

Cups Linux Printing workflow

Desde la versión 1.5.3-3 de cups, ArchLinux utiliza el sistema de impresión completamente nuevo pdf-based. Para obtener más información, consulte el artículo PDF standard printing job format y este otro más antiguo Cups filtering chart para conocer la historia e ilustrarse. Un buen punto de partida para comprender mejor cómo se gestiona todo el proceso de impresión es este artículo.

Hay dos maneras de configurar una impresora:

  • Si tiene un servidor cups de Linux ejecutándose en su red y una impresora compartida, solo necesita instalar el paquete cliente.
  • Si la impresora está conectada directamente a su sistema o si tiene acceso a una impresora de red IPP, entonces configure un servidor cups local.

Instalar el paquete cliente

El paquete libcups es el único necesario. Instálelo desde los repositorios oficiales.

A continuación, agregue la dirección IP del servidor CUPS o el nombre de host en /etc/cups/client.conf. Eso es todo lo que se necesita. Cada solicitud debe rápidamente encontrar la impresora(s) compartida por el servidor CUPS.

Configuración avanzada opcional para la red

Es posible ejecutar una instancia de cupsd en el propio cliente con la ayuda de avahi habilitado en el navegador para descubrir las IP de las impresoras que se comparten en red. Esto tiene sentido en configuraciones de grandes redes, donde el servidor es desconocido.

Nota: Este comportamiento no ha cambiado con cups 1.6.x - la diferencia es que hasta la versión 1.5.x, la interfaz web de cupsd era capaz de hacer este proceso por sí sola y ahora necesita del auxilio de avahi para descubrir las impresoras conectadas.

Instalar los paquetes del servidor

Se necesitan los paquetes cups, cups-filters, ghostscript, gsfonts y el controlador de la impresora. Instale dichos paquetes desde los repositorios oficiales.

  • cups - El software CUPS actual (demonio)
  • avahi - Proporciona la interfaz web de cups a traves de la red
  • cups-filters - Paquete esencial de filtros
  • ghostscript - El intérprete para el lenguaje Postscript (opcional)
  • gsfonts - Las fuentes estándar GhostScript Type1
  • hpoj - Si está utilizando una HP Officejet, también debe instalar este paquete y seguir las instrucciones para evitar problemas. Consulte esto, para más información.

Si el sistema está conectado a una impresora en red utilizando el protocolo Samba o si el sistema va a actuar como un servidor de impresión para clientes Windows, instale también samba.

Desde la versión 1.6 de cups el demonio avahi-daemon debe iniciarse antes de cupsd si desea habilitar la navegación de impresoras a traves de la red.

Controladores para la imprerosa

A continuación se relacionan algunos paquetes de drivers. Elegir el controlador adecuado dependerá, obviamente, de su impresora:

  • gutenprint - Una colección de controladores de alta calidad para impresoras Canon, Epson, Lexmark, Sony, Olympus; y para impresoras PCL para usar con GhostSscript, CUPS, Foomatic, y GIMP
  • foomatic-db, foomatic-db-engine, foomatic-db-nonfree, y foomatic-filters - Foomatic es un sistema orientado a base de datos para integrar controladores de impresión de software libre con colas de impresión comunes en entornos Unix. La instalación de foomatic-filters debería resolver eventuales problemas de impresión con respecto a errores recogidos en el registro como «stopped with status 22!».
  • foo2zjsAUR - Controladores para el protocolo ZjStream usados por impresoras como HP Laserjet 1018. Más información aquí. Foo2zsj está disponible en foo2zjsAUR.
  • hplip - Controlador GNU/Linux para HP. Proporciona soporte para DeskJet, OfficeJet, Photosmart, Business Inkjet y algunos modelos de impresoras LaserJet, así como para algunas impresoras Brother.
  • splix - Controlador para Samsung para impresoras SPL (Samsung Printer Language) .
  • samsung-unified-driverAUR - Controladores para impresoras y escáneres Samsung. Requerido por las nuevas impresoras, como ML-2160. Paquete disponible en AUR.
  • ufr2AUR o cndrvcups-lbAUR - Controladores para Canon UFR2 con soporte para las impresoras series LBP, iR y MF. Paquete disponible en AUR.
  • cups-pdf - Un paquete que permite configurar una impresora virtual PDF que genera un archivo PDF de los documentos enviados a ella.

Si no está seguro de qué controladores instalar o si el driver actual que usa no está funcionando, puede ser más fácil instalar todos los drivers, dado que algunos de los nombres de los paquetes son engañosos, en cuanto que las impresoras de otras marcas pueden ser compatibles o depender de ellos. Por ejemplo, la impresora Brother HL-2140 necesita tener instalado el controlador hplip.

Descargar el PPD de la impresora

Dependiendo de la impresora, este paso es opcional y puede no ser necesario, ya que la instalación estándar de CUPS incluye un cierto número de archivos PPD (PostScript Printer Description). Por otra parte, los paquetes foomatic-filters, gimp-print y hplip ya incluyen un buen número de archivos PPD que serán automáticamente detectados por CUPS.

He aquí una explicación del sitio web de impresión de Linux sobre el significado del archivo PPD:

«Para todas las impresoras PostScript los fabricantes pueden proporcionar un archivo PPD que contiene toda la información específica del particular modelo de impresora: esto es, las capacidades básicas de la impresora, como, por ejemplo, si la impresora es a color, las fuentes, el nivel de PostScript, etc., y, sobre todo, la opciones configurables por el usuario, como el tamaño del papel, la resolución, etc.»

Si el PPD para la impresora no está incluido en CUPS, entonces:

  • compruebe en AUR si hay paquetes para la impresora/fabricante
  • visite la base de datos OpenPrinting y seleccione el fabricante y el modelo de la impresora
  • visite el sitio del fabricante para realizar una búsqueda de los drivers GNU/Linux
Nota: Los archivos PPD residen en la carpeta /usr/share/cups/model/

Configuración

Ahora que CUPS está instalado, tenomos una variedad de opciones sobre cómo configurar soluciones de impresión. Como siempre, el conocido método de la línea de comandos está a su disposición. Del mismo modo, varios entornos de escritorio, como GNOME y KDE, tienen programas útiles que pueden ayudar a gestionar impresoras. Sin embargo, para que esta explicación llegue al mayor número posible de usuarios, este artículo se centrará en el método que usa la interfaz web proporcionada por CUPS.

Si está planificando una conexión a una impresora en red, en lugar de una conectada directamente al ordenador, es posible que desee leer primero la página sobre el uso compartido de impresoras CUPS. El uso compartido de impresoras entre sistemas GNU/Linux es muy fácil y consiste en una configuración muy sencilla, mientras que compartir impresoras entre sistemas Windows y GNU/Linux requiere un esfuerzo un poco mayor.

Se puede tener acceso a las impresoras USB de dos modos: a través de los módulos del kernel usblp y libusb. El primero es el modo clásico y el más simple: los datos se envían a la impresora mediante una simple corriente de datos en serie. El mismo archivo tiene un acceso «bidireccional», a fin de permitir ver el nivel de tinta, el estado o la información de la capacidad de la impresora (PJL). Este método funciona muy bien para las impresoras simples, pero no es adecuado para los dispositivos multifunción (impresora/escáner), de ahí que fabricantes como HP proporcionen sus propios backends. (fuente: aquí)

Módulos del kernel

Antes de utilizar la interfaz web de CUPS, necesita tener instalados los módulos apropiados del kernel. Los pasos siguientes son los proporcionados por la Guía de Impresión de Gentoo.

No obstante, los pasos de esta sección pueden no ser necesarios dependiendo de qué kérnel se esté utilizando. El módulo del kernel puede ser cargado automáticamente después de conectarse la impresora. Utilice la orden tail (como se describe más adelante) para ver si la impresora ya ha sido detectada. La herramienta lsmod puede utilizarse también para ver qué módulos se han cargado.

Impresoras USB

Advertencia: Desde la versión 1.6.0 de cups no tendría que ser necesario introducir en blacklist el módulo usblp.

Si nota que al poner dicho módulo en blaklist soluciona algún problema, por favor informe del fallo a los desarrolladores de Cups. Consulte upstream bug para más información.

Algunos usuarios de impresoras USB, pueden, sin embargo, a modo de prevención, querer todavía introducir en blacklisting el módulo usblp, que se haría como sigue:

/etc/modprobe.d/blacklist.conf
blacklist usblp

Usuarios con kernel personalizado pueden necesitar cargar manualmente el módulo usbcore antes de continuar:

# modprobe usbcore

Una vez que los módulos están instalados, conecte la impresora y compruebe si el kernel los ha detectado, ejecutando lo siguiente:

# tail /var/log/messages.log

o

# dmesg

Si está utilizando usblp, la salida debería indicar que la impresora ha sido detectada, de este modo:

Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver

Si se ha introducido en blacklisted el módulo usblp, debería obtener una salida similar a esta:

usb 3-2: new full speed USB device using uhci_hcd and address 3
usb 3-2: configuration #1 chosen from 1 choice

Impresoras en puerto paralelo

Para la utilización de la impresora conectada a un puerto paralelo, la configuración es prácticamente la misma, excepto para los módulos:

# modprobe lp
# modprobe parport
# modprobe parport_pc

Una vez más, compruebe la configuración, ejecutando:

# tail /var/log/messages.log

Se debería ver algo como esto:

lp0: using parport0 (polling).

Si está utilizando un adaptador de USB para un puerto paralelo, CUPS no será capaz de detectar la impresora. Para solucionar este problema, agregue la impresora utilizando un tipo de conexión diferente y luego cambie DeviceID en /etc/cups/printers.conf, así:

DeviceID = parallel:/dev/usb/lp0

Inicio automático

Es conveniente que el sistema cargue automáticamente el módulo del kernel cada vez que se inicie. Para hacer esto posible, utilice un editor de texto para modificar el archivo /etc/modules-load.d/printing.conf y añada el módulo apropiado, uno por línea. He aquí un ejemplo:

lp
parport
parport_pc

Demonio CUPS

Con el módulo del kernel instalado, ahora puede iniciar el demonio cupsd. Añada cupsd a la matriz DAEMONS para iniciarlo automáticamente en cada arranque.

Interfaz web y herramientas

Una vez iniciado el demonio, abra un navegador y escriba en la barra de navegación: http://localhost:631 (El término localhost puede que tengamos que reemplazarlo con el nombre del host establecido en /etc/hosts).

Desde aquí, siga los distintos asistentes que le vayan apareciendo en pantalla para agregar la impresora. Un procedimiento habitual es empezar haciendo clic en Añadir impresoras y clases y después en Añadir Impresora. Cuando se le pida un nombre de usuario y contraseña, inicie la sesión como root. El nombre asignado a la impresora no tiene importancia, lo mismo que para los campos 'ubicación' y 'descripción'. A continuación, se presentará una lista de dispositivos para seleccionar. El nombre real de la impresora aparece junto a la etiqueta (por ejemplo, al lado de USB Printer #1 para impresoras USB). Por último, seleccione los controladores adecuados, para completar la configuración.

Ahora pruebe la configuración pulsando Administración, en el menú desplegable, y seleccione Imprimir página de prueba. Si no se imprime y la configuración es correcta, entonces lo más probable sea que el controlador seleccionado no es el adecuado para la impresora.

Sugerencia: Consulte: Interfaces alternativa para CUPS para otros tipos de interfaz.
Nota: Cuando se configura una impresora USB, esta debe aparecer listada en la página Agregar Impresora. Si solo se puede ver una «impresora SCSI», probablemente significa que CUPS no ha reconocido la impresora.
Nota: Para habilitar el escaneo de redes inalámbricas en determinados dispositivos multifunción HP, utilizando el paquete hplip, puede que tenga que agregar la impresora como una impresora de red, utilizando http:// protocol. Para determinar el URI correcto a usar, ejecute la orden hp-makeuri.

Administración de CUPS

Para administrar la impresora mediante la interfaz web es necesario proporcionar un nombre de usuario y una contraseña, para realizar tareas como, por ejemplo: añadir o eliminar impresoras, detención de tareas de impresión, etc. El nombre de usuario, por defecto es el asignado al grupo sys , o root (para cambiar el grupo modifique /etc/cups/cupsd.conf en la línea SystemGroup).

Si la cuenta de root se ha bloqueado (es decir, cuando se utiliza sudo), no será posible iniciar una sesión en la interfaz de administración de CUPS con el nombre de usuario y contraseña por defecto. En este caso, siga estas instrucciones en el FAQ de CUPS. También puede resultarle interesante este post.

Acceso remoto a la interfaz web

Por defecto, la interfaz web de CUPS es accesible solo por localhost, es decir, el equipo sobre el que está instalado. Para acceder a la interfaz remota, será necesario realizar los siguientes cambios, modificando el archivo /etc/cups/cupsd.conf. Cambien la línea:

Listen localhost:631

con

Port 631

para que CUPS escuche las solicitudes entrantes.

Tres niveles de acceso se pueden conceder:

<Location />           #access to the server
<Location /admin>	#access to the admin pages
<Location /admin/conf>	#access to configuration files

Para conceder a los hosts remotos acceso a uno de estos niveles, añada una declaración afirmativa, Allow, a la sección de dicho nivel. Una declaración Allow puede formularse de diversas maneras como se enumeran a continuación:

Allow all
Allow host.domain.com
Allow *.domain.com
Allow ip-address
Allow ip-address/netmask

La declaración negativa, Deny, también puede ser utilizada. Por ejemplo, si quiere dar acceso completo a todos los host de la subred 192.168.1.0/255.255.255.0, incluya en el archivo /etc/cups/cupsd.conf lo siguiente:

# Restrict access to the server...
# By default only localhost connections are possible
<Location />
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Restrict access to the admin pages...
<Location /admin>
   # Encryption disabled by default
   #Encryption Required
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   Allow From localhost
   Allow From 192.168.1.0/255.255.255.0
</Location>

Puede también ser necesario añadir:

DefaultEncryption Never

Esto debería evitar el error: 426 - Es necesaria la actualización cuando se utiliza la interfaz web de CUPS desde una máquina remota.

Solución de Problemas

La mejor manera de hacer funcionar la impresora es establecer 'LogLevel' en /etc/cups/cupsd.conf de este modo:

LogLevel debug

Y luego, viendo la salida desde /var/log/cups/error_log como sigue:

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

Los resultados a la izquierda de la salida son:

  • D=Debug
  • E=Error
  • I=Información
  • Y así...

Estos archivos también pueden ser útiles para:

  • /var/log/cups/page_log - Reproduce una nueva entrada cada vez que la impresión es satisfactoria
  • /var/log/cups/access_log - Lista todas las actividades del servidor cupsd http1.1

Por supuesto, es importante saber cómo funciona CUPS para poder hacer frente a eventuales problemas:

  1. Una aplicación envía un archivo .ps (PostScript, un lenguaje de script que detalla cómo debe verse la página) a CUPS cuando la opción 'imprimir' ha sido seleccionada (esto viene con la mayoría de los programas).
  2. CUPS después analiza el archivo PPD de la impresora (archivo de descripción de impresora) y encuentra los filtros que debe utilizar para convertir el archivo .ps a un lenguaje que entienda la impresora (como PJL, PCL), usualmente GhostScript.
  3. GhostScript recibe la entrada y decide qué filtros debe utilizar, a continuación, los aplica y convierte el archivo .ps a un formato entendible por la impresora.
  4. Por último, envía un back-end. Por ejemplo, si la impresora está conectada a un puerto USB, utiliza el back-end USB.

Imprima un documento y vea error_log para obtener una imagen más detallada y correcta del proceso de impresión.

Problemas relacionados con las actualizaciones

Problemas que aparecieron despues que los paquetes CUPS y programas relacionados fueron actualizados a una versión más reciente.

CUPS deja de funcionar

Puede suceder que, como resultado de una actualización hay cambios en el archivo de configuración. Mensajes como "404 - page not found" («404 - página no encontrada») puede ser consecuencia de tratar de administrar CUPS a través de localhost:631, por ejemplo.

Para utilizar la nueva configuración, copie /etc/cups/cupsd.conf.default a /etc/cups/cupsd.conf (respalde la configuración antigua si es necesario) y reinicie CUPS para emplear la nueva configuración.

Todos los trabajos están «detenidos»

Si todos los trabajos enviados a la impresora se «detuvieron», elimine la impresora y vuelva a agregarla. Usando la interfaz web de CUPS, vaya a Impresoras > Eliminar impresora.

Para comprobar la configuración de la impresora vaya a Impresoras, luego Modificar Impresora. Copie la información mostrada, seleccione 'Modificar Impresora' para pasar a la página siguiente(s), y así sucesivamente.

Todos los trabajos derivan a «The printer is not responding» (La impresora no responde)

En las impresoras en red, compruebe que el nombre que CUPS utiliza como URI de conexión se resuelve en la dirección IP de la impresora a través de DNS, por ejemplo, si la conexión de la impresora es la siguiente:

 lpd://BRN_020554/BINARY_P1

el nombre del host 'BRN_020554 debe resolver la dirección IP de la impresora desde el servidor que ejecuta CUPS.

La versión PPD no es compatible con gutenprint

Ejecute:

# /usr/sbin/cups-genppdupdate

Y reinicie CUPS (como señala el mensaje post-instalación de gutenprint)

Otros

Errores de permisos CUPS
  • Algunos usuarios reportan errores del tipo 'NT_STATUS_ACCESS_DENIED' (Windows clients) utilizando una sintaxis ligeramente diferente:
smb://workgroup/username:password@hostname/printer_name
  • A veces, el dispositivo completo tiene permisos incorrectos:
# ls /dev/usb/
lp0
# chgrp lp /dev/usb/lp0

La impresora HPLIP envía como error «/usr/lib/cups/backend/hp failed»

Asegúrese de tener instalado dbus y de haberlo iniciado, comprobando DAEMONS en /etc/rc.conf o ejecutando ls /var/run/daemons.

El demonio avahi-daemon puede ser necesario si el error persiste y dbus ya se está ejecutando

Trate de añadir la impresora como una impresora de red utilizando el protocolo http:// protocol. Genere el URI de la impresora con hp-makeuri.

Nota: Existe la posibilidad de sea necesario cambiar los permisos de CUPS.

HPLIP indica que todos los trabajos se han completado pero la impresora no responde

Esto sucede en las impresoras HP cuando se selecciona el controlador (antiguo) hpijs (por ejemplo, la Deskjet series D1600). En su lugar, seleccione el controlador hpcups al añadir la impresora.

Algunas impresoras hp (por ejemplo hp Laserjet) requieren firmware para ser descargado desde el ordenador cada vez que se enciende la impresora. Si hay un problema con udev (o equivalente) y el estado de descarga de firmware nunca es encendido, puede experimentar este problema. Para solucionar el problema, puede descargar manualmente el firmware a la impresora. Asegúrese de que la impresora esté conectada y encendida, y, a continuación, introduzca

hp-firmware -n

hp-toolbox envía como error, «Unable to communicate with device»

Si se ejecuta hp-toolbox como un usuario normal se obtiene:

# hp-toolbox
# error: Unable to communicate with device (code=12): hp:/usb/<printer id>

o, «Unable to communicate with device», entonces puede ser necesario añadir al usuario al grupo lp.

Esto también puede ser causado por las impresoras P1102 que proporiconan una unidad CD-ROM virtual con el controlador para MS-Windows. El dispositivo lp aparece y luego desaparece. En ese caso, pruebe los paquetes usb-modeswitch y usb-modeswitch-data, que permiten intercambiar la «Smart Drive» (reglas de udev incluidas en dichos paquetes).

Esto también puede ocurrir con las impresoras conectadas en red, si el demonio avahi-daemon no se está ejecutando.

CUPS responde '«foomatic-rip» not available/stopped with status 3' con una impresora HP

Si recibe alguno de los siguientes mensajes de error en /var/log/cups/error_log mientras se utiliza una impresora HP, con trabajos que se muestran para ser procesados ​​mientras que el resto de trabajos ya procesados no los completa y su estado se establece en 'parado':

 Filter "foomatic-rip" for printer "<nombre_impresora>" not available: No such file or director

o:

PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!

asegúrese que hplip se ha instalado, además de los paquetes mencionados arriba, siendo necesario también net-snmp. Consulte este mensaje en el foro.

# pacman -S hplip

La impresora falla indicando error de autorización

Si el usuario se ha añadido al grupo lp, y está autorizado para imprimir (establecido en cupsd.conf), entonces el problema se encuentra en /etc/cups/printers.conf. Esta línea podría ser la culpable:

AuthInfoRequired negotiate

Comentela y reinicie CUPS.

Botón de impresora bloqueado en aplicaciones GNOME

Fuente (en inglés): No es posible imprimir con las aplicaciones GNOME. - Arch Forums

Asegúrese de que el paquete: libgnomeprint está instalado.

Edite el archivo /etc/cups/cupsd.conf y añada:

# HostNameLookups Double

Reinicie CUPS:

# systemctl restart cups

Formato soportado desconocido: application/postscript

Comente las líneas:

application/octet-stream        application/vnd.cups-raw        0      -

en el archivo /etc/cups/mime.convs, y:

application/octet-stream

en /etc/cups/mime.types.

Cambiar los URIs para los servidores de la impresora de Windows

A veces, Windows es poco intuitivo en la definición exacta del dispositivo URI (ubicación del dispositivo). Si tiene problemas para especificar la ubicación del dispositivo correcto en CUPS, ejecute la orden siguiente para listar todas las acciones disponibles para un determinado nombre de usuario de Windows:

 $ smbtree -U windowsusername

Esta orden enumerará cada recurso compartido disponible para un determinado nombre de usuario de Windows en la subred LAN local, siempre que Samba esté configurado y funcionando correctamente. Debe devolver algo como esto:

 WORKGROUP
	\\REGULATOR-PC   		
		\\REGULATOR-PC\Z              	
		\\REGULATOR-PC\Public         	
		\\REGULATOR-PC\print$         	Printer Drivers
		\\REGULATOR-PC\G              	
		\\REGULATOR-PC\EPSON Stylus CX8400 Series	EPSON Stylus CX8400 Series

Lo que se necesita de este ejemplo es la primera parte de la última línea, el recurso que coincide con la descripción de la impresora. Así que para imprimir en la impresora EPSON Stylus, se podría insertar como URI:

 smb://username.password@REGULATOR-PC/EPSON Stylus CX8400 Series

en CUPS. Advierta que los espacios en blanco son permitidos en URIs, mientras se reemplazan las barras invertidas con barras diagonales.

Error de impresora client-error-document-format-not-supported

Pruebe instalando los paquetes foomatic y usar un controlador foomatic.

Error /usr/lib/cups/backend/hp

Cambie

 SystemGroup sys root

por

 SystemGroup lp root

en /etc/cups/cupsd.conf

Los siguientes pasos 1-3 en las interfaces Alternativas de CUPS que figuran a continuación puede ser una mejor solución, ya que hay nuevas versiones de cups que no permitirán que el mismo grupo realice conjuntamente operaciones normales y de admninistración.

«Unable to get list of printer drivers»

Pruebe eliminando los drivers Foomatic.

lp: Error - Scheduler Not Responding

Si recibe este error al imprimir un documento mediante:

$ lp document-to-print

Pruebe a establecer la variable de entorno CUPS_SERVER:

$ export CUPS_SERVER=localhost

Si esto resuelve el problema, haga la solución permanente añadiendo la línea export de arriba en ~/.bash_profile.

CUPS imprime solo un vacío y una página de mensajes de error en HP LaserJet

Hay un bug que hace que CUPS falle al imprimir imágenes en impresoras HP LaserJet (como es el caso de 3380). El error ha sido reportado y se repara por Ubuntu. La primera página está vacía, la segunda página contiene el siguiente mensaje de error:

 ERROR:
 invalidaccess
 OFFENDING COMMAND:
 filter
 STACK:
 /SubFileDecode
 endstream
 ...

Con el fin de solucionar el problema, utilice la siguiente orden (como superusuario):

 lpadmin -p <printer> -o pdftops-renderer-default=pdftops

Mensaje de error «Using invalid Host»

Pruebe añadiendo "ServerAlias *" en cupsd.conf

La impresora no es reconocida por CUPS

Si la impresora no aparece listada en la página «Añadir impresoras» de la interfaz web de CUPS, ni por lpinfo -v, pruebe lo siguiente (sugerido en este hilo):

  1. Detenga cups (sudo systemctl stop cups).
  2. Añada la siguiente regla udev en el siguiente archivo de regla udev nuevo /etc/udev/rules.d/10-cups_device_link.rules KERNEL=="lp[0-9]", SYMLINK+="%k", GROUP="lp"
  3. Desconcecte y vuelva a conectar la impresora.
  4. Espero un poco y luego inicie de nuevo cups (sudo systemctl start cups).

Apéndice

Interfaces alternativa para CUPS

Si usa GNOME, una posibilidad para gestionar y configurar la impresora es usar system-config-printer-gnome. Este paquete está diponible usando pacman:

# pacman -S system-config-printer-gnome

Para hacer system-config-printer realmente funcional, será necesario ejecutarlo como root, o, alternativamente, establecer permisos a un usuario «normal» para administrar CUPS (en este último caso siga los pasos 1-3):

  • 1. Cree el grupo, y añada al usuario como sigue:
# groupadd lpadmin
# usermod -aG lpadmin <nombre-de-usuario>
  • 2. Añada «lpadmin» (sin las comillas) en la línea siguiente del archivo /etc/cups/cupsd.conf
SystemGroup sys root <poner aquí>
  • 3. Reinicie cups, y reinicie la sesión de usuario (o reinicie el ordenador)
# systemctl restart cups

Los usuarios de KDE pueden gestionar las impresoras desde el Centro de Control. Los usuarios de ambos entornos de escritorios (Gnome, KDE), deben remitirse a la documentación de sus respectivos escritorios «para más información sobre cómo utilizar las interfaces».

Otra interfaz útil es gtklpAUR disponible desde AUR

Impresora virtual PDF

CUPS-PDF es un paquete interesante, que permite configurar una impresora virtual que va a generar un archivo PDF a partir de cualquier documento que se ​​le envíe. Obviamente, este paquete no es necesario, pero puede ser bastante útil.

Los documentos PDF generados se encuentran en un subdirectorio ubicado en /var/spool/cups-pdf. Normalmente, el subdirectorio lleva el nombre del usuario que realizó el trabajo. Un pequeño arreglo le ayudará a ubicar (y, por tanto, encontrar con más facilidad) sus documentos PDF impresos en el directorio que desee.

Edite /etc/cups/cups-pdf.conf y descomente la siguiente línea:

#Out /var/spool/cups-pdf/${USER}

y ponga la ruta a la carpeta donde desee que tengan su salida los documentos imprimidos por CUPS-PDF, por ejemplo:

Out /home/${USER}

Este paquete es fácilmente instalable mediante:

# pacman -S cups-pdf

Después de instalar el paquete, debe configurarse como si se tratara de cualquier otra impresora mediante la interfaz web. Para el dispositivo, seleccione CUPS-PDF (Virtual PDF Printer); Marca/Fabricante, elija Generic; Modelo/controlador, seleccione Generic postscript color printer o Generic Cups-PDF Printer. Como alternativa, puede recuperar el archivo PPD desde este enlace.

Imprimir en postscript: arreglo para la impresora virtual CUPS-PDF

Imprimir en PDF en la mayoría de aplicaciones como OpenOffice no es ningún problema, simplemente pulse el botón imprimir. Sin embargo, al imprimir en PostScript, las cosas requieren un poco más de trabajo. Para aplicaciones como OpenOffice, donde la impresión con kprinter es un problema, hay otra ruta de salida válida. CUPS-PDF (impresora virtual PDF) en su proceso de elaboración, crea un archivo PostScript que después convierte en PDF con la utilidad ps2pdf. Para generar un archivo PostScript mediante CUPS-PDF, lo que hay que hacer es capturar el archivo PostScript intermedio creado por CUPS-PDF. Esto se logra fácilmente seleccionando la opción «imprimir en archivo» en el cuadro de diálogo de impresión. Después de seleccionar la opción «imprimir en archivo», basta con introducir el nombre del archivo (elegir la extensión .ps o .eps para el formato del archivo) y haga clic en «Imprimir».

Configurando la impresora virtual CUPS-PDF
  1. Configure el demonio cups siguiendo las instrucciones presentes en esta página.
  2. Instale cups-pdf desde los repositorios oficiales.
  3. Acceda a la administración de la impresora cups: http://localhost:631 y seleccione:
Administración -> Añadir Impresora
Seleccionar CUPS-PDF (Virtual PDF), elegir marca y driver:
Marca:   Generic
Driver:  Generic CUPS-PDF Printer

Ahora, para imprimir en PostScript, imprima como de costumbre, en el diálogo de impresión seleccione «CUPS-PDF» como impresora, luego seleccione la casilla de verificación «imprimir en archivo», pinche en Imprimir, introduzca el nombre del archivo (extensión .ps) y haga clic en Guardar. Esto es útil para faxes, etc.

Otros recursos para los controladores de la impresora

Turboprint es un controlador propietario para muchas impresoras aún no soportadas por GNU/Linux (Canon i*, por ejemplo). A diferencia de CUPS, sin embargo, normalmente las impresiones de alta calidad son, o bien señaladas con una marca de agua, o bien son ofrecidas únicamente como un servicio de pago.

Consulte también