Bug ID 1009510
Summary kdesu can't run dolphin (and others) as another user
Classification openSUSE
Product openSUSE Distribution
Version Leap 42.2
Hardware Other
OS Other
Status NEW
Severity Normal
Priority P5 - None
Component KDE Applications
Assignee opensuse-kde-bugs@opensuse.org
Reporter alarrosa@suse.com
QA Contact qa-bugs@suse.de
Found By ---
Blocker ---

Running "kdesu -u anotheruser dolphin" results in an unusable dolphin since it
can't start kio slaves. The same happens with "kdesu -u anotheruser kate",
which results in a kate process that can't open/save files.

If the user is root ("kdesu -u root dolphin" or "kdesu -u root kate" is used)
then that works, but files like /kdeinit5__0 and
/klauncherJ15900.1.slave-socket are created in / . This happens because
QStandardPaths::writableLocation(RuntimeLocation) returns an empty string when
finding any problem with the runtime directory (like owner/uid mismatch).

When running "kdesu -u anotheruser konsole", it can be seen that
XDG_RUNTIME_DIR is still set to the runtime dir of user running kdesu, so
"anotheruser" doesn't have access to that directory and thus, the socket
creation fails for kdeinit and kio.

This happens in TW and 42.2 . On the other hand, in 42.1, if you run "kdesu -u
root konsole" and check the value of XDG_RUNTIME_DIR, it's set to /run/user/0,
which is the right value, except that that directory doesn't exist (thus
creating the socket files in / again).


You are receiving this mail because: