I quite frankly don't understand how this code can ever work. My
system kdesu works fine, but a self-compiled one does not have either
__PATH_SU nor __PATH_SUDO defined. Thus kdesu always starts
/usr/bin/false which of course will always fail. You just get the
super unhelpful "Su returned with an error" dialog shown...
This patch only uses the two macros mentioned above when they are
defined. If not, we try to launch su/sudo bei their name. This
makes the code work for me.