Ich habe festgestellt, dass sich der Puffer füllt und schließlich den Prozess blockiert, den ich auf dem Bildschirm ausführe, wenn ich in einem Byobu-Bildschirm in den "Kopiermodus" oder "Bildlaufmodus" gehe, mich von ihm entferne und ihn laufen lasse. (Vermutlich, weil der Prozess nicht in stdout schreiben kann, da niemand die Bytes verbraucht.)
Dieses Verhalten ist irgendwie verheerend. Ist es zum Beispiel möglich
Beenden Sie den Kopier- / Bildlaufmodus automatisch, wenn Sie sich vom Bildschirm lösen.
oder
Lassen Sie die Position der Ansicht, die sich im Kopier- / Bildlaufmodus befindet, vorwärts gehen, sobald der Puffer voll ist, damit der Prozess weiter ausgeführt werden kann
Freut mich über Ratschläge dazu.
gnu-screen
byobu
aioobe
quelle
quelle
Antworten:
Ihre Einschätzung ist korrekt. Das Programm, das im Scrollback-Modus-Fenster ausgeführt wird, wird angehalten, da der Ausgabepuffer voll ist und das Warten auf das Schreiben unterbrochen wird. Dieses Verhalten ist sowohl korrekt als auch wünschenswert. Der Benutzer hat den Bildlaufmodus aufgerufen, um den Bildschirminhalt anzuzeigen. Wie Sie jedoch bemerkt haben, ist dies weder praktisch noch offensichtlich, wenn die Sitzung getrennt wird.
Leider scheint es sowohl in gnu-screen als auch in tmux eine fehlende Funktion zu sein. byobu kann es nicht in einem Wrapper reparieren, da es den Scrollback-Status eines bestimmten Fensters nicht erkennen und ein Fenster nicht mit externen Befehlen ausbrechen kann, obwohl es Befehle wie der Benutzer an das Terminal senden kann würde, wäre es in der Lage, den Scrollback-Zustand zu erkennen oder sich daran zu erinnern. Weder Bildschirm noch tmux scheinen eine Funktion zu enthalten, mit der das automatische Zurücksetzen aus dem Scrollback-Modus ermöglicht wird, wenn das Terminal getrennt wird. Ein Patch wäre erforderlich.
quelle