multiple KDE sessions support (was [dbus] Re: Cmake update patch for dbus master)
Ralf Habacker
ralf.habacker at freenet.de
Tue Feb 16 09:36:25 CET 2010
Ralf Habacker schrieb:
> Romain Pokrzywka schrieb:
>
>> (nb: Forking from the thread on DBus, since it's more of a KDEWin issue than a dbus one)
>>
>> On Monday 15 February 2010 03:12:50 Ralf Habacker wrote:
>>
>>
>>> Ralf Habacker schrieb:
>>>
>>>
>> [...]
>>
>>
>>> A possible implementation could extend the autolaunch bus address type
>>> with a scope attribute
>>>
>>> autolaunch:scope=<value>
>>>
>>> where value could be the predefined term 'install-path'. If the server
>>> find such a session bus address it will listen on a free tcp port and
>>> publish the recent session bus address in a shared memory segment, which
>>> is postfixed by a hash value of the libdbus installation root. Every
>>> client which uses the same session bus address would be able to connect
>>> the related daemon.
>>>
>>> There is also an additional feature available by using this scope
>>> attribute. Any non empty value except the above mentioned 'install-path'
>>> value will create a specific namespace and could be used to create
>>> specialized dbus session buses.
>>>
>>> This feature will be enabled with a (cmake) configure option named
>>> DBUS_USE_LIMITED_SESSION_DEFAULT_ADDRESS.
>>>
>>> Any comments or addons ?
>>>
>>>
>> (nb: context: we are discussing options for having multiple KDE-windows releases running side by side, with a dbus
>> session bus for each and with KDE apps from each release talking to their matching daemon)
>>
>> I'm not sure if this is the right place where the issue should be addressed, at least in the KDE-Windows context.
>>
>> Regarding sessions started from a kdeenv.bat console, the problem is solved: adding a DBUS_SESSION_ADDRESS env var to
>> kdesettings.bat is trivial and does exactly what we want (whoever needs it can adjust it for each concurrent session
>> bus).
>>
>> For sessions not started from a console, such as releases from the installer, I'm not sure if it's really a use-case
>> worth being considered.
>>
> This is the default case on windows. Every KDE package installed by any
> type of any single click or other installer will probably have start
> menu entries and the related applications will *not* be started from a
> console. With your statement above you say that there is only one KDE
> package startable from the start menu. Any additional packages should be
> started from the console and is not allowed to have start menu entries.
> Makes this really sense ?
>
> BTW: For those who do not know already: Creating start menu entries is a
> build in kdebase runtime feature since about two years - see
> http://websvn.kde.org/trunk/KDE/kdebase/runtime/platforms/win/kwinstartmenu/readme.txt?view=markup
> for more informations.
>
>
>> Will users often have multiple versions installed side by side ?
>>
> yes. For the kde on windows community release: there are three branches.
> stable,unstable and nightly. They can be installed and updated
> independently from each other and they are uses all three. The only
> issue currently is the shared dbus session bus which makes it impossible
> to make sure, that applications reachable over dbus are from the same
> installation path.[1]
>
> In the kdepim enterprise world I guess there will be also at lest two
> binary package branches, stable packages and unstable/development
> packages. If you have only one session bus you will have also troubles
> to distinct applications reachable over dbus. You cannot be sure that
> applications from the stable package will use applications reachable
> from dbus from the stable installations. This results into a support
> night mare isn't it ?
>
>
here is a detailed example:
Assume you start umbrello release - this will call - from the release
installation - kdeinit4, which will start dbus-daemon, then klauncher
and kded. Then on request klauncher will start kioslaves from the
release installation.
Then on umbrello debug, unstable or nightly start from a separate
installation (a separate installation is required on windows) - it will
call - from the debug installation - kdeinit4, which detects that
release dbus-daemon is already running, a klauncher is already
registrated and kded too. Then on request debug klauncher will start
release kioslaves and any other requested application from release
installations - which is *not* intended for a debug, unstable or nightly
installation.
Ralf
More information about the Kde-windows
mailing list