Message: previous - next
Month: September 2010

HPLIP Mysteries

From: Darrell Anderson <humanreadable@...>
Date: Fri, 17 Sep 2010 16:30:31 -0700 (PDT)
At this point I believe the reason I don't see those HPLIP messages when I start 3.5.10 is 3.5.10 is not fully xdg compliant. If I'm wrong then I have no other explanation why I never see those messages in 3.5.10. That I was seeing the messages in Trinity and not in 3.5.10 was a red herring.

Yet Trinity is not fully compliant either. :(

Test Results:

In my 3.5.10 system, with my testing account, I removed the hplip.desktop file from ~/.config/autostart. I started 3.5.10 and there were no messages about HPLIP.

I have a second KDEDIR directory. I purposely assigned 700 permissions to that directory to prevent any *.desktop files there from overriding KDE defaults. Again no HPLIP messages.

Yet the service does not try to run in my 3.5.10 system. What did I do long ago in 3.5.10 to prevent HPLIP from starting?

Maybe nothing?

After much testing and web searching I started to wonder whether the original KDE 3.5.10 is broken with respect to xdg autostart requirements. Not a far stretch to believe since we have seen that 3.5.10 does not recognize or honor the ~/.config/autostart directory.

Trinity is almost fully xdg compliant but not quite. I see the HPLIP messages because Trinity is correctly reading the contents of /etc/xdg/autostart.

Is Trinity recognizing the ~/.config/autostart directory? Yes. In the past I used the ~/.config directory for non-KDE apps. Once in a while I run tests in Xfce. Xfce does honor the autostart directory. Trinity does too. I know this because when I start Trinity for the first time with no kde profile, a new profile gets created. My conky display starts. The only place Trinity can find that directive is the ~/.config/autostart directory.

I'm concluding that Trinity honors the ~/.config/autostart directory.

But does not recognize exceptions.

When I run Trinity and I have the ~/.config/autostart/hplip-systray.desktop file set to Hidden=True, I still see the HPLIP messages in the log. This seems to be a bug with respect to full xdg autostart compliance.

Initially I thought the Hidden=true directive in ~/.config/autostart/hplip.desktop only hides the tray icon and does not necessarily stop the service from trying to run. But that is not the effect I see in Xfce. When I set Hidden=False in the ~/.config/autostart/hplip-systray.desktop file, I see the same HPLIP messages in the log. When I set Hidden=True I no longer see the HPLIP messages. Thus the file in ~/.config/autostart fully controls whether the service in /etc/xdg/autostart actually starts.

As another test, in 3.5.10, I copied the /etc/xdg/autostart/hplip-systray.desktop file to ~/.config/autostart. No related messages found in the log. I exited KDE and moved the file to ~/.kde/Autostart. I then saw the same messages in the log.

SUMMARY: 3.5.10 is not fully xdg compliant and that is why I see no related messages. Trinity is mostly xdg compliant and that is why I see the messages in the log. Yet for some reason Trinity is not honoring the Hidden=True directive in the ~/.config/autostart/hplip-systray.desktop file and I still see the HPLIP messages when I should not.

Xfce does this as expected. Perhaps the Xfce code might help with getting Trinity fully xdg compliant. I have the source code here. Tell me what to look for and I can forward appropriate snippets.