sim, é possível.
Esta solução foi testada com o Debian jessie e wdm como gerenciador de login.
Várias etapas são necessárias:
As etapas 8 a 10 são wdm específicas e podem parecer diferentes para gdm ou kdm
- faça login como root
- abra o arquivo
/etc/X11/Xsessionno editor - substituir a primeira linha no arquivo
#!/bin/sh
com#!/bin/bash - localize a linha
ERRFILE=$HOME/.xsession-errorse adicione abaixo da linhaERRFILTER=$HOME/.xsession-errors_filter - localize a linha
exec >>"$ERRFILE" 2>&1e substitua-a por %if [ -f $ERRFILTER ]; then exec > >(stdbuf -i0 -o0 -e0 grep -v -f "$ERRFILTER" >>"$ERRFILE") 2>&1 else exec >>"$ERRFILE" 2>&1 fi - salvar arquivo e sair do editor
- crie um arquivo .xsession-errors_filter em seu diretório pessoal e escreva palavras-chave de mensagens de erro que você não deseja ver. Apenas uma palavra-chave / frase por linha é permitida.
- abrir arquivo / etc / X11 / wdm / Xsession
- localize a linha
. /etc/X11/Xsessione substitua-a porexec /etc/X11/Xsession - salvar arquivo
- verifique se tudo está correto porque o X11 pode não ser iniciado de outra forma
- logout e login no X
alguma explicação:
- precisamos de bash para esse tempo de redirecionamento para a substituição de / bin / sh e a mudança de
.(source) para exec - então usamos invertido
greppara filtragem.grepestá lendo as palavras-chave de filtro do arquivo '.xsession-errors_filter' - stdbuf desativa o buffer com o grep, então as mensagens de erro são gravadas instantaneamente no arquivo
-
exec > >()redireciona toda a saída do shell para um subshell (que executa grep)