ssh no servidor da área de trabalho e execute o programa X, depois ssh no servidor do laptop e interaja com o X [duplicado]

1

Tenho certeza de que esta é uma questão muito básica. Presumo que tmux poderia facilitar isso, mas não tenho certeza das etapas exatas.

Meu caso de uso é:

Estou sentado na minha área de trabalho e eu ssh em um servidor. Eu começo um processo de longa duração. O processo continua em execução no servidor enquanto eu faço outras coisas (mas não desanexo necessariamente do servidor neste momento).

Agora estou no meu laptop. (Digamos que eu fui almoçar.) Eu preciso fazer o ssh no mesmo servidor, ver a mesma saída do console que eu veria na minha área de trabalho se eu estivesse lá, e enviar alguns toques de tecla para o mesmo aplicativo ainda em execução. Eu preciso interagir com ele exatamente como se eu ainda estivesse na minha sessão ssh de desktop. Quando terminar, vou me desconectar desta sessão e permitir que o aplicativo continue sendo executado no servidor.

Mais tarde, vou verificar a partir do meu ambiente de trabalho. No final do dia de trabalho, vou me separar e ir para casa. (Agora não há sessões anexadas ao processo no servidor.) Em casa, eu me conecto ao servidor e conecto ao mesmo aplicativo em execução, vejo o que está na tela e, possivelmente, envio alguns comandos.

tmux parece ter um foco tão grande na multiplexação de terminal que meu caso de uso não é explicado nas respostas ou nos tutoriais que encontrei até agora. Meu caso de uso parece ser quase o oposto. Eu não preciso sentar em uma tela e me conectar a vários servidores. Estarei trabalhando em um servidor, mas conectando-o de vários computadores diferentes, às vezes tendo várias conexões abertas ao mesmo tempo, às vezes sem nenhuma conexão, e meu foco é interagir com um aplicativo de longa execução no servidor.

Quais são as etapas para se conectar ao servidor e iniciar meu aplicativo de console, conectar-se ao mesmo aplicativo e ver a mesma saída do console de vários outros computadores?

Além disso, o tmux precisa ser instalado nos clientes e no servidor?

    
por MountainX 01.10.2018 / 04:45

1 resposta

2

Eu decidi usar tmux . Eu não acredito que nohup long-running-process & atenda aos meus requisitos. Eu dei tmux uma tentativa e ele funciona como desejado. Parece que no meu caso de uso, tmux só precisa ser instalado no servidor.

  1. Estou sentado na minha área de trabalho:

    $ ssh my_server
    $ tmux new-session -s my_session_name
    $ application_name #para iniciar o aplicativo de longa execução e visualizar sua saída no console

  2. Agora estou no meu laptop. (Diga que fui almoçar.):

    $ ssh my_server
    $ tmux attach-session my_session_name
    exibir saída do console do mesmo application_name
    emite teclas pressionadas conforme necessário | ctrl-b d # para desanexar a sessão do tmux
    $ exit # para desconectar a sessão ssh

  3. No final do dia de trabalho, eu me separarei dele e voltarei para casa:

    ctrl-b d
    $ exit

  4. Em casa, vou me conectar ao servidor:

    $ ssh my_server
    $ tmux attach-session my_session_name
    exibir saída do console de application_name
    emite teclas pressionadas conforme necessário | ctrl-b d
    $ exit

Na manhã seguinte, no trabalho, reconecte-se da mesma maneira.

    
por 01.10.2018 / 05:21

Tags