AppImage: Einfaches Deployment von Apps für Linux

AppImage ist ein portables Paketformat für Linux, das es ermöglicht, Anwendungen ohne Installation direkt auszuführen. Es bringt alle benötigten Abhängigkeiten mit und funktioniert unabhängig von der verwendeten Linux-Distribution.

AppDirs und ihre Struktur

AppImage basiert auf dem Konzept der AppDirs, einer speziellen Verzeichnisstruktur für Anwendungen. Dieses Format stammt ursprünglich aus ROX Filer. Eine AppDir enthält mindestens folgende Elemente:

  1. AppRun
    Eine ausführbare Datei oder ein Skript als Einstiegspunkt der Anwendung. Wird genutzt, um Pfade relativ zur AppDir zu berechnen.

  2. myapp.desktop
    Eine .desktop-Datei mit Metadaten zur Anwendung. Beschreibt die App und sorgt für die Integration ins System. Es darf nur eine .desktop-Datei in der AppDir enthalten sein.

  3. myapp.<icon-ext> (myapp.png, myapp.svg)
    Das Icon der Anwendung in bestmöglicher Qualität (idealerweise als Vektorgrafik). Wird oft als .DirIcon-Symlink verwendet.Der Dateiname sollte dem Icon-Eintrag in der .desktop-Datei entsprechen (ohne Dateiendung).

Diese Komponenten sind erforderlich, damit eine AppDir als konformes AppImage erkannt wird. Weitere Conventionen sind optional. Mehr zur Struktur hier hier

Um aus einer AppDir eine AppImage-Datei zu erzeugen, wird häufig das appimagetool verwendet, ein offizielles Tool zur Erstellung von AppImages aus vorbereiteten AppDirs.

Beispiel

ARCH=i686 appimagetool.AppImage $APPIMAGE_DIR

Dieser Befehl erzeugt eine 32-Bit AppImage-Datei aus einem AppDir, dessen Pfad in der Variable $APPIMAGE_DIR gespeichert ist.

AppImage ist ein praktisches Format für portable Software, insbesondere für Entwickler und Nutzer, die eine einfache, installationsfreie Lösung suchen. AppImage ist jedoch weniger in Linux-Ökosysteme integriert als klassische Paketformate wie .deb oder .rpm.

Giphy GIFs mit einem Klick herunterladen

Giphy ist eine der beliebtesten Plattformen für animierte GIFs, doch das direkte Herunterladen eines GIFs ist nich mehr möglich. Mein neues Tempermonkey Script namens "Download Gif Button for GIPHY" löst dieses Problem: Es fügt eine Download-Option direkt im Share-Menü hinzu, sodass man GIFs mit nur einem Klick speichern kann.

Mehr dazu hier

Crontab.guru - Ein praktischer Helfer für Cron-Jobs

Crontab.guru ist ein nützliches Online-Tool, das Entwicklern hilft, Cron-Jobs zu erstellen. Das Schreiben von Crontab-Einträgen kann kompliziert sein, da die Syntax aus fünf Feldern für Minuten, Stunden, Tage, Monate und Wochentage besteht.

Crontab.guru bietet eine intuitive Oberfläche, um diese Einträge zu testen und sicherzustellen, dass sie korrekt sind. Es erleichtert das Erstellen, Verstehen und Überprüfen von Crontab-Einträgen und spart so Zeit und potenzielle Fehler.

Umgang mit HEAD-Anfragen in Astro.js für UptimeRobot und Co.

Beim Einsatz von Monitoring-Diensten wie UptimeRobot, die HEAD-Anfragen nutzen, um die Verfügbarkeit einer Website zu prüfen, kann es in Astro im Produktionsmodus zu Problemen kommen. Diese Dienste senden oft keinen Origin-Header, was zu einer 403-Antwort führt. HEAD-Anfragen ohne Origin-Header werden von Astro.js im Produktionsmodus abgelehnt, was Monitoring-Dienste wie UptimeRobot dazu veranlasst die Website als down anzusehen. Um das zu beheben kann in der Astro-Konfiguration die Sicherheitsprüfung für den Origin-Header deaktiviert werden.

