【问题标题】:Using xvfb-run shell command in Elixir在 Elixir 中使用 xvfb-run shell 命令
【发布时间】:2018-03-27 04:07:36
【问题描述】:

我想使用一个使用 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

【问题讨论】:

  • 尝试从第二个参数中同时删除\"(即设为"--server-args=-screen 0 1366x768x24")。当使用这样的参数列表调用命令时,它们不应该在那里。
  • 谢谢,我把它改成了"--server-args=-screen\ 0\ 1366x768x24",现在可以了

标签: elixir


【解决方案1】:

" 出现问题。我已经改变了论点

"--server-args=\"-screen 0 1366x768x24\""

"--server-args=-screen\ 0\ 1366x768x24"

现在可以了

【讨论】:

    猜你喜欢
    • 2022-11-12
    • 2014-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-25
    • 1970-01-01
    • 2017-09-24
    相关资源
    最近更新 更多