Используйте несколько сеансов byobu, игнорируя несвязанные сеансы tmux

9

Итак, у меня есть доступ к общей учетной записи оболочки, где другие люди и я работаем.

Некоторые люди предпочитают использовать tmux, поэтому они открывают свои сессии tmux, загружая конфигурацию из ~/.tmux.conf. Я предпочитаю использовать byobuобертку вокруг tmux, так как она имеет более приятные сочетания клавиш и другие вещи.

Проблема в том, что когда есть сеанс tmux, используемый другими людьми, всякий раз, когда я запускаю byobu, он возобновляет их сеанс tmux вместо того, чтобы создавать для меня новый сеанс byobu.

Итак, я попытался запустить byobu-tmux new-session, но затем он запускает новый сеанс tmux, используя их config (from ~/.tmux.conf) вместо byobu.

Как я могу обойти это?

Элиас
источник

Ответы:

11

Программа tmux предназначена для работы в качестве отдельного серверного процесса, который управляет одним или несколькими независимыми сеансами. Файл конфигурации загружается серверным процессом при его запуске и применяется к новым сеансам при их создании. Работающий tmux new-session(или, что эквивалентно в этом случае byobu new-session) связывается с работающим сервером, если таковой имеется, и запрашивает, чтобы он создал новый сеанс. Сервер использует для своего сокета известный путь, основанный только на UID пользователя, и это все, что необходимо для подключения к работающему серверу tmux. Вот почему, если «нормальный» сеанс tmux уже запущен, byobu либо присоединится, либо создаст новый сеанс с использованием этого сервера.

Согласно справочной странице tmux , вы можете просто изменить сокет, используемый tmux для запуска двух независимых серверов tmux, каждый из которых имеет свой собственный набор конфигурации, если это необходимо. Вы можете либо указать -Lбазовое имя сокета, либо -Sуказать совершенно другой путь к файлу сокета. Сокет tmux по умолчанию называется default.

Таким образом, используя эти параметры tmux при вызове byobu, чтобы запустить независимый сервер tmux с помощью byobu, вы можете запустить

byobu -L my-byobu new

или

byobu -L my-byobu attach

где имя my-byobuможет быть заменено любым именем по вашему выбору. Это запускает новый сервер tmux с именем my-byobu, которое загружает конфигурацию byobu для tmux вместо значения по умолчанию и эффективно создает независимое пространство имен для ваших сеансов byobu tmux.

Майк Миллер
источник