【问题标题】:Application icon doesn't work with Snap packaging应用程序图标不适用于 Snap 打包
【发布时间】:2019-02-14 07:53:39
【问题描述】:

我的桌面文件是:

[Desktop Entry]
Name=Heimer
GenericName=Mind map application
Comment=Mind map application
Exec=heimer
Icon=heimer
Type=Application
Categories=Education;
StartupNotify=true

我的 snapcraft.yaml 是:

name: heimer
version: '1.1.0'
summary: Heimer is a simple cross-platform mind map tool.
description: |
  Heimer is a simple cross-platform mind map creation tool.
  Emphasis on easy diagram creation, simplicity, and speed.
grade: stable
confinement: strict
icon: ../../../data/icons/heimer.png

apps:
  heimer:
    command: desktop-launch heimer
    desktop: usr/share/applications/heimer.desktop
    plugs: [home, x11, wayland]

parts:
  gnu-heimer:
    source: ../../../
    plugin: cmake
    configflags:
      - -DCMAKE_BUILD_TYPE=Release
      - -DCMAKE_INSTALL_PREFIX=/usr
    build-packages:
      - qtbase5-dev
      - qttools5-dev
      - qttools5-dev-tools
    stage-packages:
      - libqt5xml5
    after: [desktop-qt5]

CMake 将应用程序图标安装到:

# Install icons
install(FILES data/icons/heimer.png DESTINATION share/pixmaps)
install(FILES data/icons/heimer.png DESTINATION share/icons/hicolor/64x64/apps)

桌面文件安装到:

# Install .desktop files
install(FILES ${CMAKE_BINARY_DIR}/heimer.desktop DESTINATION share/applications)

我不明白问题出在哪里。安装 snap 后,我的应用程序总是在启动器中显示默认系统图标(Ubuntu 18.04)。创建包或运行包时没有警告或任何东西。

注意:同样的设置也适用于 Debian 打包。我的 Debian 软件包使用完全相同的安装位置,并且图标在这种情况下可以正常工作。

【问题讨论】:

    标签: qt qt5 desktop-application snapcraft


    【解决方案1】:

    目前,Snapcraft 不对桌面条目的图标进行处理(因此系统无法找到这些图标,因为桌面条目中指定的图标不在icon search directories 中)并且打包者必须手动修补Icon 值到 $SNAP/path/to/the/icon.{png,svg} 到由 apps._app_name_.desktop 键指定的 .desktop 文件。

    这里是

    我已经提交了改善这种情况的建议:Proposal: The apps.<app-name>.icon Key - snapcraft - snapcraft.io

    【讨论】:

      【解决方案2】:

      按照这些步骤,图标会出现在桌面上(Snap 应用)

      1. 转到 var/lib/snapd/desktop/application
      2. 复制 .desktop (vlc_vlc.desktop)
      3. 将其粘贴到 桌面
      4. 右键单击并选择允许午餐

      【讨论】:

      • 这个问题是关于构建一个 Snap 包以便桌面图标工作的。
      • 感谢@juzzlin,按照这些步骤,图标会出现在桌面上。
      猜你喜欢
      • 2011-02-24
      • 2019-07-14
      • 2014-07-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      相关资源
      最近更新 更多