Consegui isolar o problema adicionando instruções de depuração ao / etc / profile para rastrear a inicialização antecipada.
A Dell adicionou um arquivo /etc/profile.d/display-toggle-keybinding.sh para lidar com algumas combinações de teclas. Esse arquivo começa com:
if [ -z "$DISPLAY" ]; then
exit 0
fi
Como as coisas em /etc/profile.d são originadas, elas são executadas no shell atual, e não em um subshell, portanto, quando elas saem, ele mata toda a sessão.
Uma vez que vi o problema, ele foi facilmente verificado ao tentar
ssh -X 127.0.0.1
que funcionou bem. O -X habilita o encaminhamento X11, o que significa que DISPLAY está definido. O problema só ocorre quando o DISPLAY não está definido.
Você pode corrigir o problema editando /etc/profile.d/display-toggle-keybinding.sh e alterando a "saída 0" para "retornar 0". "return" é uma versão um pouco menos poderosa de "exit", que só sai do arquivo sendo executado no momento.
O comentário no arquivo indica que é do pacote "dell-wmi-aio", portanto, pode ser exclusivo dos sistemas AIO. Estou usando um Optiplex 7450 AIO.
Descobri que a resposta a essa pergunta é muito útil para descrever como os vários tipos de shells do bash (interativo, login, gráfico, etc.) diferem e quais são suas sequências de inicialização:
Scripts em /etc/profile.d Sendo ignorado?