我想使用使用xvfb(虚拟X服务器)的节点脚本。我有这个命令:
xvfb-run -a --server-args="-screen 0 1366x768x24" node something.js
在终端中有效。但是当我尝试将它重写为Elixir时:
System.cmd "xvfb-run", ["-a", "--server-args=\"-screen 0
1366x768x24\"", "node", "something.js"]
然后我有错误,说我需要xvfb。这与我仅运行node something.js
时得到的错误相同。
我尝试了Porcelain:
Porcelain.exec "xvfb-run", ["-a", "--server-args=\"-screen 0
1366x768x24\"", "node", "something.js"]
但它有同样的问题。也许我没有正确使用它?
我也尝试过erlang的os
lib:
"xvfb-run -a --server-args=\"-screen 0 1366x768x24\" node something.js"
|> String.to_charlist
|> :os.cmd
|> to_string
哪个更好用,它没有xvfb问题,但是在没有任何警告的情况下卡在脚本中间。该命令没有终止,节点脚本不再进一步。
我知道我可以为此编写小的.sh脚本。但是在普通的Elixir中完成这项工作会很好。
Ubuntu 12.04
答案 0 :(得分:1)
"
出现问题。我已经改变了论点
"--server-args=\"-screen 0 1366x768x24\""
到
"--server-args=-screen\ 0\ 1366x768x24"
现在可行了