如何查看启动应用程序的 stdout/stderr?

如何查看启动应用程序的 stdout/stderr?

我登录时,启动应用程序中的某些命令无法正常启动。(特别是我在使用 gtk-redshift 时遇到了问题。)为了进行调试,我希望能够查看 stdout/stderr。我找不到启动应用程序的日志文件。我尝试使用“>> log.txt”重定向到文件,但没有成功。

如何查看启动应用程序的 stdout/stderr?更好的是,是否有启动应用程序的日志文件?

答案1

我认为最好的做法是将 bash 命令放在启动的更下方,或者将其放在 bash 脚本中并在启动应用程序中选择它。我添加了该-v选项,以便应用程序以最详细的信息记录其所有操作;一些应用程序有其他详细程度设置,甚至可以指定各种级别。

使用的重定向与将程序的所有输出()重定向到指定文件(即)&>相同。2>&1stderr, stdout&>/home/mike/redshift.log

这是可用于设置日志记录的命令,如果经过适当修改,它还可以用于其他程序。

bash -c "setsid /usr/bin/gtk-redshift -v -l 40.77:-73.9 -t 6500:5500 &>/home/mike/redshift.log"

这些只是示例测试设置,请用您自己的值替换这些值;由于上述命令行很长,您可能需要将命令、经过适当修改的命令放在 bash 包装器中作为启动条目。

摘自于以下位置创建的日志/home/mike/redshift.log

Gamma ramp size too small: 0
Failed to start adjustment method randr.
Trying next method...
Location: 40.770000, -73.900002
Brightness: 1.00
Gamma: 1.000, 1.000, 1.000
Using method `vidmode'.

日志会继续,并会提供您所需的信息。某些程序(例如)vlc确实有您可以设置的选项,以便将其日志发送到 syslog,但我希望每个程序都有自己单独的日志。

答案2

请检查/var/log/syslog。它对所有应用程序都适用。

相关内容