Я хотел бы, чтобы всегда был сеанс tmux на сокете в /tmp /shared с сеансом 0. Таким образом, я всегда могу подключиться к сеансу через SSH:

ssh user@www.example.com -t tmux -S /tmp/shared attach-session -t 0

Я хочу, чтобы он был доступен другим пользователям и мог воссоздать себя, если менее знающий или неосторожный пользователь использует выход вместо [ctrl] + d при выходе из сеанса.

Я уверен, что это можно сделать в хрон, но я не знаю, что нет лучшего способа.

2 ответа2

1

Создание файла сокета, принадлежащего общей группе выбранных пользователей, и использование имени сеанса было бы лучше, чем использование номера сеанса.

/// Create session
tmux -S /tmp/shareds new -s sharedsession
/// Change ownership to group
chgrp mutual_group_name /tmp/shareds
/// Run this in other user or ssh session to attach yourself
tmux -S /tmp/shareds attach -t sharedsession

Несколько способов проверить состояние сессии:

  1. Вы можете создать cron, но это задержит создание sharedsession из-за правила минимум 1 минута.
  2. Скрипт init.d, чтобы запустить его как сервис, похожий на этот
  3. Вы можете установить supervisord и использовать его для автоматической демонизации вашего общего сценария создания сеанса

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

0

Следующее присоединяется к сеансу 0 или создает новый сеанс:

tmux new-session -t 0 || tmux

Я не думаю, что вы можете создавать сеансы с определенным номером сеанса, поэтому вы можете рассмотреть возможность использования имени сеанса. Однако пользовательский сокет вполне может подойти для вашей ситуации.

Я предполагаю, что если сеанс 0 не существует, он будет создан.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .