Mh I think the issue is upstart and dbus-session related more than an
unity issue.

In fact: 
 $ ls /proc/$(pgrep -u $USER dbus-daemon | head -n1)/cwd -l
 lrwxrwxrwx 1 marco marco 0 mag 31 15:58 /proc/940/cwd -> /

Thus the process that has the role of launching these kind of apps, and
it's the one responsible for setting the proper CWD.

Unfortunately, it seems that just calling chdir in
/usr/share/upstart/sessions/dbus.conf is not enough.

** Changed in: unity (Ubuntu)
       Status: Triaged => Invalid

** Also affects: dbus (Ubuntu)
   Importance: Undecided
       Status: New

** Also affects: upstart (Ubuntu)
   Importance: Undecided
       Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to dbus in Ubuntu.
https://bugs.launchpad.net/bugs/1580673

Title:
  DBusActivatable launches app in root directory

Status in dbus package in Ubuntu:
  New
Status in unity package in Ubuntu:
  Invalid
Status in upstart package in Ubuntu:
  New

Bug description:
  I'm the maintainer of a tiling terminal application called Terminix
  (https://github.com/gnunn1/terminix). By default, terminix has
  DBusActivatable=true in it's desktop launch configuration. However
  when this is enabled, Unity will launch Terminix with the CWD set to
  the root ('/') directory rather then the user's home. This doesn't
  happen for all users, but it is consistent in that if the user has the
  issue they always have the issue.

  This causes issues for my users because Terminix uses it's CWD when
  first launched to determine what the shell's initial directory should
  be. You can see bug reports on this issue at the following links:

  https://github.com/gnunn1/terminix/issues/285
  https://github.com/gnunn1/terminix/issues/214
  https://github.com/gnunn1/terminix/issues/216
  https://github.com/gnunn1/terminix/issues/220

  I can reproduce on Unity 16.04 in a VM, I can see that the while the
  CWD is set to the root directory, the PWD environment variable is set
  to the user's home directory as expected. For now I'm working around
  it by checking if the --gapplication-service parameter was passed, if
  so if the CWD!=PWD I set the CWD to PWD.

  Another thing that works is changing DBusActivatable=false in the
  desktop file, however I'd prefer to avoid maintaining two desktop
  files.

  I'd really like to understand why this happening and confirm if it's
  something I'm doing wrong on my side. This configuration works fine in
  other launchers like Gnome Shell, it's only Unity where I have the
  issue. I used the dbus-monitor to inspect messages when Unity launches
  Terminix and I'm not seeing an obvious problem.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/dbus/+bug/1580673/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to