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