Technik

GNOME-Extension während der Entwicklung testen

06. Juni 2025 · Programmierung · andreas · Kein Kommentar

Während unter X11 zum Testen einer Erweiterung die Möglichkeit bestand, mittels Alt+F2 und “r” die GNOME-Shell ohne Abmeldung neu zu starten, ist dies mit Wayland nicht mehr möglich. Es erscheint lediglich der Hinweis “Neu Starten ist unter Wayland nicht verfügbar”.

Nested GNOME-Shell

Der Getting Stared-Guide empfiehlt als Alternative eine “nested GNOME-Shell session” zu starten:

$ dbus-run-session -- gnome-shell --nested --wayland

Nach Ausführen des Befehls öffnet sich ein Fenster mit einer neuen Instanz der GNOME-Shell, in der die Erweiterung getestet werden kann. Wer die Größe des sich öffnenden Fensters beeinflussen möchte, kann dies durch Setzen der Umgebungsvariable “MUTTER_DEBUG_DUMMY_MODE_SPECS” tun.

export MUTTER_DEBUG_DUMMY_MODE_SPECS=1400x900

Firefox-Meldung: Ältere Version von Firefox gestartet

09. Mai 2025 · Anwendungen · andreas · Kein Kommentar

Seit einigen Versionen weigert sich Firefox, Profile zu öffnen, welche von einer neueren Version des Browsers erzeugt oder geöffnet wurden.

Statt den Benutzer eine Wahlmöglichkeit “Auf eigenes Risiko öffnen” zu bieten, bleiben nur die Möglichkeiten, Firefox entweder zu schließen oder ein neues Profil zu erstellen:

Ältere Version von Firefox gestartet

Wer das Profil trotzdem in einer älteren Browserversion verwenden möchte, kann zu einem einfachen Trick greifen:

Über die Eingabe “about:profiles” lässt sich die Pofilübersicht des Browsers öffnen und mit einem Klick auf “Ordner öffnen” der Ordner des zu ändernden Profils. In diesem gibt es eine Textdatei “compatibility.ini”, in welcher der Wert der Zeile

compatibility.ini
... LastVersion=128.10.0_20250421121556/20250421121556 ...

z.B. auf

compatibility.ini
... LastVersion=0 ...

geändert werden kann. Beim nächsten Start des Browsers (ggf. mit Parameter “-p” zum Aufruf des Profilmanagers) kann dann das Profil geöffnet werden.


PDF-Dateien mit Ghostscript komprimieren

13. April 2025 · Anwendungen · andreas · Kein Kommentar

Um PDF-Dateien zu komprimieren, reicht Ghostscript, das auf den meisten Linux-Systemen sowieso installiert ist. An einfachsten und schnellsten geht es über die Kommandozeile:

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/screen -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<AUSGABEDATEI.pdf> <EINGABEDATEI.pdf>

Mit dem Schalter “-dPDFSETTINGS” können verschiedene Qualitätsstufen vorgewählt werden. Eine detaillierte Übersicht über die dadurch gesetzten Einstellungen liefert die Tabelle “Distiller Parameters”, eine Änderung der Auflösung enthaltener Bilder kann über den Schalter “-dColorImageResolution” gesteuert werden:

$ gs -sDEVICE=pdfwrite -dPDFSETTINGS=/printer -dColorImageResolution=100 -dNOPAUSE -dQUIET -dBATCH -sOutputFile=<AUSGABEDATEI.pdf> <EINGABEDATEI.pdf>

App hat unerwartete Berechtigung: android.permission.OTHER_SENSORS

05. April 2025 · Anwendungen · andreas · 2 Kommentare

Bei der Installation des Fossify SMS Messenger aus dem F-Droid Store hat mich eine Meldung irritiert:

App hat unerwartete Berechtigung: android.permission.OTHER_SENSORS

Die Meldung wird von F-Droid in Zusammenhang mit GrapheneOS erzeugt, der zugehörige Hinweis findet sich in der Ankündigung zu F-Droid 1.22

  • show toast when APK has more permissions than expected (if your Android distro injects extra permissions, you’ll know)

in Kombination mit dem GrapheneOS-Forum:

The network and sensors permissions don’t exist on regular Android. They have been added by GrapheneOS. As such, apps don’t know how to request them. Leaving them on by default is done to maintain compatibility. [Quelle]

Für was Sensoren verwendet weren (können), kann man der Entwicklerdokumentation zu Android entnehmen:

Most Android-powered devices have built-in sensors that measure motion, orientation, and various environmental conditions. These sensors are capable of providing raw data with high precision and accuracy, and are useful if you want to monitor three-dimensional device movement or positioning, or you want to monitor changes in the ambient environment near a device. [Quelle]

Ob eine App tatsächlich Zugriff auf die Sensoren benötigt bzw. darauf haben soll(te), kann man bei GrapheneOS im Gegensatz zu anderen Android-Distributionen einstellen. Ein Entzug der Berechtigung kann allerdings zu Problemen führen, sollte eine App das Fehlen von Berechtigungen nicht abfangen.

2025-06-26: Herkunft und Grund der Meldung präzisiert, siehe Kommentar von Frederik.

WordPress-Kommentar zu einem anderen Beitrag verschieben

16. März 2025 · Anwendungen · andreas · Kein Kommentar

WordPress bietet standardmäßig keine Möglichkeit, einen Kommentar zwischen verschiedenenen Beiträgen zu verschieben. Das Vorgehen hierbei ist aber recht ähnlich dem Verschieben aller Kommentare.

Zunächt müssen die IDs der beiden Beiträge ermittelt werden, zwischen denen verschoben werden soll sowie die ID des zu verschiebenden Kommentars. Wer das nicht direkt in der Datenbank erledigen will, kann die WordPress-Oberfläche zu Rate ziehen: einfach beim jeweiligen Artikel bzw. Kommentar auf “Bearbeiten” klicken und die ID aus der URL entnehmen, z.B. “/wp-admin/post.php?post=4392&action=edit” und “/wp-admin/comment.php?action=editcomment&c=6493”.

Dann kann der Kommentar verschoben werden:

UPDATE wp_comments SET comment_post_ID = <ID_neuer_Beitrag> WHERE comment_ID = <ID_Kommentar>;

Anschließend muß noch die Anzahl der zu den Beiträgen vorhandenen Kommentare korrigiert werden, was mit zwei weiteren SQL-Befehlen erledig ist:

UPDATE wp_posts SET comment_count = (SELECT COUNT(*) FROM wp_comments WHERE comment_post_ID = <ID_alter_Beitrag> AND comment_approved = 1) WHERE ID = <ID_alter_Beitrag>; UPDATE wp_posts SET comment_count = (SELECT COUNT(*) FROM wp_comments WHERE comment_post_ID = <ID_neuer_Beitrag> AND comment_approved = 1) WHERE ID = <ID_neuer_Beitrag>;