|
||||||||||||||||||||||||||||||||
Enlaces Esta en: documentos
|
![]() DirectorioInstalando controladores en [print$]Ha creado correctamente el servicio [print$] en smb.conf y ha hecho que Samba relea su fichero smb.conf. Bien, pues aun no está listo pra utilizar esta nueva característica. Hay que instalar los ficheros necesario en el servicio, por ahora es un servicio vacío. Por desgracia no basta con copiar los ficheros del controlador, tienen que estar correctamente instalados para que en Samba haya registos en su base de datos y pueda devolver los controladores adecuados a cada cliente MS Windows, y esto es un pequeño truco. Ahora analizamos dos altrnativas para instalar los controladores en [print$]:
Instalación de controladores con el asistente para añadir impresorasEl listado inicial de impresores que se ve en la ventana del explorer en la carpeta de impresoras del host Samba no tiene controladores reales asignados. El valor predeterminado del nombre del controlador es una cadena de caracteres nula y esto tenemos que cambiarlo ahora utilzando el asistente para añadir impresoras de un cliente NT/2000/XP. La instalación de un controlador de impresión valido no es directa. Tiene que intentar ver las propiedades de la impresora a las que quiere asignar el controlador. Abra el Explorer de Windows, Entorno de Red, el host Samba. Abra la carpeta de impresoras y con el botón derecho en el icono de la impresora seleccione las propiedades. Ahora está intentando ver las propiedades del controlador de un cola que tiene como driver asignado NULL. Esto produce el siguiente mensaje de error: Device settings cannot be displayed. The driver for the specified printer is not installed, only spooler properties will be displayed. Do you want to install the driver now? No pulse en Aceptar, en su lugar pulse en No el el diálogo de errores. Sólo ahora se le presenta la ventana de propiedades. Desde aquí la forma de asignar el controlador a una impresora es:
Suponiendo que ha iniciado la sesión con una cuenta administrativa o root (según se indica en el parámetro printer admin), también podrá modifica,r usando este diálogo, las propiedadesde otras impresoras como ACLs y valores predefinidos. Para los valores predefinidos del dispositivo tenga en cuenta el aviso de inst-rpc.
Instalar controladroes de dispositivos usando rpcclientLa segunda forma de instalar controladores de impresoras en [print$] y activarlas de foma correcta es hacerlo desde las línea de órdenes de una shell. Esto incluye cuatro pasos distintos:
Identificar los ficheros del controladorPara encontrarlo lo necesario sobre los ficheros de los controladores tiene dos opciones. Puede comprobar los contenidos del CDROM de los contoladores que venia con la impresora. Estudie los ficheros *.inf del CDROM. Puede que esto no sea posible si no los trae. Muchos fabricantes han comenzado a distribuir sus propios programas de instalación. Estas paquetes instalables con fecuencia son archivos comprimidos y puede que también se les cambie el nombre durante la instalación. Esto hace bastante difícil determinar los ficheros necesarios. Entonces tiene una segunda opción, instalar los controladores localmente en un cliente Windows e investigar qué ficheros y qué rutas usa tras la instalación. Tiene que repetir este procedimiento para cada plataforma cliente. Aquí lo mostramos sólo para plataformas W32X86, como Microsoft denomina Windows NT/200x/XP). Un buen sistema para reconocer los fichros del controlador es imprimir una página de prueba en el diálogo de propiedades de la impresora. Mire la lista de ficheros del controlador en el papel.Tendrá que identificar lo que Windows (y Samba) llaman Driver File, Data File, Config File, Help File y (optconalmente) los Dependent Driver Files (esto puede ser distinto en Windows NT). Tiene que anotar de todos los nombes de los ficheros para el siguiente paso. Otro método pra verificar rápidamente los ficheros del controlador y sus ubicaciones la proporciona la utilidad rpcclient. Ejecute esta orden con enumdrivers o con getdrivercada una con el valor 3 3 de info level. En el siguiente ejmplo, TURBO_XP es el nombre de un PC Windows(en este caso un portátil con Windows XP Profesional). He instalado los controladores localmente en TURBO_XP, de un servidor Samba llamadoKDE-BITSHOP. Podemos ejecutar una sesión interactiva de rpcclient; entonces tendríamos el indicador de rpcclient /> para poder introducir directamente las subórdenes. Este es un buen ejercicio para el lector. Por ahora usamos rpcclient con el parámetro -c para ejecutar sólo una línea de suborden y salir. Este es el modo que tendría que usar para crear scripts que automatizaran el proceso para un gran número de impresoras y controladores. Observe las distintas comillas para los espacios entre palabras.
Se habrá dado cuenta que este controlador tiene un buen número de ficheros, pero hay casos peores.También, de forma extraña, Driver File aparece como Driver Path. No tenemos soporte para la arquitectura WIN40. Este es el mnombe qie usa Microsoft para Windows 9x/Me. Si necesitamos este soporte tenemos que instalar los controladores de Windows 9x/Me además de los de W32X86 (i.e., clientes Windows NT72000/XP) en un PC Windows. Este PC también puede albergar los controladores Windows 9x/Me drivers, incluso si ejecuta Windows NT, 2000 o XP. Como al servicio [print$] normalmente se accede a través del entorno de red, también puede usar la notación UNC en Windows Explorer para ponerlo. Los ficheros de los controladores 9x/Me terminan en un subdirectorio 0 del directorio WIN40. La ruta completa para acceder será \\WINDOWSHOST\print$\WIN40\0\.
ObservaciónLos coontroladores más recientes en Windows 2000 y Windows XP se instalan en el subdirectorio 3 en lugar de hacerlo en el subdirectorio 2. La versión 2 de los controladores, como es en NT, se ejecutan en modo kernel, Windows 2000 cambió esto. Aunque es posible ejecutar los controladores en modo Kerne (si lo habilita el administrador), su modo normal para los controlados de impresión es de ejecución en modo usuario. Este tipo de controladores se instala en el subdirectorio 3.
Obtener los ficheros del controlador de [print$] en clientes Windows Client [print$]Ahora necesitamos reunir todos los ficheros del controlador que identificamos en el paso previo. ¿De dónde los sacamos? Bien, ¿por qué no recogerlos del mismo servicio [print$] del PC que usamos en el paso anterior para averiguar cuales eran? Podemos usar smbclient para hacerlo. Tenemos que usarlas rutas y los nombres que averiguamos con getdriver. El listado está editado para incluir saltos de linea, por cuestiones de legibilidad.
Una vez completada esta orden, los ficheros están en nuestro directorio activo local. Probablemente habrá observado que esta vez hemos pasado varias órdenes al parámetro -c parameter, separadas por pnto y coma. Esto hace que las órdenes se ejecuten en secuencia en el servidor Windows remoto antes de que smbclient termine. Recuerde repetir el proceso para la arquitectura WIN40 si necesita soporte para clientes Windows 9x/Me/XP clients. Recuerde también, los ficheros para esta arquitectura están el el subdirectorio WIN40/0/. Una vez completado podemos ejecutar smbclient ... put para guardar los ficheros en el servcio [print$] del servidor Samba.
Instalar los controladores en [print$]Ahora vamos a situar los ficheros de los controladores en el servicio [print$]. Recuerde, las rutas UNIX de este recurso se definieron con anterioridad. También deb haber creado los subdirectorios para los diferentes tipso de clientes que quiera instalar. Suponiendo que el servicio [print$] se asocia a la ruta UNIX /etc/Samba/drivers/, los ficheros de controladores irían aquí:
Muchas línea de salida. La mayoría de los controladores son bastante más pequeños, muchos sólo tienen tres ficheros de controladores genéricos PostScript mas un PPD. Cuando recogimos los ficheros del subdirectorio 2 del directorio W32X86 de la máquina Windows no los hemos puesto en el mismo directorio de la máquina Samba (por ahora). Esta reubicación la hace automáticamente la orden adddriver, que se va a ejecutar a continuación (y no olvide poner también los ficheros para Windows 9x/Me en el subdirectorio WIN40/).
smbclientConfirmar la instalación de controladoresPor ahora comprobamos que nuestros ficheros está ahí. Esto se puede hacer también con smbclient (o una conexión mediante ssh a una shell).
Observe que ya hay ficheros de controladores presentes en el subdirectorio 2 (probablemnente de una instalación previa). Una vez que los ficheros del nuevo controlador ya estén allí también, todavía está a unos pocos pasos de que sus clientes puedan utilizarlos. Lo único que que podría hacer ahora es bajarlos con un cliente como un fichero cualquiera, abriendo print$ en Windows con Explorer. Pero eso no los instararía bajo demanda. La razón es que aun Samba no sabe que esos ficheros son algo especial en concreto ficheros de controladores de imresión y no sabe a que cola pertenece este controlador.
Ejecutando rpcclient con adddriverAhora tiene que decirle a Samba que categoría especial de ficheros está subiendo al servicio [print$]. La orden adddriver hace esto. Pedirá a Samba que registre el contolador en sus ficheros internos de base de datos TDB. La siguiente orden y su salida se ha modificado por motivos de legibilidad.
Tras este paso Samba debería reconocer al controlador en el servidor de impresión. Tiene que tener mucho cuidado cuando teclee la orden. No cambie el orden de los campos. Algunos cambios popdrían llevar a un mensaje de error NT_STATUS_UNSUCCESSFUL. Esto es obvio. Otros cambios podrían instalar correctamente los controladores y no funcionar con el dispositivo. Po r tanto, tenga cuidado. Los detalles de la sintaxis de adddriver están en la página de manual. El capítulo de impresión con CUPS tiene más detalles que podrían ser útiles e incluso necesarios.
Comprobar adddriverEl mensaje de successfully installed es el indicador de que Samba ha reconocido los ficheros del controlador. Otro mensaje indica el hecho de que nuestros ficheros ha sido movidos por adddriver command al subdirectorio 2. Puede comprobarlo de nuevo con smbclient:
Otra verificación es que la fecha de los ficheros TDB de impresión se ha actualizado (y posiblemente se hayan incrementado sus tamaños).
Comprobar que Samba reconoce los controladoresAhora el controlador tiene que registrarse con Samba. Podemos fácilmente verificarlo y lo hará en un momento. Sin embargo, este controlador todavía no está asociado a una impresora particular. Podemos comprobar el estado de los ficheros del controlador al menos de tres formas:
Flexibilidad del nombre del controlador específicoPuede asignar el nombre que quiera al controlador. Si repite el paso adddriver con los mismos ficheros que antes pero con un un nombre de controlador direferente, todo funcionará igual:
Podrá asociar ese driver a cualquier cola de impresora, pero es su responsabilidad que los driver asociados a la cola de impresión funcionen con la correspondiente impresora. No puede ejecutar You cannot run the rpcclientadddriver repetidamente. Cada ejecución elimina los ficheros que había puesto en el servicio [print$] moviéndolos a los respectivos subdirectorios. Por tanto tendrá que ejecutar smbclient ... put antes de cada rpcclient ... adddriver.
Ejecutando rpcclient con setdriverSamba necesita saber qué driver posee cada impresora, crear una asociación entre controladores e impresoras y almacenarla en los ficheros TDB. La orden rpcclient setdriver hace exactamente esto:
Ah, no, no quiero hacerlo. Repito, esta vez con el nombre que pretendía:
La sintaxis de la orden es :
Ahora hemos hecho la mayor parte del trabajo, pero no todo.
ObservaciónLa orden setdriver sólo funciona si Samba ya conoce la impresora. Un bug en 2.2.x impedia a Samba reconocer las impresoras recién instaladas. Tiene que reiniciar Samba, o al menos enviar la señañ HUP a todos los procesos smbd en ejecución por ejemplo con: kill -HUP `pidof smbd`.
Página Principal |
Visita nuestro proveedor:
Publicidad: |