由于过去有过一些使用 Linux 的经验,我最近决定安装 Lubuntu 14.04 LTS 以尝试摆脱 Windows,到目前为止,除了一件事之外,大多数事情都正常工作...我已将 Firefox 设置为“显示上次使用的窗口和选项卡”,只要我记得在关机或重新启动之前关闭 Firefox,它就可以正常工作,但如果我忘记了,下次我启动 Firefox 时,9/10 次它都会说 Firefox 未正确关闭,有时还会忘记我打开的选项卡。
我想尝试找到 lxde 的注销脚本(如果有的话),这样我就可以添加一个命令,例如“sleep 1”,将注销延迟一秒钟,以允许 Firefox 正常关闭,在我的 Google 搜索中,我能找到的唯一接近的解决方案是注销时 Firefox 未正确关闭我尝试了其中建议的解决方案,但无法正常工作,我猜想原因是该解决方案适用于 gnome,而不是 lxde
所以我的问题是,如何在注销/关机期间添加延迟以允许 Firefox(或任何其他程序)正常退出,然后再继续注销/关机?
如果这个问题已经有解决方案了,我很抱歉没有认真搜索。
答案1
也许有一个解决方法:
注销脚本:
#!/bin/bash
wmctrl -c firefox && kill -SIGTERM $_LXSESSION_PID
关机脚本:
#!/bin/bash
wmctrl -c firefox && dbus-send --system --print-reply --dest="org.freedesktop.ConsoleKit" /org/freedesktop/ConsoleKit/Manager org.freedesktop.ConsoleKit.Manager.Stop
有关更多选项,请查看此答案:无需密码即可关机/重启/挂起/休眠
答案2
关机脚本。从用户会话启动(不是从 root!)。脚本找到 Firefox 窗口,发送Alt + F4
,等待 Firefox 关闭 20 秒,然后关闭系统。
#!/bin/bash
WID=`xdotool search --name "Mozilla Firefox" | head -1`
if ((WID > 0))
then
xdotool windowactivate --sync $WID
xdotool key --delay 1 alt+F4
fi
for i in {1..40}
do
p=`pgrep firefox`
if [ "$p" == "" ]
then
break
fi
sleep 0.5
done
shutdown -h now
需要 xdotool
sudo apt install xdotool