我们有一台 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
。