Discussion:
History im Apple Terminal und iTerm2
(zu alt für eine Antwort)
T.
2024-03-04 10:29:53 UTC
Permalink
Moin allerseits,

da ich sehr viel auf der Kommandozeile arbeite, mit vielen Fenstern und
TABs und auch in unterschiedlichen Projekten, gibt es eine Funktion, die
ich im Apple Terminal (und bei iTerm2) _sehr_ zu schätzen weiß:

Schließt man das Terminal-Programm (also komplett inkl. aller Fenster
und TABs) und öffnet es wieder, z.B. nach einem Neustart, werden nicht
nur alle Fenster und TABs wieder hergestellt, sondern auch die Inhalte
aller Fenster/TABs.

Und es wird nicht nur der Inhalt des noch sichtbaren Bereichs
wiederhergestellt, sondern auch alles, was jemals zuvor in jedem
einzelnen Fenster ausgegeben wurde.

Hat jemand 'ne Idee, wie das realisiert wird?

Und kennt jemand eine Entsprechung dafür unter Linux?

Es gibt da ja jede Menge an Terminal-Programmen, TABs sind üblich, auch
das wiederherstellen von Fenstern und TABs klappt i.d.R., aber ich habe
noch keins gefunden, welches auch die Inhalte der Fenster/TABs restauriert.


Vielen Dank,
--
Gruesse,

Thorolf
Jan Novak
2024-03-04 14:20:49 UTC
Permalink
Post by T.
Moin allerseits,
da ich sehr viel auf der Kommandozeile arbeite, mit vielen Fenstern und
TABs und auch in unterschiedlichen Projekten, gibt es eine Funktion, die
Schließt man das Terminal-Programm (also komplett inkl. aller Fenster
und TABs) und öffnet es wieder, z.B. nach einem Neustart, werden nicht
nur alle Fenster und TABs wieder hergestellt, sondern auch die Inhalte
aller Fenster/TABs.
Und es wird nicht nur der Inhalt des noch sichtbaren Bereichs
wiederhergestellt, sondern auch alles, was jemals zuvor in jedem
einzelnen Fenster ausgegeben wurde.
Hat jemand 'ne Idee, wie das realisiert wird?
Und kennt jemand eine Entsprechung dafür unter Linux?
Es gibt da ja jede Menge an Terminal-Programmen, TABs sind üblich, auch
das wiederherstellen von Fenstern und TABs klappt i.d.R., aber ich habe
noch keins gefunden, welches auch die Inhalte der Fenster/TABs restauriert.
Ich wusste bis jetzt nicht, dass dies überhaupt möglich war.
Du kannst in der .bashrc einstellen, wieviel Zeilen du im Terminal
hochscrollen kannst, aber diese bei einem "Schliessen" gespeichert
werden, war mir neu.

Ich arbeite ebenso in beiden Welten viel (MacOS und Linux CLI), aber
unter Linux wäre mir das auch nicht bekannt, dass man sich die (oben
erwähnten Zeilen) zwischenspeichern kann und dann beim Öffnen des
Terminals wieder in die "Screen history" liest.

Dennoch, eine interessante Idee. Ich verfolge diesen Thread :-)

Jan
Steffen Bendix
2024-03-04 17:10:03 UTC
Permalink
Post by T.
Hat jemand 'ne Idee, wie das realisiert wird?
Na, ich schätze, das Terminal liest stupide die ~/.zsh_history oder
.bash_history aus. Sollte für einen halbwegs begabten Linuxprogrammierer eines
Terminals nicht schwer umsetzbar sein.

Steffen
Dennis Preiser
2024-03-04 17:56:42 UTC
Permalink
Post by Steffen Bendix
Post by T.
Hat jemand 'ne Idee, wie das realisiert wird?
Na, ich schätze, das Terminal liest stupide die ~/.zsh_history oder
.bash_history aus. Sollte für einen halbwegs begabten Linuxprogrammierer eines
Terminals nicht schwer umsetzbar sein.
Ich denke, er meint den Scrollback Buffer. Den muss man schon irgendwie
gesichert haben, um ihn rüberzuretten. Einfach die Kommandos aus der
history nochmal aufzurufen dürfte eher suboptimal sein.

Dennis
T.
2024-03-04 21:52:11 UTC
Permalink
Post by Steffen Bendix
Na, ich schätze, das Terminal liest stupide die ~/.zsh_history oder
.bash_history aus. Sollte für einen halbwegs begabten Linuxprogrammierer eines
Terminals nicht schwer umsetzbar sein.
nein, es geht nicht um die Befehlshistorie, sondern um die Texteingaben
(in der .bash_history) und deren Bildschirmausgaben nach Ausführung in
den einzelnen Fenstern.

Die Ausgaben kann man nicht durch erneutes Ausführen aller Befehle der
Befehlshistorie wiederherstellen ...
--
Gruesse,

Thorolf
Eberhard W Lisse
2024-03-04 19:16:01 UTC
Permalink
in meinem iTerm gibt es bei Preferences -> General -> Startup eine
Windows restoration policy (Use System Window Restoration Setting).

Ich würde dazu vielleicht mal auf der Help Page nachlesen.

mfg, el

On 2024-03-04 06:29, T. wrote:
[...]> und TABs) und öffnet es wieder, z.B. nach einem Neustart, werden
nicht nur alle Fenster und TABs wieder hergestellt, sondern auch die
Inhalte aller Fenster/TABs.
Und es wird nicht nur der Inhalt des noch sichtbaren Bereichs
wiederhergestellt, sondern auch alles, was jemals zuvor in jedem
einzelnen Fenster ausgegeben wurde.
[...]
T.
2024-03-04 22:08:58 UTC
Permalink
Post by Eberhard W Lisse
in meinem iTerm gibt es bei Preferences -> General -> Startup eine
Windows restoration policy (Use System Window Restoration Setting).
ja, könnte ein Hinweis in die richtige Richtung sein:

"Session restoration works by running your jobs within long-lived
servers rather than as child processes of iTerm2. If iTerm2 crashes or
upgrades, the servers keep going. When iTerm2 restarts, it searches for
running servers and connects to them. The OS's window restoration
feature preserves the content of your window, including scrollback
history. iTerm2 marries the restored session to the appropriate server
so you can pick up where you were."

<https://iterm2.com/documentation-restoration.html>

D.h. es läuft im Hintergrund ein Screen o.ä., der die Inhalte aber dann
irgendwie auch weg sichern und beim (Neu-)Start wieder zurück holen muss.


Aber funktioniert ja auch mit dem ganz normalen Apple Terminal, dafür
benötigt man kein iTerm2 ...
--
Gruesse,

Thorolf
Loading...