因此,我可以访问共享 shell 帐户,我和其他人可以在该帐户中做一些工作。
有些人更喜欢使用 tmux,所以他们打开 tmux 会话,从中加载配置~/.tmux.conf
。我更喜欢使用byobu
tmux 的包装器,因为它有更好的键绑定和其他东西。
问题是,每当其他人使用 tmux 会话时,每当我运行 byobu 时,它都会恢复他们的 tmux 会话,而不是为我创建一个新的 byobu 会话。
因此,我尝试运行byobu-tmux new-session
,但它使用其配置(来自~/.tmux.conf
)而不是 byobu 启动一个新的 tmux 会话。
我该如何解决这个问题?
答案1
tmux 程序设计为作为单个服务器进程运行,管理一个或多个独立会话。配置文件由服务器进程在启动时加载,并在创建新会话时应用于新会话。运行tmux new-session
(或在本例中等效为byobu new-session
)会联系正在运行的服务器(如果有),并请求它创建新会话。服务器仅根据用户的 UID 使用已知路径作为其套接字,这就是连接到正在运行的 tmux 服务器所需的全部内容。因此,如果“正常”的 tmux 会话已在运行,byobu 会连接到该服务器或使用该服务器创建新会话。
根据tmux 手册页,您可以简单地更改 tmux 使用的套接字以启动两个独立的 tmux 服务器,如果需要,每个服务器都有自己的配置集。您可以指定-L
更改套接字的基本名称,也可以-S
指定选项以指定套接字文件的完全不同的路径。默认的 tmux 套接字名为default
。
因此,在调用 byobu 时使用这些 tmux 选项,使用 byobu 启动一个独立的 tmux 服务器,您可以运行
byobu -L my-byobu new
或者
byobu -L my-byobu attach
其中,名称my-byobu
可以替换为您选择的任何名称。这将启动一个名为 的新 tmux 服务器my-byobu
,该服务器将加载 tmux 的 byobu 配置(而不是默认配置),并有效地为您的 byobu tmux 会话创建一个独立的命名空间。