Jeder kennt das Problem: zur täglichen Arbeit gehört das Benutzen zahlreicher Web-Anwendungen, wie beispielsweise Messenger oder Buchungssysteme. Schnell findet man sich in einer Flut an Browser-Tabs wieder und verliert den Überblick.
Mit nativefier können Web-Anwendungen leicht in Desktop-Anwendungen paketiert werden.
Für einige Websites und Messenger gibt es bereits entsprechende Clients (siehe Signal Desktop). Diese enthalten neben der Webseite meist eine Electron-Umgebung. Effizienz und Performance sieht anders aus, aber das ist ein anderes Thema. 🙂
Mithilfe von nativefier kann man sich eine solche Desktop-Anwendung auch selbst bauen, wenn es noch keine fertigen Pakete gibt. Das Tool kombiniert Webseite und Electron und generiert eine ausführbare Datei. Neben Linux werden auch macOS und Microsoft Windows unterstützt.
Das Werkzeug kann mittels npm installiert werden – glücklicherweise steht jedoch auch ein Docker-Container zur Verfügung. Der folgende Aufruf erzeugt beispielsweise eine Desktop-Anwendung für Threema Web:
$ mkdir nativefier-apps $ docker run -v ~/nativefier-apps:/target/ jiahaog/nativefier https://web.threema.ch/ /target/
Anschließend findet sich ein neuer Ordner im nativefier-apps Verzeichnis. Dieser enthält die ausführbare Datei und einige Programmbibliotheken. Dieser Ordner ließe sich nun beispielsweise nach /opt verschieben:
# mv ThreemaWeb-linux-x64 /opt/threema
Damit das Programm auch im Startmenü gefunden wird, ist im Ordner ~/.local/share/applications noch eine entsprechende Konfigurationsdatei (threema.desktop) zu erstellen. Wer die Anwendung auch benutzerübergreifend zur Verfügung stellen will, wählt den Ordner /usr/share/applications.
[Desktop Entry] Name=Threema Desktop Exec=/opt/threema/ThreemaWeb Type=Application StartupNotify=true Icon=/opt/threema/resources/app/icon.png
Anschließend kann die Desktop-Anwendung über das Startmenü gestartet werden:
