退出时 Firefox 未正确关闭

退出时 Firefox 未正确关闭

我刚刚安装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 -r100% 运行良好
  • 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文件中写入内容?.profilebash_logout

答案1

显然,没有像以前那样有专用文件可以写入。它曾经在Gnome 下,但显然自 Unity 以来就不再可用。在和/etc/gdm/PostSession下放置脚本将不起作用,因为它们仅在 Xserver 关闭后执行。/etc/rc0.d//etc/rc6.d/

gnome-save-yourself但是,当 gnome 被要求注销时,会触发一个事件。gedit例如,I 就是将隐式调用的事件。Seamus Phelan 编写了一个 Python 脚本来监听该事件并在捕获到该事件时运行您的脚本。

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

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

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

其中选项-c 轻轻地与 gMusicBroswer一样,关闭 Firefox。Firefox-cmd "Quit"和 gMusicBrowser 都需要正确关闭,但实际上并没有。

可能更好的方法是检查Ubuntu 和程序中和的使用情况SIGTERM,但我对此了解不够。SIGKILLkill timeout

相关内容