Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
nowtime=$(date +%H%M | sed -r 's/.$//')
nowtime=$nowtime"000"
nowyear=$(date +%Y)
nowmonth=$(date +%m)
nowday=$(date +%d -d -1day)
...
url="$site/$level/$width/$nowyear/$nowmonth/$nowday/$nowtime"
timestamp=$(date -d -1day +%Y/%m/%d/%H%M | sed -r 's/.$/000/')
...
url="$site/$level/$width/$timestamp"
Для xfce4
…
xfconf-query -c xfce4-desktop....
Другие X-системыи опять в скрипте
...xfconf-query -c xfce4-desktop...
gconftool-2 -t str -s /desktop/gnome/background/picture_filename $workdir/out_$numblocks.png
DESKTOP_SESSION=gnome
GDMSESSION=gnome
WINDOWMANAGER=/usr/bin/gnome
… Погуглив, не нашёл реализации под linux...
#!/bin/bash
delay=900 # seconds
while true
do
width=550
numblocks=${1:-4}
level=$numblocks'd' #Level can be 4d, 8d, 16d, 20d
nowtime=$(date +%H%M | sed -r 's/.$//')
nowtime=$nowtime"000"
nowyear=$(date +%Y -d -1day)
nowmonth=$(date +%m -d -1day)
nowday=$(date +%d -d -1day)
workdir="/home/cutemaj/.earthwallpaper"
if [ ! -d $workdir ]; then
mkdir -p $workdir
fi
cd $workdir
site="http://himawari8-dl.nict.go.jp/himawari8/img/D531106"
url="$site/$level/$width/$nowyear/$nowmonth/$nowday/$nowtime"
for (( i=0; i<=$numblocks-1; ++i))
do
for (( j=0; j<=$numblocks-1; ++j))
do
sourceurl="$url"$(printf '_%d_%d.png' "$i" "$j")
desturl="piece_"$numblocks"_"$(printf '%02d_%02d.png' "$i" "$j")
echo Downloading $sourceurl to $desturl
wget $sourceurl -O $workdir/$desturl
done
convert -append piece_$numblocks*_*.png img_$numblocks"_"$(printf '%02d' "$i").png
rm piece_$numblocks*_*.png
done
convert +append img_$numblocks"_"*.png "out_"$numblocks".png"
rm img_*.png
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorVGA-0/workspace0/last-image -s $workdir/out_$numblocks.png
sleep $delay
done
#!/bin/bash
delay=900 # seconds
while true
do
width=550
numblocks=${1:-4}
level=$numblocks'd' #Level can be 4d, 8d, 16d, 20d
timestamp=$(date -d -1day +%Y/%m/%d/%H%M | sed -r 's/.$/000/')
workdir="/home/cutemaj/.earthwallpaper"
if [ ! -d $workdir ]; then
mkdir -p $workdir
fi
cd $workdir
site="http://himawari8-dl.nict.go.jp/himawari8/img/D531106"
url="$site/$level/$width/$timestamp"
for (( i=0; i<=$numblocks-1; ++i))
do
for (( j=0; j<=$numblocks-1; ++j))
do
sourceurl="$url"$(printf '_%d_%d.png' "$i" "$j")
#sourceurl="$url$dash$i$dash$j.png"
#desturl="$url$dash"
desturl="piece_"$numblocks"_"$(printf '%02d_%02d.png' "$i" "$j")
echo Downloading $sourceurl to $desturl
wget $sourceurl -O $workdir/$desturl
done
convert -append piece_$numblocks*_*.png img_$numblocks"_"$(printf '%02d' "$i").png
rm piece_$numblocks*_*.png
done
convert +append img_$numblocks"_"*.png "out_"$numblocks".png"
rm img_$numblocks"_"*.png
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitorVGA-0/workspace0/last-image -s $workdir/out_$numblocks.png
sleep $delay
done
По мелочи: сервер не всегда загружает изображения прямо совсем новые, так что есть шанс наткнуться на пустоту. Поэтому в скрипте я получаю фотки прошлого дня
timestamp=$(date -d -4hours +%Y/%m/%d/%H%M | sed -r 's/.$/000/')
/usr/share/zoneinfo/%Zone%/%SubZone%, которые используются для определения временных настроек. SubZone — это крупный город, по его имени теоретически можно определить примерные координаты юзера.
himawari8 wallpaper для linux