> On Sept. 17, 2016, 9:52 p.m., René J.V. Bertin wrote: > > processui/ReniceDlg.cpp, lines 78-87 > > <https://git.reviewboard.kde.org/r/128909/diff/5/?file=476988#file476988line78> > > > > I've actually managed to get ksysguardprocesslist_helper to work with a > > patched libdbus and a hack to export the session bus socket name to the > > system dbus. > > Aleix Pol Gonzalez wrote: > Is it really a good idea to rely on a patched libdbus? > > René J.V. Bertin wrote: > I've been discussing this on the DBus ML, and am slowly getting my head > about the hairy details and confusing terminology. I now know that the KAuth > helper (DBus service executable, ksysguardprocesslist_helper in this case) > has to connect on the system dbus. That removes the need for a hack, > basically all I have to do is set `DBUS_LAUNCHD_SESSION_BUS_SOCKET` to the > system dbus socket in the root user's environment. > > It also means the libdbus patch can actually be discussed for > upstreaming; the reason this particular feature doesn't work on OS X seems to > be that helpers (services) like ksysguardprocesslist_helper don't even > attempt to connect on the system bus on OS X. They just bail out when they > fail to read the session bus socket name. > > If we really wanted to tackle this problem correctly we'd write a > specific (native) helper backend for KAuth, probably based on Apple's Service > Management framework (which leverages launchd). I doubt that's worth the > trouble at this point.
I now have a much better patch for [lib]dbus which I hope to submit in a near future, after more extensive testing. In the meantime I'm leaving the libksysguard features disabled that require elevated privileges. - René J.V. ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://git.reviewboard.kde.org/r/128909/#review99243 ----------------------------------------------------------- On Sept. 17, 2016, 7:32 p.m., René J.V. Bertin wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://git.reviewboard.kde.org/r/128909/ > ----------------------------------------------------------- > > (Updated Sept. 17, 2016, 7:32 p.m.) > > > Review request for KDE Base Apps and KDE Software on Mac OS X. > > > Repository: libksysguard > > > Description > ------- > > This patch implements initial and rather minimal support for OS X, for now > focussing purely on process information. That feature is justified as it is > used by KDevelop in order to obtain the list of processes one can attach a > debugger to. > > Mac OS X is tricky because it requires special privileges in order to obtain > certain types of information for any running process. For example, even > obtaining the number of threads spawned by a foreign process requires > privileges that aren't trivial to set up. I've prepared the terrain, but also > implemented a fallback strategy that calls `ps` to be sure that crucial > information like the command name is available for all processes. > > > Diffs > ----- > > processcore/CMakeLists.txt e7c9263 > processcore/Info.plist PRE-CREATION > processcore/helper.cpp d54c8e1 > processcore/processes_darwin_p.cpp PRE-CREATION > processcore/processes_local_p.cpp 2bc123f > processui/ReniceDlg.cpp a97563f > processui/ksysguardprocesslist.cpp 44603de > > Diff: https://git.reviewboard.kde.org/r/128909/diff/ > > > Testing > ------- > > On OS X 10.9.5 with Frameworks 5.24.0 and Qt 5.6.1 > > > File Attachments > ---------------- > > Attach to Process widget in KDevelop > > https://git.reviewboard.kde.org/media/uploaded/files/2016/09/14/47468811-58cb-40b8-a735-4dd86dce98e1__Screen_Shot_2016-09-14_at_17.38.22.png > > > Thanks, > > René J.V. Bertin > >