Normale Ansicht

Vorgestern empfangen

Raspberry Pi OS Trixie

10. Oktober 2025 um 17:43

Einige Wochen nach dem Release von Debian 13 »Trixie« hat die Raspberry Pi Foundation auch Raspberry Pi OS aktualisiert. Abseits der Versionsnummern hat sich wenig geändert.

Der Raspberry Pi Desktop »PIXEL« sieht bis auf das Hintergrundbild ziemlich unverändert aus.

Raspberry Pi Imager

Die »Installation« von Raspberry Pi OS funktioniert wie eh und je: Sie laden die für Ihr Betriebssystem passende Version des Raspberry Pi Imagers herunter und wählen in drei Schritten Ihr Raspberry-Pi-Modell, die gewünschte Distribution und schließlich das Device Ihrer SD-Karte aus. Einfacher kann es nicht sein, würde man denken. Dennoch habe ich es geschafft, auf einem Rechner mit zwei SSDs (einmal Linux, diese SSD war aktiv in Verwendung, einmal Windows) die Installationsdaten auf die Windows-SSD statt auf die SD-Karte zu schreiben. Schuld war ich natürlich selbst, weil ich nur auf das Pictogram gesehen und nicht den nebenstehenden Text gelesen habe. Der Imager hat die SSD mit dem SD-Karten-Icon garniert.

Vorsicht bei der Bedienung des Raspberry Pi Imagers!

Wenn Sie möchten, können Sie im Imager eine Vorweg-Konfiguration durchführen. Das ist vor allem für den Headless-Betrieb praktisch, erspart aber auch erste Konfigurationsschritte im Assistenten, der beim ersten Start erscheint.

Die Vorab-Konfiguration ist vor allem für den Headless-Betrieb (also ohne Tastatur und Monitor) praktisch.

Versionsnummern

Raspberry Pi OS Trixie profitiert mit dem Versionssprung vom neueren Software-Angebot in Debian Trixie. Die aktuelleren Versionsnummern sind gleichzeitig das Hauptargument, auf Raspberry Pi OS Trixie umzusteigen.

Basis               Programmierung     Server
---------------     --------------     ---------------
Kernel     6.12     bash       5.2     Apache      2.4
glibc      2.41     gcc       14.2     CUPS        2.4
Wayland    1.23     git       2.47     MariaDB    11.8
NetworkMan 1.52     Java     21/25     OpenSSH    10.0
Mesa       25.0     PHP        8.4     PostgreSQL   17
Systemd     257     Python    3.13     Postfix    3.10
                                       Samba      4.22

Einheitliche Konfiguration

Die größte Änderung am Desktop »PIXEL« (vom Hintergrundbild abgesehen) betrifft die Konfiguration: Das Control Center umfasst nun auch Desktop-Einstellungen, die Bildschirm-Konfiguration und die Drucker-Konfiguration. Das ist definitiv ein Fortschritt im Vergleich zur bisher recht willkürlichen Aufteilung der Konfiguration über diverse Programme mit recht uneinheitlichem Erscheinungsbild.

Das Konfigurationsprogramm umfasst nun wesentlich mehr Module

gpioset

Die Syntax von gpioset hat sich geändert (vermutlich schon vor einiger Zeit, aber mir ist es erst im Rahmen meiner Tests mit Raspberry Pi OS Trixie aufgefallen):

  • Der gewünschte Chip (Nummer oder Device) muss mit der Option -c angegeben werden.
  • Das Kommando läuft per Default endlos, weil es nur so den eingestellten Status der GPIOs garantieren kann. Wenn Sie wie bisher ein sofortiges Ende wünschen, übergeben Sie die Option -t 0. Beachten Sie, dass -t nicht die Zeit einstellt, sondern für ein regelmäßiges Ein- und Ausschalten gedacht ist (toggle). Ich habe die Logik nicht verstanden, aber -t 0 führt auf jeden Fall dazu, dass das Kommando sofort beendet wird.

  • Alternativ kann das Kommando mit -z im Hintergrund fortgesetzt werden.

Das folgende Kommando gilt für Chip 0 (/dev/gpiochip0) und somit für die »gewöhnlichen« GPIOs. Dank -t 0 wird das Kommando sofort beendet.

gpioset -c 0 -t 0  7=1   # GPIO 7 (Pin 26) auf "high" stellen
sleep 3
gpioset -c 0 -t 0  7=0   # GPIO 7 (Pin 26) auf "low" stellen

Verwenden Sie besser das Kommando pinctrl, wenn Sie GPIOs im Terminal oder in bash-Scripts verändern wollen!

Sonstiges

