อูบุนตู 18.04 และ 20.04
สวัสดี,
ฉันมีสคริปต์สำรองที่ทำงานเป็นบริการ systemd (borgmatic) โดยใช้ systemd ยับยั้ง
เพื่อป้องกันไม่ให้ผู้ใช้รีบูต/สลีป/ปิดเครื่องคอมพิวเตอร์ วิธีนี้ใช้ได้ดี
โชคไม่ดีที่เมื่อผู้ใช้พยายามปิดหรือรีบูตคอมพิวเตอร์ใน GNOME และไม่มีอะไรเกิดขึ้น - กล่าวคือ การดำเนินการล้มเหลวอย่างเงียบ ๆ - ผู้ใช้จะสับสนและในที่สุดก็ปิดคอมพิวเตอร์ด้วยการกดปุ่มเปิดปิดค้างไว้ :-(
สิ่งที่ฉันต้องการบรรลุคือสามารถเปิดหน้าต่างโต้ตอบ (ด้วย zenity หรือแจ้งเตือน - ส่ง) และบอกให้ผู้ใช้รอสักครู่ - แต่หลังจากที่เขาพยายามปิดเครื่องเท่านั้น
ฉันได้ทดลองเล็กน้อยกับ systemd -- ผู้ใช้
หน่วยบริการให้มี Zenity Dialog แสดงก่อนเป้าหมายต่างๆ (gnome-เซสชัน-shutdown.target
) แต่นั่นไม่ได้ผลเนื่องจากขั้นตอนการปิดระบบไม่ได้เริ่มทำงานด้วยซ้ำ... (และแม้ว่าจะเริ่มต้นแล้วก็ตาม Xorg ดูเหมือนจะหยุดทำงานไปแล้วและ zenity ก็ล้มเหลวเนื่องจากไม่มี DISPLAY)
เมื่อไร systemd ยับยั้ง
เปิดใช้งานอยู่ จากนั้นสิ่งนี้จะถูกบันทึกเมื่อผู้ใช้พยายามปิดระบบ:
26 ธันวาคม 21:41:18 t410s gnome-shell[8333]: endSessionDialog: No XDG_SESSION_ID ดึงข้อมูลจากการเข้าสู่ระบบ: 17
26 ธันวาคม 21:41:19 t410s gnome-shell[8333]: endSessionDialog: No XDG_SESSION_ID ดึงข้อมูลจากการเข้าสู่ระบบ: 17
26 ธันวาคม 21:41:22 t410s gnome-session[8314]: gnome-session-binary[8314]: คำเตือน: การปิดระบบล้มเหลว: GDBus.Error:System.Error.ESTALE: ตัวจัดการไฟล์เก่า
26 ธันวาคม 21:41:22 t410s gnome-session-binary[8314]: คำเตือน: การปิดระบบล้มเหลว: GDBus.Error:System.Error.ESTALE: ตัวจัดการไฟล์เก่า
26 ธันวาคม 21:41:22 t410s gnome-session-binary[8314]: เข้าสู่สถานะกำลังทำงาน
26 ธันวาคม 21:41:22 t410s gnome-shell[8333]: ละเว้นข้อยกเว้นจากวิธี dbus: Gio.IOErrorEnum: GDBus.Error:org.gtk.GDBus.UnmappedGError.Quark._g_2dio_2derror_2dquark.Code19:
มีความคิดอย่างไรที่จะแสดงข้อความว่าการสำรองข้อมูลกำลังทำงานอยู่?
แก้ไข: ตามที่ @matigo แนะนำ ฉันได้ใช้วิธีแก้ไขเพื่อแสดงวอลเปเปอร์อื่นในขณะที่กำลังสำรองข้อมูล และหวังว่าจะดีที่สุด...