在新设置中,tmux 使用 bash 而不是我的默认设置(zsh)。
我怎样才能强制它使用 zsh?
答案1
set-option -g default-shell /bin/zsh
在~/.tmux.conf
或/etc/tmux.conf
。适用于 Fedora。
<leader>: source-file <conf file>
您可以使用例如重新加载配置
<C-b>: source-file ~/.tmux.conf
你需要为每个 tmux 实例执行此操作。否则,你可以使用以下命令重新启动 tmuxkillall tmux; tmux
答案2
zsh
首先,通过在命令行中运行以下命令确保默认 shell 已正确设置:
chsh -s $(`which zsh`) $USER
将以下内容放入您的〜/ .tmux.conf对于任何 shell 来说都是更强大的选择。
set-option -g default-shell $SHELL
答案3
对于 MacOS 用户,请将此行放在~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
添加后,终止并重新启动 tmux 服务器,一切就可以正常工作了。
答案4
如果您想强制 tmux 使用与环境变量中指定的相同 shell,您可以使用:
# force SHELL ENV variable as shell
set-option -g default-shell ${SHELL}
在您的~/.tmux.conf
或/etc/tmux.conf
。
为了使更改真正生效,您可能需要tmux kill-server
重新tmux
启动 tmux。