На новой установке tmux использует bash вместо моего по умолчанию (zsh).
Как я могу заставить его использовать Zsh?
set-option -g default-shell /bin/zsh
в ~/.tmux.conf
или /etc/tmux.conf
. Работает на Fedora.
Возможно, вам придется перезапустить tmux с помощью killall tmux; tmux
Сначала убедитесь, что оболочка по умолчанию настроена на zsh, запустив это в командной строке:
chsh -s $(`which zsh`) $USER
Размещение следующего в вашем ~/.tmux.conf является более надежным вариантом для любой оболочки.
set-option -g default-shell $SHELL
Оставьте эту строку в нижней части вашего ~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
После того, как вы добавите это, убейте и перезапустите ваш сервер tmux, и все должно работать.
Если вы хотите заставить tmux использовать ту же оболочку, которая указана в вашей переменной окружения, вы можете использовать:
# force SHELL ENV variable as shell
set-option -g default-shell ${SHELL}
в вашем ~/.tmux.conf
или /etc/tmux.conf
.
Чтобы изменения вступили в силу, вам может потребоваться tmux kill-server
а затем tmux
для перезапуска tmux.
Используйте chsh(1)
:
chsh -s /bin/zsh $USER
Выйти из системы и снова войти в систему исправили мою проблему. Когда отображался $SHELL
он все еще был /bin/bash
но после выхода из системы он был изменен на /usr/bin/zsh
Принятый ответ не работал для меня.
Я должен был написать оба
set -g default-shell "/bin/bash"
а также
set -g default-commanmd "/bin/bash"
в моем ~/.tmux.conf
- не забудьте tmux kill-server; tmux
, чтобы перезагрузить tmux.conf
Я использую tmux -V
2.6 под Ubuntu 18 в эмуляторе оболочки gnome.
Я также улучшил tmux с помощью https://github.com/samoshkin/tmux-config. Проверьте это, это действительно круто.
Добавьте это в ваш ~/.tmux.conf
set -g default-command /usr/local/bin/fish
tmux использует переменную окружения SHELL
, поэтому должно работать следующее:
SHELL=/usr/bin/zsh tmux
или же
env SHELL=/usr/bin/zsh tmux