[#] Zmiana tapety zależnie od pory dnia

( Ostatnio zmieniony ndz., 19/09/2010 - 10:23 )
 

Chcielibyśmy, aby tapety się zmieniały same, zależnie od pory dnia i/lub godziny. Oto przepis:

1. Tworzymy plik tapeta.sh i nadajemy uprawnienia do wykonania (chmod +x tapeta.sh)

#!/bin/sh

# pobieramy PID nautilusa
nautilus_pid=$(pgrep -u $LOGNAME -n nautilus)

# Jeśli nautilus nie działa zakańczamy działanie po cichu
if [ -z "$nautilus_pid" ]; then
  exit 0
fi

# Pobieramy zmienną DBUS_SESSION_BUS_ADDRESS ze środowiska nautilusa
eval $(tr '\0' '\n' < /proc/$nautilus_pid/environ | grep '^DBUS_SESSION_BUS_ADDRESS=')

# Sprawdzamy czy faktycznie udało nam się pobrać tę zmienną
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ]; then
  echo "Nie udało się odnaleźć ..." >&2
  exit 1
fi

# eksportujemy dla potomnych procesów
export DBUS_SESSION_BUS_ADDRESS


GODZINA=$(date +%H)
case "$GODZINA" in
04|05|06|07)
# poranek
gconftool -t string -s /desktop/gnome/background/picture_filename ~/Obrazy/Tapety/poranek.jpg
;;
08|09|10|11|12|13|14|15)
# dzień
gconftool -t string -s /desktop/gnome/background/picture_filename ~/Obrazy/Tapety/dzień.jpg
;;
16|17|18 )
# zachod
gconftool -t string -s /desktop/gnome/background/picture_filename ~/Obrazy/Tapety/zachód.jpg
;;
*)
# noc
gconftool -t string -s /desktop/gnome/background/picture_filename ~/Obrazy/Tapety/noc.jpg
;;
esac

2. Tworzymy drugi plik, o nazwie tapeta.cron

* 4,8,16,19 * * * ~/Obrazy/Tapety/tapeta.sh

Co należy rozumieć: uruchom skrypt tapeta.sh każdego dnia o godzinach 4,8,16,19

* od czwartej do siódmej – poranek
* od ósmej do piętnastej – dzień
* od szesnastej do osiemnastej – zachód
* od dziewiętnastej do trzeciej – noc

3. Dodajemy nasz skrypt do programów startowych (opis dotyczy Gnome)

  • Programy startowe, z menu System → Preferencje → Programy startowe.
  • Dodaj.
  • W pole Nazwa wpisujemy dowolną nazwę, a w polu Polecenie wpisujemy: crontab ~/Obrazy/Tapety/tapeta.cron

4. Aby niezależnie od pory dnia, ale przy każdym logowaniu do systemu, mieć od razu ustawioną odpowiednią tapetę do pory dnia, należe dodać drugi wpis do programów startowych. Wpis ten powinien zawierać w polu Polecenie: ~/Obrazy/Tapety/tapeta.sh

UWAGA

Jeżeli ustawimy brak tapety (w menu pulpitu) powyższa opcja nie zadziała.

Twoja ocena: Brak Średnio: 5 (3 głosy)

Odpowiedzi : 1

Ostatni komentarz : czw., 17/03/2011 - 21:40

Jeszcze jest taki programik Drapes, który zmienia tapetę co określony w ustawieniach czas :)

Dodaj nową odpowiedź

Informacja:

Osoby zamieszczające wypowiedzi naruszające prawo lub prawem chronione dobra osób trzecich, mogą ponieść z tego tytułu odpowiedzialność karną lub cywilną. Upewnij się, że twoja wypowiedź nie godzi w niczyje mienie.

  • Internal paths in single or double quotes, written as "internal:node/99", for example, are replaced with the appropriate absolute URL or path. Paths to files in single or double quotes, written as "files:somefile.ext", for example, are replaced with the appropriate URL that can be used to download the file.
  • Adresy internetowe są automatycznie zamieniane w odnośniki, które można kliknąć.
  • Dozwolone znaczniki HTML: <strong> <blockquote> <code>
  • Znaki końca linii i akapitu dodawane są automatycznie.

Więcej informacji na temat formatowania

Łapirobot
Proszę odpowiedzieć
T
g
Z
y
8
P
U
z
B
2
Enter the code without spaces and pay attention to upper/lower case.