tmux desconsiderando o arquivo de configuração


88

Acabei de instalar o tmux no Ubuntu 10.04 e tentei remapear a chave do prefixo C-acriando o arquivo ~/.tmux.confcom estas linhas:

set-option -g prefix C-a
unbind-key C-b

Ao iniciar o tmux, regularmente e com -f ~/.tmux.conf, o prefixo é efetivamente o mesmo padrãoC-b

Não há erros ou avisos.

Alguma idéia do que há de errado com o carregamento do conf?


Funciona para mim ™. Tente executar strace -s9999 -f -o tmux.strace tmux -c truee publique a saída de grep -C5 'tmux\.conf' tmux.strace.
Gilles

Eu tive o mesmo problema, sem sessões existentes (a conexão relatada 'tmux ls' foi recusada, ou seja, não está sendo executada), mas ainda não estava lendo o arquivo conf. Eu estava iniciando-o com um CWD em algum lugar em / usr, mas quando mudei para ~ / e iniciei o tmux, ele processou o arquivo conf. É um comportamento estranho, mas isso é algo para verificar.
Ranko Kohime

Respostas:


119

O arquivo ~ / .tmux.conf é carregado quando o servidor tmux é iniciado pela primeira vez. Portanto, se houver sessões tmux existentes, iniciar uma nova sessão com tmuxnão resultará no recarregamento do arquivo .tmux.conf. Tente reiniciar o servidor tmux: Use o comando tmux list-sessionspara verificar se existem sessões existentes. Saia deles (por exemplo tmux attach, mate todas as janelas e saia). Quando todas as sessões terminarem, tente tmuxnovamente. Desta vez, a religação deve funcionar.


27
killall tmuxou tmux kill-servervai começar o trabalho feito também
Matt

5
Eu usei killall tmuxe tmux kill-serverainda meu conf não está carregado. Posso confirmar que é válido, pois o uso :source-file ~/.tmux.confno tmux realmente faz as alterações na configuração! Não consigo descobrir o que está causando esse comportamento.
Ambidex

Gostaria de saber por que recarregar a configuração não foi mencionado nesta resposta. Às vezes funciona e às vezes não. Alguma idéia sobre isso?
DarthPaghius 13/04/19

53

Para recarregar seu ~ / .tmux.conf sem interromper sua sessão, você pode simplesmente:

C-b :source-file /absolute/path/to/your/.tmux.conf

4
Você pode adicionar o seguinte ao .tmux.conf para usar o Ctrl-A r para recarregar:bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
RedPixel

+1 por apontar a necessidade do caminho absoluto
Akash Agarwal

20

execute dentro da sua sessão tmux:

tmux source-file /absolute/path/to/your/.tmux.conf

Nota: isso não afetará a janela atual do tmux (obviamente), mas todas as novas janelas do tmux.
Klaws 12/03

3

Há também uma ligação para recarregar o seu atalho de teclado padrão ~/.tmux.conf, pelo menos na minha instalação: C-b r. Se você clicar C-b ?nele, será exibida uma lista de todos os atalhos de teclado vinculados, para que você possa ver se já possui um.


Isso é específico para sua instalação / configuração. Por padrão, <prefix> restá vinculado a refresh-client(o que você descreve seria algo como source ~/.tmux.conf).
Chris Johnsen

1

Eu tive esse problema porque estava usando o tmux-next .

Inicialmente, eu o resolvi passando o arquivo de configuração explicitamente, tmux -f ~/.tmux.confcomo a pergunta aqui aponta. (Eu já tinha o alias do tmux-next ao tmux.)

Então eu percebi que o tmux-next está usando o tmux-next.conf, então basta ligar novamente se estiver usando isso e só precisar executar a próxima versão do tmux.

ln -s ~/.tmux.conf ~/.tmux-next.conf


1

Saí e reabri meu terminal, e é a única maneira de fazê-lo funcionar novamente. Não sei por que.

usando o Terminal no Mac OSX

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.