Firefox ปิดไม่ถูกต้องเมื่อออกจากระบบ


10

ฉันเพิ่งติดตั้งUbuntu 14.04 beta2และออกจาก 25 พยายามทั้งออกจากระบบปิดหรือรีสตาร์ทเซสชั่นของฉันไม่ได้ปิดFirefoxอย่างถูกต้อง 23 ครั้งเมื่อออกจาก ผลลัพธ์คือหน้าการกู้คืนแท็บ Firefox ที่ไม่เคยเกิดขึ้นถ้าฉันใช้เวลาในการปิด Firefox ด้วยตนเองล่วงหน้า

เนื่องจากมันทำงานได้ 2/25 ครั้งมันรู้สึกเหมือนเป็นปัญหาเวลาที่ Ubuntu ไม่อนุญาตให้เวลาในการสิ้นสุดของ Firefox (Ubuntu ออกจากระบบประมาณ 1-2 วินาที) ฉันไม่เคยได้รับ"รอ Firefox ใช่หรือไม่? กล่องโต้ตอบที่ฉันสังเกตภายใต้ 12.04

ดังนั้นถ้าฉันถูกต้องฉันจะทำให้รอได้อย่างไร หากไม่ใช่ปัญหาคืออะไรและฉันจะแก้ไขการออกที่ไม่เหมาะสมได้อย่างไร

ฉันไม่มีประสบการณ์ในการจัดการโปรไฟล์หรือไฟล์กำหนดค่าเซสชันและใช้ bash น้อยมาก (ฉันเข้าใจ แต่ฉันรู้สึกแย่ที่เขียนโค้ด) ดังนั้นหากคุณไม่สามารถตอบได้ แต่มีบทความที่ดีเกี่ยวกับการทำงานของโปรไฟล์ / เซสชันใน Unix / Linux / Debian / Ubuntu (ถ้าเหมือนกัน) และ / หรือวิธีการเปลี่ยนแปลงกิจกรรมการเข้าสู่ระบบ / ออกจากระบบฉันจะทำอย่างไร มีความสุขกับที่

แก้ไข: ฉันทำการทดสอบเพิ่มเติมเพื่อระบุเพิ่มเติมว่าเป็นเรื่องของเวลา

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r ทำงานได้ดี 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r ทำงานได้ดี 50%
  • wmctrl -c firefox; sudo shutdown now -r ทำงานได้ดี 10%
  • sudo shutdown now -r& wmctrl -c firefox ดูเหมือนจะไม่ทำงาน ...

ดังนั้นเป็นวิธีแก้ปัญหาวิธีการที่ฉันสามารถเขียนwmctrl -c firefox; sleep 0.5ในแฟ้มที่มีลักษณะ.profileหรือbash_logoutแต่สำหรับล็อกเอาต์เซสชั่น?


เคอร์เนลไม่ใช่คนไข้ กระบวนการ Firefox อาจใช้เวลานานเกินไปในการยกเลิกหลังจากส่งสัญญาณครั้งแรก (อย่างสวยงาม); เขาอาจจะได้รับอีกสัญญาณ (รุนแรงมากขึ้น) และได้ประมาณฆ่า สิ่งนี้ส่วนใหญ่จะขึ้นอยู่กับงานของนักพัฒนาไม่ใช่การกำหนดค่าระบบของคุณโดยเฉพาะ
จอห์น WH Smith

@JohnWHSmith แต่ฉันบอกว่าใช้เวลาอย่างน้อย 2 วินาทีในการออกจากระบบ ฉันเพิ่งลองใหม่อีกครั้งและมันก็เกิดขึ้นทันที (0.1 วินาที) ยินดีต้อนรับฉันเข้าสู่ระบบอีกครั้งด้วย Firefox ที่น่าอับอาย นอกจากนี้เนื่องจากเป็นข้อผิดพลาดฉันจะรายงานบน Ubuntu หรือเคอร์เนลหรือถ้าอย่างนั้นถ้าคุณบอกว่าฉันไม่สามารถทำอะไรเองได้
sinekonata

1
ฉันเชื่อว่ารายงานข้อผิดพลาดควรไปกับ Firefox Firefox 28 ดูเหมือนจะไม่ทำงานเหมือนที่เคยเป็นมา บางครั้งมันยังคงทำงานอยู่หลังจากที่ปิดหน้าต่างทั้งหมดและสปินล็อคแกนกลางหลายแกน
dobey

@dobey หากสิ่งที่คุณพูดเป็นจริงมันต้องเร็วมาก: ฉันทดสอบการปิดเครื่องทันที (0.1 วินาที) หลังจากกดปุ่ม Firefox (x) และไม่มีข้อผิดพลาด ฉันรู้สึกว่า Ubuntu ทำอะไรได้ใกล้เคียงกับคำสั่ง kill process ฉันแค่ต้องการย้ำว่าฉันไม่ได้ติดตั้ง Add-on ที่ทุกอย่างสดและมันไม่ได้เกิดขึ้นใน 12.04 สิ่งที่ฉันต้องการคือวิธีเรียก "ปิดการกระทำอย่างถูกต้อง" แทน "ปิดทันที"
sinekonata

เพียงเพราะหน้าต่างหายไปไม่ได้หมายความว่า Firefox ได้ออกจริง หรือมันไม่ได้แปลว่ามันออกมาอย่างหมดจด สำหรับทุกสิ่งที่เรารู้ Firefox อาจหยุดทำงานเมื่อคุณออกจากโปรแกรมและไม่มีส่วนเกี่ยวข้องกับกระบวนการออกจากระบบ / เลย คุณใช้ Firefox 28 บิลด์เดียวกันใน 12.04 หรือไม่
dobey

คำตอบ:


1

เห็นได้ชัดว่าไม่มีไฟล์เฉพาะที่จะเขียนเหมือนที่เคยเป็น มันอยู่/etc/gdm/PostSessionภายใต้ Gnome แต่ไม่สามารถใช้งานได้ตั้งแต่ Unity เห็นได้ชัด และวางสคริปต์ไว้ใต้/etc/rc0.d/และ/etc/rc6.d/จะไม่ทำงานเนื่องจากจะถูกเรียกใช้หลังจาก Xserver ถูกปิด

อย่างไรก็ตามมีเหตุการณ์ที่เรียกว่าgnome-save-yourselffired เมื่อ gnome ถูกขอให้ออกจากระบบ ฉันเป็นสิ่งที่geditอินสแตนซ์จะเรียกโดยปริยาย Seamus Phelan สร้างสคริปต์ไพ ธ อนเพื่อฟังเหตุการณ์และเรียกใช้สคริปต์ของคุณเมื่อถูกจับ

นี่คือลิงก์ไปยังโซลูชัน: การประมวลผลสคริปต์เมื่อออกจากระบบของผู้ใช้ (ไม่ใช่ผู้ใช้รูท)

ทำตามคำแนะนำแล้วสิ่งที่คุณต้องทำคือวางสคริปต์ของคุณที่อาจมีลักษณะเช่นนี้:

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

ที่ตัวเลือกปิด Firefox -c เบา ๆเช่นเดียว-cmd "Quit"กับ gMusicBroswer ทั้ง Firefox และ gMusicBrowser จะต้องปิดอย่างถูกต้องซึ่งมันทำไม่ได้

วิธีที่อาจจะดีกว่าจะไปตรวจสอบการใช้งานของSIGTERM, SIGKILLและkill timeoutใน Ubuntu และโปรแกรม แต่ผมไม่ทราบว่าพอเกี่ยวกับเรื่องนี้


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.