Existe uma maneira de tornar a massa automaticamente “fechar janela ao sair” da linha de comando?

7

Eu estou tentando fazer uma máquina sem cabeçalho que execute automaticamente putty na inicialização de um script e relançamentos automáticos caso o programa feche.

Enquanto isso tecnicamente está funcionando bem na maioria das situações, se houver problemas de rede, o putty irá simplesmente travar com um popup dizendo que ele foi desconectado.

Eu vi a opção "fechar janela ao sair" e sei que é isso que preciso, mas, só posso fazer isso da janela - não encontrei uma maneira de alterar essa configuração na linha de comando. / p>

Alguém sabe se isso é possível e o que definir ... ou se é apenas possível alterar os padrões, pois isso é tudo o que será executado nesta máquina?

    
por William Hilsum 29.05.2012 / 18:43

3 respostas

4

A melhor solução seria criar uma sessão personalizada no PuTTY (com a configuração "Fechar janela ao sair" alterada) e carregar essa sessão por meio da linha de comando, mas se você não tiver acesso à GUI, isso não é fácil. No entanto, não conheço nenhuma maneira de especificar configurações individuais por meio da linha de comando.

Se você pode editar o registro, no entanto, você pode criar uma sessão criando uma nova chave em

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

onde você pode adicionar valores correspondentes às configurações da sessão na GUI. Então, se você quiser que a janela sempre feche na saída, você adicionaria um valor DWORD chamado CloseOnExit contendo o valor 2. Todo o resto não especificado permanecerá como padrão.

Você adicionaria

-load "session name"

para a sua cadeia de linha de comando, onde "nome da sessão" é o nome da chave que você criou. Coloque quaisquer outras opções de linha de comando depois disso (como servidor, nome de login, senha, etc.) e está tudo pronto.

Eu mesmo testei isso, mas ainda é prudente fazer o backup do seu registro antes de qualquer edição manual.

Alternativamente, existem garfos do PuTTY (como Bandeja PuTTY ) que apresentam reconexão automática após uma interrupção, embora eu não possa atestar como eles funcionam bem.

    
por 29.05.2012 / 20:00
1

Quando você receber este erro:

vocêpodeescreverum AutoIt Script que aguarda a exibição dessa janela e o reconhece:

$title = "PuTTY Fatal Error"
WinWaitActive( $title )
ControlClick($title,"", "Button1", "primary")
sleep(100)
WinClose("PuTTY (inactive)","")

Você também pode compilar o script em um arquivo .exe pequeno e autônomo. Coloque isso no seu arquivo de lote antes de iniciar o PuTTY.

    
por 29.05.2012 / 19:16
0

Eu sei que estou atrasado para o jogo, mas você também pode usar o plink.exe do putty. Ele usa os mesmos parâmetros que o putty, mas é executado em linha como o comando ssh . Ele também bloqueia o processamento e retorna um status de falha, o que pode ser muito útil para uma conexão com falha em meio a vários comandos.

    
por 03.01.2018 / 22:02

Tags