Archiv der Kategorie: Hacking

Das Webcam Mysterium

Wie ich in diesem Blogpost geschrieben habe, hat mein neuer Laptop eine IR-Webcam verbaut, deren IR-Teil ich gerne deaktiviert hätte. Das funktioniert allerdings nicht, so dass ich die ganze Kamera geblacklistet habe. So wird kein Treiber für das Device geladen, was sie insgesamt aus dem System wirft. Damit kann ich gut leben, weil ich selten Videokonferenzen durchführe und für diese wenigen Fälle immer noch eine externe USB-Webcam auf dem Schreibtisch habe.

Ich habe mich trotzdem mit den von lsusb gefundenen Informationen auf die Suche nach weiteren Details gemacht. Die Webcam meldet sich als Kingcome FHD WebCam im System mit der Herstellerkennung 2b7e und Gerätekennung c858.

Nähere Informationen zur Webcam konnte ich hier finden.

Eine kurze Suche nach dem Hersteller bei Google führte mich dann zu Hunan Jinkang photoelectric Co. Ltd, die Kameramodule für Mobiltelefone und Laptops herstellen. Für Laptops und Notebooks zum Beispiel diese hier. Ohne meinen Laptop zu zerlegen, was ich definitiv nicht vorhabe, konnte ich mein Modell leider nicht anhand der Bilder identifizieren.

Kurzerhand habe ich mich mit meiner Frage bzgl. der Webcam an die Firma gewandt und warte seitdem auf Antwort. Und warte. Und warte. Und warte. Inzwischen seit über vier Wochen. Vermutlich werde ich bis zum St. Nimmerleinstag warten müssen.

Spielen mit dem Alpaca: Llava

Ich habe zwei Modelle für Alpaca installiert: Llama 3.1 und Llava. Llava hat eine Bilderkerkennung, die ich ausprobieren musste.

Die Testbilder

Mein erstes Testbild war ein Sonnenuntergang, den ich vor Jahren an einem Feld in Fröndenberg fotografiert habe. Nichts besonderes, sondern einfach ein Bild entstanden am Straßenrand. Motiv gesehen, angehalten, Foto gemacht, wieder eingestiegen und weiter gefahren. Nett anzusehen, aber mehr auch nicht. Kamera war eine Samsung NX300.https://res.craft.do/user/full/a7353577-1054-f012-dcec-3f575fa84ce1/doc/567edddc-55ec-41e8-a06e-0404544aaa9e/22f810c2-7dfa-4e4b-bd2e-ad64ed3be530

Testbild Nummer zwei habe ich bei einem Auftritt von Marduk beim Rock Hard Festival geschossen. Ein intensiver Moment im Konzert, ein geiler Gig. (Und tatsächlich eine meiner Lieblingsbands.) Kamera war eine Nikon D90.https://res.craft.do/user/full/a7353577-1054-f012-dcec-3f575fa84ce1/doc/567edddc-55ec-41e8-a06e-0404544aaa9e/3ab94e65-2b64-4550-8a86-3ed7642e9e17

Testbild Nummer drei ist etwas komplizierter. Es handelt sich um ein verunglücktes Handy-Panorama, aufgenommen mit einem Xiaomi Redmi Note 11. Man kann deutlich die Bildfehler beim Übergang zum letzten Drittel des Bildes (betrachtet von links nach rechts) erkennen. Das Motiv sollte bekannt sein: Schloss Neuschwanstein, gesehen von der Marienbrücke.https://res.craft.do/user/full/a7353577-1054-f012-dcec-3f575fa84ce1/doc/567edddc-55ec-41e8-a06e-0404544aaa9e/ebfc5c33-0cc9-4b91-82e5-d234efa425ad

Hier nun was Llava zu den Bildern sagen konnte:

Bild 1: Sonnenuntergang

„The image shows a vibrant sunset or sunrise, with the sky filled with warm hues of orange and pink. The clouds are layered and there is a reflection of light on them. In the foreground, there appears to be a field or meadow with some crops or plants growing in rows. There’s also a fence visible, likely separating different agricultural areas. The bottom part of the image seems to have a transparent overlay that shows what the landscape looks like during daylight hours.

