Syslog é o recurso que controla onde a saída de log, incluindo o material do dmesg, kernel panics, etc., é enviada. Existem alguns daemons de syslog diferentes em uso comum, mas acredito que sejam todos mais ou menos os mesmos para os propósitos desta discussão.
O daemon syslog tem um arquivo de configuração em /etc
. Tradicionalmente, isso é syslog.conf
, mas para o rsyslogd alternativo (usado com distribuições modernas baseadas em .rpm), por exemplo, é rsyslog.conf
. Sem entrar muito em como essa configuração funciona, algumas diretivas geralmente valem a pena considerar aqui:
# Emergencies are sent to everybody logged in.
*.emerg *
# Log all kernel messages to the console.
kern.* /dev/console
O primeiro é porque certos erros sérios aparecerão em todos os ttys. No entanto, ele não inclui terminais GUI, o que significa que você não verá nada no X.
O segundo envia todas as mensagens do kernel para /dev/console
* , que geralmente é sinônimo de /dev/tty0
, que geralmente é entendido como "o console virtual atual", embora ainda seja não será um console da GUI.
Você pode configurar o dispositivo para usar como console com um parâmetro de inicialização do kernel, por exemplo, console=/dev/tty6
. Você provavelmente pode obter o dispositivo atual com cat /sys/devices/virtual/tty/console/active
.
Há um aplicativo de GUI venerável (como antes, na era da Internet) chamado xconsole
, que exibirá as mensagens enviadas para /dev/console
. Ele não usa conjuntos de widgets modernos, infelizmente, e se você quiser configurá-lo, você tem que usar um arquivo Xresources
:
XConsole*text.width: 1000
XConsole*text.height: 300
XConsole*background: #cccccc
XConsole*font: -adobe-helvetica-medium--normal-*-14-*-*-*-*-*-iso8859-1
Você provavelmente precisará, pelo menos, da fonte para torná-la legível.
Isso permitirá que você veja as mensagens de pânico do kernel da mesma forma que faria em um VT. Se você colocá-lo em alguma mesa de canto de trás e o sistema congela, há uma boa chance de você ainda poder mudar para ele (embora, você também pode tentar mudar para um VT ou matar X).
Você também pode especificar um fifo ou socket no syslog.conf e implementar seu próprio método de obter mensagens no X.
* Os sistemas derivados do Debian também possuem um dispositivo /dev/xconsole
e isso será referenciado em seu syslog.conf.