节点webkit应用程序与终端通话

Node-webkit app talk to terminal

本文关键字:终端 webkit 应用程序 节点      更新时间:2023-09-26

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

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

感谢

从网页上看,你不能这样做,但你可以使用node.js,如果你想用JavaScript制作一个GUI应用程序,你可以使用node-webkit,你可以构建可以与Linux一起工作的跨平台软件,并在终端中执行命令

可以从网页执行此操作,但请确保您的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服务器的情况下实现这一点的方法是关联一个文件扩展名,这样具有该扩展名的文件就可以用该脚本打开。然后,只需创建一个指向具有该扩展名的空文件的链接。

使用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');

以防您不想等待任何按键。