Firefox wurde beim Abmelden nicht richtig geschlossen

10

Ich habe gerade installiert Ubuntu 14.04 beta2und von 25 Versuchen, mich entweder abzumelden, herunterzufahren oder neu zu starten, wurde meine Sitzung Firefoxbeim Beenden 23 Mal nicht richtig geschlossen. Das Ergebnis ist die Wiederherstellungsseite der Firefox-Registerkarten, die niemals auftritt, wenn ich mir die Zeit nehme, Firefox zuvor manuell zu schließen.

Da es 2/25 Mal funktioniert hat, scheint es ein Zeitproblem zu sein, bei dem Ubuntu nicht zulässt, dass die Prozesszeit von Firefox endet (Ubuntu meldet sich in ca. 1-2 Sekunden ab). Ich habe noch nie das "Warten auf Firefox? / Trotzdem herunterfahren?" Erhalten. Dialogfeld, das ich unter 12.04 beobachtet habe.

Also, wenn ich richtig bin, wie mache ich es so, dass es wartet? Wenn nicht, worum geht es und wie löse ich das unsachgemäße Beenden?

Ich habe keine Erfahrung mit der Verwaltung von Profil- oder Sitzungskonfigurationsdateien und sehr wenig mit Bash (ich verstehe es, bin aber schlecht darin, es zu codieren). Wenn Sie also nicht antworten können, aber einen guten Artikel darüber haben, wie die Profile / Sitzungen unter Unix / Linux / Debian / Ubuntu funktionieren (falls gleich) und / oder wie Sie Änderungen an den Anmelde- / Abmeldeereignissen vornehmen können, würde ich sei glücklich damit.

Bearbeiten: Ich habe zusätzliche Tests durchgeführt, die weiter darauf hinweisen, dass es eine Frage der Zeit ist

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r funktioniert gut 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r funktioniert gut 50%
  • wmctrl -c firefox; sudo shutdown now -r funktioniert gut 10%
  • sudo shutdown now -r& wmctrl -c firefox scheint nie zu funktionieren ...

Wie kann ich als Problemumgehung wmctrl -c firefox; sleep 0.5in eine Datei schreiben , die der Sitzung ähnelt .profileoder bash_logoutnur für die Abmeldung von Sitzungen vorgesehen ist?

Sinekonata
quelle
Der Kernel ist kein geduldiger Mann. Der Firefox-Prozess hat möglicherweise zu lange gedauert, bis er beendet wurde, nachdem er zum ersten Mal (gut) signalisiert wurde. Er erhielt wahrscheinlich ein weiteres (radikaleres) Signal und wurde grob getötet . Dies hängt hauptsächlich vom Job der Entwickler ab, nicht speziell von der Konfiguration Ihres Systems.
John WH Smith
@ JohnWHSmith Aber ich sagte, es dauert höchstens 2 Sekunden, um sich abzumelden. Ich habe es gerade noch einmal versucht und es war sofort (0,1s). Das Einloggen begrüßte mich erneut mit einem verlegenen Firefox. Auch wenn es ein Fehler ist, melde ich ihn auf Ubuntu oder im Kernel oder was dann, wenn ich, wie Sie sagen, wirklich nichts selbst tun kann?
Sinuskonata
1
Ich glaube, der Fehlerbericht sollte gegen Firefox gerichtet sein. Firefox 28 scheint sich nicht mehr so ​​zu verhalten wie früher. Es läuft manchmal weiter, nachdem alle Fenster geschlossen wurden, und sperrt mehrere CPU-Kerne.
Dobey
@dobey Wenn das, was Sie sagen, wahr ist, muss es extrem schnell sein: Ich habe das Herunterfahren sofort (0,1 s) nach dem Drücken der Firefox (x) -Taste getestet und dort keinen Fehler festgestellt. Ich habe das Gefühl, dass Ubuntu mit einem Kill-Prozess-Befehl in der Nähe ist. Ich möchte nur wiederholen, dass ich kein Add-On installiert habe, dass alles frisch ist und dass es in 12.04 nicht passiert ist. Alles, was ich möchte, ist eine Möglichkeit, die "Aktion ordnungsgemäß schließen" anstelle der Aktion "abrupt schließen" zu nennen.
Sinuskonata
Nur weil das Fenster weggegangen ist, heißt das nicht, dass Firefox tatsächlich beendet wurde. Oder es bedeutet nicht unbedingt, dass es sauber beendet wurde. Nach allem, was wir wissen, könnte Firefox beim Beenden abstürzen, und es hat überhaupt nichts mit dem Abmelde- / Anmeldevorgang zu tun. Haben Sie denselben Firefox 28-Build in 12.04 verwendet?
Dobey

Antworten:

1

Anscheinend gibt es keine dedizierte Datei zum Schreiben, wie es früher war. Es war das /etc/gdm/PostSessionunter Gnome, ist aber seit anscheinend Unity nicht mehr verfügbar. Das Platzieren eines Skripts unter /etc/rc0.d/und /etc/rc6.d/funktioniert nicht, da sie erst ausgeführt werden, nachdem Xserver heruntergefahren wurde.

Es gibt jedoch ein Ereignis namens gnome-save-yourselfausgelöst, wenn der Gnom aufgefordert wurde, sich abzumelden. Ich werde das geditzum Beispiel implizit nennen. Und Seamus Phelan hat ein Python-Skript erstellt, um das Ereignis anzuhören und Ihr Skript auszuführen, wenn es abgefangen wird.

Hier ist der Link zur Lösung: Skriptausführung beim Abmelden des Benutzers (kein Root-Benutzer)

Befolgen Sie die Anweisungen, und dann müssen Sie nur noch Ihr Skript platzieren, das möglicherweise so aussieht:

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

Hier schließt die Option Firefox -c sanft wie -cmd "Quit"bei gMusicBroswer. Sowohl Firefox als auch gMusicBrowser müssen ordnungsgemäß geschlossen werden, was nicht der Fall ist.

Ein wahrscheinlich besserer Weg wäre es, die Verwendung von und in Ubuntu und den Programmen zu überprüfen SIGTERM, aber ich weiß nicht genug darüber.SIGKILLkill timeout

Sinekonata
quelle
Auf dem FF-Bugtracker: bugzilla.mozilla.org/show_bug.cgi?id=566212 , Duplikat des KDE-Tickets: bugzilla.mozilla.org/show_bug.cgi?id=557601
Ciro Santilli 法轮功 病毒 审查 六四 事件 法轮功