如何为 Linux 设置我的应用程序的桌面图标:KDE、Gnome 等?

Posted

技术标签:

【中文标题】如何为 Linux 设置我的应用程序的桌面图标:KDE、Gnome 等?【英文标题】:How to set my application's desktop icon for Linux: KDE, Gnome etc? 【发布时间】:2010-09-12 06:04:26 【问题描述】:

我有一个在 Windows、Linux 和 Macintosh 上运行的跨平台程序。我的 Windows 版本有一个图标,但我不知道如何为我的 Linux 版本制作一个图标。 是否有 KDE、Gnome 等的标准格式,或者我必须为每个格式做一些特别的事情?

我的应用程序是 c++ 并作为源代码分发,因此最终用户将使用 gcc 对其进行编译。

如果我可以将图标直接嵌入到我的 exe 二进制文件中,那将是最好的。

【问题讨论】:

【参考方案1】:

对于 Gnome 和 Kde,您可能希望在您的应用中包含一个桌面文件,用于定义应用的启动方式。可以在here 找到规范。如果您的应用程序中包含安装程序,您可能希望它生成此桌面文件并将其放在正确的位置以进行菜单条目等

【讨论】:

【参考方案2】:

如果您使用的是预烘焙的 F/OSS 构建系统之一,例如 KDE 的 CMake 支持,那么一旦您拥有 .desktop 文件,这真的相当容易:

安装(文件 myapp.desktop DESTINATION $XDG_APPS_INSTALL_DIR) kde4_add_app_icon(myapp_SRCS "$CMAKE_CURRENT_SOURCE_DIR/hi*-app-myappname.png")

如果您自己滚动,请考虑使用 xdg-utils,其中包括方便的小脚本,例如 xdg-desktop-menu(安装桌面菜单项)和 xdg-desktop-icon(将图标安装到桌面)用于此类操作。

第一条评论中已经指出了 .desktop 标准,但您也可以只获取系统上已安装的标准并从那里进行修改。至于图标,通常支持 PNG 和 SVG,尽管 PNG 往往仍能提供最佳效果。

【讨论】:

【参考方案3】:

KDE 社区及其 KDE 4 系列开始使用 CMake 作为构建系统。他们开发了一个 CMake 宏,该宏知道如何为您的应用程序设置一个与平台无关的图标(windows(嵌入在 exe 中)、mac(.app 包)、linux(.desktop 文件)等)

也许你可以使用它。

【讨论】:

以上是关于如何为 Linux 设置我的应用程序的桌面图标:KDE、Gnome 等?的主要内容,如果未能解决你的问题,请参考以下文章

如何为Electron / Atom Shell App设置应用程序图标

BlackBerry - 如何为Application设置图标?

如何为 Phonegap 应用程序设置图标以显示在 Spotlight 上?

如何为 Electron / Atom Shell App 设置应用程序图标

pyqtdeploy:如何为 Android 设置应用程序图标?

如何为 Win32 应用程序设置任务栏图标?