воскресенье, 17 мая 2020 г.

Преобразование webp в png через меню Thunar


В сети имеются страницы, с которых сохранение размещённых на них изображений возможно только в формате webp. Долгое время с этим приходилось мириться, открывая сохранённые файлы webp в хромоподобном браузере и через снимок экрана сохраняя выделенную часть в файл png.

Вчера при чтении одной из публикаций в контекстовой рекламе на странице случайно обнаружилась ссылка на материал о преобразовании webp в Linux.

Установите пакет:  sudo apt install webp

В публикации приводилась терминальная команда:

 dwebp example.webp -o example.png

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



В условиях появления укажите *.webp и файлы изображений:


К сожалению, "красиво" сделать не получилось:

1) при преобразовании файла file.webp получается файл file.webp.png;

2) преобразовать несколько файлов одновременно невозможно, только по одному файлу за одно действие.

Но, полагаю, с этими недостатками можно смириться.





пятница, 8 мая 2020 г.

Создание резервных копий перед автоматическим выключением компьютера по расписанию


Выполнение сценариев по условиям "если текущее время больше, чем" и "запущен ли процесс Linux". Приводимые ниже сценарии (скрипты bash) создавались для своих нужд с целью автоматизации процессов.

Условия задачи

1. После создания резервных копий данных выключить компьютер.

2. Если создание резервных копий данных выполнено до 19 часов, то выключить компьютер, если нет – не выключать. Во втором случае компьютер будет выключен по расписанию.

3. Выключить компьютер по расписанию, если резервные копии данных уже созданы. В противном случае – пропустить задание выключения и компьютер выключит сценарий создания резервной копии данных.

Создание резервных копий и выключение компьютера

Резервные копии создаются через очередь заданий rclone, оформленная скриптом sh, который также выполняется по расписанию

01 18 * * * /home/minter/Tools/scripts/backup.sh

Пример:

#!/bin/bash
rclone sync ...
rclone sync ...
...
exit

Как выключить компьютер после завершения очереди заданий читайте здесь.

Выключить компьютер по расписанию

В crontab (пользовательское задание cron) имеется задание выключения компьютера ежедневно в 19 часов 5 минут:

05 19 * * * sudo /sbin/poweroff

Решение задачи

1. Изменение сценария создания резервных копий данных и выключения компьютера. При этом сценарий (скрипт bash) должен учитывать, что:

а) резервные копий данных созданы до 19 часов, поэтому выключение компьютера будет произведено по пользовательскому заданию cron выключения компьютера в 19:05;

б) резервные копий данных созданы после 19 часов. Так как при выполнении задания "выключить компьютер по расписанию" было установлено, что создание резервных копий данных не завершено, то команда на выключение компьютера подана не была. Поэтому после создания резервных копий данных компьютер необходимо выключить.

Устанавливается "пороговое значение" в 18 часов и производится запрос текущего времени в часах.Если текущее время в часах меньше или равно 18, то никаких действий не предпринимается. Если текущее время в часах больше 18, то выполняется выключение компьютера.

В сценарии создания резервных копий данных и выключения компьютера строка sudo /sbin/poweroff удаляется, а вместо неё вписывается:

b=18
time=`date '+%H'`

if [ $time -le $b ]
 then
   :
 else
   sudo /sbin/poweroff
fi
exit

символ  :  соответствует команде "ничего не делать".

2. Изменение задания выключения компьютера по расписанию. При этом задание должно учитывать, что к моменту его выполнение создание резервных копий данных ещё продолжается.

Задание cron

05 19 * * * sudo /sbin/poweroff

меняется на задание выполнения сценария

05 19 * * * /home/minter/Tools/scripts/shutdown.sh

Сценарий проверяет наличие выполняемого процесса backup.sh  Если такой процесс выполняется, то есть имеется его pid, то не предпринимается никаких действий. Если такого процесса не найдено, то будет выполнена команда выключения компьютера  sudo /sbin/poweroff

#!/bin/bash
if pgrep 'backup.sh'; then
 :
else
 sudo /sbin/poweroff
fi
exit


суббота, 18 апреля 2020 г.

Альтернативный планировщик задач Windows


Потребность заняться вопросом использования альтернативного планировщика задач Windows возникла при использовании специфической сборки Windows, в которой данный компонент из системы был вырезан.



Использование данной специфической сборки связан с необходимостью запуска одной единственной программы, которая разрабатывается только для Windows и её функционирование в среде Wine сопряжено с многочисленными ошибками. Сама сборка является легковесным вариантом Windows без многих компонентов и тем более установленных пользовательских программ.

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

Выбор был сделан в пользу ПО xstarter –  http://www.xstarter.com/rus/

Далее описывается процесс создания в xstarter задачи выключения системы.

Установка программы проста, мастер установки имеет русский интерфейс.


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


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





По умолчанию логи программы хранятся 60 дней. Для своих нужд логи, по большому счёту мне не нужны, но, на всякий случай, ставлю хранение не более 7 дней.


Далее мне необходимо запланировать задачу выключения Windows ежедневно в 23:54:58

Для этого создаю новую задачу и нажимаю самую правую кнопку в строке "Запустить задачу".


В появившемся окне нажимаю значок календаря и далее на кнопку "Добавить простое":


Указываю время и периодичность выполнения:



Ну и, собственно говоря, сама задача: запуск программы shutdown.exe с параметром /s

