我登录时,启动应用程序中的某些命令无法正常启动。(特别是我在使用 gtk-redshift 时遇到了问题。)为了进行调试,我希望能够查看 stdout/stderr。我找不到启动应用程序的日志文件。我尝试使用“>> log.txt”重定向到文件,但没有成功。
如何查看启动应用程序的 stdout/stderr?更好的是,是否有启动应用程序的日志文件?
答案1
我认为最好的做法是将 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,但我希望每个程序都有自己单独的日志。
答案2
请检查/var/log/syslog
。它对所有应用程序都适用。