Tutorial Raspberry Pi - 12. Cómo crear un servidor de impresión

Tutorial Raspberry Pi - 12. Cómo crear un servidor de impresión

12¡Hola! En este tutorial vamos a aprender a crear un servidor de impresión en nuestra placa Raspberry Pi. Este artículo lo hago porque tengo en casa dos impresoras, pero una ha dejado de funcionar, así que pensé en conectar la Raspberry Pi a la impresora que funciona y así poder imprimir desde cualquier ordenador de la casa, es decir, crear una impresora en red. Cada ordenador se conectará a esta impresora, que está en la misma red de área local (LAN) y, podrá imprimir como si estuviese conectada a este mismo ordenador.

cups-large

La Raspberry Pi, como todos sabemos, tiene unos recursos limitados y, puede que si la sobrecargamos mucho con varias tareas, disminuya su rendimiento. Personalmente, no he tenido hasta ahora ningún problema con ella, pero todo depende del uso que cada uno haga de ella.

Vamos a instalar el sistema CUPS (Common Unix Printing System). Mi impresora es una HP Deskjet F380. Es la única que he probado, pero cuando hagáis este tutorial, escribid un comentario con vuestros resultados, es decir, si os funciona o no, si hay drivers disponibles, etc.

Para comenzar, ejecutaremos el siguiente comando por consola:

sudo apt-get install cups

Una vez haya terminado la instalación, tendremos que dar permisos a nuestro usuario para poder administrar las impresoras. Como hemos instalado CUPS en nuestra Raspberry Pi, utilizaremos el nombre de usuario correspondiente para los permisos de administrador. En mi caso es 'pi', que es el que viene por defecto en la Raspberry Pi:

sudo usermod -a -G lpadmin pi
Más información sobre 'lpadmin' aquí.

Si estáis en el escritorio de la Raspberry Pi, podréis administrar las impresoras desde un servidor local (localhost) en el puerto 631 (localhost:631), pero nosotros vamos a hacer la configuración para que se pueda administrar de forma remota, que es más útil. Editaremos el fichero de configuración:

sudo nano /etc/cups/cupsd.conf

Tendremos que comentar o eliminar algunas líneas que hacen que por defecto la administración sea local. Añadiremos otras para poder acceder de forma remota.

# Only listen for connections from the local machine.
#Listen localhost:631
Listen *:631
Listen /var/run/cups/cups.sock

La red en la que está mi Raspberry Pi, es 192.168.1.*, así que permitiré el acceso a cualquier máquina de esa misma red:

# Restrict access to the server...

  Order allow,deny
  Allow 192.168.1.*


# Restrict access to the admin pages...

  Order allow,deny
  Allow 192.168.1.*


# Restrict access to configuration files...

  AuthType Default
#  Require user @SYSTEM
  Allow 192.168.1.*
  Order allow,deny

Una vez hayamos acabado de modificar el archivo de configuración, lo guardaremos y reiniciaremos el servidor de impresión:

sudo service cups restart

pi@raspberrypi: ~_029

Abriremos un navegador y accederemos a la IP de la Raspberry Pi y al puerto 631:

Home - CUPS 1.5.3 - Chromium_027

Vamos a la pestaña de administración e introducimos el nombre de usuario y la contraseña de la Raspberry Pi:

Selection_028

Nos aparecerá la impresora que tengamos conectada a la Raspberry Pi, y la seleccionaremos. En mi caso, HP Deskjet F300 Series. A partir de aquí, será algo muy básico.

Selection_012

Selection_013

En la siguiente captura de pantalla, podremos ver si hay algo imprimiendo (jobs), pero en este caso, está vacío:

Selection_014

Finalmente, añadiremos la impresora en red a nuestro ordenador:

Printers_015

Aquí vemos que ya es nuestra impresora por defecto:

Printers_016

Vamos a imprimir una página de prueba para ver que realmente funciona: en la pantalla de "jobs", veréis que pone "maintenance". Ahí, seleccionad "print test page" y se os imprimirá una página de prueba:

IMG_20130802_204538

Bien, ya hemos terminado de configurar nuestro servidor de impresión y, podremos acceder desde cualquier equipo que esté en la misma red.

Nos veremos en el próximo tutorial y, no olvidéis comentar vuestros resultados y visitar el foro. ¡Un saludo!

 

Deja un comentario


13 comentarios


José Antonio Gaona · Hace 1 año

Veo que la impresora que pones con el servidor de impresión es una todo en 1. ¿Funciona también el escaner?. Gracias

Juan Manuel Bécares Silva · Hace 1 año

Creo que sería mucho más útil indicar como usar CUPS con Google Cloud print, que ofrece un montón de aplicaciones en muchísimos dispositivos. https://github.com/google/cups-connector

Alvaro Arias Diez · Hace 1 año

Sabes como añadir la impresora desde win 10? He realizado el tutorial y he conseguido imprimir la pagina de prueba de forma remita, ahora me gustaria poder imprimir desde mi pc lo que yo quiero, no solo la pagina de pruebas

Alvaro Arias Diez · Hace 1 año

ya lo he conseguido, la tenia que configurar como impresora en red reconocible en vez de TCP/IP

nalsac · Hace 2 años

Gracias por el tutorial, realmente útil, pero tengo un problema a la hora de imprimir archivos pdf a través del servidor cups, he leído por otros foros que les pasa pero solamente con archivos pdf descargados de Internet y cosas del estilo, yo he realizado varias pruebas y de ninguna manera consigo que me imprima desde archivos pdf, alguien sabe que puede ser?

Raul · Hace 2 años

Gracias lo necesitaba, la tenia instalada al usb del router pero funcionaba a ratos

J · Hace 3 años

