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

Reply via email to