当 apt-get/aptitude 没有为已安装的程序创建菜单项时,我该怎么办?

当 apt-get/aptitude 没有为已安装的程序创建菜单项时,我该怎么办?

显然,这个问题特定于基于 Debian 的设置。

我发现,我经常只使用 aptitude 或 apt-get 安装软件包已创建菜单项。实际上没有出现菜单项。显然,我可以自己创建一个,但这需要知道二进制文件的实际名称(在许多情况下与包名称不同)。必须有一种简单的方法来知道东西已安装在哪些目录中。

所以,

  1. 有谁知道为什么菜单项创建失败?
  2. 如何获取有关二进制文件所在位置/名称的信息,以便创建我自己的菜单条目?

答案1

如果您看到一条消息,告诉您已创建菜单项,则意味着该包已将一个文件放入/usr/share/menu描述一个或多个菜单项,按照Debian 菜单政策。这菜单系统的文档(也可在 参考资料中找到/usr/share/doc/menu)解释了该文件的语法。每个窗口管理器都应该包含系统菜单。不过,Gnome 并没有做标准的事情(所以还有什么是新的)。

/usr/share/applications/*.desktopGnome 和 KDE 显示由和中的条目构建的菜单/usr/share/applnk/**/*.desktop,遵循Freedesktop菜单规范。并非所有软件包都提供这些。您可以.desktop根据 Debian 条目创建一个文件并将其放入~/.config/menus/.

答案2

您可以使用:

dpkg -L package-name-goes-here

...获得特定包已安装的文件列表。如果您只想要可执行文件:

for file in `dpkg -L package-name-goes-here`
do
  if [ -x $file -a ! -d $file ] # must be executable, but not a directory.
  then
    echo $file
  fi
done

这是天真的、仓促写的剧本就完成了上述操作。用法:exec-files-from-package [package]

答案3

查找二进制文件的快速方法:dpkg -L $pkg |grep bin/.

相关内容