пятница, 30 сентября 2011 г.

Ubuntu Wallpaper Changer (v.0.4.395x)


В предыдущей заметке я рассказал, что на dropbox закинуто почти 50 000 картинок с разрешением от 1920х1080 и выше. Сделал я это для того, чтобы на моем ноуте автоматически менялись обои и у меня не было желания лазить по сайтам, вводить какие то логины с паролями и прочую лабуду, чтобы скачать пару картинок. на заставку

Что же я с этим добром сделал?
А вот что:

Понравилась программа?
Поддержи:


  • Программа выбирает случайную картинку из категории указанной в аргументах командной строки и устанавливает ее в качестве wallpaper.

  • Кроме того программа может подхватывать "Охуенный блять совет" и делать из него картинку.



  • Программа имеет возможность работы совместно с популярным системным монитором conky и может создавать подложку чтобы выводимые сообщения conky не сливались с фоном.


Установка и удаление

Для установки в Ubuntu кликните на ссылке: chbg-03_4.396.105_all.deb и выберите "откырыть с помощью Ubuntu Software Center"
Или выполните в терминале следующие команды: $ cd /tmp $ wget http://AxaRu.opendrive.com/files/86055110_VKAsW_e1b2/chbg-03_4.396.105_all.deb -O chbg-03_4.396.105_all.deb $ sudo apt-get install imagemagick curl $ sudo dpkg -i chbg-03_4.396.105_all.deb
Затем откройте в nautilus папку ~/.local/share/applications и перетащите файл change_bg.desktop на панель unity launcher.


Удалить программу можно опять же через Ubuntu Software Center или из терминала, дав команду: $ sudo dpkg -r chbg-03

Как это работает

Все картинки размещены на dropbox и доступны для скачивания без всяких ограничений. Это значит что, если вы установите эту программу к себе на компьютер, то она будет обновлять картинки и на вашем десктопе.
Во время установки в систему будет скопирована программа /usr/bin/chbg-03, в каталог /usr/share/fonts/truetype/other будут проинсталлированы дополнительные шрифты и в /etc/crontab будет добавлена команда запуска.
# Смена wallpaper каждые 5 минут
1-59/5 * * * * user env DISPLAY=:0 /usr/bin/chbg-03 -r -b -c 220,600

Ключи командной строки:
$ chbg-03 -h usage: chbg-03 [options] -h - this help -a - About -b - no action on battery -c W,H - WxH area from Left-Upper corner a murky glass under conky -d - delete current picture from playlist (reserved) -f RUS|ENG - facking bitch advise russian/english -i - no invective (under 16) -j - random FBA in selected theme -t [Theme1[,Theme2]...] - select random image from Theme is: Abstract Animal Anime Art Avia Car Comp Cosmos Fba Fiction Flowers Game Girl Holiday Kids Lingerie Map Mechanic Men Military Movie Music Nature Nude Ship Sport Texture Urban -o - store current picture to playlist (reserved) -p - select playlist (reserved) -r - resize to current display geometry -s ON|OFF|TOGGLE - set key stop execute to on/off or toggle -u - update unity change_bg.desktop file -w - disable wallet info -v - version On-line collection contains about 100,000 wallpaper with resolution over 1920x1080

Совместимость и отвественность

Да, чуть не забыл: все это работает под Ubuntu 14.04. Под другими системами тоже все должно работать.
Стандартные, но все таки важные замечания: вы устанавливаете эту программу на свой страх и риск.

Копирайты и копилефты

Вы можете скачивать, устанавливать, удалять, модифицировать эту программу без всяких ограничений. Единственная просьба: не удаляйте мое имя из исходников. Это тешит мое самолюбие. 8-).
Исходный текст доступен по этой ссылке: chbg-03-4.396.sh

Последние изменения

26/12/2011 v 0.4.31 - Улучшил отображение FBA (fucking bitch advice). В качестве цвета надписи берется основной цвет картинки, который "подсвечивается".
03/01/2012 v 0.4.33 - Добавлена функция создания подложки под conky, чтобы выводимые сообщения не сливались с фоном.
07/02/2012 v 0.4.341.44 - Добавлена поддержка Sony Vaio VGN-NR385E
13/02/2012 v 0.4.38.79 Дизастер!!!
Видать тулза пользуется некоторой популярностью и мы заюзали трафик у Дропбокса. Эти говнюки нам его порезали.
В связи с чем я в некоторых раздумьях, что делать? В общем нужно на каком нибудь бесплатном сервисе с широким трафиком организовать около 100 gb.
. Возможно это http://minus.com. Изучаю API. А пока я сделал релиз, который в рамках этого сервиса уменьшит на него нагрузку.
03/03/2012 v 0.4.382.73 Устранен мелкий баг взаимодействия с conky

08/11/2012 - сделал тестовую сборку с индикатором под Gnome 3

Как будет время зарелизю
30/03/2014 v 0.4.393.85. Сделаны изменения для совместимости с Ubuntu 14.04. Устранены баги.

Для развития программы важна обратная связь

Пишите в коментариях или на почту о том нужно ли это вам, что еще вы хотели бы видеть в этой программе, информацию о замеченных багах и пожелания.


