Os pontos 1-4 estão corretos. Eu não sei nada sobre o ponto 5. Quanto ao seu ponto final, uma boa aplicação, tela , permitirá que você deixe todos os processos chegarem ao seu fim natural, independentemente de como você termina sua conexão. A tela está nos repos.
A descrição do homem da tela não é fácil de ler, mas, entre outras coisas, afirma:
When screen is called, it creates a single window with a shell in it (or the specified command) and then gets out of your way so that you can use the program as you normally would. Then, at any time, you can create new (full-screen) windows with other programs in them (including more shells), kill existing windows, view a list of windows, turn output logging on and off, copy-and-paste text between windows, view the scrollback history, switch between windows in whatever manner you wish, etc. All windows run their programs completely indepen‐ dent of each other. Programs continue to run when their window is currently not visible and even when the whole screen session is detached from the user's terminal. When a program terminates, screen (per default) kills the window that contained it. If this window was in the foreground, the display switches to the previ‐ ous window; if none are left, screen exits.
Eu destaquei a parte mais importante: você pode desanexar a janela com o comando Ctrl + a + d, e então você pode matar / sair da sua sessão, e a janela agora separada continuará a viver, com os programas dentro dela ainda correndo. Quando você se conecta de volta, por exemplo, iniciando uma nova sessão ssh, o comando screen -r retomará a sessão de tela que havia sido desanexada anteriormente, com toda a saída para erro / saída padrão claramente visível.