[Bug 1630090] Re: $XMODIFIERS not set correctly

Launchpad Bug Tracker 1630090 at bugs.launchpad.net
Tue Oct 4 13:13:38 UTC 2016


This bug was fixed in the package im-config - 0.29-1ubuntu16

---------------
im-config (0.29-1ubuntu16) yakkety; urgency=medium

  * debian/user/im-config.service: Reverse the order of "initctl set-env" and
    "dbus-update-activation-environment". $XMODIFIERS can contain an "=" (its
    value might be, for example, "@im=ibus"). upstart forwards "set-env -g"
    calls to D-Bus, but it constructs the parameters to the call incorrectly
    and splits on "=" characters in the value, discarding anything which
    follows. We can work around this bug by calling "initctl set-env -g"
    first, and then "dbus-update-activation-environment" to overwrite the
    buggy value. (LP: #1630090)
  * debian/user/im-config.service: Get rid of one eval -
    "dbus-update-activation-environment" will look up the variable in the
    environment if you don't specify a value.

 -- Iain Lane <iain at orangesquash.org.uk>  Tue, 04 Oct 2016 12:28:35
+0100

** Changed in: im-config (Ubuntu)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to upstart in Ubuntu.
https://bugs.launchpad.net/bugs/1630090

Title:
  $XMODIFIERS not set correctly

Status in im-config package in Ubuntu:
  Fix Released
Status in upstart package in Ubuntu:
  Triaged

Bug description:
  When "initctl set-env -g" is called, upstart calls D-Bus to also
  update its activation environment (the environment that D-Bus
  activated services get). There is a bug here:

    - SetEnv takes a parameter of the form "VARIABLE=VALUE"
    - This is split on "=" to determine the two parts
    - If the VALUE has an "=" character in it, everything after the first "=" is lost, because all "=" characters are split and not the first one

  In this case, XMODIFIERS=@im=ibus was being turned into
  XMODIFIERS=@im.

  upstart should only split on the first "=", and keep the rest of the
  string unsplit. It doesn't look like nih_str_split is going to be very
  helpful here.

  [ Original description ]

  The XMODIFIERS environment variable is not set correctly.

  $ echo $XMODIFIERS
  @im
  $

  The value should be
  - for ibus:  "@im=ibus"
  - for fcitx: "@im=fcitx"
  - for xim:   "@im=none"

  The issue is present in Ubuntu/Unity 16.10. I don't see it in Ubuntu
  GNOME, neither in Ubuntu 16.04.

  Actually I don't think the affected package is im-config, because the
  issue is present also after having downgraded im-config to
  0.29-1ubuntu12 (the Xenial version). But I wanted to file the bug
  somewhere, so here it is.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/im-config/+bug/1630090/+subscriptions



More information about the foundations-bugs mailing list