Ejecución de aplicaciones de MS windows en linux por la red

Ofimatica, juegos, etc

Moderador: frank

Responder
luisduran
Mensajes: 5
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: Vedado, Ciudad Habana

Ejecución de aplicaciones de MS windows en linux por la red

Mensaje por luisduran » Mar, 31 Jul 2012, 11:30

Esto debería ir en la Wiki pero no he podido entrar ahí. No sé por que me ha sido difícil.
Normalmente lo que un usuario novato espera en linux es poder ajecutar alguna aplicación MS Windows. Para eso se habla primeramente de Wine y si no le resulta entonces se entera que puede usar VirtualBox u OpenVZ. Cada alternativa tiene sus pros y contras. Aquí les traigo una solución usando la red.

Presuponemos:

1- Una red configurada de al menos dos máquinas o muchas más.
2- Una máquina windows que sirve de servidor de aplicaciones en la cual estarán las aplicaciones que el usuario de linux quisiera correr. pude ser Win XP.
3- Una o varias máquinas linux que actuarán como clientes del servidor de aplicaciones de la máquina windows.


::::::::::::: EN WINDOWS :::::::::::::


En el caso de Windows XP hay que hacerle unos arreglos para que funcione como un server.

Vamos a asumir que la IP de este Windows es 192.168.20.1

Instalar en Windows dos programas:

Termiserv_XPSP2-SP3_i386_2.1.exe (se obtiene de Internet)
Seamlessrdp (se obtiene de Internet)

Hay que instalarle el patch Termiserv_XPSP2-SP3_i386_2.1.exe para activarle el servicio de Terminal Server y pueda manejar más de un usuario a la vez. Esto se hace porque WinXP aunque XP puede tener logueados varios usuarios a la vez usando el cambio de usuario, no puede trabajar con todos las sesiones abiertas a la vez. Solo se ocupa de un usuario y para que otro usuario pueda trabajar en su sesión abierta tiene que hacer nuevamente otro cambio de usuario. Con este patch se elimina esta limitación monousuario y el sistema pasa a ser un server multiusuario atendiendo peticiones de varios usuarios a la vez.

Hay que instalarle Seamlessrdp para lograr una presentación sin costuras en el escritorio linux cuando la aplicación windows se muestra desde la red. PAra esto se copia el la Raíz C: el archivo seamlessrdp.zip bajado de internet y se descomprime ahí mismo quedando así:

C:\seamlessrdp\seamlessrdpshell.exe

En dicho Windows, Se instalan las aplicaciones que se van a compartir por la red. En este caso vamos a ejecutar como ejemplo el Internet Explorer.

Se crean usuarios en windows por cada usuario linux que haya en cada maquina linux. ej.

si pepe es un usuario linux en una maquina linux con contraseña "guagua" entonces hay que crear el usuario pepe, con contraseña "camion" en el WINXP y añadirlo al grupo de usuarios de acceso remoto, es más simple si coinciden las contraseñas pero menos seguro. y así se procede con todos los demás usuarios linux que quieran ejecutar aplicaciones windows.

Se abre el block de notas en Windows y se pone

C:
cd \windows
freecell.exe
logoff

y se guarda en la raiz C: con el nombre iexp.txt
El nombre puede ser cualquiera pero luego se le debe cambiar la extensión por .bat de tal modo que quede iexp.bat y debemos asegurarnos saber donde lo pusimos. Para que sea más fácil lo ponemos en la raíz C: como ya dijimos antes.

C:\cb.bat


::::::::::::: EN LINUX ::::::::::::::


Se crea un lanzador con un ícono en el escritorio Gnome o KDE que apunte hacia la aplicacion en el "servidor" WINXP:
para esto se crea el lanzador y en el campo comando ponemos:

rdesktop -A -s "C:\seamlessrdp\seamlessrdpshell.exe C:\iexp.bat" 192.168.20.1 -u pepe -p camion

Y de esta manera ya se ejecuta Internet Explorer en el escritorio Linux aparentando ser local pero en realidad es en el WINXP donde se está ejecutando.

Por supuesto que esto no es suficiente si queremos ejecutar aplicaciones que tengan que leer y guardar datos. No queremos que dichos datos se guarden en el "server" WIN XP pues, todos los usuarios guardarían allí y eso no es lo que se quiere. Lo apropiado es que cada usuario linux guarde sus datos de manera local. Entonces en cada máquina linux hay que compartir una carpeta con SAMBA y redireccionar la carpeta Mis Documentos del usuario Windows hacia dicha carpeta compartida en la red.
Instalamos Samba:

apt-get install samba

ya en linux existe el usuario pepe pero debemos crear el usuario pepe para SAMBA desde la consola

sudo smbpasswd -a pepe

y le ponemos la contraseña camion que es la contraseña que tiene pepe en el WIN XP



luego abrimos una consola y ponemos

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
(esto se hace para guadar una copia del archivo smb.conf )

sudo nano /etc/samba/smbconf

ahí borramos todo lo que hay con CTRL+K e introducimos:

#.................................................

[Global]

