Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Как сделать фон который будет автоматически менятся  (Прочитано 1202 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн winner31413

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
есть же стандартные фоны которые автоматически меняются как сделать такие же

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
ls /usr/share/backgrounds/cosmos/
gedit /usr/share/backgrounds/cosmos/background-1.xml
Wars ~.o

Оффлайн winner31413

  • Автор темы
  • Участник
  • *
  • Сообщений: 139
    • Просмотр профиля
по подробнее

Оффлайн Alex G. Sam

  • Участник
  • *
  • Сообщений: 128
  • kernel 4.12-amd64
    • Просмотр профиля
Acer TravelMate B117M @ Linux Mint 18.2 Cinnamon x64

Оффлайн kiraxen

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Я не знал что существует формирователь xml для автосмены обоев и написал свой.
Привожу код:
#!/bin/bash
echo "sintaxis: $0 [path] [min_sec] [max_sec]"
if [ -n "$1" ];then path="$1";else path=.;fi
if [ -n "$2" ];then minT="$2";else minT=60;fi
if [ -n "$3" ];then maxT="$3";else maxT=1800;fi

outfile=background-1.xml
pathname=`pwd`


if [ ! -f func_show_bg_text ]
then
echo "create func func_show_bg_text"
echo "minT=\"\$3\"
maxT=\"\$4\"
rand=\`rand \"\$minT\" \"\$maxT\"\`
echo \" <static>
    <duration>\$rand</duration>
 <file>\$2/\$1</file>
  </static>\"
" > func_show_bg_text
chmod 555 func_show_bg_text
fi

# date +Y%Y_m%m_d%d__ch%H_m%M_s%S
echo "<background>
  <starttime>
    <year>`date +%Y`</year>
    <month>`date +%m`</month>
    <day>`date +%d`</day>
    <hour>`date +%H`</hour>
    <minute>`date +%M`</minute>
    <second>`date +%S`</second>
  </starttime>
<!-- This animation will start at midnight. -->
" > $outfile

find "$path"/* -type f -iname '*.jpg' -exec ./func_show_bg_text "{}" "$pathname" "$minT" "$maxT" \; >>$outfile

# какую это выполняет функцию я пока не понял и не разбирался
#  echo "<transition>
#   <duration>5.0</duration>
#    <from>/usr/share/backgrounds/cosmos/whirlpool.jpg</from>
#    <to>/usr/share/backgrounds/cosmos/cloud.jpg</to>
#  </transition>" >>$outfile
echo "</background>" >> $outfile
Этот скрипт, при первом использовании создает рядом с собой функцию для использовании в find
и использует скрипт "rand", который имеет два параметра и выдает случайное число в указанном диапазоне.
rand:#!/bin/bash
# границы диапазона в выход не включены!
if [[ -z "$1" ]]; then min=1;else min="$1";fi
if [[ -z "$2" ]]; then max=1;else max="$2";fi

number=0   #initialize
while [ "$number" -le $min ]
do
  number=$RANDOM
  let "number %= $max"  # Ограничение "сверху" числом $max.
done
echo $number

#random=$(($(($min+$(($max-$min))*${rnd:0:2}/100)) ))
min=
max=
random=
rnd=
U: 10.04.4, 10.10, D: 6

 

Страница сгенерирована за 0.027 секунд. Запросов: 22.