Dual-Monitor Wallpapers mit Hydrapaper

Update-Mailinglisten sind eigentlich ein Quell von Langeweile, aber ab und zu fällt einem ein Paket ins Auge, das man noch nicht kennt. So etwas ist mir heute, also „vor einer Woche“ aus Eurer Perspektive, aufgefallen: Hydrapaper. Ein Wallpaperprogramm für Gnome und Cinnamon Desktops.

Zwei Monitore – Zwei Hintergrundbilder

Ich habe mich schon lange auf diesen Moment gefreut, denn er löst ein uraltes Cinnamonproblem: die Hintergrundbilder werden nur für einen der beiden Monitor korrekt skaliert, auf dem anderen ist es nur verzerrt zusehen.

Hydrapaper löst das Problem, auch wenn es eigentlich etwas anderes erreichen will, nämlich, daß man zwei verschiedene Hintergrundbilder benutzen kann.

man sieht zwei verschiedene Hintergrundbilder und die Hydrapapers gui.

Die roten Balken sind natürlich in Echt nicht darauf zusehen 😉

Indirekt ist damit auch der Weg frei, je eine ratiokorrekte Bildversion pro Monitor einzusetzen, oder, mit etwas Krita Magie, gleich ein Bild über zwei Monitore korrekt zu verteilen 🙂

So sähe das aus. Aber man muß das nicht machen, denn genau dafür gibt es den Hintergrundbildmodus „gespannt“ in Cinnamon, der zieht ein Bild, wenn es denn genau paßt, auch über beide Monitore.

Das sieht übrigens nur dann gut aus, wenn die beiden Monitore optisch gleich hoch sind, ansonsten bekommt man einen lustigen Versatz ins Bild, was dann echt uncool wirkt. Zwei gleiche Monitore sind da ratsam, weil sonst auch noch Helligkeit, Kontrast und Farbraumabdeckung zu den Problemen hinzukommen.

Alternative zum Grafikprogramm

Bevor Ihr aber mit Krita oder Photoshop ans Werk geht, solltet Ihr Euch überlegen, ob es nicht einfacher wäre, das in der Konsole zu erledigen:

convert Bilder/Wallpapers/godafoss-4k.jpg -crop 3200×1080+0+0 Bilder/Wallpapers/Beide.png

Das Bild vom Goðafoss ist 6448×2350 Pixel groß, was für zwei 3k Bildschirme passt, aber nicht auf einen FullHD und einen alten 1280er Monitor. ImageMagick liefert hierfür die Lösung, da man über den Befehl convert pixelgenau Bilder schneiden kann, was mit Krita eine Geduldsprobe darstellt, vorsichtig ausgedrückt 😉 So ist der Job in Millisekunden erledigt.

Wer noch skalieren muß, der kann das auch in einem Rutsch erledigen:

convert Bilder/Wallpapers/godafoss-4k.jpg -crop 1280×1080+1920+0 -resize 1280×1024 Bilder/Wallpapers/Rechts.png

ImageMagick wird gern auf Servern eingesetzt um Thumbnails von Bildern zu erzeugen, aber das kann soviel mehr … 😉

Anmerkung zu -crop: WeitexHöhe+Xoffset+Yoffset . Ja, ist gewöhnungsbedürftig 🙂

Links: https://gitlab.com/gabmus/HydraPaper

KDE-Desktop: RCE Schwachstelle durch .desktop Dateien

Wie die Hacker News heute morgen berichten, ist im KDE 4/5 Plasma Desktop eine Schwachstelle enthalten, die durch das reine Herunterladen von manipulierten Desktopdateien ( erkennbar an den Endungen .desktop und .directory)  ausgelöst werden kann.

Schwachstelle im KDE Desktop Indexer für Plasma

Die Ursache liegt im unsicheren Indexer, der neue Dateien analysiert und für die Suchfunktion des Desktops aufbereitet.

Dabei werden Umgebungsvariablen aus der analysierten Datei übernommen, was dazu führt, daß ein Angreifer seinen Schadcode ausführen kann. Auch das Auspacken von Archiven triggert den Indexer an, so daß auch dies die Schwachstelle auslöst.

Securityforscher Dominik Penner, der die Lücke direkt an die Hacker News geschickt hat, statt sie dem KDE Security Team zu senden, schreibt dazu:

„When a .desktop or .directory file is instantiated, it unsafely evaluates environment variables and shell expansions using KConfigPrivate::expandString() via the KConfigGroup::readEntry() function,“ Penner said.

„Wenn eine .desktop oder .directory Datei instanziiert wird ( A.d.R.: muß wohl gelesen heißen ), werden auf unsichere Weise Umgebungsvariablen und Shellerweiterungen ausgewertet, in dem die Funktion KConfigPrivate::expandString() via KConfigGroup::readEntry() genutzt wird“ schreibt Penner.

