Estou começando a suspeitar que o Ubuntu não está dizendo aos aplicativos em execução que está sendo desligado para deixá-los sair corretamente, mas obriga-os a sair.
Se eu deixar o Chrome aberto ao desligar, ele diz que não foi fechado corretamente da última vez em que o abri novamente após a inicialização, o LibreOffice não pergunta se eu quero salvar meu documento e estou criando um aplicativo que precisa executar algum código na saída, mas não é permitido fazer isso quando o computador está desligado.
Pelo que entendi, o SIGTERM é enviado primeiro a todos os processos para permitir que eles saiam corretamente e, se eles não saem, o SIGKILL é enviado para forçá-los a sair. Parece que o Ubuntu não está enviando o SIGTERM de forma alguma ou não oferece tempo suficiente aos aplicativos antes de enviar o SIGKILL.
Existe alguma maneira de corrigir isso?
Estou executando o Ubuntu 16.04, mas o problema existia na 15.10 também. Não sei dizer se ele estava lá antes desde que comecei a usar o Ubuntu quando a 15.10 era a versão mais recente.
Editar: eu uso o Unity e desligo o computador pressionando a engrenagem no canto superior direito e selecionando desligar, embora o problema seja o mesmo se estiver sendo executado sudo halt
no terminal.
Edit: Eu estou observando o mesmo comportamento ao fazer logoff apenas. Meu palpite é que o sinal deve ser enviado no logout e, portanto, o problema surge no desligamento e logout.