Skript: Zufälliges Hintergrundbild

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

Skript: Zufälliges Hintergrundbild

Beitrag von AspeLin » 28.11.2004 03:40:12

Hallo!
Es liegt ja in der Natur der Sache, daß man mit seinem ersten funktionierenden, zusammengegoogelten Skript etwas angeben möchte und dabei Bescheidenheit heuchelt. Trotzdem, ich habe nichts in der Art gefunden und denke, daß es nützlich sein könnte.
Die Idee ist, einer Desktop-Umgebung einen Link zur Verfügung zu stellen, der bei jeder Neuanmeldung auf ein zufällig gewähltes Hintergrundbild zeigt. Im Gegensatz zur Slideshow-Option von KDE müssen keine Einstellungen verändert werden, wenn ein neues Bild in das Verzeichnis kommt. Allerdings dürfen die Dateinamen keine Leerzeichen enthalten. Für die hier beispielhaft angegebenen Verzeichnisse muß das Skript mit Root-Rechten (z.B. 'sudo') aufgerufen werden. Hier ist es (prbg.sh - Pseudo-Random BackGround image :P):

Code: Alles auswählen

#!/bin/sh
PRBG_WALLPAPER_DIR="/usr/local/share/wallpapers"
PRBG_DEFAULT_LINK="/usr/share/wallpapers/prbg_default"
IMG_WILDCARDS="*.bmp *.gif *.jpg *.pcx *.png *.xpm"

LAST_CURRENT_DIR=$PWD
cd $PRBG_WALLPAPER_DIR
max_index=`ls -1 $IMG_WILDCARDS 2>/dev/null|wc -l`
item_index=$RANDOM
let "item_index %= max_index"
let "item_index += 1"
IMG_FILE=`ls -1 $IMG_WILDCARDS 2>/dev/null|head -$item_index|tail -1`
cd $LAST_CURRENT_DIR

if [ -e $PRBG_DEFAULT_LINK ];
  then rm -f $PRBG_DEFAULT_LINK
fi
ln -s $PRBG_WALLPAPER_DIR/$IMG_FILE $PRBG_DEFAULT_LINK
Ich vermute, daß es sich noch vereinfachen läßt. Bei mir wird es aus ~/.xsession gestartet, im KDE-Kontrollzentrum habe ich für das Hintergrundbild den Link ausgewählt und es funktioniert einwandfrei. Es würde mich jedenfalls freuen, falls es jemandem nützt und es noch Verbesserungsvorschläge gibt.

/Edits:
'#!/bin/sh' und Typos außerhalb des Codes
Täuschung ist das Silikon der Postmoderne.

tylerD
Beiträge: 4068
Registriert: 10.07.2002 17:34:13
Wohnort: Halle/Saale
Kontaktdaten:

Beitrag von tylerD » 28.11.2004 09:39:12

Gib doch im Wiki [1] an, dort ist es überschichtlicher angeordnet 8)

cu

[1] http://www.debianforum.de/wiki/Scripte

Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

Beitrag von AspeLin » 28.11.2004 17:19:40

Erledigt :)!
Täuschung ist das Silikon der Postmoderne.

Gremi
Beiträge: 46
Registriert: 24.03.2005 19:08:28

Beitrag von Gremi » 06.05.2005 01:46:33

hallo aspelin

dein skrip ist wirklich nützlich... danke vielmals
eine Frage habe ich trotzdem: wie ruft man das skript in der betreffenden xsession datei auf und wo ist sie?

danke im voraus
gremi

______________________
Debian: No Gates - No Bills
Zuletzt geändert von Gremi am 06.05.2005 12:38:11, insgesamt 1-mal geändert.

Benutzeravatar
AspeLin
Beiträge: 664
Registriert: 19.06.2003 16:06:16
Wohnort: Berlin

Beitrag von AspeLin » 06.05.2005 07:28:27

Hallo Gremi,

