Como desabilito a impressão de mensagens ou o registro no console / terminais virtuais?

34

Meu driver sem fio é barulhento. Ele imprime mensagens no console a cada 10 a 30 segundos. Portanto, se estou trabalhando no VT1 ou algo assim, recebo mensagens rolando o tempo todo. Existe uma maneira de desligar esse recurso? Eu gosto de trabalhar nos terminais virtuais, mas isso está dificultando o tratamento. :)

Alguma ideia?

dpb
fonte

Respostas:

45

Você pode usar o comando

sudo dmesg -n 1

suprimir todas as mensagens do kernel (e seus drivers), exceto as mensagens de pânico que aparecem no console.

Para corrigir em cada inicialização, adicione o comando a:

/etc/rc.local
oddfellow
fonte
1
Ótimo, era exatamente isso que eu estava procurando. :)
dpb
1
O dmesg -n 1deve ser executado como root, por exemplo sudo dmesg -n 1.
Ntc2 11/11/14
30

dmesg vem com duas opções úteis para isso:

-D, --console-off           disable printing messages to console
-E, --console-on            enable printing messages to console

dmesg -Dé apenas um atalho para dmesg -n 1, exceto que ele armazena o nível de log atual, para que você possa restaurá-lo facilmente dmesg -E. Portanto, é um pouco mais conveniente do que alterar o nível do log dmesg -n.

Além disso, você pode verificar o nível de log atual com:

$ cat /proc/sys/kernel/printk
7       4       1       7

man klogctl para mais explicações sobre esses números ...

elboulangero
fonte
5

/proc/sys/kernel/printk

Você também pode definir o nível do log diretamente com

echo 1 > /proc/sys/kernel/printk

que é basicamente o que dmesgestá fazendo.

O formato desse arquivo é explicado em: https://superuser.com/a/793692/128124

loglevel parâmetro de inicialização da linha de comando

Define o valor inicial no momento da inicialização, o que permite ver as mensagens pré-inicialização.

Ciro Santilli adicionou uma nova foto
fonte