Додайте до сеансів різні вікна


117

У мене досить простий сеанс tmux, який працює з двома відкритими вікнами; один з них для місцевих злому і один з них для роботи.

Що я хотів би зробити, це просто підключитися до вікна злому, залишаючи робоче вікно відкритим в іншому терміналі. Однак, як тільки я підключаюсь до tmux, всі команди надсилаються до обох вікон, тому, якщо я переключаюсь на інше вікно, те саме відбувається в іншому терміналі і навпаки.

Чи є спосіб, щоб я просто підключився до кожного вікна окремо?

Відповіді:


153

Причина, коли обидва клієнта перемикають вікна одночасно, полягає в тому, що вони обоє підключені до одного сеансу ("поточне вікно" - це атрибут сеансу, а не клієнт). Що ви можете зробити, це зв’язати одне або кілька вікон у кілька різних сеансів. Оскільки у кожного сеансу є власне "поточне вікно", ви можете перемикати вікна незалежно у кожному сеансі.

Найпростіший спосіб використовувати цю функцію - це використовувати команду "згруповані сеанси" new-sessionкоманди:

$ tmux new-session -t 'original session name or number'

Щоб переглянути сеанси, які зараз доступні:

$ tmux list-sessions

Кожен сеанс у групі автоматично матиме однаковий набір вікон: відкриття / зв’язування (або закриття / від’єднання) вікна за один сеанс групи автоматично призводить до того, що те саме вікно буде пов'язане (або від’єднане) у всіх інших сесіях групи.

Коли ви закінчите з вашим "додатковим" сеансом, ви можете вбити його kill-session. Самі вікна не будуть вбиті, якщо ваш сеанс не був єдиним, з яким вони були пов’язані. Крім того, ви можете відключитись від свого «додаткового» сеансу, як звичайний (префікс dабо detach-client); якщо ви продовжуєте "зайвий" сеанс навколо (простим від'єднанням від нього), ви можете дати йому описове ім'я (префікс $, або rename-session), щоб ви могли легко його визначити і знову підключити до нього пізніше (ви можете також захотіти дати "оригінальний" сеанс теж ім'я).


Якщо ви не хочете автоматично ділитися динамічним набором вікон, тоді ви можете використовувати link-windowunlink-window) для залучення окремих вікон до (і поза) свого власного "особистого" сеансу; це пропонує неавтоматичний та нижчий рівень доступу до тієї ж основної функціональності, на якій базуються «згруповані сесії» (вікна, пов'язані в декілька сеансів).


12
Відповідь Греда. Чи знаєте ви, як запобігти синхронізації розмірів 2 відкритих сеансів? Якщо я створюю нову сесію, а вікно менше, багато оригінальної нерухомості на екрані в оригіналі витрачається даремно.
дефш

32
Я знайшов відповідь на своє запитання:setw -g aggressive-resize on
дефш

1
Це підтримується як "шахрайський" режим у wemux .
синенький
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.