无法使用NodeJs`exec`启动`gksudo`

时间:2015-07-13 04:31:46

标签: node.js execution gksudo

目标

我想在nodejs中显示图形密码提示以提升特权,从而获得将文件内容复制到另一个内容的一些权力,但最后一个由root拥有。

在实现中,我尝试使用带有dd函数的gksudo执行exec()及其参数。

exec = require('child_process').exec

printall = function (error, stdout, stderr) {
  console.log('stdout: ' + stdout);
  console.log('stderr: ' + stderr);
  if (error) {
    console.log('exec err: ' + error);
  }
}

exec("gksudo dd if=/home/user/minor.txt of=/home/user/major.txt", printall)

错误

但我总是失败,没有充分的理由。

它说,

stdout: 
stderr: 
exec err: Error: Command failed: /bin/sh -c gksudo dd if=/home/user/minor.txt of=/home/user/major.txt

如果我将命令重播到终端,它会错过双引号,而只会运行gksudo。好吧,在nodejs中,它只是失败了。

备注

我最初开发Atom包。这是我的第一次,所以,我发现了不同版本的Node(或IOJs?)。我在Atom中执行整个代码。

问题

如果你期待一个明确的问题,那么可能

  

如何在node.js中执行gksudo以运行其他命令以及参数?

0 个答案:

没有答案