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

7

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

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

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

Итак, я попробовал запустить byobu-tmux new-session , но затем он запускает новый сеанс tmux, используя свою конфигурацию (из ~/.tmux.conf ) вместо byobu.

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

    
задан elias 21.05.2014 в 16:54
источник

1 ответ

9

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

Согласно странице tmux man , вы можете просто изменить сокет используемый 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.

    
ответ дан Mike Miller 21.05.2014 в 17:33
источник