Page 1 of 1

Porteus 1.1 doesn't call dbus-launch properly

Posted: 23 May 2012, 12:26
by dafan
The 32-bit Porteus 1.1 doesn't call dbus-launch when a user logged in, so some programs (e.g. fcitx) can not make a connection to the dbus daemon. If I add

Code: Select all

eval `dbus-launch --sh-syntax --exit-with-session`
in /etc/xprofile (which is called by /etc/kde/kdm/Xsession), everything will be OK.

The 64-bit Porteus 1.1 doesn't have this problem, althrough I didn't found where it called dbus-launch.

Please have a look at the difference of the two versions of Porteus and let the the 32-bit Porteus also call dbus-launch.

Thanks

Re: Porteus 1.1 doesn't call dbus-launch properly

Posted: 23 May 2012, 13:28
by brokenman
Thanks for the report Dafan.

In the 'soon to come' v1.2
/etc/kde/kdm/Xsession is now /usr/share/config/tdm/Xsession

Xsession makes a call to xprofile which can be located in /etc/xprofile or $HOME/.xprofile.
I'll add xprofile with this line and give it a test.

Re: Porteus 1.1 doesn't call dbus-launch properly

Posted: 23 May 2012, 15:21
by fanthom
@brokenman
please make sure that dbus-launch will be exported only once and not per each shell. many dbus-launch instances may cause troubles in XFCE edition.
Ahau - please confirm if this is still the case.

Re: Porteus 1.1 doesn't call dbus-launch properly

Posted: 24 May 2012, 13:27
by brokenman
At the moment ps aux|grep dbus-launch shows:

Code: Select all

dbus-launch --autolaunch  a887ccbfb9200de732a233340000000b --binary-syntax --close-stderr
Now i am wondering about exporting as --sh-syntax.

Re: Porteus 1.1 doesn't call dbus-launch properly

Posted: 24 May 2012, 22:55
by dafan
If you didn't add dbus-launch in /etc/xprofile, this dbus-launch was probably started by firefox. I have noticed that firefox will start such a process if it doesn't found a dbus-launch process as it starts.

Some programs may start dbus-launch automatically, just like firefox, while other programs try to connect to the address which is saved in the DBUS_SESSION_BUS_ADDRESS variable. If DBUS_SESSION_BUS_ADDRESS is empty, these programs will not know where to connect.

Code: Select all

dbus-launch --sh-syntax --exit-with-session
will start dbus-launch and print a message in sh/bash syntax like this:

Code: Select all

DBUS_SESSION_BUS_ADDRESS='unix:abstract=/tmp/dbus-J077ICgvKY,guid=deef6967e1824a7e5a8389c0000028e6';
export DBUS_SESSION_BUS_ADDRESS;
DBUS_SESSION_BUS_PID=6947;
So

Code: Select all

eval `dbus-launch --sh-syntax --exit-with-session`
will excute this message and export DBUS_SESSION_BUS_ADDRESS in all the login session.