<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://brain.zwissler-cloud.de/index.php?action=history&amp;feed=atom&amp;title=T%C3%A4gliches_Bing-Wallpaper_%28Niri%29</id>
	<title>Tägliches Bing-Wallpaper (Niri) - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://brain.zwissler-cloud.de/index.php?action=history&amp;feed=atom&amp;title=T%C3%A4gliches_Bing-Wallpaper_%28Niri%29"/>
	<link rel="alternate" type="text/html" href="https://brain.zwissler-cloud.de/index.php?title=T%C3%A4gliches_Bing-Wallpaper_(Niri)&amp;action=history"/>
	<updated>2026-06-26T16:26:15Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Z-Brain</subtitle>
	<generator>MediaWiki 1.41.5</generator>
	<entry>
		<id>https://brain.zwissler-cloud.de/index.php?title=T%C3%A4gliches_Bing-Wallpaper_(Niri)&amp;diff=21&amp;oldid=prev</id>
		<title>Flavius: Die Seite wurde neu angelegt: „__NOTOC__ Auf dem Desktop &#039;&#039;&#039;enterprise&#039;&#039;&#039; (openSUSE Tumbleweed, Niri-Compositor) wird täglich automatisch das &#039;&#039;&#039;Bing-Bild des Tages&#039;&#039;&#039; als Wallpaper gesetzt. Ein systemd-User-Timer ruft einmal pro Tag ein Skript auf, das das aktuelle Bing-Bild herunterlädt und per &lt;code&gt;swww&lt;/code&gt; mit einem weichen Übergang setzt.  {| style=&quot;width:100%; border-spacing:10px; background:transparent; margin-top:-10px;&quot; | style=&quot;width:50%; vertical-align:top;&quot; |  {| sty…“</title>
		<link rel="alternate" type="text/html" href="https://brain.zwissler-cloud.de/index.php?title=T%C3%A4gliches_Bing-Wallpaper_(Niri)&amp;diff=21&amp;oldid=prev"/>
		<updated>2026-06-26T10:32:05Z</updated>

		<summary type="html">&lt;p&gt;Die Seite wurde neu angelegt: „__NOTOC__ Auf dem Desktop &amp;#039;&amp;#039;&amp;#039;enterprise&amp;#039;&amp;#039;&amp;#039; (openSUSE Tumbleweed, Niri-Compositor) wird täglich automatisch das &amp;#039;&amp;#039;&amp;#039;Bing-Bild des Tages&amp;#039;&amp;#039;&amp;#039; als Wallpaper gesetzt. Ein systemd-User-Timer ruft einmal pro Tag ein Skript auf, das das aktuelle Bing-Bild herunterlädt und per &amp;lt;code&amp;gt;swww&amp;lt;/code&amp;gt; mit einem weichen Übergang setzt.  {| style=&amp;quot;width:100%; border-spacing:10px; background:transparent; margin-top:-10px;&amp;quot; | style=&amp;quot;width:50%; vertical-align:top;&amp;quot; |  {| sty…“&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
