про свой опыт решения некоторых проблем и использования ряда возможностей ОС и приложений
понедельник, 27 ноября 2023 г.
Перекодировать flac в mp3
понедельник, 19 июня 2023 г.
Полное удаление Libre Office из Linux Mint
Полное удаление Libre Office может потребоваться в случаях замены данного офисного пакета на какой-либо другой пакет офисных программ: Free Office, Only Office, My Office.
Приводимая на различных сайтах команда удаления LibreOffice, например,
sudo apt purge -y libreoffice*
не приводит к полному удалению из системы компонентов данного ПО. Как результат, приходится заходить в менеджер пакетов Synaptic, осуществлять поиск и вручную удалять пакеты, найденные по запросу libreoffice.
Приводимую на других сайтах команду необходимо дополнить такой командой:
sudo apt purge -y ure* uno-libs-private mythes* libuno* liblibreoffice-java hyphen* hunspell*
В процессе удаления остаточных компонентов LibreOffice будет освобождено 177 МБ дискового пространства. При удалении будут также удалены пакеты libuno-purpenvhelpergcc3-3 и libuno-cppuhelpergcc3-3. В пояснении назначения данных пакетов (Synaptic) указано, что это:
Окружение времени исполнения UNO (URE) — широко известная компонентная модель UNO для LibreOffice, собранная в виде отдельного пакета. Окружение предлагает гибкую легковесную компонентную модель, которая наиболее идеальна для (но не ограничиваясь этим) сочетания в одном приложении компонентов, написанных на разных языках программирования, а также разработанных разными командами. Вы можете использовать окружение URE для создания любого вида ПО с любой областью применения.
Поэтому полной командой удаления LibreOffice будет такая:
sudo apt purge -y libreoffice* ure* uno-libs-private mythes* libuno* liblibreoffice-java hyphen* hunspell*
Остаётся открытым вопрос со шрифтом opens___.ttf (/usr/share/fonts/truetype/libreoffice) и папкой /etc/libreoffice. Решение об их удалении принимайте самостоятельно. Если не нужно, то удаляйте.
Для шрифта с его папкой:
sudo apt purge -y fonts-opensymbol && sudo rm -rf /usr/share/fonts/truetype/libreoffice
Для папки /etc/libreoffice:
sudo rm -rf /etc/libreoffice
пятница, 12 мая 2023 г.
Пакетное переименование расширения файлов JPG в jpg
пятница, 3 сентября 2021 г.
Пакетное преобразование аудиокниг mp3 в формат ogg с заданным битрейтом
dir=$(zenity --file-selection --directory)
find "$dir" -name "*.mp3" -exec ffmpeg -i {} -b:a 16k -acodec libopus {}.ogg \;
find "$dir" -name "*.mp3" -exec rm {} \;
find "$dir" -name '*.mp3.ogg' -exec sh -c 'mv "$0" "${0%.mp3.ogg}.ogg"' {} \;
четверг, 2 сентября 2021 г.
Пакетное преобразование mp3 в ogg
Для установки dir2ogg в систему выполните в терминале команду
sudo apt install -y dir2ogg
Моё знакомство с dir2ogg состоялось в ходе поисков инструмента для пакетного преобразования аудиокниг mp3 в файлы c более низким чем оригиналы битрейтом. И хотя dir2ogg мою проблему решить не смог (вследствие наиболее низкого битрейта на выходе – 80) сам по себе представляет интересное решение, к тому же работающее весьма шустро.
Использование dir2ogg описывается короткой справкой, которую можно получить по команде терминала dir2ogg --help
Для конвертации всех файлов mp3 в выбранной папке папке можно использовать команду:
dir2ogg -d "$(zenity --file-selection --directory)" -q N
N является цифрой, которая укажет с каким битрейтом осуществлять процесс перекодирования. К сожалению, в справке по пользованию это соответствие не приводится. Указывается только, что диапазон N составляет от 1 до 10, а значение по умолчанию равно 3. Соответствие значений N битрейту пришлось выяснять экспериментально:
1 – 80
2 – 96
3 – 112
4 – 128
5 – 160
6 – 192
7 – 224
8 – 256
9 – 320
10 – 499
Пример работы dir2ogg указан на рисунке ниже:
вторник, 12 февраля 2019 г.
Про удаление файлов/папок через N дней через скрипт bash в Linux
Описанный ниже вариант используется в целях "найти и удалить контент старше N дней" в папках общего доступа таких ресурсов как Диск Яндекс, Dropbox, MEGA, pCloud. При этом каждая папка имеет свои настройки времени хранения контента, при превышении которого он подлежит удалению.
Примечание 1. Указанные в тексте команды могут быть не оптимальными с точки зрения правильного кодинга. Полагаю, что мне это может быть простительным, так как, не имея в данном вопросе профильного образования, информацию пришлось собирать по кусочкам с разных сайтов. Поэтому, по большому счёту, все приводимые ниже листинги являются своего рода компиляцией уже готовых решений.
Итак, обмен с использованием 5 ресурсов облачного хранения: 4 Яндекс Диска и 1 Dropbox. В каждом их них создана папка общего доступа.
Удалить файлы/папки старше N дней
Удаление устаревших файлов и папок осуществляется в ходе задания, запускаемого через cron, то есть без участия пользователя. В процессе выполнения задания создаются файлы отчётов - списка удалённого контента. При этом в имени файла отчёта содержится дата его создания. Файлы отчётов также подлежат удалению через определённое время (X дней).
Указанные выше операции осуществляются в ходе запуска и работы соответствующих клиентов синхронизации. Но их можно оформить и отдельно. В таком случае изменения в папках общего доступа будут переданы на облачные ресурсы в процессе очередного запуска сеансов синхронизации. Выбор варианта зависит от предпочтений пользователя.
Примечание 2. В силу особенностей запуска по расписанию клиентов pCloud и MEGA удаление в них файлов/папок старше N дней необходимо производить перед выполнением остановки клиента. Про остановку клиента читать здесь и здесь.
Объясняется это тем, что после запуска pcloud и megasync выполнение последующих за ними команд невозможно до тех пор, пока pcloud или megasync активны. А после выключения процессов pcloud или megasync нет синхронизации и, соответственно, передачи изменений в облако.
При создании скриптов было принято решение использовать так называемый модульный принцип, при котором в ходе работы скриптов, осуществляющих запуск и остановку клиентов, выполняются скрипты "очистки". Другими словами. были использованы скрипты в скриптах.
Скрипт очистки использует инструкции "если A, то B и если не А, то С".
if <запрос на соответствие условию>
then <действие 1>
else <действие 2>
fi
Самым первым действием является определения наличия какого-либо контента в папке обмена. Потому что если в ней ничего нет, то и дальнейшие действия не имеют смысла. Поэтому ищем файлы (а соответственно, будут найдены и папки, в которых они содержатся).
Перед выполнением указываются расположение папки для поиска (DIR1) и расположение папки отчётов (DIR2). DIR1 и DIR2 используются для того, чтобы в скрипте не писать каждый раз пути к папкам, заменяя их указанными переменными. Имена DIR1 и DIR2 указаны для примера. Для лучшего восприятия своих скриптов примените понятные Вам имена.
Формулировка условия описывается переменной filecount.
Команда "ничего не делать" соответствует символу двоеточия, то есть : .
DIR1=/home/user/Exchange/Beatrice
DIR2=/home/user/Exchange/Reports
filecount=`find $DIR1 -type f | wc -l`
if [ $filecount -eq 0 ];
then
:
Если же какие-то файлы присутствуют, то выполняется ряд последовательных операций:
– определить текущую дату;
– сформировать файл протокола с датой создания;
– удалить контент старше N дней.
else
date=`date '+%d'`
find $DIR1 -mtime +N > $DIR2/$date.Beatrice.txt
find $DIR1 -mtime +N -delete
fi
Примечание 3.
Результатом выполнения date является установка даты. В указанном выше случае файл будет иметь наименование, например, 18.Beatrice.txt, то есть за 18-число месяца.
Если в имя файла есть необходимость включать и месяц, то переменная date должна быть указана в виде `date '+%m.%d'` Пример результирующего файла – 04.18.Beartice.txt
%m соответствует текущему месяцу, а %d – дню месяца.
Примечание 4.
Имеется несколько вариантов команды удаления:
find /path -mtime +N -exec rm -rf {} \;
find /path -type f -mtime +N | xargs rm -rf
find /path -mtime +N -delete
В средней команде указан поиск файлов: -type f Для папок вводить -type d
На одном из форумов было найдено, что -delete работать будет быстрее. Так как лично мне была более понятна команда -delete, то она и приводится во всех указанных ниже листингах команд.
Уточнение для Dropbox и MEGA. В папках общего доступа таких клиентов могут находиться скрытый файл .dropbox или папка .debris Поэтому целесообразно исключить их из удаления, добавив инструкцию "кроме".
Кроме – ! -name 'имя_объекта'. Например:
find $DIR1 ! -name '.dropbox' -mtime +N -delete или
find $DIR1 ! -name '.debris' -mtime +N -delete
Примечание 5.
При использовании параметра +N Вы можете быть удивлены тем, что контент будет удалён не через N дней, а позднее. Это связано в тем, что аргумент -mtime интерпретируется как количество целых дней. То есть, -mtime +N означает строго больше , -mtime -N означает строго меньше. Другими словами, если возраст объекта составляет 1 день, 23 часа, 59 минут и 59 секунд, то -mtime +1 обрабатывает его, как будто это 1 день, 0 часов, 0 минут. Связано с особенностями программной реализации.
В итоге получается, что -mtime +1 выбирает файлы, которые были изменены как минимум 2 дня назад. Чтобы получить файлы, измененные не менее 1 дня назад, используйте -mtime +0
Другой способ. Если необходимо удалить файлы старше чем, например, ровно 48 часов, то используйте –daystart: find /path type -f -daystart -mtime +1
Если необходимо указывать минуты, то используется -mmin N, что соответствует утверждению "данные файлы последний раз изменены N минут назад.
Примечание 6.
Для использования других параметров ниже приводится краткая справка.
atime
atime означает время доступа. Эта временная метка сообщает, когда последний раз обращались к файлу. Изменяется, если использовались cat, vim, less или какой-либо другой инструмент для чтения или отображения содержимого файла.
mtime
mtime означает время изменения (модификации). Означает, что содержимое файла было изменено путем редактирования файла. При копировании или переносе в другое место хранения это значение не изменяется.
ctime
ctime означает время изменения статуса. Эта временная метка сообщает, когда был последний раз были изменены свойства и метаданные файла. Метаданные включают права доступа, права собственности, имя и местоположение файла.
Как просмотреть временные метки файла? Командой stat
stat ~/winehq.key
Файл: /home/user/winehq.key
Размер: 3220 Блоков: 8 Блок В/В: 4096 обычный файл
Устройство: 801h/2049d Inode: 18880312 Ссылки: 1
Доступ: (0664/-rw-rw-r--) Uid: ( 1000/ minter) Gid: ( 1000/ user)
Доступ: 2018-12-20 03:48:48.108006716 +0300
Модифицирован: 2018-12-19 17:07:25.000000000 +0300
Изменён: 2018-12-20 03:48:42.368059166 +0300
Создан: -
Как узнать, когда был изначально создан файл?
Вы заметили последнюю строку вывода команды stat? В нём указывается «Создан». Можно предположить, что это представляет собой timestmap, когда файл был «рождён» (или создан, если быть более точным).
Хотя ext4 поддерживает временную метку создания, команда stat в настоящее время не может её показать. Возможно, будущие версии команды stat покажут временную метку создания в строке «Создан».
В некоторых случаях нужно выяснить, был ли файл удален и пересоздан заново или это тот самый оригинальный файл. По параметру ctime достоверно сказать об этом нельзя, так как он может меняться при любых изменениях атрибутов. Поэтому нужен другой параметр для проверки. В тот момент, когда файл удаляют и создают заново с тем же именем, большая часть его атрибутов остается неизменной. Меняются в основном два – ctime и inode. ctime покажет, когда последний раз изменились атрибуты файла (совсем не обязательно, что из-за удаления и создания), а inode изменится, так как для операционной системы это будет уже совсем другой файл с новым индексным дескриптором.
Смотреть inode можно двумя способами:
stat
ls -i
Ожидается, что в результате выполнения find $DIR1 -mtime +N -delete будут найдены и удалены все объекты старше N дней. Однако, как говорят, "гладко было на бумаге, да забыли про овраги".
На практике выяснилось, что могут иметь место случаи, когда "хорошая мысля пришла апасля" и файлы могут быть перемещены в другую созданную позднее папку. Получится ситуация, при которой mtime созданной папки более "молодой", чем mtime содержащихся в ней файлов. В итоге – после удаления в ней файлов эта папка не будет удалена (другое значение mtime) и будет представлять из себя пустой объект.
Также в ходе тестирования имели место случаи, когда после удаления файлов из папок с составными именами сами папки не были удалены:
В этом случае можно использовать условие "посчитаем пустые папки". Если ничего не будет найдено, то ничего и не делаем. Если что-то найдём, то удалим. При этом исключим из удаления саму папку общего доступа (в рассматриваемом случае Beatrice), так как было несколько случаев удаления подобной папки, не содержащей уже никаких данных.
dircount=`find $DIR1 -type d -empty | wc -l`
if [ $dircount -eq 0 ];
then
:
else
find $DIR1 ! -name 'Beatrice' -empty -delete
fi
Аналогичные описанным выше действия применяются и для файлов отчётов. То есть используется алгоритм:
– найти в папке отчетов файлы в имени которых присутствует Beatrice.txt. В самом начале процедуры удаления удаления такой файл был сформирован. Его полное имя будет, например, 18.Beatrice.txt (см. выше);
– если таких файлов не найдено, то ничего не делать;
– при нахождении удалить такие файлы старше X дней.
filecount=`find $DIR2 -name *.Beatrice.txt -mtime +X | wc -l`
if [ $filecount -eq 0 ];
then
:
else
find $R -name *.Beatrice.txt -mtime +X -delete
fi
Следует отметить, что файл отчёта будет создаваться всегда. Если никаких объектов для удаления не назначено, то такой файл будет пустым. Следовательно, во избежание "замусоривания" папки отчётов такие файлы необходимо найти и удалить.
filecount=`find $DIR2 -name *.Beatrice.txt -empty | wc -l`
if [ $filecount -eq 0 ];
then
:
else
find $R -name *.Beatrice.txt -empty -delete
Завершить выполнение скрипта командой exit
Итого, полный текст скрипта будет иметь вид:
#!/bin/bash
DIR1=/home/user/Exchange/Beatrice
DIR2=/home/user/Exchange/Reports
filecount=`find $DIR1 -type f | wc -l`
if [ $filecount -eq 0 ];
then
:
else
date=`date '+%d'`
find $DIR1 -mtime +N > $DIR2/$date.Beatrice.txt
find $DIR1 -mtime +N -delete
fi
dircount=`find $DIR1 -type d -empty | wc -l`
if [ $dircount -eq 0 ];
then
:
else
find $DIR1 ! -name 'Beatrice' -empty -delete
fi
filecount=`find $DIR2 -name *.Beatrice.txt -mtime +X | wc -l`
if [ $filecount -eq 0 ];
then
:
else
find $DIR2 -name *.Beatrice.txt -mtime +X -delete
fi
filecount=`find $DIR2 -name *.Beatrice.txt -empty | wc -l`
if [ $filecount -eq 0 ];
then
:
else
find $DIR2 -name *.Beatrice.txt -empty -delete
exit
Оформите как исполняемый файл. Например, clean или clean.sh. Принципиального значения наличие/отсутствие расширения не имеет. Важно лишь то, чтобы такой файл был исполняемым.
Примечание 7. На практике в Linux Mint 19 xfce через свойства файла в менеджере файлов Thunmar файлам без расширения (скриптам) не удавалось установить "исполняемый". В таком случае его можно переименовать из, например, clenan в clean.sh, назначить его исполняемым, а затем переименовать его обратно в clean. "Исполняемость" файла сохранится.
В случае отсутствия необходимости создания файлов отчётов и их последующего удаления через X дней приведенный выше текст скрипта упрощается до вида:
#!/bin/bash DIR=/home/user/Exchange/Beatrice
filecount=`find $DIR -type f | wc -l`
if [ $filecount -eq 0 ];
then
:
else
find $DIR1 -mtime +N -delete
fi
dircount=`find $DIR -type d -empty | wc -l`
if [ $dircount -eq 0 ];
then
:
else
find $DIR ! -name 'Beatrice' -empty -delete
fi
exit
Примечание 8. Не забывайте про особенность общих папок в Dropbox и MEGA. Добавляйте для них исключения .dropbox и .debris (см. выше).
Запустить клиент и удалить папки/файлы старше N дней
Запуск клиента Диска Яндекс
Поясняющие подробности можно прочитать здесь. Приводится только пример скрипта.
#!/bin/bash
crash=/home/user/.config/yandex-disk/crash.txt
D1=/home/user/.config/yandex-disk
D2=/home/user/scripts/yandex/client-1
if [ -f $crash ]; then
rm -f $D1/crash.txt
else
:
fi
rm -f $D1/config.cfg
rm -f $D1/iid
rm -f $D1/passwd
cp $D2/config.cfg $D1
cp $D2/iid $D1
cp $D2/passwd $D1
yandex-disk start
sleep 60
/home/user/scripts/clean-1
sleep 240
yandex-disk stop
sleep 5 && exit
Примечание 9.
После старта клиента Диска Яндекс (yandex-disk start) даётся время на запуск клиента и его соединение с облаком (sleep 60). Затем осуществляется очистка. После этого даётся 4 минуты на приём/передачу данных (sleep 240), после чего следует команда остановки клиента и завершения работы скрипта. 60 секунд и 240 секунд указаны условно. Пользователь сам определяет сколько времени должно пройти и следует ли ему использовать первое ожидание (sleep 60).
Если на Диске Яндекс больше чем 1 папка обмена, то тогда на каждую папку создаётся свой скрипт. Они, соответственно, должны быть запущены один за другим, например:
/home/user/scripts/clean-1
/home/user/scripts/clean-2
/home/user/scripts/clean-3
Ожидание 5 секунд после команды остановки Диска Яндекс введено "на всякий случай", чтобы гарантировать остановку клиента с используемой конфигураций. Это обусловлено тем, что у меня последовательно другом за другом запускаются 4 Диска Яндекс, каждый со своими настройками.
Если у Вас только 1 учётная запись Диска Яндекса, то нет необходимости переписывать конфигурацию клиента. Скрипт упрощается до вида:
#!/bin/bash
yandex-disk start
sleep 60
/home/user/scripts/clean-1
sleep 240
yandex-disk stop
exit
Запуск клиента Dropbox
Пример:
#!/bin/bash
dropbox start
sleep 40
/home/user/scripts/clean-4.sh
sleep 260
dropbox stop
exit
Скрипт запуска клиентов с очисткой
Например, у меня оформлен запуск 5-ти клиентов последовательно друг за другом. Перед запуском очереди заданий клиентов Диска Яндекс проверяется наличие уже запущенного экземпляра Диска Яндекс. Если такой экземпляр будет найден, то выдаётся команда на его остановку.
#!/bin/bash
yd=/tmp/yandex-disk-*
if [ -d $yd ]; then
yandex-disk stop
else
:
fi
sleep 5
/home/user/scripts/yandex/client1/daemon
/home/user/scripts/yandex/client2/daemon
/home/user/scripts/yandex/client3/daemon
/home/user/scripts/yandex/client4/daemon
/home/user/scripts/dropboxauto
exit
При включении мной такого задания по расписанию имелось в виду, что каждое задание выполняется не менее 5-ти минут. Следовательно, общее время выполнения указанных заданий составит не менее 25-ти минут. В реальности оно больше за счёт различного рода пауз между отдельными операциями, поэтому его продолжительность была оценена в 30 минут.
среда, 14 ноября 2018 г.
Linux. Зеркальная копия каталога на другой хост с помощью ssh
Ранее мной был описан вариант создания резервной копии, транслируемой из одного облака в другое при помощи инструмента создания зеркальной копии данных grsync.
Имеющееся решение предусматривало сохранение критически важных данных с компьютера Windows на Диск Яндекс в реальном масштабе времени (синхронизация). Сохранённые на Диск Яндекс данные предоставлялись в доступ в режиме "только чтение" другой учётной записи Яндекс, которые синхронизировались на другой компьютер под управлением Linux. Полученные данные с помощью grsync зеркалировались в другую папку, синхронизируемую с облаком MEGA.
С появлением ещё одного компьютера решение задачи решено было немного изменить, чтобы зеркальная копия данных с одного компьютера Linux осуществлялась на другой компьютер Linux. При этом, чтобы избежать погружения в тонкости операций с терминальными командами Linux, решение будет базироваться на использовании уже готовых бесплатных инструментов.
Так как доступ к файловой системе второго компьютера в силу определённых причин решено было осуществлять не через Samba, а через SSH, то возникла, на первый взгляд, неразрешимая ситуация, связанная с тем, что выбранное ПО для синхронизации данных FreeFileSync не "умеет" работать с SSH.
И хочется, и колется, и мамка не велит ... Но, как говорится, если нельзя, но очень хочется, значит можно. Поэтому, чтобы было "моня", используем инструменты rclone + rclone browser, который будет транслировать содержание удалённого ресурса SSH в локальный каталог компьютера.
Не буду останавливаться на настройке FreeFileSync. Несмотря на англоязычность сайта, после скачивания архива tar.gz, его последующей распаковки и запуска файла FreeFileSync Вы обнаружите, что программа "разговаривает" по-русски.
На что следует обратить внимание?
Вызовите команду "Действия – Настройки синхронизации" (или нажмите F8). Так как SSH "не понимает" действия удаления в корзину, то следует указать безвозвратное удаление на приёмнике. То есть, при удалении из неё элементов (источник) такие же действия производятся и на приёмнике (получателе).
Второй особенностью является то, что данные для синхронизации источника будут хранится в каталоге, подлежащем зеркалированию, в виде скрытого файла .sync.ffs_db А как указывалось в поставленной задаче выше, источник синхронизируется с Диском Яндекс в режиме "только чтение". И если файл .sync.ffs_db будет оставаться в каталоге, то при очередном сеансе синхронизации с Диском Яндекс будет отображена ошибка синхронизации, связанная с невозможностью записи файла .sync.ffs_db (ресурс "только чтение").
Решение заключается в том, чтобы:
1) зеркалирование каталога с помощью FreeFileSync осуществлялось при выключенном демоне Диска Яндекс, а при работающем демоне Диска Яндекс файла .sync.ffs_db в синхронизируемом каталоге быть не должно;
2) при запуске FreeFileSync файл .sync.ffs_db записывается в зеркалируемый каталог, а при выключении FreeFileSync файл .sync.ffs_db перемещается в другое место.
Исходя из п.2, для запуска FreeFileSync будет использоваться скрипт sh. Ниже приводится текст реального скрипта:
#!/bin/bash
mv /home/cemea/Yandex/Rovena/.sync.ffs_db /home/cemea/Yandex/Rovena/Логика
/home/cemea/Tools/FreeFileSync/FreeFileSync
mv /home/cemea/Yandex/Rovena/Логика/.sync.ffs_db /home/cemea/Rovena/Traidex
zenity --info --text "sync.ffs_db сохранён" 2>/dev/null --timeout=3
sleep 1 && exit
Теоретически можно предположить, что на компьютере Windows винчестер "прикажет долго жить". И даже то, что по "закону подлости" одновременно с ним выйдет из строя и винчестер на компьютере Linux. Но если возникнет ситуация, при которой одновременно "вылетят" винчестеры всех трёх компьютеров, то в этом случае останется лишь восклицать "дас ист фантастиш" и ...
суббота, 9 декабря 2017 г.
Оптимизация изображений
После быстрого поиска в Интернет был найден онлайн-ресурс optimizilla.com.
Как указано в пояснении, "Этот оптимизатор изображений использует эффективную комбинацию лучших алгоритмов сжатия с потерями/без потерь для уменьшения размера изображений в форматах JPEG и PNG до минимально возможного уровня."
На главной странице возможность предоставляется возможность загрузки как одного изображения для его последующей обработки, так 20-ти изображений сразу, оптимизация которые будет выполнена в рамках пакетного задания.
После загрузки каждого из изображений его оптимизация осуществляется автоматически:
По мере готовности каждое из оптимизированных изображений можно скачать отдельно. При этом указана его степень сжатия, полученная в результате обработки. Данная величина является переменной. В рассматриваемом примере она варьировалась в диапазоне 85-88 %. Имя обработанного файла будет иметь приставку -min, например, 078-min.jpg
Выделив мышкой изображение на странице ниже можно наблюдать исходный файл и результирующий. При этом правым движком можно регулировать степень сжатия, если у Вас появится несогласие с параметром, автоматически выбранном системой для конкретного фото.
Судя по картинкам выше, хранение на своём жёстком диске 943 Кб вместо 6,4 Мб представляется более предпочтительным вариантом в плане экономии дискового пространства. При этом размеры по горизонтали и вертикали остаются неизменными.
Как только обработка всех загруженных в очередь 20-ти изображений будет завершена, результат можно скачать одним архивом zip, нажав на кнопку
Обработанные онлайн фото доступны для скачивания в течение 1 часа, по истечении которого автоматически уничтожаются. Адрес ресурса: http://optimizilla.com
В результате оптимизации 275 изображений с общим размером 2,6 Гб на выходе получилось 353 Мб. Неплохой результат?
вторник, 4 февраля 2014 г.
Пакетная обработка фото в Ubuntu Linux
Программа XnConvert позволяет осуществить пакетную обработку изображений. При обработке изображений самым востребованным для меня действием является изменение размера 10-20 изображений. Ранее размер каждого изображения я менял с помощью программы Gimp. Но XnConvert позволяет это сделать буквально за несколько секунд.
Перейдите на сайт программы. Найдите заголовок Image Processing & Batch и нажмите ниже на ссылку XnConvert. Или посетите непосредственно раздел XnConvert. Листайте страницу вниз. После заголовков Features и Screenshots Вы увидите Downloads. Скачайте нужный Вам дистрибутив:
Например, у меня это Linux DEB 64-bit. После установки пакета ярлык для запуска программы будет расположен в разделе "Графика".
Программа имеет русский интерфейс. Как пользоваться Вы сразу поймёте, ознакомившись с меню навигации и кнопками. Ниже пойдёт речь про использование программы для пакетного изменения размеров изображений.
Найдите вверху и нажмите на кнопку: "Входные данные: 0 файлов". Используйте нижнюю кнопку "Добавить файлы" для добавления файлов, которые необходимо преобразовать или папку с файлами целиком:
Укажите действия, которые необходимо осуществить с выбранными файлами. Как Вы видите, существуют различные настройки, которые можно изменять по своему усмотрению:
В выходных данных можно указать папку, в которую будут помещены обработанные файлы. Причём, если такой папки у Вас нет, то программа её создаст автоматически:






























