Eu peguei um especialista em Linux no escritório e encontramos uma solução razoável:
#!/bin/bash
EXTENSION=
SAMPLENAME=$HOME/~webdavhelpersample.$EXTENSION
touch $SAMPLENAME
CURMINE=$(xdg-mime query filetype $SAMPLENAME)
rm $SAMPLENAME
CURDSK=$(xdg-mime query default $CURMINE)
if [ -f /.local/share/applications/$CURDSK ]; then
TRUEDSK=/.local/share/applications/$CURDSK
elif [ -f /usr/local/share/applications/$CURDSK ]; then
TRUEDSK=/usr/local/share/applications/$CURDSK
elif [ -f /usr/share/applications/$CURDSK ]; then
TRUEDSK=/usr/share/applications/$CURDSK
else
echo "Sorry no executable found for "
exit 1
fi
WHATTODO=$(grep "^Exec" $TRUEDSK | head -1)
echo $WHATTODO
Uma vez percebemos que existem apenas 3 locais para os arquivos da área de trabalho não foi mais difícil.