【问题标题】:How to redirect error output of command executed with xvfb-run如何重定向使用 xvfb-run 执行的命令的错误输出
【发布时间】:2021-09-02 08:19:14
【问题描述】:

我有一个要使用 xfvb-run 运行的 python 脚本。原来的命令是这样的:

script.py > out 2> err

现在看起来像这样:

xvfb-run -d script.py > out 2> err

然而,这会将来自script.py 的错误消息放入out,而不是放入err。这是可以理解的。然而,我会实现与以前相同的行为。我该怎么做?

谢谢

【问题讨论】:

  • 感谢您的建议,不幸的是,这不是我遇到的问题。问题是程序 xfb-run 会将其标准输出写入out,并将其标准错误写入err。并且它似乎将它执行的命令的标准输出和标准错误放在一起放入自己的标准中。所以我只看到两个选项,要么有一些我可以传递给 xfvb-run 的参数,但我不知道会导致 stdout 和 stderr 出现问题,或者有一些我不知道的 bash 魔法。

标签: python


【解决方案1】:

这似乎是 2014 年报告的 xvfb 中的一个错误,似乎没有打算修复它。 https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1059947 正如这里所建议的: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=868876 您可以在第 180 行进行以下更改:

-DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@" 2>&1

+DISPLAY=:$SERVERNUM XAUTHORITY=$AUTHFILE "$@"

这是一个丑陋的补丁,但解决了问题。

【讨论】:

  • 这并不能真正回答问题。如果您有其他问题,可以点击 进行提问。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以add a bounty 来引起对这个问题的更多关注。 - From Review
猜你喜欢
  • 2022-11-12
  • 2013-10-13
  • 2015-11-20
  • 2019-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-26
  • 2013-05-17
相关资源
最近更新 更多