今天在工作用的ArchLinux上安装了用Openbox取代了GNOME桌面,感觉良好,回来尝试一下在Ubuntu上也做同样的事情。不料遇到问题,在完成基本的配置之后,Openbox Session无法启动,总是自动跳回gdm。查看.xsession-errors,是gnome-setting-daemon报错:
(gnome-settings-daemon:2519): GLib-CRITICAL **: g_propagate_error: assertion `src != NULL’ failed
既然是gnome-settings-daemon报错,就在.config/openbox/autostart.sh中注视掉和gnome-settings-daemon相关的部分:
1 # Make GTK apps look and behave how they were set up in the gnome config tools
2 #if test -x /usr/libexec/gnome-settings-daemon >/dev/null; then
3 # /usr/libexec/gnome-settings-daemon &
4 #elif which gnome-settings-daemon >/dev/null; then
5 # gnome-settings-daemon &
6 # Make GTK apps look and behave how they were set up in the XFCE config tools
7 #elif which xfce-mcs-manager >/dev/null; then
8 # xfce-mcs-manager n &
9 #fi
进而可以启动Openbox Session了,但是发现Conky仍然无法启动,经过搜索是sleep的时间不够长导致的。而根据launchpad上上的讨论,gnome-settings-daemon也可以在Openbox Session启动后正常运行,于是可以这样设置autostart.sh
1 (sleep 20 && conky 1>/dev/null 2>/dev/null) &
2 (sleep 2 && tint) &
3 (sleep 5 && tilda) &
4 (sleep 20 && gnome-settings-daemon 1>/dev/null 2>/dev/null) &
tint和tilda对启动顺序没有明确的要求,conky和gnome-settings-daemon需要设置一个较长的等待时间。
这是Ubuntu中Openbox的一个bug,可以在此跟踪:
https://bugs.launchpad.net/ubuntu/+source/openbox/+bug/459005
顺手展示一下我的Openbox桌面
openbox / tint2 / conky / tilda 还没来得及认真配置,呵呵。
再有,Ubuntu源里的的tint2版本很低,问题不少,不支持宽度的百分数配置,不支持systray等配置。建议安装开发版本: