GrabDuck

Yktools

:

Коллекция скриптов для Linux (в том числе Ubuntu).

В наличии имеются следующие скрипты:

generate-wallpaper-xml

Создаёт XML-файл описания обоев рабочего стола для GNOME или Ubuntu.

В этом наборе присутствует ещё один скрипт с похожей функциональностью, rotate-wallpaper, устанавливающий случайный файл изображения в качестве обоев рабочего стола. У него есть лишь один недостаток: его требуется запускать каждый раз, чтобы сменить обои.

Между тем, ещё в GNOME 2.28 появилась возможность установить на обои слайд-шоу в виде списка картинок в XML-файле. В нём указывается последовательность и длительность отображения каждого изображения. Более того, в нём можно даже указать плавный переход от одного изображения к другому.

Я решил создать простой скрипт, генерирующий XML-файл из заданного набора изображений и опционально устанавливающий его в качестве обоев. Для работы скрипта нужен GNOME 3+ или Ubuntu (начиная 11.10).

Использование

generate-wallpaper-xml [options] pictures_dir xml_file

Здесь:

  • options Любое сочетание следующих опций:
    • -d <number> Переопределить длительность отображения по умолчанию (1795 секунд, то есть примерно полчаса)
    • -s <mode> Упорядочить файлы в соответствии с режимом mode, допустимые значения которого:
      • name Отсортировать список по пути и имени файла
      • shuffle Перемешать список файлов
    • -t <number> Переопределить длительность перехода между изображениями по умолчанию (5 секунд). Если указано значение 0, переход не используется
    • -v Выводить детальную информацию
    • -w Установить созданный XML-файл в качестве обоев
  • pictures_dir Путь к каталогу с изображениями
  • xml_file Путь к создаваемому XML-файлу

Примеры использования

  1. Создать файл wallpapers.xml в подкаталоге Pictures (из домашнего каталога пользователя) на основе изображений из этого же подкаталога.

    generate-wallpaper-xml ~/Pictures ~/Pictures/wallpapers.xml
  2. То же самое, но дополнительно установить сгенерированный файл в качестве текущих обоев:

    generate-wallpaper-xml -w ~/Pictures ~/Pictures/wallpapers.xml
  3. То же самое, плюс длительность отображения каждого файла установить в 10 минут (600 секунд), а переходы между изображениями отключить:

    generate-wallpaper-xml -w -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml
  4. То же самое, плюс перемешать список файлов, так что они следуют в случайном порядке:

    generate-wallpaper-xml -w -s shuffle -d 600 -t 0 ~/Pictures ~/Pictures/wallpapers.xml

См. также

picasa-upload

Может оказаться полезен при подготовке изображений для публикации в Сети (или где угодно ещё). Поддерживается надписывание изображений и непосредственная их отправка в Google+ (он же Google Photos, он же Google Picasa Web). Если изображение содержит описание в своих метаданных, оно также устанавливается и для отправленного изображения.

По умолчанию каждый файл изображения обрабатывается в следующем порядке:

  1. При необходимости изображение автоматически поворачивается в соответствии со значением его EXIF-тега Image Orientation.
  2. Если размер изображения больше 1600 пиксел (значение настраивается в заголовке скрипта) по ширине или высоте, оно уменьшается, чтобы вписаться в этот лимит.
  3. На изображение наносится надпись в правом нижнем углу.
  4. Снаружи изображения добавляется чёрная рамка.
  5. Подготовленный фал отправляется в Google+/Picasa.
  6. Обработанный (временный) файл удаляется.

Любая операция из этого списка может быть отключена с помощью опций командной строки (см. ниже).

Использование

picasa-upload [options] pictures_dir [album_name]

