Итак. Сегодня я задался задачей написания скрипта для отображения случайных обоев. Расклад такой. В домашней папке (или в другой) лежат обои. Нам нужен скрипт выбора случайной обоины при загрузке. Да, таких вагон и маленькая тележка, но виденные мной какие-то непрозрачные, и я решил написать свой. Вот код моего скрипта : Code #!/bin/bash export DIR='/home/datauser/wallpapers/' FILENAME='' cd $DIR
RANGE=`ls -R | grep -c ''`
number=$[$RANDOM+1] let "number %= $RANGE" current=0
for f in `ls $DIR` do current=$[current+1] if [ "$current" -eq "$number" ] then FILENAME="$f" fi done
/usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR/$FILENAME Разберём его : export DIR='/home/datauser/wallpapers/ - здесь задается имя папки с обоями FILENAME='' - имя файла изначально неизвестно, инициируем ставим пустым RANGE=`ls -R | grep -c ''` - запишет в RANGE число файлов в папке на которую мы CD-сь, т.е. в $DIR number=$RANDOM let "number %= $RANGE" - получим случайное число в пределах количества файлов. Далее следует цикл, в котором в $f мы будем получать имя текущего файла а как счётчик выступит $current. Как только current станет равно number (т.е. номеру случайно отобранного файла) имя файла запишется в $FILENAME А далее следует команда Code /usr/bin/gconftool-2 -t string -s /desktop/gnome/background/picture_filename $DIR/$FILENAME Которая и выставит обои Напоследок добавим в автозагрузку при помощи проги из Система/Параметры/Запускаемые приложения
|