Help with a small test

20 views
Skip to first unread message

Qubes

unread,
Apr 24, 2023, 6:02:42 AM4/24/23
to qubes...@googlegroups.com
I am trying to get to the bottom of a problem but I need someone,
perhaps more than one someone, to do a small test for me to confirm
whether my problem is specific for me to my system or if this is a
general issue. I have a problem description and test request which
should only take a couple of minutes (1. clone template, 2. sudo dnf
install krusader, 3. open file from appVM using Krusader).

== PROBLEM DESCRIPTION ==

I have Krusader installed on a Debian 10/11 machine without any issues,
but, if I install Krusader on Fedora 36/37 it does not have any file
type associations. Which means whenever I double click, or press enter,
on a file it brings up the dialog window where I am supposed to be able
to select a program to use for the file type I am opening. This window
does not display any programs, which is still ok (but not normal) I can
point it to the program in /usr/bin to use, the problem then continues
in that Krusader does not save this (yes I do select the checkbox for it
to remember).

I have also tried right clicking on a file and selecting Properties,
from there I select the Change button next to Open With, but the same
happens here, my selection does not stick.

If I launch Krusader from cli I get the following output on the cli
window when I double click a file (when the dialog opens where I should
select the program to use), “15:08:53.325-warning kf.service.services
unknown@0 # KServiceFactory: unexpected object entry in KSycoca database
(type= 305 )”.

I am almost certain this is because of a missing dependency but I cannot
figure out what dependency it is. Can anyone help with this?

== END PROBLEM DESCRIPTION==

== TO TEST ==

I use the minimal template for all of my configs, but to rule out any
underlying issue with the minimal template I suggest using the Fedora
36/37 template. I did the same.

1. Clone template
2. sudo dnf install krusader
3. create appVM based on above template
4. copy a pdf document to the appVM
5. open the pdf from Krusader

