当tmux打开时,我希望它默认使用zsh而不是bash。我该如何做到这一点?
答案 0 :(得分:32)
来自man tmux
:
default-shell路径
指定默认shell。当default-command选项设置为empty且必须时,它用作新窗口的登录shell 是可执行文件的完整路径。启动时tmux尝试从第一个合适的SHELL环境设置默认值 变量,getpwuid(3)或/ bin / sh返回的shell。当tmux用作登录shell时,应配置此选项。
所以,在你的tmux.conf
:
# set shell
set -g default-shell /bin/zsh
如果您愿意,每当我们开始一个新窗口时,您都可以添加默认命令:
# Retach userspaces
set -g default-command "reattach-to-user-namespace -l zsh"
答案 1 :(得分:7)
您可能希望zsh成为大多数事物的默认shell,然后(但这不适用于cron)。以下将使zsh成为您的默认shell,然后您不需要告诉tmux。
chsh -s /usr/bin/zsh
请注意,某些操作系统仍然使用/bin/zsh
作为zsh的路径。
答案 2 :(得分:0)
如果您希望为某个会话单独设置,而不是为其他(未来)会话设置,则可以使用
tmux new-session /bin/zsh \; set default-shell /bin/zsh