每次运行 tmux 时,都会启动新的 ssh-agent 子进程(zshell)

nac*_*bre 3 linux kde arch-linux zsh tmux

每次启动tmux或split tmux时,都会启动ssh-agent的新实例(顶部出现“Agent pid XXXX”),这很烦人,因为每次要使用它时都必须键入密钥密码。更不用说一天结束时 ssh 代理的数量了。

我在 KDE 上使用 Arch Linux,我的 $SHELL 是 zshell。

ssh-agent在系统启动时自动启动,但我不知道是谁启动它 - 它不在.zshrcor 中.bash_profile,我试图在 'ssh-agent' 中 grep~但一无所获。

jas*_*yan 5

默认情况下,tmux为所有新窗口生成登录 shell。然后,这将来源您~/.zprofile或您开始的任何地方ssh-agent

作为man tmux清楚,你可以在你明确地设置默认命令避免此行为~/.tmux.conf

default-command shell-command
将用于新窗口的命令(如果在创建窗口时未指定)设置为shell-command,它可以是任何 sh(1) 命令。 默认值是一个空字符串,它指示 tmux 使用 default-shell option 的值创建登录 shell

因此,为了防止每个新窗口都作为登录 shell 生成,请将以下行添加到您的配置文件中:

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