🖨️ Convierte tu impresora USB en una impresora de red (LAN) usando una mini PC con Linux¶
Si tienes una impresora vieja que solo se conecta por USB y quieres usarla desde cualquier ordenador o móvil de tu red local, una Raspberry Pi Zero W (o cualquier mini PC con Linux) puede actuar como servidor de impresión. Además, puedes añadir la funcionalidad de impresión automática al dejar archivos en una carpeta compartida.
Esta guía te servirá para cualquier impresora USB y cualquier distribución Linux (Raspberry Pi OS, Ubuntu, Debian, etc.).
📦 Requisitos¶
- Mini PC con Linux (Raspberry Pi, Orange Pi, PC antiguo, etc.) conectado a la red (WiFi o Ethernet).
- Impresora con puerto USB.
- Cable USB para conectar la impresora al mini PC.
- Acceso SSH o terminal en el mini PC.
- Conocimientos básicos de línea de comandos.
🧰 Paso 1: Instalar CUPS (Common Unix Printing System)¶
CUPS es el sistema que gestionará la impresora y la compartirá en la red.
sudo apt update
sudo apt install cups -y
👤 Paso 2: Agregar tu usuario al grupo lpadmin¶
Esto te permitirá administrar impresoras a través de la interfaz web de CUPS.
sudo usermod -a -G lpadmin $USER
Importante: Cierra sesión y vuelve a iniciarla (o ejecuta newgrp lpadmin) para que los cambios surtan efecto.
🌐 Paso 3: Configurar CUPS para acceso desde la red¶
Edita el archivo de configuración:
sudo nano /etc/cups/cupsd.conf
Realiza estos cambios:
-
Busca la línea
Listen localhost:631y cámbiala por:Listen 0.0.0.0:631 -
En las secciones
<Location />,<Location /admin>y<Location /admin/conf>: - Añade
Allow @LOCAL(si ya existe, asegúrate de que no esté comentada). - También puedes agregar
Allow allsi quieres acceso sin restricciones (solo recomendado para redes internas de confianza).
Ejemplo para la sección <Location />:
<Location />
Order allow,deny
Allow @LOCAL
</Location>
Guarda con Ctrl+O, luego Ctrl+X.
Reinicia CUPS:
sudo systemctl restart cups
🔌 Paso 4: Conectar la impresora y detectarla¶
Conecta tu impresora por USB al mini PC y enciéndela. Verifica que el sistema la detecta:
lsusb
Deberías ver una línea con el fabricante de tu impresora.
🖥️ Paso 5: Agregar la impresora desde la interfaz web de CUPS¶
Abre un navegador desde cualquier ordenador de la misma red y escribe:
http://<IP_DEL_MINI_PC>:631
(Reemplaza <IP_DEL_MINI_PC> por la IP de tu Raspberry Pi o mini PC. Puedes obtenerla con hostname -I.)
- Ve a Administration → Add Printer.
- Te pedirá usuario y contraseña del sistema (el que usas para SSH).
- Selecciona tu impresora de la lista de dispositivos USB.
- Marca Share This Printer (para compartirla en la red).
- Asigna un nombre (ej:
MiImpresoraUSB), marca como predeterminada si quieres. - Elige el controlador:
- Si CUPS lo detecta automáticamente, selecciónalo.
- Si no aparece, instala los controladores genéricos (PostScript, PCL) o específicos de tu marca.
Instalar controladores HP (si tu impresora es HP)¶
sudo apt install hplip -y
Luego vuelve al paso de selección de controlador en CUPS.
✅ Paso 6: Probar la impresora¶
Desde la interfaz web, ve a Printers, selecciona tu impresora y haz clic en Print Test Page. Debería imprimir una página de prueba.
📡 Paso 7: Compartir la impresora en la red local¶
Por defecto, si marcaste Share This Printer, CUPS ya la publica mediante IPP (Internet Printing Protocol). Cualquier ordenador o móvil de la misma red podrá detectarla automáticamente (Windows, macOS, Linux, Android, iOS).
Cómo conectar desde otros dispositivos:¶
- Windows: Agregar impresora → “La impresora que quiero no está en la lista” → Seleccionar impresora por nombre o dirección →
http://<IP_MINI_PC>:631/printers/MiImpresoraUSB - macOS / Linux: Añadir impresora → IPP → dirección
ipp://<IP_MINI_PC>:631/printers/MiImpresoraUSB - Android: Usa la app “CUPS Print” o “IPP Print”.
🚀 (OPCIONAL) Paso 8: Impresión automática al dejar archivos en una carpeta¶
Si quieres que al copiar un archivo (PDF, TXT, JPG, etc.) a una carpeta específica se imprima automáticamente, sigue estos pasos.
Instalar inotify-tools¶
sudo apt install inotify-tools -y
Crear la carpeta de monitoreo y la de respaldo¶
mkdir -p ~/ImpresionAutomatica
mkdir -p ~/ImpresionAutomatica/imprimidos
Crear un script Bash¶
nano ~/auto_print.sh
Copia y pega el siguiente contenido (cambia NOMBRE_IMPRESORA por el nombre que asignaste en CUPS):
#!/bin/bash
FOLDER="/home/$USER/ImpresionAutomatica"
PRINTER="NOMBRE_IMPRESORA" # <-- Cambia esto
inotifywait -m -e create --format '%f' "$FOLDER" | while read FILE
do
echo "Imprimiendo: $FILE"
lpr -P "$PRINTER" "$FOLDER/$FILE"
mv "$FOLDER/$FILE" "$FOLDER/imprimidos/$FILE"
done
Guarda (Ctrl+O, Ctrl+X) y haz ejecutable:
chmod +x ~/auto_print.sh
Ejecutar el script al inicio (con crontab)¶
crontab -e
Añade esta línea:
@reboot /home/$USER/auto_print.sh
(O si usas usuario pi, pon la ruta completa: /home/pi/auto_print.sh)
Reinicia el mini PC o ejecuta el script manualmente:
~/auto_print.sh &
Probar la automatización¶
Copia cualquier archivo imprimible (.pdf, .txt, .jpg) a la carpeta ~/ImpresionAutomatica. En unos segundos se imprimirá y se moverá a la subcarpeta imprimidos.
🔧 Solución de problemas comunes¶
| Problema | Posible solución |
|---|---|
| No aparece la impresora en CUPS | Asegúrate de que el cable USB funciona y la impresora está encendida. Ejecuta lsusb para verificar conexión. |
| Error "Permission denied" al imprimir | Agrega tu usuario al grupo lpadmin y reinicia sesión. Reinicia CUPS con sudo systemctl restart cups. |
| La impresora no imprime desde la red | Revisa el firewall (sudo ufw allow 631/tcp) y que la opción "Share This Printer" está activada. |
| El script de auto-impresión no funciona | Asegúrate de que inotifywait está instalado y la ruta de la carpeta es correcta. Ejecuta el script manualmente para ver errores. |
🎯 Conclusión¶
Ya tienes tu impresora USB convertida en una impresora de red accesible desde cualquier dispositivo de tu hogar u oficina. Además, la opción de impresión automática te permite digitalizar flujos de trabajo como imprimir albaranes, tickets o documentos simplemente copiándolos a una carpeta.
¿Necesitas más funciones? Puedes añadir escáner (con sane) o incluso convertir la impresora en una nube de impresión con Google Cloud Print alternativo (PaperCut, etc.).
¡Disfruta de tu nuevo servidor de impresión casero!