登出时Firefox未正确关闭

我刚刚安装了Ubuntu 14.04 beta2并且在25次尝试中注销,关闭或重新启动,我的会话在退出时没有正确关闭Firefox 23次。 结果是Firefox标签恢复页面,如果我事先花时间手动关闭Firefox,就不会发生这种情况。

由于它工作了2/25次,感觉就像Ubuntu不允许Firefox的处理时间结束的时间问题(Ubuntu在大约1-2s内注销)。 我甚至都没有收到“等待Firefox?/无论如何关闭?” 我在12.04下观察的对话框。

所以,如果我是正确的,我怎么做它让它等待? 如果不是什么问题,我该如何解决不正确的退出?

我没有管理配置文件或会话配置文件的经验,也没有使用bash的经验(我理解它但在编码时很糟糕)。 所以,如果你不能回答,但有一篇很好的文章,关于配置文件/会话如何在Unix / Linux / Debian / Ubuntu中工作(如果相同)和/或如何更改登录/注销事件,我会对此感到高兴。

编辑:我做了额外的测试,进一步表明这是一个时间问题

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r wmctrl -c firefox; sleep 0.5; sudo shutdown now -r工作正常100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r wmctrl -c firefox; sleep 0.2; sudo shutdown now -r工作正常50%
  • wmctrl -c firefox; sudo shutdown now -r wmctrl -c firefox; sudo shutdown now -r工作正常10%
  • sudo shutdown now -r& wmctrl -c firefox似乎永远不会工作……

所以作为一种解决方法,我该如何编写wmctrl -c firefox; sleep 0.5 在类似于.profilebash_logout的文件中wmctrl -c firefox; sleep 0.5 ,但是对于会话注销?

显然,没有像以前那样的专用文件。 它是Gnome下的/etc/gdm/PostSession但是因为显然是Unity所以不可用。 并且在/etc/rc0.d//etc/rc6.d/下放置一个脚本将不起作用,因为它们仅在Xserver关闭后执行。

然而,当要求gnome注销时,会发生一个名为gnome-save-yourself的事件。 我是gedit实例将隐式调用。 Seamus Phelan制作了一个python脚本来监听事件并在捕获时运行脚本。

以下是解决方案的链接: 用户注销时的脚本执行(非root用户)

按照说明操作,然后您需要做的就是放置可能如下所示的脚本:

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

其中选项-c 轻轻关闭Firefox,同时gmusicBroswer的-cmd "Quit" 。 Firefox和gMusicBrowser都需要正确关闭,而不是。

一个可能更好的方法是检查在Ubuntu和程序中使用SIGTERMSIGKILLkill timeout ,但我对它不了解。