<?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>Linux und Ich</title>
	<atom:link href="https://linuxundich.de/en/feed/" rel="self" type="application/rss+xml" />
	<link>https://linuxundich.de/en</link>
	<description>A German Linux blog, in English</description>
	<lastBuildDate>Fri, 23 Oct 2026 14:37:17 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1.3</generator>
	<item>
		<title>WebKitGTK 2.54: Tiny Star, Massive Memory Leak</title>
		<link>https://linuxundich.de/en/webkitgtk-memory-leak-backdrop-filter/</link>
					<comments>https://linuxundich.de/en/webkitgtk-memory-leak-backdrop-filter/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Fri, 23 Oct 2026 14:34:05 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Epiphany]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Web]]></category>
		<category><![CDATA[PlanetFOSS]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=280</guid>

					<description><![CDATA[While working on PlanetFOSS, I ran into a massive memory leak in WebKitGTK 2.54: a harmless frosted-glass effect via backdrop-filter pushes GNOME Web to as much as 9.8 GB. Firefox and Chrome don't even flinch at the same page.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Firefox and Chrome are mandatory when you build a website, while a quick look at <a href="https://apps.gnome.org/Epiphany/">GNOME Web aka Epiphany</a> tends to fall by the wayside. Not entirely for me, since I sit in front of a GNOME desktop. And so, while working on <a href="https://planetfoss.net/">PlanetFOSS</a>, <a href="https://linuxundich.de/en/planetfoss-launch-linux-news-bundles-supernovas/">my little Linux and FOSS news aggregator</a>, a full-blown memory leak in <a href="https://webkitgtk.org/">WebKitGTK</a> landed right at my feet.</p>



<p class="wp-block-paragraph">The start page simply froze Epiphany solid. Afterwards, the journal held a core dump of the web process, and systemd had logged a memory peak of 5.8 GB. For a news site with a handful of cards, that&#8217;s a bit much in my opinion. Restarting didn&#8217;t help either: Epiphany dutifully restores the PlanetFOSS tab and promptly chokes on it again.</p>



<h2 class="wp-block-heading">Following the trail</h2>



<p class="wp-block-paragraph">A look at the package history gave the first clue: on October 7, Arch Linux had updated WebKitGTK, the browser engine behind Epiphany, to version 2.54. The browser itself was quickly off the hook. MiniBrowser, a bare-bones test browser that ships with WebKitGTK, ballooned to several gigabytes within seconds on the PlanetFOSS start page. A plain example page, on the other hand, gets by with 170 MB.</p>



<h2 class="wp-block-heading">The trail leads to the star</h2>



<p class="wp-block-paragraph">An AI gave me a hand with the debugging, but narrowing things down was good old process of elimination. Without JavaScript, the page still hung. Without the stylesheet, it ran just fine. After that, one style rule after another got the boot until the culprit was clear: <code>backdrop-filter</code>. It <a href="https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/backdrop-filter">blurs the background behind an element</a> and creates the popular frosted-glass look.</p>



<p class="wp-block-paragraph">PlanetFOSS uses the effect in several places, but mostly on the small bookmark stars in the top left corner of every article card. The start page has 55 of them, plus eight news cards and ten play icons on the videos. Each of these elements gets its own frosted-glass layer. In those numbers, WebKitGTK 2.54 apparently buckles. Tiny star, massive impact.</p>



<p class="wp-block-paragraph">To double-check, I built a test page full of cards, each with one small frosted-glass element. With ten to 14 cards, memory stayed in the green. With 18 cards, around one gigabyte was already taken, and from 22 cards on, usage shot up to seven or eight gigabytes. So things tip over somewhere around 20 layers, although the exact limit is hard to pin down.</p>



<p class="wp-block-paragraph">The interesting part: the blur itself isn&#8217;t to blame at all. Frosted glass without any blur, or a simple grayscale filter, bloats WebKitGTK just the same. So the problem lies in how the new version manages these layers. Turning off the engine&#8217;s hardware acceleration does keep the test page lean. That&#8217;s no fix, though, since I can hardly tell my visitors how to launch their browser.</p>



<h2 class="wp-block-heading">Firefox and Chrome couldn&#8217;t care less</h2>



<p class="wp-block-paragraph">That leaves the question of whether only WebKitGTK is affected. So I loaded the same copy of the start page in different browsers, once with the old and once with the new design, and measured memory usage each time. I did this on my Arch notebook and in a virtual machine running Ubuntu 26.04. Images and text were identical in every run.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78d6ab59&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78d6ab59" class="wp-block-image wp-lightbox-container"><img fetchpriority="high" decoding="async" height="745" sizes="(max-width: 781px) 100vw, 680px" srcset="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-1280x745.webp 1280w, 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" width="1280" 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="Bar chart: memory usage of WebKitGTK, Epiphany, Firefox, and Chrome before and after the CSS fix on Arch Linux and in an Ubuntu VM"/><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">Only WebKitGTK 2.54 balloons with the old stylesheet, while Firefox, Chrome, and WebKitGTK 2.52 stay calm.</figcaption></figure>



<p class="wp-block-paragraph">The result is clear. Firefox and Chrome show practically the same usage before and after. Even Ubuntu&#8217;s older WebKitGTK 2.52 stays perfectly calm at around 680 MB. Only version 2.54 explodes: on my notebook, memory usage climbed to 9.8 GB in 40 seconds. After reworking the page, it was a mere 300 MB.</p>



<p class="wp-block-paragraph">In the VM, Epiphany ran as a Flatpak, which brings the new engine along. There, the browser ballooned to 4.3 GB within a minute, until only 300 MB of the roughly 5 GB of RAM were left. In an earlier run, the tab threw in the towel entirely: <em>Oops! Something went wrong while displaying this page</em>. With the new design, it stayed at 721 MB.</p>



<h2 class="wp-block-heading">Opaque background instead of frosted glass</h2>



<p class="wp-block-paragraph">The fix on the PlanetFOSS side is unspectacular. Stars, news cards, and play icons now do without frosted glass, and their background is simply a little less transparent instead. You&#8217;ll really only notice the difference if you put both versions side by side and look very closely. For a few gigabytes less memory hunger, that&#8217;s more than a fair trade in my opinion.</p>



<figure data-wp-context="{&quot;galleryId&quot;:&quot;6adbc78d6b0f5&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;6adbc78d6b1de&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78d6b1de" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" height="738" sizes="(max-width: 781px) 100vw, 680px" srcset="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-1280x738.webp 1280w, 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" width="1280" 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-lupe-vorher-1280x738.webp" alt="Detail of the PlanetFOSS start page with a magnifier on the bookmark star of an article card, old version with blur"/><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">Before: A blur via backdrop-filter sits behind the star, which makes WebKitGTK 2.54 balloon to as much as 9.8 GB.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78d6b59a&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78d6b59a" class="wp-block-image size-large wp-lightbox-container"><img decoding="async" height="738" sizes="(max-width: 781px) 100vw, 680px" srcset="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-1280x738.webp 1280w, 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" width="1280" 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-lupe-nachher-1280x738.webp" alt="Detail of the PlanetFOSS start page with a magnifier on the bookmark star of an article card, new version without blur"/><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">After: A more opaque background replaces the blur, the star just gets a little darker, and WebKitGTK needs 300 MB.</figcaption></figure>

</figure>



<p class="wp-block-paragraph">The change has been live for a few days, and MiniBrowser once again gets by with 213 MB on the real start page. I kept the frosted-glass effect in the pop-out section bar and on the source links in the lead story. That&#8217;s only a handful of layers, and they don&#8217;t throw WebKit off balance. linuxundich.de also uses the effect in just two places and was never affected.</p>



<p class="wp-block-paragraph">All in all, the problem clearly lies in WebKitGTK 2.54 and not in my stylesheet. Presumably every page that uses enough elements with <code>backdrop-filter</code> is affected. So my advice to everyone who builds websites: go easy on the frosted glass and load your site in Epiphany every now and then. I&#8217;ve <a href="https://bugs.webkit.org/show_bug.cgi?id=328065">filed a bug report</a> with a test case in the WebKit Bugzilla. Hopefully I didn&#8217;t kill anyone&#8217;s browser session.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/webkitgtk-memory-leak-backdrop-filter/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>PHP2Shell: How to check your Docker containers for the PHP vulnerability</title>
		<link>https://linuxundich.de/en/php2shell-check-docker-containers/</link>
					<comments>https://linuxundich.de/en/php2shell-check-docker-containers/#comments</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 22 Oct 2026 07:53:20 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Docker]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Server]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/php2shell-check-docker-containers/</guid>

					<description><![CDATA[The critical PHP vulnerabilities CVE-2026-109618 and CVE-2026-109619 also affect self-hosted services. A small loop shows which Docker containers still ship a vulnerable PHP version.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Since October 21, PHP2Shell has been all over the news. Behind the catchy name are two vulnerabilities in PHP, CVE-2026-109618 and CVE-2026-109619, which let attackers run code on a web server with a crafted HTTP request, no login required. The PHP developers rate both at 9.2 under CVSS 4.0, and according to <a href="https://watchtowr.com/intelligence/php-cve-2026-109618-faq/">watchTowr</a> the flaw is already being exploited. If you self-host, now is the time to take a look.</p>



<p class="wp-block-paragraph">The holes are plugged in PHP 8.5.12, 8.4.27, 8.3.36 and 8.2.35. For PHP 8.1 and older there are no regular releases with the fix so far, so the only way out is moving to a supported branch. On a regular server, the package manager takes care of that. Docker is a different story: every container brings its own PHP, and that PHP stays exactly as old as the image.</p>



<h2 class="wp-block-heading">Which container runs which PHP?</h2>



<p class="wp-block-paragraph">So the first question is: which containers on my little home server actually contain PHP? For Nextcloud or WordPress that&#8217;s obvious, for self-built images or small web apps less so. Instead of going through every container by hand, the following loop asks all running containers for their PHP version and compares it with the patched releases right away.</p>



<pre data-lui-file="php2shell-check.sh" class="wp-block-code"><code>for c in $(docker ps --format '{{.Names}}'); do
  v=$(docker exec &quot;$c&quot; php -r 'echo PHP_VERSION;' 2&gt;/dev/null) || continue
  case &quot;${v%.*}&quot; in
    8.5) fix=8.5.12 ;;
    8.4) fix=8.4.27 ;;
    8.3) fix=8.3.36 ;;
    8.2) fix=8.2.35 ;;
    *)   fix=99 ;;
  esac
  if [ &quot;$(printf '%s\n' &quot;$fix&quot; &quot;$v&quot; | sort -V | head -n1)&quot; = &quot;$fix&quot; ]; then
    printf '\e[32m%-30s %-8s ok\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  else
    printf '\e[31m%-30s %-8s anfällig?\e[0m\n' &quot;$c&quot; &quot;$v&quot;
  fi
done</code></pre>



<p class="wp-block-paragraph">The loop silently skips containers without PHP. For all others, the version shows up in green if it is at least at the patch level and in red if it is below. PHP 8.1, 7.x and older also end up in red, because there simply is no fix for them. The red lines say “anfällig?”, German for “vulnerable?”. On my server, the result looks like this:</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
nextcloud-app-1                8.5.12   ok
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
planetfoss-web                 8.3.33   anfällig?
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">So Nextcloud and the test WordPress had already pulled their updates, while PlanetFOSS and the site for Sisu were still lagging behind. By the way, the question mark after “vulnerable” is on purpose. The loop only compares version numbers. If an image uses the PHP package from Debian, Ubuntu or Alpine, the fix may have been backported without the number changing. In that case, only the distribution&#8217;s security advisories can tell you more.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78dba1ed&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78dba1ed" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="877" width="1397" 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/php2shell-simple.webp" alt="Split terminal window on bender: on the left the script php2shell-simple.sh with line numbers, on the right its output with green and red container names and their PHP versions"/><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">The loop as a small script on the left, its output on the right: planetfoss-web and sisu-web show up in red, the rest in green.</figcaption></figure>



<p class="wp-block-paragraph">For a closer look, there is <a href="https://github.com/EXT-IT/php2shell-check">php2shell-check</a> by EXT IT. The MIT-licensed script is read-only and judges PHP by package versions rather than just the version number, so it also takes backported fixes into account. It looks into Docker containers, FPM pools and old processes that are still running, and on request sends a harmless request to your website. For the containers it needs root or membership in the docker group.</p>



