Firefox tidak ditutup dengan benar saat keluar


10

Saya baru saja menginstal Ubuntu 14.04 beta2dan keluar dari 25 mencoba logout, mematikan atau memulai kembali, sesi saya tidak menutup Firefoxdengan benar 23 kali ketika keluar. Hasilnya adalah halaman pemulihan tab Firefox yang tidak pernah terjadi jika saya meluangkan waktu untuk menutup Firefox secara manual sebelumnya.

Karena ia bekerja 2/25 kali, rasanya seperti masalah waktu di mana Ubuntu tidak mengizinkan waktu proses Firefox untuk berakhir (Ubuntu log out sekitar 1-2s). Aku bahkan belum pernah menerima "tunggu Firefox? Aku toh tutup?" kotak dialog yang saya amati di bawah 12,04.

Jadi jika saya benar, bagaimana saya membuatnya sehingga menunggu? Jika tidak, apa masalahnya dan bagaimana cara mengatasi keluar yang tidak tepat?

Saya tidak punya pengalaman dengan mengelola file konfigurasi profil atau sesi dan sangat sedikit dengan bash (saya mengerti tetapi saya buruk dalam mengkodekannya). Jadi jika Anda tidak dapat menjawab tetapi memiliki artikel yang bagus tentang bagaimana cara kerja profil / sesi di Unix / Linux / Debian / Ubuntu (jika sama) dan / atau bagaimana membuat perubahan pada peristiwa login / logout, saya akan berbahagialah dengan itu.

Sunting: Saya membuat tes tambahan yang lebih lanjut menunjukkan itu masalah waktu

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r bekerja dengan baik 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r berfungsi dengan baik 50%
  • wmctrl -c firefox; sudo shutdown now -r bekerja dengan baik 10%
  • sudo shutdown now -r& wmctrl -c firefox sepertinya tidak pernah berhasil ...

Jadi sebagai solusinya, bagaimana saya bisa menulis wmctrl -c firefox; sleep 0.5dalam file yang menyerupai .profileatau bash_logoutuntuk sesi logout?


Kernel bukan orang yang sabar. Proses Firefox mungkin membutuhkan waktu terlalu lama untuk diakhiri setelah (baik) diberi tanda pertama kali; dia mungkin menerima sinyal lain (lebih radikal), dan terbunuh secara kasar . Ini terutama tergantung pada pekerjaan pengembang, bukan konfigurasi sistem Anda secara khusus.
John WH Smith

@ JohnWHSmith Tapi saya katakan paling lama 2 detik untuk logout. Saya hanya mencoba sekarang lagi dan itu seketika (0,1 detik). Masuk, menyambut saya lagi dengan Firefox yang malu. Juga karena ini adalah bug, apakah saya melaporkannya di Ubuntu atau kernel atau bagaimana kalau seperti yang Anda katakan saya benar-benar tidak bisa melakukan apa-apa sendiri?
sinekonata

1
Saya percaya laporan bug harus melawan Firefox. Firefox 28 tampaknya tidak berperilaku sebaik dulu; kadang-kadang tetap berjalan setelah semua jendela ditutup, dan memutar beberapa core CPU.
dobey

@ Dobby Jika apa yang Anda katakan itu benar pasti sangat cepat: Saya diuji mematikan segera (0,1s) setelah menekan tombol Firefox (x) dan tidak ada bug di sana. Saya merasa seperti apa yang dilakukan Ubuntu dekat dengan perintah kill process. Saya hanya ingin menyatakan kembali bahwa saya tidak memiliki add-on yang diinstal bahwa semuanya segar dan itu tidak terjadi pada 12,04. Yang saya inginkan hanyalah cara untuk memanggil tindakan "tutup dengan benar" daripada "tutup dengan tiba-tiba".
sinekonata

Hanya karena jendela hilang, bukan berarti Firefox telah benar-benar keluar. Atau itu tidak berarti bahwa itu keluar dengan bersih. Yang kami tahu, Firefox bisa mogok saat Anda keluar, dan itu tidak ada hubungannya dengan proses logout / in sama sekali. Apakah Anda menggunakan Firefox 28 build yang sama di 12.04?
dobey

Jawaban:


1

Rupanya tidak ada file khusus untuk menulis seperti dulu. Itu di /etc/gdm/PostSessionbawah Gnome tetapi tidak tersedia karena tampaknya Persatuan. Dan menempatkan skrip di bawah /etc/rc0.d/dan /etc/rc6.d/tidak akan berfungsi karena hanya dijalankan setelah Xserver dimatikan.

Namun ada peristiwa yang disebut gnome-save-yourselfdipecat ketika gnome telah diminta untuk keluar. Saya adalah apa yang geditmisalnya akan memanggil secara implisit. Dan Seamus Phelan membuat skrip python untuk mendengarkan acara dan menjalankan skrip Anda ketika tertangkap.

Berikut tautan ke solusinya: Eksekusi Skrip saat pengguna keluar (pengguna non root)

Ikuti instruksi dan kemudian yang harus Anda lakukan adalah menempatkan skrip Anda yang mungkin terlihat seperti ini:

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

di mana opsi menutup Firefox dengan -c lembut seperti halnya -cmd "Quit"untuk gMusicBroswer. Baik Firefox dan gMusicBrowser perlu ditutup dengan benar yang sebenarnya tidak.

Cara yang mungkin lebih baik adalah dengan memeriksa penggunaan SIGTERM, SIGKILLdan kill timeoutdi Ubuntu dan program-programnya tetapi saya tidak cukup tahu tentang itu.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.