Puteți face acest lucru cu tmux. Când începeți o sesiune în terminalul A, va exista un număr întreg învelit între acolade în colțul din stânga jos al ferestrei. Acesta este ID-ul sesiunii.
Dacă apoi lansați terminalul B, puteți lansa comanda
atașare tmux [id]
Unde id
este numărul de la terminalulA, veți putea controla acel terminal de la oricare terminal.
Cu toate acestea, dacă faceți doar pașii anteriori, veți pierde terminalul A. Există câteva soluții convenabile aici. Pentru unul, dacă înfășurați atașați
comanda, urmată de && țintă-comandă
între paranteze, le puteți rula într-un subshell. Teoretic, rezultatul acelor comenzi nu ar trebui să aibă niciun efect asupra mediului shellB. Acestea fiind spuse, atunci când rezultatul acestei comenzi este în mod normal de a distruge shellB, am putut vedea că este lovit sau ratat.
O altă opțiune este să rulați comanda într-un proces separat cu &
operator astfel:
some-terminalB-command & tmux atașează [id] && terminalA-command
În această metodă am puțin mai multă încredere. Totuși, putem face mai bine:
some-terminalB-comandă & (tmux atașează [id] && terminalA-comandă)
Aceasta folosește ambele metode, astfel încât atașați
este îndepărtat de două ori din shellB.