Führen Sie einen Prozess im aktuellen Bereich aus und leiten Sie stdio zum / vom Bereich um

7

GNU Screen verfügt über einen Befehl exec, der einen Unterprozess startet und optional ermöglicht, Dinge mit seinen Dateideskriptoren zu tun, einschließlich des Bindens in Ihrem Fenster. Ich verwende häufig :exec !! sx -b /tmp/file, um eine Datei über eine serielle Verbindung mit dem xmodem-Protokoll zu senden.

Ich suche nach der gleichen Funktionalität in tmux, damit ich mich vom Bildschirm entfernen kann, ohne die Minicom-Funktion (oder Picocom-Funktion usw.) zum Senden von Dateien verwenden zu müssen.

Shawn J. Goff
quelle

Antworten:

1

Führen Sie tmux aus

tmux    

Wechseln Sie in Ihrer tmux-Sitzung in den Befehlsmodus:

ctrlB dann :

Teilen Sie dann ein neues Fenster mit einem zugeordneten Befehl.

split-window -d 'exec sx -b /tmp/file' 

Option -d ist optional. Sie dient dazu, sich vom neuen Bereich zu lösen und zum ersten zurückzukehren. Das funktioniert auch mit dem Befehl new-window.

CtrlBwechselt dann ovon einem Bereich zum anderen.

Ich habe es nicht mit sx getestet , aber es hat mit funktioniertexec top

Emmanuel
quelle
0

Schauen Sie sich den Befehl respawn-window von tmux und http://hyperpolyglot.org/multiplexers an

Ingopingo
quelle
1
Ich weiß nicht, wie ich das nutzen könnte, um mein Ziel zu erreichen. Ich möchte stdout von einem Befehl in ein Fenster und die Ausgabe des Fensters in stdin des Befehls ausgeben.
Shawn J. Goff