Linux. Полное руководство.

4.3.3. Автоматическая смена обоев.

Обои на рабочем столе рано или поздно надоедают, и хочется их сменить. Делать это вручную — лень: это ж сколько придется щелкать мышкой. Автоматизируем эту рутинную процедуру, написав сценарий, выбирающий обои из каталога /home/den/Wallpapers (где у меня хранятся мои любимые обои) случайным образом. Собственно установку обоев выполняет утилита GNOME gconftool-2.

Листинг 4.3. Файл change_wallpaper.

#!/bin/bash.

Export DIR='/home/den/Wallpapers/'.

Export NUMBER=$RANDOM.

Export TOTAL= 0.

For f in `ls $DIR`

Do.

 let "TOTAL += 1".

Done.

Let "NUMBER %= TOTAL".

Export CURRENT=0.

For f in `ls $DIR`

Do.

 if [ $CURRENT = $NUMBER ].

 then.

  /usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR/$f.

  break.

 fi.

 let "CURRENT += 1".

Done.

Но это еще не все. Можно сэкономить и на запуске сценария change_wallpaper, заставив его запускаться автоматически. Во-первых, вы можете добавить его в сценарии загрузки системы (п. 9.1.2). Для домашнего компьютера, который на ночь выключают, это неплохое решение: вы будете каждый день сидеть за столом с новыми обоями. Во-вторых, вызов сценария change_wallpaper можно поместить в сценарий запуска GNOME. И в-третьих, change_wallpaper можно вручить диспетчеру расписаний cron (п.9.4) для выполнения по назначенному вами расписанию — хоть каждую минуту.