Auf dem Desktop &amp;#039;&amp;#039;&amp;#039;enterprise&amp;#039;&amp;#039;&amp;#039; (openSUSE Tumbleweed, Niri-Compositor) wird täglich automatisch das &amp;#039;&amp;#039;&amp;#039;Bing-Bild des Tages&amp;#039;&amp;#039;&amp;#039; als Wallpaper gesetzt. Ein systemd-User-Timer ruft einmal pro Tag ein Skript auf, das das aktuelle Bing-Bild herunterlädt und per &amp;lt;code&amp;gt;swww&amp;lt;/code&amp;gt; mit einem weichen Übergang setzt.&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; border-spacing:10px; background:transparent; margin-top:-10px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; border:1px solid #a7d7f9; background:#ffffff; padding:15px; margin-bottom:15px; border-radius:4px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#cedff2; border-bottom:1px solid #a7d7f9; padding:5px 10px; font-weight:bold; font-size:1.2em;&amp;quot; | ⚙️ Funktionsweise&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-top:10px;&amp;quot; |&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Intervall:&amp;#039;&amp;#039;&amp;#039; Der Timer löst täglich um &amp;#039;&amp;#039;&amp;#039;06:00 Uhr&amp;#039;&amp;#039;&amp;#039; aus. Dank &amp;lt;code&amp;gt;Persistent=true&amp;lt;/code&amp;gt; wird ein verpasster Lauf (z.B. wenn der PC aus war) beim nächsten Hochfahren sofort nachgeholt.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;API-Abfrage:&amp;#039;&amp;#039;&amp;#039; Das Skript fragt die Bing-API (&amp;lt;code&amp;gt;HPImageArchive.aspx&amp;lt;/code&amp;gt;, Markt &amp;lt;code&amp;gt;de-DE&amp;lt;/code&amp;gt;) ab und extrahiert per &amp;lt;code&amp;gt;jq&amp;lt;/code&amp;gt; die UHD-Bild-URL sowie das Startdatum.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Download-Schutz:&amp;#039;&amp;#039;&amp;#039; Das Bild wird in UHD-Auflösung nach &amp;lt;code&amp;gt;~/Pictures/bing-wallpaper/&amp;lt;/code&amp;gt; geladen — aber nur, wenn es für das jeweilige Datum nicht schon existiert (verhindert unnötige Downloads).&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Weicher Übergang:&amp;#039;&amp;#039;&amp;#039; Das Wallpaper wird mit einem 1,5 Sekunden langen Wipe-Übergang geladen.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
| style=&amp;quot;width:50%; vertical-align:top;&amp;quot; |&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; border:1px solid #a7d7f9; background:#ffffff; padding:15px; margin-bottom:15px; border-radius:4px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#f2f2f2; border-bottom:1px solid #a7d7f9; padding:5px 10px; font-weight:bold; font-size:1.2em;&amp;quot; | 📂 Ablageorte&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-top:10px;&amp;quot; |&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;width:100%; margin:0;&amp;quot;&lt;br /&gt;
! Datei / Zweck !! Pfad&lt;br /&gt;
|-&lt;br /&gt;
| Wallpaper-Skript || &amp;lt;code&amp;gt;~/.local/bin/bing-wallpaper.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| systemd Service (User) || &amp;lt;code&amp;gt;~/.config/systemd/user/bing-wallpaper.service&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| systemd Timer (User) || &amp;lt;code&amp;gt;~/.config/systemd/user/bing-wallpaper.timer&amp;lt;/code&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| Bild-Ablage || &amp;lt;code&amp;gt;~/Pictures/bing-wallpaper/&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%; border:1px solid #a7d7f9; background:#ffffff; padding:15px; margin-bottom:15px; border-radius:4px;&amp;quot;&lt;br /&gt;
| style=&amp;quot;background:#cef2e0; border-bottom:1px solid #a7d7f9; padding:5px 10px; font-weight:bold; font-size:1.2em;&amp;quot; | 💻 Bedienung &amp;amp; Befehle&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;padding-top:10px;&amp;quot; |&lt;br /&gt;
; Manuell sofort ein neues Wallpaper holen/setzen:&lt;br /&gt;
: &amp;lt;code&amp;gt;~/.local/bin/bing-wallpaper.sh&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Timer-Status prüfen (wann läuft der nächste automatische Wechsel):&lt;br /&gt;
: &amp;lt;code&amp;gt;systemctl --user list-timers bing-wallpaper.timer --no-pager&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
; Letzte automatische Läufe im Journal ansehen:&lt;br /&gt;
: &amp;lt;code&amp;gt;journalctl --user -u bing-wallpaper.service --no-pager -n 30&amp;lt;/code&amp;gt;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== 🔍 Offene Punkte / Zu prüfen ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Der &amp;lt;code&amp;gt;awww&amp;lt;/code&amp;gt;-Befehl:&amp;#039;&amp;#039;&amp;#039; Im Skript wird aktuell der Befehl &amp;lt;code&amp;gt;awww img ...&amp;lt;/code&amp;gt; aufgerufen. Es muss noch geklärt werden, ob das ein eigener Alias/Wrapper für &amp;lt;code&amp;gt;swww img&amp;lt;/code&amp;gt; oder ein eigenständiges Tool ist. Falls es auf &amp;lt;code&amp;gt;swww&amp;lt;/code&amp;gt; basiert, muss der &amp;lt;code&amp;gt;swww-daemon&amp;lt;/code&amp;gt; im Hintergrund laufen (z.B. via Niri-Autostart), da der Befehl sonst ins Leere läuft.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Fehlendes Auto-Cleanup:&amp;#039;&amp;#039;&amp;#039; Alte Bing-Bilder in &amp;lt;code&amp;gt;~/Pictures/bing-wallpaper/&amp;lt;/code&amp;gt; werden derzeit nicht automatisch gelöscht. Der Ordner wächst also täglich um ein UHD-Bild an. Bei Bedarf sollte eine Aufräum-Routine ergänzt werden (z.B. ein &amp;lt;code&amp;gt;find&amp;lt;/code&amp;gt;-Befehl, der alle Dateien älter als 30 Tage löscht).&lt;br /&gt;
&lt;br /&gt;
---&lt;br /&gt;
&lt;br /&gt;
== 💾 Quellcode &amp;amp; Konfiguration ==&lt;br /&gt;
Hier sind die Skripte und systemd-Konfigurationen zum Ausklappen und Kopieren hinterlegt:&lt;br /&gt;
&lt;br /&gt;
=== 1. Skript (User-Bin) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border:1px solid #a2a9b1; padding:5px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; background:#eaecf0; padding:5px;&amp;quot;&amp;gt;📄 ~/.local/bin/bing-wallpaper.sh (Ausklappen)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
set -euo pipefail&lt;br /&gt;
&lt;br /&gt;
WALLPAPER_DIR=&amp;quot;$HOME/Pictures/bing-wallpaper&amp;quot;&lt;br /&gt;
mkdir -p &amp;quot;$WALLPAPER_DIR&amp;quot;&lt;br /&gt;
&lt;br /&gt;
JSON=$(curl -s &amp;quot;https://www.bing.com/HPImageArchive.aspx?format=js&amp;amp;idx=0&amp;amp;n=1&amp;amp;mkt=de-DE&amp;quot;)&lt;br /&gt;
URLBASE=$(echo &amp;quot;$JSON&amp;quot; | jq -r &amp;#039;.images[0].urlbase&amp;#039;)&lt;br /&gt;
DATE=$(echo &amp;quot;$JSON&amp;quot; | jq -r &amp;#039;.images[0].startdate&amp;#039;)&lt;br /&gt;
IMG_PATH=&amp;quot;$WALLPAPER_DIR/bing-$DATE.jpg&amp;quot;&lt;br /&gt;
&lt;br /&gt;
if [ ! -f &amp;quot;$IMG_PATH&amp;quot; ]; then&lt;br /&gt;
    curl -s -o &amp;quot;$IMG_PATH&amp;quot; &amp;quot;https://www.bing.com${URLBASE}_UHD.jpg&amp;quot;&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
awww img &amp;quot;$IMG_PATH&amp;quot; --transition-type wipe --transition-duration 1.5&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 2. systemd Konfiguration (`~/.config/systemd/user/`) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border:1px solid #a2a9b1; padding:5px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; background:#eaecf0; padding:5px;&amp;quot;&amp;gt;⚙️ bing-wallpaper.service (Ausklappen)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Bing Bild des Tages als Wallpaper setzen&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
Type=oneshot&lt;br /&gt;
ExecStart=%h/.local/bin/bing-wallpaper.sh&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible mw-collapsed&amp;quot; style=&amp;quot;border:1px solid #a2a9b1; padding:5px; margin-bottom:10px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-weight:bold; background:#eaecf0; padding:5px;&amp;quot;&amp;gt;⏳ bing-wallpaper.timer (Ausklappen)&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
[Unit]&lt;br /&gt;
Description=Tägliches Bing-Wallpaper-Update&lt;br /&gt;
&lt;br /&gt;
[Timer]&lt;br /&gt;
OnCalendar=*-*-* 06:00:00&lt;br /&gt;
Persistent=true&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=timers.target&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 3. Aktivierung nach Wiederherstellung ===&lt;br /&gt;
Um die User-Timer auf dem Desktop zu aktivieren, müssen folgende Befehle als normaler Benutzer (nicht als root!) ausgeführt werden:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
chmod +x ~/.local/bin/bing-wallpaper.sh&lt;br /&gt;
&lt;br /&gt;
systemctl --user daemon-reload&lt;br /&gt;
systemctl --user enable --now bing-wallpaper.timer&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;font-size:0.9em; color:#54595d; text-align:right; margin-top:20px;&amp;quot;&amp;gt;Stand der Dokumentation: Juni 2026&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Flavius</name></author>
	</entry>
</feed>