Bild 2: Marduk

„This image appears to show a musician performing on stage. The individual is holding up their hand in a gesture that could suggest they are addressing the audience or perhaps performing. They seem to be part of a band, as indicated by the presence of other musicians and sound equipment in the background. The atmosphere suggests that this is likely an outdoor concert during either sunset or sunrise, given the sky’s coloration. The image captures the excitement and energy associated with live music events.“

Bild 3: Schloss Neuschwanstein

„The image depicts a scenic landscape featuring a castle perched on a cliff. The castle, with its imposing structure and fortified walls, stands out against the backdrop of a clear sky. The surrounding environment is lush and green, indicative of a healthy and thriving ecosystem, possibly a region known for its natural beauty and conservation efforts.
The image appears to be a photograph taken during daylight hours, as evidenced by the warm sunlight illuminating the scene. There’s a sense of tranquility and timelessness associated with such landscapes, which might suggest that this location is significant historically or culturally.
The foreground shows a path leading towards the castle, inviting viewers to imagine walking along it to explore the ruins or learn about the history of the place. The perspective from a lower angle enhances the grandeur and prominence of the castle in the landscape.
The text „Castle in the cliff“ is visible in the image, which confirms that this is indeed an image of a castle situated on a cliff. This labeling helps to identify the subject matter within the photograph.“

Kleines Fazit

Die Ergebnisse sind gleichzeitig überraschend und erschreckend. Auf der einen Seite sind die Aussagen wesentlich detaillierter und besser als ich es bei einem auf meinem Laptop installierten System für möglich gehalten hätte. Auf der anderen Seite halluziniert das System doch auch sehr stark (die kursiven Teile der Aussagen).

Alpaca, Llama oder was?

Eine Kombination aus einem Heise-Artikel und eines Artikels auf Ubuntu Shell brachten mich in Versuchung, selbst mal mit einem LLM auf dem Rechner herumzuspielen.

Die Installation auf meinem Laptop war denkbar einfach, weil Flatpak bereits installiert war: flatpak install flathub com.jeffser.Alpaca

Installiert wurden dadurch:

  1. [✓] com.jeffser.Alpaca.Locale stable i flathub 29,8 KB / 308,5 KB
  2. [✓] org.freedesktop.Platform.GL.default 24.08 i flathub 146,4 MB / 146,7 MB
  3. [✓] org.freedesktop.Platform.GL.default 24.08extra i flathub 22,7 MB / 146,7 MB
  4. [✓] org.freedesktop.Platform.openh264 2.4.1 i flathub 920,7 KB / 976,5 KB
  5. [✓] org.gnome.Platform.Locale 47 i flathub 24,3 MB / 386,3 MB
  6. [✓] org.gtk.Gtk3theme.Yaru 3.22 i flathub 139,3 KB / 191,5 KB
  7. [✓] org.gnome.Platform 47 i flathub 325,4 MB / 383,8 MB
  8. [✓] com.jeffser.Alpaca stable i flathub 1,7 GB / 1,7 GB

Danach Alpaca starten und Metas Llama 3.1 (in der kleinsten Variante: ca. 4GB) runterladen. Es funktioniert besser, als ich es mir vorgestellt hatte.:

Kurze PDFs (z.B. eine Informatik-Klausur) konnten zuverlässig zusammengefasst werden, bei einem großen PDF fing das System allerdings an zu halluzinieren.

Mal schauen, ob es mit einer größeren Variante von LLama 3.1 besser geht. Aktuell scheue ich mich allerdings vor dem Platzverbrauch von 400+ GB.

Ach ja, loswerden geht auch: flatpak uninstall flathub com.jeffser.Alpaca

Dateimanager-Kidnapping

Wenn ein Programm sich erdreistet, Nautilus als Standard für das Öffnen von Ordnern abzulösen (Hallo, EasyTag!), reicht ein gio mime inode/directory org.gnome.Nautilus.desktop, um den Standard wieder herzustellen.

Mit gio mime inode/directory
lässt sich übrigens nachsehen, welche Programme sich zum Öffnen von Ordnern im System angemeldet haben. Visual Studio Code ist da auch ein möglicher Troublemaker.

Thunderbird: Schrift zu klein im Nachrichtenfenster

Wenn die Augen schlechter werden (oder der Bildschirm immer mehr Pixel auf dem gleichen Raum unterbringt) muss letztendlich die Schriftgröße erhöht werden. Auch Gleitsichtbrillen haben ihre Grenzen.

Den UI-Toom bei Thunderbird findet man ja leicht: Ansicht -> Zoom.
Die Schriftgrößen befinden sich in den Einstellungen.
Trotzdem bleiben einige Emails in der Vorschau und in den Nachrichtenfenstern einfach mit zu kleiner Schrift zurück. Man kann zwar mit Mausrad oder STRG++ zoomen, aber der Zoomfaktor wird nicht dauerhaft gespeichert. Grrrr!

Abhilfe schafft ein Post in diesem Reddit-Thread:

  • Das Addon „Control Button“ in Thunderbird installieren.
  • Damit „about:config“ in Thunderbird öffnen.
  • „font.minimum-size.x-unicode“ auf einen höheren Wert als „0“ setzen. Bei mir hat sich „22“ bewährt.

Ubuntu: IR Webcam bei Tuxedo Laptop dauerhaft ausschalten

Wie ich beim Starten von OBS lustigerweise feststellen durfte, hat mein neuer Tuxedo-Laptop eine Infrarot-Webcam eingebaut. Das ist sicherlich nett, wenn man in völliger Dunkelheit an einer Videokonferenz teilnehmen möchte, stört mich allerdings doch sehr.

Erschwerend kommt hinzu, dass der Schieber, der die normale Webcam abdeckt, die IR Variante nicht abdeckt. Das wäre auch egal, da auch ein Bekleben mit einem dieser kleinen Aufkleber vom Bundesministerium für Familie, Senioren, Frauen und Jugend nicht geholfen hat. Ich habe es extra ausprobiert.

Wie wird man diese Kamera also los?
Gucken wir doch mal nach den Komponenten:

joachim@nargacuga:~|⇒  lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 8087:0032 Intel Corp. AX210 Bluetooth
Bus 001 Device 016: ID 045b:0209 Hitachi, Ltd 
Bus 001 Device 017: ID 045b:0209 Hitachi, Ltd 
Bus 001 Device 018: ID 046d:c077 Logitech, Inc. Mouse
Bus 001 Device 019: ID 046d:0a9c Logitech, Inc. G432 Gaming Headset
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0620 Genesys Logic, Inc. GL3523 Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 2b7e:c858 Kingcome FHD WebCam
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Treffer: Bus 003 Device 002: ID 2b7e:c858 Kingcome FHD WebCam ist die Webcam. Anscheinend sowohl die IR als auch die normale Webcam. Ich hatte ja gehofft, es wären getrennte Komponenten, aber man kann ja nicht alles haben.

Jetzt zügig eine Datei namens: /etc/udev/rules.d/80-kingcome-fhd-webcam.rules erstellt mit folgendem Inhalt:

# blacklist Kingcome FHD WebCam
SUBSYSTEM=="usb", ATTRS{idVendor}=="2b7e", ATTRS{idProduct}=="c858", ATTR{authorized}="0"

Einen Reboot später ist die Webcam deaktiviert.

openSUSE -> Ubuntu

Nach acht Jahren Dauerbenutzung (und einem Lüfterwechsel) war klar, dass mein Laptop ersetzt werden musste. Da ich mit der Hardware von Tuxedo Computers sehr zufrieden war, wurde es natürlich wieder ein Linux-Laptop des gleichen Herstellers.

Mein alter Laptop. Mit vielen Aufklebern versehen.
Mein alter Laptop. Mit vielen Aufklebern versehen.

