Заходи заходи
Имя

Пароль



Регистрация
Сейчас в чате 1
Их боялся Флинт
Модеры:
Orkana Джа Cyber_Ghost zl0l

Админы:
del Tёмный DreamX MoRS
Бесполезные линки

Valid XHTML 1.0 Transitional

Tёмный: Поломался Real-time Sunlight Wallpaper в Ubuntu
Tёмный
pic
13 фев 2012 07:44
Изменен 06 апр 2012 12:26
Редактировать
Ссылка на этот пост
Работал у меня Real-time Sunlight Wallpaper в Ubuntu. Ну это типа динамически обновляющаяся обоина, вид на землю из космоса. Выглядело примерно вот так
 
И буквально на днях оно сломалось. Полез чинить, примерно понял в чем трабла, но что делать дальше - хз.
 
Собственно добрался до потрошков:
по адресу /home/[юзер]/.gnome2/RealtimeSunlightWallpaper лежит файлик-скриптец get_image.sh следующего содержания
 
Text
#!/bin/bash
 
COUNTER=0
while [ $COUNTER -lt 12 ]; do
        curl http://static.die.net/earth/rectangular/1600.jpg > world.jpg
        temp=$(stat -c%s world.jpg)
                if [[ $temp > 1000 ]]
                then rm /home/test/.gnome2/RealtimeSunlightWallpaper/gtk-sunlight/*.jpg
                        mv world.jpg /home/test/.gnome2/RealtimeSunlightWallpaper/gtk-sunlight/sunlight_wallpaper1329116847.jpg
                        exit 0
        fi
        sleep 5
        let COUNTER=COUNTER+1
done

Скрипт действительно работает. И исправно каждые N-минут делает свеженький файл /home/[юзер]/.gnome2/RealtimeSunlightWallpaper/gtk-sunlight/sunlight_wallpaper1329116847.jpg
 
В тырнете по адресу http://static.die.net/earth/rectangular/1600.jpg регулярно появляется свежая картинка.
 
Казалось бы всё ок, и должно работать.
 
Но не пашет. Проблему я почти нашел, а именно:
Файлик, который в тырнете, весит около 125 кило,
а срипт создает файлик весом 37 байт (!).
Я ручками качнул файлик с указанного адреса, переименовал его в sunlight_wallpaper1329116847.jpg и подложил в нужную папочку, и всё заработало. Но только на время, до следующего обновления.
Т.е. похоже в момент скачивания-переименования-выкладывания файлика с картинкой скрипт что-то стал делать не так.
А вот что и почему - бля, хз.
Хелп ми, плz.
MoRS
pic
13 фев 2012 08:29

Редактировать
Ссылка на этот пост
а можно это файлик 37 байт посмотреть? кинь на мыло
Tёмный
pic
13 фев 2012 08:37

Редактировать
Ссылка на этот пост
Хотел его сюда запостить, но он сказал, что это не жпег.
Кстати, он - sunlight_wallpaper1329116847.jpg 37 байт - ни одним вьювером картинок не открывается.
Отправил на мыло.
MoRS
pic
13 фев 2012 08:53

Редактировать
Ссылка на этот пост
а это и не жпег, это гиф 1х1px и еще и битый) наверно сервер так отдает почемуто..
Попробуй в консольке
curl http://static.die.net/earth/rectangular/1600.jpg > world.jpg
Tёмный
pic
13 фев 2012 08:55
Изменен 13 фев 2012 09:04
Редактировать
Ссылка на этот пост
эээ
 
test@test-desktop:~$ curl http://static.die.net/earth/rectangular/1600.jpg > world.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0    37    0    37    0     0     35      0 --:--:--  0:00:01 --:--:--    64
test@test-desktop:~$
 
UPD а потом этот world.jpg где искать?
Хотя и так видно, что скачалось коряво.
Но если бровзером смотреть , то по ссылке http://static.die.net/earth/rectangular/1600.jpg нормальную картинку отдает.
(причем нужно не "перейти по ссылке", а прям в адресную строку вставить ссылочку, т.е. бровзер носом ткнуть)
MoRS
pic
13 фев 2012 09:02

Редактировать
Ссылка на этот пост
это там трабла, видимо много запросов на эту картинку и решили почикать нах. Я скриптом нормально забирал сейчас а вот только что залочили
Tёмный
pic
13 фев 2012 09:05

Редактировать
Ссылка на этот пост
MoRS
видимо много запросов на эту картинку и решили почикать нах

вот суки!
MoRS
pic
13 фев 2012 09:10

Редактировать
Ссылка на этот пост
попробуй дописать в 4ой строке после 1600.jpg дописать знак вопроса чтобы было "1600.jpg?"
Tёмный
pic
13 фев 2012 09:13

Редактировать
Ссылка на этот пост
та же фигня, ничего не поменялось. качает-выкладывает 37 байт
MoRS
pic
13 фев 2012 09:15

Редактировать
Ссылка на этот пост
ты же его остановил,  потом исправил, потом запустил?
Tёмный
pic
13 фев 2012 09:37

Редактировать
Ссылка на этот пост
[13:17:59] <Tёмный> "ты же его остановил,  потом исправил, потом запустил?" - нет. гы
[13:18:22] <MoRS> =)
[13:18:31] <Tёмный> но я в консольке сказал
test@test-desktop:~$ curl http://static.die.net/earth/rectangular/1600.jpg? > world.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0    37    0    37    0     0     44      0 --:--:-- --:--:-- --:--:--    81
test@test-desktop:~$ curl http://static.die.net/earth/rectangular/1600.jpg? > world.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0    37    0    37    0     0     34      0 --:--:--  0:00:01 --:--:--    74
 
[13:18:50] <Tёмный> что я делаю не так?
[13:18:54] <MoRS> ну у меня вот хуячит
[13:19:04] <MoRS> а без вопроса нет
[13:19:16] <Tёмный> вопрос после жпег?
[13:19:34] <MoRS> да, у тебя правильно написано
[13:19:57] <MoRS> ну останови скрипт может они деруцца там
[13:20:10] <Tёмный> гг, а как?
[13:20:32] <MoRS> killall имя файла
[13:21:32] <Tёмный> я криворукий же
test@test-desktop:~$ killall get_image.sh
get_image.sh: процесс не найден
test@test-desktop:~$ killall get_image
get_image: процесс не найден
test@test-desktop:~$
 
[13:22:56] <Tёмный> он не понимает "стой скрипт о котором я щас подумал" ? не ?
[13:23:20] <MoRS> какаято фигня)
[13:25:27] <Tёмный>  
test@test-desktop:~$ ps aux | grep sunl
test      1192  0.0  0.4  18528  3796 ?        S    Feb09   0:01 gtk-sunlight --nodisplay
test      7301  0.0  0.1   3348   888 pts/0    S+   13:24   0:00 grep --color=auto sunl
test@test-desktop:~$
[13:26:06] <Tёмный> это я типа санлайт в процессах поискал
[13:27:06] <MoRS> ну попробуй ебнуть gtk-sunlight)
[13:28:22] <Tёмный> ёбнул, подправил скрипт, запустил санлайт через панельку.... скрипт переписался в начальное состояние, без вопросика
[13:28:45] <MoRS> вот сука
[13:28:48] <MoRS> какая
[13:30:05] <Tёмный> как процессу не убивая его сказать что перечитал свои конфиги-параметры ?
[13:30:23] <MoRS> это как кодер надушу положит)
[13:30:40] <MoRS> ебни еще раз и попробуй опять в лоб
curl http://static.die.net/earth/rectangular/1600.jpg? > world.jpg
 
[13:30:56] <Tёмный> аг, ща
[13:31:59] <Tёмный>
test@test-desktop:~$ kill 7309
test@test-desktop:~$ ps aux | grep sunl
test      7344  0.0  0.1   3344   820 pts/0    S+   13:31   0:00 grep --color=auto sunl
test@test-desktop:~$ curl http://static.die.net/earth/rectangular/1600.jpg? > world.jpg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0    37    0    37    0     0     29      0 --:--:--  0:00:01 --:--:--    53
test@test-desktop:~$
 
[13:32:07] <MoRS> рр
[13:33:11] <MoRS> тогда хз как бороцца
[13:35:09] <Tёмный> а бровзером понимает, и всё ок
[13:35:37] <Tёмный> т.е. вручную, зашел на сайт, скачал картинку, положил куда надо - работает
Tёмный
pic
13 фев 2012 09:45

Редактировать
Ссылка на этот пост
аргх! там может это не у них проблема, а у меня?
или таки со стороны сервера подлецы сидят?
Tёмный
pic
13 фев 2012 10:33

Редактировать
Ссылка на этот пост
[14:10:38] <MoRS> попробуй curl поменять на wget
[14:12:14] <Tёмный> хуй
test@test-desktop:~$ wget http://static.die.net/earth/rectangular/1600.jpg? > world.jpg
--2012-02-13 14:11:22--  http://static.die.net/earth/rectangular/1600.jpg?
Преобразование адреса static.die.net... 209.151.236.22
Устанавливается соединение с static.die.net|209.151.236.22|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 37 [image/gif]
Saving to: «1600.jpg»
 
100%[=======================================================>] 37          --.-K/s   в 0s      
 
2012-02-13 14:11:23 (3,83 GB/s) - «1600.jpg» saved [37/37]
 
================
И да, смотрю, скрипт регулярно туда ходит и выкладывает свеженький кривой файлик.
Т.е. проблема как раз в том, что он нормальный файл оттуда забрать не может.
Tёмный
pic
13 фев 2012 11:08

Редактировать
Ссылка на этот пост
бла бла бла
...
 
[15:00:47] <MoRS> wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" http://static.die.net/earth/rectangular/1600.jpg > world.jpg
 
[15:01:34] <Tёмный> нашел пару хуйней:
еще проще, без dbus и крона:
 
while true; do
wget -r -N static.die.net/earth/mercator/1600.jpg -O /tmp/1600.jpg && feh --bg-scale /tmp/1600.jpg
sleep 20m
done &
 
========
а. точно. спасибо!
Это для гнома:
$ wget -r -N 'http://static.die.net/earth/mercator/1600.jpg' -O /tmp/1600.jpg; gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/1600.jpg
 
======
но в них всё сводится к тому, чтоб получить картинку. а она не дается
[15:02:22] <MoRS> юзер агент указать
[15:02:41] <Tёмный> м?
[15:02:46] <MoRS> см выше
[15:03:45] <Tёмный> а
[15:03:47] <Tёмный> о!
[15:03:52] <MoRS> без юзерагент он не отдает картинку
[15:04:06] <Tёмный>  
test@test-desktop:~$ wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" http://static.die.net/earth/rectangular/1600.jpg > world.jpg
--2012-02-13 15:03:37--  http://static.die.net/earth/rectangular/1600.jpg
Преобразование адреса static.die.net... 209.151.236.22
Устанавливается соединение с static.die.net|209.151.236.22|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 130183 (127K) [image/jpeg]
Saving to: «1600.jpg.2»
 
100%[=======================================================>] 130 183     69,0K/s   в 1,8s    
 
2012-02-13 15:03:40 (69,0 KB/s) - «1600.jpg.2» saved [130183/130183]
 
[15:04:14] <MoRS> оно
[15:04:26] <Tёмный> теперь как это в скрипт засунуть?
[15:04:42] <MoRS> ща
[15:05:14] <Tёмный> какая-то сука этот скрипт (сам файл) каждый раз приводит к нормализованному состоянию
[15:05:25] <MoRS> ps axf|grep sunl
[15:05:35] <MoRS> поищи там путь к ней
[15:06:14] <Tёмный> где там поискать? там вообще ни х нету
test@test-desktop:~$ ps axf|grep sunl
1265 ?        S      0:00              \_ gtk-sunlight --nodisplay
2023 pts/0    S+     0:00      \_ grep --color=auto sunl
test@test-desktop:~$
Tёмный
pic
13 фев 2012 12:46

Редактировать
Ссылка на этот пост
бла бла бла
...
[16:29:57] <MoRS> попробуй
wget -r -N 'http://delchat.ru/userfiles/2/img_1307694334.jpg' -O /tmp/1600.jpg; gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/1600.jpg
[16:30:09] <MoRS> изменицца рабочий стол?
[16:30:44] <Tёмный> да
[16:30:50] <Tёмный> это пиздец
[16:31:04] <Tёмный> зона пингвинов на 24 дюйма
[16:31:08] <MoRS> гг
[16:31:21] <MoRS> ща
[16:31:55] <Tёмный> я подозреваю, что этот хитрый финт можно и без санлайт сделать, а чиста другими скриптами
[16:35:27] <MoRS> а так?
wget -A "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" -r -N 'http://static.die.net/earth/rectangular/1600.jpg' -O /tmp/1600.jpg; gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/1600.jpg
 
[16:35:39] <MoRS> нене
[16:36:16] <MoRS> wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" -r -N 'http://static.die.net/earth/rectangular/1600.jpg' -O /tmp/1600.jpg; gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/1600.jpg
[16:36:23] <MoRS> вот так попробуй
[16:44:17] <Tёмный> загрузилось, на секунду проскочило, и всё стало серым
[16:44:33] <Tёмный> картинка не осталась (как в предыдущем разе)
Tёмный
pic
13 фев 2012 13:23
Изменен 13 фев 2012 13:30
Редактировать
Ссылка на этот пост
[17:16:34] <Tёмный> ггг, причем попробовал снова сделать зону пингвинов.... так картинка рабочего стола обновилась процентов на 15-20. остальное -серым
 
Tёмный
pic
13 фев 2012 13:46

Редактировать
Ссылка на этот пост
[17:35:27] <Tёмный> .... запустил санлайт... и стало всё дефолтно-фиалетова
[17:45:27] <Tёмный> сделал так
test@test-desktop:~$ wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" -r -N 'http://static.die.net/earth/rectangular/1600.jpg' -O /tmp/1600.jpg; gconftool-2 -t str --set /desktop/gnome/background/picture_filename /tmp/1600.jpg
ПРЕДУПРЕЖДЕНИЕ: комбинирование параметра -O с -r или -p означает, что весь загруженный контент будет помещён в один файл.
 
ПРЕДУПРЕЖДЕНИЕ: время модификации файла не работает в комбинации с флагом -O.
Смотрите руководство для дополнительной информации.
 
--2012-02-13 17:42:37--  http://static.die.net/earth/rectangular/1600.jpg
Преобразование адреса static.die.net... 209.151.236.22
Устанавливается соединение с static.die.net|209.151.236.22|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 128911 (126K) [image/jpeg]
Saving to: «/tmp/1600.jpg»
 
100%[=================================================================================>] 128 911     74,6K/s   в 1,7s    
 
2012-02-13 17:42:39 (74,6 KB/s) - «/tmp/1600.jpg» saved [128911/128911]
 
ЗАВЕРШЕНО --2012-02-13 17:42:39--
Загружено: 1 файлов, 126K за 1,7s (74,6 KB/s)
test@test-desktop:~$
 
получилось снова серый экран... и ручками в выборе обоев ткнул в картинку.
поставилась
но оно ж обновляться не будет.
 
короче, пока нид хелп.
MoRS
pic
14 фев 2012 04:11
Изменен 14 фев 2012 14:17
Редактировать
Ссылка на этот пост
-Есть проблемы с обновлением (перерисовкой) экрана. Связано с тем что это виртуалка.
 
-Есть проблемы с сайтом die.net Они заипались от запросов и залочили (когда делали сайт не думали что ктото напишет этот риал тайм валпапер который на халяву будет с них снимать эту картинку всем сообществом)
 
- иногда отдает когда нагрузка небольшая.
 
- иногда грузицца иногда нет - ипет моск кеш браузера, кеш сквид (через который сидят все)
 
Все четыре одновременно.
Tёмный
pic
05 апр 2012 15:27

Редактировать
Ссылка на этот пост
Да впринципе и похер на этот Real-time Sunlight Wallpaper, я ему uninstall сделал.
Но тема с обновляющейся картинкой земли таки не дает мне покоя. Появилась пара идей как это сделать без приблуды Real-time Sunlight Wallpaper.
Но мне нужна помощь, ибо я полный нуб в скриптах.
MoRS, можешь сделать скриптик, который будет регулярно таскать оттуда картинку, и складывать её в заданную папку?
Ну я так понимаю скриптик должен таскать и складывать, и его как-то в крон засунуть надо.
Помоги, а? = )
Tёмный
pic
06 апр 2012 08:01
Изменен 06 апр 2012 10:04
Редактировать
Ссылка на этот пост
Добрался до более-менее свободных клавиш, потестировал суть идеи. Получилось. готов показать.
Сразу же предупреждаю, что я нуб, ламер, извращенец, и не ищу лёгких путей.
 
В стандартной сборке гнома есть фон рабочего стола "Космос". Суть его такова: показывает несколько "космических снимков" меняя из через какой-то промежуток времени. И я подумал, а почему нет?
 
Скачал очередной файлик с видом на Землю:
 
test@test-desktop:~$
test@test-desktop:~$ wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" http://static.die.net/earth/rectangular/1600.jpg > world.jpg
--2012-04-06 10:44:18--  http://static.die.net/earth/rectangular/1600.jpg
Преобразование адреса static.die.net... 209.151.236.22
Устанавливается соединение с static.die.net|209.151.236.22|:80... соединились.
Запрос HTTP послан, ожидание ответа... 200 OK
Длина: 129610 (127K) [image/jpeg]
Saving to: «1600.jpg»
 
100%[=========================================================================>] 129 610      123K/s   в 1,0s    
 
2012-04-06 10:44:20 (123 KB/s) - «1600.jpg» saved [129610/129610]

Далее зашел в папку
/usr/share/backgrounds/cosmos/
и выкинул из неё все картинки. Вместо них поместил туда свой 1600.jpg.
 
В файлике
/usr/share/backgrounds/cosmos/background-1.xml
выкинул всё, что посчитал лишним (может мало посчитал?) и поправил ссылочку на картинку 1600.
Получилось вот так:
 
Text
<background>
  <starttime>
    <year>2009</year>
    <month>08</month>
    <day>04</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
<!-- This animation will start at midnight. -->
  <static>
    <duration>895.0</duration>
    <file>/usr/share/backgrounds/cosmos/1600.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/usr/share/backgrounds/cosmos/1600.jpg</from>
    <to>/usr/share/backgrounds/cosmos/1600.jpg</to>
  </transition>
</background>

Ну а потом стандартными средствами поставил фон рабочего стола "Космос"
 
Получил фон рабочего стола из картинки 1600.
 
Чтобы понять, работает или не работает, открыл Gimp, и немножко поменял вид земли-матушки.
Через некоторое время и на рабочем столе фон сменился. Работает!
 

 
Ну вот теперь задача, надо чтобы компутер регулярно скачивал оттуда файлик со свежей картинкой и выкладывал её в /usr/share/backgrounds/cosmos/1600.jpg заменяя лежащий там файлик.
 
Ну или научите меня как сделать по другому = )
 
Кстати, у предложенного варианта появилась дополнительная опция. При таком раскладе эту штуку можно будет использовать не только как фон рабочего стола, но и как скринсэйвер!
 
MoRS
pic
06 апр 2012 09:30
Изменен 06 апр 2012 12:44
Редактировать
Ссылка на этот пост
Круто ты озадачился=)
 
Предлагаю так:
 
Создаем папку в домашнем каталоге, где будет жить наше барахло(скрипт и картинка):
mkdir $HOME/mybackground
 
Создаем пустой файл, это будет скрипт:
echo > $HOME/mybackground/getimage
 
Делаем его исполняемым:
chmod 755 $HOME/mybackground/getimage
 
Туда пишем:
Text
#!/bin/sh
FROM=http://static.die.net/earth/rectangular/1600.jpg
TO=/home/mors/mybackground/1600.jpg
wget -U "ELinks (0.4pre5; Linux 2.4.27 i686; 80x25)" $FROM -r -O $TO
exit 0
*mors заменяем на своего юзера
 
Проверяем как работает:
$HOME/mybackground/getimage
Должно скачацца файло 1600.jpg
 
Делаем на него ярлык в /usr/share/backgrounds/cosmos/
(старый файл оттуда убрать сначала)
sudo ln -s $HOME/mybackground/1600.jpg /usr/share/backgrounds/cosmos/
 
Чтобы скрипт запускался каждый час, его нужно просто положить в папку /etc/cron.hourly
Но лучше положить туда ярлык на него.
sudo ln -s $HOME/mybackground/getimage /etc/cron.hourly
 
С ярлыками удобнее, все лежит в одном месте в домашнем каталоге и можно их править без рутовых прав.
 
Должно работать
Tёмный
pic
06 апр 2012 09:48

Редактировать
Ссылка на этот пост
MoRS, клёва! Спасибо огромное!
 
А если я хочу чтоб он тягал картинку чаще чем раз в час, мне в какой крон надо ярлык закинуть?
MoRS
pic
06 апр 2012 10:50
Изменен 06 апр 2012 11:12
Редактировать
Ссылка на этот пост
Тогда делаем более грамотно=)
 
Создаем файл с расписанием для cron
echo > $HOME/mybackground/mycrontab
 
Туда пишем:
Text
SHELL=/bin/bash
MAILTO=user
0,20,40 * * * * /home/mors/mybackground/getimage
Это означает что getimage будет запускацца в 00, 20 и 40 минут каждого часа. Можно исправить/дописать по вкусу(пруф).
*mors меняем на своего юзера
 
Скармливаем его крону
crontab $HOME/mybackground/mycrontab
 
Должно работать)

зы: в  /etc/cron.hourly тогда ничево не нада

 
Tёмный
pic
06 апр 2012 12:26

Редактировать
Ссылка на этот пост
... что-то я тут подумал немножко.
Вот так делать НЕПРАВИЛЬНО
 
Tёмный
Далее зашел в папку
/usr/share/backgrounds/cosmos/
и выкинул из неё все картинки. Вместо них поместил туда свой 1600.jpg.
 
В файлике
/usr/share/backgrounds/cosmos/background-1.xml
выкинул всё, что посчитал лишним (может мало посчитал?) и поправил ссылочку на картинку 1600.

Ведь если мы поправим файлик /usr/share/backgrounds/cosmos/background-1.xml, то существовавшие в папке картинки нам уже не помешают.
 
Идеологически вернее будет поступить так:
 
забэкапить существующий файлик
sudo cp /usr/share/backgrounds/cosmos/background-1.xml /usr/share/backgrounds/cosmos/background-1.xml.bak
 
далее выкинуть из него всё лишнее, поправить  ссылку на 1600, выставить нужный период обновления.
 
и закинуть ярлык от 1600 в эту папку, как подсказывал MoRS
 
Новое сообщение