Raspberry Pi OS verwendet nun per Default Swap on ZRAM. Nicht benötigte Speicherblöcke werden also komprimiert und in einer RAM-Disk gespeichert. Besonders gut funktioniert das bei Raspberry-Pi-Modellen mit viel RAM.

Raspberry Pi OS wird keine Probleme mit dem Jahr 2038 haben. Die zugrundeliegenden Änderungen stammen von Debian und wurden einfach übernommen.

Dank neuer Meta-Pakete ist es einfacher, von Raspberry Pi OS Lite auf die Vollversion umzusteigen. Das ist aus Entwicklersicht sicher erfreulich, der praktische Nutzen hält sich aber in Grenzen.

Mathematica steht aktuell noch nicht zur Verfügung, die Pakete sollen aber bald nachgeliefert werden.

Auch die Software für einige HATs (KI- und TV-Funktionen) müssen erst nachgereicht werden.

Fazit

Alles in allem ist das Raspberry-Pi-OS-Release unspektakulär. Das hat aber auch damit zu tun, dass Raspberry Pi OS bereits in den letztes Releases umfassend modernisiert wurde. Zur Erinnerung: Raspberry Pi OS verwendet Wayland, PipeWire, den NetworkManager etc., verhält sich also mittlerweile ganz ähnlich wie »normale« Linux-Distributionen. Diesmal gab es einfach weniger zu tun :-)

Bei meinen bisherigen Tests sind mir keine Probleme aufgefallen. Umgekehrt gibt es aber auch so wenig Neuerungen, dass ich bei einem vorhandenen Projekt dazu rate, die Vorgängerversion Raspberry Pi OS »Bookworm« einfach weiterlaufen zu lassen. Die Raspberry Pi Foundation rät von Distributions-Updates ab, und der Nutzen einer Neuinstallation steht in keinem Verhältnis zum Aufwand. Und es nicht auszuschließen, dass mit den vielen Versions-Updates doch die eine oder andere Inkompatibilität verbunden ist.

Quellen und Links

Tipp: Probleme mit Raspberry-Pi-Boot-Reihenfolge beheben

08. Oktober 2025 um 15:00

Mein Raspberry Pi 5 ist mit einem SSD-Hat ausgestattet (Pimoroni, siehe Blog). Auf der SSD ist Raspberry Pi OS Bookworm installiert. Jetzt möchte ich aber Raspberry Pi OS Trixie ausprobieren. Das System habe ich mit dem Raspberry Pi Imager auf eine SD-Card geschrieben. Sowohl SSD als auch SD-Karte sind angeschlossen, die Boot-Reihenfolge ist auf SD-Card first eingestellt.

Boot-Reihenfolge einstellen

