La Web del Programador: Comunidad de Programadores
 
    Pregunta:  546 - EJECUTAR PROGRAMA EN WINDOWS DESDE UNIX
Autor:  Juan Carlos C.
Estoy haciento emulacion de terminal en Win 95 y estoy conectado con tarjeta de red a Servidor UNIX. Ejecuto programas en unix y necesito en un momento determinado activar un programa que se encuentra en el equipo en Win 95 desde los comandos de UNIX. Alguien sabe como hacerlo.?

Esto es por ejemplo ejecutando un proceso de nomina que se encuentra en bajo UNIX y con una opcion poder activar el NOTEPAD de windows en el equipo en donde se esta haciendo la emulacion.
Gracias


  Respuesta:  Francesc Ripollès
1) Mira si tu emulador de terminal soporta algún tipo de macro activables mediante sentencias de escape desde el UNIX, por ejemplo TUN EMUL soporta esta opción. Luego mediante un comando shell sencillo, puedes activar el notepad.

2) Independientemente del emulador, si lo quieres hacer mediante TCP-IP. necesitas un servidor RSHD para Windows, en las suites TCP-IP para PC generalmente está esta utilidad, por ejemplo TUN-PLUS, WRQ, si no mira por internet.
Debes conocer on-line la direccón IP que està ejecutando o el nombre del host Windows 95 en la misma ssión telnet abierta, una vez hecho esto, (mira si existe la opción del comando who -x, que en algunos UNIX da el nombre de host de cada una de las ptys abiertas. Si no, mira otro comando que identifique la tty con la IP.

Una vez hecho esto, ejecuta el unix el siguiente comando :

rcmd nombre_host_o_ip ´notepad.exe´
el comando rcmd puede variar dependiendo del sistema Unix que emplees (puede ser rshell, rsh, etc).

ejemplo de la shell script a ejecutar en la shell sh. Funciona con SCO Open Server

TTY=`tty` # para conocer la tty activa en la sesión telnet
TTY=`basename $TTY` # Quitar el /dev o el prefijo de la TTY
set `who -x | grep $TTY` # Poner el resultado de la busqueda en posiciones

rcmd $6 ´notepad.exe´ # en $6 queda el nombre del host / dirección IP.

Recuerda que el servidor RSHD debe estar activo en el PC cliente !!!