Я просто изучаю tmux, и у меня нет опыта работы с экраном. Мне интересно, могу ли я переместить окно в одном tmux-клиенте другому tmux-клиенту. Я хочу переместить моего клиента IRC в новое окно на моем экране.
Перемещение окна между клиентами tmux
Ответ 1
Да, вы можете использовать команду move-window:
move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
Это похоже на ссылку-окно, за исключением того, что окно в src-окне перемещается в dst-окно.
где src-window и dst-window имеют форму: session: window.pane(сеанс и окно могут быть либо именем, либо id).
Итак, предположим, что у вас сеанс "чата" с окном "irc" и вы хотите переместить его на сеанс "other_session", который вы можете сделать (в командной строке tmux):
move-window -s chat:irc -t other_session
Если вы уже находитесь в окне чата: irc, вам не нужно указывать источник, поэтому
move-window -t other_session:
сделает это.
Таким же образом, из сеанса "other_session" вам не нужно указывать цель.
movew -d irc:irc_window
Если вы не назвали ваши окна/сеансы, вам нужно использовать их идентификаторы.
Ответ 2
Еще один полезный вариант:
link-window [-dk] [-s src-window] [-t dst-window]
(alias: linkw)
Link the window at src-window to the specified dst-window. If dst-window is specified
and no such window exists, the src-window is linked there. If -k is given and
dst-window exists, it is killed, otherwise an error is generated. If -d is given, the
newly linked window is not selected.
Это означает, что вы можете обмениваться окном через несколько сеансов:
Assuming I have these 2 sessions: daemons and proj
tmux link-window -dk -s daemons:0 -t proj:0