raspi-config verändert die Variable BOOT_ORDER, die im EEPROM gespeichert wird. Die Variable kann mit `rpi-eeprom-config´ gelesen werden:

rpi-eeprom-config

  [all]
  BOOT_UART=0
  WAKE_ON_GPIO=0
  POWER_OFF_ON_HALT=1
  BOOT_ORDER=0xf461

0xf461 bedeutet (die Auswertung erfolgt mit den niedrigsten Bits zuerst, also von rechts nach links):

1 - Try SD card
6 - Try NVMe
4 - Try USB mass storage
f - RESTART (loop back to the beginning)

Die Einstellung ist also korrekt, trotzdem bootet der Pi hartnäckig von der SSD und ignoriert die SD-Card. Warum?

Analyse

Schuld sind die Partition-UUIDs! Die SSD habe ich vor eineinhalb Jahren mit dem SD Card Copier geklont. Die Option New Partition UUIDs habe ich nicht verwendet, ich sah keinen Grund dazu. Jetzt liegt folgendes Problem vor: Die SSD und die vom Rasbperry Pi Imager erzeugte SD-Card haben die gleichen Partition-UUIDs!

lsblk -o NAME,PARTUUID,UUID,MOUNTPOINT

  NAME          PARTUUID     UUID                                   MOUNTPOINT
  mmcblk0                                                            
  ├─mmcblk0p1   8a676486-01  1E1E-DAB6                              /boot/firmware
  └─mmcblk0p2   8a676486-02  b8316dab-786b-45e8-815c-3d4bbf198d98    

  nvme0n1                                                            
  ├─nvme0n1p1   8a676486-01  1E1E-DAB6                               
  ├─nvme0n1p2   8a676486-02  b8316dab-786b-45e8-815c-3d4bbf198d98   /
  └─nvme0n1p3   8a676486-03  293896b6-33ee-43de-87d4-56944456cec6 

Deswegen sind die UUIDs in /etc/fstab und in /boot/firmware/cmdline.txt nicht eindeutig:

cat /etc/fstab

  proc                  /proc           proc    defaults          0       0
  PARTUUID=8a676486-01  /boot/firmware  vfat    defaults          0       2
  PARTUUID=8a676486-02  /               ext4    defaults,noatime  0       1


cat /boot/firmware/cmdline.txt

  console=serial0,115200 console=tty1 root=PARTUUID=8a676486-02 rootfstype=ext4 \
    fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=AT

Solange beide Datenträger verbunden sind, ist nicht vorhersehbar, welche Partitionen tatsächlich genutzt werden. Am einfachsten wäre es natürlich, das Kabel zur SSD vorübergehend zu trennen; das ist aber nicht empfehlenswert, weil es hierfür keinen richtigen Stecker gibt, sondern nur eine sehr filigrane Kabelpressverbindungen, die möglichst nicht anrührt werden sollte.

Lösung

Ich habe den Pi ohne SD-Karte neu gebootet und dann

  • die Filesystem-UUIDs geändert,
  • /etc/fstab angepasst und
  • /boot/firmware/cmdline.txt ebenfalls angepasst.

Im Detail: Da die ursprüngliche Partitionierung der SSD von der SD-Karte übernommen wurde, liegt eine MBR-Partitionstabelle vor. In diesem Fall ergeben sich die Partition-UUIDs aus der Disk-ID plus Partitionsnummer. Die Disk-ID (Hex-Code mit 8 Stellen) kann mit fdisk geändert werden:

fdisk /dev/nvme0n1

  Welcome to fdisk (util-linux 2.38.1).
  Command (m for help): x.                   <-- aktiviert den Expertenmodus
  Expert command (m for help): i             <-- ID ändern
  Enter the new disk identifier: 0x1234fedc. <-- neue ID als Hex-Code
  Disk identifier changed from 0x8a676486 to 0x1234fedc.
  Expert command (m for help): r             <-- zurück ins Hauptmenü (return)
  Command (m for help): w                    <-- Änderungen speichern (write)

  The partition table has been altered.
  Syncing disks.

Mit fdisk -l vergewissern Sie sich, dass die Änderung wirklich funktioniert hat:

fdisk -l /dev/nvme0n1

  ...
  Disk identifier: 0x1234fedc

Weil der Datenträger in Verwendung ist, zeigt fdisk -l /dev/nvme0n1 weiter die alte UUID an. Sie müssen glauben, dass es funktioniert hat :-(

Bevor Sie einen Reboot machen, müssen Sie nun mit einem Editor auch /etc/fstab und /boot/firmware/cmdline.txt anpassen. In meinem Fall sehen die Dateien jetzt so aus:

cat /etc/fstab

  proc                  /proc           proc    defaults          0       0
  PARTUUID=1234fedc-01  /boot/firmware  vfat    defaults          0       2
  PARTUUID=1234fedc-02  /               ext4    defaults,noatime  0       1

cat /boot/firmware/cmdline.txt

  console=serial0,115200 console=tty1 root=PARTUUID=1234fedc-02 rootfstype=ext4 \
    fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles cfg80211.ieee80211_regdom=AT

Jetzt ist ein Reboot fällig, um zu testen, ob alles funktioniert. (Bei mir hat es im ersten Versuch NICHT funktioniert, weil ich bei fdisk das write-Kommando vergessen habe. Dann muss die SSD ausgebaut, ein USB-Gehäuse mit einem Computer verbunden und der Vorgang wiederholt werden.)

Ab jetzt sind die Partitions-UUIDs von SD-Karte und SSD voneinander unterscheidbar. Die Umschaltung des Boot-Systems mit raspi-config funktioniert, wie sie soll.

Quellen/Links

labwc ist der neue Wayland-Compositor für Raspberry Pi OS

31. Oktober 2024 um 06:39

Raspberry Pi OS »Bookworm« verwendet bekanntlich auf den Modellen 4* und 5 standardmäßig Wayland. Dabei kam als sogenannter »Compositor« das Programm Wayfire zum Einsatz. (Der Compositor ist unter anderem dafür zuständig, Fenster am Bildschirm anzuzeigen und mit einem geeigneten Fensterrahmen zu dekorieren.)

Mit dem neuesten Update von Raspberry Pi OS ändern sich nun zwei Dinge:

  • Anstelle von Wayfire kommt ein anderer Compositor zum Einsatz, und zwar labwc (GitHub).
  • Wayland kommt auf allen Raspberry Pis zum Einsatz, auch auf älteren Modellen.

Wenn Sie auf Ihrem Raspberry Pi das nächste Update durchführen, werden Sie bei nächster Gelegenheit gefragt, ob Sie auf labwc umstellen möchten. Aktuell werden Sie keinen großen Unterschied feststellen — labwc sollte genau wie wayfire funktionieren (vielleicht ein klein wenig effizienter). Langfristig haben Sie keine große Wahl: Die Raspberry Pi Foundation hat angekündigt, dass sie sich in Zukunft auf labwc konzentrieren und wayfire nicht weiter pflegen wird. Nach der Auswahl wird Ihr Raspberry Pi sofort neu gestartet.

Sie haben die Wahl: Wollen Sie X verwenden oder Wayland mit labwc

Alternativ können Sie die Einstellung auch mit sudo raspi-config durchführen. Unter Advanced Options / Wayland haben Sie die Wahl zwischen allen drei Optionen.

Einstellung des Grafiksystems in raspi-config

Bei meinen Tests stand nach dem Umstieg auf labwc nur noch das US-Tastatur-Layout zur Verfügung. Eine Neueinstellung in Raspberry Pi Configuration löste dieses Problem. Auch die Monitor-Konfiguration musste ich wiederholen. Dabei kommt auch ein neues Tool zum Einsatz(raindrop statt bisher arandr), das optisch aber nicht von seinem Vorgänger zu unterscheiden ist.

Ansonsten habe ich bei meinen Tests keinen großen Unterschied festgestellt. Alles funktioniert wie bisher.

Quellen/Links

ExpressVPN funktioniert nicht unter Raspberry Pi 5 – die Lösung

Von:jdo
19. März 2024 um 07:39

Mein Raspberry Pi 5 ist wirklich schnell und macht richtig Spaß. Bisher bin ich auch auf keine Probleme gestoßen und alle Software, die ich benutze, funktioniert. Nun habe ich allerdings angefangen, diverse VPNs auf dem Pi 5 mit Raspberry Pi OS Bookworm (Debian 12) zu testen und ExpressVPN hat gestreikt. Ich habe folgenden Fehler bekommen (bei der Desktop-Version): expressvpn: error while loading shared libraries: libresolv.so.2: ELF load command address/offset not page-aligned Zunächst dachte ich, dass das Problem an einer falschen […]

Der Beitrag ExpressVPN funktioniert nicht unter Raspberry Pi 5 – die Lösung ist von bitblokes.de.

Raspberry Pi OS mit Linux 6.6 LTS & besser mit Raspberry PI 5

Von:jdo
14. März 2024 um 06:39

Ab sofort gibt es ein Update für Raspberry Pi OS. Die neueste Version bietet Linux-Kernel 6.6 LTS. Es gibt auch weitere Verbesserungen. Ich habe gerade ein Upgrade auf meinem Raspberry Pi 5 (der als Desktop-Ersatz richtig Spaß macht) durchgeführt und damit auch das Kernel-Upgrade erhalten. Die Basis hat sich nicht geändert und ist weiterhin Debian GNU/Linux 12 Bookworm. Unter der Haube ist aber nun Linux-Kernel 6.6 LTS. Aktualisiert wurden auch die beiden offiziell unterstützten Browser. Mit der März-2024-Variante von Raspberry […]

Der Beitrag Raspberry Pi OS mit Linux 6.6 LTS & besser mit Raspberry PI 5 ist von bitblokes.de.

Raspberry Pi 5 getestet – Desktop-Ersatz? Endlich selbst in der Hand …

Von:jdo
12. Februar 2024 um 06:44

Der Raspberry Pi 5 ist schon eine Weile auf dem Markt. Bisher hatte ich aber keine Gelegenheit, selbst einen zu testen. Nun ist es endlich so weit und ich habe ein ähnliches Experiment wie damals mit dem Raspberry Pi 400 durchgeführt. Der Pi 400 oder 4 eignet sich bedingt als Desktop-Ersatz. Die Sache kann ziemlich langsam werden, insbesondere, wenn viele Anwendungen offen sind oder Du Aufgaben durchführst, die zu viel Leistung erfordern. Der Pi 5 ist wesentlich schneller und ich […]

Der Beitrag Raspberry Pi 5 getestet – Desktop-Ersatz? Endlich selbst in der Hand … ist von bitblokes.de.

Statische IP-Adresse bei Raspberry Pi OS Bookworm

Von:jdo
16. Dezember 2023 um 09:38

Es gibt genügend Situationen, in denen Du Deinem Raspberry Pi eine statisch IP-Adresse zuweisen möchtest. Vielleicht dient ein Pi als Server – sei es für eine Nextcloud im Wohnzimmer, ein NAS oder ein VPN-Router. Um Deinem Raspberry Pi eine fixe IP-Adresse zuzuweisen, hast Du mehrere Optionen. Hast Du Zugriff auf den Router im Netzwerk, genauer gesagt den DHCP-Server, kannst Du ihn nutzen, um dem PI via MAC-Adresse immer die gleiche IP-Adresse zu geben. Du kannst die statische IP-Adresse aber auch […]

Der Beitrag Statische IP-Adresse bei Raspberry Pi OS Bookworm ist von bitblokes.de.

Raspberry Pi OS mit dunklem Theme – Verbesserungen für Pi 5

Von:jdo
07. Dezember 2023 um 06:29

Es gibt ein Update für Raspberry Pi OS, das verschiedene Verbesserungen mit sich bringt. Wie üblich wurden diverse wichtige Pakete aktualisiert. Als Linux-Kernel setzt das neueste Raspberry Pi OS Bookworm auf Version 6.1.63. Die deutsche Übersetzung wurde nun auch zu den Erscheinungsbild-Einstellungen hinzugefügt. Zudem gibt es Updates auf Thonny 4.1.4, Chromium 119.0.6045.171 und Firefox 119.0. Die Entwickler haben dem Betriebssystem außerdem ein dunkles GTK-Thema spendiert. In diesem Zusammenhang wurde das GTK+2-Theme mit dem GTK+3-Theme harmonisiert, um ein einheitlicheres Theming von […]

Der Beitrag Raspberry Pi OS mit dunklem Theme – Verbesserungen für Pi 5 ist von bitblokes.de.

Raspberry Pi Beginner’s Guide 5. Auflage – auch als PDF

Von:jdo
04. November 2023 um 06:39

Vor nicht allzu langer Zeit wurde der neue Raspberry Pi 5 vorgestellt. Nun wurde auch der offizielle Raspberry Pi Beginner’s Guide aktualisiert und auf den neuesten Stand gebracht. In der fünften Auflage findest Du Wissenswertes zum Raspberry Pi 5, den Raspberry Pi Zero 2 W und die neueste Version von Raspberry Pi OS (Bookworm). Es gibt sogar ein Bonuskapitel für Raspberry Pi Pico und Pico W. Die neueste Ausgabe hat auch einen neuen Look bekommen. Das Design wurde geändert, es […]

Der Beitrag Raspberry Pi Beginner’s Guide 5. Auflage – auch als PDF ist von bitblokes.de.

Raspberry Pi OS verschlüsseln – mit zuluCrypt (Ordner & Dateien)

Von:jdo
23. Oktober 2023 um 06:15

Mir gefällt Raspberry Pi OS wirklich gut, insbesondere die neue, auf Debian Bookworm basierende Version. Eine Sache stört mich dabei allerdings. Es gibt keine simple Methode, das Home-Verzeichnis zu verschlüsseln. Jeder, der Deine microSD-Karte nehmen kann, hat damit Zugriff auf die Daten, die Du auf dem Raspberry Pi speicherst. Du kannst Raspberry Pi OS verschlüsseln und das ist gar nicht so schwer. Mein Favorit wäre Cryptomator, aber dessen GUI läuft nicht auf dem Pi. VeraCrypt wäre eine tolle Option, aber […]

Der Beitrag Raspberry Pi OS verschlüsseln – mit zuluCrypt (Ordner & Dateien) ist von bitblokes.de.

Remote Desktop und Raspberry Pi OS Bookworm

21. Oktober 2023 um 15:47

Die aktuelle Raspberry-Pi-Version verwendet auf den Raspberry-Pi-Modellen 4B, 400 sowie 5 Wayland als Default-Grafiksystem. Aus diesem Grund funktionieren viele Programme zur Fernwartung bzw. für Remote-Desktop-Funktionen nicht mehr wie gewohnt. Betroffen ist unter anderem RealVNC, bisher die Default-Lösung der Raspberry Pi Foundation. RealVNC verspricht etwas vage, im Verlauf des Jahres 2024 eine Wayland-kompatible Version ihrer Software zu veröffentlichen. An dieser Stelle erkläre ich Ihnen, was Sie tun können, wenn Sie nicht solange warten möchten.

Xorg versus Wayland

Das X Window System und der Xorg-Server bilden das traditionelle Grafiksystem von Linux. Es basiert auf einem Client/Server-Modell und hat sich jahrzehntelang bewährt. Allerdings ist der Xorg-Server mit vielen Altlasten und Sicherheitsproblemen verbunden. Die Software wird schon seit mehrere Jahren nicht mehr weiterentwickelt und kaum noch aktiv gewartet. Seine Zeit läuft ab.

Der Nachfolger von Xorg heißt Wayland ist dagegen »nur« ein neues Protokoll für die Kommunikation zwischen dem Wayland Compositor (einem Display-Server) und den Anwendungsprogrammen (Clients). Wayland bricht mit dem X Window System und verspricht ein System, das schlanker, sicherer und effizienter ist. Wayland gehört die Zukunft.

Zwar sind mittlerweile viele Programme Wayland-kompatibel, aber leider nicht alle. Besonders große Probleme gibt es bei Programmen, die den Bildschirminhalt auslesen wollen, also Tools für Screenshots, Screencasts, Screen Sharing und Remote Desktop. Derartige Funktionen sind auch unter Wayland möglich, müssen aber vollständig neu implementiert werden.

Aktuelles Grafiksystem ermitteln

Ob Ihr Raspberry Pi Wayland oder Xorg als Grafiksystem verwendet, stellen Sie am einfachsten mit einem Kommando im Terminal fest:

echo $XDG_SESSION_TYPE
  wayland

Im Desktop-Betrieb lauten die möglichen Antworten wayland oder x11. In einer SSH-Session im Textmodus lautet das Ergebnis dagegen tty.

Lösung 1: Xorg statt Wayland verwenden

Die bei weitem einfachste Lösung besteht darin, das Grafiksystem von Wayland zurück auf Xorg umzustellen. Dazu führen Sie in einem Terminal-Fenster sudo raspi-config aus und wählen zuerst den Menüpunkt Advanced Options, dann Wayland. Jetzt können Sie sich zwischen dem X11 Backend und dem Wayland Backend entscheiden. Gleichzeitig ändert sich auch der Window Manager (Openbox versus Wayfire). Optisch ergeben sich daraus aber nur geringe Unterschiede.

Die Einstellung wird in der Datei /etc/lightdm/lightdm.conf gespeichert:

# in der Datei /etc/lightdm/lightdm.conf
...
# für Wayland:
user-session=LXDE-pi-wayfire
# oder für X:
user-session=LXDE-pi-x

Die Umstellung des Grafiksystems wird erst nach einem Neustart wirksam. Die meisten Remote-Desktop-Tools inklusive RealVNC sollte nun wieder wie gewohnt funktionieren. Der RealVNC-Server ist standardmäßig installiert. Die Aktivierung kann aber nicht über das Raspberry-Pi-Konfigurationsprogramm erfolgen. Dessen VNC-Option gilt nur für wayvnc und muss deaktiviert (!) sein, sonst kommt es zu einem Port-Konflikt. Den RealVNC-Dienst aktivieren Sie anschließend wie folgt:

sudo systemctl enable --now vncserver-x11-serviced

Ein VNC-Icon im Panel zeigt an, dass der Start funktioniert hat, und gibt Aufschluss darüber, ob gerade eine Verbindung aktiv ist.

Allerdings gibt es auch hier eine Einschränkung: Der RealVNC-Server funktioniert nur in der 64-Bit-Version von Raspberry Pi OS Bookworm, nicht aber mit der 32-Bit-Version. Dieses Problem soll aber in naher Zukunft behoben werden.

Lösung 2: wayvnc

Wenn Sie bei Wayland bleiben, steht das neue Programm wayvnc zur Verfügung. Sie aktivieren es am einfachsten mit dem Programm Raspberry Pi-Konfiguration im Dialogblatt Schnittstellen, Option VNC.

Aktivierung des VNC-Servers im »Raspberry Pi-Konfigurationsprogramm«

Daraus resultiert die folgende Konfigurationsdatei /etc/xdg/autostart/wayvnc.desktop:

[Desktop Entry]
Type=Application
Name=wayvnc
Comment=Start wayvnc
NoDisplay=true
Exec=/usr/bin/wayvnc --render-cursor --keyboard=de
OnlyShowIn=wayfire

Jetzt brauchen Sie auf Ihrem Client-Rechner (auf dem Rechner, mit dem Sie Ihren Raspberry Pi steuern möchten), einen zu wayvnc kompatiblen VNC-Client. Der Raspberry-Pi-Blog empfiehlt das Programm vncviewer des Projekts TigerVNC. Die meisten Linux-Distributionen stellen ein entsprechendes Paket zur Verfügung. Für Windows und macOS (Intel) finden Sie hier Downloads.

Hier läuft der TigerVNC-Client auf meinem Notebook mit ArchLinux und ermöglicht die Fernsteuerung des Raspberry-Pi-Desktops

Bei meinen Tests unter Windows ist der Verbindungsaufbau mit dem Programm Remotedesktopverbindung gescheitert. Mit dem vncviewer von TigerVNC hat es dann aber funktioniert.

Sofern der Raspberry Pi mit einem eigenen Monitor verbunden ist, gilt für den Remote Desktop dieselbe Bildschirmauflösung. Wenn der Raspberry Pi dagegen »headless« läuft, können Sie die gewünschte Auflösung mit sudo raspi-config, Display Options, VNC Resolution einstellen (maximal 1920×1080, erfordert einen Reboot).

Quellen/Links

Benchmarks für Raspberry Pi 5 veröffentlicht – Geekbench

Von:jdo
21. Oktober 2023 um 08:09

Benchmarks sind ein zweischneidiges Schwert. Einerseits geben sie uns einen Überblick, wie schnell Geräte sind, andererseits lassen sie sich auch zugunsten des jeweiligen Geräts hinbiegen. Dennoch ist es ein guter Indikator, ob es Verbesserungen gibt. Im Blog des Raspberry Pi wurden nun Benchmarks veröffentlicht, die den Raspberry Pi 5 mit dem 4 vergleichen. In den Kommentaren kannst Du nachlesen, dass die Benchmarks für den Raspberry Pi 5 mit einer aktiven Kühlung durchgeführt wurden. Benchmarks mit Geekbench Der Entwickler hat mit […]

Der Beitrag Benchmarks für Raspberry Pi 5 veröffentlicht – Geekbench ist von bitblokes.de.

Raspberry Pi Imager 1.8.1 – Du kannst nun das Gerät wählen

Von:jdo
21. Oktober 2023 um 05:49

Es gibt eine neue Version von Raspberry Pi Imager womit Du Raspberry Pi OS einfach auf einer microSD-Karte installieren kannst. Die sichtbarste und größte Neuerung bei Raspberry Pi Imager 1.8.1 ist, dass Du ab sofort das Gerät wählen kannst. Wählst Du ein Gerät aus, auch der Raspberry Pi 5 wird bereits unterstützt, bietet Dir das Tool alle möglichen Optionen an, die Du installieren kannst. Vorteilhaft ist das etwa, wenn Du einen älteren Pi hast, auf dem keine 64-Bit-Varianten von Raspberry […]

Der Beitrag Raspberry Pi Imager 1.8.1 – Du kannst nun das Gerät wählen ist von bitblokes.de.

Hilfe, pip funktioniert nicht mehr!

19. Oktober 2023 um 08:08

pip ist das Paketverwaltungs-Tool von Python. Wenn Sie in einem Script ein Zusatzmodul benötigen, führen Sie einfach pip install xxx bzw. unter macOS und bei manchen Linux-Distributionen pip3 install xxx aus. pip lädt das erforderliche Modul sowie eventuelle Abhängigkeiten herunter und installiert die Pakete lokal (d.h., sie brauchen meine root-Rechte).

Meistens funktioniert pip gut — aber nicht immer. Die häufigste Fehlerquelle unter Windows ist die Parallelinstallation mehrerer Python-Versionen. Dann ist nicht immer klar, auf welche Python-Version sich pip bezieht. Nach meiner Erfahrung scheint pip zumeist die falsche Version zu nehmen. Daher mein Tipp: Vermeiden Sie unter Windows unbedingt die Mehrfachinstallation von Python!

Aber auch unter Linux kann es Probleme geben. Die Ursache hier besteht darin, dass viele Distributionen selbst eine riesige Sammlung von Paketen mit Python-Erweiterungen anbieten. Die Parallelinstallation eines Moduls, einmal mit apt oder dnf und ein zweites Mal mit pip, kann dann zu Konflikten führen — insbesondere dann, wenn nicht exakt dieselben Versionen zum Einsatz kommen. Die Python-Entwickler haben deswegen im ‎Python Enhancement Proposals (PEP) 668 festgeschrieben, dass in solchen Fällen Pakete aus Linux-Repositories vorzuziehen sind. PEP 668 gilt grundsätzlich seit Python 3.11. Tatsächlich implementiert ist es momentan nur in aktuellen Linux-Distributionen:

  • Ubuntu ab Version 23.04
  • Debian ab Version 12
  • Raspberry Pi OS ab dem Bookworm-Release (Okt. 2023)
  • Arch Linux

Noch nicht implementiert ist PEP 668 dagegen unter RHEL und Fedora (auch nicht in Version 39 Beta).

pip-Fehlermeldung

Der Versuch, mit pip ein Modul zu installieren, führt bei aktuellen Debian-, Ubuntu- und Raspberry-Pi-OS-Versionen zur folgenden Fehlermeldung:

$ pip install matplotlib

error: externally-managed-environment
This environment is externally managed

    To install Python packages system-wide, try apt install
    python3-xyz, where xyz is the package you are trying to
    install.

    If you wish to install a non-Debian-packaged Python package,
    create a virtual environment using python3 -m venv path/to/venv.
    Then use path/to/venv/bin/python and path/to/venv/bin/pip. Make
    sure you have python3-full installed.

    If you wish to install a non-Debian packaged Python application,
    it may be easiest to use pipx install xyz, which will manage a
    virtual environment for you. Make sure you have pipx installed.

    See /usr/share/doc/python3.11/README.venv for more information.

note: If you believe this is a mistake, please contact your Python 
installation or OS distribution provider. You can override this, 
at the risk of breaking your Python installation or OS, by 
passing --break-system-packages. Hint: See PEP 668 for the 
detailed specification.

Lösung 1: Installation des äquivalenten Linux-Pakets

Die obige Fehlermeldung weist direkt auf die beste Lösung hin — nämlich die Installation des entsprechenden Linux-Pakets mit apt python3-xxx, wobei xxx der Paketname ist. Für die matplotlib führen Sie unter Debian, Ubuntu und Raspberry Pi OS das folgende Kommando aus:

sudo apt install python3-matplotlib

Diese Empfehlung ist mit zwei Einschränkungen verbunden: Sie erfordert, dass Sie root– oder sudo-Rechte haben, und sie setzt voraus, dass das gewünschte Modul tatsächlich im Repository Ihrer Linux-Distribution zur Verfügung steht. Letzteres ist oft der Fall, aber nicht immer. Auf pypi.org gibt es fast 500.000 Projekte, die Debian-Standard-Repositories enthalten dagegen »nur« gut 4000 (apt list | grep python3- | wc -l).

Lösung 2: Verwendung einer virtuellen Umgebung

Ein Virtual Environment im Kontext von Python ist ganz einfach ein Projektverzeichnis, in das die für das Projekt erforderlichen Module lokal und projektspezifisch installiert werden. Das hat mehrere Vorteile:

  • Es ist klar, welche Module ein bestimmtes Projekt benötigt. Das Projekt lässt sich später einfacher auf einen anderen Rechner übertragen.
  • Es kann keine Konflikte zwischen unterschiedlichen Projekten geben, die unterschiedliche Module erfordern.
  • Sie sind nicht auf die von Ihrer Linux-Distribution angebotenen Python-Module eingeschränkt und brauchen keine Administratorrechte zur Installation von Linux-Paketen.

Virtuelle Umgebungen werden von Python durch das Modul venv unterstützt. Dieses Modul muss vorweg installiert werden, entweder mit apt install python3-venv oder durch apt install python3-full. Anschließen richten Sie Ihr Projekt ein:

$ python3 -m venv my-project

Python erzeugt das Verzeichnis my-project, falls dieses noch nicht existiert, und richtet dort eine minimale Python-Umgebung ein. (»Minimal« bedeutet: ca. 1500 Dateien, Platzbedarf ca. 25 MByte. Nun ja.) Nun führen Sie in Ihrem Terminal-Fenster mit source das Shell-Script activate aus, um die Umgebung zu aktivieren:

$ cd my-project
$ source bin/activate
(my-project)$ 

In dieser Umgebung funktioniert pip wie gewohnt. In der Folge können Sie Ihr Script ausführen, das die lokal installierte Module nutzt:

(my-project)$ pip install requests beautifulsoup4
(my-project)$ ./my-webscraping-script.py

Anstelle venv direkt zu nutzen, gibt es diverse Tools, um die Verwaltung Ihrer virtuellen Umgebungen zu vereinfachen. Am bekanntesten sind pipenv und virtualenv. Persönlich ist mir pipenv am liebsten. Das Tool muss vorweg installiert werden (apt install pipenv).

Lösung 3: Das Kommando pipx

pipx ist eine Variante zum klassischen pip-Kommando, das sich gleichzeitig um die Einrichtung einer virtuellen Umgebung kümmert (siehe auch die Dokumentation). pipx ist allerdings nicht zur Installation von Bibliotheken gedacht, sondern zur Installation fertiger Python-Programme. Diese werden in .local/bin gespeichert.

pipx ist nur dann eine attraktive Option, wenn Sie ein als Python-Modul verfügbares Programm unkompliziert installieren und ausführen wollen. Wenn Sie dagegen selbst Scripts entwickeln, die von anderen Modulen abhängig sind, ist pipx nicht das richtige Werkzeug.

Lösung 4: Option pip --break-system-packages

Ein vierter Lösungsweg besteht darin, an pip die Option --break-system-packages zu übergeben. Die Option ist weniger schlimm, als ihr Name vermuten lässt. Im Prinzip funktioniert pip jetzt so wie bisher und installiert das gewünschte Modul, ganz egal, ob es ein äquivalentes Paket Ihrer Distribution gibt oder nicht, und unabhängig davon, ob dieses Paket womöglich schon installiert ist.

Empfehlenswert ist der Einsatz dieser Option in CI-Scripts (Continuous Integration), z.B. in Test- oder Deploy-Scripts für git (siehe auch diesen Blog-Beitrag von Louis-Philippe Véronneau). Die Option --break-system-packages ist oft der schnellste und bequemste Weg, nicht mehr funktionierende Scripts wieder zum Laufen zu bringen.

Quellen/Links

❌