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