Здесь:

  • options Любое сочетание следующих опций:
    • -B Не добавлять чёрную рамку вокруг изображения
    • -D Не удалять файлы после отправки (оставить их в исходном каталоге). Если задана эта опция, обработанные файлы изображений, имеющие .picasaweb в имени, будут создаваться в том же каталоге, где расположены исходные файлы. В противном случае будет использован временный каталог.
    • -R Не уменьшать изображения до заданного размера
    • -U Не отправлять изображения в Google+/Picasa (автоматически подразумевает -D)
    • -W Не надписывать изображения
    • -b Использовать «чёрную» версию надписи вместо стандартной
    • -d Удалить исходный файл изображения (после успешной обработки)
    • -s Использовать «маленькую» версию надписи вместо стандартной (в случае надписывания небольших изображений)
  • pictures_dir Каталог с изображениями. Скрипт найдёт все изображения с расширениями .jpg и .png, в том числе и во вложенных каталогах.
  • album_name Наименование фотоальбома Google+/Picasa. Обязателен, если не указана опция -U.

Требования

Настройка

Перед первым использованием необходимо проверить и при необходимости настроить значения переменных, определённых в начале файла скрипта:

pic_size=1600                                                      # Максимальный размер изображения
file_watermark_white="$HOME/Pictures/Misc/dk-watermark-white.png"  # Файл надписи по умолчанию
file_watermark_black="$HOME/Pictures/Misc/dk-watermark-black.png"  # Файл с «чёрной» надписью
file_watermark_small="$HOME/Pictures/Misc/dk-watermark-small.png"  # Файл с «маленькой» надписью
picasa_owner="dmitry.kann"                                         # Имя аккаунта Google+/Picasa

Также при первом запуске вам нужно будет залогиниться в Google.

Примеры использования

  1. Отправить все изображения из подкаталога Pictures/blog (расположенного в домашнем каталоге пользователя) в альбом Google+/Picasa с названием My blog. Изображения автоматически надписываются, уменьшаются и обрамляются рамкой:

    picasa-upload ~/Pictures/blog "My blog"
  2. Надписать, уменьшить и заключить в рамку все изображения из подкаталога Pictures (расположенного в домашнем каталоге пользователя), но никуда их не отправлять. Файлы надписанных изображений будут иметь строку .picasaweb в имени перед расширением и располагаться в том же каталоге, что и исходные изображения:

    picasa-upload -U ~/Pictures
  3. То же самое, но изображения только лишь уменьшаются:

    picasa-upload -UWB ~/Pictures

См. также

rotate-wallpaper

Выбирает случайный файл изображения (.jpg, .jpeg или .png) из заданного каталога и устанавливает его в качестве обоев рабочего стола. Скрипт использует бэкенд конфигурации dconf и поэтому работает в GNOME 3 или Ubuntu (11.10 Oneiric Ocelot или более поздней).

Использование

rotate-wallpaper

Настройка

Перед первым использованием скрипт необходимо отредактировать, установив значение переменной dir_wallpapers так, чтобы она указывала на каталог с файлами изображенйи.

См. также

update-exif-date

Иногда бывает известна дата, когда было сделано фото, но файл изображения не содержит этой информации в своих метаданных. Например, если вы сканировали бумажную фотографию.

Этот скрипт обновляет EXIF-дату в JPEG-изображении в соответствии с именем файла, для всех файлов в заданном каталоге. Имя файла должно быть в формате yyyy-mm-dd остальное-неважно.jpg

Использование

update-exif-date pictures_dir

Здесь:

  • pictures_dir Путь к каталогу с JPEG-файлами

Требования

  • jhead:

    sudo apt-get install jhead

Примеры использования

  1. Обновить дату EXIF для всех .jpg-файлов в подкаталоге Pictures (расположенном в домашнем каталоге пользователя):
    update-exif-date ~/Pictures

См. также

Исходные коды

Чтобы загрузить самую новую версию исходных кодов, склонируйте мой репозиторий GitHub:

git clone https://github.com/yktoo/yktools.git

Лицензия

Это программное обеспечение распространяется на условиях GNU General Public License версии 3.0 или, по желанию, любой более поздней версии.

Программное обеспечение и любая сопроводительная документация предоставляются без каких-либо гарантий. Вы используете их исключительно на свой страх и риск.

Исходные коды доступны в моём репозитории GitHub.