<p class="wp-block-paragraph">The project page suggests the usual one-liner with <code>curl</code> and <code>sudo bash</code>. For a script that runs with root privileges on my server, I&#8217;m not too fond of that. Better download the script together with <code>SHA256SUMS</code> from the releases, check it with <code>sha256sum -c SHA256SUMS</code>, skim through it once and then start it by hand. According to the developers, a “not vulnerable” is no guarantee, by the way:</p>



<pre class="wp-block-code"><code>$ sudo bash php2shell-check.sh https://eure-seite.example</code></pre>



<p class="wp-block-paragraph">On my home server I ran the script with sudo. As a member of the docker group it would see the containers without root as well, but running processes of other users and some logs would stay hidden. This is how I fetched and started it:</p>



<pre class="wp-block-code"><code>$ curl -fsSLO https://github.com/EXT-IT/php2shell-check/releases/latest/download/php2shell-check.sh
$ chmod +x php2shell-check.sh 
$ sudo ./php2shell-check.sh </code></pre>



<p class="wp-block-paragraph">The verdict matches the loop: planetfoss-web with PHP 8.3.33 and sisu-web with PHP 8.4.26 are vulnerable, Nextcloud and the test WordPress are not. On top of that, it found a stopped container from Tuxsucht that my loop had completely missed:</p>



<pre class="wp-block-code"><code>PHP in docker containers
  [ OK ] container      nextcloud-app-1 (nextcloud:35-apache)
         PHP 8.5.12 (fixed from 8.5.12)
[...]
  [VULN] container      planetfoss-web (planetfoss-web:local)
         PHP 8.3.33, fixed in 8.3.36
         -&gt; Update PHP to 8.3.36 or later (container: pull the new image and recreate)
[...]
  [VULN] container      sisu-web (sisu-web:local)
         PHP 8.4.26, fixed in 8.4.27
[...]
  [WARN] container      php83 (stopped, tuxsucht-php)
         stopped, but its image ships PHP 8.3.33: it comes back vulnerable on the next start
[...]
Summary  2 vulnerable, 3 undecided, 12 warnings, 11 ok</code></pre>



<p class="wp-block-paragraph">Sure, <code>docker ps</code> only lists running containers, and a stopped container doesn&#8217;t accept any requests. But if someone starts it again at some point, the hole is back right away. The script is also very clear about mod_php: all five running containers serve PHP through the Apache module, and the advisory demonstrates a complete attack without login against exactly this setup.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78dbab11&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78dbab11" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="877" width="1397" 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/php2shell-check.webp" alt="Terminal window with the output of php2shell-check on bender: color-coded VULN, WARN and OK entries for the containers planetfoss-web, sisu-web and php83"/><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">php2shell-check flags sisu-web as vulnerable, warns about mod_php and also finds the stopped container php83 with an old PHP.</figcaption></figure>



<p class="wp-block-paragraph">Until you can update, the script suggests a stopgap: set <code>session.upload_progress.enabled=0</code> and <code>expose_php=0</code>, and keep <code>post_max_size</code> below a quarter of <code>memory_limit</code>. The check from the outside, on the other hand, wasn&#8217;t much help. For the two websites, the script only reports that the headers don&#8217;t reveal a PHP version and that there is no WAF in front. That says nothing about the patch level, which the script honestly admits.</p>



<h2 class="wp-block-heading">And how do you update PHP?</h2>



<p class="wp-block-paragraph">Don&#8217;t update anything inside the container itself, it would be gone again with the next recreate. Instead, pull the new image in the respective Compose directory and recreate the container with it. For self-built images with their own Dockerfile you need <code>docker compose build --pull</code>, so that Docker also fetches a fresh base image:</p>



<pre class="wp-block-code"><code>docker compose pull &amp;&amp; docker compose up -d</code></pre>



<p class="wp-block-paragraph">Important: of course this only helps if the base image already contains the patched version. According to <a href="https://www.it-connect.tech/php2shell-and-docker-how-to-check-and-update-your-php-containers/">IT-Connect</a>, the new tags initially even showed up without an image behind them, but by now generic tags such as <code>php:8.3-apache</code> ship the patched PHP. If your Dockerfile pins a fixed version like <code>php:8.4.24-fpm</code>, you have to bump it yourself. Simply run the loop again after the update. Take care of the containers that are reachable from the internet first.</p>



<p class="wp-block-paragraph">The PlanetFOSS test environment shows what this looks like in practice. Its image is based on <code>php:8.3-apache</code>, and the Dockerfile only adds extensions such as GD and Intl. My deploy script does call <code>docker compose up -d --build</code>, but that doesn&#8217;t fetch a new base image, it takes the one from August out of the cache. That&#8217;s where the old PHP 8.3.33 came from. Only <code>--pull</code> fetches the fresh version:</p>



<pre class="wp-block-code"><code>$ cd /data/docker/planetfoss
$ docker compose build --pull web
$ docker compose up -d web</code></pre>



<p class="wp-block-paragraph">After a good minute the new image was ready, and the container ran PHP 8.3.36. The database in the same Compose project stays untouched, because both commands only address the web service. Afterwards the loop shows PlanetFOSS in green, and php2shell-check also reports only sisu-web as vulnerable. The old image is still lying around on disk as a leftover, by the way; <code>docker image prune</code> cleans it up.</p>



<pre class="wp-block-code"><code>$ ./php2shell-simple.sh
[...]
nextcloud-cron-1               8.5.12   ok
linuxundich-test-wordpress-1   8.3.36   ok
sisu-web                       8.4.26   anfällig?</code></pre>



