Direkt zum Hauptinhalt

Appimage für Java 8 zum starten von jlnp Dateien

Beschreibung:

Wer ein altes ipmi hat und die Remote console braucht, muss Java 8 installiert haben.
Allerdings wird Java 8 schon lange nicht mehr supported, also bauen wir uns ein Appimage

Vorbereitung:

Unter https://adoptium.net/

java 8 LTS auswählen und downloaden dann haben wir ein tar gz Datei

Diese entpacken wir via Terminal, vorher Verzeichnis erstellen

mkdir jre8
tar -xzf OpenJDK8U-jdk_x64_linux_hotspot_8u422b05.tar.gz -C jre8

Nun Erstellen wir uns unser Appimage Verzeichnis mit folgender Struktur

mkdir AppDir

In diesem verzeichnis kommen diese Dateien / Verzeichnis

AppDir/
|-- AppRun
|-- jre8/
|-- myapp.desktop
|-- myapp.png (optional)
  • AppRun: Eine ausführbare Datei, die den Start des AppImages steuert.
  • jre8/: Verschiebe das entpackte JRE-Verzeichnis hierhin.
  • myapp.desktop: Eine Desktop-Datei, die Metainformationen über die App enthält.
  • myapp.png: Icon für die App, ist Pflicht (maximal 256x256 Pixel groß.

Inhalt der AppRun,

Diese Datei sorgt dafür, dass javaws aus der Java 8 Runtime mit den übergebenen Parametern aufgerufen wird.

#!/bin/bash
HERE="$(dirname "$(readlink -f "${0}")")"
"${HERE}/jre8/bin/javaws" "$@"

Datei ausführbar machen

chmod +x AppRun

Nun die myapp.desktop anlegen

nano myapp.desktop

Inhalt

Desktop Entry ( icon, die Grafik Datei muss dann myapp.png heißen und darf maxiimal 256x 256 Pixel groß sein.)

[Desktop Entry]
Name=Java 8 Runtime
Exec=AppRun %F
Icon=myapp
Type=Application
Categories=Utility;

Nun noch das jre8 verzeichnis in AppDir verschieben

Nun Verzeichnisberechtigungen setzten

chmod -R 755 AppDir/

 

Appimage erstellen, wir haben ein x64 System.
Wir übergeben Das Verzeichnis

ARCH=x86_64 ./appimagetool.AppImage AppDir

Wenn kein Icon Datei vorhanden gibts diese Meldung, da das Icon nicht existiert.
Dazu in der AppDir eine Icon Datei erstellen, mit dem Namen myapp.png
Diese darf maximal 256x256 Pixel beinhalten. Für unser Java Programm hab ich das Icon mal angehängt.

Ausgabe:

ARCH=x86_64 ./appimagetool.AppImage AppDir
appimagetool, continuous build (commit 5735cc5), build <local dev build> built on 2023-03-08 22:52:04 UTC
Using architecture x86_64
/home/duffy/Downloads/AppDir should be packaged as Java_8_Runtime-x86_64.AppImage
myapp{.png,.svg,.xpm} defined in desktop file but not found
For example, you could put a 256x256 pixel png into
/home/duffy/Downloads/AppDir/myapp.png

Ausgabe wenns geklappt hat:

ARCH=x86_64 ./appimagetool.AppImage AppDir
appimagetool, continuous build (commit 5735cc5), build <local dev build> built on 2023-03-08 22:52:04 UTC
Using architecture x86_64
/home/duffy/Downloads/AppDir should be packaged as Java_8_Runtime-x86_64.AppImage
Deleting pre-existing .DirIcon
Creating .DirIcon symlink based on information from desktop file
WARNING: AppStream upstream metadata is missing, please consider creating it
         in usr/share/metainfo/myapp.appdata.xml
         Please see https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps
         for more information or use the generator at http://output.jsbin.com/qoqukof.
Generating squashfs...
Parallel mksquashfs: Using 16 processors
Creating 4.0 filesystem on Java_8_Runtime-x86_64.AppImage, block size 131072.
[===========================================================================================|] 1910/1910 100%

Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
	compressed data, compressed metadata, compressed fragments,
	compressed xattrs, compressed ids
	duplicates are removed
Filesystem size 101505.87 Kbytes (99.13 Mbytes)
	50.82% of uncompressed filesystem size (199752.02 Kbytes)
Inode table size 9238 bytes (9.02 Kbytes)
	42.01% of uncompressed inode table size (21991 bytes)
Directory table size 5162 bytes (5.04 Kbytes)
	49.62% of uncompressed directory table size (10404 bytes)
Number of duplicate files found 20
Number of inodes 494
Number of files 407
Number of fragments 48
Number of symbolic links  3
Number of device nodes 0
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 84
Number of ids (unique uids + gids) 1
Number of uids 1
	root (0)
Number of gids 1
	root (0)
Embedding ELF...
Marking the AppImage as executable...
Embedding MD5 digest
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

Nun liegt in diesem Fall bei im Verzeichnis Downloads da.

Auswahl_1271.png