如何获取与 Unity 7 启动器应用程序对应的软件包版本?

如何获取与 Unity 7 启动器应用程序对应的软件包版本?

我想从命令行了解锁定在我的 Unity (7) 启动器中的所有应用程序的 Ubuntu 软件包版本。

在此处输入图片描述

该命令应返回软件包名称及其版本的列表,过滤手动安装的应用程序(例如我的情况是 MakeMKV)。

答案1

您可以使用其查询 UnityPython API 教程,以下命令将查找所有相应的桌面文件并将查询dpkg以了解为他们提供的包:

python3 -c 'from gi.repository import Unity; a = Unity.AppInfoManager.get_instance(); \
[print(a.get_path(app)) for app in  Unity.LauncherFavorites.get_default().enumerate_ids()]' | \
xargs dpkg -S 2>&1 | \
grep -v "no path found matching pattern" | \
awk -F: '{print $1}' | \
xargs dpkg-query -W

在我的系统上它返回:

bzr-explorer    1.3.0-2
firefox 30.0+build1-0ubuntu0.14.04.3
geany   1.23.1+dfsg-1
gnome-terminal  3.6.2-0ubuntu1
nautilus    1:3.10.1-0ubuntu9.1
pidgin  1:2.10.9-0ubuntu3.1
qtcreator-plugin-ubuntu 3.0.1+14.04.20140415-0ubuntu1
synaptic    0.81.1ubuntu1
thunderbird 1:24.6.0+build1-0ubuntu0.14.04.1
unity-webapps-googlecalendar    2.4.16+14.04.20140409-0ubuntu1

相关内容