<p class="wp-block-paragraph">All in all, PHP2Shell is a good example of how self-hosting with Docker is convenient, but the updates don&#8217;t come by themselves. heise has collected <a href="https://www.heise.de/en/news/php2shell-Critical-flaws-allow-code-injection-in-PHP-11494897.html">more details on the vulnerabilities</a>. How to keep containers up to date without a lot of fiddling, I covered in <a href="https://linuxundich.de/en/keeping-docker-containers-up-to-date-with-dockcheck/">Keeping Docker containers up to date with Dockcheck</a>. How do you keep your containers up to date?</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/php2shell-check-docker-containers/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>PlanetFOSS: Linux news that sorts itself</title>
		<link>https://linuxundich.de/en/planetfoss-launch-linux-news-bundles-supernovas/</link>
					<comments>https://linuxundich.de/en/planetfoss-launch-linux-news-bundles-supernovas/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 20 Oct 2026 07:42:13 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlanetFOSS]]></category>
		<category><![CDATA[RSS]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=270</guid>

					<description><![CDATA[PlanetFOSS collects Linux and open source news from German and English sources and organizes it on its own: identical stories become bundles, new topics become comets, big events become supernovas. No AI service involved, just a bit of statistics.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Longtime Linux users have known Planet sites forever. <a href="https://planet.gnome.org/">Planet GNOME</a>, <a href="https://planet.debian.org/">Planet Debian</a>, or <a href="https://planet.ubuntuusers.de">Planet ubuntuusers</a> (in German) collect the blogs of one project on a single page, neatly stacked, newest post on top. That works fine as long as you only care about one project. But if you want to know what&#8217;s going on across the whole Linux and open source world, you&#8217;re still clicking through dozens of sites or tending a bursting feed reader.</p>

<p class="wp-block-paragraph">That&#8217;s exactly what <a href="https://planetfoss.net/">PlanetFOSS</a> is for. The site has been running in a trial phase for a few days, and starting today I&#8217;d like to launch it officially. The idea is a planet that isn&#8217;t tied to one project but collects across topics: distributions, desktops, the kernel, self-hosting, gaming, security, politics. The sources are publishers, blogs, project sites, and video channels, in German and English, and every visitor decides which language they want to see.</p>

<h2 class="wp-block-heading">A magazine, not a list</h2>

<p class="wp-block-paragraph">Visually, PlanetFOSS takes its cue from a modern computer magazine rather than the classic Planet list. There&#8217;s a lead story, cards with an image and a teaser, categories, and a bar with the topics of the day. The site only takes what the source sites themselves provide for previews, meaning Open Graph data or the content of the RSS feed. Every card links straight to the original article. There are no full texts.</p>

<p class="wp-block-paragraph">I also put some effort into privacy. The preview images are stored as WebP on PlanetFOSS&#8217;s own server, so no visitor IP ends up on third-party servers. There are no cookies, no external scripts, and no tracking. You can still mark articles with a star as worth reading, without an account: instead of a CAPTCHA, your browser solves a small computing puzzle, and the star is only remembered locally in your browser.</p>

<p class="wp-block-paragraph">Under the hood, it&#8217;s good old PHP with MySQL, no framework, on ordinary shared hosting. Every five minutes, a cron job kicks off a cycle: fetch feeds, enrich new articles, sort them, rebuild the front pages. The real work, though, isn&#8217;t the fetching but the sorting. A site with more than a hundred sources quickly turns into a wall of text when ten sites report on the same thing.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e0ecad&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e0ecad" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-1024x576.webp" alt="The Solar System page (Das Sonnensystem) on planetfoss.net in Firefox on Fedora, a grid of source cards such as heise online, Golem.de, GNU/Linux.ch, and c't 3003" class="wp-image-263" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/02-sonnensystem-quellen.webp 1920w" 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">The Solar System page lists all 172 sources, each with its language, type of source, and activity over the last seven days.</figcaption></figure>

<h2 class="wp-block-heading">Same news, one bundle</h2>

<p class="wp-block-paragraph">When a new Firefox version comes out, it feels like everyone writes about it. On a regular Planet site, you&#8217;d see Firefox ten times in a row. That&#8217;s why PlanetFOSS compares every new article with all articles from other sources published in the last 48 hours. If the title contains the same topic with the same version number, say &#8220;Firefox 158&#8221; or &#8220;Ubuntu 26.10&#8221;, the articles end up in a shared bundle, even across the language barrier.</p>

<p class="wp-block-paragraph">There are two more signals. If two news items link to the same primary source, such as the release notes or a press release, they very likely belong together. Run-of-the-mill targets like GitHub or Wikipedia don&#8217;t count. As a last resort, the aggregator compares the titles themselves: stop words get thrown out, and if half of the remaining words match and the titles share a topic, it&#8217;s a bundle.</p>

<p class="wp-block-paragraph">The motto here: better to bundle too little than to bundle wrong. A missing &#8220;also at&#8221; hardly anyone notices, but two unrelated stories lumped together stand out right away. On the front page, bundles with two sources appear as a card with a source bar underneath. From three sources on, it becomes a story card that&#8217;s twice as wide in the grid and lists every additional report with its own headline and its own link to the original.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e10adf&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e10adf" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-1024x576.webp" alt="Desktop category on PlanetFOSS, magnifier on the GNOME 50.6 card from 9to5Linux with the line Also at Linuxiac (Auch bei)" class="wp-image-264" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/03-buendel-quellen-leiste.webp 1920w" 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">When two sources cover the same story, PlanetFOSS adds the second one under the card as an &#8220;Also at&#8221; (Auch bei) bar, here Linuxiac on GNOME 50.6.</figcaption></figure>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e12b9f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e12b9f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/04-buendel-story-karte-1024x576.webp" alt="Double-width story card on the GNOME OS Preview with Phoronix as the main article and further reports from LWN.net, 9to5Linux, This Week in GNOME, and LinuxNews, magnifier on the label 6 sources reporting" class="wp-image-265" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/04-buendel-story-karte.webp 1920w" 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">From three sources on, a bundle becomes a story card: six sources report on the GNOME OS Preview, the others are listed to the right.</figcaption></figure>

<h2 class="wp-block-heading">New topics without a dictionary</h2>

<p class="wp-block-paragraph">PlanetFOSS has a dictionary with terms like GNOME, Plasma, Proxmox, or Steam. It helps with the categories, which a small <a href="https://www.ibm.com/think/topics/naive-bayes">Naive Bayes classifier</a> also assigns, and with version topics. The thing is, the open source world keeps coming up with new names that aren&#8217;t in any dictionary. During the first tests, I noticed <a href="https://getartcraft.com/">ArtCraft</a>, for example: seven articles about a new project, and the site hadn&#8217;t picked up on any of it.</p>

<p class="wp-block-paragraph">Since then, PlanetFOSS looks for new names on its own. A candidate has to appear in the titles of at least three sources within the last 48 hours (four if only one language is involved), but no more than once in the four weeks before. Then there&#8217;s a little trick: a name is never written in lowercase. That filters out words like &#8220;released&#8221; or the German &#8220;Sicherheitslücke&#8221; (security hole) without endless stop word lists. Whatever is left becomes a new topic.</p>

<h2 class="wp-block-heading">Comets and supernovas</h2>

<p class="wp-block-paragraph">Now it gets interesting. The name sets the scene: when a topic suddenly gets a flood of coverage, say on the release day of a new Ubuntu version, it becomes a supernova, a sudden, very bright outburst. A topic that&#8217;s only just picking up speed is a comet. And once the outburst is over, there&#8217;s still an afterglow for a while.</p>

<p class="wp-block-paragraph">A comet appears as soon as at least three different sources write about a topic within twelve hours. Its cards get a badge, and it moves to the front of the topic bar. So that general catch-all topics like the Linux kernel don&#8217;t become permanent comets, they also need twice as many sources as usual. If a comet can&#8217;t keep up the momentum, it drops back to a normal topic.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e15038&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e15038" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/01-startseite-supernova-1024x576.webp" alt="Fedora desktop with Firefox and the PlanetFOSS front page, magnifier on the topic bar In Orbit (Im Orbit) with Linux-Kernel 7.3, GNOME, and Linux-Kernel, below it the supernova band with its activity chart" class="wp-image-266" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/01-startseite-supernova.webp 1920w" 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">The &#8220;In Orbit&#8221; (Im Orbit) bar leads with the supernova Linux-Kernel 7.3, and below it burns its band with eleven posts from nine sources.</figcaption></figure>

<p class="wp-block-paragraph">A supernova needs more. Four sources have to report within 24 hours, almost all of them in the last twelve hours. The topic has to be broad, meaning it reaches at least two types of sources (publisher, blog, project, video) or shows up in both languages. On top of that, it needs at least three times as many sources as its average over the last four weeks. Otherwise, every week with some Ubuntu news would be a supernova.</p>

<p class="wp-block-paragraph">PlanetFOSS knows some things in advance. A release calendar holds the known dates for Ubuntu, GNOME, KDE Plasma, Fedora, Debian, the kernel, and Firefox. If a topic falls within that window, one source fewer is enough to ignite. At the same time, no more than two supernovas may burn at once, so the front page doesn&#8217;t drown in nonstop fireworks. If there are more candidates, the strongest ignite and the rest stay comets for the time being.</p>

<p class="wp-block-paragraph">A supernova burns for at least twelve hours. After that, it cools down once nothing new arrives for six hours or the number of sources drops below half of its peak. If a second wave comes along, such as the first reviews a few days after a release, it can ignite again. After 72 hours, the topic goes to the archive, but its topic page stays online and keeps collecting later posts.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e202a2&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e202a2" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/06-themenseite-supernova-1024x576.webp" alt="Topic page Linux-Kernel 7.3 on planetfoss.net with the supernova label and cards from Bootlin, heise online, UbuntuHandbook, Linuxiac, and other sources" class="wp-image-267" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/06-themenseite-supernova.webp 1920w" 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">Every topic gets its own page with all its posts, here the supernova Linux-Kernel 7.3 with reports in German and English.</figcaption></figure>

<h2 class="wp-block-heading">How the front page comes together</h2>

<p class="wp-block-paragraph">When a supernova is burning, it gets its own band at the very top above the lead story, showing the number of posts and sources and a row of cards, sorted by official announcements, news, reviews, how-tos, and videos. Whatever is in that band doesn&#8217;t show up again further down. On top of that, PlanetFOSS sends a post to the <a href="https://mastodon.social/@planetfoss">@planetfoss account on Mastodon</a> half an hour after a supernova ignites.</p>

<p class="wp-block-paragraph">For everything else, the site hands out points. The score takes into account the size of the bundle, the stars from visitors, an active supernova topic, and the weight of the source. All of that is divided by the age of the article, so older posts gradually slide down. Stories that many sources cover stay up longer, but not forever.</p>

<p class="wp-block-paragraph">For the lead story, importance beats freshness, but the candidates come from the last 24 hours and preferably bring a large image. The age of a bundle is the age of its second-newest report: if more sources keep writing, it stays up front, but a single latecomer isn&#8217;t enough. If a post has already been the lead for more than eight hours, it loses half of its points, and after 14 hours three quarters.</p>

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e22ce8&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e22ce8" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="576" 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/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-1024x576.webp" alt="PlanetFOSS front page with a large lead story on Trailblazers from GamingOnLinux, two cards and the list More top stories (Weitere Top-Meldungen) on the right, below them the sections Latest and Star moments (Neueste, Sternstunden)" class="wp-image-268" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-1024x576.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-300x169.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-768x432.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-1536x864.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-1600x900.webp 1600w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen-1280x720.webp 1280w, https://linuxundich.de/en/wp-content/uploads/2026/10/05-aufmacher-top-meldungen.webp 1920w" 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">The lead story comes from the last 24 hours, next to it are the top stories, each one from a different source.</figcaption></figure>

<p class="wp-block-paragraph">To keep one busy source from filling the whole page, the selection also looks for variety. In the lead story and the top stories next to it, every post comes from a different source, and the &#8220;Latest&#8221; section shows at most two articles from the same site. That way, smaller blogs get their spot next to the big publishers, and the front page looks a little different every time you visit.</p>

<h2 class="wp-block-heading">Statistics instead of AI</h2>

<p class="wp-block-paragraph">By the way, there&#8217;s no AI in PlanetFOSS that summarizes texts or guesses topics. Everything runs on counting, comparing, and a handful of thresholds. In my opinion, that&#8217;s actually the better way: it costs nothing, sends no data anywhere, and stays traceable. When a supernova ignites, you can say exactly why. That said, I did build the site myself with AI assistance.</p>

<p class="wp-block-paragraph">Of course, it didn&#8217;t work without some fine-tuning. Early on, for example, a supernova ignited for Microsoft Defender, even though the four news items were spread over 18 hours. Since then, an outburst has to be genuinely fresh. Ubuntu 26.10 also ignited two hours late on its release day at first, because it was measured against all Ubuntu news. That&#8217;s why version topics now get their own baseline.</p>

<p class="wp-block-paragraph">I keep an eye on cases like these, and for that the site saves a snapshot of topics, bundles, and lead stories every six hours. So the logic will surely keep changing. A wrong bundle or a comet that shouldn&#8217;t be one can be corrected by hand in the admin area. The algorithm dutifully respects those corrections on its next run.</p>

<p class="wp-block-paragraph">Just head over to <a href="https://planetfoss.net/">planetfoss.net</a> and tell me what you think. Which sources are you still missing, and which blogs, magazines, or other publications from the German- or English-speaking Linux and open source world absolutely belong on the planet? I&#8217;m happy to take suggestions in the comments. And if you run a blog yourself and would rather not be included, the site of course also offers a way to opt out.</p>

<p class="wp-block-paragraph"><strong>Update:</strong> Why the stars on PlanetFOSS no longer use frosted glass, and what that has to do with a memory leak in WebKitGTK, is covered in <a href="https://linuxundich.de/en/webkitgtk-memory-leak-backdrop-filter/">WebKitGTK 2.54: Tiny Star, Massive Memory Leak</a>.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/planetfoss-launch-linux-news-bundles-supernovas/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Samba for Sonos S1: Allowing SMB1 without throwing your whole home network wide open</title>
		<link>https://linuxundich.de/en/samba-sonos-s1-smb1-ntlmv1-secure-setup/</link>
					<comments>https://linuxundich.de/en/samba-sonos-s1-smb1-ntlmv1-secure-setup/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sun, 18 Oct 2026 15:46:40 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Arch Linux]]></category>
		<category><![CDATA[homelab]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Samba]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Sonos]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=260</guid>

					<description><![CDATA[Older Sonos speakers only play your music collection over SMB1 and NTLMv1. A dedicated user, a read-only share, and a few lines in smb.conf keep the speakers playing without leaving the rest of your home server needlessly exposed.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you still run first-generation Sonos speakers and keep your music collection on your own server, Samba quickly hands you a little problem: Without SMB1 and the old NTLMv1 login, the speakers won&#8217;t play a single track. That&#8217;s why the usual guides on the web simply turn everything back on that Samba switched off for good reason. But there&#8217;s a much cleaner way to do it, and you don&#8217;t have to give up your music.</p>



<h2 class="wp-block-heading">Why Sonos S1 still needs SMB1</h2>



<p class="wp-block-paragraph">I still have two Play:3, a Play:1, and a Connect:Amp on my network. All of them run the S1 software, for which Sonos only ships bug fixes these days. The speakers don&#8217;t just play streams, they also play my music collection from the server. According to a <a href="https://en.community.sonos.com/conversations/86047">discussion in the Sonos forum</a>, however, the S1 devices only have enough resources for SMBv1 – the old hardware simply can&#8217;t do more.</p>



<p class="wp-block-paragraph">Samba, on the other hand, retired the old protocol a long time ago. Since <a href="https://devel.samba.org/samba/history/samba-4.11.0.html">version 4.11</a>, <code>server min protocol</code> defaults to SMB2_02, and according to the <a href="https://www.samba.org/samba/security/CVE-2018-1139.html">Samba project</a>, NTLMv1 authentication has been disabled since version 4.5. The usual guides turn both back on globally with two lines. Sure, the speakers play after that, but they&#8217;re not the only ones who get the door held open for them.</p>



<p class="wp-block-paragraph">If you run an S2 system, you&#8217;re off the hook. Sonos added SMBv2 and SMBv3 there with version 13.4.1 in December 2021 and no longer speaks SMBv1 at all. S2 users can leave Samba&#8217;s defaults alone. The rest of this article is for everyone who, like me, is still attached to their old speakers and doesn&#8217;t want to throw them out over a protocol.</p>



<h2 class="wp-block-heading">What&#8217;s wrong with the quick fix</h2>



<p class="wp-block-paragraph">Samba can only allow SMB1 for the whole server, not for individual shares or devices. Ever since WannaCry exploited a hole in Microsoft&#8217;s SMB1 in 2017 at the latest, the protocol has been considered legacy baggage, and NTLMv1 makes it easy for attackers to crack captured logins. If the speaker then logs in with your regular user on top of that, it&#8217;s your main password of all things that travels across the network using the weakest method available.</p>



<p class="wp-block-paragraph">On top of that come lines that people like to copy along while they&#8217;re at it. With <code>wide links</code> and <code>allow insecure wide links</code>, Samba follows symlinks even when they point outside the share. Often the entire data directory is shared writable, too. Sure, from the outside a little home server like this is usually locked down. But the same LAN is also home to TVs, smart plugs, and speakers whose software you have no control over.</p>



<h2 class="wp-block-heading">A dedicated user just for Sonos</h2>



<p class="wp-block-paragraph">The most important step is a dedicated user that exists only for the speakers and isn&#8217;t allowed to do anything else. It needs neither a home directory nor a shell; Samba only knows it for logging in. You set the password once and don&#8217;t use it anywhere else, because with NTLMv1 you should consider it semi-public. Creating it from scratch takes two commands:</p>



<pre data-lui-lang="bash" class="wp-block-code"><code>$ sudo useradd -r -M -s /usr/bin/nologin sonos
$ sudo smbpasswd -a sonos</code></pre>



<p class="wp-block-paragraph">If you already have a user the speakers log in with, trim it down with <code>usermod</code>. It loses its shell and gets <code>/</code> as its home directory and a locked Unix password. Logging in to Samba uses the separate password from <code>smbpasswd</code> and keeps working regardless. If your speakers have been using your regular user so far, however, you&#8217;re better off creating a new one:</p>



<pre data-lui-lang="bash" class="wp-block-code"><code>$ sudo usermod -s /usr/bin/nologin -d / sonos
$ sudo passwd -l sonos</code></pre>



<h2 class="wp-block-heading">The smb.conf</h2>



<p class="wp-block-paragraph">The configuration allows SMB1 and NTLMv1 but fences in everything around it. Samba only listens on the LAN interface and not on Docker bridges or VPN tunnels. Guests are kicked out, there are no printers, and every share gets a list of users who are allowed in. You&#8217;ll of course have to adapt the name of the network interface (<code>enp0s25</code> on my machine) and the paths to your system:</p>



<pre data-lui-lang="ini" data-lui-file="smb.conf" class="wp-block-code"><code>[global]
   workgroup = WORKGROUP
   server string = bender
   server role = standalone server

   # Sonos S1: nur SMB1 + NTLMv1
   server min protocol = NT1
   server max protocol = SMB3
   ntlm auth = ntlmv1-permitted

   # nur LAN und lokal, nicht auf den Docker-Bridges
   interfaces = lo enp0s25
   bind interfaces only = yes

   map to guest = never

   # keine Drucker
   load printers = no
   printing = bsd
   printcap name = /dev/null
   disable spoolss = yes

[homes]
   browseable = no
   writable = yes
   valid users = %S
   invalid users = sonos

[musik]
   path = /data/musik
   browseable = yes
   read only = yes
   valid users = sonos anna ben lena

[data]
   path = /data
   writable = yes
   valid users = anna ben</code></pre>



<p class="wp-block-paragraph">By the way, <code>ntlmv1-permitted</code> is just the more descriptive name for the old <code>yes</code>. The <code>[musik]</code> share (German for music) is read-only; <code>sonos</code> and the family, here <code>anna</code>, <code>ben</code>, and <code>lena</code>, are allowed to read it. Even if someone cracks the speaker&#8217;s login, all they get is the music. Only <code>anna</code> and <code>ben</code> can access <code>[data]</code>, <code>wide links</code> doesn&#8217;t appear anywhere, and symlinks therefore stay within their share.</p>



<p class="wp-block-paragraph">The line <code>invalid users = sonos</code> under <code>[homes]</code> matters, too. This share offers every user their home directory, and for the speaker user that&#8217;s the root directory after the <code>usermod</code> above. Without that line, there would be a writable share <code>\\bender\sonos</code> covering the entire system. What actually works there is still governed by file permissions, but directories like <code>/tmp</code> are open to everyone.</p>



<p class="wp-block-paragraph">If you can&#8217;t set up the Sonos library from scratch right now, there&#8217;s also an intermediate step without a separate music share. In that case, add <code>sonos</code> to the <code>valid users</code> of the existing share and also set <code>read list = sonos</code>. The speaker can then still read everything the file permissions allow, but can&#8217;t write anything. In the long run, though, a separate share is clearly the better choice.</p>



<p class="wp-block-paragraph">Before you activate the new file, have <code>testparm</code> check it. It complains about typos and unknown options before Samba trips over them. Then restart the service – on Arch it&#8217;s called <code>smb</code>, on Debian and Ubuntu <code>smbd</code>. Open connections drop briefly, but mounted shares on your computers usually reconnect on their own:</p>



<pre class="wp-block-code"><code>$ sudo testparm -s
$ sudo systemctl restart smb</code></pre>



<h2 class="wp-block-heading">The music library in the Sonos app</h2>



<p class="wp-block-paragraph">Finally, add the share as a music library in the S1 app. Open <em>Settings</em> and go to <em>Music Library</em> and <em>Music Library Setup</em>. Enter the share in Windows format as the path, i.e. <code>\\bender\musik</code>, followed by the user <code>sonos</code> and its password. Sonos then indexes the collection, which can take a while for large libraries.</p>



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

<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e2a390&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e2a390" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/01-s1-app-musikbibliothek.webp 1080w" width="456" 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-s1-app-musikbibliothek-456x1024.webp" alt="Music library settings in the Sonos S1 app"/><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">In the S1 app, you add the Samba share as a new folder for the music library.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e2a6bd&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e2a6bd" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/02-s1-app-freigabe-anmeldung.webp 1080w" width="456" 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-s1-app-freigabe-anmeldung-456x1024.webp" alt="Entering the share path, user name, and password in the Sonos S1 app"/><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">The share login is the dedicated user sonos, not your regular user.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e2a9e3&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e2a9e3" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="1024" sizes="auto, (max-width: 456px) 100vw, 456px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-456x1024.webp 456w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-640x1436.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-684x1536.webp 684w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-768x1724.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen-912x2048.webp 912w, https://linuxundich.de/wp-content/uploads/2026/10/03-s1-app-bibliothek-eingelesen.webp 1080w" width="456" 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-s1-app-bibliothek-eingelesen-456x1024.webp" alt="Music library in the Sonos S1 app after indexing"/><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">Once indexing is done, the music collection from the home server shows up in the Sonos app.</figcaption></figure>

</figure>



<h2 class="wp-block-heading">Checking the result</h2>



<p class="wp-block-paragraph"><code>smbstatus</code> shows you whether everything works as intended. The <em>Protocol Version</em> column tells you who is connected with which protocol. Regular computers should keep connecting via SMB3 – my notebook, for example, uses SMB3_11 – and only the speakers show up with NT1. A guest login without a password, on the other hand, should bounce off with <code>NT_STATUS_ACCESS_DENIED</code> when you try it with <code>smbclient</code> from another computer:</p>



<pre class="wp-block-code"><code>$ sudo smbstatus -b
$ smbclient -N //bender/data -c ls</code></pre>



<p class="wp-block-paragraph">Don&#8217;t let the output of the second command mislead you. The line &#8220;Anonymous login successful&#8221; sounds like an open door, but it only concerns the connection to the server itself, which a client uses to fetch the list of shares, for example. The second line is what counts, because nobody gets into the share itself without a user name and password:</p>



<pre class="wp-block-code"><code>$ smbclient -N //bender/data -c ls
Anonymous login successful
tree connect failed: NT_STATUS_ACCESS_DENIED</code></pre>



<p class="wp-block-paragraph">On my server it looks like this: The speaker in the bedroom reads as <code>sonos</code> via NT1, while the notebook is connected with SMB3_11 and a signed connection. That&#8217;s exactly how it should be, because the old protocol stays limited to the devices that can&#8217;t do anything else. The other speakers only show up while they&#8217;re actually accessing the library:</p>



<pre class="wp-block-code"><code>$ sudo smbstatus -b

Samba version 4.25.0
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
732192  sonos        sonos        192.168.0.60 (ipv4:192.168.0.60:38427)    NT1               -                    -                    
711090  anna         anna         192.168.0.191 (ipv4:192.168.0.191:52826)  SMB3_11           -                    partial(AES-128-CMAC)</code></pre>



<h2 class="wp-block-heading">And in the long run?</h2>



<p class="wp-block-paragraph">Of course, I&#8217;m still not entirely happy with SMB1. My server already runs <a href="https://github.com/simojenki/bonob">bonob</a>, which brings Navidrome into the Sonos app as a music service. If the music comes through that, no speaker needs a Samba share anymore, and SMB1 could go for good. But if you can&#8217;t do without Sonos&#8217;s built-in library, the restricted setup is a good compromise in my view.</p>



<p class="wp-block-paragraph">All in all, the clean approach only costs you one user and a few extra lines in <code>smb.conf</code>. The speakers play just as well as with the quick fix, except that they no longer offer a path to the rest of the server. How did you hook up your old Sonos speakers? Is SMB1 still running on your network, too, or did you switch to S2 long ago?</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/samba-sonos-s1-smb1-ntlmv1-secure-setup/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Microsoft Defender for Linux desktops: Finally I can sleep at night again</title>
		<link>https://linuxundich.de/en/microsoft-defender-for-linux-desktops-finally-sleep-at-night/</link>
					<comments>https://linuxundich.de/en/microsoft-defender-for-linux-desktops-finally-sleep-at-night/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Thu, 15 Oct 2026 13:51:41 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Malware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Security]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=248</guid>

					<description><![CDATA[Microsoft brings its Defender to the Linux desktop. Against viruses that barely exist, for distributions I don't use, at prices I won't pay. Reason to celebrate, right?]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I checked the calendar twice this morning. No, it&#8217;s not April 1, it&#8217;s October 15. And yet yesterday, without so much as a wink, Microsoft announced <a href="https://techcommunity.microsoft.com/blog/microsoftdefenderatpblog/secure-linux-desktops-with-microsoft-defender/4560822">Microsoft Defender for Linux desktops</a>. For me, that&#8217;s a small redemption: For almost 20 years I&#8217;ve been typing away on Linux boxes without any protection, and somehow I&#8217;m still alive. Well, those reckless days are finally over.</p>



<p class="wp-block-paragraph">Then again: If you open the announcement, you may well get nothing but an error message. DoSed? More like MS-DOSed! Of all things, the blog for a product that&#8217;s supposed to detect and fend off attacks is pretty much down and loads at a snail&#8217;s pace. Whether someone helped it along or too many Linux users just wanted to see it with their own eyes, I don&#8217;t know. Either way, a Defender for its own web server would be a good start.</p>



<p class="wp-block-paragraph">And I had committed myself so firmly. When <a href="https://linuxundich.de/sophos-antivirus-basic-fur-linux-kostenlos/">Sophos released a free virus scanner for Linux</a> (in German) back in 2015, I cheekily wrote that you&#8217;re allowed to do online banking without a virus scanner. A few months later, in my article on <a href="https://linuxundich.de/avg-uberarbeitete-privacy-policy-from-antivir-to-spyware/">AVG&#8217;s privacy policy</a> (in German), I used the words snake oil. Eleven years later, I guess I owe the industry an apology. After all, Microsoft has spoken.</p>



<h2 class="wp-block-heading">Microsoft discovers the Linux desktop</h2>



<p class="wp-block-paragraph">The real bombshell sits in the very first sentence of the announcement: “As more developers begin to use Linux desktops”. So Microsoft itself confirms that more and more people run Linux on the desktop. We Linux users have been cracking jokes about the Year of the Linux Desktop for decades. Now it&#8217;s proclaimed by none other than the company from Redmond. I never thought I&#8217;d read that confirmation in a press release for security software.</p>



<p class="wp-block-paragraph">If you&#8217;ve been reading along for a while, you know the backstory. In 2009, Microsoft had to confess to the US Securities and Exchange Commission that <a href="https://linuxundich.de/linux-ist-nun-offiziell-ein-konkurrent-von-microsoft/">Linux is officially a competitor</a> (in German). In 2014, Microsoft then declared that as a server system, Linux <a href="https://linuxundich.de/microsoft-ueber-linux-als-server-system-thats-linux-falls-short/">“falls short”</a> (in German). Today the company sells protection software for Linux servers and Linux desktops. So Gandhi was right, he just forgot the last stage: First they laugh at you, then they fight you, then they sell you a virus scanner.</p>



<h2 class="wp-block-heading">What Defender can do on the Linux desktop</h2>



<p class="wp-block-paragraph">Technically, by the way, this isn&#8217;t new software at all. Microsoft uses the same agent it has been offering for Linux servers for a few years now. Defender figures out on its own whether it&#8217;s running on a server or a workstation. That&#8217;s real progress: In 2014, the Microsoft homepage still <a href="https://linuxundich.de/uops-microsoft-homepage-erkennt-linux-als-windows-8-1/">sold my Linux as Windows 8.1</a> (in German). Today Redmond can at least tell a server from a desktop.</p>



<p class="wp-block-paragraph">On board are a “next-gen” virus scanner, endpoint detection and response (EDR), vulnerability management, and a device inventory. For emergencies, there&#8217;s Live Response and Device Isolation. In other words: Corporate IT gets a shell on your machine and can cut it off the network with a mouse click. Back in the day, we&#8217;d have called that a remote access trojan and hunted it down with ClamAV. Today it&#8217;s called enterprise-grade protection and comes with a license agreement.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e551ae&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e551ae" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="727" 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/en/wp-content/uploads/2026/10/microsoft-defener-portal-1024x727.webp" alt="Microsoft Defender portal with deployment options for Linux devices: automatic, via package, script, or file" class="wp-image-246" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/microsoft-defener-portal-1024x727.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/microsoft-defener-portal-300x213.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/microsoft-defener-portal-768x545.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/microsoft-defener-portal-1536x1090.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/microsoft-defener-portal.webp 1710w" 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">In the Microsoft Defender portal, you simply pick Linux as the operating system and roll out protection via package, script, or file – Redmond now treats the penguin as a customer to be taken seriously.</figcaption></figure>



<p class="wp-block-paragraph">Supported are RHEL, CentOS, Ubuntu, Debian, SLES, Fedora, and Oracle Linux, running Gnome, KDE, or any other desktop. That a security product of all things lists CentOS, which hasn&#8217;t received updates since 2024, has a certain charm. Arch Linux, on the other hand, is missing from the list. So sadly I remain unprotected – I use Arch, btw. And, to be perfectly honest, I&#8217;m a little relieved.</p>



<h2 class="wp-block-heading">Who is this actually for?</h2>



<p class="wp-block-paragraph">You won&#8217;t find Defender as a package in your software center, and it&#8217;s certainly not free. You need Microsoft Defender for Endpoint Plan 2 or a Microsoft 365 E5 or E7 license. A Phoronix reader asked in the forum if someone could please translate these marketing terms into plain language. Happy to help: It&#8217;s not meant for your average Joe&#8217;s Linux. And anyway, it&#8217;s still in public preview.</p>



<p class="wp-block-paragraph">All joking aside: Microsoft does have a point. Developer machines are hooked up to Git repos, CI/CD pipelines, and cloud accounts, and whoever breaks in there gets a grip on the entire supply chain. The real target audience, though, is compliance departments. They finally have a checkbox that lets them allow Linux notebooks in the company. Whether you&#8217;ll still be allowed to use <code>sudo</code> is another story. Microsoft already <a href="https://linuxundich.de/microsoft-patentiert-sudo/">patented sudo back in 2009</a> (in German), after all.</p>



<p class="wp-block-paragraph">The best summary came from a reader in the Phoronix forum: “Number of viruses on Linux: 1”. In my opinion, that hits the nail on the head. If you use Linux privately, install software from your distro&#8217;s repositories, and don&#8217;t blindly run every script from the internet with root privileges, you still don&#8217;t need a virus scanner. A Defender whose main job on Linux is hunting Windows malware won&#8217;t change that.</p>



<p class="wp-block-paragraph">There&#8217;s just one punchline I can&#8217;t resist at the end. The German state of Schleswig-Holstein wants to throw <a href="https://linuxundich.de/schleswig-holstein-stellt-auf-linux-und-libreoffice-um/">Windows and Microsoft Office</a> (in German) out of its administration and schools by the end of 2026. Right on the home stretch, Microsoft shows up at the door with the matching Defender for the new Linux machines. Who says Redmond isn&#8217;t flexible? What do you think: genuine care, telemetry, or just good business?</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/microsoft-defender-for-linux-desktops-finally-sleep-at-night/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Wireless mouse lagging? How to fix USB 3.0 interference</title>
		<link>https://linuxundich.de/en/wireless-mouse-lag-usb-3-interference/</link>
					<comments>https://linuxundich.de/en/wireless-mouse-lag-usb-3-interference/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Wed, 14 Oct 2026 22:47:30 +0000</pubDate>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[input-devices]]></category>
		<category><![CDATA[logitech]]></category>
		<category><![CDATA[usb]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=239</guid>

					<description><![CDATA[If your wireless mouse stutters or your wireless keyboard drops keystrokes, a USB 3.0 port is often to blame: it interferes with the 2.4 GHz signal. An extension cable usually fixes it in minutes.]]></description>
										<content:encoded><![CDATA[
<div class="wp-block-group lui-no-link-marker lui-no-autolink has-border-color has-base-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-0d6366a6 wp-block-group-is-layout-constrained" style="border-color:var(--wp--preset--color--line);border-width:1px;border-radius:8px;margin-top:0;margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)">
<p class="has-muted-color has-text-color has-small-font-size wp-block-paragraph" style="font-weight:700;letter-spacing:0.08em;text-transform:uppercase">Updated October 15, 2026</p>



<p class="has-small-font-size wp-block-paragraph">I brought this article from 2014 up to date: the links to Intel and Logitech point to the official sources again, a step-by-step guide sums up the fixes, and the charts have been redrawn. The problem itself hasn&#8217;t changed, USB 3.0 still interferes with 2.4 GHz wireless today.</p>
</div>



<p class="wp-block-paragraph">I have to admit: I&#8217;m a fan of wireless mice. Sure, ordinary rechargeable batteries drain far too quickly, but Eneloop batteries take care of that nicely. Mousing around without a cable is simply more comfortable. When I switched to a new computer and installed Arch Linux, though, my previously flawless Logitech wireless mouse drove me to despair.</p>



<p class="wp-block-paragraph">Where I used to move the cursor across the screen with precision, after the switch it just jerked and stuttered along miserably. The cause wasn&#8217;t the system, as I first suspected. The culprit is USB 3.0: the fast ports get in the way of wireless keyboards and mice. By the way, this isn&#8217;t a Linux problem, the mouse stutters on Windows just the same.</p>



<p class="wp-block-paragraph">Tracking down the cause cost me quite a few nerves over several weeks. I suspected the new computer, combed through Arch Linux forums for problems with USB mice and tried the mouse&#8217;s dongle in every port on the machine. No matter what I did, the mouse simply refused to work as precisely as I was used to from Logitech.</p>



<p class="wp-block-paragraph">Not even the USB port of the monitor right next to the computer helped. The mouse itself, a Logitech Anywhere MX, wasn&#8217;t to blame either: it worked flawlessly on other computers. In other words, I had tried all the obvious tips, and nothing helped. In the end, it was pure chance that put me on the right track.</p>



<h2 class="wp-block-heading" id="mouse-jumps">When your wireless mouse jumps all over the screen</h2>



<p class="wp-block-paragraph">I stumbled on the solution while rearranging my desk. My second monitor has USB ports as well, and lo and behold: with the Logitech dongle plugged into that monitor, about a meter away from the computer as the crow flies, the mouse works as usual again. No more lag, no dropouts, no twitching. So simple that it&#8217;s almost annoying I didn&#8217;t think of it right away.</p>



<p class="wp-block-paragraph">You&#8217;ll find the explanation if you add &#8220;USB 3.0&#8221; to your search for a &#8220;choppy mouse&#8221; or &#8220;mouse lag&#8221;. Because that&#8217;s where the problem lies: USB 3.0 ports and cables radiate broadband noise into their surroundings that also covers the 2.4 GHz band. That&#8217;s exactly where the receivers of mice and keyboards operate, and they simply can&#8217;t compete with the noise anymore.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e57f8b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e57f8b" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="853" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2014/05/logitech-usb-dongle-640x427.jpg 640w, https://linuxundich.de/wp-content/uploads/2014/05/logitech-usb-dongle-768x512.jpg 768w, https://linuxundich.de/wp-content/uploads/2014/05/logitech-usb-dongle.jpg 1280w" width="1280" 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/2014/05/logitech-usb-dongle.jpg" alt="Logitech USB receiver in a USB port" style="width:100%"/><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">Plug your wireless mouse&#8217;s USB receiver in as far away from USB 3.0 ports as possible, ideally on an extension cable right next to the mouse.</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e582e7&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e582e7" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="853" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2014/05/logitech-maus-640x427.jpg 640w, https://linuxundich.de/wp-content/uploads/2014/05/logitech-maus-768x512.jpg 768w, https://linuxundich.de/wp-content/uploads/2014/05/logitech-maus.jpg 1280w" width="1280" 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/2014/05/logitech-maus.jpg" alt="Logitech Anywhere MX wireless mouse" style="width:100%"/><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">All wireless mice and keyboards that use the 2.4 GHz band are affected, no matter whether they come from Logitech or another manufacturer.</figcaption></figure>



<h2 class="wp-block-heading" id="intel-knows">Intel has known about it since 2012</h2>



<p class="wp-block-paragraph">Intel has known about the problem for a long time. In the white paper <a href="https://cdrdv2.intel.com/v1/dl/getContent/841692?fileName=usb30radiofrequencyinterference.pdf">USB 3.0* Radio Frequency Interference Impact on 2.4 GHz Wireless Devices</a> from April 2012, the chipmaker describes over 22 pages how plugs, sockets and cables of USB 3.0 devices interfere with wireless signals in the 2.4 GHz band. The noise sits right in the middle of the band, so a filter won&#8217;t help. It lowers the signal-to-noise ratio and with it the sensitivity and range of the receivers.</p>



<p class="wp-block-paragraph">Intel advises manufacturers to shield USB 3.0 hardware better. What&#8217;s left for you is the practical advice: don&#8217;t plug the wireless receivers of your keyboard and mouse into a USB 3.0 port, use a classic USB 2.0 port instead. You can usually spot USB 3.0 ports by their blue insert or the SS logo for SuperSpeed, USB 2.0 by the white or black plastic tab. The small receivers don&#8217;t benefit from the higher speed anyway.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e5a8b8&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e5a8b8" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1608" height="938" 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/en/wp-content/uploads/2026/10/usb3-noise-spectrum.png" alt="Line chart: interference power of a USB 3.0 data signal from 0 to 6 GHz, about -58 dBm/100 kHz in the marked 2.4 GHz band, down at the noise floor above 4.5 GHz" class="wp-image-242" style="width:100%" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-spectrum.png 1608w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-spectrum-300x175.png 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-spectrum-1024x597.png 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-spectrum-768x448.png 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-spectrum-1536x896.png 1536w" 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">The noise spectrum of an active USB 3.0 port reaches well beyond 2.4 GHz and thus covers the band used by wireless mice and keyboards. (Data: Intel)</figcaption></figure>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e5ba85&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e5ba85" class="wp-block-image size-full wp-lightbox-container"><img loading="lazy" decoding="async" width="1608" height="938" 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/en/wp-content/uploads/2026/10/usb3-noise-24ghz.png" alt="Comparison chart from 2.3 to 2.6 GHz: with a USB 3.0 device connected, the noise in the 2.4 GHz band is up to 20 dB higher than without" class="wp-image-243" style="width:100%" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-24ghz.png 1608w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-24ghz-300x175.png 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-24ghz-1024x597.png 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-24ghz-768x448.png 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/usb3-noise-24ghz-1536x896.png 1536w" 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">With a USB 3.0 device connected, the noise in the 2.4 GHz band is about 20 dB higher, and the mouse&#8217;s weak signal gets lost in it. (Data: Intel)</figcaption></figure>



<h2 class="wp-block-heading" id="logitech-distance">Logitech also recommends more distance</h2>



<p class="wp-block-paragraph">Logitech hasn&#8217;t missed the problem either, USB 3.0 isn&#8217;t exactly new, after all. On the support page <a href="https://support.logi.com/hc/en-us/articles/360023414273">Wireless product not working properly when also using a USB 3.0 device</a>, the company lists the typical symptoms: mouse and keyboard respond with a delay, keystrokes or mouse clicks get lost, and the range between device and receiver shrinks noticeably.</p>



<p class="wp-block-paragraph">Logitech recommends plugging the receiver in as far away from USB 3.0 ports and devices as possible, for example on the opposite side of the computer, and bringing it as close to the mouse or keyboard as you can. According to the support page, Logitech even provides affected customers with a USB extension cable. You have to request it from support, though the page doesn&#8217;t say whether any conditions apply.</p>



<h2 class="wp-block-heading" id="fix-the-lag">How to get rid of the lag</h2>



<p class="wp-block-paragraph">In the end, it all comes down to a few simple steps. Ideally, try them in this order:</p>



<ol class="wp-block-list">
<li><strong>Move the receiver:</strong> Plug the dongle into a USB 2.0 port, as far away from USB 3.0 sockets as possible. Watch out for front ports: on newer cases, those are often USB 3.0 as well.</li>

<li><strong>Use an extension cable:</strong> A simple <a href="https://www.amazon.com/dp/B07N1C8KJV/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">USB extension cable</a> gets the receiver out of the interference zone and puts it right next to your mouse and keyboard. Whether the cable supports USB 2.0 or 3.0 doesn&#8217;t matter, the receiver only runs at USB 2.0 speed anyway.</li>

<li><strong>Use your monitor as a hub:</strong> If your monitor has USB ports, plug the receiver in there. That&#8217;s exactly what fixed it for me.</li>

<li><strong>Keep interference sources away:</strong> External drives, card readers, hubs and cables with USB 3.0 don&#8217;t belong right next to the receiver.</li>

<li><strong>Ask the manufacturer:</strong> If you own a Logitech device, you can request the extension cable from Logitech support.</li>
</ol>



<h2 class="wp-block-heading" id="not-just-mice">It&#8217;s not just wireless mice</h2>



<p class="wp-block-paragraph">In general, you should keep devices with 2.4 GHz radios away from USB 3.0 hardware. Besides the ports themselves, cables and electronics of card readers or external drives can also cause interference. And it&#8217;s not just wireless mice and keyboards that are affected: Bluetooth, Wi-Fi in the 2.4 GHz band and baby monitors all operate in the same range. By the way, USB 3.0 is now officially called USB 3.2 Gen 1, but the new name doesn&#8217;t change the problem.</p>



<p class="wp-block-paragraph">There&#8217;s a catch with laptops that only have USB 3.0 ports or even just USB-C. A short <a href="https://www.amazon.com/dp/B0G2SLSN82/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">USB-C to USB-A extension</a> helps here, moving the receiver at least a little away from the case. If you don&#8217;t want a dongle dangling on a cable at all, go for a mouse that talks to the built-in radio via Bluetooth. Bluetooth isn&#8217;t completely immune to USB 3.0 noise either, though.</p>



<p class="wp-block-paragraph">For me, moving the receiver to the monitor fixed the problem in one go back then, and the cursor has been gliding precisely across the desktop ever since. For weeks I blamed Arch Linux and the new computer, when the solution was just a meter away. Have you had similar experiences with USB 3.0, or do you have a better solution?</p>



<div class="wp-block-group lui-no-link-marker lui-no-autolink has-border-color has-base-2-background-color has-background has-global-padding is-layout-constrained wp-container-core-group-is-layout-389236d9 wp-block-group-is-layout-constrained" style="border-color:var(--wp--preset--color--line);border-width:1px;border-radius:8px;margin-top:var(--wp--preset--spacing--50);margin-bottom:var(--wp--preset--spacing--50);padding-top:var(--wp--preset--spacing--40);padding-right:var(--wp--preset--spacing--40);padding-bottom:var(--wp--preset--spacing--40);padding-left:var(--wp--preset--spacing--40)">
<p class="has-muted-color has-text-color has-small-font-size wp-block-paragraph" style="font-weight:700;letter-spacing:0.08em;text-transform:uppercase">What you need</p>



<p class="wp-block-paragraph">The mouse from the article is no longer sold. As of October 2026:</p>



<p class="wp-block-paragraph" style="margin-top:var(--wp--preset--spacing--40);margin-bottom:var(--wp--preset--spacing--20);font-weight:700">Extension, mouse and batteries</p>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-957a3321 wp-block-columns-is-layout-flex" style="border-top-color:var(--wp--preset--color--line);border-top-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:70%">
<p class="has-small-font-size wp-block-paragraph"><strong>UGREEN USB 2.0 extension cable</strong><br>Gets the receiver out of the USB 3.0 interference zone and puts it right next to your mouse and keyboard.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<div class="wp-block-buttons is-content-justification-right is-layout-flex wp-container-core-buttons-is-layout-c5ec1813 wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline is-style-outline--3"><a class="wp-block-button__link has-small-font-size has-custom-font-size wp-element-button" href="https://www.amazon.com/dp/B07N1C8KJV/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">On Amazon</a></div>
</div>
</div>
</div>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-957a3321 wp-block-columns-is-layout-flex" style="border-top-color:var(--wp--preset--color--line);border-top-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:70%">
<p class="has-small-font-size wp-block-paragraph"><strong>AXFEE USB-C to USB-A extension</strong><br>For laptops with USB-C: the receiver sits on the cable, a little away from the case.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<div class="wp-block-buttons is-content-justification-right is-layout-flex wp-container-core-buttons-is-layout-c5ec1813 wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline is-style-outline--4"><a class="wp-block-button__link has-small-font-size has-custom-font-size wp-element-button" href="https://www.amazon.com/dp/B0G2SLSN82/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">On Amazon</a></div>
</div>
</div>
</div>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-957a3321 wp-block-columns-is-layout-flex" style="border-top-color:var(--wp--preset--color--line);border-top-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:70%">
<p class="has-small-font-size wp-block-paragraph"><strong>Logitech MX Anywhere 3S</strong><br>Successor to the Anywhere MX, ships without a dongle and connects via Bluetooth through your computer&#8217;s built-in radio.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<div class="wp-block-buttons is-content-justification-right is-layout-flex wp-container-core-buttons-is-layout-c5ec1813 wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline is-style-outline--5"><a class="wp-block-button__link has-small-font-size has-custom-font-size wp-element-button" href="https://www.amazon.com/dp/B07W6GJWZR/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">On Amazon</a></div>
</div>
</div>
</div>



<div class="wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-957a3321 wp-block-columns-is-layout-flex" style="border-top-color:var(--wp--preset--color--line);border-top-width:1px;margin-top:0;margin-bottom:0;padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)">
<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:70%">
<p class="has-small-font-size wp-block-paragraph"><strong>Panasonic eneloop AA</strong><br>Low self-discharge batteries that last much longer in a wireless mouse than ordinary NiMH cells.</p>
</div>



<div class="wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:30%">
<div class="wp-block-buttons is-content-justification-right is-layout-flex wp-container-core-buttons-is-layout-c5ec1813 wp-block-buttons-is-layout-flex">
<div class="wp-block-button is-style-outline is-style-outline--6"><a class="wp-block-button__link has-small-font-size has-custom-font-size wp-element-button" href="https://www.amazon.com/dp/B00JHKSMJU/?tag=linuxundich-20" target="_blank" rel="sponsored nofollow noopener">On Amazon</a></div>
</div>
</div>
</div>



<p class="has-muted-color has-text-color has-small-font-size wp-block-paragraph" style="margin-top:var(--wp--preset--spacing--40)"><strong>Ad:</strong> All links in this box are Amazon affiliate links. As an Amazon Associate I earn from qualifying purchases; the price stays the same for you. I deliberately don&#8217;t list prices because they change too often. You&#8217;ll see the current price directly on Amazon.</p>
</div>


<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/wireless-mouse-lag-usb-3-interference/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>30 Years of KDE: Plasma 6.8 Drops X11, Plus a Birthday Documentary</title>
		<link>https://linuxundich.de/en/30-years-kde-plasma-6-8-documentary/</link>
					<comments>https://linuxundich.de/en/30-years-kde-plasma-6-8-documentary/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Wed, 14 Oct 2026 21:50:52 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[Desktop Environment]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=237</guid>

					<description><![CDATA[KDE celebrates its 30th birthday and ships Plasma 6.8, which finally leaves X11 behind and runs on Wayland only.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">Exactly 30 years ago today, on October 14, 1996, a student from Tübingen named Matthias Ettrich went looking for fellow developers on Usenet. His goal: a graphical interface for Linux that ordinary end users could handle, not just admins. That call turned into KDE, one of the largest communities in free software. For the birthday there are three things: Plasma 6.8, a documentary, and a fundraiser.</p>



<p class="wp-block-paragraph">The name originally stood for Kool Desktop Environment, a nod to the commercial Common Desktop Environment (CDE) on other Unix systems. Because KDE was built on Qt, whose license wasn&#8217;t really free back then, GNOME came about as the counter-project. The short version of the years that followed, <a href="https://www.heise.de/hintergrund/Linux-und-Unix-Desktop-KDE-feiert-30-Geburtstag-11487966.html">according to heise</a> (in German): the KDE e.V. association in 1997, KDE 1 in 1998, later the much-loved KDE 3, and in 2008 the rather bumpy KDE 4.</p>



<p class="wp-block-paragraph">KDE 4 drove a lot of users away at the time, and some still maintain its predecessor today as the Trinity desktop. At the same time, that release brought along programs like Dolphin and Okular as well as the Plasma interface. Today the project is split into the KDE Frameworks libraries, the KDE Gear applications, and the KDE Plasma desktop. Plasma now also runs on smartphones, TVs, and the Steam Deck.</p>



<h2 class="wp-block-heading">Plasma 6.8: So Long, X11</h2>



<p class="wp-block-paragraph">Right on time for the birthday, <a href="https://kde.org/de/announcements/plasma/6/6.8.0/">Plasma 6.8 is out</a>, and this release draws a thick line: Plasma no longer starts an X11 session and runs on Wayland only. GNOME already led the way here. Older programs that still need X11 keep working through XWayland. The KDE applications themselves are supposed to keep working on X11 desktops for the time being.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e6952b&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e6952b" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="800" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_01-640x400.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_01-768x480.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_01-1280x800.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_01-1536x960.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_01.webp 1600w" width="1280" 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/kde-linux-plasma-6-8_01-1280x800.webp" alt="KDE Plasma desktop with the system information window and the Dolphin file manager, Plasma 6.8.80 on Wayland."/><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">The work goes on: KDE Linux already ships Plasma 6.8.80 in its testing channel, the development version of the upcoming Plasma 6.9.</figcaption></figure>



<p class="wp-block-paragraph">Under the hood, KWin now renders through OpenGL ES only, <a href="https://9to5linux.com/kde-plasma-6-8-desktop-environment-officially-released-heres-whats-new">according to 9to5Linux</a>, with Vulkan to follow later. NVIDIA graphics get triple buffering by default, and the Plasma shell starts faster. In everyday use, Spectacle stands out: screen recordings now capture system audio and the microphone. Also new are the Kup backup tool and dwell clicking, and Steam windows finally get shadows and rounded corners.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e69968&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e69968" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="800" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_02-640x400.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_02-768x480.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_02-1280x800.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_02-1536x960.webp 1536w, https://linuxundich.de/wp-content/uploads/2026/10/kde-linux-plasma-6-8_02.webp 1600w" width="1280" 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/kde-linux-plasma-6-8_02-1280x800.webp" alt="KDE Plasma desktop with the application launcher, the Discover software center, and a browser window open."/><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">Application launcher and Discover on KDE Linux: it takes a while until something as big as Plasma lands on your desktop.</figcaption></figure>



<p class="wp-block-paragraph">When you get Plasma 6.8 depends, as usual, on your distribution. According to <a href="https://www.omgubuntu.co.uk/2026/10/kde-plasma-6-8-released">OMG! Ubuntu</a>, rolling-release distros like Arch Linux will ship it in the next few days, while KDE neon will take a few weeks. Kubuntu 26.10 just missed the date and stays on Plasma 6.7. So there it&#8217;s a matter of waiting or hoping for a backport.</p>



<h2 class="wp-block-heading">KDE: The Documentary</h2>



<p class="wp-block-paragraph">If you&#8217;re interested in the story behind the version numbers, set aside a good hour. The YouTube channel CultRepo made a documentary with support from KDE, which premiered at 7:30 p.m. German time (CEST). <a href="https://www.youtube.com/watch?v=1Vyzla9mx4g">KDE: The Documentary – The Story of Free Software Underdogs</a> runs for just over an hour.</p>



<figure class="wp-block-embed is-type-video is-provider-youtube wp-block-embed-youtube"><div class="wp-block-embed__wrapper">
<figure class="lui-video-embed"><button type="button" class="lui-video-facade" data-embed-src="https://www.youtube-nocookie.com/embed/1Vyzla9mx4g?feature=oembed&#038;autoplay=1" data-title="KDE: The Documentary — The Story of Free Software Underdogs" aria-label="Load and play video: KDE: The Documentary — The Story of Free Software Underdogs"><img decoding="async" src="https://linuxundich.de/en/wp-content/uploads/lui-cache/video_youtube_1Vyzla9mx4g-dc950f25.jpg" alt="" loading="lazy" width="1280" height="720"><span class="lui-video-facade-play" aria-hidden="true"></span><span class="lui-video-facade-note">The video is only loaded from YouTube after you click.</span></button></figure>
</div></figure>



<p class="wp-block-paragraph">The documentary covers the highs and lows of three decades: the fight over the Qt license and the rivalry with GNOME, the success of KHTML, which later became WebKit and thus also Chrome, and the KDE 4 debacle. Among those interviewed are Matthias Ettrich, Lars Knoll, Aaron Seigo, Nate Graham, and – a nice touch for the GNOME camp – GNOME co-founder Miguel de Icaza.</p>



<h2 class="wp-block-heading">Birthday Donations</h2>



<p class="wp-block-paragraph">Of course, free software doesn&#8217;t run without money either. That&#8217;s why KDE has launched a <a href="https://kde.org/fundraisers/yearend2026/">year-end fundraiser</a>, with milestones at 50,000, 75,000, and 100,000 euros listed on the page. Among other things, the money is meant to go into accessible and energy-efficient software. If you want to support KDE in the long run, you can become a supporting member. Fittingly for its founding year, KDE raised that goal from 1,500 to 1,996 members.</p>



<h2 class="wp-block-heading">KDE and Me</h2>



<p class="wp-block-paragraph">My own Linux journey started with window managers like Window Maker and Enlightenment E17. At some point, around the KDE 3.x days I&#8217;d guess, I ended up with KDE as well. A complete desktop with all the bells and whistles – for Linux, that was outstanding at the time. Until then, you usually had to piece together a panel, a file manager, and all the rest yourself.</p>



<p class="wp-block-paragraph">That said, I never became a KDE devotee. Back when I was posting as “Chrissss” on ubuntuusers.de, the big German Ubuntu community, I was firmly on the GNOME side and regularly asked the KDE folks for help whenever a wiki article needed a KDE section. For an article about Bluetooth mice I did install KDE 4 once – and was surprised it didn&#8217;t even come with Bluetooth settings.</p>



<p class="wp-block-paragraph">Still, KDE never quite let go of me. In 2009 I <a href="https://linuxundich.de/windows-7-fail-und-gratulation-an-kde/">congratulated KDE on 4.3</a> (in German) here on the blog and wondered whether the developers might yet convince an old GNOME guy like me to switch. That didn&#8217;t quite work out. But I brought KDE Connect into GNOME <a href="https://linuxundich.de/gnome-erweiterung-zum-steuern-von-android-handys-via-kdeconnect/">via an extension</a> (in German), and when I write Markdown on KDE, I do it <a href="https://linuxundich.de/kate-als-markdown-editor-mit-live-vorschau/">with Kate</a> (in German). If KDE, then all the way.</p>



<p class="wp-block-paragraph">All in all, the Linux desktop would look very different today without KDE – and without the never-ending rivalry between the two, so would GNOME. In my opinion, the project did a lot to make Linux usable on ordinary computers in the first place. So: happy 30th birthday, KDE! How long have you been using KDE, and which version stuck with you the most?</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/30-years-kde-plasma-6-8-documentary/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>GNOME Needs Volunteers for the Extensions Team: EGO Reviews Are Drowning in AI Submissions</title>
		<link>https://linuxundich.de/en/gnome-needs-volunteers-extensions-team/</link>
					<comments>https://linuxundich.de/en/gnome-needs-volunteers-extensions-team/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Tue, 13 Oct 2026 16:32:48 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[AI]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GNOME Extensions]]></category>
		<category><![CDATA[GNOME Shell]]></category>
		<category><![CDATA[News]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=229</guid>

					<description><![CDATA[Javad Rahmatzadeh volunteers to review extensions for extensions.gnome.org and is now asking for help. The team needs reviewers, people to improve the Shexli linter, and donations.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">If you use GNOME Shell extensions, you know <a href="https://extensions.gnome.org/">extensions.gnome.org</a>, EGO for short, as the central place to get them. Every extension there is reviewed by humans before it goes live. And according to a <a href="https://blogs.gnome.org/jrahmatzadeh/2026/10/12/help-ego-team/">call from Javad Rahmatzadeh</a>, those very humans are increasingly at their limit. The whole post reads like a cry for help, and in my eyes that is exactly what it is.</p>



<p class="wp-block-paragraph">Javad joined the team in 2020 because documentation for Shell extensions was missing back then. So YouTube tutorials came first, and later, on invitation from Sriram Ramkrishna and his GNOME Extensions Rebooted project, the Port Guide for GNOME Shell 40. It helped many authors move from GTK3 to GTK4, and according to Javad, plenty of them would have given up without it.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e77943&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e77943" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="927" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="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_-1280x927.webp 1280w, 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" width="1280" 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="The blog post on blogs.gnome.org with the Ecosystem header image, followed by the first paragraphs about the beginnings in 2020."/><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">Javad&#8217;s call in the GNOME blog starts by looking back at 2020, when documentation for Shell extensions was still missing.</figcaption></figure>



<p class="wp-block-paragraph">Today all the <a href="https://gjs.guide/extensions/">documentation</a> you need for your own extensions exists. Still, many people vibe-code their extensions and submit them to EGO without ever having looked at the docs. That leaves Javad with the feeling that the documentation feeds LLMs more than human developers. Since early 2025 submissions have exploded, and the vast majority are AI-generated.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e77d4f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e77d4f" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="927" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="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_-1280x927.webp 1280w, 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" width="1280" 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="Browser window with extensions.gnome.org sorted by popularity: lock screen extensions at the top, the call for volunteers in the second tab."/><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">On extensions.gnome.org the extensions are spread over 332 pages, and a human reviewed every single one of them beforehand.</figcaption></figure>



<p class="wp-block-paragraph">For years Javad has answered questions daily and reviewed extensions, often 4 to 10 hours a day. That work is unpaid and easily matches a full-time job, while monthly donations sit close to zero. The result: Javad is close to burnout and writes that without financial support it won&#8217;t be possible to keep going at this pace. At least there was the <a href="https://www.youtube.com/live/Q4O7dhreLDU?t=4081">GNOME Pants Award</a> in 2026.</p>



<p class="wp-block-paragraph">The main problem is quality. Extensions run directly inside the GNOME Shell process, so bad AI code threatens the stability of the whole desktop. According to Javad, LLMs produce needlessly complex, hard-to-read code that takes much longer to review. Some submitters even let an AI write their replies, and once the instructions meant for the model accidentally ended up in the text.</p>



<p class="wp-block-paragraph">There is a bright spot, though: Javad&#8217;s <a href="https://blogs.gnome.org/jrahmatzadeh/2026/07/27/ego-ai-reference/">open letter to AI models</a> corrected specific code patterns the models kept getting wrong. Within a few weeks most of those mistakes were gone. Javad sees that as good news, but also as proof of how heavily the documentation feeds the models. That doesn&#8217;t solve the review problem itself.</p>



<h2 class="wp-block-heading">Who Is Needed?</h2>



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

<li><strong>Reviewers:</strong> Developers who know GTK and the GNOME Shell source code. The role is voluntary, and availability during the week should be consistent. Javad offers mentoring and will teach you the review process.</li>


<li><strong>Shexli helpers:</strong> The <a href="https://github.com/NiffirgkcaJ/shexli-gnome-extension">linter</a> has existed for a few months and is meant to make reviews easier. Reviewers report false negatives and false positives, and whoever helps fixes them in Shexli. The team needs someone who improves the linter.</li>


<li><strong>Donors:</strong> If you want to support the work financially, there is a <a href="https://jrahmatzadeh.pages.gitlab.gnome.org/ego-donations/">donation page</a>.</li>

</ul>



<p class="wp-block-paragraph">If you want to join the review team or help with Shexli, get in touch on the Matrix channel <a href="https://matrix.to/#/#extensions:gnome.org">#extensions:gnome.org</a>. Javad names no deadline, but does give a reason to hurry: without more help, things can&#8217;t go on at this pace. So better sooner than later, even for a first question with no commitment.</p>



<p class="wp-block-paragraph">In my eyes this is a wake-up call for everyone who uses GNOME extensions day to day. Without reviewers there are no vetted extensions, and without those, many of us would be missing a good piece of GNOME. If you have the time and the know-how, think about it seriously. Everyone else can at least throw a few euros into the donation jar.</p>



<h2 class="wp-block-heading">Ahem. Me Too.</h2>



<p class="wp-block-paragraph">I have to admit I feel called out here myself. With <a href="https://linuxundich.de/en/projects/pulsgeber/">Pulsgeber</a> I wrote a GNOME Shell extension that was built with AI assistance. And yes, I have real respect for the step of submitting it to EGO. The thought that someone has to go through the resulting code line by line makes me a bit uneasy. I don&#8217;t want to dump work on anyone, least of all a team that is already running at its limit.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e78584&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e78584" class="wp-block-image wp-lightbox-container"><img loading="lazy" decoding="async" height="855" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="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_-1280x855.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/gnome-extension-pulsgeber.de_.webp 1420w" width="1280" 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="The TUXEDO Control Center in the background, on the right the opened Quick Settings with the TCC Profile tile and the choices Default, Cool and breezy and Powersave extreme."/><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 puts the TUXEDO profiles into the GNOME Quick Settings: you then pick the device&#8217;s power profiles without detouring through the Control Center.</figcaption></figure>



<p class="wp-block-paragraph">Still, in my eyes you shouldn&#8217;t brand every AI contribution as AI slop. Such extensions move a lot of things forward and enable features that used to be out of reach. In the end what counts is the quality of the code, not the tool it came from. The problem is unreviewed masses, not AI itself.</p>



<p class="wp-block-paragraph">Behind all this lies a question for me: AI code is quickly generated, but someone still has to read and review it. That probably doesn&#8217;t only hit EGO, but every project that takes contributions from outside and checks them before release. What do you think: is the flood of AI submissions a problem on other platforms too, and how should projects deal with it?</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/gnome-needs-volunteers-extensions-team/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>Gnomos: Control Sonos Speakers from the GNOME Desktop, Even Old Models</title>
		<link>https://linuxundich.de/en/gnomos-sonos-gnome-desktop/</link>
					<comments>https://linuxundich.de/en/gnomos-sonos-gnome-desktop/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Mon, 12 Oct 2026 18:16:41 +0000</pubDate>
				<category><![CDATA[GNU/Linux]]></category>
		<category><![CDATA[GNOME]]></category>
		<category><![CDATA[GTK]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Sonos]]></category>
		<category><![CDATA[Streaming]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=226</guid>

					<description><![CDATA[Gnomos is a free Sonos client for GNOME built with GTK4 and libadwaita. The app plays music, groups rooms and shows synced lyrics, all without a Sonos account. Even first-generation devices that the official apps no longer support stay under your control.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">I have had Sonos speakers in my house for years, but on Linux I was missing a decent way to control them. With <a href="https://github.com/janbar/noson-app">Noson-App</a> there is a free Sonos client, sure. But I prefer apps that integrate properly into the GNOME desktop, and in my opinion there is still a lot of untapped potential in Noson. That is no criticism of the project, not every developer feels like wrestling with GTK and GNOME.</p>



<p class="wp-block-paragraph">So I built a client myself: Gnomos is based on GTK4 and libadwaita and is meant to feel like a perfectly normal part of GNOME. You can download the current version 0.28.5 as a <a href="https://github.com/linuxundich/gnomos/releases/latest">Flatpak bundle on GitHub</a> and give it a try. It has been running on my machine for quite a while, so the nastiest bugs should be sorted out by now.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e89ad1&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e89ad1" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="683" 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/en/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.en_-1024x683.webp" alt="Gnomos shows the cover of Josh Woodward's Breadcrumbs next to lyrics, the current line is highlighted in red." class="wp-image-219" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.en_-1024x683.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.en_-300x200.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.en_-768x512.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-now-playing-lyrics.en_.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">The Now Playing view shows the cover in large size next to scrolling lyrics. Click a line and the song jumps to that spot.</figcaption></figure>



<p class="wp-block-paragraph">What got me started were my older devices. Sonos has <a href="https://support.sonos.com/de-de/article/sonos-app-version-compatibility">discontinued</a> (in German) support for first-generation products, including the ZonePlayers ZP80, ZP90, ZP100 and ZP120 as well as the CR100 remote. The speakers themselves keep working, it is only the current Android app that no longer plays along. Gnomos talks to these old boxes directly over your home network, so you need neither a Sonos account nor a cloud service.</p>



<p class="wp-block-paragraph">The communication with the speakers is handled by <a href="https://github.com/janbar/noson">noson</a>, the library behind the Noson-App. On top of it sits a user interface of its own, one that follows the current GNOME design principles instead of copying the official Sonos apps or the Noson-App that inspired it. Disclaimer up front: AI took care of the heavy lifting during development. Architecture, technical decisions and testing are still down to me, though.</p>



<h2 class="wp-block-heading">Now Playing, With Lyrics</h2>



<p class="wp-block-paragraph">Click the playback bar at the bottom edge of the window and the current track fills the whole window. The cover appears in large size on a background in its colors. Next to it you find the upcoming tracks of the queue and, if you switch it on, synced lyrics from <a href="https://lrclib.net/">LRCLIB</a>. Click a line and the song jumps to the matching spot.</p>



<p class="wp-block-paragraph">If you like it nostalgic, you can let the cover spin as a vinyl record. A gimmick, sure, but a nice detail. On top of that there is a poster-style mini player: the cover fills a small, square window. The controls only fade in when you move the mouse over it. That way the music stays in view without taking up much space on your desktop.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e8aff4&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e8aff4" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="743" 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/en/wp-content/uploads/2026/10/gnomos-mini-player.en_-1024x743.webp" alt="Small square Gnomos window with the Breadcrumbs cover, title, progress bar and previous, pause and next buttons." class="wp-image-220" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-mini-player.en_-1024x743.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-mini-player.en_-300x218.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-mini-player.en_-768x557.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-mini-player.en_-1536x1115.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-mini-player.en_.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">The mini player fills a small window with the cover, the controls sit on top of it and fade in when you touch it with the mouse.</figcaption></figure>



<h2 class="wp-block-heading">All Rooms in One Place</h2>



<p class="wp-block-paragraph">The room picker in the header bar shows what is currently playing in which room. Drag one room onto another and Gnomos groups the two, one click dissolves the group again. Inside a group you set the volume per room. On top of that you can start or pause each room with a single click, without having to break up the group.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e8c154&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e8c154" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="683" 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/en/wp-content/uploads/2026/10/gnomos-room-picker.en_-1024x683.webp" alt="Gnomos with the room picker open: Arbeitszimmer is playing Border Blaster, Schlafzimmer is paused." class="wp-image-221" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-room-picker.en_-1024x683.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-room-picker.en_-300x200.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-room-picker.en_-768x512.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-room-picker.en_.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">The room picker shows what is playing in which room. Rooms can be grouped via drag and drop and paused or started individually.</figcaption></figure>



<p class="wp-block-paragraph">You edit the queue right in the app as well. You move or remove tracks, and a finished list can be saved as a Sonos playlist. Favorites and the Sonos alarms are on board too, and you can create, edit and duplicate the alarms. Sonos itself does not keep a playback history, so Gnomos records it locally. From each entry you can find the artist or album again later.</p>



<h2 class="wp-block-heading">The Whole Music Collection</h2>



<p class="wp-block-paragraph">Gnomos searches the music share on your network, Sonos favorites and playlists, internet radio and the services you have linked in Sonos. Those include Spotify and, via <a href="https://github.com/simojenki/bonob">bonob</a>, also <a href="https://www.navidrome.org/">Navidrome</a> or other Subsonic servers. Large libraries open quickly as a cover grid, or as a list if you prefer. A live filter helps with long lists, and you search for internet radio stations on <a href="https://www.radio-browser.info/">radio-browser.info</a> by name or country.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e8d855&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e8d855" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="683" 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/en/wp-content/uploads/2026/10/gnomos-album-grid.en_-1024x683.webp" alt="Gnomos shows 1061 albums as a grid of covers with title and artist, the sidebar on the left." class="wp-image-222" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-album-grid.en_-1024x683.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-album-grid.en_-300x200.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-album-grid.en_-768x512.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-album-grid.en_.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">Even large music collections show up as a cover grid, and you can switch to a list. A filter field narrows down the selection.</figcaption></figure>



<h2 class="wp-block-heading">Part of the GNOME Desktop</h2>



<p class="wp-block-paragraph">Gnomos supports MPRIS2. Media keys, the lock screen and the player in Quick Settings therefore work right away, including shuffle and repeat. Optionally there is a small Shell extension that puts a volume slider for each room into Quick Settings. It is not part of the Flatpak, you install it separately, and the instructions are in the repository. After that you control your rooms without opening the app at all.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e8ee7f&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e8ee7f" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" width="1024" height="683" 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/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_-1024x683.webp" alt="GNOME Quick Settings with one volume slider per room (Arbeitszimmer, Schlafzimmer, Wohnzimmer, Bad) next to the Gnomos window." class="wp-image-223" srcset="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_-1024x683.webp 1024w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_-300x200.webp 300w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_-768x512.webp 768w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_-1536x1024.webp 1536w, https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-quick-settings.en_.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">The optional Shell extension puts a volume slider for each room into the GNOME Quick Settings.</figcaption></figure>



<p class="wp-block-paragraph">There is also a dark mode, desktop notifications on track changes and keyboard shortcuts for playback, volume, search and the current track. On the speakers themselves you adjust bass, treble, loudness, night mode and subwoofer. A dialog for each room shows the model, IP and MAC address as well as the software version, handy when you have several devices on the network. First-generation devices get a badge of their own in the app.</p>



<p class="wp-block-paragraph">A short video shows how it all works together. In it I use Gnomos and walk through the most important features.</p>



<figure class="wp-block-video"><video controls src="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-demo-en-intro.mp4"></video><figcaption class="wp-element-caption">The video shows synced lyrics, grouping rooms, the volume in Quick Settings and the mini player.</figcaption></figure>



<p class="wp-block-paragraph">Gnomos does not leave your home network for the actual control. The app only queries two things online: lyrics from LRCLIB and artist photos through the public Deezer API. Both are switched off by default, and you decide in the settings whether you want to use them. Everything else stays in your own network, no data goes to third parties, not even secretly.</p>



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



<p class="wp-block-paragraph">So far Gnomos is only available as a Flatpak bundle. My plan is to get the app onto Flathub, but for that it needs a few more testers first. Until then you download <code>gnomos-&lt;Version&gt;-x86_64.flatpak</code> from the <a href="https://github.com/linuxundich/gnomos/releases/latest">releases page</a> and install the file with this command:</p>



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



<p class="wp-block-paragraph">If the GNOME 51 runtime is missing, Flatpak fetches it from Flathub. Bundles do not update themselves, so check the releases page for new versions now and then, because Gnomos gets regular fixes and new features. You find the build instructions, the translations (German and English are included) and the source code in the <a href="https://github.com/linuxundich/gnomos/">GitHub repository</a>. Gnomos is licensed under the GPL-3.0.</p>



<h2 class="wp-block-heading">Not Finished Yet</h2>



<p class="wp-block-paragraph">So far I only test Gnomos with my own Sonos household of first-generation devices. I cannot check other models, newer generations and unusual setups, so feedback is worth its weight in gold. Gnomos is still short of version 1.0, and there are surely a few rough edges left. You find more about the project on the <a href="https://linuxundich.de/projekte/gnomos/">project page</a> (in German).</p>



<p class="wp-block-paragraph">For me, though, Gnomos has long been good enough that I use it every day. Do you have Sonos speakers and a GNOME desktop? Then give the app a try and tell me in the comments what works for you and what does not, preferably with hardware other than mine. You can also report bugs and ideas as an <a href="https://github.com/linuxundich/gnomos/issues">issue on GitHub</a>.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/gnomos-sonos-gnome-desktop/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		<enclosure url="https://linuxundich.de/en/wp-content/uploads/2026/10/gnomos-demo-en-intro.mp4" length="0" type="video/mp4" />

			</item>
		<item>
		<title>DDNSS.de: Operator in Talks About a Takeover of the DynDNS Service</title>
		<link>https://linuxundich.de/en/ddnss-takeover-thank-you/</link>
					<comments>https://linuxundich.de/en/ddnss-takeover-thank-you/#respond</comments>
		
		<dc:creator><![CDATA[Christoph Langner]]></dc:creator>
		<pubDate>Sun, 11 Oct 2026 20:38:01 +0000</pubDate>
				<category><![CDATA[News]]></category>
		<category><![CDATA[dyndns]]></category>
		<category><![CDATA[fritzbox]]></category>
		<category><![CDATA[homelab]]></category>
		<guid isPermaLink="false">https://linuxundich.de/en/?p=203</guid>

					<description><![CDATA[Robert Niedziela has been running the free DynDNS service DDNSS.de since 2013. He is now negotiating a handover to a new operator, with a decision due by the end of October at the latest. Your entries keep working for now.]]></description>
										<content:encoded><![CDATA[
<p class="wp-block-paragraph">In May 2013, Dyn, once known as dyndns.org, made logging in every 30 days mandatory. Back then I went looking in <a href="https://linuxundich.de/dyn-ehemals-dyndns-org-macht-login-alle-30-tage-zur-pflicht-alternative-selfhost-de/">an article</a> (in German) for a DynDNS provider that wouldn’t nag me every month. A few weeks later, Robert Niedziela showed up in the comments with a terse “offering free dyndns service.” At that point, his service <a href="https://ddnss.de/">DDNSS.de</a> was just one month old.</p>



<p class="wp-block-paragraph">I signed up there in May 2014, and DDNSS has been with me ever since. In 2016, I recommended the service myself <a href="https://linuxundich.de/dyn-ehemals-dyndns-org-macht-login-alle-30-tage-zur-pflicht-alternative-selfhost-de/#comment-67378">in the comments</a> (in German) as a provider “without the nagging.” Now there is an email from Robert in my inbox that I really didn’t see coming. After more than 13 years in operation, DDNSS.de is facing a change: Robert is currently in talks about a possible takeover of the service.</p>



<h2 class="wp-block-heading">A takeover, not a shutdown</h2>



<p class="wp-block-paragraph">That doesn’t mean the end is sealed, though. A decision is due by October 31, 2026 at the latest, with the handover settled by then – provided the talks lead somewhere. If the takeover goes through, the new operator will simply keep DDNSS running. If the talks fall through, Robert wants to let everyone know in good time so you can prepare for a switch without any rush.</p>



<figure data-wp-context="{&quot;imageId&quot;:&quot;6adbc78e91709&quot;}" data-wp-interactive="core/image" data-wp-key="6adbc78e91709" class="wp-block-image size-large wp-lightbox-container"><img loading="lazy" decoding="async" height="811" sizes="auto, (max-width: 781px) 100vw, 680px" srcset="https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-640x405.webp 640w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-768x487.webp 768w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend-1280x811.webp 1280w, https://linuxundich.de/wp-content/uploads/2026/10/ddnss-backend.webp 1490w" width="1280" 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/ddnss-backend-1280x811.webp" alt="Browser window with the DDNSS.de user dashboard: the menu on the left, a quick menu with icons at the top, below it user data, account status and a donate button. Personal data is pixelated."/><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">You manage your hosts in the dashboard. My account has been running since May 2014, and you can support DDNSS with a voluntary donation.</figcaption></figure>



<p class="wp-block-paragraph">So if you have DDNSS set up in your FRITZ!Box or on your own little server, you don’t need to do anything for now. Your existing DynDNS entries keep working unchanged for the time being, and according to Robert there is no immediate need to act. He answers questions at webmaster@ddnss.de. Still, it can’t hurt to check everywhere you have DDNSS set up – in the router, in ddclient or in some script.</p>



<h2 class="wp-block-heading">Thank you, Robert</h2>



<p class="wp-block-paragraph">Robert isn’t taking this step lightly. By his own account, he has put a lot of time and work into DDNSS.de since May 2013 – there was never a business model behind it, and anyone who wanted to could donate. After more than 13 years, a decision like this is anything but easy for him personally. That’s why he is looking for a solution that will last instead of simply pulling the plug.</p>



<p class="wp-block-paragraph">I’d like to take this opportunity to thank Robert very much. To me, keeping a free service like this running for so many years is not something to take for granted. With DynDNS, you usually only notice what you had once it suddenly stops working. I hope Robert finds a good new home for his baby.</p>



<p class="wp-block-paragraph">These days, I treat myself to a “proper” domain for my self-hosting projects. With my web host, that’s pretty easy: the FRITZ!Box updates the records of my own domain directly via DynDNS, so I no longer need an external service for it. If you own a domain anyway, check whether your host offers something like this.</p>
<hr><p>☕ <strong>Support Linux und Ich</strong><br>Thanks for reading <a href="https://linuxundich.de/en/">Linux und Ich</a>. If you enjoy the blog and would like to support my work, you will find more information on the <a href="https://linuxundich.de/en/support/">donation page</a>.</p>]]></content:encoded>
					
					<wfw:commentRss>https://linuxundich.de/en/ddnss-takeover-thank-you/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
