是否可以使用命令行/bash 列出单击显示应用程序(通过图标)按钮时显示的所有应用程序名称,以及 Dash 到 Dock 侧栏中显示的应用程序?
我运行了这个命令:
cd /usr/share/applications && ls -l
但当我这样做时,我会看到除“显示应用程序”和“dash to dock”中的应用程序之外的所有应用程序
答案1
如果不存在用于此目的的脚本,那么您可能需要编写一些脚本来获得显示的应用程序的正确列表,而不是使用单个命令。
“显示应用程序”中的应用程序由位于特定目录中的有效启动器表示.desktop
。因此,脚本应该 1) 扫描文件所在的所有目录.desktop
,2) 搜索这些文件的内容以仅选择有效显示的文件。
桌面环境在环境变量中指定的
.desktop
所有applications
目录中搜索启动器XDG_DATA_DIRS
您可以使用以下命令查看这些目录:
printenv XDG_DATA_DIRS
此外,
~/.local/share/applications
还会搜索用户的本地应用程序目录。只有在行中指定了有效可执行文件的
.desktop
启动器才有可能显示在应用程序菜单中。可以单独设置文件是否显示在菜单中。Type=Application
Exec=
.desktop
用于控制
.desktop
启动器显示的键包括NoDisplay
(不在菜单中显示)、Hidden
(将此.desktop
文件视为不存在)OnlyShowIn
和NotShowIn
(仅显示或不在特定桌面环境中显示)(请参阅可能的键这里)。
利用这些信息,可以创建一个脚本,列出有关桌面应用程序菜单中可用的应用程序的所需信息。