Compartiendo una impresora de GNU/Linux con máquinas Windows

Para utilizar los servicios de impresión de Samba, hay que comprobar primeramente que la impresora está instalada y funcionando. Esto se puede verificar desde YaST -> Hardware -> Impresora.

Importante

Todo lo explicado en este apartado es válido a partir de la versión 2.2 de Samba (que utiliza el sistema de impresión CUPS, Common UNIX Printing System), puesto que en anteriores versiones, se empleaba otro mecanismo de impresión.

La configuración del servicio de impresión se realiza en el fichero /etc/samba/smb.conf en la sección [printers]. El nombre de sección debe ser printers y no otro cualquiera. El contenido de esta sección será el siguiente:

[printers]
comment = Impresora GNU/Linux
path = /tmp
printable = Yes
public = yes
guest ok = yes
writable = no
create mode = 0755
browseable = no
client driver = yes
printer admin = root, @ntadmins

Asimismo, en la sección [global] de este mismo fichero, se deben añadir las siguientes líneas:

load printers = yes
printing = CUPS
printcap = CUPS
printcap name = CUPS

Importante

Por defecto, los drivers de impresión que se instalan sobre Windows suponen modo RAW, lo cuál implica que deben renderizar los trabajos de impresión y dejarlos listos para ser enviados al dispositivo de impresión.

Es posible configurar CUPS para que acepte trabajos de impresión en modo RAW, siendo responsabilidad del cliente Samba (es decir, la máquina Windows) la renderización del trabajo de impresión. Dicha configuración se realiza del siguiente modo:

  1. Editar el archivo /etc/cups/mime.types y descomentar la línea #application-octet...

  2. Editar el archivo /etc/cups/mime.convs y descomentar la línea #application-octet...

  3. Añadir una impresora RAW utilizando un interface Web. Abrir mozilla y teclear la URL, http://localhost:631. Pinchar sobre el botón Administration y luego sobre el botón Add Printer. Sobre la pantalla Add new printer, teclear raw por ejemplo (en realidad, este será el nombre de la cola) sobre el campo Name y localhost sobre el campo Location. Teclear, si se desea, una descripción para la cola.

    En la pantalla Device for raw seleccionar del combo la impresora detectada por YaST. En la pantalla Model/driver for raw seleccionar Raw y en la siguiente pantalla, seleccionar Raw queue. Siguiendo estos pasos se habrá creado una cola de impresión llamada raw en el fichero /etc/printcap.

  4. Lo siguiente será instalar el driver de impresión sobre la máquina Windows. Seleccionar Inicio -> Configuración -> Impresoras -> Agregar Impresora... Posteriormente, seleccionar Impresora Local. En la selección del puerto de impresora, seleccionar Crear nuevo puerto -> Local Port y después teclear el nombre de la cola de impresión creada en la máquina GNU/Linux en el punto anterior en la forma \\<host>\<cola>. Posteriormente se pedirá la selección del modelo de impresora concreto conectado a la máquina GNU/Linux para proceder a la instalación de su correspondiente driver en la máquina Windows.

Ejemplo:

El nombre de la cola de impresión en el caso actual sería \\SuSELinux\raw, suponiendo que la máquina GNU/Linux corriendo sobre Samba (y con la impresora conectada) se llama SuSELinux y también suponiendo que la cola se haya denominado raw.