В строке "Имя файла" файл можно указать через через перебор файлов (кнопка с жёлтым значком справа), либо вписать C:\Windows\System32\shutdown.exe

В строке параметр запуска вписать  /s



Всё. Задание создано и теперь будет выполняться по расписанию.

пятница, 17 апреля 2020 г.

Пропала верхняя панель меню thunar


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


 "Лечение" простое: нажмите комбинацию клавиш Ctrl+M:


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

Снова нажмите Ctrl+M. Посмотрите на результат. Верните привычный внешний вид, то есть нажмите Ctrl+M. Запомнили?

вторник, 14 апреля 2020 г.

Замена службы синхронизации времени Windows на NetTimeSync

Ранее мне пришлось уже столкнуться с тем, что синхронизация времени на Windows работала из рук вон плохо, а вернее – не работала вообще (подробности).

По прошествии некоторого времени было замечено, что часы на компьютере Windows стали "врать": расхождение времени составило несколько часов. Очевидно, снова возникли какие-то проблемы с работой встроенного клиента NTP.  Поскольку времени на разбирательство не оставалось, так как в связи с переходом на дистанционную работу на этом компьютере ежедневно осуществляется работа научного и образовательного характера (по месту работы члена семьи), было принято решение найти инструмент сторонней синхронизации времени Windows, который функционировал бы по принципу "Установил и забыл".

В результате некоторых экспериментов выбор был сделан в пользу NetTime – http://www.timesynctool.com

Была установлена самая последняя тестовая версия 3.20 Alpha 3 (на момент написания этой публикации). В процессе установки предлагаемый вариант был принят и ПО было установлено как системная служба.




Работа программы сопровождается индикацией в системной лотке (трее, панели) Windows. Если значка не наблюдается, то, следовательно, на него действует настройка "показывать только уведомления". Изображение на рисунке ниже соответствует варианту "Отображать всё".


Щёлкнув по данному значку можно перейти к настройкам программы.


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

По умолчанию, время предлагается синхронизировать с универсального пула серверов точного времени pool.ntp.org


Эти значения можно менять, указав набор адресов серверов NTP, предпочитаемых Вами, или использовать информацию от региональной сети пулов серверов точного времени – https://www.ntppool.org/ru

Так как  в домашней сети развёрнут свой сервер NTP, то все серверы по умолчанию мной были удалены и указан только свой сервер NTP – router.vot

Ниже отображены настройки, касающиеся отображения и работы программы.


Update Interval – интервал между синхронизациями: 12 часов по умолчанию.

Retry Interval – интервал между попытками: 1 минута. 

Demote Interval – число попыток прежде чем источник будет считаться не способным предоставить услугу: 4 неудачных попытки.

Для своих нужд интервал между синхронизациями мной был установлен в 30 минут.


Далее:

Show NetTime icon in the system tray at login – отображать значок в трее при входе в систему.

Run NetTime as a system service – работать как системная служба.

If Time adjustment is greater than ... – если расхождение показаний часов компьютера с временем сервера NTP больше, чем ... , то осуществить коррекцию времени. По умолчанию такое значение предлагается в 2 минуты. Мной было установлено значение в 400 миллисекунд, что определено из своих личных предпочтений (связанных с версионностью файлов при синхронизации с облачными хранилищами), а также тем фактом, что сервер NTP домашней локальной сети является сервером времени уровня stratum2. Об уровнях stratum можно прочитать здесь.




Следующее касается отображения протокола работы программы и интервала обновления ПО. Можно оставить как есть:


При каждом включении или "просыпании" компьютера время будет синхронизироваться.



После всех настроек встроенная служба NTP Windows мной была отключена, а службе NetTimeSync была дана команда "рестарт" (чтобы программа заработала с нужными настройками).




Полагаю, что расход памяти в 1,2 Мб на службу NetTimeSync не является предметом для беспокойства об экономии ресурсов системы.


Если имеется желание, то, теоретически, компьютер с установленным ПО NetTimeSync может выступить в роли сервера времени Вашей локальной сети, по показаниям часов которого будут сверяться все остальные компьютеры. Для этого отметьте поле "Allow other computers to sync to this computer".


Такая возможность ПО NetTimeSync мной не тестировалась по причине наличия в домашней ЛВС собственного сервера NTP на MikroTik.

Примечание. В корпоративных сетях с использованием Windows Active Directory источники точного времени определяются настройками GPO эмулятора PDC.

пятница, 20 марта 2020 г.

Dropbox "ругается" на компонент python


После обновления Linux Mint с 19.2 до 19.3 через некоторое время при запуске Dropbox на экране стало отображаться предупреждение:



Если нажать кнопку OK, то происходит загрузка с сайта Dropbox, по завершению которой работа Dropbox восстанавливается:



При этом никаких новых программ после обновления системы до Linux Mint 19.3 на компьютер не устанавливалось.

Ну что ж, Dropbox сам говорит, что необходимо сделать. Так как у меня система новее Ubuntu 16.10, то мне необходим пакет python-gpg. Для Linux Mint 18x нужен пакет  python-3-pgpme.

Мне не известно по какой причине данный пакет, похоже, из системы был удалён, но восстановление штатной работы Dropbox вылилось в установку требуемого пакета:

sudo apt install -y python-3-pgp

Или это можно сделать через графический интерфейс менеджера пакетов Synaptic, найдя требуемое через поиск: