Bye bye, WhatsApp

Published by cybso on

Dieses Blog hatte einen ziemlich langen Winterschlaf, was neben meiner beruflichen und privaten Belastung auch damit zusammen hing, dass es seit dem Umzug vom Uni-Blogserver auf meine eigene Domain mit einem Drupal 7 betrieben wurde und ich mangels Migrationpfad lange keine Lust auf ein Update hatte ("Die Schuster tragen die schlechtesten Schuhe").

Seit einigen Wochen ist das Thema aber nun vom Tisch, das Blog ist auf den Static Site-Generator 11ty umgestellt. Leider sind die Kommentare dadurch verloren gegangen, aber irgendetwas ist ja immer :-)

Nun aber zum Thema dieses Blogeintrages:

Ich hab mich WhatsApp lange aus Datenschutzgründen verweigert und es nur in Verbindung mit einer anonymen Festnetznummer genutzt. Irgendwann habe ich das dann aus "gesellschaftlichem Druck" aufgegeben, da ich ja eh einen Facebook-Account hatte und beides zum selben Unternehmen gehört.

Meinen Facebook-Account habe ich immer Sommer 2024 gelöscht, nachdem ich mich dort schon Monate lang nicht mehr angemeldet habe. Meine Social-Media-Heimat ist seit dem Ende von Twitter Mastodon geworden.

Doch nachdem Mark Zuckerberg jetzt ganz offensiv den Musk gibt, Donald Trump hofiert, das Fact-Checking aufgibt und Hassrede als Meinungsäußerung interpretiert, ist für mich Schluss mit Meta. Ich werde meinen WhatsApp-Account noch bis Ende Januar weiterlaufen lassen und dann löschen. Und bei der Gelegenheit dasselbe mit Telegram machen, das ist längst überfällig.

Ich bin weiterhin per Threema, Signal, Matrix, E-Mail und SMS/Telefon erreichbar, wer mich kontaktieren will, der wird auch ohne WhatsApp einen Weg finden :-)

Running tvheadend with Sundtek DVB stick in LXC container

Published by cybso on

Just a short reminder to myself, but maybe helpful to others.

  1. Create a privileged lxc container based on debian-bullseye-amd64

  2. Create a user for tvheadend on the host, e.g. "lxc-tvheadend"

  3. Create the directory /srv/tvheadend and chown it to the created user

  4. Write down the UID and GID of the created user ("id lxc-tvheadend")

  5. Follow the instructions to install the Sundtek Driver on a Docker host:

    https://sundtek.de/wiki/index.php?title=Docker

  6. Provide access to /srv/tvheadend (will be mapped to /srv) and the USB stick within the containers config:

    # Sundtek DVB stick
    lxc.apparmor.profile = unconfined
    lxc.cgroup2.devices.allow = c 212:* rwm
    lxc.cgroup2.devices.allow = c 250:* rwm
    lxc.cgroup2.devices.allow = c 189:* rwm
    lxc.mount.entry = /dev/dvb dev/dvb none bind,optional,create=dir
    lxc.mount.entry = /dev/bus/usb dev/bus/usb none bind,optional,create=dir
    lxc.mount.entry = /srv/tvheadend srv none bind,optional,create=dir
  7. Start the container and attach to it

  8. Within the container, install curl and tvheadend

  9. Create a new user and group "tvheadend" with the UID/GID of the host system

  10. Edit /etc/defaults/tvheadend and change the OPTIONS line to

    OPTIONS="-u tvheadend -g tvheadend -c /srv/tvheadend"
  11. Install Sundtek driver within the container (not in host mode!)

  12. Reboot the container

Verbindungsprobleme in der Lego Boost-App

Published by cybso on

Lego Boost ist quasi ein "kleines Mindstorms", mit dem die Kinder ihre eigenen Maschinen bauen und programmieren können.

Doch leider hat Lego die Berechtigungsanfrage und das Firmware-Update in Boost-App für Android Version 1.9.7 offenbar versemmelt, aber ich habe eine zumindest für mich funktionierende Lösung gefunden.

  1. In die Android-Einstellungen auf "Apps" wechseln, dort die Lego Boost-App suchen und auf Berechtigungen klicken. Dann auf "Standort" und dort die Option "Immer" auswählen, die vom regulären Pop-up-Dialog nicht angeboten, aber offenbar von der App abgefragt wird.

Nun kommt man schon einen Schritt weiter, aber die App wollte sich immer noch nicht mit dem Hub verbinden - offenbar, weil dort erst ein Firmware-Update eingespielt werden musste, was die App jedoch aus irgendeinem Grund nicht tun will.

  1. Die Lösung für dieses Problem ist die App Lego PoweredUp aus dem PlayStore. Nach dem Start klickt man dort auf "Erschaffen", gibt dem Projekt einen beliebigen Namen, klickt dann auf das Bluetooth-Symbol und folgt den Anweisungen. Nun sollte das Firmware-Update eingespielt werden, was durch ein rot-grünes Blinken am Hub angezeigt wird.

Danach funktionierte das Hub dann auch endlich in der Boost-App, aber @Lego, mal ganz ehrlich: die Version 1.9.7 ist ein halbes Jahr alt. Was machen Kinder, deren Eltern keine Vollnerds sind, um sich so tief ins System zu frickeln? Für die dürfte das ein sehr frustrierendes Weihnachtsgeschenk gewesen sein.


Ubuntu 21.04 on Dell Latitude 9420

Published by cybso on
This article is outdated. Beside of the camera shutter ("SafeShutter") everything should work out of the box with a recent distribution

Dell's newest Latitude 9420 comes with a 16:10 display and a integrated Webcam shutter (see below).

Soundcard and Touchscreen:

Download and install Linux Headers, Modules and Images of Kernel 5.13 from https://kernel.ubuntu.com/~kernel-ppa/mainline/

Headphone jack works, speaker do not. Seems to be a general problem with Linux on Tiger Lake.
Update 2021-11-01: I don't know what exactly did the trick, but with latest Ubuntu updates combined with mainline kernel 5.14.2 the speaker works!

Docking Station (Display Port) requires evdi-dkms and libevdi 1.9.1, but the version from repository is not compatible with kernel 5.13, you need these

Webcam (PCI ID 8086:9a19):

Will not work until IPU4 is supported

Is recognized in Ubuntu 22.04 with linux-image-generic-hwe-22.04 kernel and linux-modules-ipu6-5.19.0-35-generic. However, there seems to be no way to open the SafeShutter, so you will always get a black stream :-(


Letsencrypt: restart service using systemd

Published by cybso on

If, for some reason, certbot's --renew-hook argument is not an option, you can use systemd to automatically restart any service whenever a certificate is renewed.

You need two files:

/etc/systemd/system/cerbot-watch@.service:

[Unit]
Description=Certbot service restarter
After=network.target
 
[Service]
Type=oneshot
ExecStartPre=/bin/sleep 10
ExecStart=/usr/bin/systemctl restart %i.service
 
[Install]
WantedBy=multi-user.target

/etc/systemd/system/cerbot-watch@.path:

[Path]
PathModified=/etc/letsencrypt/live/
PathModified=/etc/letsencrypt/live/DOMAINNAME/
# Add one entry here for every certificate that should be monitored

[Install]
WantedBy=multi-user.target

After changing these files, execute systemctl daemon-reload to notify systemd of the changes. Now you can start a "restart trigger" for each service you want to:

$ sudo systemctl start certbot-watch@postfix.path
$ sudo systemctl start certbot-watch@dovecot.path

The "sleep 10" argument in ExecStartPre ensures that the restart is triggered only once even if multiple files where changed.