将tmux默认更改为zsh

use*_*902 21 zsh tmux

当tmux打开时,我希望它默认使用zsh而不是bash.我怎么做到这一点?

jas*_*yan 35

来自man tmux:

default-shell path
指定默认shell.当default-command选项设置为empty时,它用作新窗口的登录shell,并且必须是可执行文件的完整路径.启动时,tmux尝试从第一个合适的SHELL环境变量设置默认值,getpwuid(3)或/ bin/sh返回的shell.当tmux用作登录shell时,应配置此选项.

所以,在你的tmux.conf:

# set shell
set -g default-shell /bin/zsh
Run Code Online (Sandbox Code Playgroud)

如果你愿意,每当我们开始一个新窗口时你都可以添加默认命令:

# Retach userspaces
set -g default-command "reattach-to-user-namespace -l zsh"
Run Code Online (Sandbox Code Playgroud)

  • 记得在设置后`killall tmux` (3认同)

Mic*_*ott 8

您可能希望zsh成为大多数事物的默认shell,然后(但这不适用于cron).以下将使zsh成为您的默认shell,然后您不需要告诉tmux任何东西.

chsh -s /usr/bin/zsh
Run Code Online (Sandbox Code Playgroud)

请注意,某些操作系统仍然/bin/zsh用作zsh的路径.