正文
背景
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 上的关机button。这和使用命令行没差别了。
后来,我找到几个,说在 /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), 我想可能事因为在登陆的时候(输入password。进入桌面前),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