Sur une nouvelle configuration, tmux utilise bash au lieu de ma valeur par défaut (zsh).
Comment puis-je le forcer à utiliser zsh?
Sur une nouvelle configuration, tmux utilise bash au lieu de ma valeur par défaut (zsh).
Comment puis-je le forcer à utiliser zsh?
Réponses:
set-option -g default-shell /bin/zshdans ~/.tmux.confou /etc/tmux.conf. Fonctionne sur Fedora.
Vous devrez peut-être redémarrer tmux avec killall tmux; tmux
tmux. Cela semble évident, mais il m'a fallu une bonne heure pour comprendre!
                    killall tmux; tmux. Il m'a fallu un bon bout de temps pour comprendre.
                    bind R source-file ~/.tmux.conf \; display-message "  Config reloaded..".
                    tmux source-file ~/.tmux.confdepuis la ligne de commande.
                    tmux kill-serverplace.
                    Tout d’abord, assurez-vous que votre shell par défaut est correctement défini sur zsh en l’exécutant dans votre ligne de commande:
chsh -s $(`which zsh`) $USERPlacer le texte suivant dans votre ~ / .tmux.conf est une option plus robuste pour n’importe quel shell.
set-option -g default-shell $SHELLchsh -s) car tmux offre une option indépendante de celle-ci.
                    Déposez 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.
tmux kill-serverest la commande pour mettre fin à tous les serveurs tmux
                    set-option -g default-shell t-il? ce qui précède ne semble pas fonctionner avec la coquille de poisson.
                    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.confou /etc/tmux.conf.
Pour obtenir le changement de réellement prendre effet, vous devrez peut - être tmux kill-serverpuis tmuxredémarrer tmux.
tmux semble utiliser la SHELLvariable d'environnement, les éléments suivants devraient donc fonctionner:
SHELL=/usr/bin/zsh tmuxou
env SHELL=/usr/bin/zsh tmux/bin/bashafin d’éviter toute interruption non itéractive. iTerm ne définira $SHELLpas le nouveau nom du shell (vous ne savez pas pourquoi), et son initialisation sur bash le définira sur le shell de connexion s'il n'est pas défini au démarrage. tmux utilise ensuite cette valeur si default-shelln'est pas défini explicitement.
                    env SHELL=/usr/bin/zsh tmux- être que c'est mieux? (mis à jour la réponse).
                    La déconnexion et la connexion à nouveau ont résolu mon problème. Lorsque $SHELLcela a été répété, il était toujours, /bin/bashmais après la déconnexion, il a été remplacé par/usr/bin/zsh
Ajoutez ceci dans votre ~/.tmux.conf
set -g default-command /usr/local/bin/fishLa 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 tmux kill-server; tmuxde recharger le fichier tmux.conf
J'utilise tmux -V2.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.
Pour moi je devais remplacer:
default-command "/usr/local/bin/fish"
default-shell "/usr/local/bin/fish"
avec
set-option -g default-command "/usr/local/bin/fish"
set-option -g default-shell "/usr/local/bin/fish"
dans .tmux.conf
et exécuter la commandetmux kill-server; tmux
set-option -gau lieu de set -g. versions les plus probables de tmux
                    setest un alias pour set-option.