CUPS no da soporte, directamente, a los clientes MS Windows; para ello se ha de hacer uso de Samba. La forma de hacerlo, es compartiendo las impresoras gestionadas por CUPS en Samba, como ya se ha visto en los capítulos dedicados a Samba (Parte II).
En esta sección se verá la forma de exportar los controladores de impresión para los equipos MS Windows. Los controladores se almacenan en la instalación de CUPS, y se comparten, vía Samba, con los clientes MS Windows. Para realizar esta labor, se puede hacer uso de la herramienta cupsaddsmb.
cupsaddsmb transfiere los controladores de impresión al recurso Samba [print$]. Recuerde que los clientes esperan tener los controladores almacenados en este recurso, al que accederán en el momento de la instalación para bajarse los controladores de impresión.
cupsaddsmb facilita la compartición de cualquier (o todas) impresora CUPS instalada en el sistema. También puede utilizar los controladores PostScript de Adobe así como los controladores PostScript de CUPS para Windows NT/2000/XP.
Los controladores de impresión de CUPS se pueden obtener desde la sección download de la página de CUPS. El paquete de controladores se denomina cups-samba-[version].tar.gz.
Actualmente, CUPS provee controladores para los clientes Windows NT, 2000 y XP, pero no para los clientes Windows 95, 98 y ME. Estos últimos han de utilizar los drivers que provee Adobe.
Antes de poder exportar los controladores de impresión, estos se han de ubicar en el directorio /usr/share/cups/drivers/. Las siguientes secciones mostrarán como “instalar” los controladores PostScript de CUPS y Adobe en este directorio.
Antes de proceder con la instalación, ha de bajarse los controladores de la página de CUPS[28].
Se supone que el paquete con los controladores se encuentra en el directorio /tmp, por lo que se procederá, en primer lugar, a su desempaquetado:
Ejemplo 15.3. Desempaquetado de los controladores PostScript de CUPS
$ /bin/tar xzvf /tmp/cups-samba-5.0rc3.tar.gz -C /tmp cups-samba.install cups-samba.license cups-samba.readme cups-samba.remove cups-samba.ss |
Como el proceso de instalación de los controladores PostScript de CUPS es muy sencillo, no se va a utilizar el script de instalación, cups-samba.install, que adjuntan.
El archivo cups-samba.ss no es más que un archivo tar[29], cuyo contenido son los controladores en cuestión. Por este motivo se desempaquetará en el directorio /usr/share/cups/drivers/, como se muestra en el siguiente ejemplo:
Ejemplo 15.4. Desempaquetado de los controladores PostScript de CUPS en el directorio /usr/share/cups/drivers/
# /bin/mkdir -v -m 755 /usr/share/cups/drivers/ mkdir: se ha creado el directorio `/usr/share/cups/drivers/' # /bin/tar xvf /tmp/cups-samba.ss -C / /usr/share/cups/drivers/cups5.hlp /bin/tar: Removing leading `/' from member names /usr/share/cups/drivers/cupsdrv5.dll /usr/share/cups/drivers/cupsui5.dll |
A partir de este momento ya se encuentran disponibles los controladores PostScript de CUPS para Windows NT/2000/XP disponibles. Ahora sólo queda exportarlos en Samba, operación que se verá más adelante (Sección 15.5.3, “Exportando los controladores con cupsaddsmb”).
Adobe proporciona controladores PostScript para los sistemas MS Windows 95/98/ME así como para MS Windows NT/2000/XP. Estos se pueden obtener de su página web, http://www.adobe.com/.
Los controladores PostScript de Adobe, actualmente, vienen en un archivo autoinstalable para los sistemas MS Windows, por lo que se tendrá que hacer uso de Wine para obtenerlos.
En primer lugar se ha de bajar el archivo que los contiene, que en este caso se denomina winstspa.exe (se corresponde con la versión española de estos controladores).
Ahora se ha de ejecutar el instalador, para ello se hace uso de wine, como se muestra en el siguiente ejemplo:
Nota | |
---|---|
Se supone que wine ya se encuentra instalado y correctamente configurado. |
Ejemplo 15.5. Ejecución del instalador de controladores PostScript de Adobe con Wine (primera parte)
$ /usr/bin/wine winstspa.exe |
Tras la ejecución del comando del ejemplo anterior, comenzará el proceso de instalación de los controladores PostScript de Adobe en el sistema. Vea las siguientes capturas para más detalles:
Ejemplo 15.6. Ejecución del instalador de controladores PostScript de Adobe con Wine (segunda parte)
En el Ejemplo 15.6, “Ejecución del instalador de controladores PostScript de Adobe con Wine (segunda parte)” se ha mostrado el listado de controladores PostScript que provee Adobe. Antes de copiarlos al directorio /usr/share/cups/drivers se van a renombrar, de forma que queden todos los archivos en mayúsculas. El proceso se muestra a continuación:
Ejemplo 15.7. Convirtiendo a mayúsculas los controladores PostScript de Adobe
En este ejemplo se hace uso del script presente en el Apéndice K, Script para convertir a mayúsculas el archivo pasado como argumento. Se supone que el script está almacenado en el directorio /usr/local/bin.
$ cd ~/.wine/fake_windows/Windows/Temp/pftc3c~tmp $ for x in "Win2000/* Windows/* WinNT/* WinXP/*"; > do > /bin/bash /usr/local/bin/uppercase $x; > done /usr/local/bin/uppercase: Win2000/DEFPRTR2.PPD not changed. /usr/local/bin/uppercase: Win2000/PS5UI.DLL not changed. /usr/local/bin/uppercase: Win2000/PSCRIPT5.DLL not changed. /usr/local/bin/uppercase: Win2000/PSCRIPT.HLP not changed. /usr/local/bin/uppercase: Win2000/PSCRIPT.NTF not changed. /usr/local/bin/uppercase: Win2000/PSCRPTFE.NTF not changed. /usr/local/bin/uppercase: Windows/adfonts.mfm -> Windows/ADFONTS.MFM /usr/local/bin/uppercase: Windows/ADOBEPS4.DRV not changed. /usr/local/bin/uppercase: Windows/ADOBEPS4.HLP not changed. /usr/local/bin/uppercase: Windows/DEFPRTR2.PPD not changed. /usr/local/bin/uppercase: Windows/ICONLIB.DLL not changed. /usr/local/bin/uppercase: Windows/PSMON.DLL not changed. /usr/local/bin/uppercase: WinNT/AdobeJpn.ntf -> WinNT/ADOBEJPN.NTF /usr/local/bin/uppercase: WinNT/AdobeKor.ntf -> WinNT/ADOBEKOR.NTF /usr/local/bin/uppercase: WinNT/AdobePS5.dll -> WinNT/ADOBEPS5.DLL /usr/local/bin/uppercase: WinNT/AdobePS5.ntf -> WinNT/ADOBEPS5.NTF /usr/local/bin/uppercase: WinNT/adobepsu.dll -> WinNT/ADOBEPSU.DLL /usr/local/bin/uppercase: WinNT/ADOBEPSU.HLP not changed. /usr/local/bin/uppercase: WinNT/AdobeZhS.ntf -> WinNT/ADOBEZHS.NTF /usr/local/bin/uppercase: WinNT/AdobeZhT.ntf -> WinNT/ADOBEZHT.NTF /usr/local/bin/uppercase: WinNT/DEFPRTR2.PPD not changed. /usr/local/bin/uppercase: WinXP/DEFPRTR2.PPD not changed. /usr/local/bin/uppercase: WinXP/PS5UI.DLL not changed. /usr/local/bin/uppercase: WinXP/PSCRIPT5.DLL not changed. /usr/local/bin/uppercase: WinXP/PSCRIPT.HLP not changed. /usr/local/bin/uppercase: WinXP/PSCRIPT.NTF not changed. /usr/local/bin/uppercase: WinXP/PSCRPTFE.NTF not changed. |
Ahora sólo queda copiar los controladores necesarios al directorio /usr/share/cups/drivers. El siguiente ejemplo muestra como hacerlo:
Ejemplo 15.8. Copiando los controladores PostScript de Adobe a /usr/share/cups/drivers
Sustituya la variable $HOME, por el directorio home del usuario donde se encuentran los controladores PostScript de Adobe.
El contenido del script mover-controladores se encuentra en el Apéndice L, Script para mover los controladores PostScript de Adobe al directorio /usr/share/cups/drivers.
# cd $HOME/.wine/fake_windows/Windows/Temp/pftc3c~tmp # /bin/bash /usr/local/bin/mover-controladores `PATH/Windows/ADFONTS.MFM' -> `/usr/share/cups/drivers/ADFONTS.MFM' `PATH/Windows/ADOBEPS4.DRV' -> `/usr/share/cups/drivers/ADOBEPS4.DRV' `PATH/Windows/ADOBEPS4.HLP' -> `/usr/share/cups/drivers/ADOBEPS4.HLP' `PATH/WinNT/DEFPRTR2.PPD' -> `/usr/share/cups/drivers/DEFPRTR2.PPD' `PATH/WinXP/DEFPRTR2.PPD' -> `/usr/share/cups/drivers/DEFPRTR2.PPD' `PATH/Win2000/DEFPRTR2.PPD' -> `/usr/share/cups/drivers/DEFPRTR2.PPD' `PATH/Windows/DEFPRTR2.PPD' -> `/usr/share/cups/drivers/DEFPRTR2.PPD' `PATH/Windows/ICONLIB.DLL' -> `/usr/share/cups/drivers/ICONLIB.DLL' `PATH/Windows/PSMON.DLL' -> `/usr/share/cups/drivers/PSMON.DLL' `PATH/WinNT/ADOBEPS5.DLL' -> `/usr/share/cups/drivers/ADOBEPS5.DLL' `PATH/WinNT/ADOBEPSU.DLL' -> `/usr/share/cups/drivers/ADOBEPSU.DLL' `PATH/WinNT/ADOBEPSU.HLP' -> `/usr/share/cups/drivers/ADOBEPSU.HLP' el modo de `/usr/share/cups/drivers/ADFONTS.MFM' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ADOBEPS4.DRV' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ADOBEPS4.HLP' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ADOBEPS5.DLL' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ADOBEPSU.DLL' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ADOBEPSU.HLP' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/cups5.hlp' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/cupsdrv5.dll' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/cupsui5.dll' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/DEFPRTR2.PPD' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/ICONLIB.DLL' cambia a 0644 (rw-r--r--) el modo de `/usr/share/cups/drivers/PSMON.DLL' cambia a 0644 (rw-r--r--) |
Una vez copiados los controladores de impresión PostScript, tanto de Adobe como de CUPS al directorio /usr/share/cups/drivers/, se han de exportar en Samba; para ello se hará uso de la herramienta cupsaddsmb.
A parte de exportar los controladores de Adobe y CUPS, también se exportarán los controladores de las impresoras que se han añadido en la Sección 15.4, “Creación de la estructura de impresión”.
Nota | |
---|---|
Actualmente en el directorio /usr/share/cups/drivers/ se encuentran los controladores PostScript, para MS Windows NT/2000/XP, tanto de CUPS como de Adobe. Al exportar dichos controladores con la herramienta cupsaddsmb, esta priorizará la instalación de los controladores creados por el proyecto CUPS, sobre los creados por Adobe. Esto significa que exportará los controladores del proyecto CUPS para los sistemas operativos MS Windows NT/2000/XP, en lugar de los controladores que provee Adobe; y los controladores de Adobe para los sistemas operativos MS Windows 95/98/ME. |
El siguiente ejemplo mostrará como realizar esta operación:
Ejemplo 15.9. Exportando los controladores de impresión con cupsaddsmb
La opción -a le dice al comando cupsaddsmb que añada todas las impresoras presentes en el sistema.
Nota | |
---|---|
En el Apéndice M, Salida de la ejecución del comando /usr/sbin/cupsaddsmb -v -U root -a se muestra la ejecución del comando cupsaddsmb con la opción -v (modo verbose). |
Una vez finalizada la exportación de los controladores de impresión, ya se tendría el sistema preparado para que los clientes MS Windows hagan uso de las impresoras administradas por CUPS.