Diese Schwachstelle erinnert extrem stark an die kürzlich gefundenen Schwachstellen in Exim, wo auch die  Inhalte von fremdeingelieferten Strings ausgewertet werden und zu einem Root-Exploit eskalieren.

Bis auf weiteres muß man bei Downloads und dem Auspacken von aus unbekannten/unsicheren Quellen stammenden Archiven extrem vorsichtig sein. Das KDE Team hat einen Patch angekündigt, fertig ist der aber noch nicht.

Wenn ich mich recht entsinne, hatte der Gnome Index auch kürzlich erst so eine Schwachstelle.

Kleines Update: (10:24 Uhr)

Es gibt ein Youtube Video, daß das Problem zeigt. Allerdings wird man als unbedarft neugieriger erstmal unverständlich davor sitzen. Daher möchte ich dazu eine kleine Einleitung geben:

In dem Shellfenster rechts startet Penner „nc -lp 31337“  ( 31337 = „elite“ in L33T-Speak 🙂 ). nc startet also einen Dämon und wartet auf Verbindungen. Plötzlich wird nc beendet und wirft eine Fehlermeldung aus. Das liegt daran, daß das Desktopfile, daß per Firefox runtergeladen wird, sich bzw. ein dadurch gestartetes anderes Programm zu besagtem Port 31337 verbindet.

Das zusammen demonstriert das Problem. Man kann in den Desktopdateien natürlich auch „rm -rf /“ unterbringen, oder den Download von Illegalem Filmmaterial starten.

 

Wifiscanner App

Habt Ihr Euch mal gewünscht, daß Ihr mehr als nur die Liste mit verfügbaren WIFI Netzen sehen zu können ? Vielleicht auch, wo die liegen ? Also rein technisch, auf welchem Channel ? Na dann hätte ich da was für Euch:

Oh Ja, bei der Aufnahme was ganz schön was los 😀

Es dürfte offensichtlich sein, was man damit machen kann 😉 Weniger offensichtlich ist, wo man es her bekommt.

Versuchts mal hier:  https://github.com/Cyborgscode/wifiscanner

Wers gut findet kann ja mal einen Like auf Github da lassen.

Ach ja

das obligatorische Making-Of : 1 Tag GTK lernen, C hassen und Polkit verfluchend ( hat sich gelegt  😉 ) könnt Ihr ja selbst mal machen 😉

Mit was läuft Eure Desktopsession?

Wayland or Not-To-Wayland

Ich dachte bislang eigentlich, daß Wayland drin ist, wenn nicht X11 draufsteht. Aber wie erkennt man das eigentlich?

Indem man das hier eingibt :

[marius@eve ~]$ echo $WAYLAND_DISPLAY

Wie man sieht kommt da nichts. Wenn Wayland im Spiel wäre, müßte da laut Redhat’s AdminGuide für Fedora ( den gibts wirklich ) „wayland-0“ rauskommen.

Das verifizieren wir jetzt mal, in dem wir unsere Loginsession ansehen und befragen :

[marius@eve ~]$ loginctl
 SESSION UID USER   SEAT  TTY 
 c2       42 gdm    seat0 /dev/tty1 
 3      1000 marius seat0 /dev/tty2

2 sessions listed.

Ich habs mal aufgehübscht. Die 3 ist, was wir suchen, nämlich unsere SessionID. Mit der können wir das LoginControl lustige Sachen fragen:

[marius@eve ~]$ loginctl show-session 3 -p Type
Type=x11

Und das ist die Bestätigung, daß wir X11 fahren. Jetzt bin ich mal auf Redhats Antwort im Bugtracker gespannt, wie sie das erklären, wo doch Fedora auf Wayland umgestellt wurde und es im Sessionlogincontext auch EXTRA eine Auflistung der Desktopsessions gibt, die mit X11 laufen, was ja impliziert, daß die anderen es nicht tun ( so eine habe ich grade laufen).

Und so sieht die ganze Sessioninfo aus :

[marius@eve ~]$ loginctl show-session 3
Id=3
User=1000
Name=marius
Timestamp=Fri 2018-05-04 09:29:20 CEST
TimestampMonotonic=546595417
VTNr=2
Seat=seat0
TTY=/dev/tty2
Remote=no
Service=gdm-password
Scope=session-3.scope
Leader=7718
Audit=3
Type=x11
Class=user
Active=yes
State=active
IdleHint=no
IdleSinceHint=0
IdleSinceHintMonotonic=0
LockedHint=no

Die interessanten habe ich eingedickt. Bis auf wenige Ausnahmen ( Sessionid ) dachte ich mir schon, daß ich ein User bin 😀