Oberfläche abgestürzt, Konsoleninhalt retten

Hinweis: In dem Thema Oberfläche abgestürzt, Konsoleninhalt retten gibt es 7 Antworten. Der letzte Beitrag () befindet sich ganz unten auf dieser Seite.
  • Moin Moin


    Ich habe zur Zeit eine Simulation auf meinem PC laufen, die die Bewegung von Planeten und anderen Körpern berechnet, diese Anwendung läuft in der Konsole und wird von mir 8 mal parallel ausgeführt (Jeweils mit anderen Datensätzen), jeweils in einem eigenen Konsolenfenster.
    Da das Programm mehr oder weniger zweckentfremdet wurde, werden die Ergebnisse nicht in eine Datei geschrieben, sondern nur in der Konsole ausgegeben.


    Jetzt habe ich gerade eine Textdatei geöffnet, und seitdem reagiert die Oberfläche (Gnome) nicht mehr. Ich kann in der Textdatei schreiben, mit alt-Tab in andere Programme wechseln, und soweit ich das bisher probiert habe funktionieren auch alle anderen Tastaturbefehle.


    Im Filebrowser kann ich mit der Maus weitere Dateien öffnen etc. Ich kann aber in der Konsole nicht scrollen, keine Fenster über das Display bewegen, mit der Maus nicht zwischen Programmen wechseln, und das markieren von Text funktioniert auch nicht.



    Gibt es jetzt einen Befehl, mit dem ich den gesamten Inhalt des Fensters seit Öffnen der Konsole in eine Datei im aktuellen Verzeichnis (Konsole.txt) schreiben kann ? Die Datei existiert bereits und ist leer. Oder gibt es einen Befehl, der den GNOME Desktop neu startet, ohne die laufenden Konsolenanwendungen zu beenden bzw den Inhalt der Konsole zu löschen ? Ist natürlich nur eine Vermutung, dass der Desktop abgestürzt ist.


    Das verwendete System ist OpenSuse 12.2 64Bit, und im Grunde genommen bin ich absoluter Linux Neuling.



    Vielen dank schonmal für eure Mühe, überhaupt bis hierhin zu Lesen.


    MfG
    Michael

    Für den Inhalt des Beitrages 54170 haftet ausdrücklich der jeweilige Autor: Laudian

  • Wenn du die Simulation in der Konsole so startest:

    Code
    SIMULATION | tee Simulation_1.txt


    werden alle Ausgaben (außer Fehlermeldungen über die Standardfehlerausgabe) in die Datei "Simulation_1.txt" geschrieben UND in der Konsole ausgegeben. "SIMULATION" musst du natürlich ersetzen.


    Wie du die aktuelle Situation noch retten kannst, weiß ich nicht.

  • Jede Shell -egal ob auf "richtigem Terminal" oder in einer "GUI-Console" hat einen Prozessinternen Speicher für die Ausgabe.
    Den kann man -mit einigen Verrenkungen- als root auslesen. Das geht aber nur bis zu einem per Config festgelegten Anzahl von Zeilen.


    Bei deinen Berechnungen wird das nichts nutzen, fürchte ich.
    Es wäre zumindest zu wissen, welches Programm du einsetzt.
    (Wenn das eh soviele Ausgaben macht, dass das nachträgliche Rauspfrimmeln per se nur unvollständig sein kann, mag ich nicht diesen auch sehr aufwendig zu schreibenden Weg in's Blaue tippen. )


    Gnerell hat Persephone recht. "tee" it!. And you are done.


    Du solltest jedoch erst einaml prinzipiell klären, ob das Programm multithreadingfähig ist.
    Wenn nicht, sollte es genügen, das Programm mit geänderten Aufrufem zu starten.
    Hintergrund ist, dass das Programm vermutlich irgendwelche Libs ruft. Sind diese nicht fähig in mehreren Prozessen sauber Daten zu trennen, so sind ALLE Ergebnisse ALLER Instanzen letztlich obsolet.

    Für den Inhalt des Beitrages 54182 haftet ausdrücklich der jeweilige Autor: uhelp

  • Oder gibt es einen Befehl, der den GNOME Desktop neu startet, ohne die laufenden Konsolenanwendungen zu beenden bzw den Inhalt der Konsole zu löschen ?

    Falls sich wirklich die GNOME-Shell aufgehängt hat probiere es mal so:

    Code
    Alt + F2


    Code
    r


    Dann wird nur die GNOME-Shell neu geladen und der Text sollte normalerweise da bleiben.

    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 54186 haftet ausdrücklich der jeweilige Autor: lush

  • Danke, dass mit Atl+F2 / r werde ich probieren, wenn ich heute Abend wieder zuhause bin.


    Das Programm ist Symba aus dem Swifter Paket, allerdings leicht verändert. Ausgeführt wird es im Terminal (Ich weiß nicht wie das auf deutsch heißt, da ich OpenSuse mit US-Englisch benutze).


    Von der Ausgabe interessieren mich die 30-40 letzten Zeilen, das sind zum einen Ereignismeldungen (Körper a und b kollidieren) und zum anderen Fortschrittsmeldungen (10% vollendet etc).



    Auf die einfachste Lösung bin ich auch gerade erst gekommen.
    Alles markieren, kopieren, einfügen. Habe ich zwar bisher mit der Maus gemacht, aber über die Tastatur geht das ja sicherlich auch. Aber die einfachsten Lösungen fallen einem immer zuletzt ein ;)



    Multithreadingfähig ist das Programm nicht, es wird einfach aus verschiedenen Ordnern gestartet. Das hat bei allen vorigen läufen auch Problemlos funktioniert, bisher habe ich allerding in mehreren kleinen Schritten von ca. 10 mio jahren gerechnet, diesmal habe ich 100mio Jahre am Stück laufen lassen (ca. 60 Stunden Realzeit). Muss mir mal die CPU Temperaturen angucken, wenn ich wieder Zuhause bin.

    Für den Inhalt des Beitrages 54194 haftet ausdrücklich der jeweilige Autor: Laudian

  • Der TE mag auf die "tee-Lösung" nicht eingehen, aber der interessierte Leser wird wissen wollen, dass Fortschrittsanzeigen gerne über den Fehlerkanal kommen. Mit der Zeichenfolge 2>&1 kann man die beiden Ausgabekanäle zusammenlegen.

  • Der TE mag auf die "tee-Lösung" nicht eingehen, aber der interessierte Leser wird wissen wollen, dass Fortschrittsanzeigen gerne über den Fehlerkanal kommen. Mit der Zeichenfolge 2>&1 kann man die beiden Ausgabekanäle zusammenlegen.


    was, solange man nichts anderes angibt, von Haus aus so ist.

    Für den Inhalt des Beitrages 54212 haftet ausdrücklich der jeweilige Autor: uhelp

  • @TE:
    Ist das Problem mittlerweile gelöst?
    Haben die Tipps von Persephone und uhelp etwas gebracht?
    Bitte rückmelden, sonst wird der Thread als Erledigt markiert.

    ___________________________________________________________________________________
    Zypper Befehlsreferenz

    Für den Inhalt des Beitrages 56082 haftet ausdrücklich der jeweilige Autor: lush