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


12

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

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

Answers:


7

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

使用的&>重定向与2>&1将所有程序的输出(stderr, 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,但是我更喜欢每个程序都有自己的单独日志。


如果内置程序显示错误怎么办?例如X-Window?
demonguy

-2

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


我想我应该更明确一些。我已经检查过/ var / log / syslog。有问题的启动应用程序不会在syslog中创建日志条目。我也看不到任何启动应用程序脚本/包装程序的日志。
亚当·帕兹尼克

您介意公开应用名称吗?
thefourtheye

如问题所述,罪魁祸首是gtk-redshift。谷歌音乐经理也很麻烦。
亚当·帕兹尼克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.