Планы по развитию

  1. Показ картинок расположенных на локальном диске.
    Реализовано, начиная с версии 0.4.38
  2. Обои на каждый рабочий стол.
  3. "Проигрывание" обоев из плейлиста.
  4. Добавление в плейлист текущей установленной картинки.
  5. Поменять расположение конфига с /tmp на ${HOME}/.config/bgch
    Реализовано. Конфиг и связанные файлы распологаются в ${HOME}/.chbg-03/
  6. Разработать новую формулу вычисления размера шрифта.
  7. Автоматически добавлять иконку на unity.launcher при установке программы.
  8. Сделать возможность приостанавливать\запускать скрипт.
    Реализовано. Ключ -s разрешает/ запрещает смену обоев.


Полезные ссылки:

33 комментария:

  1. > Вставил в /etc/criontab строку, которая запускает скрипт каждые 4 минуты.

    crontab

    crontab -e

    ОтветитьУдалить
  2. Не очень ясно что имелось ввиду.

    ОтветитьУдалить
  3. что-то нихуя под ubuntu 10.04 не идёт.

    вываливается с ошибкой
    Unknown command: set_window
    Run 'xdotool help' if you want a command list

    ОтветитьУдалить
  4. Хороший скрипт!
    Есть пару предложений:
    1.Сделать возможность приостанавливать\запускать скрипт (например соединение с интернетом иногда может быть через GPRS).
    2.Сделать группу All, возможно кроме Nude.
    3.Если у человека Юнити, то при установке добавлять ярлык на Лаунчер.
    4. Ключ -u востанавливает очень древний ярлык.

    ОтветитьУдалить
  5. Спасибо, Bogdan.

    Я так понял, что с последней сборкой мы ляпы убрали.
    С ключем -u, да. Я забыл обновить. Сегодня пересоберу.

    ОтветитьУдалить
  6. не работает :(

    в консоле вываливается следующее
    chbg-03
    Reset Value
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 548: ((: RANDPIC=RANDOM%MAXPIC+1: деление на 0 (error token is "+1")
    cat: /home/shanin/.chbg-03/chbg-03.idx: Нет такого файла или каталога
    cp: невозможно выполнить stat для «/home/shanin/wallpaper_tmp.jpg»: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 298: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 299: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 300: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 301: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 302: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 303: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 304: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 305: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 306: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 307: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 308: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 309: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 310: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога
    /usr/bin/chbg-03: строка 311: /home/shanin/.chbg-03/chbg-03.ini: Нет такого файла или каталога

    устанавливал через консоль, так как при скачке пакета инсталька убунтовская ругается на deb пакет что не может его запустить

    ОтветитьУдалить
    Ответы
    1. Ух ты!!!
      Давай отложим до ближайших праздников.
      У меня сейчас сложный проект на работе и вечером валюсь с ног.
      А 5 мая (или когда у нас там выходной) разберемся.

      Удалить
    2. на другом компе поставил через софтвеар центр открыв скачанный deb

      результат в принципе тот же :(

      Удалить
    3. Ок.
      По моему ошибка была на моей стороне.
      Я 15 апреля делал изменения и неверно разместил файл content.index.
      Сегодня ночью я поправил все и, возможно, ошибка устранена.
      Попробуйте, как указано в статье, через терминал удалите пакет и установите заново.

      Если будут сообщения во время установки, то запостите их сюда.

      Если ошибка не устранена, то давайте дождемся выходных и вместе все проверим.
      В рабочие дни я не могу. У меня очень важный и интересный проект. Но устаю так, что вечером даже не могу пива выпить 8), просто засыпаю.

      Удалить
    4. Ну как там?
      Покажите
      ls ~/.chbg-03

      Удалить
    5. Вчера на чистый комп Lenovo z570 поставил Ubuntu 12.04.
      Затем установил Ubuntu Wallpaper Changer через консоль, как написано в статье.
      Все работает.

      Удалить
    6. сори что не отписался
      удалил и переустановил
      - в итоге таже ошибка :(
      заглянул в файлик /usr/bin/chbg-03
      и увидел что папка .chbg-03 создается в корне Home а не в папке пользователя
      отсюда и ошибка появляется
      поправил строчку на CONFDIR=/home/.chbg-03
      перезапустил - и все заработало :)

      ты поправил файл и выложил как новую версию? просто в статье ссылка получается на старую

      Удалить
    7. Ок.
      Я проверю еще раз.

      Удалить
  7. обнаружил небольшой косяк :)
    точнее не косяк, а неточность при работе с 2 мониторами

    при использовании 2 моников ( например с разрешением 1280*1024 на каждом )
    програмулина берет разрешение из системы и думает что оно 2560*1024

    в итоге растягивает картинку так
    http://s019.radikal.ru/i616/1205/a3/8c1eae903c1b.jpg
    обрезая её сверху и снизу
    и советы получаются обрезаются иногда с частью картинки.

    ОтветитьУдалить
    Ответы
    1. Понял.
      Это мой косяк.
      Я не закладывал случай, когда используются два монитора одновременно.
      Попробую этот режим и исправлю.

      Кстати Dropbox увеличил размеры ящиков до 18 Gb. Потихоньку буду заливать картинки, которые у меня остались в офлайне.

      Удалить
    2. есть решение :)

      включив дебаг увидел что
      nvidia x server возвращает на эту команду сумму размеров горизонтальных разрешений
      W_SCR_RES=$(/usr/bin/xdpyinfo | grep 'dimensions:' | awk '{ print $2}' | awk -F'x' '{ print $1 }')

      решение простое до безобразия :)

      сразу за этим вычислением обновляем значение с помощью деления на 2
      и включаем ресайз

      картинка отлично растянулась на оба монитора

      в рабочий скрипт можно было бы добавить условие проверки на нестандартные пропорции разрешения возвращаемые отсюда ( dimensions: )

      Удалить
    3. fox_ch2, супер.
      Ты уже со скриптом разобрался. 8)

      Спасибо, на выходных вставлю твой код.

      Просто у меня сейчас огромный проект. Целая санта-барбара. 8:) Ухожу в 8 утра, прихожу в 11 вечера.

      Как я понял, тебе то что я сделал понравилось.

      Удалить
    4. ну сама суть не нова, в убунту есть подобное реализованное силами оси
      только там картинки раб столов выбираются из локальной папки

      на тему картинок наткнулся случайно, залез почитать, увидел твой скрипт
      решил попробовать :)
      обидно что вижу рабочий стол не часто из-за множества открытых окон
      но иногда бывает полезно отвлечься, жмакнуть на смену раб.стола с советом дня :)

      Удалить
  8. Что-то подобное, но гораздо более скромное делали в детстве на delphi / windows 95. Программа брала случайный рисунок из заранее созданной папки и ставила на рабочий стол. :-) Удачи в работе.

    ОтветитьУдалить
  9. Я дико извиняюсь, но хоть и много времени прошло, но не могли бы вы мне помочь. У меня после всего проделанного и выбора раздела с картинками, просто черный экран!

    ОтветитьУдалить
    Ответы
    1. Поправил несколько ошибок.
      Снес текущую версию у себя с Ubuntu 14.04 и установил по новой.
      Проверьте у себя.

      Удалить
    2. а для 16 убунту что нужно сделать чтобы запустилась после установки? возникают проблемы и обои не отображаются..

      Удалить
  10. Очень нехватало чего-то подобного! Спасибо и успехов!

    ОтветитьУдалить
  11. доброго времени суток,
    а под убунту 16.04 будет работать?
    что надо сделать чтобы заработало?
    Спасибо

    ОтветитьУдалить
  12. А возможно ли запустить все это на Убунту 16? на 14 все отлично работало, но при обновлении дистрибутива не могу запустить скрин на 16 убунте. буду крайне признателен, если поможете это сделать...

    ОтветитьУдалить
  13. eduard o, Небольшой disaster.
    1. Dropbox обнаружил, что я не совсем законно у него отфигачил диск на 100 Гб. И начал со мной бороться.
    2. В 16-й Ubuntu чутка поменялись вызовы на смену обоев.
    Посему запланировал перевести хранение картинок на свой сервер и даже приготовил для этого соответствующую железку.
    И на очереди переписать все на Python.
    Это займет некоторое время, но надеюсь немного.

    ОтветитьУдалить
  14. Благодарен что изредка читаете ))) ждем с нетерпением результатов ваших стараний.

    ОтветитьУдалить
    Ответы
    1. Уже есть пререлиз. Думаю скоро доделаю.
      В целом мне нужен день свободы для завершения.

      Удалить
  15. Доброго времени суток.
    Как продвигаются работа?. Жду с нетерпениям чтобы заработало на Ubuntu 16.04.
    Заметил если стояло и обновить с 14.04 до 16,04 то работает. При установки с нуля 16.04 - нет :-(

    ОтветитьУдалить
    Ответы

    1. Были траблы.
      0. Сейчас очень много работы. Веду проект в крупной госструктуре.
      Несмотря ни на что изыскиваю время и делаю новую версию.
      Скрипты bash хороши до тех пор пока объем кода не очень большой.
      Сейчас переписываю неа Python. Думаю к концу февраля выпущу версию.

      1. dropbox начал борроться с раздутыми аккаунтами. У меня был именно такой.
      У меня есть старенький NetGear RND 2000. На него заказчал все картинки. Буду с него загружать.

      eduard o, Sergey F, не думал, что кто то настолько аинтересован. Спасибо за отзывы. Это определенно придаст мне силы.

      Удалить
  16. Добрый день...
    Проект действительно полезен, так как аналогов такой красоты и такого количества картинок ну НЕТУ попросту. Вы действительно сделали нужную людям вещ, тем более новоиспеченным линуксоидам :-). Рекламки вам бы побольше.....
    Теперь о печальном:
    Вот уже несколько дней нет картинок, файл .wallpaper.jpg занимает 3,3К
    Хочу знать причину.
    К слову. В 16,04 если в настройках рабочего стола указать путь к этому файлу то тогда картинки меняются. Ну.. менялись .....

    ОтветитьУдалить