<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GNOME – Linux und Ich</title>
	<atom:link href="https://linuxundich.de/tag/gnome/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de</link>
	<description>Blog über Ubuntu, Linux, Android und IT</description>
	<lastBuildDate>Wed, 28 Oct 2026 08:37:05 +0000</lastBuildDate>
	<language>de</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.4</generator>
	<item>
		<title>Ghostty 1.4: Linux-Terminal spart Speicher, Splits per Maus</title>
		<link>https://linuxundich.de/ghostty-1-4-linux-terminal/</link>
					<comments>https://linuxundich.de/ghostty-1-4-linux-terminal/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Wed, 28 Oct 2026 08:37:05 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Ghostty]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Terminal]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48562</guid>

					<description><![CDATA[Ghostty 1.4 komprimiert den Verlauf und spart bis zu 90 Prozent Speicher. Unter Linux rendert das Terminal neu, Splits verschiebt ihr jetzt per Maus.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Lange war <a href="https://gnunn1.github.io/tilix-web/">Tilix</a> mein Terminal unter Linux. Ein Fenster in mehrere Terminals aufteilen, ohne extra <a href="https://github.com/tmux/tmux/wiki">Tmux</a> oder <a href="https://zellij.dev/">Zellij</a> zu bemühen, das hat schon was. Doch Tilix hängt an alten Abhängigkeiten und lässt sich unter Arch Linux kaum noch aus dem <a href="https://linuxundich.de/paru-pacaur-oder-yay-der-beste-aur-helper/">AUR</a> bauen. Ja, es geht. Doch das Kompilieren von gtkd, der Anbindung an GTK 3, braucht eine gefühlte Ewigkeit.</p>



<p class="wp-block-paragraph">Von daher bin ich froh, dass es mit <a href="https://ghostty.org/">Ghostty</a> ein modernes Terminal mit Tiling-Funktion gibt, das auf GTK 4 und libadwaita aufsetzt. Bei mir ersetzt es inzwischen Tilix, das ich euch 2016 noch unter dem Namen <a href="https://linuxundich.de/terminix-gtk3-terminal-mit-tiling-funktion-dragdrop-und-transparenz/">Terminix</a> vorgestellt habe. Ausführlich getestet habe ich Ghostty in der LinuxUser 06/2026. Jetzt ist Version 1.4 erschienen. Die bringt einige Neuerungen mit, die gerade Linux-User betreffen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b66085&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b66085" class="wp-block-image size-full wp-lightbox-container"><img fetchpriority="high" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/01-ghostty-splits.webp" alt="Ghostty-Fenster auf dem GNOME-Desktop mit vier Splits: Fastfetch, htop, ein Git-Log und der Midnight Commander" class="wp-image-48555" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-ghostty-splits.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/01-ghostty-splits-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-ghostty-splits-768x432.webp 768w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Ghostty teilt ein Fenster in beliebig viele Splits auf, hier mit Fastfetch, htop, einem Git-Log und dem Midnight Commander.</figcaption></figure>



<h2 class="wp-block-heading">Was ist Ghostty?</h2>



<p class="wp-block-paragraph">Für alle, die Ghostty noch nicht kennen: Das Terminal stammt von Mitchell Hashimoto, der vielen als Gründer von HashiCorp (Vagrant, Terraform) bekannt sein dürfte. Ghostty soll schnell sein, viele Funktionen mitbringen und sich trotzdem wie eine normale Desktop-Anwendung anfühlen. Unter Linux nutzt es dafür GTK 4 und fügt sich so gut in GNOME ein. Ghostty ist freie Software unter der MIT-Lizenz.</p>



<p class="wp-block-paragraph">Tabs, Splits und eine Übersicht aller offenen Tabs bringt Ghostty von Haus aus mit. Neue Splits öffnet ihr mit <code>Strg</code>+<code>Umschalt</code>+<code>O</code> nach rechts und mit <code>Strg</code>+<code>Umschalt</code>+<code>E</code> nach unten. Eine Menüleiste mit Einstellungsdialogen gibt es dagegen nicht. Konfiguriert wird Ghostty über die Textdatei <code>~/.config/ghostty/config</code>. Außerdem können Programme in Ghostty Bilder direkt im Terminal anzeigen, etwa als Vorschau im Dateimanager.</p>



<h2 class="wp-block-heading">Weniger Speicherbedarf für schwächere Rechner</h2>



<p class="wp-block-paragraph">Ghostty 1.4 packt den Verlauf zusammen, sobald im Terminal gerade nichts passiert. Laut den Entwicklern braucht er damit 70 bis 90 Prozent weniger Speicher. Im Alltag dürften das die wenigsten spüren. Wer aber das Maximum aus einem schwächeren Rechner herausholen möchte oder mit riesigen Dateien und Ausgaben hantiert, der braucht auch ein Terminal, das sparsam mit den Ressourcen umgeht.</p>



<p class="wp-block-paragraph">Gleichzeitig merkt sich Ghostty jetzt mehr. Pro Terminal hebt das Projekt den Verlauf von 10 auf 50 MByte an, ihr könnt also deutlich weiter zurückscrollen. Beim Scrollen oder Suchen entpackt Ghostty die Daten unbemerkt wieder. Die Kompression gibt es unter 64-Bit-Linux und macOS. Wer sie nicht möchte, schaltet sie mit <code>scrollback-compression = false</code> ab. Was eine Option tut, verrät euch Ghostty übrigens selbst.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b67098&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b67098" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/06-ghostty-explain-config.webp" alt="Ghostty zeigt im Pager die Erklärung zur Option scrollback-compression, darüber die Tableiste mit drei Tabs" class="wp-image-48556" srcset="https://linuxundich.de/wp-content/uploads/2026/10/06-ghostty-explain-config.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/06-ghostty-explain-config-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/06-ghostty-explain-config-768x432.webp 768w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Mit ghostty +explain-config erklärt Ghostty eine Option direkt im Terminal, hier die neue Kompression des Verlaufs.</figcaption></figure>



<h2 class="wp-block-heading">Schärfere Schrift bei krummer Skalierung</h2>



<p class="wp-block-paragraph">Nutzt ihr einen Monitor mit 125 oder 150 Prozent Skalierung, dürfte euch die nächste Neuerung freuen. Bisher wirkte die Schrift in Ghostty bei solchen Werten leicht unscharf. Mit 1.4 werden Text und Rahmenzeichen auch dort sauber dargestellt. Dazu hat das Projekt die Darstellung unter Linux neu geschrieben. Bildrisse, wie man sie etwa beim Scrollen sieht, sollen dabei kaum noch auftreten.</p>



<p class="wp-block-paragraph">Der Umbau hat allerdings seinen Preis. Ghostty 1.4 braucht mindestens GTK 4.18 und libadwaita 1.7, unter einem aktuellen Arch Linux ist das kein Thema. Ubuntu 24.04 LTS bringt dagegen zu alte Versionen mit. Wer noch auf der alten LTS sitzt, bleibt laut den Entwicklern besser bei einer älteren Ghostty-Version oder greift zu einem Flatpak.</p>



<h2 class="wp-block-heading">Splits mit der Maus verschieben</h2>



<p class="wp-block-paragraph">Wer viel mit Splits arbeitet, dürfte sich über diese Neuerung freuen: Splits lassen sich jetzt mit der Maus umsortieren. Fahrt ihr an den oberen Rand eines Splits, erscheint ein Griff mit drei Punkten. Den zieht ihr auf einen anderen Split, und eine blaue Fläche zeigt, wo er landen wird. Das klappt auch zwischen Tabs und Fenstern. Laufende Programme, Ausgabe und Arbeitsverzeichnis wandern dabei mit.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b67f40&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b67f40" class="wp-block-image size-full wp-lightbox-container"><img decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/02-ghostty-split-verschieben.webp" alt="Ghostty beim Verschieben des htop-Splits, die linke Hälfte des Git-Log-Splits ist als Ablageziel blau eingefärbt" class="wp-image-48557" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-ghostty-split-verschieben.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/02-ghostty-split-verschieben-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-ghostty-split-verschieben-768x432.webp 768w" sizes="(max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Zieht ihr einen Split an seinem Griff über einen anderen, zeigt eine blaue Fläche an, wo er nach dem Loslassen landet.</figcaption></figure>



<p class="wp-block-paragraph">So könnt ihr etwa ein laufendes htop von unten nach links verschieben, ohne es neu starten zu müssen. Unter Linux lässt sich ein Split allerdings nur auf einem anderen Split ablegen, nicht als eigener Tab oder eigenes Fenster. Ganze Tabs lagert ihr dagegen über die Befehlspalette in ein neues Fenster aus. Stört euch der Griff, blendet ihr ihn mit <code>drag-handle = never</code> aus.</p>



<h2 class="wp-block-heading">Fenster benennen und eine deutsche Befehlspalette</h2>



<p class="wp-block-paragraph">Habt ihr mehrere Ghostty-Fenster für verschiedene Projekte offen, verliert man schnell den Überblick. Fenster lassen sich deshalb jetzt über das Menü umbenennen, etwa in „Blog“ oder „Server“. Lasst ihr das Feld im Dialog leer, kehrt Ghostty zum automatischen Titel zurück. Die Befehlspalette ist zudem vollständig übersetzt. Sie zeigt alle Aktionen auf Deutsch an und nennt, falls vorhanden, das passende Tastenkürzel.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b68da8&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b68da8" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/04-ghostty-fenstertitel.webp" alt="Ghostty mit dem Dialog Fenstertitel ändern über Yazi, im Eingabefeld steht Hintergründe sichten" class="wp-image-48558" srcset="https://linuxundich.de/wp-content/uploads/2026/10/04-ghostty-fenstertitel.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/04-ghostty-fenstertitel-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/04-ghostty-fenstertitel-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Über das Menü gebt ihr einem Ghostty-Fenster einen eigenen Titel; hier für eine Runde durch die GNOME-Hintergründe.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b69990&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b69990" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/05-ghostty-befehlspalette.webp" alt="Ghosttys Befehlspalette mit dem Suchbegriff tab, markiert ist der Eintrag Tab in neues Fenster verschieben" class="wp-image-48559" srcset="https://linuxundich.de/wp-content/uploads/2026/10/05-ghostty-befehlspalette.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/05-ghostty-befehlspalette-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/05-ghostty-befehlspalette-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Befehlspalette ist jetzt vollständig übersetzt und listet hier auch die neue Aktion zum Auslagern eines Tabs.</figcaption></figure>



<p class="wp-block-paragraph">Praktisch für Fans eines Drop-down-Terminals im Stil von Guake: Mit dem neuen Befehl <code>ghostty +toggle-quick-terminal</code> blendet ihr das Quick Terminal von Ghostty ein und aus, etwa per eigenem Tastenkürzel. Das klappt unter Plasma, Sway oder Hyprland, aber nicht unter GNOME, dem dafür eine Schnittstelle fehlt. Neu ist auch die Wahl des Bildschirms, auf dem das Quick Terminal erscheint.</p>



<h2 class="wp-block-heading">Bilder im Terminal und mehr Tempo</h2>



<p class="wp-block-paragraph">Programme können in Ghostty Bilder über das <a href="https://sw.kovidgoyal.net/kitty/graphics-protocol/">Kitty-Grafikprotokoll</a> anzeigen. Mit 1.4 beherrscht Ghostty das Protokoll vollständig, inklusive animierter Bilder, und lädt große Grafiken spürbar schneller. Davon profitieren Dateimanager für das Terminal wie <a href="https://yazi-rs.github.io/">Yazi</a> oder <a href="https://linuxundich.de/tfm-moderner-dateimanager-furs-terminal/">Tfm</a>, die Bilder direkt in ihrer Vorschau anzeigen. So findet ihr das richtige Foto, ohne extra einen Bildbetrachter zu öffnen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b6a68b&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b6a68b" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/03-ghostty-yazi-bildvorschau.webp" alt="Ghostty mit dem Dateimanager Yazi im Ordner /usr/share/backgrounds/gnome, rechts die Vorschau des Hintergrunds fold-l.jxl" class="wp-image-48560" srcset="https://linuxundich.de/wp-content/uploads/2026/10/03-ghostty-yazi-bildvorschau.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/03-ghostty-yazi-bildvorschau-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/03-ghostty-yazi-bildvorschau-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Der Dateimanager Yazi zeigt in Ghostty eine Vorschau der GNOME-Hintergründe, möglich macht das das Kitty-Grafikprotokoll.</figcaption></figure>



<p class="wp-block-paragraph">Auch sonst ist Ghostty schneller geworden. Reinen Text verarbeitet das Terminal laut den Messungen des Projekts 5,7-mal so schnell wie bisher. Das merkt ihr etwa, wenn ein Build oder ein Log viele Zeilen ins Terminal schreibt. Das Ändern der Fenstergröße soll bei langem Verlauf bis zu sechsmal flotter gehen. Einige der übrigen Zahlen aus den Release Notes gelten allerdings nur für macOS.</p>



<h2 class="wp-block-heading">Keine Fehlermeldungen mehr per SSH</h2>



<p class="wp-block-paragraph">Wer sich mit Ghostty per SSH auf einem Server anmeldet, kennt vielleicht Fehler wie „missing or unsuitable terminal: xterm-ghostty“. Dann funktionieren Programme wie htop oder nano auf dem Server nicht richtig, weil der Server Ghostty nicht kennt. Neu ist der Befehl <code>ghostty +ssh</code>, der dem Server die nötigen Informationen bei Bedarf gleich mitgibt. Klappt das nicht, nutzt er eine kompatible Einstellung.</p>



<pre class="wp-block-code"><code>$ ghostty +ssh user@server</code></pre>



<p class="wp-block-paragraph">Ein Update lohnt sich zudem aus Sicherheitsgründen. Ghostty 1.4 schließt zehn Lücken. Unter anderem konnten präparierte Grafikbefehle das Terminal zum Absturz bringen. Außerdem ließ sich der Schutz beim Einfügen von Text austricksen, der eigentlich davor warnen soll, mehrzeilige Befehle versehentlich sofort auszuführen. Einige der Lücken betreffen allerdings nur macOS oder die Zsh als Shell.</p>



<h2 class="wp-block-heading">Achtung bei Tastenkürzeln und Kopieren</h2>



<p class="wp-block-paragraph">Ein paar Änderungen brechen mit altem Verhalten. Unter Linux verschieben <code>Strg</code>+<code>Umschalt</code>+<code>Bild auf</code> und <code>Strg</code>+<code>Umschalt</code>+<code>Bild ab</code> jetzt Tabs. Zum vorherigen oder nächsten Prompt springt ihr dafür mit <code>Strg</code>+<code>Umschalt</code>+<code>Pfeil hoch</code> und <code>Strg</code>+<code>Umschalt</code>+<code>Pfeil runter</code>. Programme im Terminal bekommen diese Tastenkombinationen nicht mehr zu sehen. Wer sie dort braucht, hebt die Belegung in der Konfiguration mit <code>unbind</code> wieder auf.</p>



<p class="wp-block-paragraph">Habt ihr eingestellt, dass Ghostty markierten Text automatisch kopiert, solltet ihr ebenfalls einen Blick in die Konfiguration werfen. Mit <code>copy-on-select = clipboard</code> landet die Auswahl jetzt nur noch in der normalen Zwischenablage. Wollt ihr sie wie bisher auch mit der mittleren Maustaste einfügen, stellt ihr den Wert auf <code>both</code> um. Was die mittlere Maustaste einfügt, legt <code>middle-click-action</code> fest.</p>



<h2 class="wp-block-heading">libghostty: Ghostty steckt bald in anderen Programmen</h2>



<p class="wp-block-paragraph">In der <a href="https://news.ycombinator.com/item?id=50261998">Diskussion auf Hacker News</a> zum Release lenkt Mitchell Hashimoto den Blick auf libghostty. Die Bibliothek enthält den Kern von Ghostty, also alles, was ein Terminal im Inneren ausmacht. Andere Programme können ihn nutzen, statt ein eigenes Terminal zu programmieren. Ghostty selbst nennt Hashimoto scherzhaft „just a glorified tech demo for libghostty“.</p>



<p class="wp-block-paragraph">Für euch heißt das: Ghosttys Technik taucht nach und nach auch in anderen Programmen auf. Die Terminals in den IDEs von JetBrains laufen bereits darauf, für Neovim ist der Umstieg im Gespräch. Und ein <a href="https://news.ycombinator.com/item?id=50265788">KDE-Entwickler baut ein neues Terminal</a> auf Basis von libghostty, das langfristig Konsole beerben könnte. Version 1.0 der Bibliothek soll in den nächsten Monaten erscheinen.</p>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">Unter Arch Linux liegt Ghostty im Repository Extra, zum Zeitpunkt dieses Artikels allerdings noch in Version 1.3.1. Version 1.4 dürfte dort in den nächsten Tagen folgen. Neben dem Terminal selbst solltet ihr auch die Shell-Integration und das Terminfo installieren. Wer nicht warten möchte, findet im AUR das Paket <code>ghostty-nightly-bin</code>, das ich auch für die Screenshots in diesem Artikel genutzt habe.</p>



<pre class="wp-block-code"><code>$ sudo pacman -S ghostty ghostty-shell-integration ghostty-terminfo</code></pre>



<p class="wp-block-paragraph">Fertige Pakete für Linux stellt das Projekt selbst nicht bereit, darum kümmern sich die Distributionen. Ubuntu führt Ghostty seit 26.04 in den offiziellen Paketquellen, wenn auch nicht immer in der neuesten Version. Für Fedora gibt es ein COPR-Repository, dazu kommen ein Snap, ein AppImage und ein Debian-Paket aus der Community. Einen Überblick liefert die <a href="https://ghostty.org/docs/install/binary">Installationsanleitung</a> von Ghostty.</p>



<p class="wp-block-paragraph">Alles in allem ist Ghostty 1.4 in meinen Augen ein rundes Update. Für Tilix-Umsteiger wie mich ist es gut zu sehen, dass sich ein modernes Tiling-Terminal auf GTK-Basis so aktiv weiterentwickelt. Wer näher am Bedienkonzept von Tilix bleiben möchte, sollte sich auch <a href="https://linuxundich.de/rutile-0-2-2-moderne-alternative-zu-tilix/">Rutile</a> anschauen. Alle Änderungen findet ihr in den <a href="https://ghostty.org/docs/install/release-notes/1-4-0">Release Notes</a>. Mit welchem Terminal arbeitet ihr?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/ghostty-1-4-linux-terminal/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Pulsgeber 0.5.3: Fit für das TUXEDO Control Center 3.1</title>
		<link>https://linuxundich.de/pulsgeber-0-5-3-tuxedo-control-center-3-1/</link>
					<comments>https://linuxundich.de/pulsgeber-0-5-3-tuxedo-control-center-3-1/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 27 Oct 2026 07:40:26 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME-Erweiterung]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Pulsgeber]]></category>
		<category><![CDATA[Tuxedo]]></category>
		<category><![CDATA[TUXEDO Control Center]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48138</guid>

					<description><![CDATA[Das TUXEDO Control Center 3.1 hat unter der Haube einiges umgebaut. Pulsgeber 0.5.2 zieht nach: Der Menüeintrag ist zurück, und das Tray des TCC lässt sich unter GNOME wieder zuverlässig abschalten.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Vor drei Wochen habe ich euch mit <a href="https://linuxundich.de/pulsgeber-tuxedo-control-center-gnome-quick-settings/">Pulsgeber</a> meine kleine Erweiterung vorgestellt, die die Profile des TUXEDO Control Centers in die Schnelleinstellungen von GNOME holt. Am 21. Oktober sind die Versionen 3.1 und 3.1.1 des <a href="https://github.com/tuxedocomputers/tuxedo-control-center">Control Centers</a> erschienen. Laut Changelog hat TUXEDO dabei vor allem die Paketstruktur umgebaut. Für Pulsgeber ist das mehr als Kosmetik, deshalb gibt es jetzt die Version 0.5.2.</p>



<p class="wp-block-paragraph">Das Wichtigste vorweg: Das Umschalten der Profile hat nie gehakt, denn der Systemdienst tccd spricht weiterhin über dieselbe Schnittstelle mit Pulsgeber. Gestolpert ist die Erweiterung über Dinge drumherum. So heißt die Desktop-Datei des Control Centers jetzt <code>com.tuxedocomputers.tcc.desktop</code>. Pulsgeber hat die App deshalb nicht mehr gefunden, und der Eintrag <em>TUXEDO Control Center</em> fehlte im Menü der Pille.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b6f4d5&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b6f4d5" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="960" height="640" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/01-tcc-menue-1.webp" alt="Die GNOME-Schnelleinstellungen mit geöffnetem Menü „TCC-Profil“: die Profile Default, Cool and breezy und Powersave extreme sowie der Eintrag TUXEDO Control Center" class="wp-image-48135" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-tcc-menue-1.webp 960w, https://linuxundich.de/wp-content/uploads/2026/10/01-tcc-menue-1-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-tcc-menue-1-768x512.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-tcc-menue-1-480x320.webp 480w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Mit dem Update ist der Eintrag TUXEDO Control Center im Menü der Pille wieder da und öffnet die App.</figcaption></figure>



<p class="wp-block-paragraph">Aus demselben Grund griff eine zweite Funktion nicht mehr: Ist das Tray abgeschaltet, beendet Pulsgeber das Control Center, sobald ihr sein Fenster schließt. Sonst liefe die App unsichtbar im Hintergrund weiter. Dazu kommt, dass das TCC seit 3.1 in einem anders benannten systemd-Scope läuft. Pulsgeber hat dort nur noch ein paar Hilfsprozesse erwischt, aber nicht den Hauptprozess. Beides ist jetzt behoben.</p>



<p class="wp-block-paragraph">Kurioser ist die Sache mit dem Autostart. Bisher startete das Tray, wenn die Datei <code>tuxedo-control-center-tray.desktop</code> in <code>~/.config/autostart</code> lag. Seit 3.1 bringt das Paket den Eintrag systemweit in <code>/etc/xdg/autostart</code> mit, und eine Datei im Home-Verzeichnis schaltet ihn ab, statt ihn einzuschalten. Pulsgeber hat also genau das Gegenteil von dem gemacht, was der Schalter <em>Tray des TCC nicht starten</em> verspricht.</p>



<p class="wp-block-paragraph">Ganz rund läuft es aber auch beim TCC selbst nicht. Zum Abschalten legt das TCC eine leere Datei an, mit der gnome-session unter GNOME 51 nichts anfangen kann. Das Journal meldet, die Datei lasse sich nicht lesen, und das Tray startet trotzdem. Pulsgeber schreibt stattdessen eine Kopie des Eintrags mit <code>Hidden=true</code>, wie es die Spezifikation vorsieht. Das TCC zeigt den Autostart dann ebenfalls als abgeschaltet an.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b700f0&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b700f0" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="980" height="880" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/02-einstellungen.webp" alt="Die Einstellungen von Pulsgeber mit den Schaltern für das Symbol in der oberen Leiste, das Tray des TCC, das Prüfintervall, den Energiemodus von GNOME und den power-profiles-daemon" class="wp-image-48136" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-einstellungen.webp 980w, https://linuxundich.de/wp-content/uploads/2026/10/02-einstellungen-640x575.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-einstellungen-768x690.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Der Schalter Tray des TCC nicht starten tut mit dem TUXEDO Control Center 3.1 wieder genau das, was er verspricht.</figcaption></figure>



<p class="wp-block-paragraph">Beim Test in meiner eigenen Sitzung kam dann noch ein älterer Fehler ans Licht: Seit Version 0.5.0 hat der Schalter überhaupt nichts bewirkt. Die Einstellungen brachen ab, bevor sie die Autostart-Datei schreiben konnten. Das Beenden des Trays übernimmt deshalb jetzt die Erweiterung selbst, sobald sich die Datei ändert. Mit 0.5.2 verschwindet das Tray sofort und startet auch nach dem nächsten Anmelden nicht mehr.</p>



<p class="wp-block-paragraph">Wer noch ein älteres Control Center nutzt, merkt von alldem nichts. Pulsgeber erkennt am systemweiten Autostart-Eintrag, welches Verfahren gilt, und verhält sich mit TCC 3.0 und älter wie gehabt. Getestet ist die neue Version mit GNOME 51.1 und TCC 3.1.1 auf meinem InfinityBook S 17 Gen6. GNOME 51 selbst brauchte übrigens keine Anpassung, die Erweiterung lief dort schon vorher ohne Fehlermeldungen.</p>



<p class="wp-block-paragraph">Bis die Aufnahme in den Katalog der Gnome-Exentsions klappt, gibt es das Update wie gehabt als ZIP-Paket auf der <a href="https://github.com/linuxundich/pulsgeber/releases/latest">Release-Seite bei GitHub</a>. Habt ihr Pulsgeber schon installiert, spielt ihr die neue Version einfach über die alte, dafür sorgt der Parameter <code>--force</code>:</p>



<pre class="wp-block-code"><code>$ gnome-extensions install --force pulsgeber@linuxundich.de.shell-extension.zip</code></pre>



<p class="wp-block-paragraph">Unter Wayland lädt GNOME die neue Version erst nach dem nächsten Ab- und Anmelden. Alle Änderungen im Detail stehen im <a href="https://github.com/linuxundich/pulsgeber/blob/main/CHANGELOG.md">Changelog</a>, Screenshots und Antworten auf häufige Fragen auf der <a href="/projekte/pulsgeber/">Projektseite von Pulsgeber</a>. Hakt bei euch nach dem Update des Control Centers noch etwas, dann meldet euch gerne hier in den Kommentaren oder als <a href="https://github.com/linuxundich/pulsgeber/issues">Issue auf GitHub</a>.</p>



<p class="wp-block-paragraph"><em>Transparenzhinweis: Ich <a href="https://linuxundich.de/ab-nach-augsburg-ab-zu-tuxedo/">arbeite für TUXEDO Computers</a>. Pulsgeber ist allerdings ein privates Projekt, das KI-unterstützt in meiner Freizeit entstanden ist. Es ist kein Produkt von TUXEDO und erhält keinen offiziellen Support von TUXEDO.</em></p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/pulsgeber-0-5-3-tuxedo-control-center-3-1/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>WebKitGTK 2.54: Kleines Sternchen, großes Speicherleck</title>
		<link>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/</link>
					<comments>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 14:33:34 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Web]]></category>
		<category><![CDATA[PlanetFOSS]]></category>
		<category><![CDATA[Projekte]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48110</guid>

					<description><![CDATA[Bei der Arbeit an PlanetFOSS ist mir ein massives Speicherleck in WebKitGTK 2.54 begegnet: Ein harmloser Milchglas-Effekt per backdrop-filter treibt GNOME Web auf bis zu 9,8 GB. Firefox und Chrome lässt die gleiche Seite völlig kalt.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Firefox und Chrome gehören beim Bauen einer Website zum Pflichtprogramm, ein Blick in <a href="https://apps.gnome.org/de/Epiphany/">GNOME Web aka Epiphany</a> fällt dagegen gerne unter den Tisch. Bei mir nicht ganz, schließlich sitze ich auf einem GNOME-Desktop. Und so ist mir bei der Arbeit an <a href="https://planetfoss.net/">PlanetFOSS</a>, <a href="https://linuxundich.de/planetfoss-start-linux-nachrichten-buendel-supernova/">meinem kleinen Linux- und FOSS-Nachrichtensammler</a>, ein ausgewachsenes Speicherleck in <a href="https://webkitgtk.org/">WebKitGTK</a> vor die Füße gefallen.</p>



<p class="wp-block-paragraph">Die Startseite ließ Epiphany kurzerhand komplett einfrieren. Im Journal fand sich anschließend ein Speicherabzug des Webprozesses, und systemd hatte eine Speicherspitze von 5,8 GB notiert. Für eine Nachrichtenseite mit ein paar Kärtchen ist das in meinen Augen dann doch etwas viel. Ein Neustart brachte nichts: Epiphany stellt brav den PlanetFOSS-Tab wieder her und verschluckt sich prompt erneut.</p>



<h2 class="wp-block-heading">Auf Spurensuche</h2>



<p class="wp-block-paragraph">Ein Blick in die Paketchronik brachte den ersten Hinweis: Arch Linux hatte am 7. Oktober WebKitGTK, die Browser-Engine hinter Epiphany, auf Version 2.54 aktualisiert. Den Browser selbst konnte ich schnell entlasten. Der MiniBrowser, ein schlichter Testbrowser, der bei WebKitGTK mit dabei ist, lief mit der PlanetFOSS-Startseite innerhalb von Sekunden auf mehrere Gigabyte auf. Eine schlichte Beispielseite kommt dagegen mit 170 MB aus.</p>



<h2 class="wp-block-heading">Die Spur führt zum Sternchen</h2>



<p class="wp-block-paragraph">Bei der Fehlersuche hat mir eine KI unter die Arme gegriffen, die Eingrenzung lief dann ganz klassisch per Ausschlussverfahren. Ohne JavaScript hing die Seite weiterhin, ohne Stylesheet lief sie dagegen brav. Danach flog eine Gestaltungsregel nach der anderen raus, bis der Übeltäter feststand: <code>backdrop-filter</code>. Der <a href="https://developer.mozilla.org/de/docs/Web/CSS/Reference/Properties/backdrop-filter">zeichnet den Hintergrund hinter einem Element unscharf</a> und sorgt so für den beliebten Milchglas-Effekt.</p>



<p class="wp-block-paragraph">Den Effekt nutzt PlanetFOSS an mehreren Stellen, vor allem aber an den kleinen Merken-Sternchen oben links auf jeder Artikelkarte. Davon gibt es auf der Startseite 55 Stück, dazu acht Nachrichtenkarten und zehn Play-Symbole auf den Videos. Jedes dieser Elemente bekommt seine eigene Milchglas-Ebene. In der Masse geht WebKitGTK 2.54 dabei offenbar in die Knie. Kleines Sternchen, große Auswirkungen eben.</p>



<p class="wp-block-paragraph">Zur Gegenprobe habe ich mir eine Testseite mit lauter Kärtchen gebaut, jedes mit einem kleinen Milchglas-Element. Bei zehn bis 14 Karten blieb der Speicher im grünen Bereich, bei 18 Karten war schon rund ein Gigabyte belegt. Ab 22 Karten schoss der Verbrauch auf sieben bis acht Gigabyte. Irgendwo um die 20 Ebenen kippt die Sache also, ganz genau festnageln lässt sich die Grenze aber nicht.</p>



<p class="wp-block-paragraph">Spannend dabei: Am Weichzeichnen selbst liegt es gar nicht. Auch ein Milchglas ohne jede Unschärfe oder ein simpler Graufilter bläht WebKitGTK genauso auf. Das Problem steckt also darin, wie die neue Version solche Ebenen verwaltet. Schaltet man die Grafikbeschleunigung der Engine ab, bleibt die Testseite zwar schlank. Als Lösung taugt das aber nicht, schließlich kann ich meinen Besuchern schlecht vorschreiben, wie sie ihren Browser starten.</p>



<h2 class="wp-block-heading">Firefox und Chrome lässt das kalt</h2>



<p class="wp-block-paragraph">Bleibt die Frage, ob nur WebKitGTK betroffen ist. Dazu habe ich dieselbe Kopie der Startseite einmal mit der alten und einmal mit der neuen Gestaltung in verschiedenen Browsern geladen und jeweils den Speicherverbrauch gemessen. Das Ganze einmal auf meinem Arch-Notebook und einmal in einer virtuellen Maschine mit Ubuntu 26.04. Bilder und Texte waren in allen Durchgängen identisch.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b72c4b&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b72c4b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="745" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1280x745.webp" alt="Balkendiagramm: Speicherbedarf von WebKitGTK, Epiphany, Firefox und Chrome vor und nach dem CSS-Fix auf Arch Linux und in einer Ubuntu-VM" class="wp-image-48106" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1280x745.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-640x372.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-768x447.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch-1536x894.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/02-speicherverbrauch.webp 1650w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nur WebKitGTK 2.54 bläht sich mit dem alten Stylesheet auf, Firefox, Chrome und WebKitGTK 2.52 bleiben gelassen.</figcaption></figure>



<p class="wp-block-paragraph">Das Ergebnis ist eindeutig. Firefox und Chrome zeigen vorher und nachher praktisch den gleichen Verbrauch. Auch die ältere WebKitGTK-Version 2.52 von Ubuntu bleibt mit rund 680 MB völlig gelassen. Nur die Version 2.54 explodiert: Auf meinem Notebook kletterte der Speicherbedarf in 40 Sekunden auf 9,8 GB, nach dem Umbau der Seite waren es gerade einmal 300 MB.</p>



<p class="wp-block-paragraph">In der VM lief Epiphany als Flatpak, das die neue Engine gleich mitbringt. Dort blähte sich der Browser in einer Minute auf 4,3 GB auf, bis von gut 5 GB Arbeitsspeicher gerade noch 300 MB frei blieben. In einem früheren Durchgang warf der Tab gleich ganz das Handtuch: <em>Hoppla! Beim Anzeigen dieser Seite ging etwas schief</em>. Mit der neuen Gestaltung blieb es bei 721 MB.</p>



<h2 class="wp-block-heading">Deckender Hintergrund statt Milchglas</h2>



<p class="wp-block-paragraph">Die Lösung auf Seiten von PlanetFOSS ist unspektakulär. Sternchen, Nachrichtenkarten und Play-Symbole verzichten jetzt aufs Milchglas, dafür ist ihr Hintergrund einfach etwas weniger durchsichtig. Den Unterschied sieht man eigentlich nur, wenn man beide Versionen direkt nebeneinanderlegt und ganz genau hinschaut. Für ein paar Gigabyte weniger Speicherhunger ist das in meinen Augen ein mehr als fairer Tausch.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6af0015b73039&quot;}" data-wp-interactive="core/gallery" class="wp-block-gallery has-nested-images columns-default is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex">

<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7394f&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7394f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="738" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48107" src="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1280x738.webp" alt="Ausschnitt der PlanetFOSS-Startseite mit Lupe auf dem Merken-Stern einer Artikelkarte, alte Version mit Weichzeichner" class="wp-image-48107" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1280x738.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-640x369.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-768x443.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher-1536x886.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-vorher.webp 1560w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Vorher: Hinter dem Sternchen liegt ein Weichzeichner per backdrop-filter, damit bläht sich WebKitGTK 2.54 auf bis zu 9,8 GB auf.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b74316&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b74316" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="738" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" data-id="48108" src="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1280x738.webp" alt="Ausschnitt der PlanetFOSS-Startseite mit Lupe auf dem Merken-Stern einer Artikelkarte, neue Version ohne Weichzeichner" class="wp-image-48108" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1280x738.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-640x369.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-768x443.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher-1536x886.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/01-lupe-nachher.webp 1560w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Nachher: Ein deckenderer Hintergrund ersetzt den Weichzeichner, das Sternchen wird nur etwas dunkler, und WebKitGTK braucht 300 MB.</figcaption></figure>

</figure>



<p class="wp-block-paragraph">Seit ein paar Tagen ist die Änderung live, und der MiniBrowser kommt mit der echten Startseite wieder mit 213 MB aus. Den Milchglas-Effekt in der aufklappenden Rubrikenleiste und an den Quellen-Links im Aufmacher habe ich behalten. Das sind nur eine Handvoll Ebenen, und die bringen WebKit nicht aus dem Tritt. Auch linuxundich.de nutzt den Effekt nur an zwei Stellen und war deshalb nie betroffen.</p>



<p class="wp-block-paragraph">Alles in allem steckt das Problem klar in WebKitGTK 2.54 und nicht in meinem Stylesheet. Betroffen sind wohl alle Seiten, die genügend Elemente mit <code>backdrop-filter</code> verwenden. Von daher mein Rat an alle, die Websites bauen: Milchglas lieber sparsam dosieren und die Seite auch mal in Epiphany laden. Einen Fehlerbericht samt Testfall habe ich im WebKit-Bugzilla <a href="https://bugs.webkit.org/show_bug.cgi?id=328065">eingereicht</a>. Hoffentlich habe ich niemandem die Browsersitzung gekillt.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/webkitgtk-speicherleck-backdrop-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GNOME sucht Freiwillige für das Extensions-Team: EGO-Reviews ersticken in KI-Einreichungen</title>
		<link>https://linuxundich.de/gnome-sucht-freiwillige-fur-das-extensions-team/</link>
					<comments>https://linuxundich.de/gnome-sucht-freiwillige-fur-das-extensions-team/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 13 Oct 2026 16:25:55 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Extensions]]></category>
		<category><![CDATA[GNOME Shell]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Open Source]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48021</guid>

					<description><![CDATA[Javad Rahmatzadeh, der ehrenamtlich die Reviews für extensions.gnome.org stemmt, ruft zur Hilfe auf. Gesucht werden Reviewer, Mitstreiter für den Linter Shexli und Spenden.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer GNOME mit Shell-Erweiterungen nutzt, kennt <a href="https://extensions.gnome.org/">extensions.gnome.org</a>, kurz EGO, als zentrale Anlaufstelle. Jede Erweiterung wird dort vor der Veröffentlichung von Menschen geprüft. Und genau diese Menschen sind laut einem <a href="https://blogs.gnome.org/jrahmatzadeh/2026/10/12/help-ego-team/">Aufruf von Javad Rahmatzadeh</a> immer mehr am Limit. Der ganze Beitrag liest sich wie ein Hilferuf, und genau das ist er in meinen Augen auch.</p>



<p class="wp-block-paragraph">Javad kam 2020 zum Team, weil damals die Dokumentation für Shell-Erweiterungen fehlte. Also entstanden YouTube-Tutorials und später, auf Einladung von Sriram Ramkrishna und dessen Projekt GNOME Extensions Rebooted, der Port Guide für GNOME Shell 40. Der half vielen beim Umstieg von GTK3 auf GTK4, und ohne ihn hätten laut Javad etliche Autoren aufgegeben.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b772f3&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b772f3" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="927" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_-1280x927.webp" alt="Der Blogbeitrag auf blogs.gnome.org mit dem Titelbild Ecosystem, darunter die ersten Absätze über die Anfänge 2020." class="wp-image-48018" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_-1280x927.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_-640x464.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_-768x556.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_-1536x1113.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-aufruf-javad-blog.de_.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Javads Aufruf im GNOME-Blog beginnt mit dem Rückblick auf 2020, als die Dokumentation für Shell-Erweiterungen noch fehlte.</figcaption></figure>



<p class="wp-block-paragraph">Heute gibt es die gesamte <a href="https://gjs.guide/extensions/">Dokumentation</a>, die man für eigene Erweiterungen braucht. Trotzdem vibe-coden viele ihre Extensions und reichen sie bei EGO ein, ohne je einen Blick in die Doku geworfen zu haben. Javad fühlt sich deshalb, als füttere die Dokumentation eher die LLMs als menschliche Entwickler. Seit Anfang 2025 explodieren die Einreichungen, und die große Mehrheit ist KI-generiert.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b78186&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b78186" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="927" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_-1280x927.webp" alt="Browserfenster mit extensions.gnome.org, sortiert nach Beliebtheit: oben Lockscreen-Erweiterungen, im zweiten Tab der Aufruf für Freiwillige." class="wp-image-48019" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_-1280x927.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_-640x464.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_-768x556.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_-1536x1113.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extensions-ego-startseite.de_.webp 1597w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Auf extensions.gnome.org verteilen sich die Erweiterungen auf 332 Seiten, und jede davon hat vorher ein Mensch im Review geprüft.</figcaption></figure>



<p class="wp-block-paragraph">Javad beantwortet seit Jahren täglich Fragen und prüft Erweiterungen, oft 4 bis 10 Stunden am Tag. Das ist unbezahlt und entspricht locker einem Vollzeitjob, die monatlichen Spenden liegen dagegen nahe null. Die Folge: Javad steht nah am Burnout und schreibt, ohne finanzielle Unterstützung nicht mehr in diesem Tempo weitermachen zu können. Immerhin gab es 2026 den <a href="https://www.youtube.com/live/Q4O7dhreLDU?t=4081">GNOME Pants Award</a>.</p>



<p class="wp-block-paragraph">Das Hauptproblem ist die Qualität. Erweiterungen laufen direkt im Prozess der GNOME Shell, schlechter KI-Code gefährdet also die Stabilität des ganzen Desktops. Laut Javad erzeugen LLMs unnötig komplexen, schwer lesbaren Code, der im Review deutlich länger dauert. Manche Einreicher lassen sogar ihre Antworten von einer KI schreiben, und einmal landeten dabei versehentlich die Anweisungen an das Modell im Text.</p>



<p class="wp-block-paragraph">Einen Lichtblick gibt es allerdings: Javads <a href="https://blogs.gnome.org/jrahmatzadeh/2026/07/27/ego-ai-reference/">offener Brief an KI-Modelle</a> korrigierte konkrete Code-Muster, die die Modelle falsch erzeugten. Nach wenigen Wochen waren die meisten dieser Fehler verschwunden. Javad nimmt das als gute Nachricht, aber auch als Beweis dafür, wie stark die Dokumentation die Modelle füttert. Gelöst ist das Review-Problem damit nicht.</p>



<h2 class="wp-block-heading">Wer wird gesucht?</h2>



<ul class="wp-block-list">

<li><strong>Reviewer:</strong> Gefragt sind Entwickler mit Kenntnissen in GTK und im Quellcode der GNOME Shell. Die Rolle ist ehrenamtlich, die Verfügbarkeit unter der Woche sollte konstant sein. Javad bietet Mentoring an und bringt euch den Review-Prozess bei.</li>


<li><strong>Shexli-Helfer:</strong> Den <a href="https://github.com/NiffirgkcaJ/shexli-gnome-extension">Linter</a> gibt es seit ein paar Monaten, er soll Reviews erleichtern. Reviewer melden False Negatives und False Positives, und wer mithilft, behebt sie in Shexli. Gesucht wird jemand, der den Linter verbessert.</li>


<li><strong>Spender:</strong> Wer die Arbeit finanziell unterstützen möchte, findet die <a href="https://jrahmatzadeh.pages.gitlab.gnome.org/ego-donations/">Spendenseite</a>.</li>

</ul>



<p class="wp-block-paragraph">Wer im Review-Team mitmachen oder bei Shexli helfen möchte, meldet sich im Matrix-Kanal <a href="https://matrix.to/#/#extensions:gnome.org">#extensions:gnome.org</a>. Eine feste Frist nennt Javad nicht, wohl aber den Grund zur Eile: Ohne mehr Hilfe geht es in diesem Tempo nicht weiter. Meldet euch also lieber früher als später, auch für eine erste Rückfrage ohne feste Zusage.</p>



<p class="wp-block-paragraph">In meinen Augen ist das ein Weckruf für alle, die GNOME-Erweiterungen im Alltag nutzen. Ohne Reviewer gibt es keine geprüften Erweiterungen, und ohne geprüfte Erweiterungen fehlt vielen von uns ein gutes Stück GNOME. Wer Zeit und das nötige Know-how hat, sollte sich das also ernsthaft überlegen. Alle anderen können zumindest ein paar Euro in die Spendenkasse werfen.</p>



<h2 class="wp-block-heading">Räusper. Ich auch.</h2>



<p class="wp-block-paragraph">Ich muss gestehen, dass ich mich da selbst angesprochen fühle. Mit <a href="https://linuxundich.de/projekte/pulsgeber/">Pulsgeber</a> habe ich eine GNOME-Shell-Erweiterung geschrieben, die KI-unterstützt entstanden ist. Und ja, ich habe durchaus Respekt davor, sie bei EGO einzureichen. Der Gedanke, dass jemand den entstandenen Code Zeile für Zeile durchgehen muss, ist mir nicht ganz geheuer. Ich möchte niemandem Arbeit aufhalsen, schon gar nicht einem Team, das ohnehin am Limit läuft.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b793b3&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b793b3" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="855" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_-1280x855.webp" alt="Das TUXEDO Control Center im Hintergrund, rechts das geöffnete Schnellmenü mit der Kachel TCC-Profil und der Auswahl Default, Cool and breezy und Powersave extreme." class="wp-image-48020" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_-1280x855.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_-640x428.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_-768x513.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_.webp 1420w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Pulsgeber legt die TUXEDO-Profile ins die GNOME Quick Settings: Die Energieprofile des Geräts wählt ihr dann ohne Umweg über das Control Center.</figcaption></figure>



<p class="wp-block-paragraph">Trotzdem sollte man in meinen Augen nicht jeden KI-Beitrag als KI-Slop brandmarken. Solche Erweiterungen bringen vieles voran und ermöglichen Funktionen, die vorher außer Reichweite lagen. Entscheidend ist am Ende die Qualität des Codes, nicht das Werkzeug, mit dem er entstanden ist. Das Problem sind eher ungeprüfte Massen, nicht die KI an sich.</p>



<p class="wp-block-paragraph">Dahinter steckt für mich auch diese Frage: KI-Code ist schnell erzeugt, aber jemand muss ihn trotzdem lesen und prüfen. Das dürfte nicht nur EGO treffen, sondern jedes Projekt, das Beiträge von außen annimmt und vor der Veröffentlichung prüft. Wie seht ihr das: Ist die Flut an KI-Einreichungen auch bei anderen Plattformen ein Problem, und wie sollten Projekte damit umgehen?</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnome-sucht-freiwillige-fur-das-extensions-team/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title>Gnomos: Sonos-Lautsprecher am GNOME-Desktop steuern, auch alte Modelle</title>
		<link>https://linuxundich.de/gnomos-sonos-gnome-desktop/</link>
					<comments>https://linuxundich.de/gnomos-sonos-gnome-desktop/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 18:16:31 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Musik]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Sonos]]></category>
		<category><![CDATA[Streaming]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=48015</guid>

					<description><![CDATA[Gnomos ist ein freier Sonos-Client für GNOME mit GTK4 und libadwaita. Die App spielt Musik, gruppiert Räume und zeigt synchrone Liedtexte, ganz ohne Sonos-Konto. Auch Geräte der ersten Generation, die die offiziellen Apps nicht mehr unterstützen, bleiben damit steuerbar.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Seit Jahren stehen bei mir Sonos-Lautsprecher im Haus, nur unter Linux fehlte mir dazu eine passende Steuerung. Mit <a href="https://github.com/janbar/noson-app">Noson-App</a> gibt es zwar einen freien Sonos-Client. Ich bevorzuge allerdings Anwendungen, die sich ordentlich in den GNOME-Desktop integrieren, und da liegt bei Noson in meinen Augen noch viel Potenzial brach. Das ist keine Kritik am Projekt, nicht jeder Entwickler hat Lust sich mit GTK und GNOME herumzuplagen.</p>



<p class="wp-block-paragraph">Also habe ich mir selbst einen Client gebaut: Gnomos setzt auf GTK4 und libadwaita und soll sich wie ein ganz normaler Teil von GNOME anfühlen. Die aktuelle Version 0.28.5 könnt ihr als <a href="https://github.com/linuxundich/gnomos/releases/latest">Flatpak-Bundle auf GitHub</a> herunterladen und ausprobieren. Bei mir läuft das Programm schon eine ganze Weile, die schwerwiegendsten Bugs dürften von daher ausgeräumt sein.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7bdba&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7bdba" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="854" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.de_-1280x854.webp" alt="Das Gnomos-Fenster auf orangem Hintergrund zeigt das Album Breadcrumbs von Josh Woodward mit einem Seil-Knoten als Cover, darunter Titel, Fortschrittsbalken und Steuerung. Rechts stehen die Songtexte, die aktuelle Zeile ist rot hervorgehoben." class="wp-image-48008" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.de_-1280x854.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.de_-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.de_-768x512.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.de_.webp 1360w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Jetzt-läuft-Ansicht zeigt das Cover groß neben mitlaufenden Songtexten. Ein Klick auf eine Zeile springt im Lied dorthin.</figcaption></figure>



<p class="wp-block-paragraph">Auslöser waren meine älteren Geräte. Sonos hat den Support für Produkte der ersten Generation <a href="https://support.sonos.com/de-de/article/sonos-app-version-compatibility">eingestellt</a>, darunter die ZonePlayer ZP80, ZP90, ZP100 und ZP120 sowie die Fernbedienung CR100. Die Lautsprecher selbst laufen weiter, nur die aktuelle Android-App spielt nicht mehr mit. Gnomos spricht die alten Kisten direkt über das Heimnetz an, ein Sonos-Konto oder ein Cloud-Dienst ist dafür nicht nötig.</p>



<p class="wp-block-paragraph">Die Kommunikation mit den Lautsprechern übernimmt <a href="https://github.com/janbar/noson">noson</a>, die Bibliothek hinter der Noson-App. Darauf sitzt eine eigene Oberfläche, die sich an den aktuellen GNOME-Designprinzipien orientiert, anstatt die offiziellen Sonos-Apps oder das Vorbild Noson-App nachzubauen. Disclaimer vorweg: Bei der Entwicklung hat mir eine KI das Heavy-Lifting abgenommen. Architektur, technische Entscheidungen und Tests liegen allerdings bei mir.</p>



<h2 class="wp-block-heading">Jetzt läuft, mit Liedtext</h2>



<p class="wp-block-paragraph">Klickt ihr auf die Wiedergabeleiste am unteren Fensterrand, füllt der aktuelle Titel das ganze Fenster. Das Cover erscheint groß auf einem Hintergrund in dessen Farben. Daneben stehen die nächsten Titel der Warteschlange und, sofern ihr es einschaltet, synchrone Liedtexte von <a href="https://lrclib.net/">LRCLIB</a>. Ein Klick auf eine Zeile springt an die passende Stelle im Lied.</p>



<p class="wp-block-paragraph">Wer es nostalgisch mag, lässt das Cover als Schallplatte rotieren. Eine Spielerei, klar, aber ein nettes Detail. Dazu kommt ein Mini-Player im Posterstil: Das Cover füllt ein kleines, quadratisches Fenster. Die Bedienelemente blenden erst ein, wenn ihr mit der Maus darüberfahrt. So bleibt die Musik im Blick, ohne viel Platz auf dem Desktop zu belegen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7cb1c&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7cb1c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="929" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_-1280x929.webp" alt="Kleines quadratisches Gnomos-Fenster mit dem Breadcrumbs-Cover, darüber Titel, Fortschrittsbalken sowie Zurück-, Pause- und Weiter-Taste." class="wp-image-48009" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_-1280x929.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_-640x464.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_-768x557.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_-1536x1115.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-mini-player.de_.webp 1600w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Der Mini-Player füllt ein kleines Fenster mit dem Cover, die Bedienelemente liegen darüber und blenden bei Mausberührung ein.</figcaption></figure>



<h2 class="wp-block-heading">Alle Räume an einem Ort</h2>



<p class="wp-block-paragraph">Die Raumauswahl in der Kopfleiste zeigt, was gerade in welchem Zimmer läuft. Zieht ihr einen Raum auf einen anderen, gruppiert Gnomos beide, ein Klick löst die Gruppe wieder auf. Innerhalb einer Gruppe stellt ihr die Lautstärke pro Raum ein. Jedes Zimmer lässt sich zudem per Klick starten oder pausieren, ohne dass die Gruppe dafür aufgelöst werden muss.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7d5ff&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7d5ff" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="854" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-room-picker.de_-1280x854.webp" alt="Das Gnomos-Fenster mit geöffnetem Popover der Raumauswahl: Arbeitszimmer spielt Border Blaster, Schlafzimmer ist pausiert. Dahinter ist die Titelliste des Albums Breadcrumbs zu sehen." class="wp-image-48010" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-room-picker.de_-1280x854.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-room-picker.de_-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-room-picker.de_-768x512.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-room-picker.de_.webp 1360w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Raumauswahl zeigt, was in welchem Zimmer läuft. Räume lassen sich per Drag-and-drop gruppieren und einzeln pausieren oder starten.</figcaption></figure>



<p class="wp-block-paragraph">Auch die Warteschlange bearbeitet ihr direkt in der App. Titel verschiebt oder entfernt ihr, eine fertige Liste speichert ihr als Sonos-Playlist. Dazu kommen Favoriten und die Sonos-Alarme, die ihr anlegen, bearbeiten und duplizieren könnt. Einen Wiedergabeverlauf führt Sonos selbst nicht, von daher zeichnet Gnomos ihn lokal auf. Über jeden Eintrag findet ihr Interpret oder Album später wieder.</p>



<h2 class="wp-block-heading">Die ganze Musiksammlung</h2>



<p class="wp-block-paragraph">Gnomos durchsucht die Musikfreigabe im Netzwerk, Sonos-Favoriten und -Playlists, Internetradio und die Dienste, die ihr in Sonos verknüpft habt. Dazu zählen Spotify und über <a href="https://github.com/simojenki/bonob">bonob</a> auch <a href="https://www.navidrome.org/">Navidrome</a> oder andere Subsonic-Server. Große Bibliotheken öffnen sich zügig als Cover-Raster, wahlweise auch als Liste. Ein Live-Filter hilft bei langen Listen, Internetradio-Sender sucht ihr über <a href="https://www.radio-browser.info/">radio-browser.info</a> nach Name oder Land.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7e1a5&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7e1a5" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="854" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-album-grid.de_-1280x854.webp" alt="Das Gnomos-Fenster zeigt in der Bibliothek 1061 Alben als Raster aus Covern mit Titel und Interpret, links die Seitenleiste mit Warteschlange, Favoriten, Alarmen und Bibliothek, unten die Wiedergabeleiste." class="wp-image-48011" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-album-grid.de_-1280x854.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-album-grid.de_-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-album-grid.de_-768x512.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-album-grid.de_.webp 1360w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Auch große Musiksammlungen erscheinen als Cover-Raster, wahlweise lässt sich auf eine Liste umschalten. Ein Filterfeld grenzt die Auswahl ein.</figcaption></figure>



<h2 class="wp-block-heading">Teil des GNOME-Desktops</h2>



<p class="wp-block-paragraph">Gnomos unterstützt MPRIS2. Medientasten, Sperrbildschirm und der Player in den Schnelleinstellungen funktionieren daher sofort, inklusive Shuffle und Wiederholung. Optional gibt es eine kleine Shell-Erweiterung, die für jeden Raum einen eigenen Lautstärkeregler in die Schnelleinstellungen setzt. Sie steckt nicht im Flatpak, ihr installiert sie getrennt, die Anleitung dazu liegt im Repository. Dann regelt ihr die Räume, ohne die App zu öffnen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b7ebc9&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b7ebc9" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="853" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_-1280x853.webp" alt="Neben dem Gnomos-Fenster sind die GNOME-Schnelleinstellungen geöffnet. Unter Andere Räume stehen Regler für Arbeitszimmer, Schlafzimmer, Wohnzimmer und Bad, darunter die üblichen Schalter wie WLAN und Bluetooth." class="wp-image-48012" srcset="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_-1280x853.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_-640x427.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_-768x512.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_-1536x1024.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/gnomos-quick-settings.de_.webp 1620w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die optionale Shell-Erweiterung setzt für jeden Raum einen eigenen Lautstärkeregler in die Schnelleinstellungen von GNOME.</figcaption></figure>



<p class="wp-block-paragraph">Dazu kommen ein Dunkelmodus, Desktop-Benachrichtigungen bei Titelwechsel und Tastenkürzel für Wiedergabe, Lautstärke, Suche und aktuellen Titel. An den Lautsprechern selbst stellt ihr Bass, Höhen, Loudness, Nachtmodus und Subwoofer ein. Ein Dialog pro Raum zeigt Modell, IP- und MAC-Adresse sowie die Softwareversion, praktisch bei mehreren Geräten im Netz. Geräte der ersten Generation kennzeichnet die App mit einem eigenen Hinweis.</p>



<p class="wp-block-paragraph">Wie das alles zusammenspielt, seht ihr in einem kurzen Video, in dem ich Gnomos bei der Arbeit zeige und die wichtigsten Funktionen durchgehe.</p>



<figure class="wp-block-video"><video controls src="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-release-demo-intro.mp4"></video><figcaption class="wp-element-caption">Das Video zeigt synchrone Songtexte, das Gruppieren von Räumen, die Lautstärke in den Schnelleinstellungen und den Mini-Player.</figcaption></figure>



<p class="wp-block-paragraph">Für die Steuerung selbst verlässt Gnomos das Heimnetz nicht. Online fragt die App nur zwei Dinge ab: Liedtexte bei LRCLIB und Künstlerfotos über die öffentliche Deezer-API. Beides ist standardmäßig ausgeschaltet, ihr entscheidet in den Einstellungen selbst, ob ihr es nutzen wollt. Alles andere bleibt im eigenen Netzwerk, es gehen keine Daten an Dritte, auch nicht heimlich.</p>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">Gnomos gibt es bisher nur als Flatpak-Bundle. Mein Plan ist, die App auf Flathub zu bringen, dafür braucht es aber noch ein paar mehr Tester. Bis dahin ladet ihr <code>gnomos-&lt;Version&gt;-x86_64.flatpak</code> von der <a href="https://github.com/linuxundich/gnomos/releases/latest">Release-Seite</a> herunter und installiert die Datei mit diesem Befehl:</p>



<pre class="wp-block-code"><code>flatpak install --user gnomos-*.flatpak</code></pre>



<p class="wp-block-paragraph">Fehlt die GNOME-51-Laufzeit, holt Flatpak sie von Flathub nach. Bundles aktualisieren sich nicht von selbst, schaut also gelegentlich auf der Release-Seite nach neuen Versionen, denn Gnomos bekommt regelmäßig Korrekturen und neue Funktionen. Die Anleitung zum Selbstbauen, die Übersetzungen (Deutsch und Englisch sind dabei) und den Quellcode findet ihr im <a href="https://github.com/linuxundich/gnomos/">GitHub-Repository</a>. Gnomos steht unter der GPL-3.0.</p>



<h2 class="wp-block-heading">Noch nicht fertig</h2>



<p class="wp-block-paragraph">Ich teste Gnomos bisher nur mit meinem eigenen Sonos-Haushalt aus Geräten der ersten Generation. Andere Modelle, neuere Generationen und ungewöhnliche Konfigurationen kann ich nicht prüfen, von daher sind Rückmeldungen Gold wert. Gnomos ist noch vor Version 1.0, und an der einen oder anderen Ecke knirscht es sicher noch. Mehr zum Projekt steht auf der <a href="https://linuxundich.de/projekte/gnomos/">Projektseite</a>.</p>



<p class="wp-block-paragraph">Für mich ist Gnomos aber längst weit genug, dass ich es im Alltag einsetze. Habt ihr Sonos-Lautsprecher und einen GNOME-Desktop? Dann probiert die App aus und schreibt mir in den Kommentaren, was bei euch klappt und was nicht, gerne auch mit anderer Hardware als meiner. Fehler und Ideen könnt ihr außerdem als <a href="https://github.com/linuxundich/gnomos/issues">Issue auf GitHub</a> melden.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/gnomos-sonos-gnome-desktop/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		<enclosure url="https://linuxundich.de/wp-content/uploads/2026/10/gnomos-release-demo-intro.mp4" length="0" type="video/mp4" />

			</item>
		<item>
		<title>Pulsgeber: TUXEDO-Control-Center-Profile in den GNOME-Schnelleinstellungen</title>
		<link>https://linuxundich.de/pulsgeber-tuxedo-control-center-gnome-quick-settings/</link>
					<comments>https://linuxundich.de/pulsgeber-tuxedo-control-center-gnome-quick-settings/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Mon, 05 Oct 2026 18:21:02 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Erweiterung]]></category>
		<category><![CDATA[KI]]></category>
		<category><![CDATA[Projekte]]></category>
		<category><![CDATA[Pulsgeber]]></category>
		<category><![CDATA[Tuxedo]]></category>
		<category><![CDATA[TUXEDO Control Center]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=47924</guid>

					<description><![CDATA[Mit Pulsgeber wechselt ihr die Profile des TUXEDO Control Centers direkt aus den Schnelleinstellungen von GNOME. Meine kleine Shell-Erweiterung ist ab sofort in Version 0.4.0 auf GitHub zu haben.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wer ein Notebook von <a href="https://www.tuxedocomputers.com/">TUXEDO</a> besitzt, der kennt das <a href="https://www.tuxedocomputers.com/de/TUXEDO-Control-Center-TCC.tuxedo">TUXEDO Control Center</a>, kurz TCC. Über die grafische App legt ihr fest, wie schnell der Prozessor taktet, wie laut die Lüfter werden dürfen und welches Profil am Netzteil oder im Akkubetrieb gilt. Am besten spielt das Ganze natürlich mit <a href="https://www.tuxedocomputers.com/de/TUXEDO-OS_1.tuxedo">TUXEDO OS</a> zusammen, das genau auf die Geräte von TUXEDO abgestimmt ist.</p>



<p class="wp-block-paragraph">Nur bin ich schon seit Jahren mit Arch Linux und GNOME unterwegs, und daran soll sich auch auf meinem <a href="https://linuxundich.de/battery-health-charging-batterielebensdauer-unter-gnome-optimieren/">InfinityBook</a> nichts ändern. Auf die Steuerung der Hardware durch das TCC möchte ich trotzdem nicht verzichten. Von daher wollte ich seine Fähigkeiten auch unter GNOME optimal nutzen können, und zwar so, dass sie sich wie ein selbstverständlicher Teil des Desktops anfühlen.</p>



<p class="wp-block-paragraph">Herausgekommen ist Pulsgeber, eine kleine Erweiterung für die GNOME-Shell, die ab sofort in Version 0.4.0 bereitsteht. Bei der Entwicklung hat mir KI geholfen: Den Großteil des Codes hat sie geschrieben. Die Anforderungen und Entscheidungen von Name über Symbol bis zum Verhalten kamen dagegen von mir. Die Ergebnisse habe ich sorgfältig geprüft und die Erweiterung ausgiebig selbst auf meinem Notebook getestet.</p>



<h2 class="wp-block-heading">Was Pulsgeber macht</h2>



<p class="wp-block-paragraph">Unter GNOME fühlt sich das TCC nämlich ein wenig wie ein Gast an. Das Profilmenü steckt im <a href="https://linuxundich.de/gnome-48-und-das-alte-tray-problem-appindicator-erweiterung-mit-patch-fuer-arch-verfuegbar/">Tray-Icon</a> (das es eigentlich ja gar nicht geben sollte), und die Taste für das Control Center mit dem Kürzel <code>Super</code>+<code>Alt</code>+<code>F6</code> läuft unter Wayland ins Leere. Dazu funkt GNOMEs eigener Energiemodus dem TCC ständig dazwischen, denn power-profiles-daemon und der TCC-Dienst tccd schreiben dieselben Prozessoreinstellungen.</p>



<p class="wp-block-paragraph">Der tccd stellt sein Profil nach wenigen Sekunden wieder her, die Umstellung im GNOME-Menü hält also nur einen kurzen Augenblick. <a href="/projekte/pulsgeber/">Pulsgeber</a> räumt hier auf. Die Erweiterung setzt eine Pille „TCC-Profil“ in die Schnelleinstellungen, genau dorthin, wo GNOME sonst seine Energiemodi anzeigt. Ein Klick auf die Pille wechselt wie gewohnt zwischen dem Standardprofil und dem zuletzt gewählten.</p>



<p class="wp-block-paragraph">Das Menü daneben listet alle Profile aus dem TCC. Ein von Hand gewähltes Profil gilt dabei nur so lange, bis ihr das Netzteil ein- oder aussteckt. Danach übernimmt wieder das Profil, das ihr im TCC für Netz oder Akku hinterlegt habt. Was als Nächstes kommt, verrät euch der Kopf des Menüs, etwa „Bis Akkubetrieb, dann Cool and breezy“.</p>



<p class="wp-block-paragraph">Jedes Profil bekommt ein eigenes Symbol: ein Puls fürs Stromsparen, zwei für den Mittelweg, drei für volle Leistung und ein Puls über einem Schieberegler für eure eigenen Profile aus dem TCC. Auf Wunsch zeigt die obere Leiste das Symbol an, solange nicht das Standardprofil aktiv ist. So seht ihr auf einen Blick, wie schnell euer Notebook gerade tickt.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8155e&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8155e" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/pulsgeber-schnelleinstellungen-1.webp" alt="Die aktive Pille „TCC-Profil“ in den GNOME-Schnelleinstellungen, oben das Profilsymbol in der Leiste"/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Pille zeigt das aktive Profil, das Symbol in der oberen Leiste erscheint, sobald ein anderes als das Standardprofil läuft.</figcaption></figure>



<p class="wp-block-paragraph">In den Einstellungen blendet ihr außerdem GNOMEs Energiemodus aus, schaltet power-profiles-daemon auf Wunsch ganz ab und verhindert, dass das Tray des TCC überhaupt erst startet. Dazu legt ihr fest, welche Profile im Menü auftauchen und welches Symbol sie jeweils tragen. Die TCC-App braucht ihr dann nur noch, um Profile anzulegen und zu bearbeiten. Alle Schalter lassen sich jederzeit wieder zurückdrehen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b81963&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b81963" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/pulsgeber-einstellungen.webp" alt="Die Einstellungen von Pulsgeber mit Leistensymbol, Tray und Energiemodus."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Auf Wunsch schaltet ihr in den Einstellungen von Pulsgeber GNOMEs Energiemodus, den power-profiles-daemon und das Tray des TCC dauerhaft ab.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b81d04&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b81d04" class="wp-block-image wp-lightbox-container"><img decoding="async" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/10/pulsgeber-einstellungen-profile.webp" alt="Profile in den Einstellungen: im Menü zeigen und Symbol wählen."/><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Für jedes Profil aus dem TCC legt ihr fest, ob es im Menü erscheint und welches Symbol es dort bekommt.</figcaption></figure>



<p class="wp-block-paragraph">Das eigentliche Umschalten erledigt ohnehin der Systemdienst tccd, und mit dem spricht Pulsgeber direkt. Die App des Control Centers muss dafür also weder geöffnet sein noch im Hintergrund mitlaufen. Was das in der Praxis heißt, zeigt am besten das kurze Video: Ich wechsle darin die Profile über die Schnelleinstellungen, und das zur Kontrolle geöffnete TCC zieht jedes Mal direkt mit.</p>



<figure class="wp-block-video"><video controls src="https://linuxundich.de/wp-content/uploads/2026/10/pulsgeber-demo-3.mp4"></video><figcaption class="wp-element-caption">Im Video wechsle ich die Profile über die Schnelleinstellungen von GNOME, und das geöffnete TUXEDO Control Center zieht stets mit.</figcaption></figure>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">Pulsgeber benötigt GNOME 50 oder 51 sowie das TUXEDO Control Center samt seinem Dienst tccd. Getestet habe ich die Erweiterung bislang auf einem InfinityBook S 17 Gen6 mit GNOME 50.5 unter Arch Linux. Mein Ziel ist es, Pulsgeber auf <a href="https://extensions.gnome.org/">GNOME Extensions</a> zu veröffentlichen. Bevor ich die Erweiterung dort einreiche, möchte ich allerdings erst einmal ein wenig Feedback von euch sammeln.</p>



<p class="wp-block-paragraph">Daher gibt es Pulsgeber vorerst nur über GitHub. Ladet euch das ZIP-Paket <code>pulsgeber@linuxundich.de.shell-extension.zip</code> von der <a href="https://github.com/linuxundich/pulsgeber/releases/latest">Release-Seite</a> herunter und installiert es im Terminal:</p>



<pre class="wp-block-code"><code>$ gnome-extensions install pulsgeber@linuxundich.de.shell-extension.zip</code></pre>



<p class="wp-block-paragraph">Nach dem Ab- und wieder Anmelden aktiviert ihr die Erweiterung:</p>



<pre class="wp-block-code"><code>$ gnome-extensions enable pulsgeber@linuxundich.de</code></pre>



<p class="wp-block-paragraph">Pulsgeber spricht Deutsch und Englisch und richtet sich nach der Sprache eures Desktops. Den Quellcode findet ihr im <a href="https://github.com/linuxundich/pulsgeber">GitHub-Repository</a>, Übersetzungen in weitere Sprachen nehme ich dort gerne entgegen. Das Control Center selbst ist ebenfalls freie Software, die Quellen liegen bei <a href="https://github.com/tuxedocomputers/tuxedo-control-center">TUXEDO auf GitHub</a>. Weitere Screenshots und Antworten auf die wichtigsten Fragen findet ihr auf der <a href="/projekte/pulsgeber/">Projektseite von Pulsgeber</a>.</p>



<p class="wp-block-paragraph">Bei mir hat Pulsgeber das Tray-Icon des TCC komplett abgelöst: Akkubetrieb unterwegs, volle Leistung am Schreibtisch, und das ohne einmal das Control Center öffnen zu müssen. Nutzt ihr ein TUXEDO-Notebook mit GNOME? Dann probiert die Erweiterung aus und schreibt mir, was euch noch fehlt oder wo es hakt – entweder hier in den Kommentaren oder als <a href="https://github.com/linuxundich/pulsgeber/issues">Issue auf GitHub</a>.</p>



<p class="wp-block-paragraph"><em>Transparenzhinweis: Ich <a href="https://linuxundich.de/ab-nach-augsburg-ab-zu-tuxedo/">arbeite für TUXEDO Computers</a>. Pulsgeber ist allerdings ein privates Projekt, das in meiner Freizeit entstanden ist. Es ist kein Produkt von TUXEDO und erhält keinen offiziellen Support von TUXEDO.</em></p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/pulsgeber-tuxedo-control-center-gnome-quick-settings/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://linuxundich.de/wp-content/uploads/2026/10/pulsgeber-demo-3.mp4" length="0" type="video/mp4" />

			</item>
		<item>
		<title>Netzwerkfreigaben automatisch einhängen: Was beim NetworkManager-Dispatcher schiefgehen kann</title>
		<link>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/</link>
					<comments>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 21 Aug 2026 16:11:08 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Homelab]]></category>
		<category><![CDATA[NetworkManager]]></category>
		<category><![CDATA[Netzwerk]]></category>
		<category><![CDATA[Tipps]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45301</guid>

					<description><![CDATA[Eigentlich sollte das Mount-Skript nur eine Sache erledigen: die Samba-Freigabe einhängen, wenn ich zu Hause bin. Am Ende hat es mir Shutdown, Resume und Standby zerschossen – und mir einiges über D-Zustand-Prozesse und den Linux-Freezer beigebracht.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Ihr kennt das vielleicht: Zu Hause läuft ein NAS oder ein Cloud-Speicher, den ihr per Samba oder WebDAV einbindet. Aber nur, wenn ihr auch wirklich im Heimnetz seid – niemand will im Café warten, weil der Laptop verzweifelt versucht, eine Freigabe zu mounten, die gerade schlicht nicht erreichbar ist.</p>



<p class="wp-block-paragraph">Die naheliegende Lösung: <code>/etc/fstab</code> plus ein Dispatcher-Skript für NetworkManager, das anhand von SSID oder Server-Erreichbarkeit automatisch mountet. Klingt nach einer Feierabend-Sache. Ist es aber nicht ganz – ich bin dabei über drei Stolperfallen gestolpert, die einem erst auffallen, wenn der Rechner runterfährt, aufwacht oder in den Standby soll. Genau die drei nehme ich hier mit euch durch.</p>



<p class="wp-block-paragraph">Getestet habe ich das Ganze auf Arch Linux, aber das Setup ist nicht Arch-spezifisch: Solange eure Distribution systemd und NetworkManager mitbringt – also etwa auch Fedora, Ubuntu, Debian oder openSUSE –, funktioniert alles hier eins zu eins.</p>



<h3 class="wp-block-heading">Der Grundaufbau</h3>



<p class="wp-block-paragraph">Netzwerkfreigaben bekommen in der fstab klassischerweise <code>noauto</code>, damit sie beim Boot nicht sofort, sondern erst bei Bedarf eingehängt werden:</p>



<pre class="wp-block-code"><code>//server/home /mnt/server/home cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev 0 0
//server/data /mnt/server/data cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev 0 0</code></pre>



<p class="wp-block-paragraph">Für den Mount-Typ selbst gibt&#8217;s je nach Protokoll gute Anleitungen im Arch Wiki, etwa zu <a href="https://wiki.archlinux.org/title/Samba">Samba/CIFS</a> und zu <a href="https://wiki.archlinux.org/title/Davfs2">davfs2 für WebDAV</a> – beide funktionieren unabhängig von der Distribution, solange <em>cifs-utils</em> beziehungsweise <em>davfs2</em> installiert sind.</p>



<p class="wp-block-paragraph">Das eigentliche Mounten übernimmt dann ein Skript unter <code>/etc/NetworkManager/dispatcher.d/</code>. NetworkManager ruft solche Skripte bei jeder Verbindungsänderung auf und übergibt Interface und Status (up, down, pre-down und ein paar weitere) mit – alle Details dazu stehen in der <a href="https://man.archlinux.org/man/NetworkManager-dispatcher.8.en">NetworkManager-dispatcher-Manpage</a>. Ein simples Skript prüft die aktive WLAN-SSID und mountet, wenn&#8217;s passt:</p>



<pre class="wp-block-code"><code>#!/bin/bash
IFACE="$1"
STATUS="$2"

case "$STATUS" in
    up)
        SSID=$(nmcli -t -f active,ssid dev wifi | awk -F: '$1 == "yes" {print $2; exit}')
        if &#91;&#91; "$SSID" == "MeinHeimnetz" ]]; then
            mount /mnt/server/home
            mount /mnt/server/data
        fi
        ;;
    down)
        umount /mnt/server/home
        umount /mnt/server/data
        ;;
esac</code></pre>



<p class="wp-block-paragraph">Fertig, oder? Nicht ganz. Sobald ihr das System runterfahrt, aus dem Standby weckt oder in den Standby schickt, zeigt sich, dass die Sache Tücken hat.</p>



<h3 class="wp-block-heading">Warum nicht einfach GVfs?</h3>



<p class="wp-block-paragraph">Ihr fragt euch jetzt vielleicht, wieso ich mir das mit fstab und Dispatcher-Skripten überhaupt antue – GNOME bietet über „Mit Server verbinden“ im Dateimanager doch einen viel einfacheren Weg, Netzwerkfreigaben per SMB oder WebDAV einzubinden. Genau da liegt für mich das Problem.</p>



<p class="wp-block-paragraph">Solche Mounts laufen nicht über den Kernel, sondern über GVfs, GNOMEs virtuelles Dateisystem. Programme, die die GIO-Bibliothek nutzen – fast alle GTK-Anwendungen, allen voran der Dateimanager selbst –, sprechen Freigaben direkt über eigene URIs wie <code>smb://</code> oder <code>dav://</code> an und zeigen entsprechend auch Vorschaubilder und Metadaten korrekt an. Für Programme, die das nicht können, blendet GVfs die Freigabe zusätzlich unter <code>/run/user/&lt;uid&gt;/gvfs</code> als ganz normalen Pfad ein. Diese Brücke läuft tatsächlich über FUSE – GVfs selbst ist zwar kein klassisches FUSE-Dateisystem, sondern eine eigene Architektur mit Daemon-Prozessen pro Protokoll, stellt aber genau für diesen Fall über gvfsd-fuse einen POSIX-kompatiblen Pfad bereit.</p>



<p class="wp-block-paragraph">Genau diese Brücke ist bei mir der Knackpunkt: Nicht jedes Programm kommt damit zuverlässig klar. Konkret zeigt sich das bei mir in einem Markdown-Editor, in den ich auch Bilder für Artikel einbinde. Der Dateimanager zeigt die Bilder auf dem Netzlaufwerk ganz normal an, weil er GVfs nativ spricht. Der Markdown-Editor dagegen zeigt für dasselbe Bild nur einen Platzhalter – die Einbindung über den FUSE-Pfad funktioniert schlicht nicht zuverlässig, obwohl die Datei nachweislich da ist.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b85789&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b85789" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="720" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1280x720.webp" alt="Zwei Fenster sind auf einem Computerbildschirm geöffnet. Links ist ein Texteditor mit einer Datei, die einen strukturierten Text mit Überschriften und Absätzen zeigt. Rechts befindet sich ein Dokumentenbetrachter mit einem längeren Fließtext, der ebenfalls Absätze und eine Überschrift enthält. Im Hintergrund ist ein Desktop mit einem Verlauf aus dunklen und violetten Farbtönen sichtbar. Die Benutzeroberfläche zeigt oben eine Menüleiste mit Symbolen und Uhrzeit." class="wp-image-45299" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1280x720.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-640x360.webp 640w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-1536x864.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-2048x1152.webp 2048w, https://linuxundich.de/wp-content/uploads/2026/08/apostrophe-webdav-bild-768x432.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>



<p class="wp-block-paragraph">Ein klassischer Kernel-Mount über CIFS oder davfs2, wie im Rest dieses Artikels beschrieben, taucht dagegen als ganz normaler, stabiler POSIX-Pfad im Dateisystem auf – ohne Sonderbehandlung, für jedes Programm gleich. Der Mehraufwand mit fstab und Dispatcher-Skripten zahlt sich also gerade dann aus, wenn ihr Freigaben nicht nur im Dateimanager, sondern in ganz unterschiedlichen Anwendungen zuverlässig nutzen wollt.</p>



<h3 class="wp-block-heading">Problem 1: Der Rechner fährt nicht mehr sauber runter</h3>



<p class="wp-block-paragraph">Fehlt in der fstab die Option _netdev, weiß systemd nicht, dass es sich hier um eine Netzwerkfreigabe handelt. Beim Shutdown kann es dann passieren, dass systemd versucht auszuhängen, <em>nachdem</em> das Netzwerk schon weg ist – der umount blockiert, bis der Job-Timeout greift, und euer System hängt beim Herunterfahren fest.</p>



<p class="wp-block-paragraph"><a href="https://wiki.archlinux.org/title/Fstab#Remote_filesystem">_netdev</a> behebt das, weil systemd damit die richtige Reihenfolge kennt: erst aushängen, dann Netzwerk kappen. Wichtig ist außerdem, dass ein Dispatcher-Skript nicht nur auf down, sondern auf pre-down reagiert – der Status feuert, bevor die Verbindung wirklich fällt, während down schon danach kommt und für ein sauberes Aushängen zu spät ist. Damit das klappt, braucht es zusätzlich einen Symlink im Unterordner <code>pre-down.d/</code>.</p>



<h3 class="wp-block-heading">Problem 2: Nach dem Aufwachen hängt sich der Dateimanager auf</h3>



<p class="wp-block-paragraph">Ein mount-Aufruf für CIFS oder WebDAV läuft im Kernel und kann bei nicht erreichbarem Server ziemlich lange blockieren – gerade kurz nach dem Aufwachen, wenn DNS oder Routing noch nicht ganz da sind. NetworkManager wartet standardmäßig synchron, bis so ein Dispatcher-Skript fertig ist, bevor es weitermacht. Hängt der mount-Aufruf, hängt bei euch plötzlich auch der Dateimanager oder die Netzwerkanzeige, weil die vom Verbindungsstatus abhängen.</p>



<p class="wp-block-paragraph">Die Lösung: Mount-Versuche einfach im Hintergrund laufen lassen, damit das Dispatcher-Skript selbst sofort zurückkehrt, egal wie lange der eigentliche Mount braucht.</p>



<pre class="wp-block-code"><code>run_async() {
    ( "$@" ) &amp;&gt;/dev/null &amp;
    disown
}</code></pre>



<h3 class="wp-block-heading">Problem 3: Der Standby funktioniert plötzlich nicht mehr</h3>



<p class="wp-block-paragraph">Und hier wird&#8217;s spannend. Mit der Lösung aus Problem 2 stolpert ihr in ein neues, deutlich fieseres Problem, das sich in meinem Fall so äußerte: Der Bildschirm geht aus, aber Tastaturbeleuchtung und LEDs bleiben an – ihr müsst hart abschalten. Was war passiert?</p>



<p class="wp-block-paragraph">Der mount-Syscall für CIFS oder davfs blockiert bei nicht erreichbarem Server im sogenannten <a href="https://eklitzke.org/uninterruptible-sleep">D-Zustand (uninterruptible sleep)</a> – einem Zustand, den kein Signal unterbricht, auch SIGKILL nicht. Bevor der Kernel sich tatsächlich schlafen legt, versucht er, alle Prozesse einzufrieren. Ein Prozess im D-Zustand lässt sich aber nicht einfrieren, und der ganze Standby hängt fest, bis die Netzwerkoperation im Kernel von selbst aufgibt – das kann durchaus ein paar Minuten dauern.</p>



<p class="wp-block-paragraph">Weil die Mount-Versuche aus Problem 2 jetzt länger im Hintergrund weiterlaufen, steigt eben auch die Chance, dass genau in dem Moment, in dem ihr in Standby gehen wollt, so ein blockierender Verbindungsversuch gerade aktiv ist.</p>



<p class="wp-block-paragraph">Der zuverlässige Ausweg: Vor jedem mount erst mit einem echten Userspace-Verbindungstest prüfen, ob der Server überhaupt erreichbar ist – so einer lässt sich per Timeout wirklich abbrechen, zum Beispiel über Bashs eingebautes /dev/tcp:</p>



<pre class="wp-block-code"><code>tcp_reachable() {
    local HOST="$1"
    local PORT="$2"
    local TIMEOUT_SECONDS="${3:-2}"
    timeout "${TIMEOUT_SECONDS}s" bash -c "echo &gt;/dev/tcp/${HOST}/${PORT}" &amp;&gt;/dev/null
}</code></pre>



<p class="wp-block-paragraph">Nur wenn der Test klappt, folgt der eigentliche mount. Damit landet ihr so gut wie nie mehr im riskanten, blockierenden Kernel-Connect, weil ihr zu dem Zeitpunkt schon wisst, dass der Server da ist.</p>



<h3 class="wp-block-heading">Die Kombination, die bei mir funktioniert</h3>



<p class="wp-block-paragraph">Am Ende braucht ein robustes Setup vier Zutaten:</p>



<ul class="wp-block-list">
<li><strong>_netdev</strong> in der fstab, damit systemd Netzwerkfreigaben beim Herunterfahren richtig einordnet.</li>



<li><strong>pre-down-Handling</strong> samt Symlink in pre-down.d/, damit das Aushängen garantiert vor dem Verbindungsabbau passiert – mit Timeout und Lazy-Unmount als Backup, falls der normale umount mal zickt.</li>



<li><strong>Asynchrone Mounts</strong> im up-Fall, damit NetworkManager und alles, was davon abhängt, nicht blockiert.</li>



<li><strong>Ein Erreichbarkeitstest</strong> vor jedem mount, damit der eigentliche, potenziell blockierende Kernel-Connect gar nicht erst passiert.</li>
</ul>



<p class="wp-block-paragraph">Dazu noch ein kleiner Healthcheck per systemd-Timer, der ein paar Minuten nach dem Boot und danach regelmäßig nachschaut, ob die Freigaben wirklich da sind, und notfalls nachhilft. Praktisch, falls der auslösende Netzwerk-Event mal zu früh oder zu spät kommt.</p>



<h3 class="wp-block-heading">Alle Dateien im Überblick</h3>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b86b4f&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b86b4f" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1246" height="884" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper.webp" alt="Ein Computerbildschirm zeigt ein Terminalfenster mit schwarzem Hintergrund und weißer Schrift. Im oberen Bereich ist eine Baumstruktur der Verzeichnisse und Dateien unter '/etc/NetworkManager/dispatcher.d' zu sehen. Die Struktur enthält mehrere Unterverzeichnisse und Shell-Skripte. Links sind Zeitstempel und Befehle sichtbar, rechts die jeweiligen Ausgaben. Das Fenster ist von einer grauen Menüleiste umrahmt." class="wp-image-45300" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper.webp 1246w, https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper-640x454.webp 640w, https://linuxundich.de/wp-content/uploads/2026/08/nm-dispatcher-helper-768x545.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">So sieht der Spaß bei mir aus: Der NetworkManager-Dispatcher hängt Freigaben automatisch ein, sobald er den passenden Server im Netzwerk findet oder sich per WLAN zu einer bestimmten SSID verbindet.</figcaption></figure>



<p class="wp-block-paragraph">Damit ihr das Ganze direkt nachbauen könnt, hier der komplette Satz an Dateien. Ich habe die Beispielnamen aus meinem eigenen Setup (ein Samba-Server namens bender, WebDAV via tuxedo) durch generische Platzhalter ersetzt – die müsst ihr natürlich an eure eigene Umgebung anpassen.</p>



<p class="wp-block-paragraph"><strong>/etc/fstab</strong> – die beiden Freigaben, einmal Samba, einmal WebDAV:</p>



<pre class="wp-block-code"><code>//server/home /mnt/server/home cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev,x-systemd.mount-timeout=15s,soft 0 0
//server/data /mnt/server/data cifs credentials=/etc/samba/server.credentials,rw,uid=1000,gid=100,noauto,_netdev,x-systemd.mount-timeout=15s,soft 0 0
https://cloud.example.com/remote.php/dav/files/user /mnt/webdav davfs noauto,_netdev,uid=1000,gid=100,x-systemd.automount,x-systemd.idle-timeout=300,x-systemd.mount-timeout=15s 0 0</code></pre>



<p class="wp-block-paragraph">Die fstab referenziert die Zugangsdaten nur, gespeichert werden sie in eigenen Dateien – schon damit das Passwort nicht im Klartext in einer Datei steht, die jeder lesen kann.</p>



<p class="wp-block-paragraph"><strong>/etc/samba/server.credentials</strong> – Zugangsdaten für die Samba-Freigabe:</p>



<pre class="wp-block-code"><code>username=maxmuster
password=GeheimesPasswort123</code></pre>



<p class="wp-block-paragraph"><strong>/etc/davfs2/secrets</strong> – Zugangsdaten für die WebDAV-Freigabe, referenziert wird hier der Mountpunkt statt einer Option in der fstab:</p>



<pre class="wp-block-code"><code>/mnt/webdav maxmuster GeheimesPasswort123</code></pre>



<p class="wp-block-paragraph">Beide Dateien gehören root und dürfen für niemand sonst lesbar sein:</p>



<pre class="wp-block-code"><code>$ sudo chmod 600 /etc/samba/server.credentials /etc/davfs2/secrets
$ sudo chown root:root /etc/samba/server.credentials /etc/davfs2/secrets</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh</strong> – die gemeinsame Bibliothek, die alle anderen Skripte einbinden:</p>



<pre class="wp-block-code"><code>#!/bin/bash
log() {
    &#91;&#91; "$DEBUG" == "1" ]] &amp;&amp; logger -t "$LOG_TAG" -- "$1"
}

run_async() {
    ( "$@" ) &amp;&gt;/dev/null &amp;
    disown
}

tcp_reachable() {
    local HOST="$1"
    local PORT="$2"
    local TIMEOUT_SECONDS="${3:-2}"
    timeout "${TIMEOUT_SECONDS}s" bash -c "echo &gt;/dev/tcp/${HOST}/${PORT}" &amp;&gt;/dev/null
}

mount_with_retry() {
    local MOUNT="$1"
    local MAX_ATTEMPTS="${2:-3}"
    local SLEEP_SECONDS="${3:-2}"
    local MOUNT_TIMEOUT="${4:-10}"

    if mountpoint -q "$MOUNT"; then
        log "$MOUNT ist bereits eingehängt"
        return 0
    fi

    log "Hänge $MOUNT ein"

    local OUT ATTEMPT
    for ((ATTEMPT = 1; ATTEMPT &lt;= MAX_ATTEMPTS; ATTEMPT++)); do
        if OUT=$(timeout "${MOUNT_TIMEOUT}s" mount "$MOUNT" 2&gt;&amp;1); then
            log "$MOUNT erfolgreich eingehängt"
            return 0
        fi
        log "Versuch $ATTEMPT/$MAX_ATTEMPTS für $MOUNT fehlgeschlagen (evtl. Timeout nach ${MOUNT_TIMEOUT}s): $OUT"
        &#91;&#91; "$ATTEMPT" -lt "$MAX_ATTEMPTS" ]] &amp;&amp; sleep "$SLEEP_SECONDS"
    done

    log "Alle Versuche für $MOUNT fehlgeschlagen"
    return 1
}

umount_with_fallback() {
    local MOUNT="$1"
    local TIMEOUT_SECONDS="${2:-5}"

    if ! mountpoint -q "$MOUNT"; then
        log "$MOUNT ist nicht eingehängt"
        return 0
    fi

    log "Hänge $MOUNT aus"

    if timeout "${TIMEOUT_SECONDS}s" umount "$MOUNT"; then
        log "$MOUNT erfolgreich ausgehängt"
        return 0
    fi

    log "Normaler Unmount von $MOUNT fehlgeschlagen, versuche Lazy Unmount"
    if umount -l "$MOUNT"; then
        log "$MOUNT per Lazy Unmount ausgehängt"
        return 0
    fi

    log "$MOUNT konnte nicht ausgehängt werden"
    return 1
}</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/90-server-mount</strong> – Samba-Freigabe, gebunden an eine bestimmte WLAN-SSID oder ans Kabelnetz:</p>



<pre class="wp-block-code"><code>#!/bin/bash

DEBUG=1
LOG_TAG="server-mount"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

IFACE="$1"
STATUS="$2"

MOUNTS=(
    "/mnt/server/home"
    "/mnt/server/data"
)

mount_server() {
    if ! tcp_reachable server 445 2; then
        log "server auf Port 445 nicht erreichbar, überspringe Mount-Versuch"
        return 1
    fi

    for MOUNT in "${MOUNTS&#91;@]}"; do
        mount_with_retry "$MOUNT" 3 2 10
    done
}

umount_server() {
    for MOUNT in "${MOUNTS&#91;@]}"; do
        umount_with_fallback "$MOUNT" 5
    done
}

log "Dispatcher gestartet: Interface=$IFACE, Status=$STATUS"

case "$STATUS" in
    up)
        if &#91;&#91; "$IFACE" == wl* ]]; then
            SSID=$(nmcli -t -f active,ssid dev wifi |
                awk -F: '$1 == "yes" {print $2; exit}')

            log "Aktive WLAN-SSID: $SSID"

            if &#91;&#91; "$SSID" == "MeinHeimnetz" ]]; then
                run_async mount_server
            fi

        elif &#91;&#91; "$IFACE" == enp* || "$IFACE" == eth* ]]; then
            run_async mount_server
        fi
        ;;

    pre-down|vpn-pre-down)
        log "Netzwerkverbindung wird beendet – Mounts aushängen"
        umount_server
        ;;
esac

log "Dispatcher beendet"
exit 0</code></pre>



<p class="wp-block-paragraph"><strong>/etc/NetworkManager/dispatcher.d/90-webdav-mount</strong> – WebDAV-Freigabe, die einfach nur einen erreichbaren Cloud-Server voraussetzt:</p>



<pre class="wp-block-code"><code>#!/bin/bash

DEBUG=1
LOG_TAG="webdav-mount"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

IFACE="$1"
STATUS="$2"

MOUNTPOINT="/mnt/webdav"
HOST="cloud.example.com"

mount_webdav() {
    if ! tcp_reachable "$HOST" 443 3; then
        log "$HOST auf Port 443 nicht erreichbar, überspringe Mount-Versuch"
        return 1
    fi

    mount_with_retry "$MOUNTPOINT" 3 2 10
}

log "Dispatcher gestartet: Interface=$IFACE, Status=$STATUS"

case "$STATUS" in
    up)
        run_async mount_webdav
        ;;

    pre-down|vpn-pre-down)
        log "Netzwerkverbindung wird beendet – Mount aushängen"
        umount_with_fallback "$MOUNTPOINT" 5
        ;;
esac

log "Dispatcher beendet"
exit 0</code></pre>



<p class="wp-block-paragraph">Für beide Skripte braucht ihr zusätzlich noch die passenden Symlinks, damit pre-down garantiert vor dem Verbindungsabbau feuert:</p>



<pre class="wp-block-code"><code>$ sudo ln -s /etc/NetworkManager/dispatcher.d/90-server-mount 
             /etc/NetworkManager/dispatcher.d/pre-down.d/90-server-mount
$ sudo ln -s /etc/NetworkManager/dispatcher.d/90-webdav-mount 
             /etc/NetworkManager/dispatcher.d/pre-down.d/90-webdav-mount</code></pre>



<p class="wp-block-paragraph"><strong>/usr/local/bin/mount-healthcheck.sh</strong> – das Sicherheitsnetz, das regelmäßig nachschaut:</p>



<pre class="wp-block-code"><code>#!/bin/bash
DEBUG=1
LOG_TAG="mount-healthcheck"

LIB="/etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh"
if &#91;&#91; -r "$LIB" ]]; then
    source "$LIB"
else
    logger -t "$LOG_TAG" -- "Bibliothek $LIB nicht gefunden, breche ab"
    exit 1
fi

log "Healthcheck gestartet"

SSID=$(nmcli -t -f active,ssid dev wifi 2&gt;/dev/null |
    awk -F: '$1 == "yes" {print $2; exit}')

if &#91;&#91; "$SSID" == "MeinHeimnetz" ]] || ping -c 1 -W 1 server &gt;/dev/null 2&gt;&amp;1; then
    mount_with_retry "/mnt/server/home" 2 3
    mount_with_retry "/mnt/server/data" 2 3
else
    log "server im aktuellen Netz nicht erreichbar, überspringe"
fi

mount_with_retry "/mnt/webdav" 2 3

log "Healthcheck beendet"
exit 0</code></pre>



<p class="wp-block-paragraph"><strong>/etc/systemd/system/mount-healthcheck.service</strong> und <strong>mount-healthcheck.timer</strong> – Systemd-Einheiten, die das Healthcheck-Skript 60 Sekunden nach dem Boot und danach alle 10 Minuten anstoßen:</p>



<pre class="wp-block-code"><code>&#91;Unit]
Description=Prueft und stellt Netzwerk-Mounts sicher
After=network-online.target
Wants=network-online.target

&#91;Service]
Type=oneshot
TimeoutStartSec=120
ExecStart=/usr/local/bin/mount-healthcheck.sh</code></pre>



<pre class="wp-block-code"><code>&#91;Unit]
Description=Fuehrt den Mount-Healthcheck 60s nach Boot und danach alle 10 Minuten aus

&#91;Timer]
OnBootSec=60s
OnUnitActiveSec=10min
AccuracySec=30s

&#91;Install]
WantedBy=timers.target</code></pre>



<p class="wp-block-paragraph">Aktivieren nicht vergessen:</p>



<pre class="wp-block-code"><code>$ sudo systemctl daemon-reload
$ sudo systemctl enable --now mount-healthcheck.timer</code></pre>



<p class="wp-block-paragraph"><strong>/usr/lib/systemd/system-sleep/90-cancel-network-mounts</strong> – optionales Sicherheitsnetz vor dem Suspend:</p>



<pre class="wp-block-code"><code>#!/bin/bash
case "$1/$2" in
    pre/*)
        logger -t sleep-mount-guard "Breche evtl. laufende Netzwerk-Mount-Versuche vor Suspend ab"
        pkill -9 -f 'mount.cifs' 2>/dev/null
        pkill -9 -f 'mount.davfs' 2>/dev/null
        ;;
esac

exit 0</code></pre>



<p class="wp-block-paragraph">Alle Skripte müssen ausführbar sein:</p>



<pre class="wp-block-code"><code>$ sudo chmod +x /etc/NetworkManager/dispatcher.d/lib/mount-helpers.sh 
              /etc/NetworkManager/dispatcher.d/90-server-mount 
              /etc/NetworkManager/dispatcher.d/90-webdav-mount 
              /usr/local/bin/mount-healthcheck.sh 
              /usr/lib/systemd/system-sleep/90-cancel-network-mounts</code></pre>



<h3 class="wp-block-heading">Lange Rede, kurzer Sinn</h3>



<p class="wp-block-paragraph">Automatisches Einhängen von Netzwerkfreigaben über NetworkManager funktioniert gut, ist aber kein Fünf-Minuten-Job, wie es die Doku vermuten lässt. Wenn ihr nur den mount-Befehl in ein up-Skript packt, holt euch früher oder später eines der drei Probleme ein – meistens genau dann, wenn ihr unterwegs seid und kein Log zur Hand habt.</p>



<p class="wp-block-paragraph">Mit _netdev, korrektem pre-down-Timing, asynchroner Ausführung und einem echten Erreichbarkeitstest vor jedem Mount seid ihr auf der sicheren Seite. Und das Muster lässt sich eins zu eins auf andere netzwerkabhängige Automatisierungen übertragen, etwa VPN-Verbindungen oder Backup-Jobs, die nur im richtigen Netz laufen sollen.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/netzwerkfreigaben-automatisch-einhaengen-was-beim-networkmanager-dispatcher-schiefgehen-kann/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Rutile 0.2.2 – Eine moderne Alternative zu Tilix</title>
		<link>https://linuxundich.de/rutile-0-2-2-moderne-alternative-zu-tilix/</link>
					<comments>https://linuxundich.de/rutile-0-2-2-moderne-alternative-zu-tilix/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 23 Jul 2026 06:50:10 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Terminal]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45269</guid>

					<description><![CDATA[Rutile ist ein neuer Terminal-Emulator für GNOME, der das bewährte Bedienkonzept von Tilix auf GTK4, libadwaita und Rust überträgt. Noch befindet sich das Projekt in einer frühen Entwicklungsphase, bietet aber bereits rekursive Terminalaufteilungen, mehrere Sitzungen und synchronisierte Eingaben für produktives Arbeiten.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph"><a href="https://github.com/gnunn1/tilix">Tilix</a> gehört für mich seit vielen Jahren zu den Terminal-Programmen, die ich <a href="https://linuxundich.de/bug-jaeger-vs-terminal-entwickler-aus-terminix-wird-tilix/" data-type="post" data-id="40376">immer wieder installiere</a>. Die frei aufteilbaren Terminalbereiche und die Möglichkeit, mehrere Shells gleichzeitig zu verwalten, haben meinen Arbeitsalltag deutlich erleichtert. Leider wird das Projekt inzwischen kaum noch gepflegt und basiert weiterhin auf GTK3 und VTE3.</p>



<p class="wp-block-paragraph">Mit <a href="https://github.com/yatoub/Rutile">Rutile</a> entsteht deshalb ein spannendes Projekt. Die Entwickler schreiben Tilix nicht einfach weiter, sondern entwickeln den Terminal-Emulator vollständig in Rust neu. Gleichzeitig bleibt das Bedienkonzept erhalten. Statt einer Neuerfindung soll eine moderne Umsetzung entstehen, die sich nahtlos in aktuelle GNOME-Systeme mit GTK4 und libadwaita einfügt.</p>



<h2 class="wp-block-heading">Bewährtes Konzept auf moderner Basis</h2>



<p class="wp-block-paragraph">Viele Terminal-Emulatoren unterscheiden sich hauptsächlich durch ihr Erscheinungsbild oder kleinere Zusatzfunktionen. Rutile verfolgt dagegen einen anderen Ansatz. Ziel ist es, die Arbeitsweise von Tilix möglichst vollständig zu übernehmen und auf eine moderne technische Grundlage zu stellen. Bestehende Nutzer sollen sich sofort zurechtfinden.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8a437&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8a437" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="817" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1280x817.webp" alt="Terminal-Emulator Rutile unter GNOME auf Arch Linux mit mehreren geöffneten Terminals, die Systeminformationen, Dateilisten und CPU-Auslastung anzeigen." class="wp-image-45271" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-01.webp 1569w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Über die Schaltflächen lassen sich neue Terminalbereiche horizontal oder vertikal anlegen. Die Bedienung orientiert sich dabei bewusst am vertrauten Konzept von Tilix.</figcaption></figure>



<p class="wp-block-paragraph">Die Anwendung verwendet GTK4, libadwaita und VTE4 und profitiert dadurch von aktuellen Bibliotheken des <a href="https://linuxundich.de/tag/gnome/" data-type="post_tag" data-id="1734">GNOME-Desktops</a>. Gleichzeitig setzen die Entwickler auf Rust als Programmiersprache. Das verspricht langfristig eine besser wartbare Codebasis und eröffnet die Möglichkeit, neue Funktionen auf einer modernen Architektur aufzubauen.</p>



<h2 class="wp-block-heading">Flexible Terminalaufteilung</h2>



<p class="wp-block-paragraph">Die wichtigste Funktion übernimmt Rutile direkt von Tilix. Das Terminalfenster lässt sich rekursiv horizontal und vertikal aufteilen. Jeder Bereich kann anschließend erneut geteilt werden. Dadurch entstehen flexibel verschachtelte Arbeitsbereiche, ohne dass die Anwendung auf ein festes Raster oder eine bestimmte Fensteranordnung beschränkt ist.</p>



<p class="wp-block-paragraph">Im Alltag bietet diese Arbeitsweise viele Vorteile. Links lassen sich beispielsweise Logdateien beobachten, während rechts gleichzeitig mehrere Server oder Container geöffnet sind. Zwischen den einzelnen Bereichen wechselt ihr bequem per Tastatur. Das spart Mausbewegungen und sorgt für einen flüssigen Arbeitsablauf bei komplexeren Aufgaben.</p>



<p class="wp-block-paragraph">Andere Terminals wie <a href="https://ghostty.org/">Ghostty</a> bieten diese Funktion ebenfalls, allerdings muss man sich dafür Tastenkombinationen merken. Alternativ kann man natürlich auch Terminal-Multiplexer wie <a href="https://github.com/tmux/tmux/wiki">tmux</a> verwenden. Dort gilt jedoch dasselbe. Auch wenn es nicht viele Tastenkombinationen sind: Ich persönlich möchte dafür einfach Buttons haben.</p>



<h2 class="wp-block-heading">Mehrere unabhängige Sitzungen</h2>



<p class="wp-block-paragraph">Neben den frei aufteilbaren Terminalbereichen unterstützt Rutile mehrere voneinander getrennte Sitzungen. Jede Sitzung besitzt ihre eigene Fensteraufteilung und ihren eigenen Arbeitskontext. Dadurch lassen sich unterschiedliche Projekte oder Aufgaben sauber voneinander trennen, ohne dafür mehrere Programmfenster öffnen zu müssen.</p>



<p class="wp-block-paragraph">Zwischen den Sitzungen wechselt ihr entweder per Tastenkombination oder über eine Seitenleiste. Diese zeigt kleine Vorschaubilder der jeweiligen Arbeitsumgebung und bleibt standardmäßig ausgeblendet. Wer sie benötigt, blendet sie einfach über die Werkzeugleiste ein und behält so auch bei vielen geöffneten Sitzungen leichter den Überblick.</p>



<h2 class="wp-block-heading">Synchronisierte Eingaben</h2>



<p class="wp-block-paragraph">Besonders praktisch finde ich die Funktion zur synchronisierten Eingabe. Aktiviert ihr sie, überträgt Rutile sämtliche Tastatureingaben gleichzeitig an mehrere Terminalbereiche einer Sitzung. Das spart Zeit, wenn identische Befehle auf mehreren Servern oder virtuellen Maschinen ausgeführt werden sollen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8b1c1&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8b1c1" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="817" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1280x817.webp" alt="Zwei nebeneinander angeordnete Terminalfenster mit Linux-Befehlen und Dateilisten, im linken Fenster ein Dropdown-Menü mit Optionen zum horizontalen und vertikalen Teilen sowie synchroner Eingabe." class="wp-image-45272" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-02.webp 1569w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Mit der synchronisierten Eingabe lassen sich identische Befehle gleichzeitig auf mehreren Servern, Containern oder virtuellen Maschinen ausführen. Einzelne Bereiche können dabei ausgenommen werden.</figcaption></figure>



<p class="wp-block-paragraph">Einzelne Terminalbereiche lassen sich jederzeit von der gemeinsamen Eingabe ausnehmen. Dadurch können einzelne Systeme gezielt abweichende Befehle erhalten, ohne die Synchronisierung komplett zu deaktivieren. Trotzdem empfiehlt sich etwas Vorsicht, denn fehlerhafte Befehle werden ansonsten ebenso gleichzeitig auf allen verbundenen Systemen ausgeführt.</p>



<h2 class="wp-block-heading">Vertraute Bedienung</h2>



<p class="wp-block-paragraph">Auch die Tastenkombinationen orientieren sich eng am Vorbild. Mit <kbd>Strg</kbd>+<kbd>Umschalt</kbd>+<kbd>O</kbd> und <kbd>Strg</kbd>+<kbd>Umschalt</kbd>+<kbd>E</kbd> teilt ihr das Fenster horizontal oder vertikal. <kbd>Strg</kbd>+<kbd>Umschalt</kbd>+<kbd>W</kbd> schließt den aktiven Bereich, während ihr mit den Pfeiltasten zwischen den einzelnen Terminalfenstern wechselt.</p>



<p class="wp-block-paragraph">Neue Sitzungen öffnet ihr mit <kbd>Strg</kbd>+<kbd>Umschalt</kbd>+<kbd>T</kbd>. Zwischen vorhandenen Sitzungen wechselt ihr per <kbd>Strg</kbd>+<kbd>Umschalt</kbd>+<kbd>Bild auf</kbd> beziehungsweise <kbd>Bild ab</kbd>. Wer lieber mit der Maus arbeitet, erreicht dieselben Funktionen zusätzlich über die Werkzeugleiste oder das Kontextmenü der einzelnen Terminalbereiche.</p>



<h2 class="wp-block-heading">Noch in einer frühen Entwicklungsphase</h2>



<p class="wp-block-paragraph">Rutile befindet sich derzeit noch am Anfang seiner Entwicklung. Die erste Version konzentriert sich bewusst auf die wichtigsten Funktionen. Features wie der Quake-Modus, das Speichern kompletter Sitzungen, Desktop-Benachrichtigungen oder die Nautilus-Integration sollen erst folgen, wenn die vorhandenen Funktionen zuverlässig arbeiten.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8be2f&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8be2f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="817" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1280x817.webp" alt="Screenshot des Rutile-Terminals mit ASCII-Art-Logo und einem geöffneten Einstellungsfenster mit dem Text 'Coming later' und Hinweisen auf zukünftige Theme-Varianten." class="wp-image-45273" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1280x817.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-640x409.webp 640w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-1536x981.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03-768x490.webp 768w, https://linuxundich.de/wp-content/uploads/2026/07/rutile-03.webp 1569w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Viele Funktionen sind bereits vorhanden. Einige Einstellungen und Komfortfunktionen sollen laut Roadmap jedoch erst in späteren Versionen ergänzt werden.</figcaption></figure>



<p class="wp-block-paragraph">Diesen Ansatz halte ich für sinnvoll. Statt möglichst viele Funktionen früh bereitzustellen, konzentriert sich das Projekt zunächst auf einen stabilen Kern. Gerade bei Werkzeugen, die viele Anwender täglich nutzen, sind Zuverlässigkeit und ein konsistentes Bedienkonzept meist wichtiger als eine möglichst lange Funktionsliste.</p>



<p class="wp-block-paragraph">Was aktuell wirklich fehlt, sind Übersetzungen – einige Dialoge erscheinen derzeit ausschließlich auf Französisch. Außerdem lassen sich die Terminalfarben noch nicht direkt in den Einstellungen anpassen. Das voreingestellte Farbschema macht Programme wie den Midnight Commander teilweise schwer lesbar. Allerdings ist die aktuelle Version von Rutile erst vor wenigen Tagen erschienen, sodass sich hier vermutlich bald etwas tun wird.</p>



<h2 class="wp-block-heading">Installation</h2>



<p class="wp-block-paragraph">Unter Arch Linux steht Rutile sowohl als Quellpaket als auch als vorkompilierte Variante im AUR zur Verfügung. Für Debian, Ubuntu und Fedora bieten die Entwickler fertige DEB- beziehungsweise RPM-Pakete an. Zusätzlich lässt sich eine eigenständige Binärdatei herunterladen, sofern die benötigten GTK4-Komponenten bereits installiert sind. Alle Informationen zur Installation finden sich auf der <a href="https://github.com/yatoub/Rutile#installation" data-type="link" data-id="https://github.com/yatoub/Rutile#installation">GitHub-Seite des Projekts</a>.</p>



<p class="wp-block-paragraph">Wer Tilix seit Jahren nutzt und auf einen modernen GTK4-Unterbau wechseln möchte, sollte Rutile im Auge behalten. Noch fehlen einige Funktionen, doch der bisherige Entwicklungsstand macht einen sehr vielversprechenden Eindruck. Das Projekt verfolgt einen klaren Fokus und könnte sich zu einem würdigen Nachfolger für Tilix entwickeln.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/rutile-0-2-2-moderne-alternative-zu-tilix/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Spotify unter GNOME: Blauen Fensterrahmen reparieren</title>
		<link>https://linuxundich.de/spotify-unter-gnome-blauen-fensterrahmen-reparieren/</link>
					<comments>https://linuxundich.de/spotify-unter-gnome-blauen-fensterrahmen-reparieren/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 28 Nov 2025 14:01:59 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Spotify]]></category>
		<category><![CDATA[Tipps]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45241</guid>

					<description><![CDATA[Ein blauer Rahmen um Spotify unter GNOME stört die Optik, obwohl die Funktionalität unverändert bleibt. Unter Arch Linux lässt sich das Problem einfach beheben. Entweder über Flatpak oder durch ein Start-Flag für den Client aus dem AUR.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Wenn ihr Spotify unter Linux mit <a href="https://linuxundich.de/tag/gnome/" data-type="post_tag" data-id="1734">GNOME</a> nutzt, habt ihr vielleicht in den letzten Tagen einen unschönen blauen Rahmen um das Anwendungsfenster bemerkt. Ich sehe das Problem hier bei mir unter <a href="https://linuxundich.de/tag/arch/" data-type="post_tag" data-id="1762">Arch Linux</a>, es dürfte aber alle Distributionen betreffen.</p>



<p class="wp-block-paragraph">Schuld daran ist ein Update des offiziellen Linux-Clients auf Electron-Basis, das die GTK-Style-Window-Decoration durcheinandergebracht hat. Die Funktionalität von <a href="https://linuxundich.de/tag/spotify/" data-type="post_tag" data-id="1480">Spotify</a> bleibt zwar unverändert, optisch sieht es aber alles andere als schick aus.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8ed30&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8ed30" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="780" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/spotify-aur-blue-1280x780.webp" alt="Spotify mit blauem Rahmen. Ein Update des Linux-Clients hat die GTK-Style-Window-Decoration beschädigt, sodass das Fenster unschön blau gerahmt wird und nicht korrekt angezeigt wird." class="wp-image-45242" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/spotify-aur-blue-1280x780.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-aur-blue-640x390.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-aur-blue-768x468.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-aur-blue.webp 1491w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Spotify mit blauem Rahmen. Ein Update des Linux-Clients hat die GTK-Style-Window-Decoration beschädigt, sodass das Fenster unschön blau gerahmt wird und nicht korrekt angezeigt wird.</figcaption></figure>



<h2 class="wp-block-heading">Lösungsmöglichkeiten für Spotify</h2>



<p class="wp-block-paragraph">Es gibt zwei einfache Wege, um das Problem zu beheben. Die bequemste Variante ist, Spotify als <a href="https://flathub.org/en/apps/com.spotify.Client">Flatpak</a> zu installieren. Die Flatpak-Version zeigt den blauen Rahmen nicht und ihr müsst euch um nichts kümmern. Änderungen an der Konfiguration sind nicht nötig.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b8fb1d&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b8fb1d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="780" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-1280x780.webp" alt="Die Flatpak-Version von Spotify zeigt den blauen Rahmen nicht, die GTK-Style-Window-Decoration wird korrekt dargestellt und das Fenster sieht nach der Installation normal und fehlerfrei aus." class="wp-image-45243" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-1280x780.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-640x390.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-768x468.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak.webp 1491w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Flatpak-Version von Spotify zeigt den blauen Rahmen nicht, die GTK-Style-Window-Decoration wird korrekt dargestellt und das Fenster sieht nach der Installation normal und fehlerfrei aus.</figcaption></figure>



<p class="wp-block-paragraph">Falls ihr Spotify hingegen über den <a href="https://github.com/kpcyrd/spotify-launcher">Spotify Launcher</a> (Paket <em>spotify-launcher</em> aus den Extra-Quellen von Arch) oder direkt aus dem <a href="https://aur.archlinux.org/packages/spotify">AUR</a> (Eintrag <em>spotify</em>) installiert habt, müsst ihr das Start-Flag <code>--ozone-platform=x11</code> setzen. Damit wird die GTK-Dekoration korrekt angezeigt. Je nach Installationsart fügt ihr das Flag wie folgt ein:</p>



<p class="wp-block-paragraph"><strong>Für AUR-Spotify</strong> in der Datei <code>~/.config/spotify-flags.conf</code>:</p>



<pre class="wp-block-code"><code>--ozone-platform=x11</code></pre>



<p class="wp-block-paragraph"><strong>Für Spotify Launcher</strong> in <code>~/.config/spotify-launcher.conf</code>:</p>



<pre class="wp-block-code"><code>&#91;spotify]
extra_arguments = &#91;"--ozone-platform=x11"] </code></pre>



<p class="wp-block-paragraph">Eventuell müsst ihr diese Dateien erst anlegen. Nach einem Neustart von Spotify sollte der blaue Rahmen verschwunden sein und alles wieder normal aussehen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b9083d&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b9083d" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1153" height="853" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/spotify-ozone-platform.webp" alt="Die Konfigurationen unter ~/.config. Die Dateien müssen eventuell erst erstellt werden, ihr braucht nur die passende Datei je nach Installationsart, nicht beide gleichzeitig." class="wp-image-45245" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/spotify-ozone-platform.webp 1153w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-ozone-platform-640x473.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-ozone-platform-768x568.webp 768w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Konfigurationen unter ~/.config. Die Dateien müssen eventuell erst erstellt werden, ihr braucht nur die passende Datei je nach Installationsart, nicht beide gleichzeitig.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b911a1&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b911a1" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="780" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-flags-1280x780.webp" alt="Alternativ könnt ihr das Flag --ozone-platform=x11 setzen, wenn ihr Spotify aus dem AUR installiert habt. Dann wird der Fensterrahmen wieder korrekt angezeigt und normal dargestellt." class="wp-image-45244" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-flags-1280x780.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-flags-640x390.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-flags-768x468.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/spotify-flatpak-flags.webp 1491w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Alternativ könnt ihr das Flag &#8211;ozone-platform=x11 setzen, wenn ihr Spotify aus dem AUR installiert habt. Dann wird der Fensterrahmen wieder korrekt angezeigt und normal dargestellt.</figcaption></figure>



<p class="has-pale-cyan-blue-background-color has-background wp-block-paragraph"><strong>Korrektur von <a href="https://social.anoxinon.de/@fabiscafe@mstdn.social/115627842495268735">Fabian auf Mastodon</a>:</strong> Das stimmt so nicht. Das ist ganz alleine dem geschulded das Spotify Wayland-nativ läuft und dort, unter GNOME, eine clientseitige Dekoration (CSD) braucht, die es über diese blaue bereit stellt. Das ganze wieder zu X11 zwingen schafft eventuell echte Probleme, wie verschwommene Schriften, schlechtes (kein) scaling und so weiter. Spotify ist auch nicht Elektron, sondern Chromium Embedded Framework (CEF).</p>



<p class="wp-block-paragraph">Klar, es ist eine Krücke, aber eine, die derzeit hilft. Die Änderung lässt sich ja auch schnell wieder rückgängig machen. Die anderen Optionen wären, Gnome unter X11 zu betreiben oder sich mit den blauen Rahmen anzufreunden. Beides in meinen Augen auch nicht gerade optimal. So ist es erstmal ein Workaround, den man natürlich nicht vergessen sollte, falls sich Spotify irgendwann einmal wieder komisch verhält.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/spotify-unter-gnome-blauen-fensterrahmen-reparieren/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Plattenalbum und Euphonica: MPD-Clients unter GNOME für Linux</title>
		<link>https://linuxundich.de/plattenalbum-euphonica-mpd-gnome-gtk/</link>
					<comments>https://linuxundich.de/plattenalbum-euphonica-mpd-gnome-gtk/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sat, 22 Nov 2025 13:26:35 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[Musik]]></category>
		<guid isPermaLink="false">https://linuxundich.de/?p=45206</guid>

					<description><![CDATA[Plattenalbum und Euphonica sind zwei aktuelle GTK4-Clients für MPD, die zeigen, wie Musikverwaltung und Wiedergabe auf dem GNOME-Desktop umgesetzt werden können. Aufbau, Funktionen und Bedienung stehen dabei im Fokus.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Es gibt zahlreiche Software-Tools und Programme, die mich schon seit Jahrzehnten begleiten. Unter Windows wären das zum Beispiel der Total Commander, Notepad++ oder 7-Zip. Unter Linux gehört für mich der <a href="https://linuxundich.de/tag/gnome">GNOME-Desktop</a> mit seinem Ökosystem aus Evolution, Gedit und Nautilus dazu, auch wenn er vom Look und Feel der alten GNOME-2-Zeiten inzwischen weit entfernt ist und trotz der oft berechtigten Kritik an der „Wir-streichen-wichtige-Funktionen“-Politik der Entwickler.</p>



<p class="wp-block-paragraph">Neben diesen grafischen Werkzeugen begleitet mich auch der <a href="https://www.musicpd.org/">Music Player Daemon</a>, kurz MPD. Der Name klingt zunächst kryptisch, dahinter steckt aber ein einfaches Konzept. MPD ist ein Musikplayer, der im Hintergrund läuft und sich über zahlreiche Clients fernsteuern lässt. Man kann also einen Rechner oder <a href="https://linuxundich.de/category/raspberry-pi/">Raspberry Pi</a> an die Stereoanlage hängen, die eigene Musiksammlung einbinden und die Wiedergabe von überall im Haus steuern.</p>



<h3 class="wp-block-heading">Music Player Daemon aka MPD</h3>



<p class="wp-block-paragraph">MPD unterscheidet sich deutlich von Streaming-Servern wie <a href="https://jellyfin.org/">Jellyfin</a> oder <a href="https://www.navidrome.org/">Navidrome</a>, die auf dem Subsonic-Protokoll basieren. Dort streamt der Server die Musik an die Clients, während bei MPD der Client nur die Wiedergabe steuert und der Dienst selbst direkt auf dem Server spielt. Bemerkenswert ist, dass die Entwicklung an MPD auch nach über zwanzig Jahren nicht eingeschlafen ist. Die aktuelle stabile Version MPD 0.24.6 ist gerade erst veröffentlicht worden.</p>



<p class="wp-block-paragraph">Auch bei den Clients merkt man, dass MPD weiterhin lebendig ist. Während moderne Subsonic-Clients für Linux (speziell für den GNOME-Desktop) inzwischen leider wirklich rar geworden sind (<a href="https://sublimemusic.app">Sublime Music</a> oder <a href="https://github.com/jeffvli/sonixd">Sonixd</a> wurden eingestellt, mit <a href="https://github.com/jeffvli/feishin">Feishin</a> oder <a href="https://github.com/supersonic-app/supersonic">Supersonic</a> werde ich nicht warm), entstehen rund um MPD immer wieder neue Projekte. In letzter Zeit erscheinen vermehrt Anwendungen auf Basis von GTK4 und Libadwaita, die sich optimal in das aktuelle GNOME-Design einfügen und die Funktionen des Desktops optimal nutzen.</p>



<h3 class="wp-block-heading">MPD für GNOME: Plattenalbum</h3>



<p class="wp-block-paragraph"><a href="https://github.com/SoongNoonien/plattenalbum">Plattenalbum</a> (<a href="https://flathub.org/de/apps/de.wagnermartin.Plattenalbum">Flathub</a>) hat gerade erst ein Update auf Version 2.4.0 erhalten und nutzt GTK4, ohne sich in ein übertrieben verspieltes Design zu verlieren. Die Albencover stehen klar im Mittelpunkt der Oberfläche. Das Layout bleibt klassisch, links die Künstler, in der Mitte die Alben und rechts der Player mit den Kontrollelementen zur Steuerung der Wiedergabe.</p>



<p class="wp-block-paragraph">Wer während der Wiedergabe auch die Songtexte lesen möchte, wechselt über den Button oberhalb des Players in die Lyrics-Ansicht. Die Texte müssen dafür nicht im ID3-Tag stehen. Plattenalbum lädt sie automatisch vom brasilianischen Dienst <a href="https://www.letras.com/">Letras</a>, was besonders praktisch ist, wenn man die eigenen Dateien nicht vollständig gepflegt hat. Weitere Einstellungsmöglichkeiten gibt es nicht viele, und braucht es eigentlich auch nicht.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b9312d&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b9312d" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="893" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_01-1280x893.webp" alt="Übersicht über alle Alben auf dem Server, klar angeordnet mit Fokus auf den Covern und einer direkt nutzbaren Steuerung des MPD." class="wp-image-45211" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_01-1280x893.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_01-640x447.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_01-768x536.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_01.webp 1413w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Übersicht über alle Alben auf dem Server, klar angeordnet mit Fokus auf den Covern und einer direkt nutzbaren Steuerung des MPD.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b93afc&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b93afc" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="893" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_02-1280x893.webp" alt="Einblick in die aktuelle Playlist, die während der Wiedergabe frei durchstöbert werden kann, ohne den laufenden Titel zu unterbrechen." class="wp-image-45212" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_02-1280x893.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_02-640x447.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_02-768x536.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_02.webp 1413w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Einblick in die aktuelle Playlist, die während der Wiedergabe frei durchstöbert werden kann, ohne den laufenden Titel zu unterbrechen.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b9455c&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b9455c" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="893" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_03-1280x893.webp" alt="Die automatisch geladenen Songtexte erscheinen übersichtlich im Fenster, ergänzt durch Informationen des externen Dienstes Letras." class="wp-image-45213" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_03-1280x893.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_03-640x447.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_03-768x536.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/plattenalbum-mpd-client_03.webp 1413w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die automatisch geladenen Songtexte erscheinen übersichtlich im Fenster, ergänzt durch Informationen des externen Dienstes Letras.</figcaption></figure>



<h3 class="wp-block-heading">MPD für GNOME: Euphonica</h3>



<p class="wp-block-paragraph"><a href="https://github.com/htkhiem/euphonica">Euphonica</a> (<a href="https://flathub.org/de/apps/io.github.htkhiem.Euphonica">Flathub</a>) setzt im Gegensatz zu Plattenalbum deutlich stärker auf visuelle Effekte. Der Hintergrund des Fensters passt sich an die Farben des aktuellen Albums an und am unteren Rand bewegt sich ein animiertes Spektrum. Beim Wechsel zwischen Künstler- und Albenansicht oder beim Öffnen eines Albums gleiten die einzelnen Elemente weich ins Bild und erzeugen einen modernen Eindruck.</p>



<p class="wp-block-paragraph">Auch funktional überzeugt Euphonica. Man kann durch Künstler und Alben navigieren und künftig soll auch das Filtern nach Genres möglich sein. Alben lassen sich mit MPD 0.24 oder neuer bewerten. Über MPRIS integriert sich Euphonica nahtlos in den Desktop, zeigt Benachrichtigungen beim Titelwechsel an und erlaubt die Steuerung der Wiedergabe auch über die Desktop-Funktionen.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b950b8&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b950b8" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="904" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_01-1280x904.webp" alt="Die Albenansicht zeigt die gesamte Sammlung in MPD mit dynamischem Hintergrund, der sich sichtbar an das aktuell geöffnete Album anpasst." class="wp-image-45208" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_01-1280x904.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_01-640x452.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_01-768x542.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_01.webp 1534w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Albenansicht zeigt die gesamte Sammlung in MPD mit dynamischem Hintergrund, der sich sichtbar an das aktuell geöffnete Album anpasst.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b95a22&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b95a22" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="904" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_02-1280x904.webp" alt="Die Playlist passt sich farblich an das Cover des aktuellen Songs an und schafft eine stimmige Atmosphäre während der Wiedergabe." class="wp-image-45209" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_02-1280x904.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_02-640x452.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_02-768x542.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_02.webp 1534w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Die Playlist passt sich farblich an das Cover des aktuellen Songs an und schafft eine stimmige Atmosphäre während der Wiedergabe.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6af0015b9663b&quot;}" data-wp-interactive="core/image" data-wp-key="6af0015b9663b" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1280" height="904" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_03-1280x904.webp" alt="Das Einstellungsfenster bietet zahlreiche Optionen, die eine individuelle Anpassung des Clients an die eigene MPD-Umgebung ermöglichen." class="wp-image-45210" style="width:100%" srcset="https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_03-1280x904.webp 1280w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_03-640x452.webp 640w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_03-768x542.webp 768w, https://linuxundich.de/wp-content/uploads/2025/11/euphonica-mpd-client_03.webp 1534w" sizes="auto, (max-width: 781px) 100vw, 680px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button><figcaption class="wp-element-caption">Das Einstellungsfenster bietet zahlreiche Optionen, die eine individuelle Anpassung des Clients an die eigene MPD-Umgebung ermöglichen.</figcaption></figure>



<p class="wp-block-paragraph">Generell wäre es wünschenswert, wenn wieder ein neuer GTK4/LibAdwaita-Client für Subsonic erscheinen würde. Auf meinem kleinen Selfhosting-Server läuft <a href="https://www.navidrome.org/">Navidrome</a> sehr zuverlässig. Für Android gibt es <a href="https://symfonium.app/">Symfonium</a> (proprietär, aber jeden Cent wert) sowie <a href="https://github.com/eddyizm/tempus">Tempus</a>, eine aktiv weiterentwickelte Version des FOSS-Clients <a href="https://github.com/CappielloAntonio/tempo">Tempo</a>. Auch das Webfrontend von Navidrome funktioniert ausgezeichnet. Auf dem Desktop fehlt jedoch eine native Anwendung, hier klafft aktuell eine große Lücke.</p>
<hr><p>☕ <strong>Linux und Ich unterstützen</strong><br>Danke, dass du <a href="https://linuxundich.de">Linux und Ich</a> liest. Wenn dir das Blog gefällt und du meine Arbeit unterstützen möchtest, findest du weitere Informationen auf der <a href="https://linuxundich.de/spendiere-einen-kaffee/">Blogspende-Seite</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/plattenalbum-euphonica-mpd-gnome-gtk/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
	</channel>
</rss>