das aktualisierte Skript und eine Beschreibung finden sich hier. Angenommen, dein Benutzername ist 'fritz' und das Skript (prbg.sh) befindet sich in '/usr/local/bin', dann müßte in der Datei '/home/fritz/.xsession' z.B. der Eintrag 'sh /usr/local/bin/prbg.sh' zu finden sein.
Täuschung ist das Silikon der Postmoderne.

Gremi
Beiträge: 46
Registriert: 24.03.2005 19:08:28

Beitrag von Gremi » 06.05.2005 12:37:00

Hmmmmm.... da gibts ein kleines problem...
Ich finde nur eine Datei .xsession-errors

______________________
Debian: No Gates - No Bills

Benutzeravatar
armin
Beiträge: 2682
Registriert: 17.03.2005 11:49:14

Beitrag von armin » 06.05.2005 12:47:14

Dann erstell dir einfach eine neue Datei mit dem Namen!

@ AspeLin: Cooles Skript!
Formerly known as Trigger.
HP 8510p - Debian Sid
Mitglied des Debian-KDE-Teams

Gremi
Beiträge: 46
Registriert: 24.03.2005 19:08:28

Beitrag von Gremi » 06.05.2005 12:54:29

muss da nichts weiter drinnstehen?

______________________
Debian: No Gates - No Bills

Gremi
Beiträge: 46
Registriert: 24.03.2005 19:08:28

Beitrag von Gremi » 06.05.2005 15:24:13

Hab noch nen guten tipp von einem kollegen erhalten:
Bei Gnome einfach unter
Desktop Preferences -> Advanced -> Sessions -> Startup Programs -> add program
den code zum starten des skripts eingeben und schon läufts

Danke an alle
Gremi

______________________
Debian: No Gates - No Bills

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 21.12.2005 18:08:20

Gremi hat geschrieben:Hab noch nen guten tipp von einem kollegen erhalten:
Bei Gnome einfach unter
Desktop Preferences -> Advanced -> Sessions -> Startup Programs -> add program
den code zum starten des skripts eingeben und schon läufts
Wo ist bei gnome Desktop Preferences?

Ich wollte auch wechselnde Hintergrundbilder haben, und habe mir wallpaper-tray installiert. Die Hilfe dazu sagt mir, use it on your GNOME startup programs.
Auf der Suche nach diesen startup programs bin ich hierher geraten.

Gremi
Beiträge: 46
Registriert: 24.03.2005 19:08:28

Beitrag von Gremi » 22.12.2005 15:28:05

Mit der neuen Version von Gnome ist natürlich alles wieder etwas anders.
wenn du normal Gnome gestartet hast bist, hast du eine Leiste (bei mir am unteren Bildrand) auf der drei Buttons sind (applications, Places und Desktop) dann einfach auf "Desktop" klicken -> preferencies (ein Auswahlmenue)-> Sessions. Dann geht ein kleines Fenster auf, das oben 3 Registerkarten hat. Dort auf Startup Programs klicken.... der rest ist einfach.
Ich hab natürlich Gnome auf englisch... wie die sachen in der deutschen Version heissen weiss ich nicht genau, aber du wirst es schon finden.

Benutzeravatar
Lohengrin
Beiträge: 3227
Registriert: 29.08.2004 00:01:05
Wohnort: Montsalvat

Beitrag von Lohengrin » 22.12.2005 17:34:07

Gremi hat geschrieben:Mit der neuen Version von Gnome ist natürlich alles wieder etwas anders.
wenn du normal Gnome gestartet hast bist, hast du eine Leiste (bei mir am unteren Bildrand) auf der drei Buttons sind (applications, Places und Desktop) dann einfach auf "Desktop" klicken -> preferencies (ein Auswahlmenue)-> Sessions. Dann geht ein kleines Fenster auf, das oben 3 Registerkarten hat. Dort auf Startup Programs klicken.... der rest ist einfach.
Ich hab natürlich Gnome auf englisch... wie die sachen in der deutschen Version heissen weiss ich nicht genau, aber du wirst es schon finden.
Funktioniert. Danke.

Antworten