|
发表于 2010-9-26 13:34:43
|
显示全部楼层
其实我也想【同问】这个问题。
目前找到的解决方案是:- is_running() {
- for pid in $(pidof "$1"); do
- if kill -0 $pid 2>/dev/null; then
- return 0
- fi
- done
- return 1
- }
- if ! is_running dbus-daemon; then
- dbus-launch --sh-syntax > $HOME/.dbus-env
- fi
- source $HOME/.dbus-env
复制代码
注意,此法实质上就是通过设定 env 强制所有进程使用同样一套 dbus-session。
因为,事实上问题出在:对于一个特定的 X session,应该只有一个 session-dbus,而不应当启动多个。
至于退出的问题,session-dbus 本来就是不退出的,所以程序退出之后他还存在,这非常正常。 |
|