我有一个名为xyz.sh
的脚本,它使用zenity.which,当执行时会给用户一个选择菜单。这是我们的队友/home/dir
之一,它是基于nfs的。
通常我们从terminal.it运行path/xyz.sh
来执行。我试图将其作为一个URL,并在用户调用时应该运行脚本并弹出选择菜单。
示例:http://abc.com/xyz
应该在用户远程计算机上执行xyz.sh
。不在服务器上。
我不介意它是在python还是在cgi / php中。
更新: 感谢分享链接。我已经在firefox中尝试并创建了协议处理程序。如下所述。
首先打开about:config
然后我创建了一个外部协议。 network.protocol-handler.external.app.xyz.sh
并在字符串中提供了我的脚本/home/xyz/xyz.sh
但是,当我从浏览器xyz调用它时:它再次给我错误,因为“firefox确实知道如何打开这个地址。因为协议与任何程序无关”。
请帮帮我。提前谢谢。
答案 0 :(得分:1)
无法在访问者计算机上运行任意脚本(出于显而易见的原因)。
最好的方法可能是告诉用户安装一些软件,在浏览器中注册一个自定义协议,这样你就可以引导用户使用
pythonexec://abc.com/xyz
如何做到这一点在其他SO帖子中有解释,例如: