Linuxdeployqt and displaying my icon


#1

First, let me thank you for this wonderful tool. I am able to bundle a QT application and deploy it on Ubuntu 16.04. However, I have tried many things but I am unable to attach a unique icon to the AppImage linuxdeployqt creates. Below is an example of an attempt on the hellogl2 example app on qt.

#!/bin/bash
unset QTDIR 
unset QT_PLUGIN_PATH
unset LD_LIBRARY_PATH
# Copy into AppDir FHS-like stucture
mkdir -p hellogl2.AppDir/usr/bin
mkdir -p hellogl2.AppDir/usr/share/applications
mkdir -p hellogl2.AppDir/usr/share/icons/hicolor/128x128/apps
cp -r /home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2 hellogl2.AppDir/usr/bin
cp -r /home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2 hellogl2.AppDir/usr/share
cp -r hellogl2.desktop hellogl2.AppDir/usr/share/applications/hellogl2.desktop
#cp -r hellogl2.desktop hellogl2.AppDir/usr/share/hellogl2.desktop
#cp -r hellogl2.desktop hellogl2.AppDir/usr/bin/hellogl2.desktop
cp -r default.png hellogl2.AppDir/default.png
cp -r default.png hellogl2.AppDir/usr/share/icons/hicolor/128x128/apps/default.png
cp -r default.png hellogl2.AppDir/usr/share/applications/default.png

# Get and run linuxdeployqt
wget -c https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
chmod a+x linuxdeployqt-continuous-x86_64.AppImage

# Create AppImage using linuxdeployqt
./linuxdeployqt-continuous-x86_64.AppImage ./hellogl2.AppDir/usr/share/applications/hellogl2.desktop -verbose=1 -appimage -qmake=/home/jim/Qt/5.7/gcc_64/bin/qmake

Below is the hellogl2.desktop file.

[Desktop Entry]
Type=Application
Name=hellogl2
Exec=hellogl2 %F
Icon=default
Comment=hellogl2 demo AppImage
Terminal=false
Name[en_US]=hellogl2

Looking at the output log it does seem to find default.png

I’m stumped, any help would be awesome!


#2

I’ve tried multiple icon files, 256x256, 128x128, 48x48, 32x32, and a .SVG version of the icon. All placed in the appropriate subdirectory. Linuxdeployqt finds the appropriate files and will contruct a working AppImage. It’s just this last step of binding an icon to the AppImage with linuxdeployqt that I must be missing something.


#3

Why is your icon called default.png? Better call it like your application/AppImage, e.g., hellogl2.png. default.png might be used by other apps already, and that might cause issues.

Your question is not clear enough for me to understand your issue.
What’s your actual problem? Is there an error message? In this case, you have to provide a full log (with personal data removed, of course). “Doesn’t seem to” is really vague. Developers can find much more information in a full log than you could probably imagine. Your assumption here might or might not be correct, but even worse it’s really vague, and without the full log, there’s not enough information for us to fix your problem. So, please help us help you, and post a full log.

That said, you didn’t run linuxdeployqt in verbose mode, therefore your log is incomplete. Try to run the linuxdeployqt command with -verbose=3 (1=normal, 3=maximum verbosity). Then, post your log here.

General note: wherever available, wrap code correctly to make it easier for the others to read your post. For example:

code block created by clicking the "code" symbol in the editor window

#4

Thanks. I renamed the icon filename to the same name of the project, as you suggested (Its a 128x128 .png image, but I can change the format if needed). I also included a -verbose=1 log as well. (the verbose=3 and 2 logs output were too large to post here)

Unfortunately I had the same result, I can not seem to attach a unique icon to the AppImage I create with linuxdeployqt

hellogl2.desktop
[Desktop Entry]
Type=Application
Name=hellogl2
Exec=hellogl2 %F
Icon=hellogl2
Comment=hellogl2 demo AppImage
Terminal=false
Name[en_US]=hellogl2

