Je viens d’installer Ubuntu 14.04 beta2
et sur 25 tentatives de déconnexion, d’arrêt ou de redémarrage, ma session ne s’est pas fermée correctement Firefox
23 fois lors de la fermeture. Le résultat est la page de récupération des onglets de Firefox qui ne se produit jamais si je prends le temps de fermer Firefox au préalable manuellement.
Comme cela a fonctionné 2/25 fois, cela semble être un problème de temps pour lequel Ubuntu ne permet pas au temps de traitement de Firefox de se terminer (Ubuntu se déconnecte après environ 1-2 secondes). Je n'ai même jamais reçu la "attendre Firefox?/Éteint quand même?" que j'ai observée sous 12.04.
Donc, si j'ai raison, comment puis-je faire en sorte qu'il attende? Si non, quel est le problème et comment résoudre le problème de la sortie incorrecte?
Je n'ai aucune expérience de la gestion de fichiers de configuration de profil ou de session et très peu de choses avec bash (je le comprends mais je suis moche à le coder). Donc, si vous ne pouvez pas répondre mais avez un bon article sur le fonctionnement des profils/sessions sous Unix/Linux/Debian/Ubuntu (si identique) et/ou comment modifier les événements de connexion/déconnexion, je être heureux avec ça.
Edit: j'ai fait des tests supplémentaires qui indiquent en outre que c'est une question de temps
wmctrl -c firefox; sleep 0.5; Sudo shutdown now -r
fonctionne 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 ...En guise de solution de contournement, comment puis-je écrire wmctrl -c firefox; sleep 0.5
dans un fichier qui ressemble à .profile
ou bash_logout
mais pour la déconnexion de la session?
Apparemment, il n’ya pas de fichier dédié sur lequel écrire. C'était le /etc/gdm/PostSession
sous Gnome, mais il n'est pas disponible, car 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 la fermeture du serveur X.
Cependant, un événement appelé gnome-save-yourself
est déclenché lorsque gnome a été invité à se déconnecter. I est ce que gedit
par exemple appellera implicitement. Et Seamus Phelan a créé un script python pour écouter l'événement et exécuter votre script lorsqu'il est intercepté.
Voici le lien vers la solution: Exécution de script à 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 -c
ferme doucement ferme Firefox comme le fait -cmd "Quit"
pour gMusicBroswer. Firefox et gMusicBrowser doivent être fermés correctement, ce qu'ils ne font pas.
Un meilleur moyen serait probablement de vérifier l'utilisation de SIGTERM
, SIGKILL
et kill timeout
dans Ubuntu et ses programmes, mais je n'en sais pas assez.