Apa perbedaan antara ~. (tilde dot) dan "keluar" saat keluar dari koneksi SSH

12

Setiap kali saya memiliki koneksi X11 latar belakang dalam sesi SSH, saya harus menggunakan ~.dan tidak exitkeluar dari sesi ssh.

Apa bedanya di sini? Bisakah saya selalu menggunakan urutan pelarian ~.?

Hải Phong
sumber

Jawaban:

7

exitmemberitahu shell Anda saat ini untuk berhenti. Karena (ketika tidak memiliki koneksi tunneled, misalnya X11, aktif) itu berarti bahwa proses yang sshd dipanggil pada sisi server keluar, SSH kemudian terputus.

~. adalah urutan melarikan diri "ajaib" yang ditangkap SSH dan segera terputus (termasuk terowongan X11).

Jadi, tidak, ini tidak bisa dipertukarkan. Jika Anda ingin shell jarak jauh Anda (atau program apa pun yang berjalan dari jarak jauh) keluar dengan anggun, Anda harus mengakhirinya sesuai.

Marcus Müller
sumber
5

Sudah dijelaskan dengan baik di jawaban lain, tapi saya akan menambahkan beberapa latar belakang:

Koneksi SSH tunggal hari ini dapat berisi beberapa sesi (shell Anda, perintah), saluran penerusan TCP dan saluran penerusan X11 . Dan ada perbedaan:

  • Menulis exit(atau Ctrl+ D) menghancurkan saluran sesi , tetapi jika ada yang aktif beberapa saluran X11 (misalnya gvimmeninggalkan beberapa koneksi ke server X yang menangani clipboard dan judul , yang tidak ditutup oleh exit). Penulisan exitakan membiarkan aplikasi X11 ini berjalan dan terminal Anda akan "hang" sampai ditutup.

  • Menulis ~.air mata seluruh koneksi . Anda dapat melihat jika Anda menjalankan beberapa aplikasi X11, bahwa itu juga ditutup ketika Anda menulis ~..

Jakuje
sumber