Public bug reported:

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*.

** Affects: snapd (Ubuntu)
     Importance: Undecided
         Status: New

** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
  apparmor related things, please correct my 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 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).
+ 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*.

** Description changed:

  This is a follow-up to #1580463. (Note: I am not an expert in snap or
- apparmor related things, please correct my in anything I say below,
+ 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*.

** 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*.
+ - 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*.

-- 
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
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to