On Thu, 14 Jan 2021 19:34:03 -0400 Jim via tde-devels devels@trinitydesktop.org wrote:
On Thu, Jan 14, 2021 at 16:17 (-0500), E. Liddell wrote:
On Thu, 14 Jan 2021 11:39:42 -0400 Jim via tde-devels devels@trinitydesktop.org wrote:
On Wed, Jan 13, 2021 at 19:00 (+0100), Slávek Banko via tde-devels wrote:
On Wednesday 13 of January 2021 18:42:12 Jim via tde-devels wrote:
On Wed, Jan 13, 2021 at 17:36 (+0100), Slávek Banko via tde-devels
wrote:
On Wednesday 13 of January 2021 16:49:00 Jim via tde-devels wrote: > ADDITIONAL INFORMATION which may or may not help: > When I start up kcontrol, the pane on the left which should have all > sort of things (in an older version of TFE on another computer I have > "Appearance & Themes", "Desktop", "Internet & Network", and so on) > is empty. Â So, again, it can't find whatever it is looking for.
<snip>
Can you try it in a full TDE session?
Yes, as described above, if by "full session" we mean do both -> use tdm display manager and -> start TDE session then it works.
Given my "essentially nil" understanding of the code base, I don't know if I can be much help tracking this down, but if you want me to give something a try, just let me know.
If I try to bring up kcontrol when su'd to root inside a konsole window, I get a blank left panel in kcontrol and the following:
ryu ~ # kcontrol [tdebuildsycoca] tdebuildsycoca running... [2021/01/14 15:52:02.413] [dcopserver] DCOP Cleaning up dead connections. [2021/01/14 15:52:02.451] [kcontrol] WARNING: No TDE menu group with X-TDE-BaseGroup=settings found ! Defaulting to Settings/
The left panel is populated if I open kcontrol from the command line as the logged-in user, and the buildsycoca, DCOP, and warning messages are not printed.
So the problem is either something DCOPish, or something to do with that warning message. Probably.
Jim, can you test to see if you get the same messages, so we can make sure I'm not conflating two different problems?
Given that it works when I run from a "full TDE session", I am running these commands from my trusty fvwm2 session, as started by xdm.
[...]
How exactly did you su to root? If I just "su", /opt/trinity/bin is in my PATH, whereas if I "sudo su" it is not. For the root output below, I just did "su". And to start with a clean config, I did the rm shown below
Normal procedure for me would be "su -". The - clears the environment, if I recall correctly. I was just using root because that's the only other full user I have set up on this machine, though.
root@rpi4-4:/scratch/tmp# kcontrol /usr/bin/iceauth: creating new authority file /root/.ICEauthority [tdebuildsycoca] tdebuildsycoca running... [2021/01/14 19:31:17.736] [kcontrol] WARNING: No TDE menu group with X-TDE-BaseGroup=settings found ! Defaulting to Settings/
And no info in the left pane.
Okay. So the warning message always shows up. I was able to trace the warning into the source (for 14.0.8, because I already had that on my machine and unpacked).
(Boring code stuff follows.)
The warning itself comes from KCGlobal::baseGroup() in tdebase-trinity-14.0.8/kcontrol/kcontrol/global.cpp . The section it's in has the following comment attached:
// Compatibility with old behaviour, in case of missing .directory files.
I have a feeling that that section of code should be choosing different fallbacks. Execution is being gated into there if
KServiceGroup::baseGroup( _infocenter ? "info" : "settings" )
doesn't find a valid pointer (I think—my C++ isn't the greatest), but trying to figure out how the relevant variables are initialized led me down a rabbit hole in tdelibs that was beyond my ability to decode.
Conclusion: to fix this, either something has to be initialized before that KServiceGroup::baseGroup call, or one of the fallbacks if it's uninitialized needs to be handled in a way that makes sense for the case where the user starting kcontrol is not the one running the main TDE session (if there is a main TDE session).
Secondary conclusion: I can describe the problem, but not fix it. Sorry.
Slávek? What do you think?
E. Liddell