На новой установке 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