사용자가 로그 아웃 할 때 종료하기 전에 정리 작업을 수행 해야하는 Linux GUI 응용 프로그램을 Python으로 작성했습니다. 불행히도, 로그 아웃시 모든 응용 프로그램이 종료 된 것으로 보입니다. POSIX 신호와 DBUS 알림을 처리하려고 시도했지만 아무것도 작동하지 않았습니다. 내가 무엇을 잘못했는지 알 수 있습니까?
응용 프로그램을 시작할 때 일부 종료 처리기를 등록합니다.
# create graceful shutdown mechanisms
signal.signal(signal.SIGTERM, self.on_signal_term)
self.bus = dbus.SessionBus()
self.bus.call_on_disconnection(self.on_session_disconnect)
사용자가 로그 아웃하면 self.on_signal_term 또는 self.on_session_disconnect 가 호출 되지 않습니다 .
이 문제는 여러 시나리오에서 발생합니다 : Unity의 Ubuntu 14.04, Gnome의 Debian Wheezy.
전체 코드 : https://github.com/tuxpoldo/btsync-deb/tree/master/btsync-gui