Answers:
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
改用更干净的方式杀死tmux服务器。
将此行放在您的底部 ~/.tmux.conf
set-option -g default-command "reattach-to-user-namespace -l zsh"
添加完之后,请杀死并重新启动tmux服务器,一切都应正常工作。
tmux kill-server
是结束所有tmux服务器的命令
set-option -g default-shell
有何不同?以上似乎不适用于Fish壳。
tmux似乎使用了SHELL
环境变量,因此以下方法应该起作用:
SHELL=/usr/bin/zsh tmux
要么
env SHELL=/usr/bin/zsh tmux
/bin/bash
以确保没有非迭代中断。iTerm不会设置$SHELL
为新的外壳程序名称(不确定原因),并且bash初始化会将其设置为登录外壳程序(如果在启动时未设置)。如果default-shell
未明确设置,则tmux将使用此值。
env SHELL=/usr/bin/zsh tmux
更好?(更新了答案)。
接受的答案对我不起作用。
我都必须写
set -g default-shell "/bin/bash"
和
set -g default-commanmd "/bin/bash"
在我的~/.tmux.conf
—不要忘记tmux kill-server; tmux
,重新加载tmux.conf
我正在tmux -V
gnome-shell模拟器中的Ubuntu 18下使用2.6。
我还通过https://github.com/samoshkin/tmux-config增强了tmux 。看看,真的很棒。
对我来说,我不得不替换:
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
。