[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2021-06-14 Thread Gunnar Hjalmarsson
I could reproduce this issue in Ubuntu impish by simply adding:

export XDG_CACHE_HOME=/tmp/mycache

to ~/.profile and relogin.

Then, as James Henstridge suggested, I tried starting it like this:

IBUS_USE_PORTAL=1 chromium

Unfortunately that did not help.

I made one observation, though, which might be useful as a workaround:
If I set the XDG_CACHE_HOME variable to "/tmp" (instead of
"/tmp/mycache"), typing within the Chromium snap, including inputting
with an IBus engine, worked as expected. Possibly the explanation is
that /tmp is used as a fallback, sort of, to deal with BSD systems.

https://github.com/ibus/ibus/blob/master/bus/server.c

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2021-05-17 Thread Gunnar Hjalmarsson
Or bug #1423890, which includes a link to a mailing list discussion.

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2021-05-16 Thread Gunnar Hjalmarsson
Bug #1856738 seems to be related.

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2021-02-28 Thread Launchpad Bug Tracker
Status changed to 'Confirmed' because the bug affects multiple users.

** Changed in: snapd (Ubuntu)
   Status: New => Confirmed

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-31 Thread Rüdiger Kupper
Sorry, I mixed up `.cache` and `.config` in the bug description
(corrected).

I originally found this problem referring to the users CACHE directory.
But as ibus needs both, .cache and .config, it is to be expected that
the same problem appears when users' CONFIG is relocated (wich is as
easily possible as CACHE).

The relevant environment variables from the freedesktop specification
are (see https://specifications.freedesktop.org/basedir-
spec/latest/ar01s03.html):

- $XDG_CACHE_HOME (defaults to ~/.cache)
- $XDG_CONFIG_HOME (defaults to ~/.config)

Both must be taken care of, as there are valid reasons for setting them
to non-standard locations, esp. in networking environments.

** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct me in anything I say below,
  thank you ;-).)
  
  Bug #1580463 dealt with a problem in snaps achieving a correct path for
  accessing IBus and has since been closed as fixed. Here, I describe a
  problem which is most probably related and appears when user caches are
  stored in non-standard locations (i.e., not in ~/.cache).
  
  Background:
  - IBus is an input method for graphical Desktops like GNOME, allowing easy 
keyboard input for some languages (like Asian languages).
  - It is the standard input method on GNOME, which is the standard desktop 
environment in Ubuntu.
- - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's config directory, the default being 
~/.config/ibus/bus/ .
- - Applications need access to this data to consume keyboard input.
+ - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's cache directory, the default being 
~/.cache/ibus/ and ~/.config/ibus/.
+ - Applications need access to these data to consume keyboard input.
  
  Regarding snaps:
  - Snaps are confined, meaning they have access to only the smallest possible 
subset of file paths – including strictly defined paths in the users's home 
directory.
- - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.config/ibus/bus/, so they can consume keyboard input.
+ - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.cache/ibus/, so they can consume keyboard input.
  
  Issue at hand:
- - There is a well-documented and perfectly valid way of moving a user's 
config directory away from the default location:
+ - There is a well-documented and perfectly valid way of moving a user's cache 
directory away from the default location:
  - It is defined by the freedesktop.org specification (see 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) which 
GNOME adheres to.
- - That specifies that all applications shall expect user specific 
configuration data to be located below $XDG_CONFIG_HOME, where this environment 
variable shall default to ~/.config if unset or empty.
- - I here report that snaps currently do not follow this specification, 
causing them to *refuse any keyboard input when IBus is selected as input 
method and $XDG_CONFIG_HOME is set*.
+ - That specifies that all applications shall expect user specific cache data 
to be located below $XDG_CACHE_HOME, where this environment variable shall 
default to ~/.cache if unset or empty.
+ - I here report that snaps currently do not follow this specification, 
causing them to *refuse any keyboard input when IBus is selected as input 
method and $XDG_CACHE_HOME is set*.
  
  Typical use case:
- - $XDG_CONFIG_HOME is typically set to a local file path when the users' home 
directories are located on a network share.
+ - $XDG_CACHE_HOME is typically set to a local file path when the users' home 
directories are located on a network share.
  - This is a typical setup for mid- to larger scale applications of Ubuntu, 
such as schools or universities.
  - Meaning this will affect *a lot of users* at institutions using Ubuntu  
(but not the average home user).
  
  Test case:
  - Chromium snap in Ubuntu 20.04[.1]
  - Upon upgrade from 18.04 LTS to 20.04 LTS, the chromium-browser deb package 
(unconfined) will forcefully be replaced by the (confined) chromium snap, which 
manifests above described problem.
  
  Impact:
- - Chromium (and presumably other snaps) stop accepting keyboard input after 
LTS upgrade to Ubuntu 20.04 when $XDG_CONFIG_HOME is set.
+ - Chromium (and presumably other snaps) stop accepting keyboard input after 
LTS upgrade to Ubuntu 20.04 when $XDG_CACHE_HOME is set.
  
  This is a severe problem.
  
  Steps to reproduce:
