Kannst du sehen, was unter der Gui passiert?

362
pzdc

Wenn ich die Anwendung mit GUI von einem Linux-Terminal aus starte, kann ich sehen, was in diesem Terminal unter der GUI passiert. Und wenn es abstürzt, gibt es meistens ein Problem, warum es abgestürzt ist. Meine Frage ist also: Gibt es die Möglichkeit, diese Art von Protokoll anzuzeigen, wenn die App bereits ausgeführt wird und nicht vom Terminal aus gestartet wurde, sondern in einer Desktop-Umgebung oder ähnlichem wie dmenu. Was ist mit Fenstern? Können Sie die App starten und sehen, was passiert, und warum stürzt sie ab?

0
Eigentlich sieht man nicht, was passiert. Sie sehen, was das Programm aktiv in "stdout" druckt. Daniel B vor 9 Jahren 0
@DanielB Auch `stderr`, das ist eigentlich das, woran sie meiner Erfahrung nach schreiben. cpast vor 9 Jahren 0

2 Antworten auf die Frage

0
RedGrittyBrick

Linux: Nein, für AFAIK-Apps, die nicht von einem Terminal aus gestartet werden, werden STDOUT und STDERR nicht unbedingt an einen beliebigen Ort gerichtet. Nicht alle Apps schreiben Debugging / Logging in STDOUT oder STDERR. Sie sollten die Dokumentation oder die Man-Pages für jede Anwendung lesen, um zu sehen, welche Protokollierungsoptionen für jede App verfügbar sind. Viele Anwendungen melden sich beim Syslog-Dienst an. Die Syslog-Konfiguration bestimmt, wie / wo diese Protokollsätze aufgezeichnet werden. Es ist jedoch nicht ungewöhnlich, dass Anwendungen über eigene Protokolldateien verfügen.

Vielleicht möchten Sie die Manpage für strace lesen.

Windows: Ich würde in der Ereignisanzeige nachsehen

0
MariusMatutiae

Ja, das ist möglich, aber der Speicherort der .log-Datei mit den betreffenden Informationen hängt von der Anwendung ab.

Die meisten Protokolldateien befinden sich in / var / log (Sie müssen su sein, um auf das Verzeichnis zuzugreifen). In einigen Anwendungen können Sie den Speicherort der Protokolldatei neu definieren. In diesem Fall befindet sich dieser normalerweise in / etc / applicationname .

Wenn Sie keine relevanten Informationen finden, können Sie den Namen der Anwendung in jeder Datei und jedem Unterverzeichnis in der Datei / var / log wie folgt suchen:

 cd /var/log grep -nrI openvpn 

Dadurch wird nach jeder Erwähnung des Wortes openvpn in jeder Datei in allen Unterverzeichnissen von / var / log gesucht. Die Ausgabe dieser Abfrage kann umfangreich sein und eine weitere Filterung erfordern.