.desktop security and using kde in multiple prefixes

David Faure faure at kde.org
Fri Oct 1 17:37:07 BST 2010

The security check that says .desktop should be executable to be run, unless 
they are in a known KDE prefix (known == by kdeinit/klauncher), breaks when 
using multiple versions of KDE together.

In my kde-4.5 environment I source my trunk environment (different KDEHOME and 
KDEDIR), run konqueror, and then press Ctrl+U (view document source), and I 

klauncher(3694) KDesktopFile::isAuthorizedDesktopFile: Access to ' 
"/d/kde/inst/kde-trunk/share/applications/kde4/kwrite.desktop" ' denied 
because of 'non_executable_desktop_file' restriction. 

(and something similar in a messagebox; and kwrite isn't started).

This is because the klauncher process is running in the kde-4.5 environment, 
so it sees the path to kwrite .desktop (in the trunk prefix) as a foreign 
desktop file, not as one in a known prefix.

==> Is it OK if I chmod a+x all the .desktop files installed by KDE?

The prefix-check was just a way to avoid having to do that, but IMHO it's the 
right way to do it so that it works in all cases.

(I wonder if svn will let me commit chmod changes? Do I need to change a 
property instead?)

David Faure, faure at kde.org, http://www.davidfaure.fr
Sponsored by Nokia to work on KDE, incl. Konqueror (http://www.konqueror.org).

More information about the kde-core-devel mailing list