spiegel-keyman/linux
Eberhard Beilharz b7d5e89577
fix(linux): fix installing keyboard in shared area
Installing into the shared area (`/usr/local/share`) requires `root`
permissions, so in order to install into the shared area the user has
to call `km-package-install` with `sudo`. But we also want to add the
keyboard to the user's list of available keyboards so that he can
switch to it. That needs to be done in the user context. However,
when `sudo` ran the command in the user context, the environment
variables to connect to the user's session dbus were not set.

This change fixes this by passing `DBUS_SESSION_BUS_ADDRESS` along
with the `sudo -u <user>` call. Since `root` doesn't have this variable
set (or at least not pointing to the user's dbus), we construct the
dbus address based on the user's uid.

On newer Ubuntu versions (>=25.04) we also have to set `XDG_RUNTIME_DIR`,
at least when running the autopkgtests.

Fixes: #14911
2025-10-14 17:54:36 +02:00
..
debian fix(linux): replace dbus-x11 dependency 2025-10-07 16:23:49 +02:00
docs/help docs(linux): clarify requirement of patched ibus for Keyman < 18 2025-06-04 11:17:08 +02:00
ibus-keyman maint(linux): suppress output of stopping processes after test run 2025-10-06 16:13:44 +02:00
include refactor(linux): move dbus defines to common include 2025-07-25 19:39:50 +02:00
keyman-config fix(linux): fix installing keyboard in shared area 2025-10-14 17:54:36 +02:00
keyman-system-service maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
mcompile maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
scripts maint(linux): improve upload-to-debian script 🍒🍒 2025-09-19 15:45:07 +02:00
tools/teamcity_pytestrunner chore(linux): clarify that it's a Python test runner 2025-06-02 15:20:42 +02:00
.gitignore chore(linux): rename test files 2024-11-26 19:06:02 +01:00
build.sh maint(common): consolidate builder scripts 2025-08-02 08:11:24 +10:00
CodeCoverageReports.html chore(linux): Add code coverage index page 2023-10-13 22:51:00 +02:00
history.md chore(linux/resources): Cleanup formatting in history.md 2020-11-27 13:30:20 +07:00
LICENSE.md chore(linux): Update readme 2022-10-12 12:28:46 +02:00
README.md chore(linux): Add code coverage index page 2023-10-13 22:51:00 +02:00

Keyman for Linux

See /docs/linux/README.md for documentation.