Firefox không đóng đúng cách khi đăng xuất


10

Tôi mới cài đặt Ubuntu 14.04 beta2và trong số 25 lần thử đăng xuất, tắt hoặc khởi động lại, phiên của tôi không đóng Firefoxđúng 23 lần khi thoát. Kết quả là trang khôi phục tab Firefox sẽ không bao giờ xảy ra nếu tôi dành thời gian để đóng Firefox thủ công trước đó.

Vì nó hoạt động 2-25 lần, nên cảm giác như vấn đề thời gian trong đó Ubuntu không cho phép thời gian xử lý của Firefox kết thúc (Ubuntu đăng xuất sau khoảng 1-2 giây). Tôi thậm chí chưa bao giờ nhận được "chờ Firefox? / Tắt máy bằng cách nào?" hộp thoại mà tôi quan sát dưới 12.04.

Vì vậy, nếu tôi đúng, làm thế nào để tôi chờ nó? Nếu không vấn đề là gì và làm thế nào để tôi giải quyết việc thoát không đúng cách?

Tôi không có kinh nghiệm trong việc quản lý tập tin cấu hình hoặc cấu hình phiên và rất ít với bash (tôi hiểu nó nhưng rất tệ trong việc mã hóa nó). Vì vậy, nếu bạn không thể trả lời nhưng có một bài viết hay về cách các cấu hình / phiên hoạt động trong Unix / Linux / Debian / Ubuntu (nếu giống nhau) và / hoặc cách thay đổi các sự kiện đăng nhập / đăng xuất, tôi sẽ hạnh phúc với điều đó

Chỉnh sửa: Tôi đã thực hiện các bài kiểm tra bổ sung cho thấy đó là vấn đề thời gian

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r hoạt động tốt 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r hoạt động tốt 50%
  • wmctrl -c firefox; sudo shutdown now -r hoạt động tốt 10%
  • sudo shutdown now -r& wmctrl -c firefox dường như không bao giờ làm việc ...

Vì vậy, như một cách giải quyết, làm thế nào tôi có thể viết wmctrl -c firefox; sleep 0.5trong một tệp giống .profilehoặc bash_logoutđể đăng xuất phiên?


Hạt nhân không phải là một người đàn ông kiên nhẫn. Quá trình Firefox có thể mất quá nhiều thời gian để chấm dứt sau khi được báo hiệu (lần đầu tiên); anh ta có lẽ đã nhận được tín hiệu khác (triệt để hơn) và đã bị giết chết . Điều này chủ yếu phụ thuộc vào công việc của nhà phát triển, chứ không phải cấu hình hệ thống của bạn một cách cụ thể.
John WH Smith

@JohnWHSmith Nhưng tôi đã nói mất tối đa 2 giây để đăng xuất. Bây giờ tôi mới thử lại và nó là tức thời (0,1 giây). Đăng nhập chào đón tôi một lần nữa với một Firefox xấu hổ. Ngoài ra, vì đó là một lỗi, tôi có báo cáo nó trên Ubuntu hoặc kernel hay không, nếu như bạn nói tôi thực sự không thể làm gì được?
sinekonata

1
Tôi tin rằng báo cáo lỗi nên đi ngược lại với Firefox. Firefox 28 dường như không hoạt động tốt như trước đây; đôi khi nó vẫn chạy sau khi tất cả các cửa sổ được đóng lại và quay vòng nhiều lõi CPU.
dobey

@dobey Nếu những gì bạn nói là đúng thì phải cực kỳ nhanh: Tôi đã thử tắt máy ngay lập tức (0.1s) sau khi nhấn nút Firefox (x) và không có lỗi ở đó. Tôi cảm thấy như những gì Ubuntu làm gần với lệnh process process. Tôi chỉ muốn nói lại rằng tôi chưa cài đặt tiện ích bổ sung rằng mọi thứ đều mới và điều đó đã không xảy ra vào ngày 12.04. Tất cả những gì tôi muốn là một cách để gọi "hành động gần đúng" thay vì "đóng đột ngột".
sinekonata

Chỉ vì cửa sổ biến mất, không có nghĩa là Firefox đã thực sự thoát. Hoặc nó không nhất thiết có nghĩa là nó thoát ra sạch sẽ. Đối với tất cả những gì chúng ta biết, Firefox có thể bị sập khi bạn thoát nó và nó không liên quan gì đến quá trình đăng xuất / trong quá trình. Bạn có đang sử dụng cùng một bản dựng Firefox 28 trong 12.04 không?
dobey

Câu trả lời:


1

Rõ ràng không có tập tin chuyên dụng để viết như trước đây. Đó là /etc/gdm/PostSessionGnome dưới nhưng không có sẵn vì rõ ràng là Unity. Và đặt tập lệnh bên dưới /etc/rc0.d//etc/rc6.d/sẽ không hoạt động vì chúng chỉ được thực thi sau khi Xserver bị tắt.

Tuy nhiên, có một sự kiện được gọi là gnome-save-yourselfsa thải khi gnome đã được yêu cầu đăng xuất. Tôi là những gì geditví dụ sẽ ngầm gọi. Và Seamus Phelan đã tạo ra một kịch bản python để lắng nghe sự kiện và chạy kịch bản của bạn khi bị bắt.

Đây là liên kết đến giải pháp: Thực thi tập lệnh khi đăng xuất người dùng (người dùng không phải root)

Làm theo hướng dẫn và sau đó tất cả những gì bạn phải làm là đặt tập lệnh của bạn có thể trông như thế này:

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

trong đó tùy chọn -c nhẹ nhàng đóng Firefox như -cmd "Quit"đối với gMusicBroswer. Cả Firefox và gMusicBrowser đều cần được đóng đúng cách mà chúng không có.

Một cách tốt hơn có lẽ là kiểm tra việc sử dụng SIGTERM, SIGKILLkill timeouttrong Ubuntu và các chương trình nhưng tôi không biết đủ về nó.


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.