Archiv verlassen und diese Seite im Standarddesign anzeigen : Per Shell-Script Wallpaper ändern
Schlüpfknoten
26.05.10, 13:11
Hi,
ich habe mir ein Script geschrieben, welches in der zuständigen Datei ~/.kde/share/config/kdesktoprc das Hintergrundbild neu schreibt.
Hier der Code:
#!/bin/bash
SOURCELOC="$HOME/Desktop/wallchanger/papers/"
OPTS="s#^Wallpaper=.*#Wallpaper=${SOURCELOC}all.jpg#"
sed -ie "${OPTS}" $HOME/.kde/share/config/kdesktoprc
funktioniert, allerdings erst nach einem Neustart. Wie also bekomme ich den Desktop (KDE3.5) dazu, sich neu aufzubauen bzw. das Hintergrundbild neu zu laden?
Wenn ich es über "Arbeitsfläche einrichten" mache und auf "Anwenden" klicke wird es ja auch sofort geladen...
Vielen Dank für eure Hilfe!
Hi,
ich glaub du suchst dcop.
mfg
tomes
Hi,
Ich habe ein Skript geschrieben, was ein zufälliges Hintergrundbild aus einem Verzeichnis auswählt und dann als Hintergrund setzt.
Werde nachher mal danach suchen und es dann hier posten.
Ja, es verwendet dcop, ist allerdings nur für KDE3 getestet.
Gruß
L00NIX
Hi,
So, here we are:
#!/bin/bash
# Darin befinden sich die Hintergrundbilder
wallpaper_base="/usr/local/share/wallpapers"
/usr/bin/dcop --user ${LOGNAME} kdesktop KBackgroundIface \
setWallpaper "$( ls ${wallpaper_base}/*/*.* | sort -R | head -1 )" 6
Am besten platziert man das in $HOME/.kde/Autostart (z.B. als symbolic link).
Auch ganz nett: Ein sich änderndes KDM-Logo (/usr/local/sbin/random_kdm_logo.sh):
#!/bin/bash
KDM_PIXMAP_DIR=/usr/share/apps/kdm/pics
KDM_LINKED_LOGO=/var/share/apps/kdm/pics/logo.jpg
# binaries
BIN_LS=/bin/ls
BIN_SORT=/usr/bin/sort
BIN_HEAD=/usr/bin/head
BIN_LN=/bin/ln
BIN_RM=/bin/rm
# get a random file as logo source
LOGO=$( $BIN_LS $KDM_PIXMAP_DIR/*.* | $BIN_SORT -R | $BIN_HEAD -1 )
$BIN_RM -f "$KDM_LINKED_LOGO"
$BIN_LN -s "$LOGO" "$KDM_LINKED_LOGO"
Einfach das Logo auf den Symbolischen Link setzen: /var/share/apps/kdm/pics/logo.jpg dann ändert sich das bei jedem Bootvorgang, sofern:
Es über ein init-Skript (/etc/init.d/random-kdm-logo) aufgerufen wird:
#! /bin/sh
### BEGIN INIT INFO
# Provides: random-kdm-logo
# Required-Start: $remote_fs
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop:
# Short-Description: Run /usr/local/sbin/random_kdm_logo.sh if it exist
### END INIT INFO
PATH=/sbin:/usr/sbin:/bin:/usr/bin
. /lib/init/vars.sh
. /lib/lsb/init-functions
do_start() {
if [ -x /usr/local/sbin/random_kdm_logo.sh ]; then
[ "$VERBOSE" != no ] && log_begin_msg "Switching to a new KDM logo (/usr/local/sbin/random_kdm_logo.sh)"
/usr/local/sbin/random_kdm_logo.sh
ES=$?
[ "$VERBOSE" != no ] && log_end_msg $ES
return $ES
fi
}
case "$1" in
start)
do_start
;;
restart|reload|force-reload)
echo "Error: argument '$1' not supported" >&2
exit 3
;;
stop)
;;
*)
echo "Usage: $0 start|stop" >&2
exit 3
;;
esac
Einfach noch die Links in /etc/rc2.d setzen:
# cd /etc/rc2.d
# ln -s ../init.d/random-kdm-logo ./S95random-kdm-logo
Gruß
L00NIX
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.