Use várias sessões de byobu, enquanto ignora sessões tmux não relacionadas

9

Portanto, eu tenho acesso a uma conta shell compartilhada onde outras pessoas e eu fazemos algum trabalho.

Algumas pessoas preferem usar o tmux, então elas abrem suas sessões do tmux, carregando a configuração de ~/.tmux.conf. Eu prefiro usar o byobuwrapper no tmux, pois ele tem combinações de teclas muito mais agradáveis ​​e outras coisas.

O problema é que sempre que há uma sessão do tmux usada por outras pessoas, sempre que corro o byobu, ele retoma a sessão do tmux em vez de criar uma nova sessão do byobu para mim.

Então, tentei rodar byobu-tmux new-session, mas ele inicia uma nova sessão do tmux usando sua configuração (de ~/.tmux.conf) em vez do byobu.

Como posso solucionar isso?

elias
fonte

Respostas:

11

O programa tmux foi projetado para ser executado como um processo de servidor único que gerencia uma ou mais sessões independentes. O arquivo de configuração é carregado pelo processo do servidor quando é iniciado e é aplicado a novas sessões quando elas são criadas. A execução tmux new-session(ou, nesse caso, equivalente byobu new-session) entra em contato com o servidor em execução, se houver, e solicita que ele crie uma nova sessão. O servidor usa um caminho conhecido para seu soquete com base apenas no UID do usuário, e isso é tudo o que é necessário para conectar-se a um servidor tmux em execução. Portanto, é por isso que, se uma sessão tmux "normal" já estiver em execução, o byobu se conectará ou criará uma nova sessão usando esse servidor.

De acordo com a página de manual do tmux , você pode simplesmente alterar o soquete usado pelo tmux para iniciar dois servidores tmux independentes, cada um com seus próprios conjuntos de configurações, se desejado. Você pode especificar -Lpara alterar o nome base do soquete ou a -Sopção para especificar um caminho completamente diferente para o arquivo de soquete. O soquete tmux padrão é nomeado default.

Portanto, usando essas opções do tmux ao chamar o byobu, para iniciar um servidor tmux independente com o byobu, você pode executar

byobu -L my-byobu new

ou

byobu -L my-byobu attach

onde o nome my-byobupode ser substituído por qualquer nome de sua escolha. Isso inicia um novo servidor tmux com o nome my-byobu, que carrega a configuração do byobu para o tmux, em vez do padrão, e efetivamente cria um espaço para nome independente para suas sessões do byobu tmux.

Mike Miller
fonte