tmux:共享会话,一个用户在一个窗格中,另一个在另一个窗格中,两个不同的光标

fer*_*raz 22 ssh terminal-multiplexer terminal tmux console

我决定尝试 tmux:一直在阅读文档和谷歌搜索,试图找到一种方法让两个用户共享一个会话,每个用户都有不同的光标。

但是,为套接字授予 777 权限,或创建一个组,chgrp调用套接字并将两个用户添加到其中,似乎让同一个套接字用于仅使用一个游标共享会话:两个用户都可以写入,但始终在相同的光标位置。

现在,两个用户都通过 ssh 在同一个家庭服务器中,他们的想法是能够拥有:

  • 比方说,左窗格中的终端,我可以在其中键入命令
  • 右窗格中的另一个终端,我可以看到另一个用户在他自己的终端中键入命令
  • 其他用户也一样

什么我目前做的是使用两个会话(不共享)和script -ftail -f组合还挺读取对方的击键工作,但我认为有可能是这样使用TMUX共享能力的办法。

有没有办法让这个想法在彼此的终端中使用写支持?

什么是更好的方法来做到这一点?

小智 26

这个问题有点老了,但我正在寻找类似的东西,并在这里找到了它。它创建第二个会话,与第一个会话共享窗口,但有自己的视图和光标。

tmux new-session -s alice
tmux new-session -t alice -s bob
Run Code Online (Sandbox Code Playgroud)

如果共享两个用户帐户之间发生的事情,你可能还是要权限(这听起来像你已经工作)。

编辑:根据建议,引用另一个答案

首先为tmux用户添加一个组

export TMUX_GROUP=tmux
addgroup $TMUX_GROUP
Run Code Online (Sandbox Code Playgroud)

创建一个目录,组设置为 $TMUX_GROUP 并使用 setgid 位,以便在目录中创建的文件自动将组设置为 $TMUX_GROUP。

mkdir /var/tmux
chgrp $TMUX_GROUP /var/tmux
chmod g+ws /var/tmux
Run Code Online (Sandbox Code Playgroud)

接下来确保要共享会话的用户是 $TMUX_GROUP 的成员

usermod -aG $TMUX_GROUP user1
usermod -aG $TMUX_GROUP user2
Run Code Online (Sandbox Code Playgroud)

  • 这允许两个用户输入到不同的窗口,但不能在同一窗口内输入不同的窗格。(tmux 1.6) (6认同)