astro.config.mjs

export default defineConfig({
    security: {
        checkOrigin: false, // for head requests -> uptimerobot
    },
});

Durch das Setzen von checkOrigin: false in der Astro-Konfiguration wird sichergestellt, dass Dienste wie UptimeRobot HEAD-Anfragen erfolgreich durchführen können, ohne eine 403-Antwort zu erhalten.

Hinweis: Diese Einstellung sollte mit Vorsicht verwendet werden, da sie Sicherheitsprüfungen beeinflusst.

Brightblack is the old gray - gültige Farben für den Nano-Editor

Wer eine neuere Version des Nano-Editors (z. B. ab Version 8.2) verwendet, hat die Möglichkeit, eine erweiterte Farbpalette in der Konfiguration zu nutzen. So lässt sich beispielsweise die Zeilennummerierung auf der rechten Seite ganz einfach in Grau einfärben, indem der Farbwert gray verwendet wird.

Ältere Nano-Versionen, wie sie etwa in den Distributionen Debian, Ubuntu oder Mint enthalten sind, unterstützen diesen Farbwert jedoch nicht und führen zu einer Fehlermeldung. In solchen Fällen kann der Farbwert brightblack als Alternative genutzt werden. Da auch die neueren Nano-Versionen brightblack verstehen, lässt sich dieser Wert universell einsetzen, obwohl „gray“ die verständlichere Bezeichnung ist. Die Darstellung der Farben hängt jedoch vom verwendeten Terminal-Emulator ab.

Gültige Farben in allen Nano-Versionen:

  • white
  • black
  • red
  • blue
  • green
  • yellow
  • magenta
  • cyan
  • brightwhite
  • brightblack
  • brightred
  • brightblue
  • brightgreen
  • brightyellow
  • brightmagenta
  • brightcyan

.nacnorc (für alte Versionen)

set autoindent
set tabsize 4
set tabstospaces
set linenumbers
set constantshow
set numbercolor brightblack
set functioncolor blue

.nacnorc (für neue Versionen)

set autoindent
set tabsize 4
set tabstospaces
set linenumbers
set constantshow
set numbercolor gray
set functioncolor blue

Onshape - 3D-Modelle im Browser erstellen

Onshape ist eine cloudbasierte CAD-Plattform, die von Designern zur Erstellung und Verwaltung von 3D-Modellen genutzt werden kann. Im Gegensatz zu traditionellen CAD-Programmen läuft Onshape vollständig im Webbrowser, was den Zugriff auf Projekte von jedem internetfähigen Gerät ermöglicht. Die Bedienung ist intuitiv und durchdacht. Durch die Parametrische Arbeitsweise können Modelle einfach nachträglich angepasst werden. Onshape bietet eine integrierte Versionsverwaltung.

Diese Plattform bietet Zusammenarbeit in Echtzeit, bei der mehrere Nutzer gleichzeitig an einem Modell arbeiten können.

Onshape bietet eine kostenlose Version, erlaubt in dieser aber nur das Anlegen von öffentlichen Dokumenten für die nicht kommerzielle Nutzung.

Für kommerzielle private Projekte muss ein Abo abgeschlossen werden, das mindestens 1500 € pro Jahr kostet.

Durch seine einsteigerfreundliche Bedienung eignet sich Oneshape hervorragend für Hobbyisten, die schnell brauchbare Ergebnisse erzielen wollen, da hier die Kosten nicht ins Gewicht fallen.

Leider gibt es keine Open-Source-Alternative zu Onshape. FreeCad hinkt, was die Bedingung angeht, leider immer noch Generationen hinter kommerziellen Produkten zurück.

Wireguird: Eine GTK-basierte GUI für WireGuard unter Linux

