- Estréllate y Arde - https://www.estrellateyarde.org -
Imprimir en Linux
Veamos cómo imprimir en Linux:
- Cómo imprimir en Linux
- En qué consiste el sistema de impresión CUPS
- Instalar una impresora local con CUPS
- Compartir nuestra impresora
- Imprimir desde Linux en una impresora Windows
En Linux podemos imprimir de tres maneras:
$ cat tesis.txt > /dev/lp0
Puerto paralelo
En Linux el primer puerto paralelo (LPT1) se denomina /dev/lp0.
En el entorno gráfico, las aplicaciones que pueden imprimir son compatibles tanto con lpr/lpd como con CUPS: utilizarán el sistema que esté instalado, trabajarán sobre él y obtendrán automáticamente las propiedades de la impresora. Algunas aplicaciones (GNOME, KDE, Xfce y OpenOffice) traen Administradores de impresión compatibles con los diferentes sistemas de impresión que nos permiten gestionar las impresoras y los trabajos de impresión, como KJobViewer (paquete kdeprint).
Y muchas aplicaciones (OpenOffice, KDE...) incorporan dispositivos virtuales que permiten imprimir un documento como PDF, generar emails o faxes, etc.
Recursos
El sistema de impresión CUPS reemplaza al sistema de impresión lpr/lpd y consiste en lo siguiente:
$ lpr <archivo>
Si la impresora entiende el lenguaje PostScript puede imprimir el documento directamente. Sólo tenemos que decirle a CUPS cuáles son las características de la impresora, y eso lo hace el archivo PPD (Postscript Printer Description): contiene todas las características de la impresora, como tamaños de papel, colores, resoluciones disponibles, etc.
Si la impresora no entiende PostScript debemos traducir los documentos que generan las aplicaciones (PostScript) a un lenguaje que entienda la impresora, por lo que necesitamos un filtro. De esto se encarga Foomatic (paquete foomatic-db-engine): proporciona el archivo PPD y los filtros necesarios para traducir los documentos (trabaja sobre GhostScript).
En ambos casos, el archivo PPD de la impresora se puede descargar desde LinuxPrinting (linuxprinting.org) o desde la web de CUPS (cups.org) y se debe guardar en el directorio /usr/share/cups/model.
Veamos cómo instalar una impresora local con CUPS utilizando su interfaz web:
# /etc/init.d/cupsys restart
Tenemos dos posibilidades para compartir nuestra impresora:
Los equipos que dispongan de un cliente IPP (Linux, Unix, Mac y Windows XP) podrán conectar con el demonio de impresión cupsd de nuestra máquina mediante el protocolo IPP (Internet Printing Protocol, puerto 631 TCP), e imprimir en nuestra impresora, una vez que les permitamos acceder. Para ello, en el archivo de configuración de CUPS, /etc/cups/cupsd.conf especificaremos qué máquinas tienen acceso a CUPS. Buscaremos las líneas:
<Location /> Order Deny,Allow Deny All Allow 127.0.0.1 </Location>
Vemos que por defecto sólo puede acceder a CUPS la propia máquina (127.0.0.1). Para que puedan acceder las máquinas de la LAN añadiremos la línea:
Allow 192.168.0.0/255.255.255.0
Para terminar reiniciamos el demonio de CUPS:
# /etc/init.d/cupsys restart
Una vez compartida la impresora, es muy sencillo imprimir desde Linux:
También es muy sencillo imprimir desde Windows XP:
Los equipos que dispongan de un cliente SMB (Windows) podrán conectar con el servidor Samba (paquete samba) de nuestra máquina mediante el protocolo SMB (puerto 139 TCP), y éste se encargará de pasarle la petición a CUPS.
Vamos a configurar el servidor Samba para compartir nuestra impresora. Primero crearemos en nuestro sistema un usuario específico (smbprint) para que acceda a la impresora mediante Samba. Si queremos permitir acceso anónimo lo podemos crear sin contraseña:
# /usr/sbin/adduser --system --disabled-password smbprint
Para compartir nuestra impresora CUPS y que sólo el usuario smbprint tenga acceso a ella, como invitado (por lo que todas las máquinas de la red local y con conexión directa desde Internet podrán imprimir), editaremos el archivo /etc/samba/smb.conf poniendo:
[printers] browseable = yes printable = yes public = yes guest only = yes guest account = smbprint path = /home/smbprint
Además tenemos que decirle a Samba que el sistema de impresión es CUPS, no lpr/lpd, por lo que cambiaremos /etc/samba/smb.conf para que quede:
[global] printcap name = cups printing = cups
Grabamos los cambios y reiniciamos Samba:
# /etc/init.d/samba restart
Una vez compartida la impresora, es muy sencillo imprimir desde Windows:
Para conectar desde Linux con un equipo remoto Windows que tiene una impresora compartida usaremos el cliente Samba (paquete smbclient), mediante el protocolo SMB, puerto 139 TCP. CUPS utiliza como back-end el programa smbspool de Samba.
Primero nos aseguraremos de que podemos acceder a la máquina Windows:
# smbclient -L 192.168.0.2 -U usuario
Una vez comprobado que la impresora remota es accesible, es muy sencillo imprimir:
Article printed from Estréllate y Arde: https://www.estrellateyarde.org
URL to article: https://www.estrellateyarde.org/so/imprimir-en-linux
Click here to print.
Copyright © 2010 Estrellate y Arde