Cairo-Dock 设置为开机自动启动后,系统菜单栏里的关机选项就无效了,命令行里可以使用命令关机。
这次google找到的结果让我很失望,于是只好百度了。
在百度贴吧里找到一个方法(http://tieba.baidu.com/p/3034339092?see_lz=1),但是我尝试后仍然失败了。
命令行里输入下面的命令
gnome-session-properties
找到Cairo-Dock,双击或者编辑,在命令里应该可以看到
cairo-dock
修改为
cairo-dock -w 5
然后我在 CSDN 上找到一个(http://blog.csdn.net/tecn14/article/details/27876089), 很逗的是他的方法竟然是使用 cairo-dock 上的关机按钮,这和使用命令行没区别了。
后来,我找到几个,说在 /usr/lib/cairo-dock/cairo-dock-launcher-API-daemon (64 位系统为 /usr/lib/x86_64-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon) 里面修改一些东西,但是我的系统里根本没有这个位置。
后来,在 ubuntu 的论坛上(http://forum.ubuntu.org.cn/viewtopic.php?t=460382)找到一个好的方法:
编辑 /usr/lib/i386-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon
sudo vi /usr/lib/i386-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon
但是下面直接说在多少行添加什么内容,引用的两个图片不能正常显示,于是我又找了一个参考(http://blog.sina.com.cn/s/blog_82fc65ea0101k1m8.html)
在33行,也就是 import dbus, dbus.service 前一行添加一行: from time import sleep 在241行,也就是 ULWatcher()): 前一行添加一行: sleep(5) 重启下就ok了
这应该算是 Cairo-Dock 的一个 bug 吧。
我们现在要解决这个问题的方法就是修改 Cairo-Dock 的配置,让它延迟一段时间。
至于为什么这样就可以了我还不知道。
使用启动它时的延迟还不行 (cairo-dock -w 5), 我想可能事由于在登陆的时候(输入密码,进入桌面前),cairo-dock 已经启动了,所以失效了(原因不好说,只是我的猜测)。
那我们只好修改cairo-dock 的配置了。
但是不同的系统版本,cairo-dock 的位置貌似不一样,遇到的位置有
/usr/lib/cairo-dock/cairo-dock-launcher-API-daemon /usr/lib/x86_64-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon /usr/lib/i386-linux-gnu/cairo-dock/cairo-dock-launcher-API-daemon
总的来说都是在 /usr/lib 下面,所以我们可以在 这个位置下面搜索 cairo-dock 即可。
搜索命令
tiankonguse@tiankonguse:/usr/lib$ find ./ -name cairo-dock ./i386-linux-gnu/cairo-dock tiankonguse@tiankonguse:/usr/lib$
然后进入相应的位置,按上面说的添加一个sleep即可。
见文中的链接。
笔者最近意外的发现 笔者的个人网站 http://tiankonguse.com/ 的很多文章被其它网站转载,但是转载时未声明文章来源或参考自 http://tiankonguse.com/ 网站,因此,笔者添加此条声明。
郑重声明:这篇记录《Cairo-Dock 系统关机无效》转载自 http://tiankonguse.com/ 的这条记录:http://tiankonguse.com/record/record.php?id=681