La sortie d'une application démarrée à partir du gestionnaire de fenêtres va au même endroit que la sortie du gestionnaire de fenêtres lui-même. (À moins que l'application ne le redirige, mais pas les applications GUI typiques.)
Vous pouvez savoir où va la sortie du WM en regardant ce qu'il a ouvert sur le descripteur de fichier 1 (sortie standard) et le descripteur de fichier 2 (erreur standard); généralement, les deux iront dans le même fichier. Découvrez l'ID de processus de votre gestionnaire de fenêtres (essayez par exemple pgrep metacity
ou pidof metacity
si Metacity est votre gestionnaire de fenêtres - si vous ne connaissez pas le nom du processus pour votre gestionnaire de fenêtres, regardez la racine de l'un des arbres de processus signalés par ps f
ou pstree
). Supposons que l'ID de processus de votre gestionnaire de fenêtres soit 1234, exécutez
lsof -p1234
et recherchez les lignes correspondant aux descripteurs de fichiers 1 et 2, ou
ou
ls -l /proc/1234/fd
Vous pouvez automatiser le filtrage des descripteurs de fichiers appropriés:
lsof -p1234 | awk '$4 ~ /^[12][^0-9]/'
ls -l /proc/1234/fd/[12]
(Remarque: toutes les commandes ci-dessus sont pour Linux. pgrep
Est commune à d'autres unités, et lsof
peut être installée à peu près n'importe où; les ps
options et le /proc
contenu sont différents selon les différents unités.)
Dans la situation courante où vous exécutez des commandes à partir d'un shell exécuté dans un émulateur de terminal (xterm, konsole, gnome-terminal, etc., mais pas lorsqu'il est utilisé sur l'écran ou tmux), vous pouvez facilement vérifier où la sortie de l'émulateur de terminal va, car l'émulateur de terminal est le processus parent de votre shell. Cela ne fonctionne pas si l'émulateur de terminal s'exécute avec des privilèges supplémentaires, ce qui se produit sur certains systèmes pour permettre à l'émulateur de terminal d'écrire dans la liste des utilisateurs connectés (utmp).
lsof -p$PPID
ls -l /proc/$PPID/fd
De nombreuses distributions dirigent la sortie de la session X vers ~/.xsession-errors
.
ps faux
pour vérifier quels tty / pts sont associés au processus. si aucun ou "?" il se perd probablement dans le vide. (ce n'est qu'une idée, je peux me tromper)