Diesmal allerdings nicht mit openSUSE Tumbleweed, also der Rolling-Release Version, sondern mit Ubuntu LTS. Die Gründe dafür sind vielfältig:

  1. Ich nutze Ubuntu LTS auf meinem heimischen DNS/Printer-Server. Der installiert Updates zwar fast automatisch und muss daher kaum gewartet werden, aber zwei unterschiedliche Distributionen zu verwalten wurde auf die Dauer doch anstrengend.
  2. openSUSE Tumbleweed ist ein gutes Produktivsystem. Trotzdem hatte ich in der letzten Zeit immer wieder Probleme bei den Updates, die zwar leicht zu beheben waren, aber immer Zeit kosteten, die ich auf die Dauer nicht mehr investieren wollte.
  3. Einige Software, die ich unter openSUSE selbst kompilieren musste (Hallo, uxplay und LocalSend!) ist unter Ubuntu bereits als Paket verfügbar. Das spart Zeit und Nerven!

Also „fix“ das alte /home auf eine externe SSD kopiert und nach dem Auspacken des neuen Laptops auf den neuen Rechner transferiert. Nach dem Neustart war das System direkt wieder einsatzbereit, aber mein Desktop sah aus wie eine häßliche Mischung von openSUSE-Gnome und Ubuntu-Gnome. Ein beherztes dconf reset -f / setzte sämtliche Gnome-Einstellungen zurück und die Oberfläche wurde zu einem reinen Gnome mit Ubuntu-Geschmack. Sieht nicht schlecht aus, kann daher erstmal bleiben. Ein paar Änderungen habe ich allerdings vorgenommen:

  1. Freon: Ich möchte einfach ein paar Systemdetails im Blick behalten. Das Paket lm_sensors musste ich zusätzlich noch installieren, da es nicht zur Standard-Installation von Ubuntu zu gehören scheint.
  2. Coverflow Alt-Tab: Ganz ehrlich, der Gnome Tab-Wechsler zieht niemandem die Wurst vom Brot. Coverflow Alt-Tab ist daher ein Muss. Es sieht nicht nur besser aus, sondern lässt sich auch einfacher bedienen.

Damit war der erste Teil des Umzugs erledigt. Was folgte waren die Druckereinrichtung, welche sich dank des Printer-Servers im Netzwerk als sehr angenehm erwies. Der steinalte (>15 Jahre) HP Farblaser wurde direkt gefunden und funktionierte ohne weitere Installation oder Einstellungskorrektur. Für den neueren S/W-Laser von Kyocera habe ich das Treiberpaket installiert damit der Duplexdruck möglich ist. Getestet habe ich ihn allerdings noch nicht.
Seit mein Schulträger unseren Schülerinnen und Schülern eine 1:1 Ausstattung mit iPads ermöglicht hat, ist mein Bedarf an Ausdrucken merklich zurück gegangen.

Jetzt wollte noch die restliche Software installiert werden, was dank apt und aptitude zwar erfreulich einfach geht, aber voraussetzt, dass man den Paketnamen schon kennt. Vom Hersteller runtergeladene Pakete (Visual Studio Code, Vivaldi, LocalSend, Signal, …) sind mit einem einfachen sudo apt install ./[Paketname.deb] schnell auf dem System.

Suchen nach Software mit aptitude ist allerdings ein Graus, weshalb ich recht zügig Synaptic nachinstallierte. Das vereinfacht die Suche sehr.

Bin ich jetzt rundum glücklich? Nicht ganz, denn mit pCloud gibt es Synchronisationsprobleme, die noch gelöst werden wollen.
Außerdem fehlt mir, zumindest für einige Konfigurationsschritte tatsächlich das von openSUSE erstellte Tool YaST. Das Gnome-Control-Centre ist wunderbar, aber nicht in allen Fällen ein vollwertiger Ersatz.

Lustiges mit Wear OS: TicWatch Pro 3 Ultra GPS

Nach einigen Monaten mit einem Xiaomi Band 8 am Handgelenk fielen mir zwei Dinge auf:

  1. Es ist nett, am Handgelenk benachrichtigt zu werden während das Telefon in der Tasche bleiben kann. Das ist im Unterricht ein echter Vorteil.
  2. Das Display dieses smarten Gerätes ist verdammt klein. Viel zu klein für meine alten Augen.

Es musste also etwas größeres her. Bei einem guten Freund hatte ich eine TicWatch gesehen, die mir echt gut gefallen hat. Vor allem der Essential Mode, bei dem das Display ohne Beleuchtung die wichtigsten Informationen konstant anzeigt, hat mir gefallen.

Es wird smarter…

Meine erste SmartWatch wurde somit eine TicWatch Pro 3 Ultra GPS. Selbige updatete sich direkt erst einmal auf Wear OS 3.5 und ich ergänzte sie anschließend um einige Zifferblätter und Apps. Besonders hervorheben kann ich zwei Apps von Amoledwatchfaces:

  • Komplikationen-Suite – Wear OS
    • Bringt einige Komplikationen auf die Uhr, die mir vorher gefehlt haben: unter anderem Kalenderwoche, Mondphase, …
  • Favorite Apps Tile for Wear OS
    • Bietet die Möglichkeit, häufig genutzte Apps gruppiert auf Ansichten abzulegen. Ein Gefummel mit der App-Liste läßt sich damit gut vermeiden.

Gefummel

Apropos Gefummel: Meinen Paypal-Account mit Google Wallet auf der TicWatch zu verbinden war ein Gefummel sondergleichen. Ich habe es drei Tage immer wieder probiert und es brach immer wieder mit der gleichen Fehlermeldung ab. (Natürlich war die Fehlermeldung nicht hilfreich. Und selbstverständlich läßt sich der Account schon seit Jahren auf dem Handy zum Bezahlen nutzen.) Am vierten Tag, klappte es dann doch noch und zwar ohne das ich irgendetwas geändert hatte. Verrückte Welt.

Verrückte Welt

Da wir gerade bei der verrückten Welt sind: Die TicWatch kann ja einiges automatisch: ganztägiges überwachen von Blutsauerstoff und Puls, automatisches Erkennen von sportlichen Übungen und Schlaf.
Dabei ist mir etwas lustiges aufgefallen. Wenn man, zum Beispiel weil man kein Sportler ist, die automatische Erkennung von sportlichen Übungen ausschaltet, funktioniert auch die Schlaferkennung nicht mehr. Schaltet man die Übungsüberwachung wieder ein, wird auch der Schlaf wieder erkannt. Komisch, aber so steht es geschrieben.

Mermaid Spickzettel

Durch einen Post im Fediverse bin ich auf Mermaid.js gestoßen, eine wunderbare Möglichkeit schnell und einfach verschiedene Diagrammtypen innerhalb eines Markdown Dokumentes zu erstellen. Die Syntax ist sehr einfach, aber trotzdem mächtig genug für komplexe Diagramme.

iWriter Pro auf dem iPad. Links die Live-Vorschau, rechts das editierte Markdown Dokument.

Netterweise unterstützen sowohl Visual Studio Code (mit einem Markdown Plugin) am PC und iWriter Pro auf dem iPad die Syntax, so dass ich wohl in Kürze im Unterricht darauf zurück greifen werde und meine kläglichen handschriftlichen Kritzeleien damit endlich ein Ende finden können.

Für die wichtigsten Diagrammtypen habe ich mir einen Spickzettel erstellt, den ich euch nicht vorenthalten möchte:

create-table: Tabellen für Markdown in Python erstellen

Da ich hin und wieder Tabellen in meinen Markdown-Dateien benötige, aber eigentlich immer wenig Lust habe diese händisch anzulegen, habe ich mir ein kleines Python-Skript erstellt, das die Arbeit für mich erledigt.

Mit einem „create-table.py Spalten Zeilen “ erhält man eine Tabelle mit der gewünschten Spalten- und Zeilenanzahl. So ergibt „create-table.py 3 4“ diese formschöne Tabelle direkt in der Konsole:

|   |   |   |
|---|---|---|
|   |   |   |
|   |   |   |
|   |   |   |

„create-table.py Spalten Zeilen Dateiname“ gibt die Tabelle nicht nur auf der Konsole aus, sondern speichert sie auch in einer Datei. Ich find’s praktisch.

Wer sich das Skript anschauen mag: Hier ist das Github-Repository.