代码之家  ›  专栏  ›  技术社区  ›  Jakub Zawiślak

在Elixir中使用xvfb run shell命令

  •  1
  • Jakub Zawiślak  · 技术社区  · 8 年前

    我想使用使用xvfb(虚拟X服务器)的节点脚本。我有这个命令:

    xvfb-run -a --server-args="-screen 0 1366x768x24" node something.js
    

    在航站楼工作。但当我试图把它改写成长生不老药时:

    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 库:

    "xvfb-run -a --server-args=\"-screen 0 1366x768x24\" node something.js"
    |> String.to_charlist
    |> :os.cmd
    |> to_string
    

    哪一个更好,它没有xvfb问题,但它在没有任何警告的情况下被困在脚本中间。命令没有终止,节点脚本只是没有继续。

    我知道我可以写得很小。sh脚本。但如果能用普通的长生不老药来完成这项工作那就太好了

    Ubuntu 12.04

    1 回复  |  直到 8 年前
        1
  •  1
  •   Jakub Zawiślak    8 年前

    有一个问题 " 。我改变了论点

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

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

    现在它工作了