Build script
#!/bin/bash
unset QTDIR
unset QT_PLUGIN_PATH
unset LD_LIBRARY_PATH
# Copy into AppDir FHS-like stucture
mkdir -p hellogl2.AppDir/usr/bin
mkdir -p hellogl2.AppDir/usr/share/applications
mkdir -p hellogl2.AppDir/usr/share/icons/hicolor/128x128/apps
mkdir -p hellogl2.AppDir/usr/share/icons/hicolor/256x256/apps
cp -r /home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2 hellogl2.AppDir/usr/bin
cp -r /home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2 hellogl2.AppDir/usr/share
cp -r hellogl2.desktop hellogl2.AppDir/hellogl2.desktop
cp -r hellogl2.png hellogl2.AppDir/hellogl2.png
cp -r hellogl2.png hellogl2.AppDir/usr/share/icons/hicolor/128x128/apps/hellogl2.png
# Get and run linuxdeployqt
wget -c https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
chmod a+x linuxdeployqt-continuous-x86_64.AppImage
# Create AppImage using linuxdeployqt
./linuxdeployqt-continuous-x86_64.AppImage hellogl2.AppDir/hellogl2.desktop -appimage -verbose=2 -qmake=/home/jim/Qt/5.7/gcc_64/bin/qmake

And the output log with -verbose=1 (tried 3 and 2 and they were too big to paste in here)

–2018-02-11 18:29:16-- https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
Resolving github.com (github.com)… 192.30.255.113, 192.30.255.112
Connecting to github.com (github.com)|192.30.255.113|:443… connected.
HTTP request sent, awaiting response… 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/67432158/e31cfaae-0e5e-11e8-98b2-5dce75625823?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180211T232919Z&X-Amz-Expires=300&X-Amz-Signature=03d6d565582ccf081a3c207a2bce512aa42cadaa23215d989a4699632673be08&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlinuxdeployqt-continuous-x86_64.AppImage&response-content-type=application%2Foctet-stream [following]
–2018-02-11 18:29:19-- https://github-production-release-asset-2e65be.s3.amazonaws.com/67432158/e31cfaae-0e5e-11e8-98b2-5dce75625823?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20180211%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20180211T232919Z&X-Amz-Expires=300&X-Amz-Signature=03d6d565582ccf081a3c207a2bce512aa42cadaa23215d989a4699632673be08&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3Dlinuxdeployqt-continuous-x86_64.AppImage&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)… 52.216.165.163
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.165.163|:443… connected.
HTTP request sent, awaiting response… 416 Requested Range Not Satisfiable

The file is already fully retrieved; nothing to do.

linuxdeployqt 4 (commit 002059c), build built on 2018-01-29 14:08:24 UTC
Desktop file as first argument: "hellogl2.AppDir/hellogl2.desktop"
desktopExecEntry: "hellogl2"
desktopIconEntry: "hellogl2"
Found binary from desktop file: "/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/bin/hellogl2"
FHS-like mode with PREFIX, fhsPrefix: "/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr"
app-binary: "/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/bin/hellogl2"
appDirPath: “/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir"
relativeBinPath: “usr/bin/hellogl2"
Found icons from desktop file: (”/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/share/icons/hicolor/128x128/apps/hellogl2.png”, “/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/hellogl2.png”)
preExistingToplevelIcon: "/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/hellogl2.png"
appimagetool, continuous build (commit continuous-3-gb0ec1cb), build 1431 built on 2018-01-26 15:17:36 UTC
Name: hellogl2
Icon: hellogl2
Exec: hellogl2 %F
Comment: hellogl2 demo AppImage
Type: Application
Categories entry not found in desktop file
Categories: (null)
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/bin/hellogl2 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libQt5Gui.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXxf86vm.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libgcrypt.so.20 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libpcre.so.3 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libprotobuf-lite.so.9 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXau.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libicuuc.so.56 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libwayland-client.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libglapi.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXext.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libmircommon.so.7 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libpng12.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-xfixes.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libicui18n.so.56 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libX11-xcb.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libjpeg.so.8 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxshmfence.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libdbus-1.so.3 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libmirclient.so.9 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libEGL.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libfreetype.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libboost_system.so.1.58.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxkbcommon.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libQt5DBus.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libffi.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libQt5Widgets.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libsystemd.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-dri3.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-glx.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXi.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXfixes.so.3 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libQt5Core.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libQt5XcbQpa.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-sync.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libselinux.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXdamage.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libgbm.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libicudata.so.56 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXrender.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libmircore.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libjasper.so.1 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libgthread-2.0.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-dri2.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libxcb-present.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/liblzma.so.5 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libboost_filesystem.so.1.58.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libXdmcp.so.6 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libmirprotobuf.so.3 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/lib/libwayland-server.so.0 used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/platforminputcontexts/libibusplatforminputcontextplugin.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/platforminputcontexts/libcomposeplatforminputcontextplugin.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/platforms/libqxcb.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/xcbglintegrations/libqxcb-glx-integration.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/xcbglintegrations/libqxcb-egl-integration.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqgif.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqtga.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqjp2.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqwbmp.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqjpeg.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqtiff.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqwebp.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqdds.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqico.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/plugins/imageformats/libqicns.so used for determining architecture x86_64
/home/jim/Qt/Examples/Qt-5.7/opengl/build-hellogl2-Desktop_Qt_5_7_0_GCC_64bit-Release/hellogl2.AppDir/usr/share/hellogl2 used for determining architecture x86_64
Using architecture x86_64
App name for filename: hellogl2
dest_path: hellogl2-x86_64.AppImage
Generating squashfs…
Embedding ELF…
Marking the AppImage as executable…
Success

