不同会话的不同 tmux 配置?

不同会话的不同 tmux 配置?

我们有一台 centos 7 机器,很多开发者在 tmux 1.8 下使用同一用户。我们是否可以为每个 tmux 会话拥有个人配置,同时为新(默认)会话保留默认配置不变?

答案1

正如 @asmodean 正确提到的,在同一台机器(具有相同用户)上使用多个 tmux 实例的方法是使用两个不同的套接字。可以使用-L选项给出套接字名称。

用法

创建 tmux 实例

  • 第一届会议: tmux -L userA -f ~/.tmux-userA.conf

  • 第二次会议: tmux -L userB -f ~/.tmux-userB.conf

加入实例

tmux -L userA attach tmux -L userB attach

其他 tmux 命令

其他命令与-L选项一起使用。例如,列出 userA 和 userB 会话:

tmux -L userA list-sessions tmux -L userB list-sessions

答案2

以下是我在 tmux 中实现每个会话配置的方法。

set-hook -g after-new-session 'if -F "#{==:#{session_name},emacs}" "source ~/.tmux/.tmux.conf.emacs" "source ~/.tmux/.tmux.conf.amos"'
set-hook -g after-new-window 'if -F "#{==:#{session_name},emacs}" "source ~/.tmux/.tmux.conf.emacs" "source ~/.tmux/.tmux.conf.amos"'

答案3

tmux可以调用为tmux -f /path/to/tmux.conf.由于每个人都以同一用户身份登录,因此您可以为tmux.例如/home/username/tmux/userA.tmux.conf。然后,UserA 将启动他们的 tmux 会话:

tmux -f ~/tmux/userA.tmux.conf

如果您想为用户简化操作,您可以为文件中的每个用户创建别名条目,~/.bashrc例如,如果您使用的是 bash。每行看起来像:

alias tmuxuserA='tmux -f /home/username/tmux/userA.tmux.conf'

然后 userA 将使用命令调用他们的会话tmuxuserA

相关内容