Мы пытались создать многочисленные общие сессии Tmux для различных игр на нашем сервере. Быстрый Google обнаружился с решениями, такими как:
tmux -S /tmp/game new -s game
chgrp game /tmp/game
# then connect via
tmux -S /tmp/game attach -t game
Это работало на первую игру, но конечно оболочка осталась оболочкой пользователя, который запустил tmux экземпляр. Таким образом, мы создали нового пользователя для каждой игры. Мы запустили новый tmux экземпляр с:
sudo -u game tmux -S /tmp/game new -s game
Это все еще работало, так или иначе, но это становится поверхностным. Проблема, с которой мы сталкиваемся теперь, запускает другой общий экземпляр, с которым люди могут соединиться через a game.sh
сценарий.
Выполнение
sudo -u othergame tmux -S /tmp/othergame new -s othergame
в основном выходы и ничего не делают. Попытка соединиться с ним просто показывает "failed to connect to server"
.
То, что мы делаем неправильно и, что еще более важно, является там некоторым более простым способом сделать то, что мы пытаемся сделать?