And*_*edd 22 icons unity launcher
我遇到了几个程序的问题,这些程序具有统一的启动器,但在启动后创建了一个单独的图标。启动器是否可以跟踪它生成的窗口以更好地组织?或者这是 Unity 本身的错误?
这可能无关紧要,但此特定程序是单声道程序,生成的图标被列为面板。
Jje*_*jed 23
像这样的问题与 Unity 的应用程序匹配框架有关。为了简化技术细节,程序窗口和应用程序对 Ubuntu 来说是两个独立的东西。Ubuntu 需要“猜测”哪个应用程序拥有特定窗口。有时这种猜测会失败,并且启动器中会出现一个问号。
失败可能是由于:
问题 (KeePass2) 中显示的应用程序存在类型 1 问题,该问题已报告给相应的错误跟踪器。
以下示例是技术性的,面向希望自己的应用程序在 Ubuntu 启动器中正确显示的程序员。
为了使应用程序与 Unity 集成——也就是说,可以在 Dash 中搜索并放置在启动器中——它需要有一个桌面条目。这样的条目被放置在/usr/share/applications/
,/usr/local/share/applications/
和$HOME/.local/share/applications/
(后两者是用于第三方软件,系统范围和用户只分别地)。它们以.desktop
扩展名结尾并遵循以下基本格式:
[Desktop Entry]
Type=Application
Name=My Application's Name
Icon=/file/path/of/my/icon
Exec=/file/path/of/my/executable
Run Code Online (Sandbox Code Playgroud)
此项通过调用Exec
可执行文件来启动程序。每当该程序显示窗口或对话框时,Unity 都会注意到其可执行文件“属于”该应用程序描述,Name
并Icon
在启动器中使用给定的和。
这是一个准系统示例。在正式的规范涵盖了许多先进的功能。
让我们假设my_app.desktop
存在于有效的应用程序目录中,但是:
/file/path/of/my/icon
文件系统中不存在。/file/path/of/my/icon
不是图像。在上述任何一种情况下,Ubuntu 将无法在启动器中正确列出应用程序窗口。
从 Ubuntu 11.10 开始,BAMF 有许多错误会阻止正确的应用程序匹配。常见(临时)陷阱包括:
Exec
路径是一个符号链接,而不是一个常规文件在这些情况下,程序员别无选择,只能使用一种解决方法,例如删除符号链接抽象,或直接链接到可执行文件。桌面条目规范本身不需要这些。