退出时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在一个文件类似.profilebash_logout但会话注销?


内核不是一个有耐心的人。Firefox进程在第一次被(很好地)发出信号后可能花了太长时间才能终止;他可能收到了另一个(更激进的)信号,并被粗暴地杀死了。这主要取决于开发人员的工作,而不是系统的特定配置。
约翰·史密斯

@JohnWHSmith但是我说注销最多需要2秒。我现在才再次尝试,它是瞬时的(0.1秒)。登录后再次使用尴尬的Firefox欢迎我。另外,由于它是一个错误,我应该在Ubuntu或内核上报告它,或者如您所说的那样我真的不能做任何事情怎么办?
sinekonata 2014年

1
我认为该错误报告应该针对Firefox。Firefox 28似乎表现不如以前。在关闭所有窗口之后,它有时仍保持运行,并自旋锁定多个CPU内核。
dobey 2014年

@dobey如果您说的是真的,那么它必须非常快:我测试过按下Firefox(x)按钮后立即关闭(0.1s),并且那里没有错误。我觉得Ubuntu的工作是通过kill process命令完成的。我只想重申一下,我没有安装任何加载项,即一切都是新鲜的,并且在12.04中没有发生。我想要的只是一种叫“正确关闭动作”而不是“突然关闭”动作的方法。
sinekonata 2014年

仅仅因为窗口消失了,并不意味着Firefox实际上已经退出了。或不一定代表它干净利落。据我们所知,当您退出Firefox时,它可能会崩溃,并且它与注销/登录过程完全无关。您是否在12.04中使用了相同的Firefox 28版本?
dobey 2014年

Answers:


1

显然,没有像以前那样需要写入的专用文件。它/etc/gdm/PostSession在Gnome之下,但由于显然是Unity而无法使用。并且将脚本放在/etc/rc0.d/和下/etc/rc6.d/将不起作用,因为它们仅在Xserver关闭后才执行。

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

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

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

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

在选项-c 轻轻关闭火狐一样-cmd "Quit"的gMusicBroswer。Firefox和gMusicBrowser都需要正确关闭,而不必关闭。

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


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.