Este é realmente um recurso, não um bug. Antes disso, o sistema sairia com a perda de trabalho não salvo e ficaria cego a qualquer dano.
Hoje em dia, aplicativos que realizam longas tarefas que valem a pena aguardar, registram-se via DBus com o shell; estes podem ser codificação de vídeo, upload e sincronização de tarefas do Ubuntu One ou DropBox e assim por diante.
Às vezes, os aplicativos podem falhar e, portanto, não conseguem cancelar o registro de suas tarefas pendentes e eles podem ou não ser o firefox .
Você pode investigar seu inibidor de desligamento com qualquer visualizador DBus como d-feet:
No barramento da sessão, a interface org.gnome.SessionManager
exporá o método GetInhibitors()
, que retorna por exemplo ['/org/gnome/SessionManager/Inhibitor2']
. O objeto neste caminho permitir-lhe-á consultar várias coisas, como GetAppId()
(por exemplo, Handbrake), GetReason()
(por exemplo, Codificação), GetToplevelXid()
(por exemplo, 79691816L). Especialmente o mais recente pode ser útil: Você pode emitir xwininfo -id 79691816
e, assim, verificar se a janela ainda existe e, se sim, qual é o seu título real.