Montando un Servidor FreeNX en CentOS - FreeNX-III - Impresión desde el Cliente de FreeNX.
1. Montando un Servidor FreeNX en CentOS FreeNX - Rev.02
Montando un Servidor FreeNX en CentOS
FreeNX (III) - Impresión desde el Cliente de FreeNX.
Impresión desde el Cliente FreeNX.
Hasta aquí todo ha sido muy bonito, pero llega el momento de imprimir, cómo
imprimimos ahora desde nuestra sesión de FreeNX.
Bueno, pues no hemos dado pocas vueltas hasta encontrar la solución
rebuscando por ahí, porque, la verdad sea dicha, mucha información al
respecto tampoco hay. Por aquí hemos encontrado alguna y la hemos
adaptado a nuestras necesidades:
http://tldp.org/HOWTO/Debian-and-Windows-Shared-Printing
Imaginemos que tenemos un PC en Windows XP con una impresora conectada
a él y queremos utilizarla para imprimir desde nuestra sesión de FreeNX:
Pues tendremos que hacer configuraciones en el Servidor FreeNX, al igual que
si usásemos Terminal Server también las tendríamos que haber realizado en
él.
Como los protocolos que usa Windows son SMB y CIFS para la compartición
de recursos, nosotros usaremos Samba para comunicar nuestro Servidor
FreeNX con los equipos Windows que comparten los recursos / impresoras, a
parte de configurar CUPS como Gestor de Impresión en Linux.
En primer lugar tendremos que asegurarnos de que, se tiene libre acceso al
puerto 139 y 445 al PC y Servidor, y que tanto CUPS como el Cliente Samba
están instalados en nuestro servidor.
Para el tema de los puertos, si estamos en una red externa al Servidor FreeNX,
tendremos que direccionar los siguientes puertos al PC-Windows que tiene la
impresora compartida conectada para que el Servidor FreeNX pueda encontrar
los recursos:
Realizado por: Ramses 28/10/2012
2. Montando un Servidor FreeNX en CentOS FreeNX - Rev.02
netbios-ssn (puerto TCP 139)
microsoft-ds (puerto TCP 445)
Evidentemente, en el Servidor FreeNX intentaremos acceder a la IP Pública del
router de la red donde se encuentra dicho PC, a no ser que estemos dentro de
una VPN.
Para la instalación de esos paquetes, realizamos lo siguiente:
# yum -y install cups samba-client
También debemos de asegurarnos de que tenemos compartida en el PC
Windows la impresora que deseamos utilizar para imprimir desde la sesión
FreeNX. En nuestro caso tenemos una HP Color LaserJet y la hemos
compartido con el nombre de recurso “HPLaserJet” en Windows.
Como hemos comentado, CUPS es el Gestor de Impresión usado en Linux, y
antes de configurarlo, nos aseguraremos de que podemos conectar a los PC's
Windows con "smbclient", el Cliente Samba SMB/CIFS.
Ejecutamos lo siguiente para realizar una conexión a nuestro PC Windows que
comparte la impresora. Dependiendo de si usamos Servidor de Nombres o no
para nuestra red interna, usaremos un comando u otro:
# /usr/bin/smbclient -L PC-Windows -U administrador
ó
# /usr/bin/smbclient -L 192.168.0.1 -U administrador
Con esto nos monstrará todos los recursos compartidos que existen en el PC
llamado "PC-Windows" o con la IP "192.168.0.1", usando el usuario
"administrador". En el caso de que tenga clave, nos la pedirá y tras
introducirla nos mostrará algo similar a lo siguiente:
[root@server /]# /usr/bin/smbclient -L 192.168.0.1 -U administrador
Password: ******************
Domain=[SERVIDOR] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Sharename Type Comment
--------- ---- -------
HPLaserJet Printer HP Color LaserJet
_BORRAR Disk
IPC$ IPC IPC remota
print$ Disk Controladores de impresora
EpsonStylus Printer Epson Stylus COLOR 860 ESC/P 2
C$ Disk Recurso predeterminado
Realizado por: Ramses 28/10/2012
3. Montando un Servidor FreeNX en CentOS FreeNX - Rev.02
session request to 192.168.0.1 failed (Called name not present)
session request to 192 failed (Called name not present)
Domain=[SERVIDOR] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
Server Comment
--------- -------
Workgroup Master
--------- -------
[root@server /]#
Como vemos, entre otros recursos, nos muestra varias impresoras compartidas
en el PC, en nuestro caso usaremos la "HPLaserJet".
Bueno, pues en este momento, que ya hemos comprobado que podemos
acceder a nuestro recurso compartido en Windows desde Linux, vamos a
configurar CUPS. Para ello, realizamos lo siguiente:
En primer lugar descargamos el driver Linux ".ppd" de la impresora HP Color
LaserJet, en nuestro caso, al directorio "/etc/cups/ppd", guardándolo, por
ejemplo, con el nombre “Imp-HP.ppd”, desde la página que se comenta a
continuación:
http://www.openprinting.org/driver_list.cgi
Una vez bajado el fichero con el nombre que hemos comentado, realizamos la
comprobación de que la instalación de CUPS tiene el backend de SMB con el
siguiente comando:
# ls -l /usr/lib/cups/backend/smb
Y nos debe salir algo así:
lrwxrwxrwx 1 root root 21 nov 5 21:10 /usr/lib/cups/backend/smb -> ../../../bin/smbspool
Si este fichero no existiera, se deberá crear ejecutando lo siguiente:
# ln -s `which smbspool` /usr/lib/cups/backend/smb
Una vez asegurada la existencia del fichero, seguimos con la configuración de
la impresora:
Agregamos la impresora al sistema:
Realizado por: Ramses 28/10/2012
4. Montando un Servidor FreeNX en CentOS FreeNX - Rev.02
# /usr/sbin/lpadmin -p Imp-HP -v
smb://administrador:password@192.168.0.1/HPLaserJet -P /etc/cups/ppd/Imp-
HP.ppd
Donde tendremos lo siguiente:
-p -- Nombre de la Impresora en Linux
-v -- Dispositivo ó ruta del recurso compartido
-P -- Archivo .ppd que usará la impresora
Iniciamos la impresora:
# /usr/sbin/cupsenable Imp-HP
Habilitamos la Cola de Impresión:
# /usr/sbin/accept Imp-HP
Marcamos la impresora como predeterminada:
# /usr/sbin/lpadmin -d Imp-HP
En este momento tenemos lista la impresora en nuestro servidor y disponible
para los clientes.
Si a continuación nos vamos a nuestra sesión FreeNX remota y creamos un
archivo para imprimirlo:
A la hora de imprimirlo ya nos aparecerá la impresora que acabamos de crear:
Realizado por: Ramses 28/10/2012
5. Montando un Servidor FreeNX en CentOS FreeNX - Rev.02
Y aquí termina nuestra odisea de sustituir Terminal Server por FreeNX y
podemos comenzar a pensar en qué vamos a invertir lo que nos hemos
ahorrado.
Realizado por: Ramses 28/10/2012