- - Set $XDG_CONFIG_HOME to a location different from ~/.config, such as 
/tmp/ or /var/. (Both are paths very likely be used by 
installs with network located homes. Note this must be done before the 
graphical session starts, like in the user's ~/.profile.)
+ - Set $XDG_CACHE_HOME to a location different from ~/.cache, 

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-31 Thread Samuele Pedroni
** Changed in: snapd (Ubuntu)
   Importance: Undecided => Medium

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-11 Thread Rüdiger Kupper
Attaching relevant portions from journalctl: Once with and without
XDG_CACHE_HOME set. Each time I launched the chrome snap, typed some
keys, and quit.

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-11 Thread Rüdiger Kupper
** Attachment added: "Log with XDG:CACHE_HOME unset (working)"
   
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1890905/+attachment/5400722/+files/log-working

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-11 Thread Rüdiger Kupper
** Attachment added: "Log with XDG:CACHE_HOME set (not working)"
   
https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1890905/+attachment/5400723/+files/log-notworking2

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-08 Thread Rüdiger Kupper
** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct me in anything I say below,
  thank you ;-).)
  
  Bug #1580463 dealt with a problem in snaps achieving a correct path for
  accessing IBus and has since been closed as fixed. Here, I describe a
  problem which is most probably related and appears when user caches are
  stored in non-standard locations (i.e., not in ~/.cache).
  
  Background:
  - IBus is an input method for graphical Desktops like GNOME, allowing easy 
keyboard input for some languages (like Asian languages).
  - It is the standard input method on GNOME, which is the standard desktop 
environment in Ubuntu.
  - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's config directory, the default being 
~/.config/ibus/bus/ .
  - Applications need access to this data to consume keyboard input.
  
  Regarding snaps:
  - Snaps are confined, meaning they have access to only the smallest possible 
subset of file paths – including strictly defined paths in the users's home 
directory.
  - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.config/ibus/bus/, so they can consume keyboard input.
  
  Issue at hand:
  - There is a well-documented and perfectly valid way of moving a user's 
config directory away from the default location:
  - It is defined by the freedesktop.org specification (see 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) which 
GNOME adheres to.
  - That specifies that all applications shall expect user specific 
configuration data to be located below $XDG_CONFIG_HOME, where this environment 
variable shall default to ~/.config if unset or empty.
  - I here report that snaps currently do not follow this specification, 
causing them to *refuse any keyboard input when IBus is selected as input 
method and $XDG_CONFIG_HOME is set*.
  
  Typical use case:
  - $XDG_CONFIG_HOME is typically set to a local file path when the users' home 
directories are located on a network share.
  - This is a typical setup for mid- to larger scale applications of Ubuntu, 
such as schools or universities.
  - Meaning this will affect *a lot of users* at institutions using Ubuntu  
(but not the average home user).
  
  Test case:
  - Chromium snap in Ubuntu 20.04[.1]
  - Upon upgrade from 18.04 LTS to 20.04 LTS, the chromium-browser deb package 
(unconfined) will forcefully be replaced by the (confined) chromium snap, which 
manifests above described problem.
  
  Impact:
  - Chromium (and presumably other snaps) stop accepting keyboard input after 
LTS upgrade to Ubuntu 20.04 when $XDG_CONFIG_HOME is set.
  
  This is a severe problem.
  
  Steps to reproduce:
- - Set $XDG_CONFIG_HOME to a location different from ~/.config. (This must be 
done before the graphical session starts, like in the user's ~/.profile.)
+ - Set $XDG_CONFIG_HOME to a location different from ~/.config, such as 
/tmp/ or /var/. (Both are paths very likely be used by 
installs with network located homes. Note this must be done before the 
graphical session starts, like in the user's ~/.profile.)
  - Log the user out from and in again to the graphical session.
  - Confirm (from a terminal) that IBus data is now located below 
$XDG_CONFIG_HOME/ibus/bus.
  - (rm -r ~/snap/chromium/current/.config/ if you had formerly started the 
chromium snap)
  - Start the chromium snap.
  - Observe that *it refuses to read any keyboard input*.

** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct me in anything I say below,
  thank you ;-).)
  
  Bug #1580463 dealt with a problem in snaps achieving a correct path for
  accessing IBus and has since been closed as fixed. Here, I describe a
  problem which is most probably related and appears when user caches are
  stored in non-standard locations (i.e., not in ~/.cache).
  
  Background:
  - IBus is an input method for graphical Desktops like GNOME, allowing easy 
keyboard input for some languages (like Asian languages).
  - It is the standard input method on GNOME, which is the standard desktop 
environment in Ubuntu.
  - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's config directory, the default being 
~/.config/ibus/bus/ .
  - Applications need access to this data to consume keyboard input.
  
  Regarding snaps:
  - Snaps are confined, meaning they have access to only the smallest possible 
