Testing go-appimage on Deepin Linux
go-appimage is an experimental implementation of AppImage tools in Go. It is not ready for production yet, but is available for testing and development.
This document describes how to test it on Deepin Linux. It also describes areas that are not working correctly in Deepin Linux yet and for which help is greatly appreciated.
Boot Deepin Linux Live ISO
Download the Deepin Linux Live ISO 15.11 from https://www.deepin.org/de/download/
Boot your computer from the USB drive
In the bootloader screen, press the Tab key to edit the Linux boot command line
livecd-installerpart. You can also change the language if you want. It should read:
BOOT_IMAGE=/live/vmlinuz boot=live components quiet splash union=overlay locales=en_US.UTF-8 initrd=/live/initrd.lz
Press Enter to boot. The system will boot into the Deepin Linux desktop (not the installer)
Download and run the AppImage daemon
- Download the
- Double-click the downloaded
- Click “Run”
Use the AppImage daemon
The AppImage daemon monitors common directories on the system, including
~/Applications for new AppImages and will integrate AppImages into the system (e.g., put it into the Launcher menu).
- Download any AppImage, e.g.,
- Click “Save” in the dialog box and save in
- Click the Deepin Launcher button
- Type “pdf”
- qpdf will show up as an installed application, you can launch it by clicking on it
- (Note that qpdf is a command line tool that requires an argument - hence we see an error message that would normally be printed only to stderr)
Desktop notifications for updates
When a new version of an AppImage that uses this functionality is published, the AppImage daemon shows a desktop notification informing the user that an update is available.
Currently this works only for AppImages created on GitHub using
appimagetool-*-x86_64.AppImage from https://github.com/probonopd/go-appimage/releases/tag/continuous).
Desktop notifications when AppImages cannot run
If a defective AppImage (e.g., missing libraries) is launched from the Launcher, a desktop notification is shown informing the user about the error. In this case, the user can ask the developer of the application to fix the AppImage.
Applications on external drives
The AppImage daemon allows for plug-and-play of applications that are stored on external USB storage drives.
- On another computer, create a folder
/Applicationsin the root directory of an external USB storage medium (use NTFS because it does not work yet with FAT)
- Copy an AppImage into that directory
- Eject the external USB storage medium
- Attach the external USB storage medium to the Deepin Linux computer where the AppImage daemon is running
- Mount the external USB storage medium on Deepin Linux (click on it in the file manager)
- You should see a notification “Application added”
- The application should be in the Deepin Launcher
- Eject the external USB storage medium
- The application should no longer be in the Deepin Launcher
Not working in Deepin yet
The following is not working yet in Deepin Linux. It is working in other distributions. So any help is appreciated to make it work on Deepin, too.
Right-click in the Launcher
Click the Deepin Launcher button
qpdf will show up
Click the qpdf icon with the right mouse button
A menu will appear. There should be “Update” but there is not. How can this be fixed? (It does work e.g., in KDE and GNOME but not in Deepin yet.) For comparison, this is how it looks on GNOME:
In the file manager, go to
~/Applications(where you had downloaded the AppImages before)
The applications should have application icons, but they do not have the correct icons. For comparison, this is how it looks on Xfce:
~/.cache/thumbnails/normalin the file manager. You should see thumbnail files that have been created by the AppImage daemon. Why is the Deepin Linux desktop not using them?
Launching applications on FAT
Due to an issue in UDisks, FAT partitions are automounted with the
showexec option. This prevents any type of executable from running from FAT partitions, including AppImages. As a workaround, you can do (USE THIS AT YOUR OWN RISK):
sudo su systemctl stop udisks2 sed -i -e 's|showexec|\x00\x00\x00\x00\x00\x00\x00\x00|g' /usr/lib/udisks2/udisksd systemctl restart udisks2
Possibly a patch could be considered in Deepin Linux to make this work properly.
Desktop notifications disappear too fast
Desktop notifications disappear too fast. When I set the timeout to 120000 milliseconds, I expect the notification to stay on the screen for 2 minutes. But it disappears after a couple of seconds on Deepin.
Newline character in desktop notifications
Desktop notifications seem not to honor the
\n newline character. It does work in Xfce.