Cómo ejecutar un script de shell en una máquina de usuario después de llamar al script a través de url
Frecuentes
Visto 466 veces
0
Tengo un guión llamado xyz.sh
que usa zenity.que cuando se ejecuta les da a los usuarios un menú de selección.el problema es que este es uno de nuestros compañeros de equipo /home/dir
que está basado en nfs. Usualmente ejecutamos el path/xyz.sh
desde terminal.it se ejecuta. Lo que estaba tratando de hacer esto como una URL y que, cuando el usuario lo llame, debería ejecutar el script y mostrar el menú de selección.
ejemplo: http://abc.com/xyz
que debe ejecutar la xyz.sh
en la máquina remota del usuario. no en el servidor.
No me importa si está en python o en cgi/php.
Actualización: gracias por compartir el enlace. Probé y creé un controlador de protocolo en Firefox. Como se menciona a continuación.
Primero abierto about:config
y luego he creado un protocolo externo. network.protocol-handler.external.app.xyz.sh
y en la cadena he proporcionado la ruta de mi script /home/xyz/xyz.sh
Pero, cuando llamo a esto desde el navegador xyz: nuevamente me da un error como "Firefox sabe cómo abrir esta dirección. Porque el protocolo no está asociado con ningún programa".
Por favor, ayúdame en esto. Gracias por adelantado.
1 Respuestas
1
No es posible ejecutar un script arbitrario en la computadora de un visitante (por razones obvias).
El mejor enfoque es probablemente decirle al usuario que instale algún software, que registra un protocolo personalizado en el navegador, para que pueda dirigir al usuario a algo como
pythonexec://abc.com/xyz
Cómo hacer esto se explica en otras publicaciones de SO como esta:
contestado el 23 de mayo de 17 a las 13:05
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas php python bash shell shell-exec or haz tu propia pregunta.
Una cosa más que olvidé agregar es .Todas las máquinas de los usuarios ejecutan linux oses.que por defecto se instala con python2.6 - user1393251
Se agregó una URL a otra pregunta. - aiobe