workgroup = cualquiera
security = user
domain master = no
preferred master = no
domain logons = no
local master = no


[homes]
path = /home/%U
writeable = yes
browseable = no
available = yes
public = no
create mask = 0775

#.................................................

De esta manera hemos compartido la carpeta home del usuario que se loguee.

:::::DE NUEVO EN WINXP::::::

Entonces nos sentamos nuevamente en el "Servidor" WIN XP hay que entrar como el usuario pepe y dar click derecho en Mis Documentos y en Propiedades donde dice algo así como "C:\Documents and settings\pepe" borrarlo y poner \\192.168.20.2\pepe y dar click en ACEPTAR. Si te pregunta que si queres mover todo el contenido de la carpeta Mis Documentos hacia la nueva locación puedes responder que sí.
Una vez hecho esto tenemos que salir de sesión. Esto hay que aclararlo bien. en el "Servidor" WinXP no debe haber ningun usuario logueado localmente. Solo debe haber usuarios logueados por la red como usuarios remotos. Si el usuario pepe estuviera logueado no sería posible que ejecutara por la red Internet Explorer, en este caso, Ya que en Windows cada usuario puede estar logueado solo una vez y si lo está local no puede entrar de manera remota a la vez. Así que si no les funciona el truco, vayan al WIN XP y dslogueen el usuario. Esto es un error que siempre nos para la primera vez.

:::::::DE NUEVO EN EL LINUX::::::::


Ahora tratamos de dar doble click sobre el icono que creamos y cuando se nos abra internet explorer y visitemos una página y querramos guardarla, escogemos GUARDAR COMO y buscamos la carpeta MIS DOCUMENTOS y guardamos la página ahí , que no es más que nuestra carpeta local de linux de la máquina linux en que estamos sentados ahora.

Si tienen alguna duda escríbanme a luis@inor.sld.cu

Saludos

Avatar de Usuario
elMor3no
Mensajes: 436
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: Frente a mi PC
Contactar:

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por elMor3no » Vie, 03 Ago 2012, 01:41

Este tip esta muy bueno..... de hecho es una muy buena solución para migrar departamentos como economía y demás departamento que antes era muy difícil de migrar por aplicaciones propietarias.....

Pasando todas las aplicaciones a entorno servidor [Windwos :( claro esta] podemos tener a todos nuestros user en linux haciendo uso de terminales remotas.......

Me voy a testar esto.....

:mrgreen:

Avatar de Usuario
llamaret
Mensajes: 828
Registrado: Vie, 17 Dic 2010, 14:00
Ubicación: 127.0.0.1
Contactar:

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por llamaret » Vie, 03 Ago 2012, 14:03

Si lo testeas y todo kk, lo colocamos en la wiki...
if (la_mayoria_de_las_ranas_tienen_pelo == true)
{
msg (”Windows es bueno”)
}

Avatar de Usuario
elMor3no
Mensajes: 436
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: Frente a mi PC
Contactar:

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por elMor3no » Dom, 05 Ago 2012, 11:38

Tratare de testearlo esta semana.....

Avatar de Usuario
haylem
Mensajes: 18
Registrado: Mar, 17 Jul 2012, 16:26
Ubicación: INOR
Contactar:

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por haylem » Mié, 05 Sep 2012, 20:20

Eso est'a buen'isimo Luis, ah creo que lo de la wiki es con hugo en
Hugo Florentino Ferreira (hugo @ cips.cu) según me dijeron
Si dominas los bits, dominas el mundo.

luisduran
Mensajes: 5
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: Vedado, Ciudad Habana

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por luisduran » Lun, 17 Sep 2012, 00:17

Esto puede mejorarse mucho si se usa un servidor Win2003 Server. Funciona mucho mejor y es más estable. Además, Puede usarse el programa gextractwinicons para extraerle a los ejecutables de windows las imágenes que usan para sus iconos, de esa manera tendrían los iconos en el escritorio Linux la apariencia original de los iconos de los softwares que corren en el servidor Windows. Esto es para que el usuario vea más claramente que va a ejecutar una aplicación Windows "localmente".

luisduran
Mensajes: 5
Registrado: Sab, 07 Ago 2010, 14:09
Ubicación: Vedado, Ciudad Habana

Re: Ejecución de aplicaciones de MS windows en linux por la

Mensaje por luisduran » Lun, 17 Sep 2012, 00:27

Disculpen, puse un script para correr el freecell en lugar de correr Internet explorer,

C:
cd \windows
freecell.exe
logoff

pero creo que de todos modos me han entendido.
El script debió ser así:

C:
cd \Archivos de programa\Internet Explorer
IEXPLORE.EXE
logoff

Además no debía ser el nombre del scrip "cb.bat" sino "iexp.bat"

El asunto es que escribí el post apurado y se me fueron algunos errores.

Esto ya lo tengo funcionando perfectamente en mi trabajo usando Win2003 Server y recientemente me he enterado que ETECSA lo tiene también. Así que, chicos, es una solución más para los que necesitan esas importantes aplicaciones de Windows en sus máquinas Linux.

Responder