Я використовую tmux на EC2 AWS, але хочу побачити, що відбувається за один створений сеанс.
Я використовую Ctrl+, bа потім d покинути сеанс.
Використання ubuntu 16.04
Я використовую tmux на EC2 AWS, але хочу побачити, що відбувається за один створений сеанс.
Я використовую Ctrl+, bа потім d покинути сеанс.
Використання ubuntu 16.04
Відповіді:
Я хочу побачити, що відбувається за один створений нами сеанс.
Наскільки я знаю, ви можете переглянути свій список сесій tmux за допомогою
tmux list-sessions
щоб побачити, які сеанси зараз працюють на tmux.
Щоб насправді побачити, що працює на цих сесіях, вам потрібно приєднатися до конкретного сеансу, для цього у вас є два варіанти (з досвіду).
Якщо ви зараз не запускаєте сеанс tmux (або зараз не перебуваєте на сесії tmux), ви додаєте, запустивши tmux attach -t n
(де -t означає цільовий сеанс, а n - номер цього сеансу).
Якщо ви працюєте в іншому сеансі tmux, ви отримаєте помилку при спробі підключитися до іншого сеансу, тому найпростішим способом побачити, що там працює, є використання tmux list-windows -a
команди, а потім переміщення в будь-яку панель / вікно, в якому ви виконуєте завдання.
Переміщення вікна за допомогою tmux move-window -s n1 -t n2
( -s == вихідного вікна , -t == цільового вікна, до якого буде прикріплюватися вихідне вікно. N1 == номер вікна, до якого потрібно перемістити, і n2 - номер вікна, до якого ви переходите).
Формат
Номери n1 та n2 впорядковані / сформовані як sessionNumb:windowNumb
. Отже, перший сеанс у першому вікні буде 0: 1, а другий сеанс у першому вікні буде 1: 1.
Примітка. n2 має бути доступним сеансом із ще не створеним вікном. Якщо ви перемістите вікно у вже створене вікно, ви отримаєте помилку із записом "Цільове вікно не порожнє", а перехід до нествореного сеансу призведе до помилки "не можу знайти сеанс n".
Переміщуючи панель іноді в одному вікні, у вас може бути багато панелей, і вам потрібно лише перемістити одну панель, це корисно, якщо вам потрібна лише одна панель для переміщення всередині вашого поточного вікна (так як ви не можете перемістити вікно всередині іншого вікна).
Ви використовуєте майже подібний синтаксис при переміщенні вікна, але ви робите tmux move-pane -s *n1* -t *n2*
.
Де n1 зараз формується як sessionNumb:windowNumb.paneNumb
і так є n2 .
Приклади
Після у tmux list-windows -a
вас вийде щось подібне
0:1: Project- (4 panes) [177x48]
0:2: Mirror (3 panes) [177x48]
0:3: Chat! (1 panes) [177x48]
0:4: ssh* (1 panes) [177x48]
1:1: zsh (2 panes) [176x45]
1:2: zsh* (1 panes) [176x45]
1:3: zsh- (1 panes) [176x45]
Тепер, переміщуючи вікно "Чат" з першого сеансу до мого другого сеансу, мені доведеться запустити tmux move-window -s 0:3 -t 1:4
(пам'ятаю, не можу перемістити вікно до вже створеного вікна).
Переміщення панелі
Якщо вам потрібно лише перемістити панель, вам потрібно це зробити, tmux list-panes -a
або якщо ви вже знаєте вікно, з якого воно є, ви можете tmux list-panes -t 0:1
побачити пояснення формату вище .
Результати показують сеанс 0 вікна 1 (-s 0: 1) має ці області.
1: [177x34] [history 3/10000, 4119 bytes] %7 (active)
2: [88x13] [history 541/10000, 231972 bytes] %8
3: [88x13] [history 2/10000, 1541 bytes] %9
що просто не прийнятно, але якщо вам потрібно переглянути більше інформації, щоб ви могли знати, яку саме область вам потрібно, ви можете зробити
tmux list-panes -F "#{pane_current_command}" -t 0:1
які відображатимуть поточні команди, що працюють, на кожній панелі.
У моєму випадку
vim
zsh
python (sadly it's runnuning `ranger`)
Тож після визначення потрібної панелі (скажімо, vim), вам потрібно її перемістити.
tmux move-pane -s 0:1.1 -t 1:1.2
перейти до конкретної області в цьому випадку 2
Якщо у цільовому вікні є лише одна панель, ви tmux move-pane -s 0:1.1 -t 1:1.
не можете скористатися цільовою панеллю, і вона все одно працюватиме.
Сподіваюсь, це відповідає на питання.
tmux attach
?