Do you also get a dialog window requesting you to select the program to
use to open the file and it is empty? Or does your program list include
evince? If you type in the location to the program (either just "evince"
or /usr/bin/evince") and click to "remember", does it remember or do you
get the same empty program list selection window when you open the pdf
again?

Finally, do you also see the "warning kf.service.services unknown@0 #
KServiceFactory: unexpected object entry in KSycoca database (type= 305
)” when you launch Krusader from cli?

== END TEST ==

NewRoot

unread,
Apr 24, 2023, 3:09:50 PM4/24/23
to qubes-users
I performed your test with a clone of fedora-37 template.  I did get a dialog window requesting me to select the program to use to open the pdf file.  It did not remember the /usr/bin/evince path the next time after I browsed to it and checked the remember box when opening the pdf the first time.

I did not get the same error message you did when I launched krusader from cli.  I got the following error messages

kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "No jobs" msgid_plural: "" msgctxt: ""

(krusader:2530): Gdk-CRITICAL **: 10:23:45.254: gdk_atom_intern: assertion 'atom_name != NULL' failed

(krusader:2530): Gdk-CRITICAL **: 10:23:45.255: gdk_atom_intern: assertion 'atom_name != NULL' failed
10:23:45.446-warning kf.i18n unknown@0 # Trying to convert empty KLocalizedString to QString.

When I first launched krusader I got a popup warning with the following text:
No text editor plugin available
Internal editor will not work without this.
You can fix this by installing Kate:
https://kde.org/applications/utilities/org.kde.kate

After I installed kate in the appVM, just to see what would happen, I got the following message after loading krusader and opening the pdf the first time but not subsequent times.
10:43:29.756-critical default unknown@0 # "applications.menu"  not found in  ("/etc/xdg/menus")

Qubes

unread,
Apr 24, 2023, 4:05:00 PM4/24/23
to qubes...@googlegroups.com
NewRoot wrote:
> I performed your test with a clone of fedora-37 template.  I did get a
> dialog window requesting me to select the program to use to open the pdf
> file.  It did not remember the /usr/bin/evince path the next time after
> I browsed to it and checked the remember box when opening the pdf the
> first time.
>

Thank you for doing my test and providing your feedback. The problem
does then appear to be specific to the Fedora template because Krusader
works as expected on Debian templates.

>
> I did not get the same error message you did when I launched krusader
> from cli.  I got the following error messages
>
> kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid:
> "No jobs" msgid_plural: "" msgctxt: ""
>
> (krusader:2530): Gdk-CRITICAL **: 10:23:45.254: gdk_atom_intern:
> assertion 'atom_name != NULL' failed
>
> (krusader:2530): Gdk-CRITICAL **: 10:23:45.255: gdk_atom_intern:
> assertion 'atom_name != NULL' failed
> 10:23:45.446-warning kf.i18n unknown@0 # Trying to convert empty
> KLocalizedString to QString.
>

I have noticed that Krusader is missing a dependency, kde-cli-tools,
installing this should fix the above problem and then you should also
see the error I mention about KSysoca.

>

NewRoot

unread,
Apr 24, 2023, 6:44:48 PM4/24/23
to qubes-users


> I have noticed that Krusader is missing a dependency, kde-cli-tools,
> installing this should fix the above problem and then you should also
> see the error I mention about KSysoca.

After installing kde-cli-tools in the template the errors (ignoring gdk_atom_intern errors) change to : 
[user@krusader-fed-37 ~]$ kf.i18n: KLocalizedString: Using an empty domain, fix the code. msgid: "No jobs" msgid_plural: "" msgctxt: ""

14:41:50.307-warning kf.i18n unknown@0 # Trying to convert empty KLocalizedString to QString.
14:41:51.048-warning default unknown@0 # QDBusConnection: name 'org.freedesktop.UDisks2' had owner '' but we thought it was ':1.41'

I don't see the KSysoca error at all, just in case you are interested.

Qubes

unread,
Apr 25, 2023, 11:58:49 AM4/25/23
to qubes...@googlegroups.com
Can you please test something. I don't see the KSysoca error logged
anymore either, but this is only true when I try and set the application
to open with after I have opened the file. Instead, if you right click
on the file and go to Properties, then click on the Change button on the
"Open With" line. As soon as you add evince using the Add button and you
click on Apply you should see the KSysoca error logged on your terminal
window.

Can you also confirm, when executing "kbuildsycoca5 --noincremental" on
cli do you also get

"applications.menu" not found in ("/etc/xdg/menus") ?

I am not sure if this is related or if it is something that can be
ignored, I can confirm that I don't see it on a Debian 11 machine
running Krusader. The command should just complete without any output.

Qubes

unread,
Apr 25, 2023, 2:10:34 PM4/25/23
to qubes...@googlegroups.com
> > As soon as you add evince using the Add button and you
> > click on Apply you should see the KSysoca error logged on your terminal
> > window.
>
> Yes.  I see
>
> 10:24:04.570-warning kf.service.services unknown@0 # KServiceFactory:
> unexpected object entry in KSycoca database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
>
> > Can you also confirm, when executing "kbuildsycoca5 --noincremental" on
> > cli do you also get
> > "applications.menu"  not found in  ("/etc/xdg/menus")    ?
>
> When executing build I also get an applications menu not found error,
> but also kbuildsycoca5 is not completely silent it tells us it's running...
>
> [user@krusader-fed-37 ~]$ kbuildsycoca5 --noincremental
> kbuildsycoca5 running...
> "applications.menu"  not found in  ("/etc/xdg/menus")
> [user@krusader-fed-37 ~]$ 10:31:20.850-warning kf.service.services
> unknown@0 # KServiceFactory: unexpected object entry in KSycoca database
> (type= 305 )
> 10:31:20.850-warning kf.service.services unknown@0 # KServiceFactory:
> unexpected object entry in KSycoca database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
>

Thank you for helping!

I guess this is the best place to start to fixing the issue that
Krusader has on Fedora, this KSysoca thing. Krusader is my go to file
manager but this is a deal breaker. I can't specify an application to
open a file every time I open a file. Do you reckon this is a Fedora on
Qubes only problem?

Digging a bit more I came across this article,
https://userbase.kde.org/KDE_System_Administration/Caches, that tells me
the KSysoca database is built using "kbuildsycoca5" which is provided by
the already installed package "kf5-kservice".

This leaves me with not much more to go on. At first it seems like
KSysoca is the problem or that it may not be installed at all but the
kf5-service package is installed on my system otherwise kbuildsysoca5
wouldn't be available.

That only leaves the ""applications.menu" not found in
("/etc/xdg/menus")" error that I see when building the database from cli
with kbuildsysoca5.

While the Fedora based Krusader install does not have an
applications.menu in /etc/xdg/menus/, neither does the Debian based
Krusader that 1. does not complain about it and 2. Krusader works as
expected.

Can anybody throw an idea my way where I can scratch for this itch?

Leslie Smith

unread,
Apr 25, 2023, 3:39:13 PM4/25/23
to Qubes, qubes...@googlegroups.com
> As soon as you add evince using the Add button and you
> click on Apply you should see the KSysoca error logged on your terminal
> window.

Yes.  I see

10:24:04.570-warning kf.service.services unknown@0 # KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
10:24:04.571-warning kf.service.services unknown@0 # KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )


> Can you also confirm, when executing "kbuildsycoca5 --noincremental" on
> cli do you also get
> "applications.menu"  not found in  ("/etc/xdg/menus")    ?
When executing build I also get an applications menu not found error, but also kbuildsycoca5 is not completely silent it tells us it's running...

[user@krusader-fed-37 ~]$ kbuildsycoca5 --noincremental
kbuildsycoca5 running...
"applications.menu"  not found in  ("/etc/xdg/menus")
[user@krusader-fed-37 ~]$ 10:31:20.850-warning kf.service.services unknown@0 # KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
10:31:20.850-warning kf.service.services unknown@0 # KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )
kf.service.services: KServiceFactory: unexpected object entry in KSycoca database (type= 305 )


Qubes

unread,
Apr 26, 2023, 4:39:30 AM4/26/23
to qubes...@googlegroups.com
I am wondering if a Qubes member can have a look at this. I have a
problem with Krusader not working properly on a Fedora appVM. In short,
if I open Krusader from cli and then I open a file in Krusader the file
does not open, instead a dialog window is given in which I must choose
which program to use to open the file. This is an endless loop. Error
messages I see on cli that I think is the problem is,

"warning kf.service.services unknown@0 # KServiceFactory: unexpected
object entry in KSycoca database (type= 305 )"

After some digging I found this
[article](https://userbase.kde.org/KDE_System_Administration/Caches)
that tells me the KSysoca database is built using "kbuildsycoca5" which
is provided by the already installed package "kf5-kservice".

However, when I manually try and build the database using
"kbuildsysoca5" I get an error,

"[user@fedora-xx ~]$ kbuildsycoca5 --noincremental
kbuildsycoca5 running...
"applications.menu" not found in ("/etc/xdg/menus")"
<--------------------

What does this complaint about "applications.menu" not found in
"/etc/xdg/menus" mean?

If I compare the folder contents of /etc/xdg/menus between Fedora-37 and
Debian-11, the Fedora template has everything the Debian template has
with a few more entries. And neither Fedora nor Debian has
"applications.menu".

The command completes without errors on Debian-11, and Krusader on
Debian works as expected.

"user@debian-11:~$ kbuildsycoca5 --noincremental
kbuildsycoca5 running...
user@debian-11:~$"

Qubes

unread,
Apr 27, 2023, 7:48:53 AM4/27/23
to qubes...@googlegroups.com
For anybody else perhaps struggling with Krusader on Fedora, to fix this
really annoying issue is to create a applications.menu ymbolic link from
/etc/xdg/menus/ (in the template).

sudo ln -s /etc/xdg/menus/kf5-applications.menu
/etc/xdg/menus/applications.menu


Qubes

unread,
Apr 27, 2023, 7:50:23 AM4/27/23
to qubes...@googlegroups.com
Leslie Smith wrote:
> > As soon as you add evince using the Add button and you
> > click on Apply you should see the KSysoca error logged on your terminal
> > window.
>
> Yes.  I see
>
> 10:24:04.570-warning kf.service.services unknown@0 # KServiceFactory:
> unexpected object entry in KSycoca database (type= 305 )
> 10:24:04.571-warning kf.service.services unknown@0 # KServiceFactory:
> unexpected object entry in KSycoca database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
> kf.service.services: KServiceFactory: unexpected object entry in KSycoca
> database (type= 305 )
>
> > Can you also confirm, when executing "kbuildsycoca5 --noincremental" on
> > cli do you also get
> > "applications.menu"  not found in  ("/etc/xdg/menus")    ?
>

To fix this really annoying issue, create a applications.menu symbolic
link in /etc/xdg/menus/ (in the template).
Reply all
Reply to author
Forward
0 new messages