Existe um logout de terminal que faz algo parecido com o que o GNU Screen faz?

8

Como a maioria de vocês sabe, o GNU Screen é uma boa ferramenta que permite que você faça algo como:

  

Um outro bom uso para desanexar e reconectar é como um modo de console   recurso "área de trabalho remota". Você pode desanexar de uma sessão de tela em   trabalhe, entre na máquina em casa e conecte novamente. Muito muito   acessível. Com um pouco de trabalho extra, você pode até ter um número de   terminais todos ligados à mesma sessão - ótimo para colaboração   esforços e reuniões.

Agora estou curioso em saber como fazer isso sem o Screen. Aka em vez de logut eu digito magiclogout e da próxima vez que eu login eu recebo o meu velho sesion (se o sistema operacional não reeboted ofc)

    
por NoSenseEtAl 23.10.2011 / 17:01

5 respostas

6

byobu é baseado na tela; tem uma opção de menu para torná-lo seu shell padrão.

Você pode exit como normal ou desanexar com alt-A, D como faria com a tela simples, e sua sessão estará aguardando quando você efetuar login novamente.

Além disso, ele adiciona um número de chaves para o gerenciamento de terminal, F2 para criar um novo terminal, e F3 e F4 para mover entre Windows e uma barra de status com vários indicadores úteis, como atualizações de pacotes pendentes.

Ele é instalado por padrão nas versões do Ubuntu Server e rapidamente se torna meu terminal padrão na maioria dos servidores que eu gerencio.

Como eu disse, o byobu depende da tela para trabalhar ... Eu não estou ciente de nenhuma maneira de retomar uma sessão a não ser que um processo continue sendo executado na máquina de destino.

Edit: byobu também irá envolver o tmux (que é o padrão nas versões mais novas do Ubuntu). Você não precisa fazer nada na maioria dos casos - apenas usará o multiplexador de terminal padrão.

    
por Adrian 31.10.2011 / 22:53
2

você pode querer dar uma olhada em tmux

    
por user8868 01.11.2011 / 21:54
1

Você poderia ter algo assim com um software de desktop remoto que criaria sua própria sessão, como por exemplo o FreeNX no servidor e o cliente NoMachine no cliente.

Você também pode usar isso com o servidor e a máquina cliente sendo a mesma máquina, para simular o que você pede.

    
por enzotib 23.10.2011 / 20:50
1

Isto não é possível sem o uso de tela, byobu (como mencionado por Adrian) ou ferramentas similares.

Um shell interativo deve estar conectado a um tty. Se você sair, o shell perde a conexão para o tty e sai.

A tela e os amigos evitam isso criando um ou mais ttys virtuais persistentes. Quando você efetua logout, o shell permanece conectado ao virtual tty e não percebe que o usuário foi desconectado.

Para programas não interativos, não é necessário um tty e, em vez da tela, você pode usar nohup .

Como Adrian ressalta, é possível usar byobu por padrão, e, como você sabe, muitos usuários avançados só começarão a screen como a primeira coisa que eles fazem após o login. Existe um motivo específico, você quer evitar a tela?

    
por Jan 01.11.2011 / 00:27
0

Você pode iniciar um comando via nohup :

nohup command &

Se você gostaria de ter a saída em algum lugar salvo

nohup command > output.txt &

Agora você precisa separar o software em execução por

  1. pressionando CTRL - Z
  2. insira bg
  3. disown %1

Mais dicas para nohup podem ser encontradas na manpage ( link ), mesmo para disown (< href="http://ss64.com/osx/disown.html"> link ).

    
por Sascha Biermanns 02.03.2012 / 08:46