Node-webkit应用程序与终端通信

时间:2015-04-07 22:19:24

标签: javascript bash google-chrome ubuntu terminal

我是否可以编写html / css / javascript来创建一个按钮,打开计算机上的终端程序并运行一些脚本?

我想要的场景是: 在我的ubuntu笔记本电脑上,运行我的node-webkit应用程序,单击屏幕上的按钮,终端打开,然后开始执行一些脚本。

由于

3 个答案:

答案 0 :(得分:1)

从网页

你不能这样做但你可以使用node.js,如果你想用JavaScript创建一个GUI应用程序你可以使用它node-webkit你可以构建可以与Linux一起使用的跨平台软件在终端执行命令

答案 1 :(得分:0)

可以从网页执行此操作,但请确保您的hosts.allow(或等效设置)仅设置为localhost。只需运行具有cgi功能的任何Web服务器,并将运行脚本的cgi脚本放入cgi-bin目录。然后只需添加一个空表单提交按钮或链接到localhost:8080 / cgi-bin / your_script

Slitaz使用busybox httpd和shell脚本将它用于整个配置系统,但使用shell生成的交互式表单而不是终端。请参阅:http://hg.slitaz.org/tazpanel/file/

没有Web服务器的另一种方法(至少使用firefox / seamonkey - 未尝试使用chrom)是关联文件扩展名,以便使用该脚本打开具有该扩展名的文件。然后只需链接到具有该扩展名的空文件。

答案 2 :(得分:0)

使用child_process模块:

<script>
  var cp = require('child_process');

  function run() {
    cp.exec('gnome-terminal -x bash -c "./your_script.sh; read -n1"');
  }
</script>

<button onclick="run()">your_script.sh</button>

您也可以删除read -n1,然后只需运行

    cp.exec('gnome-terminal -x ./your_script.sh');

如果您不想等待任何按键操作。