Er, há alguma indicação de que o re5et (o OP) esteja em um Mac ou esse programa wrapper esteja instalado?
31412 Chris Chrissen
1
Eu acho que essa resposta só funciona no Mac OS X
EhevuTov
5
tmux kill-serveré o comando para acabar com todos os servidores tmux
Keith Smiley
1
Embora não tenha sido a resposta solicitada pelo OP, acabei neste tópico e, de fato, estou no OS X, usando este wrapper, e esta é a solução que eu precisava; então obrigado!
Jose Alban
1
como isso difere set-option -g default-shell ? o acima não parece funcionar com a casca do peixe.
Tommy
5
Se você deseja forçar o tmux a usar o mesmo shell especificado na sua variável de ambiente, você pode usar:
# force SHELL ENV variable as shellset-option -g default-shell ${SHELL}
no seu ~/.tmux.confou /etc/tmux.conf.
Para que a alteração entre em vigor, você pode precisar tmux kill-servere tmuxreiniciar o tmux.
Não sei por que isso foi rejeitado. Parece estar correto: um problema comum é usar um shell diferente para, por exemplo, o iTerm, mas deixar o shell de login /bin/bashpara garantir que não haja interrupções não iterativas. O iTerm não será definido $SHELLcomo o novo nome do shell (não sei por que) e a inicialização do bash o definirá para o shell de login, se não estiver definido na inicialização. O tmux usa esse valor se default-shellnão for definido explicitamente.
Sam Brightman
Sim .. talvez env SHELL=/usr/bin/zsh tmuxseja melhor? (atualizou a resposta).
Respostas:
em
~/.tmux.conf
ou/etc/tmux.conf
. Funciona no Fedora.Pode ser necessário reiniciar o tmux com
killall tmux; tmux
fonte
tmux
. Parece óbvio, mas me levou uma boa hora para descobrir!killall tmux; tmux
. Demorei um pouco para descobrir.bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
tmux source-file ~/.tmux.conf
partir da linha de comando.tmux kill-server
.Primeiro, verifique se o shell padrão está definido corretamente como zsh, executando-o na linha de comando:
Colocar o seguinte no seu ~ / .tmux.conf é uma opção mais robusta para qualquer shell.
fonte
chsh -s
), pois o tmux oferece uma opção independente disso.Largue esta linha no fundo do seu
~/.tmux.conf
Depois de adicionar isso, mate e reinicie o servidor tmux e tudo deve funcionar.
fonte
tmux kill-server
é o comando para acabar com todos os servidores tmuxset-option -g default-shell
? o acima não parece funcionar com a casca do peixe.Se você deseja forçar o tmux a usar o mesmo shell especificado na sua variável de ambiente, você pode usar:
no seu
~/.tmux.conf
ou/etc/tmux.conf
.Para que a alteração entre em vigor, você pode precisar
tmux kill-server
etmux
reiniciar o tmux.fonte
Use
chsh(1)
:fonte
Sair e entrar novamente corrigiram meu problema. Quando ecoou
$SHELL
, ainda estava/bin/bash
mas, após o logout, foi alterado para/usr/bin/zsh
fonte
O tmux parece usar a
SHELL
variável de ambiente, portanto, o seguinte deve funcionar:ou
fonte
/bin/bash
para garantir que não haja interrupções não iterativas. O iTerm não será definido$SHELL
como o novo nome do shell (não sei por que) e a inicialização do bash o definirá para o shell de login, se não estiver definido na inicialização. O tmux usa esse valor sedefault-shell
não for definido explicitamente.env SHELL=/usr/bin/zsh tmux
seja melhor? (atualizou a resposta).Adicione isso ao seu
~/.tmux.conf
fonte
A resposta aceita não funcionou para mim.
Eu tive que escrever ambos
e
no meu
~/.tmux.conf
- Não esqueçatmux kill-server; tmux
de recarregar o tmux.confEstou usando o
tmux -V
2.6 no Ubuntu 18 no emulador de gnome-shell.Também aprimorei o tmux com https://github.com/samoshkin/tmux-config . Confira, é muito legal.
fonte
Para mim eu tive que substituir:
com
.tmux.conf
comando in e runtmux kill-server; tmux
fonte
set-option -g
vez deset -g
. versões diferentes do tmux provavelmenteset
é um alias paraset-option
.