Il n'est pas nécessaire de définir l'utilisateur shell ( chsh -s) car tmux offre une option indépendante de celle-ci.
Mahmoud Al-Qudsi,
Je pensais qu'il était plus robuste d'utiliser la variable $ SHELL. Mais cela ajoute un pas supplémentaire et de la confusion donc je préfère la réponse acceptée.
DebugXYZ le
C'est mieux que la réponse acceptée. Mon zsh n'est pas installé dans / bin / zsh.
Euh, y a-t-il une indication que re5et (l'OP) est sur un Mac, ou ce programme d'emballage est-il installé?
Chris Johnsen
1
Je pense que cette réponse ne fonctionne que pour Mac OS X
EhevuTov
5
tmux kill-serverest la commande pour mettre fin à tous les serveurs tmux
Keith Smiley
1
Bien que ce ne soit pas la réponse demandée par l'OP, je me suis retrouvé dans ce fil de discussion et, en fait, je suis sous OS X, j'utilise cet emballage, et c'est la solution dont j'avais besoin. alors merci!
Jose Alban
1
en quoi cela diffère- set-option -g default-shell t-il? ce qui précède ne semble pas fonctionner avec la coquille de poisson.
Tommy
5
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 shellset-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.
Vous ne savez pas pourquoi cela a été voté à la baisse. Cela semble être correct: un problème courant consiste à utiliser un shell différent pour, par exemple, iTerm, tout en laissant un shell de connexion /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.
Sam Brightman
Ouais .. peut 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
Réponses:
dans
~/.tmux.conf
ou/etc/tmux.conf
. Fonctionne sur Fedora.Vous devrez peut-être redémarrer tmux avec
killall tmux; tmux
la source
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.conf
depuis la ligne de commande.tmux kill-server
place.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:
Placer le texte suivant dans votre ~ / .tmux.conf est une option plus robuste pour n’importe quel shell.
la source
chsh -s
) car tmux offre une option indépendante de celle-ci.Déposez cette ligne au bas de votre
~/.tmux.conf
Après avoir ajouté cela, tuez et redémarrez votre serveur tmux et tout devrait fonctionner.
la source
tmux kill-server
est la commande pour mettre fin à tous les serveurs tmuxset-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:
dans votre
~/.tmux.conf
ou/etc/tmux.conf
.Pour obtenir le changement de réellement prendre effet, vous devrez peut - être
tmux kill-server
puistmux
redémarrer tmux.la source
tmux semble utiliser la
SHELL
variable d'environnement, les éléments suivants devraient donc fonctionner:ou
la source
/bin/bash
afin d’éviter toute interruption non itéractive. iTerm ne définira$SHELL
pas 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 sidefault-shell
n'est pas défini explicitement.env SHELL=/usr/bin/zsh tmux
- être que c'est mieux? (mis à jour la réponse).Utiliser
chsh(1)
:la source
La déconnexion et la connexion à nouveau ont résolu mon problème. Lorsque
$SHELL
cela a été répété, il était toujours,/bin/bash
mais après la déconnexion, il a été remplacé par/usr/bin/zsh
la source
Ajoutez ceci dans votre
~/.tmux.conf
la source
La réponse acceptée n'a pas fonctionné pour moi.
Je devais écrire les deux
et
dans mon
~/.tmux.conf
- N'oubliez pastmux kill-server; tmux
de recharger le fichier tmux.confJ'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.
la source
Pour moi je devais remplacer:
avec
dans
.tmux.conf
et exécuter la commandetmux kill-server; tmux
la source
set-option -g
au lieu deset -g
. versions les plus probables de tmuxset
est un alias pourset-option
.