Apakah ada cara untuk membuat dempul secara otomatis "tutup jendela saat keluar" dari baris perintah?

7

Saya mencoba membuat mesin tanpa kepala yang secara otomatis menjalankan dempul saat startup dari skrip dan peluncuran otomatis jika program ditutup.

Sementara ini secara teknis berfungsi dengan baik dalam kebanyakan situasi, jika ada masalah jaringan, dempul hanya akan hang dengan popup mengatakan bahwa itu telah terputus.

Saya telah melihat opsi "close window on Exit" dan saya tahu ini yang saya butuhkan, tetapi, saya hanya dapat melakukan ini dari jendela - saya belum menemukan cara untuk mengubah pengaturan ini dari baris perintah.

Adakah yang tahu apakah ini mungkin dan apa yang harus diatur ... atau jika mungkin saja untuk mengubah default karena hanya ini yang akan dijalankan pada mesin ini?

William Hilsum
sumber

Jawaban:

5

Solusi terbaik adalah membuat sesi khusus dalam Putty (dengan pengaturan "Tutup jendela saat keluar" berubah) dan memuat sesi itu melalui baris perintah, tetapi jika Anda tidak memiliki akses ke GUI, itu tidak mudah. Namun, saya tidak tahu cara untuk menentukan pengaturan individu melalui baris perintah.

Namun, jika Anda dapat mengedit registri, Anda dapat membuat sesi dengan membuat kunci baru

HKEY_CURRENT_USER\Software\SimonTatham\PuTTY\Sessions

di mana Anda kemudian dapat menambahkan nilai yang sesuai dengan pengaturan sesi di GUI. Jadi, jika Anda ingin jendela selalu ditutup saat keluar, Anda akan menambahkan nilai DWORD bernama CloseOnExit yang berisi nilai 2. Segala sesuatu yang tidak ditentukan akan tetap sebagai default.

Anda kemudian akan menambahkan

-load "session name"

ke string baris perintah Anda, di mana "nama sesi" adalah nama kunci yang Anda buat. Masukkan opsi baris perintah apa pun lainnya setelah itu (seperti server, nama login, kata sandi, dll.) Dan Anda sudah siap

Saya telah menguji ini sendiri, tetapi masih bijaksana untuk membuat cadangan registri Anda sebelum mengedit manual.

Bergantian, ada garpu dari Putty (seperti Baki Putty ) yang fitur koneksi ulang otomatis setelah gangguan, meskipun saya tidak dapat menjamin seberapa baik mereka bekerja.

clpo13
sumber
Ini bekerja dengan sangat baik! Saya tidak tahu apakah mungkin untuk memulai sesi seperti itu!
William Hilsum
1

Ketika Anda mendapatkan kesalahan ini:

putty error

maka Anda dapat menulis Script AutoIt menunggu jendela ini muncul dan mengakuinya:

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

Anda juga dapat mengkompilasi skrip ke file .exe mandiri yang kecil. Masukkan ini ke dalam file batch Anda sebelum memulai Putty.

jftuga
sumber
Sayangnya, ini tidak akan berfungsi karena saya meluncurkan dempul melalui skrip perintah yang berjalan bahkan jika pengguna tidak login. Saya tidak dapat melihat GUI bahkan setelah masuk.
William Hilsum
0

Saya tahu saya terlambat ke permainan, tetapi Anda juga bisa menggunakan dempul plink.exe. Dibutuhkan parameter yang sama seperti dempul, tetapi berjalan in-line seperti ssh perintah. Ini juga memblokir pemrosesan dan mengembalikan status kegagalan, yang bisa sangat berguna untuk koneksi yang gagal di tengah-tengah banyak perintah.

CorB
sumber