subset of file paths – including strictly defined paths in the users's home 
directory.
  - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.config/ibus/bus/, so they can consume keyboard input.
  
  Issue at hand:
  - There is a well-documented and perfectly valid way of moving a user's 
config directory away from 

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-08 Thread Rüdiger Kupper
** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct me in anything I say below,
  thank you ;-).)
  
  Bug #1580463 dealt with a problem in snaps achieving a correct path for
  accessing IBus and has since been closed as fixed. Here, I describe a
  problem which is most probably related and appears when user caches are
  stored in non-standard locations (i.e., not in ~/.cache).
  
  Background:
  - IBus is an input method for graphical Desktops like GNOME, allowing easy 
keyboard input for some languages (like Asian languages).
  - It is the standard input method on GNOME, which is the standard desktop 
environment in Ubuntu.
  - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's config directory, the default being 
~/.config/ibus/bus/ .
  - Applications need access to this data to consume keyboard input.
  
  Regarding snaps:
  - Snaps are confined, meaning they have access to only the smallest possible 
subset of file paths – including strictly defined paths in the users's home 
directory.
  - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.config/ibus/bus/, so they can consume keyboard input.
  
  Issue at hand:
  - There is a well-documented and perfectly valid way of moving a user's 
config directory away from the default location:
  - It is defined by the freedesktop.org specification (see 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) which 
GNOME adheres to.
  - That specifies that all applications shall expect user specific 
configuration data to be located below $XDG_CONFIG_HOME, where this environment 
variable shall default to ~/.config if unset or empty.
  - I here report that snaps currently do not follow this specification, 
causing them to *refuse any keyboard input when IBus is selected as input 
method and $XDG_CONFIG_HOME is set*.
+ - $XDG_CONFIG_HOME is typically set to a local file path when the users' home 
directories are located on a network share.
+ - This is a typical setup for mid- to larger scale applications of Ubuntu, 
such as schools or universities.
+ - Meaning this will affect *a lot of users* at institutions using Ubuntu  
(but not the average home user).
+ 
+ 
+ Test case:
+ - Chromium snap in Ubuntu 20.04[.1]
+ - Upon upgrade from 18.04 LTS to 20.04 LTS, the chromium-browser deb package 
(unconfined) will forcefully be replaced by the (confined) chromium snap, which 
manifests above described problem.
+ 
+ Impact:
+ - Chromium (and presumably other snaps) stop accepting keyboard input after 
LTS upgrade to Ubuntu 20.04 when $XDG_CONFIG_HOME is set.
+ 
+ This is a severe problem.
+ 
+ 
+ Steps to reproduce:
+ - Set $XDG_CONFIG_HOME to a location different from ~/.config. (This must be 
done before the graphical session starts, like in the user's ~/.profile.)
+ - Log the user out from and out again to the graphical session.
+ - Confirm (from a terminal) that IBus data is now located below 
$XDG_CONFIG_HOME/ibus/bus.
+ - (rm -r ~/.config/snap/chromium if you had formerly started the chromium 
snap)
+ - Start the chromium snap.
+ - Observe that *it refuses to read any keyboard input*.

** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct me in anything I say below,
  thank you ;-).)
  
  Bug #1580463 dealt with a problem in snaps achieving a correct path for
  accessing IBus and has since been closed as fixed. Here, I describe a
  problem which is most probably related and appears when user caches are
  stored in non-standard locations (i.e., not in ~/.cache).
  
  Background:
  - IBus is an input method for graphical Desktops like GNOME, allowing easy 
keyboard input for some languages (like Asian languages).
  - It is the standard input method on GNOME, which is the standard desktop 
environment in Ubuntu.
  - When the user logs into the desktop session, the IBus interface is created 
and sockets stored in the user's config directory, the default being 
~/.config/ibus/bus/ .
  - Applications need access to this data to consume keyboard input.
  
  Regarding snaps:
  - Snaps are confined, meaning they have access to only the smallest possible 
subset of file paths – including strictly defined paths in the users's home 
directory.
  - In the process of resolving #1580463, it has been ensured that snaps can 
safely access ~/.config/ibus/bus/, so they can consume keyboard input.
  
  Issue at hand:
  - There is a well-documented and perfectly valid way of moving a user's 
config directory away from the default location:
  - It is defined by the freedesktop.org specification (see 
https://specifications.freedesktop.org/basedir-spec/latest/ar01s03.html) which 
GNOME adheres to.
  - That specifies that all applications shall expect user specific 
configuration data to be located 

[Bug 1890905] Re: Snaps cannot access IBus when $XDG_CACHE_HOME is set

2020-08-08 Thread Rüdiger Kupper
Cross references:
- https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1580463/comments/39 
indicating that /home/* may be hard coded for snap access (breaking the 
freedesktop.org specs)
- https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1580463/comments/40 
stating that this *should* have been changed to $XDG_CACHE_HOME/ibus – but 
apparently this did not work.

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

Title:
  Snaps cannot access IBus when $XDG_CACHE_HOME is set

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

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs