[Sugar-devel] Enable gnome-keyring to autostart in sugar-emulator
Daniel Narvaez
dwnarvaez at gmail.com
Tue Jul 3 11:57:16 EDT 2012
Thanks. Can you please push the patch with updated log?
On 3 July 2012 13:53, Caspar Bothmer <caspar at activitycentral.com> wrote:
> Hello Daniel,
>
> sorry, been busy...
>
> Sascha and me have discussed this issue thoroughly. The diff itself is easy,
> the reasoning behind is not.
>
> So we decided just to tell you how we would write this commit message and
> the diff to reflect the situation. The commit message will become the
> entry in git log. It's not enough to tell in your own words, what the diff
> is doing and giving the place, where this solution is outlined.
> You need to extract the relevant information, what you do and why.
>
> Caspar
>
>
> Subject: Enable gnome-keyring-daemon to start inside the emulated session.
>
> We have the following situation: there is an instance of gnome-keyring-daemon
> running on the machine. But sugar-emulator can't access this instance of
> gnome-keyring-daemon, as it is outside the scope of sugar-emulator and not
> registered with the D-Bus session bus started by sugar-emulator.
> D-Bus tries to start a new instance of gnome-keyring-daemon, which fails due
> to a set of environment variables related to gnome-keyring-daemon. These
> essentially make gnome-keyring-daemon try to initialize the existing instance
> of gnome-keyring-daemon outside the scope of sugar-emulator.
> By removing these environment variables, D-Bus can start a new instance of
> gnome-keyring-daemon and register with the D-Bus session.
>
> See
> https://bugzilla.gnome.org/show_bug.cgi?id=628302
> and
> https://live.gnome.org/GnomeKeyring/RunningDaemon
>
> for more information.
>
> ---
> bin/sugar.in | 6 ------
> src/jarabe/util/emulator.py | 7 +++++++
> 2 files changed, 7 insertions(+), 6 deletions(-)
>
> diff --git a/bin/sugar.in b/bin/sugar.in
> index 12098db..2df0ab8 100644
> --- a/bin/sugar.in
> +++ b/bin/sugar.in
> @@ -62,12 +62,6 @@ export LANGUAGE="${LANGUAGE:-${LANG}}"
> # Set Sugar's telepathy accounts directory
> export MC_ACCOUNT_DIR=$HOME/.sugar/$SUGAR_PROFILE/accounts
>
> -# Workaround until gnome-keyring-daemon lets dbus activate it
> -# https://bugzilla.gnome.org/show_bug.cgi?id=628302
> -if test "$SUGAR_EMULATOR" = "yes" -a "$(type gnome-keyring-daemon)"; then
> - gnome-keyring-daemon --components=secrets &
> -fi
> -
> # Source language settings and debug definitions
> if [ -f ~/.i18n ]; then
> . ~/.i18n
> diff --git a/src/jarabe/util/emulator.py b/src/jarabe/util/emulator.py
> index fda1b59..db34190 100644
> --- a/src/jarabe/util/emulator.py
> +++ b/src/jarabe/util/emulator.py
> @@ -120,6 +120,13 @@ def _start_window_manager():
>
>
> def _setup_env(display, scaling, emulator_pid):
> + # We need to remove the environment related to gnome-keyring-daemon,
> + # so a new instance of gnome-keyring-daemon can be started and
> + # registered properly.
> + for variable in ['GPG_AGENT_INFO', 'SSH_AUTH_SOCK',
> + 'GNOME_KEYRING_CONTROL', 'GNOME_KEYRING_PID']:
> + if variable in os.environ:
> + del os.environ[variable]
> +
> os.environ['SUGAR_EMULATOR'] = 'yes'
> os.environ['GABBLE_LOGFILE'] = os.path.join(
> env.get_profile_path(), 'logs', 'telepathy-gabble.log')
--
Daniel Narvaez
More information about the Sugar-devel
mailing list