Como posso visualizar stdout / stderr de um aplicativo de inicialização?

12

Alguns dos comandos que tenho nos Aplicativos de Inicialização não iniciam corretamente quando eu faço o login. (Em particular, estou tendo problemas com o gtk-redshift.) Para depurar, gostaria de poder visualizar o stdout / stderr. Não encontrei um arquivo de log para aplicativos de inicialização. Eu tentei redirecionar para um arquivo usando ">> log.txt" sem êxito.

Como posso ver stdout / stderr para um aplicativo de inicialização? Melhor ainda, existe um arquivo de log para aplicativos de inicialização?

Adam Paetznick
fonte

Respostas:

7

Eu acho que a melhor coisa a fazer seria colocar o comando bash mais abaixo na inicialização ou em um script bash e selecioná-lo em seus aplicativos de inicialização. Eu adicionei a -vopção para que o aplicativo registre todas as suas ações com o máximo de detalhes; alguns aplicativos têm outras configurações de verbosidade e até vários níveis que você pode especificar.

O &>redirecionamento usado é o mesmo 2>&1que redireciona toda a saída do programa ( stderr, stdout) para o arquivo especificado, ou seja &>/home/mike/redshift.log.

Aqui está o comando que pode ser usado para configurar o log e pode ser usado para outros programas, se modificado adequadamente.

bash -c "setsid /usr/bin/gtk-redshift -v -l 40.77:-73.9 -t 6500:5500 &>/home/mike/redshift.log"

Essas são apenas configurações de teste de amostra; substitua esses valores pelos seus; convém colocar o comando, modificado adequadamente em um wrapper bash para sua entrada de inicialização, pois a linha de comando acima é bastante longa.

Um trecho do log criado em /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'.

O log continua e deve fornecer as informações necessárias. Alguns programas, como vlcopções, podem ser configuradas para que o log deles possa ser enviado ao syslog, mas eu prefiro que cada programa tenha seu próprio log separado.


fonte
E se um programa interno imprimir um erro? Por exemplo, X-Window?
Demonguy
-2

Por favor verifique /var/log/syslog. É comum para todas as aplicações.

thefourtheye
fonte
Acho que deveria ter sido mais explícito. Eu já verifiquei / var / log / syslog. Os aplicativos de inicialização em questão não fazem entradas de log no syslog. Também não vejo logs de nenhum tipo de script / wrapper do Aplicativo de Inicialização.
Adam Paetznick
Você se importaria de divulgar os nomes dos aplicativos?
thefourtheye
Como afirmado na pergunta, o principal culpado é o gtk-redshift. Também problemático é o google-musicmanager.
Adam Paetznick