A saída de um aplicativo iniciado a partir do gerenciador de janelas vai para o mesmo local que a saída do próprio gerenciador de janelas. (A menos que o aplicativo o redirecione, mas os aplicativos típicos de GUI não o fazem.)
Você pode descobrir onde a saída do WM vai, olhando o que tem aberto no descritor de arquivo 1 (saída padrão) e no descritor de arquivo 2 (erro padrão); normalmente ambos irão para o mesmo arquivo. Descubra o ID do processo do seu gerenciador de janelas (por exemplo, pgrep metacity
ou pidof metacity
se o Metacity for seu gerenciador de janelas - se você não souber o nome do processo para seu gerenciador de janelas, veja a raiz de uma das árvores de processo reportado por ps f
ou pstree
). Supondo que o ID do processo do seu gerenciador de janelas seja 1234, execute
lsof -p1234
e procure as linhas correspondentes aos descritores de arquivo 1 e 2, ou
ou
ls -l /proc/1234/fd
Você pode automatizar a filtragem dos descritores de arquivos relevantes:
lsof -p1234 | awk '$4 ~ /^[12][^0-9]/'
ls -l /proc/1234/fd/[12]
(Nota: todos os comandos acima são para Linux. pgrep
é comum entre outros unices, e lsof
pode ser instalado praticamente em qualquer lugar; ps
opções e /proc
conteúdo são diferentes em diferentes uniões.)
Na situação comum em que você está executando comandos de um shell em execução em um emulador de terminal (xterm, konsole, gnome-terminal, etc., mas não quando usado na tela ou no tmux), é possível verificar facilmente onde saída do emulador de terminal está indo, como o emulador de terminal é o processo pai do seu shell. Isso não funciona se o emulador de terminal estiver sendo executado com privilégios adicionais, o que acontece em alguns sistemas para permitir que o emulador de terminal grave na lista de usuários conectados (utmp).
lsof -p$PPID
ls -l /proc/$PPID/fd
Muitas distribuições direcionam a saída da sessão X para ~/.xsession-errors
.