Wireguird ist ein grafischer Client für Linux, der auf GTK basiert und die Verwaltung von WireGuard-VPNs erleichtert. Entwickelt von UnnoTed, bietet Wireguird eine benutzerfreundliche Oberfläche, die der offiziellen Windows-GUI von WireGuard ähnelt.

Wireguird bietet vorgefertigte .deb-Pakete für verschiedene Ubuntu-Versionen.

Wireguird ist eine praktische Lösung für Linux-Nutzer, die eine grafische Oberfläche zur Verwaltung ihrer WireGuard-VPNs bevorzugen. Mit Funktionen wie der System-Tray-Integration und der einfachen Tunnelverwaltung bietet es eine benutzerfreundliche Alternative zur Kommandozeilensteuerung.

Werbefreies Pinterest

Auf Pinterest wird Nutzern neben den Inhalten auch viel Werbung in Form von gesponserten Pins angezeigt, die oft wie normale Beiträge wirken. Die Plattform nutzt personalisierte Werbung, basierend auf den Interessen und Suchverläufen der Nutzer. Werbung auf Pinterest kann oft nicht durch Adblocker blockiert werden, da sie nahtlos in die normalen Inhalte integriert sind, als auch vom selben Server ausgeliefert werden.

Mit Tampermonkey und dem Script Pinterest - Remove Picked For You and Sponsored Pins ist es dennoch möglich, Werbung zuverlässig zu blocken. Tampermonkey ist für alle gängigen Browser als Erweiterung erhältlich und ermöglicht es Webseiten mit eigenen Scripten anzupassen. Diese Scripte können auf alle Daten der Webseite zugreifen und sollten deswegen nicht unbedacht installiert werden.
Dafür muss erst Tampermonkey und dann dieses Userscript aus dem Tampermonkey-Store installiert werden.

Nach der Installation sind alle Sponsernd-Pins und Werbeblöcke verschwunden und Pinterest damit Werbefrei.

LazyDocker - Praktische Docker-Container-Verwaltung für das CLI

LazyDocker stellt Docker-Informationen in einer übersichtlichen und intuitiven Ansicht dar und ermöglicht das verwalten von Containern. Besonders die visuelle Aufbereitung bietet Vorteile gegenüber den standardmäßigen Docker-Tools wie docker ps. Die Software ist Open Source und kostenlos für Windows, Linux und macOS verfügbar.

Die Benutzeroberfläche von LazyDocker ist zweigeteilt: Auf der linken Seite sind der Projektname, Container, vorhandene Images, Volumen und Netzwerke des Systems übersichtlich aufgelistet. Die rechte Seite passt sich der Auswahl an und zeigt Protokolle, Statistiken, Environment-Variablen oder Konfigurationen an. LazyDocker kann sowohl über Tastatur als auch über Maus bedient werden und bietet damit eine flexible Nutzung.

Mit einer Vielzahl nützlicher Werkzeuge unterstützt LazyDocker das Überwachen und Verwalten von Containern. Weitere Informationen und den Download finden man unter: https://github.com/jesseduffield/lazydocker

Self-Host Google-Fonts

Aus Datenschutzgründen kann es problematisch sein, Fonts von Google-Servern einzubinden. Google-Fonts erlaubt es, alle benötigten Font-Dateien als ZIP herunterzuladen. Allerdings generiert es nicht die dafür notwendigen CSS-Dateien. Natürlich ist es möglich, diese manuell zu erstellen, einfacher geht es aber mit dem Dienst: gwfh.mranftl.com. Hier kann man ebenfalls alle Google-Fonts heruntergeladen, allerdings kann man sich hier mit wenigen Klicks ein passendes CSS generieren lassen.

Die Benamung der Dateien unterscheidet sich von der der bei Google, deswegen ist es einfacher die von mranftl bereitgestellte ZIP-Datei zu verwenden.

Vor der Nutzung von heruntergeladenen Fonts gilt es selbstverständlich, zu überprüfen, ob die Lizenz die gewünschte Nutzung ermöglicht.