Die Ausgabe einer vom Fenstermanager gestarteten Anwendung erfolgt an derselben Stelle wie die Ausgabe vom Fenstermanager selbst. (Es sei denn, die Anwendung leitet sie um, typische GUI-Anwendungen jedoch nicht.)
Sie können herausfinden, wohin die Ausgabe des WM geht, indem Sie sich ansehen, was in Dateideskriptor 1 (Standardausgabe) und Dateideskriptor 2 (Standardfehler) geöffnet ist. Normalerweise werden beide in dieselbe Datei verschoben. Finden Sie die Prozess-ID Ihres Fenstermanagers heraus (versuchen Sie es z. B. pgrep metacity
oder pidof metacity
wenn Metacity Ihr Fenstermanager ist - wenn Sie den Prozessnamen für Ihren Fenstermanager nicht kennen, sehen Sie sich das Stammverzeichnis eines der von ps f
oder gemeldeten Prozessbäume an pstree
). Angenommen, die Prozess-ID Ihres Fenstermanagers lautet 1234, führen Sie aus
lsof -p1234
und suchen Sie nach den Zeilen, die den Dateideskriptoren 1 und 2 entsprechen, oder
oder
ls -l /proc/1234/fd
Sie können die Filterung der relevanten Dateideskriptoren automatisieren:
lsof -p1234 | awk '$4 ~ /^[12][^0-9]/'
ls -l /proc/1234/fd/[12]
(Hinweis: Alle oben genannten Befehle gelten für Linux. Sie pgrep
sind bei anderen Unices üblich und lsof
können praktisch überall installiert werden. ps
Optionen und /proc
Inhalte sind bei verschiedenen Unices unterschiedlich.)
In der allgemeinen Situation, in der Sie Befehle von einer Shell ausführen, die in einem Terminalemulator ausgeführt wird (xterm, konsole, gnome-terminal usw., jedoch nicht bei Verwendung über Bildschirm oder tmux), können Sie leicht überprüfen, wo die Ausgabe des Terminalemulators erfolgt wird ausgeführt, da der Terminalemulator der übergeordnete Prozess Ihrer Shell ist. Dies funktioniert nicht, wenn der Terminalemulator mit zusätzlichen Berechtigungen ausgeführt wird. Dies geschieht auf einigen Systemen, damit der Terminalemulator in die Liste der angemeldeten Benutzer (utmp) schreiben kann.
lsof -p$PPID
ls -l /proc/$PPID/fd
Viele Distributionen leiten die Ausgabe der X-Sitzung an ~/.xsession-errors
.
ps faux
Sie diese Option, um zu überprüfen, welche tty / pts mit dem Prozess verknüpft sind. wenn keine oder "?" es geht wahrscheinlich in der Leere verloren. (Dies ist nur eine Idee, ich kann