我想要一个安装在我系统中的应用程序列表,但是,我只想要按照开始菜单列出的应用程序。
我对包/依赖项列表等不感兴趣,因此以下内容没有太大帮助:
dpkg --get-selections | grep -v deinstall
这有点近了。
for app in /usr/share/applications/*.desktop; do echo "${app:24:-8}"; done
但是,名称与菜单中的名称不完全匹配,也不符合我对它们进行分组的其他标准。
例如我想看
Graphics
GIMP Image Editor
不是
gimp
所以总而言之,我正在寻找的是一种将 Alacarte 显示的内容保存到文本文件的方法。
以下脚本将提供与您想要的非常相似的输出。
将输出为
解释
var
:存储所有可能类别的列表。我还尝试了另一个输出真实名称(GIMP Image Editor)而不是包名称(gimp)的脚本,但它给出了奇怪的结果,因为一些桌面文件不包含换行符
/usr/share/applications
下面的 python 脚本从 中的所有桌面文件及其- 部分读取(英语或国际*)接口名称Categories
。它根据类别列出所有找到的应用程序。由于许多应用程序确实有多个类别,因此应用程序可以出现在多个类别中。如果应用程序没有
Categories=
提及,则会Uncategorized
在列表下方的部分中提及。*注意 某些应用程序(如 Thunderbird)针对每种语言都有大量的接口名称列表。这个脚本照原样读取第一个接口名称,这是国际上使用的名称。可以更改脚本以读取特定语言的名称(如果存在),或自动读取系统的语言,但这需要更广泛的编码:)
使用它:
复制下面的脚本,将其粘贴到一个空文件中,另存为
applist.py
. 通过命令运行它(在终端窗口中):剧本:
给出输出的印象:
我输出的一小部分:
如果你运行这个:
然后 filesystem.manifest 看起来像这样:
这显示了应用程序的所有详细信息。