Qual è la differenza tra ~. (punto tilde) e "esci" quando si esce da una connessione SSH


12

Ogni volta che ho una connessione X11 in background in una sessione SSH, devo usare ~.e non exituscire dalla sessione ssh.

Qual è la differenza qui? Posso sempre usare la sequenza di escape ~.?

Risposte:


7

exitdice alla tua attuale shell di uscire. Poiché (quando non si dispone di una connessione tunnel, ad esempio X11, attiva) ciò significa che il processo che sshd ha invocato sul lato server è terminato, SSH si disconnette.

~. è la sequenza di fuga "magica" che SSH cattura e si disconnette immediatamente (incluso il tunnel X11).

Quindi no, questi non sono intercambiabili. Se si desidera che la shell remota (o qualunque programma sia in esecuzione in remoto) si chiuda correttamente, è necessario terminarla di conseguenza.


5

È già ben descritto nell'altra risposta, ma aggiungerei qualche informazione:

La singola connessione SSH oggi può contenere diverse sessioni (shell, comando), canali di inoltro TCP e canali di inoltro X11 . E arriva la differenza:

  • La scrittura exit(o Ctrl+ D) abbatte il canale della sessione , ma se sono attivi alcuni canali X11 (ad esempio gvimlascia diverse connessioni al server X che gestisce gli appunti e il titolo , che non è chiuso da exit). La scrittura exitlascerà questa applicazione X11 in esecuzione e il tuo terminale "si bloccherà" fino a quando non verrà chiuso.

  • Scrivere ~.lacrime per l'intera connessione . Se si esegue un'applicazione X11, è possibile notare che è chiuso anche quando si scrive ~..

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.