Mit gconftool-2 und cron Hintergrundbild stündlich ändern

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
fragenfrager
Beiträge: 658
Registriert: 31.12.2003 08:47:15

Mit gconftool-2 und cron Hintergrundbild stündlich ändern

Beitrag von fragenfrager » 31.08.2012 18:18:06

Hallo zusammen,

ich habe hier mit blender 24 Bilder erstellt und nummeriert. Jetzt möchte gerne dass cron zu jeder vollen Stunde ein bestimmtes script ausführt welches mir mit gconftool-2 je nach Uhrzeit ein dazu passendes Bild als Hintergrund einstellt.

Zunächst hab ich dafür folgendes script:

Code: Alles auswählen

#!/bin/bash
TIME=`date +%H`
/usr/bin/gconftool-2 -t str -s /desktop/gnome/background/picture_filename /usr/share/backgrounds/WALLPAPER-ERDE/ERDE-"$TIME".png
Das script ermittelt die aktuelle Systemzeit und verwendet es als Variable im Dateinamen des zu wechselnden Bildes.

Mit

Code: Alles auswählen

crontab -e

hab ich mir folgende Regel erstellt:

Code: Alles auswählen

PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

* 0-23 * * * . /home/user1/.Xdbus; /home/user1/BACK-1.sh 2>&1
Dies hab ich mir irgendwo aus dem Netz zusammengefummelt nachdem ich etwas über dbus gelesen hatte, wofür ich folgendes script erstellte welches gnome beim starten ausführt:

Code: Alles auswählen

#!/bin/bash
# Export the dbus session address on startup so it can be used by cron
touch $HOME/.Xdbus
chmod 600 $HOME/.Xdbus
env | grep DBUS_SESSION_BUS_ADDRESS > $HOME/.Xdbus
echo 'export DBUS_SESSION_BUS_ADDRESS' >> $HOME/.Xdbus
# Export XAUTHORITY value on startup so it can be used by cron
env | grep XAUTHORITY >> $HOME/.Xdbus
echo 'export XAUTHORITY' >> $HOME/.Xdbus
Jetzt die Frage: Das script kann ich manuell ausführen und es funktioniert, cron wird auch zur besagten Zeit ausgeführt, nur beides zusammen geht nicht und ich bekomme in den Logs nichts vernünftiges.

Geht das eventuell irgendwie leichter in gnome oder wo sind meine fehler?

cosmac
Beiträge: 4576
Registriert: 28.03.2005 22:24:30

Re: Mit gconftool-2 und cron Hintergrundbild stündlich änder

Beitrag von cosmac » 31.08.2012 20:37:52

hi,

eigentlich sollte es mit Debianxloadimage viel einfacher gehen. Probier mal diesen cronjob:

Code: Alles auswählen

#!/bin/bash
TIME=`date +%H`
/usr/bin/xloadimage -onroot -center -gamma 2.0 -display :0 /usr/share/backgrounds/WALLPAPER-ERDE/ERDE-"$TIME".png
oder probier mal, dem gconftool die Option "-display :0" oder "--display :0" (mit einem oder zwei '-') mitzugeben.

Edit: der cronjob muss unter dem Desktop-User laufen.
Beware of programmers who carry screwdrivers.

Benutzeravatar
fragenfrager
Beiträge: 658
Registriert: 31.12.2003 08:47:15

Re: Mit gconftool-2 und cron Hintergrundbild stündlich änder

Beitrag von fragenfrager » 01.09.2012 16:57:49

lieben Dank aber ich versuche es lieber mit gconftool-2 denn damit ist der Bildwechsel so schön "smooth"
Abgesehen davon hab ich xloadimage nicht installiert aber gut zu wissen was es alles so gibt ;)

Zu meinem Problem: Nach einem reboot und manuellen Ausführung des Xdbus scripts scheint alles zu funktionieren. Ich vermute daher folgendes:

Das Xdbus script wird in gnome nicht richtig aufgerufen (habs in System-Einstellungen-Startprogramme eingetragen)

Zusätzlich muss ich das Hintergrundbildscript noch ergänzen oder ein zusätzliches schreiben um einen einmaligen Aufruf nach einem Neustart (Damit nicht das alte Hintergrundbild bis zur nächsten vollen Stunde hängenbleibt) auszuführen.

achja und mein cronjob war auch falsch, der richtige lauter jetzt so:

Code: Alles auswählen

PATH=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11

0 * * * * . /home/user1/.Xdbus; /home/user1/BACK-1.sh

Antworten