Activity log for bug #1890905

Date Who What changed Old value New value Message
2020-08-08 15:38:06 Rüdiger Kupper bug added bug
2020-08-08 15:38:59 Rüdiger Kupper description 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). 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*. 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 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*.
2020-08-08 15:39:12 Rüdiger Kupper description 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 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*. 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*.
2020-08-08 15:41:29 Rüdiger Kupper description 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*. 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*.
2020-08-08 16:04:45 Rüdiger Kupper description 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*. 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*.
2020-08-08 16:05:35 Rüdiger Kupper description 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*. 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 in 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*.
2020-08-08 16:08:48 Rüdiger Kupper description 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 in 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*. 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.) - 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 ~/.config/snap/chromium if you had formerly started the chromium snap) - Start the chromium snap. - Observe that *it refuses to read any keyboard input*.
2020-08-08 16:10:23 Rüdiger Kupper description 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.) - 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 ~/.config/snap/chromium if you had formerly started the chromium snap) - Start the chromium snap. - Observe that *it refuses to read any keyboard input*. 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.) - 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*.
2020-08-08 16:17:33 Rüdiger Kupper description 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.) - 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*. 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, such as /tmp/<anything> or /var/<anything>. (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*.
2020-08-08 16:19:24 Rüdiger Kupper description 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, such as /tmp/<anything> or /var/<anything>. (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*. 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, such as /tmp/<something> or /var/<something>. (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*.
2020-08-11 14:36:18 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
2020-08-11 14:36:56 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
2020-08-25 14:48:35 Olivier Tilloy bug added subscriber Olivier Tilloy
2020-08-31 08:19:26 Samuele Pedroni snapd (Ubuntu): importance Undecided Medium
2020-08-31 09:06:59 Rüdiger Kupper description 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, such as /tmp/<something> or /var/<something>. (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*. 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 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 ~/.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 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 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_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_CACHE_HOME is set. This is a severe problem. Steps to reproduce: - Set $XDG_CACHE_HOME to a location different from ~/.cache, such as /tmp/<something> or /var/<something>. (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_CACHE_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*.
2021-02-28 17:11:48 Launchpad Janitor snapd (Ubuntu): status New Confirmed
2021-05-16 20:33:50 Gunnar Hjalmarsson bug added subscriber Gunnar Hjalmarsson
2021-06-14 14:11:47 Gunnar Hjalmarsson bug added subscriber James Henstridge
2023-05-24 07:26:34 Jan-Helge bug added subscriber Jan-Helge