在GUI中查看系统控制台消息


10

在Linux下,可以在GUI模式下查看显示在文本模式终端上的错误消息,而不必每次都按Ctrl+ Alt+ F1Ctrl+ Alt+ F2查看消息,然后通过按Ctrl+ Alt+ 切换回GUI模式F7

谢谢。


我澄清了问题的主题。Bash只是Linux的许多不同外壳之一。消息被发送到运行bash的实体,而不是shell本身。
fschmitt 2010年

您不能只访问/ var / log /“ blah”并读取相应的日志吗?假设它在启动过程中,您可以查看/var/log/boot.log
vfbsilva 2015年

Answers:


6

您可以/dev/tty1在文件中查看文本控制台的当前内容/dev/vcs1(其中1是Ctrl+ Alt+中的数字F1)。(如果尝试读取/dev/tty1,则将与在此运行的程序竞争键盘输入。)vcs设备通常只能由root读取。您将获得快照;没有便捷的方法来获取内容。

ttysnoop程序可以让你观看交通从另一终端控制台上(包括X终端)。但这是您必须事先设置的。


不要在文本控制台上输出消息后尝试捕获它们,而是将消息定向到其他位置。大多数这样的控制台输出将最终出现在系统日志中的文件中/var/log。在X(即,图形模式)下,您可以使用捕获这些消息xconsole,这是标准X发行版的一部分。

如果xconsole未显示所需的消息,请编辑问题以提及这些消息的来源。

如果无法xconsole显示任何消息,请编辑问题以包括您的确切操作系统,已执行的所有配置步骤以及所看到的任何错误消息。


如果消息不是来自系统日志记录设备,而是来自您在文本模式控制台中启动的程序,那么使用redirection会更好。安排像这样启动程序:

mv ~/.myprogram.log ~/.myprogram.log.old
myprogram --with arguments 2>&1 >~/.myprogram.log

然后,您可以通过查看文件从任何地方读取程序的输出~/.myprogram.log。特别是,要观看文件实时增长,请运行

tail -n +1 -f ~/.myprogram.log

如果程序是由您的X启动脚本启动的,那么最好将输出从整个X启动序列重定向到一个文件。实际上,许多发行版会自动执行此操作。如果您使用.xinitrc.xsession文件,请将以下行放在文件开头附近,以重定向后续程序的输出:

exec >"$HOME/.xsession-$DISPLAY.log" 2>&

谢谢。我只是做了su -c“ cat / dev / vcs1”并且它起作用了。就像您提到的那样,它只是控制台上消息的简单快照,但这就是我所需要的。
杰伊

@Jay:现在,我已经看到了您的评论,我有一个不同的答案,那就是您应该在X启动脚本中使用重定向。我将离开其他可能性,因为它们可能对其他浏览问题档案的人有用。
吉尔(Gilles)'所以

1

您可以为此使用xconsole。从其描述:

xconsole程序显示通常发送到/ dev / console的消息。

根据您的发行版选择的配置,您可能必须以root身份启动它(即sudo xconsole分别使用su -c xconsole),


谢谢。但是,有没有办法在我启动X之后查看控制台上已经存在的消息?例如,以我的情况为例。我编写了python脚本来随机更改壁纸。而且我已经进行了设置,以便每当我启动X时,都会调用该脚本。但是该脚本无法按照我想要的方式工作,并且在控制台上出现了一些错误消息。当我进入X后启动xconsole时,我只能看到从那时起发送到控制台的消息。xconsole的手册页中没有任何关于查看控制台上已经存在的消息的信息
Jay

您可以在任何终端窗口(例如xterm)中使用dmesg命令显示在启动过程中打印的消息。
fschmitt 2010年

dmesg仅显示启动过程中出现的消息。我不认为这表明出现在控制台上的消息后,我启动和登录,并且例如做“startx的” ..
周杰伦


-4

如果要查看控制台消息,可以将其放在/etc/rc.local的末尾,

sleep 60

2
OP希望加载GUI 查看消息。这只会使系统在加载之前等待一分钟,因此不是解决方案。
terdon
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.