Acabei de instalar Ubuntu 14.04 beta2
e, em 25 tentativas de logoff, desligamento ou reinicialização, minha sessão não foi fechada Firefox
corretamente 23 vezes ao sair. O resultado é a página de recuperação das guias do Firefox que nunca acontece se eu reservar um tempo para fechar o Firefox manualmente.
Como funcionou 2/25 vezes, parece um problema de tempo em que o Ubuntu não permite que o tempo do processo do Firefox termine (o Ubuntu efetua logout em cerca de 1-2s). Eu nunca recebi a "espera pelo Firefox? / Desligue mesmo assim?" caixa de diálogo que observei em 12.04.
Então, se eu estiver correto, como faço para esperar? Se não, qual é o problema e como resolvo a saída inadequada?
Não tenho experiência com o gerenciamento de arquivos de configuração de perfil ou sessão e muito pouco com o bash (eu entendo, mas sou péssimo em codificá-lo). Portanto, se você não puder responder, mas tiver um bom artigo sobre como os perfis / sessões funcionam no Unix / Linux / Debian / Ubuntu (se o mesmo) e / ou como fazer alterações nos eventos de login / logout, eu seja feliz com isso.
Edit: Fiz testes adicionais que indicam ainda que é uma questão de tempo
wmctrl -c firefox; sleep 0.5; sudo shutdown now -r
funciona bem 100%wmctrl -c firefox; sleep 0.2; sudo shutdown now -r
funciona bem 50%wmctrl -c firefox; sudo shutdown now -r
funciona bem 10%sudo shutdown now -r& wmctrl -c firefox
nunca parece funcionar ...
Portanto, como solução alternativa, como escrever wmctrl -c firefox; sleep 0.5
em um arquivo semelhante .profile
ou bash_logout
apenas para logout de sessão?
Respostas:
Aparentemente, não há um arquivo dedicado para escrever, como costumava haver. Era o
/etc/gdm/PostSession
Gnome sob, mas não está disponível desde aparentemente a Unity. E colocar um script em/etc/rc0.d/
e/etc/rc6.d/
não funcionará, pois eles são executados somente após o desligamento do Xserver.No entanto, há um evento chamado
gnome-save-yourself
acionado quando o gnome é solicitado a sair. Eu sou o que,gedit
por exemplo, chama implicitamente. E Seamus Phelan criou um script em python para ouvir o evento e executá-lo quando capturado.Aqui está o link para a solução: Execução de script no logout do usuário (usuário não root)
Siga as instruções e, em seguida, tudo o que você precisa fazer é colocar seu script com a seguinte aparência:
onde a opção fecha
-c
suavemente o Firefox, assim como o-cmd "Quit"
gMusicBroswer. O Firefox e o gMusicBrowser precisam ser fechados corretamente, o que não é necessário.Uma maneira provavelmente melhor seria verificar o uso de
SIGTERM
,SIGKILL
ekill timeout
no Ubuntu e nos programas, mas não sei o suficiente.fonte