Sur une nouvelle configuration, tmux utilise bash au lieu de ma valeur par défaut (zsh).
Comment puis-je le forcer à utiliser zsh?
set-option -g default-Shell /bin/zsh
dans ~/.tmux.conf
ou /etc/tmux.conf
. Fonctionne sur Fedora.
Vous devrez peut-être redémarrer tmux avec killall tmux; tmux
Tout d’abord, assurez-vous que votre shell par défaut est correctement défini sur zsh en l’exécutant dans la ligne de commande:
chsh -s $(`which zsh`) $USER
Placer le texte suivant dans ~/.tmux.conf est une option plus robuste pour n’importe quel shell.
set-option -g default-Shell $Shell
Placez cette ligne au bas de votre ~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
Après avoir ajouté cela, tuez et redémarrez votre serveur tmux et tout devrait fonctionner.
Si vous voulez forcer tmux à utiliser le même shell que celui spécifié dans votre variable d'environnement, vous pouvez utiliser:
# force Shell ENV variable as Shell
set-option -g default-Shell ${Shell}
dans votre ~/.tmux.conf
ou /etc/tmux.conf
.
Pour que les modifications prennent effet, il vous faudra peut-être tmux kill-server
puis tmux
pour redémarrer tmux.
Utilisez chsh(1)
:
chsh -s /bin/zsh $USER
La déconnexion et la connexion à nouveau ont résolu mon problème. Quand echoed $Shell
il était toujours /bin/bash
mais après la déconnexion il a été changé en /usr/bin/zsh
La réponse acceptée n'a pas fonctionné pour moi.
Je devais écrire les deux
set -g default-Shell "/bin/bash"
et
set -g default-commanmd "/bin/bash"
dans mon ~/.tmux.conf
- N'oubliez pas de tmux kill-server; tmux
, pour recharger le fichier tmux.conf
J'utilise tmux -V
2.6 sous Ubuntu 18 dans l'émulateur gnome-Shell.
J'ai également amélioré tmux avec https://github.com/samoshkin/tmux-config . Check it out, c'est vraiment cool.
Ajoutez ceci dans votre ~/.tmux.conf
set -g default-command /usr/local/bin/fish
tmux semble utiliser la variable d'environnement Shell
, les éléments suivants devraient donc fonctionner:
Shell=/usr/bin/zsh tmux
ou
env Shell=/usr/bin/zsh tmux