Firefox ne s'est pas fermé correctement lors de la déconnexion


10

Je viens d'installer Ubuntu 14.04 beta2et sur 25 tentatives de déconnexion, d'arrêt ou de redémarrage, ma session ne s'est pas fermée Firefoxcorrectement 23 fois lors de la fermeture. Le résultat est la page de récupération des onglets Firefox qui ne se produit jamais si je prends le temps de fermer Firefox manuellement au préalable.

Puisqu'il a fonctionné 2/25 fois, cela ressemble à un problème de temps où Ubuntu ne permet pas au temps de processus de Firefox de se terminer (Ubuntu se déconnecte dans environ 1-2s). Je n'ai même jamais reçu le message "attendre Firefox? / Arrêter quand même?" boîte de dialogue que j'ai observée sous 12.04.

Donc, si j'ai raison, comment faire pour que ça attend? Sinon, quel est le problème et comment résoudre la sortie incorrecte?

Je n'ai aucune expérience dans la gestion des fichiers de configuration de profil ou de session et très peu avec bash (je le comprends mais je suis nul à le coder). Donc, si vous ne pouvez pas répondre mais que vous avez un bon article sur le fonctionnement des profils / sessions sous Unix / Linux / Debian / Ubuntu (s'ils sont identiques) et / ou comment apporter des modifications aux événements de connexion / déconnexion, je être heureux avec ça.

Edit: j'ai fait des tests supplémentaires qui indiquent que c'est une question de temps

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r fonctionne très bien à 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r fonctionne bien 50%
  • wmctrl -c firefox; sudo shutdown now -r fonctionne bien 10%
  • sudo shutdown now -r& wmctrl -c firefox ne semble jamais fonctionner ...

Donc, comme solution de contournement, comment puis-je écrire wmctrl -c firefox; sleep 0.5dans un fichier qui ressemble à .profileou bash_logoutmais pour la déconnexion de session?


Le noyau n'est pas un homme patient. Le processus Firefox a peut-être mis trop de temps à se terminer après avoir été (gentiment) signalé la première fois; il a probablement reçu un autre signal (plus radical) et a été brutalement tué . Cela dépendrait principalement du travail des développeurs, et non de la configuration de votre système en particulier.
John WH Smith

@JohnWHSmith Mais j'ai dit qu'il fallait au plus 2 secondes pour se déconnecter. Je viens de réessayer maintenant et c'était instantané (0,1 s). La connexion m'a de nouveau accueilli avec un Firefox embarrassé. De plus, comme c'est un bogue, dois-je le signaler sur Ubuntu ou le noyau ou quoi, si comme vous le dites, je ne peux vraiment rien faire moi-même?
sinekonata

1
Je pense que le rapport de bug devrait aller contre Firefox. Firefox 28 semble ne pas se comporter aussi bien qu'avant; il continue parfois de fonctionner une fois toutes les fenêtres fermées et verrouille plusieurs cœurs de processeur.
dobey

@dobey Si ce que vous dites est vrai, cela doit être extrêmement rapide: j'ai testé l'arrêt immédiat (0,1 s) après avoir appuyé sur le bouton Firefox (x) et aucun bug là-bas. J'ai l'impression que ce que fait Ubuntu est proche avec une commande kill process. Je veux juste réaffirmer que je n'ai aucun add-on installé que tout est frais et que cela ne s'est pas produit en 12.04. Tout ce que je veux, c'est un moyen d'appeler "l'action de fermeture correcte" au lieu de "la fermeture brusque".
sinekonata

Ce n'est pas parce que la fenêtre s'est éteinte que Firefox s'est réellement arrêté. Ou cela ne signifie pas nécessairement qu'il est sorti proprement. Pour tout ce que nous savons, Firefox pourrait planter lorsque vous le quittez, et cela n'a rien à voir avec le processus de déconnexion / connexion. Utilisiez-vous la même version de Firefox 28 en 12.04?
dobey

Réponses:


1

Apparemment, il n'y a pas de fichier dédié à écrire comme il en existait auparavant. C'était le /etc/gdm/PostSessionsous Gnome mais n'est pas disponible depuis apparemment Unity. Et placer un script sous /etc/rc0.d/et /etc/rc6.d/ne fonctionnera pas car ils ne sont exécutés qu'après l'arrêt de Xserver.

Cependant, il existe un événement appelé gnome-save-yourselfdéclenché lorsque gnome a été invité à se déconnecter. Je vais geditpar exemple implicitement appeler. Et Seamus Phelan a créé un script python pour écouter l'événement et exécuter votre script lorsqu'il est capturé.

Voici le lien vers la solution: exécution de script lors de la déconnexion de l'utilisateur (utilisateur non root)

Suivez les instructions et tout ce que vous avez à faire est de placer votre script qui peut ressembler à ceci:

#! /bin/sh
#Requires wmctrl
wmctrl -c firefox;
gmusicbrowser -cmd "Quit";
exit 0;

où l'option ferme -c doucement Firefox comme -cmd "Quit"pour gMusicBroswer. Firefox et gMusicBrowser doivent être fermés correctement, ce qui n'est pas le cas.

Une façon sans doute mieux serait de vérifier l'utilisation de SIGTERM, SIGKILLet kill timeoutdans Ubuntu et les programmes , mais je ne sais pas assez.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.