Buenas! es mi primer proyecto con Raspberry Pi y hay algo que no estoy haciendo bien.. al instalar CUPS la primera parte es correcta, pero la ultima salta esto: Install these packages without verification [y/N]? y Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcupscgi1 armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcupsmime1 armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcupsppdc1 armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main cups-ppdc armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main cups armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libcupsdriver1 armhf 1.5.3-5+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libisc84 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libdns88 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libisccc80 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libisccfg82 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main libbind9-80 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main liblwres80 armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main bind9-host armhf 1:9.8.4.dfsg.P1-6+nmu2+deb7u1 404 Not Found Err http://mirrordirector.raspbian.org/raspbian/ wheezy/main python-imaging armhf 1.1.7-4 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/libcupscgi1_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/libcupsmime1_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/libcupsppdc1_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/cups-ppdc_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/cups_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/c/cups/libcupsdriver1_1.5.3-5+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/libisc84_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/libdns88_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/libisccc80_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/libisccfg82_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/libbind9-80_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/liblwres80_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/b/bind9/bind9-host_9.8.4.dfsg.P1-6+nmu2+deb7u1_armhf.deb 404 Not Found Failed to fetch http://mirrordirector.raspbian.org/raspbian/pool/main/p/python-imaging/python-imaging_1.1.7-4_armhf.deb 404 Not Found E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing? ----- Las direcciones están mal? un saludo.

Edwin · Hace 2 años

intenta hacer un sudo apt-get update antes de la instalación, saludos

Juan · Hace 3 años

Muchas gracias por el tutorial, aun no lo implemento pero pronto lo hare. Solo tengo una duda, si quisiera solo permitir ciertas direcciones IP de la red local, como tiene que ser la sintaxis? Saludos!

Pablo · Hace 3 años

Gran tutorial, pero mi impresora no me imprime, es decir, si que recibe el trabajo de imprimir pero derrepente lo quita como si ya lo hubiera impreso.Alguna solución?

Saul · Hace 3 años

yo tengo el mismo problema, estoy intentando buscar alguna solucion. alguna solución???

Emilio · Hace 3 años

Hola buenas a mi me interesa mucho este tema, y tambien me sale prohibido, ya he comprobado la configuracion, gracias.

Luis Diaz · Hace 3 años

A mi tambien me pasa lo mismo, a ver si nos pueden echar una mano!

Luis Diaz · Hace 3 años

he buscado en google y he encontrado en este hilo: http://www.raspberrypi.org/forum/viewtopic.php?t=12365&p=132855 esto: # Allow remote administration... Order allow,deny Allow all # Allow remote administration... Order allow,deny Allow all AuthType Default Require user @SYSTEM # Allow remote access to the configuration files... Order allow,deny Allow all Que hay que cambiar en : sudo nano /etc/cups/cupsd.conf y asi ya entra. Creo que el fallo en el tutorial es que los textos estan fuera de los location

dani · Hace 3 años

Muy bueno! Funciona perfectamente la interfaz web, y he probado en mi ordena y manda bien la impresion. El problema es que intento configurarlo en un PC con Windows XP (service pack 3) y no detecta ninguna impresora en red (cabe obviar que esta conectada a la misma red que la Rasp). Intentare buscar una solucion por google. Un saludo!

Silvio · Hace 4 años

Hola, muy buen tutorial! El servidor de impresión es un artículo muy útil para no tener que lidiar con cables para todos lados! Lo voy a agregar a favoritos para un futuro implementarlo! Una pregunta (no se si un poco tonta, todavía no conozco bien los dispositivos), ¿se puede hacer esto mismo con un Arduino? Saludos y a seguir con el Blog!

Mario Pérez Esteso · Hace 4 años

Hola Silvio. No, no se puede hacer también con Arduino, puesto que CUPS es un software para sistemas como ordenadores o, en este caso, la Raspberry Pi. No podemos instalar software en Arduino (por lo menos en placas como Arduino UNO). Únicamente permite cargar sketches. iSaludos!

adrian izquierdo · Hace 4 años

Estimado Mario Quiero felicitarte por tu pagina web que esta muy interesante, me resulto muy util la información. Por otra parte estoy tratando de implementar un sistema en java y mysql en el que utilizo pantallas touch screem y una mini printer marca epson TMT81 y quiero saber si me puedes recomendar algun driver para este tipo de impresoras o bien alguna mini printer que sea 100% compatible con la raspberry. De antemano mil gacias por el aporte saludos desde mexico

Mario Pérez Esteso · Hace 4 años

Hola Adrián. La verdad es que no he utilizado nunca esa impresora. ¿Has llegado a realizar el tutorial? Es probable que tengas los drivers disponibles para tu hardware, aunque ya te digo que no estoy 100% seguro. Yo tengo dos impresoras, una HP y una Epson, y aunque la Epson no me imprime, sí que me reconocía los drivers. No creo que tengas problemas. Por cierto, nos presentamos a los premios bitácoras 2013 como mejor blog de educación. ¿Nos echas un cable con tu voto? <a href="http://bitacoras.com/premios13/votar/36ccaee5b1d6577d4a510cfdb8126959152f74cc" target="_blank" rel="nofollow">http://bitacoras.com/premios13/votar/36ccaee5b1d6577d4a510cfdb8126959152f74cc</a> ¡Muchas gracias!

Pablo · Hace 4 años

Hola. Muy buena entrada. Me da un error a la hora de acceder desde el navegador a la ip de mi Raspberry. Meto la ip:631 y me sale Prohibido.

Mario · Hace 4 años

Hola Pablo. Probablemente sea por un error en el archivo de configuración. No borres las etiquetas Location. Puede que eso te de error y no funcione bien.