Tägliches Bing-Wallpaper (Niri)
Auf dem Desktop enterprise (openSUSE Tumbleweed, Niri-Compositor) wird täglich automatisch das Bing-Bild des Tages als Wallpaper gesetzt. Ein systemd-User-Timer ruft einmal pro Tag ein Skript auf, das das aktuelle Bing-Bild herunterlädt und per swww mit einem weichen Übergang setzt.
|
|
| 💻 Bedienung & Befehle |
|
🔍 Offene Punkte / Zu prüfen[Bearbeiten]
- Der
awww-Befehl: Im Skript wird aktuell der Befehlawww img ...aufgerufen. Es muss noch geklärt werden, ob das ein eigener Alias/Wrapper fürswww imgoder ein eigenständiges Tool ist. Falls es aufswwwbasiert, muss derswww-daemonim Hintergrund laufen (z.B. via Niri-Autostart), da der Befehl sonst ins Leere läuft. - Fehlendes Auto-Cleanup: Alte Bing-Bilder in
~/Pictures/bing-wallpaper/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. einfind-Befehl, der alle Dateien älter als 30 Tage löscht).
---
💾 Quellcode & Konfiguration[Bearbeiten]
Hier sind die Skripte und systemd-Konfigurationen zum Ausklappen und Kopieren hinterlegt:
1. Skript (User-Bin)[Bearbeiten]
📄 ~/.local/bin/bing-wallpaper.sh (Ausklappen)
#!/usr/bin/env bash
set -euo pipefail
WALLPAPER_DIR="$HOME/Pictures/bing-wallpaper"
mkdir -p "$WALLPAPER_DIR"
JSON=$(curl -s "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=de-DE")
URLBASE=$(echo "$JSON" | jq -r '.images[0].urlbase')
DATE=$(echo "$JSON" | jq -r '.images[0].startdate')
IMG_PATH="$WALLPAPER_DIR/bing-$DATE.jpg"
if [ ! -f "$IMG_PATH" ]; then
curl -s -o "$IMG_PATH" "https://www.bing.com${URLBASE}_UHD.jpg"
fi
awww img "$IMG_PATH" --transition-type wipe --transition-duration 1.5
2. systemd Konfiguration (`~/.config/systemd/user/`)[Bearbeiten]
⚙️ bing-wallpaper.service (Ausklappen)
[Unit] Description=Bing Bild des Tages als Wallpaper setzen [Service] Type=oneshot ExecStart=%h/.local/bin/bing-wallpaper.sh
⏳ bing-wallpaper.timer (Ausklappen)
[Unit] Description=Tägliches Bing-Wallpaper-Update [Timer] OnCalendar=*-*-* 06:00:00 Persistent=true [Install] WantedBy=timers.target
3. Aktivierung nach Wiederherstellung[Bearbeiten]
Um die User-Timer auf dem Desktop zu aktivieren, müssen folgende Befehle als normaler Benutzer (nicht als root!) ausgeführt werden:
chmod +x ~/.local/bin/bing-wallpaper.sh systemctl --user daemon-reload systemctl --user enable --now bing-wallpaper.timer
Stand der Dokumentation: Juni 2026