Пакетное сжатие файлов JPG
Задача: сжать файлы формата JPG во всех встречающихся папках.
Решение: воспользуемся утилитой jpegoptim совместно с find:
find . -name "*.jpg" | xargs jpegoptim -f -m 70
Жизнь замечательных грибов
Архив статей и записей написанных Грибовым Павлом
Задача: сжать файлы формата JPG во всех встречающихся папках.
Решение: воспользуемся утилитой jpegoptim совместно с find:
find . -name "*.jpg" | xargs jpegoptim -f -m 70
Иногда бывает что регламентное задание нужно запускать как можно чаще, но вот в чём дело: при запуске есть вероятность что предыдущее задание еще не завершено. В результате они как матрешка будут всё расти и расти…ну и наверное в конце концов будет какой-то коллапс.
Решение: да простое. Просто перед запуском задания, убедимся что предыдущая копия уже отработала. Во первых, нужно у регламентного задания прописать ключ. А во вторых, непосредственно перед запуском объемной части задания, нужно проверять фоновые задания, и если задание с таким ключём в списке активных…то ничего далее не делать:
Функция ОтправитьДанныеИзПланаОбменаРегламентно()
// проверим, а вдруг еще не завершено предыдущее регламентное задание?
Фоновые = ФоновыеЗадания.ПолучитьФоновыеЗадания();
Для Каждого Фоновое из Фоновые Цикл
Если Найти(Фоновое.Ключ, "отправка_данных_шины") > 0 И Фоновое.Состояние = СостояниеФоновогоЗадания.Активно Тогда
Возврат 0;
КонецЕсли;
КонецЦикла;
...
КонецФункции
Задача: необходимо чтобы при нажатии на URL вида: e1c://server/srv-1c/basename#e1cib/data/%D… автоматически открывалась 1С с открытым документом.
Решение: Linux открывает подобные ссылки в почте и прочих местах через утилиту xdg-open, которая в свою очередь открывает такие ссылки в т.ч. согласно ярлычкам *.desktop находящимся в ~/.local/share/applications/. Следовательно достаточно разместить там файл с содержимым:
[Desktop Entry]
Exec=/opt/1cv8/common/1cestart /url %U
Name=1C:Enterprise x64
GenericName=1C:Enterprise x64
Terminal=false
TryExec=/opt/1cv8/common/1cestart
Type=Application
MimeType=x-scheme-handler/e1c
NoDisplay=true
И далее перечитать кэш связей протокола:
update-desktop-database ~/.local/share/applications
Рассматриваю вариант под ОС Linux. В некотором смысле это получается даже проще чем под Windows — не нужно искать никаких дополнительных утилит типа редактора HEX- всё уже есть «базе»
1) Открываем на просмотр в mc файл 1Cv8.1CD
2) Переходим в режим просмотра HEX — F4.
3) Ищем в режиме поиска в шестнадцатеричном формате сочетание 00 09 00 75 00 73
4) Заменяем 00 09 на 01 09, сохраняем изменения
5) Ищем 56 38 55 53 45 52 53 4D , заменяем 56 на 48
6) Открываем утилиту chdbfl из папки /opt/1cv8/x86_64/8.3.25.1445 (у вас папка другая конечно), и восстанавливаем базу.
После чего запускаем конфигуратор и входим без пароля
Команда:
gdbus call \
--session \
--dest org.freedesktop.Notifications \
--object-path /org/freedesktop/Notifications \
--method org.freedesktop.Notifications.Notify \
--"identifier" "идентификатор сообщения" \
"значёк уведомления"
"заголовок уведомления" \
"описательная часть уведомления" \
"['действие кнопки','название кнопки']" \
"{подсказки}" \
"время истечения уведомления в мс"
Пример использования:
gdbus call --session --dest org.freedesktop.Notifications --object-path /org/freedesktop/Notifications --method org.freedesktop.Notifications.Notify "test-notify-actions" "0" "gimp" "Test" "Нажми на кнопку, получишь результат" "['https://грибовы.рф','Перейти']" "{}" "0"

Как можно «ловить» реакции на нажатие кнопки сообщения:
gdbus monitor --session \
--dest org.freedesktop.Notifications \
--object-path /org/freedesktop/Notifications