Please consider submitting your AppImage to AppImageHub, the crowd-sourced
central directory of available AppImages, by opening a pull request
at https://github.com/AppImage/appimage.github.io


#5

Hi Jimmy,

Can you elaborate what your problem is and what you are expecting? I do not understand what you mean by “attach a unique icon to the AppImage”. I have Linuxdeployqt working for me so it should not be too hard to get it working for you. Can you share your actual AppImage somehow so we can look at it?

Chris


#6

Looks like your AppImage was successfully generated. Please upload it somewhere for analysis. Thanks.


#7

Yes, I can successfully create a working AppImage with linuxdeployqt

I was thinking that the icon placed within it was used on the AppImage itself.
If this is not the case, excuse me, my misunderstanding.

Thanks for looking. I put my AppImage on a link below.

http://www.mobileapps1.com/sbl/hellogl2-x86_64.AppImage


#8

It works for me on a VM with Ubunto 16.04 running appimaged.

Screenshot%20from%202018-02-13%2012-01-49


#9

However, without appimaged running the .AppImage file has no icon and there is no icon in the task bar when you run the AppImage. I am not sure if the .AppImage file should have an icon as my image does not either, but there should be an icon in the task bar when the application is running.

Do you have a line similar to this in your source code to set an icon for the application?

setWindowIcon(QIcon(":/res/resources/main_icon.png"));

In my application (C++) it lives in this code:

c_application::c_application(int &argc, char **argv)
    : QApplication(argc, argv),
      mp_win(nullptr)
{
    setOrganizationName("PIPP");
    setApplicationName(tr("SER Player"));
    setWindowIcon(QIcon(":/res/resources/main_icon.png"));
...

I hope this helps.


#10

I added a setWindowIcon call in my application which does what it should do, but not what I was l looking for.

I tried appimaged too, not exactly what I was looking for, but interesting.

What I was hoping for is what happens when you run the example AppImage off AppImage,org called Subsurface https://subsurface-divelog.org/downloads/Subsurface-4.6.4-x86_64.AppImage(I was looking at the 64bit version) and after you download that AppImage it’s desktop icon is displayed, without any apparent further software being installed like appimaged.


#11

I wonder if this is a difference between Type 1 and Type 2 AppImages. When I produced a Type 1 AppImage for my application it behaved much like the Subsurface app you linked to, now that it is a Type 2 AppImage it behaves as yours application does.

I think we need @probono to comment on if this behaviour is expected for Type 2 AppImages or should the .AppImage files be displayed with the correct icon.


#12

Where can I read more about Type 1 and Type 2 AppImage differences? Is type 2 the most current? Linuxdeployqt produces a type 2 AppImage?


#13

Type 2 is the most current version of AppImage and is produced by the appimagetool and linuxdeployqt tools rather than the original AppImageAssistant tool. This thread describes Type 2 AppImages:


#14

Yes.

Yes.


#15

The runtime embedded inside type 1 images extracted the icon then the application was executed. This functionality has since been moved to the optional appimaged daemon that also handles other aspects of desktop integration, such as adding menu entries and setting up file associations, etc.