我想从命令行了解锁定在我的 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