Мы пытались создать многочисленные общие сеансы 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
Это все еще работало, как-то, но становится ненадежным. Проблема, с которой мы сталкиваемся сейчас, заключается в запуске другого общего экземпляра, к которому люди могут подключаться через скрипт game.sh
.
Делает
sudo -u othergame tmux -S /tmp/othergame new -s othergame
в основном выходит и ничего не делает. Попытка подключиться к нему просто показывает "failed to connect to server"
.
Что мы делаем неправильно и, что еще важнее, есть ли более простой способ сделать то, что мы пытаемся сделать?