Sessão tmux persistente com soquete compartilhado

0

Eu gostaria que sempre houvesse uma sessão do tmux em um soquete em / tmp / shared com uma sessão de 0. Dessa forma eu sempre posso anexar a sessão via SSH:

ssh [email protected] -t tmux -S /tmp/shared attach-session -t 0

Eu quero que ele seja compartilhável com outros usuários e seja capaz de se recriar se um usuário menos experiente ou descuidado usar exit em vez de [ctrl] + d ao sair da sessão.

Tenho certeza de que é possível fazer isso em um cron, mas não sei se existe uma maneira melhor.

    
por Jacob Margason 16.07.2015 / 13:43

2 respostas

1

Criar um arquivo de soquete pertencente ao grupo de usuários selecionados e usar um nome de sessão seria melhor do que usar o número da sessão.

/// 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

Algumas maneiras de verificar o status da sessão:

  1. você pode criar um cron mas atrasará a criação de sharedsession por causa da regra mínima de 1 minuto.
  2. script init.d para executá-lo como um serviço, semelhante a este
  3. você pode instalar o supervisord e usá-lo para auto-daemonizar seu script de criação de sessão compartilhada

No ano passado eu usei tmate rodando como um daemon. Você pode criar um servidor tmate e sessões anexadas de diferentes máquinas com o uso de tems daemonizados nelas. Mas eu não posso garantir a segurança para esta causa eu usei-os em uma rede privada.

    
por 20.07.2015 / 14:13
0

O seguinte se anexa à sessão 0 ou cria uma nova sessão:

tmux new-session -t 0 || tmux

Não creio que você possa criar sessões com um número de sessão específico, portanto, convém considerar o uso de um nome de sessão. No entanto, um soquete personalizado pode ser bom o suficiente para sua situação.

Estou assumindo aqui que, se a sessão 0 não existir, ela será criada.

    
por 20.07.2015 / 12:10

Tags