Stefans Abenteuer im Land der fehlenden Berge und in der Physik
Über mich
StefanIch bin seit Juni 2007 Doktorand an der TU Delft, Niederlande. Neben (theoretischer) Physik interessiere ich mich für Politik, Bücher aller Art und Radfahren. Für weiteres, siehe meine Homepage.

Sonntag, 17. August 2008

Bodenseepanorama, the Linux way

Mich plagt mal wieder die Sehnsucht nach dem Bodensee. Insbesondere ein Fenster mit Bergsicht zu haben wäre schon klasse, leider in diesem Flacher-als-ein-Pfannkuchen-Land ein Ding der Unmöglichkeit. Gut, aber wozu gibt es Linux? Das Betriebssystem wo alles möglich ist, wenn man nur weiss wie. Damit meine Lösung für die Bodenseesehnsucht: Aktuelle Webcambilder als Desktophintergrund. Eigentlich sind nur zwei Aufgaben zu bewältigen:

  1. Geeignete Webcams finden.

  2. Ein kleines Skript, das das aktuelle Webcambild herunterläd und als Desktophintergrund setzt.


Beim ersten Punkt mag vielleicht diese Seite eine kleine Hilfe sein. Der zweite Punkt lässt sich mit folgendem Bash-Script erledigen:

#!/usr/bin/bash
while [ 1 ];
do
wget -O /pfad/wo/bild/gespeichert/werden/soll.jpg -N http://irgendeine.url.de/webcambild.jpg
dcop kdesktop KBackgroundIface setWallpaper 3 /pfad/wo/bild/gespeichert/werden/soll.jpg 6
sleep 5m
done

Mit wget -O zielpfad ursprungsurl laden wir das Bild der Webcam herunter. Danach benutzen wir den dcop-Mechanismus von KDE um das Hintergrundbild zu aktualisieren. Näheres zu dcop findet sich zum Beispiel hier. Im Endeffekt sagen wir mit dcop kdesktop KBackgroundIface setWallpaper 3 /pfad/wo/bild/gespeichert/werden/soll.jpg 6, dass wir die Methode setWallpaper des kdesktops aufrufen wollen. Die Argumente sind der Desktop (im Beispiel Nr. 3), dessen Hintergrundbild geändert werden soll, der Pfad des Bildes, sowie der Modus für die Anzeige. Mit sleep 5m sagen wir dem Script, dass es fünf Minuten ruhen soll, bis es das nächste Bild herunterlädt. Damit ist alles gesagt.