Простейший случай

В простейшем случае предполагается что все подключаемые пользователи заходят на хост под одним и тем же эккаунтом.

Запуск ведущей сессии:

tmux new-session -s shared_session_name

Присоединение к этой сессии:

tmux attach-session -t shared_session_name

Совместный доступ к одной сессии с различных эккаунтов

Очень похожая ситуация за исключением одного: остальные эккауны должны иметь права доступа на сокет-файл tmux.

Рассмотрим на примере. Предположим пользователь usera желает предоставить совместный доступ (расшарить на жаргоне админов :) ) свою сессию пользователю userb.

Для этого пользователь usera создаёт сессию, явно указывая сокет-файл и имя сессии:

tmux -S /tmp/shareds new -s shared

далее он меняет групповую принадлежность сокет-файла на группу, к которой принадлежат оба пользователя, группу joint.

chgrp joint /tmp/shareds

после чего пользователь userb писоединяется к сессии, используя сокет-файл и имя сессии:

tmux -S /tmp/shareds attach -t shared

для пользователя userb возможно подключиться в режиме только чтения, read-only:

tmux -S /tmp/shareds attach -t shared -r

Внимание!

Будьте аккуратны, при выходе из совместной сессии не используйте выход из шелла типа exit, logoff, Ctrl+d, ибо это приведёт к завершению сессии для всех, кто приобщён к этой сессии!!! Просто отделитесь от сессии Ctrl+b d и остальные присоединённые остануться в сессии.

Расшаренная сессия:

Завершённая для всех расшаренная сессия (пользователь zg вышел при помощи команды exit, при этом инициатор прользователь gz тоже вывалился из tmux):