如何获取可从 Ubuntu Dash Home 执行的所有应用程序的列表?是否有一些 xml 文件存储此信息?

如何获取可从 Ubuntu Dash Home 执行的所有应用程序的列表?是否有一些 xml 文件存储此信息?

我正在构建一个应用程序,知道如何获取此信息对我来说非常重要。在 LXDE 中,/usr/share/lubuntu/openbox/menu.xml 列出了可以从 LXDE 菜单执行的所有程序。

因此,我想知道是否有一些 .xml 文件负责组织 Ubuntu Dash Home,就像 LXDE 中的文件一样?

答案1

我从评论中了解到,OP 喜欢链接代码的输出,但希望将信息放入可以查询的 xml 文件中。

以下是修改脚本的方法获取 .desktop 文件的内容将输出处理为 XML 文件。

filename="MyDesktopFiles.xml"
rm $filename
touch $filename

echo '<?xml version="1.0"?>' >> $filename
echo '<items>' >> $filename

for files in /usr/share/applications/*.desktop; 
do 
  echo '<item>' >> $filename
  echo '   <name>'$(grep -e "^Name=" $files | sed 's/Name=//g')'</name>' >> $filename   
  echo '   <command>'$(grep -e "^Exec=" $files | sed 's/Exec=//g')'</command>' >> $filename
  echo '</item>' >> $filename
done

echo '</items>' >> $filename
echo '</xml>' >> $filename

相关内容