add global changes in project ubl-settings-datetime, some work with project ubl-settings-bootloader and ubl-settings-services #12

Merged
asmeron merged 9 commits from :master into master 3 years ago

@ -0,0 +1,130 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-bootloader**
1. **ОПИСАНИЕ:**
Графическое средство настройки загрузчика ОС UBLinux
1. **ЭТАПЫ И СРОКИ СОЗДАНИЯ ПРИЛОЖЕНИЯ:**
Общий срок работ по созданию приложения составляет N дней:
- N дня - макет и дизайн приложения и его утверждение
- N дней - разработка приложения
- N дня - тестирование приложения и исправление ошибок
Перечень этапов разработки приложения:
- Разработка макета и дизайна приложения, самостоятельно
- Утверждение и доработка макета, самостоятельно
- Создание работающего интерфейса, включая полную разработку действующих ярлыков, кнопок и т.д., самостоятельно
- Проектирование алгоритма работы приложения, самостоятельно
- Написание работающего кода приложения, включая полноценно работающие элементы графического интерфейса, а также перевод (поддержка локализации En, Ru), самостоятельно
- Тестирование и исправление ошибок, самостоятельно
- Публикация
1. **ТЕХНОЛОГИЧЕСКИЕ ТРЕБОВАНИЯ:**
1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-bootloader**
1. Название приложения, публичное: **UBConfig - Загрузчик**
1. Стек технологий:
- Язык программирования: Bash или C++
- Приложение для разработки графического интерфейса: Glade 3
- Графические библиотеки: GTK3
- Операционная система разработки: UBLinux DB
1. Структура:
- **/usr/bin/ubl-settings-bootloader (скомпилированный бинарный файл)**
Bash/C: Весь функционал сосредоточен в графической части, вызовы и исполнение процедур написаны на языках Bash, C++
- Файл **glade** скомпилирован в бинарный файл
Графическая часть, фронт
- Файл **css** скомпилирован в бинарный файл
Стили виджетов GTK
- **/usr/share/ubl-settings-bootloader/images/{\*.png,\*.svg}**
Элементы изображений
- **/usr/share/ubl-settings-bootloader/locale -> /usr/share/locale**
Локализация En/Ru
1. **ТЕХНИЧЕСКОЕ ЗАДАНИЕ:**
1. Ярлык (desktop-файл):
1. Type: Application
1. Exec: ubl-settings-bootloader
1. Categories: X-UBL-SettingsManager;X-UBL-SystemSettings
1. Главное окно:
1. Требования к внешнему виду:
- Адаптивный (резиновый) дизайн.
- Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
- Шапка в стиле приложений GTK3.
- В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
- Рабочая область делится на два блока, которые обрамлены рамками с заголовками: «Локальная настройка», «Глобальная настройка».
1. Требования к «Рабочей области». Выводятся группы настроек запуска:
1. Меню загрузки
- чекбокс "Таймер выбора варианта загрузки"
- счётчик от 1 до 60 с лэйблом "секунд"
- лэйбл "Загрузка по умолчанию:"
- комбобокс с вариантами выбора ОС для загрузки
- чекбокс "Последний выбор станет выбором загрузки по умолчанию"
1. Параметры, передаваемые ядру
- чекбокс "quiet (Загрузка без текстовых сообщений)"
- чекбокс "splash (Показывать окно приветствия)"
- чекбокс "noplymouth (Отключить Plymouth)"
- чекбокс "acpi=off (Отключить ACPI)"
- чекбокс "noapic (Отключить APIC)"
- чекбокс "nolapic (Отключить локальный APIC)"
- чекбокс "single (Режим одного пользователя)"
- чекбокс "nomodeset (Отключить выбор и загрузку ядром драйверов видео)"
- чекбокс "i915.enable_dc=0 (Отключить управление питанием графического процессора)"
- чекбокс "ahci.mobile_lpm_policy=1 (Максимальная производительность, управление питанием)"
- чекбокс "snd-intel-dspcfg.dsp_driver=1 (Принудительный выбор драйвера звукового устройства от Intel)"
- чекбокс "intel_idle.max_cstate=1 (Предотвращает переход процессора в состояние глубокого сна)"
- чекбокс "intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage)"
- поле ввода с лэйблом "Параметры командной строки:"
1. Терминал для ввода
- чекбокс "console (PC BIOS & консоль EFI)"
- чекбокс "serial (Последовательный терминал)"
- чекбокс "ofconsole (Консоль Open Firmware)"
- чекбокс "at_keyboard (Клавиатура PC AT (Coreboot))"
- чекбокс "usb_keyboard (Клавиатура USB Keyboard (протокол HID Boot))"
- поле ввода с лэйблом "Параметры командной строки:"
1. Терминал для вывода
- чекбокс "console (PC BIOS & консоль EFI)"
- чекбокс "serial (Последовательный терминал)"
- чекбокс "ofconsole (Консоль Open Firmware)"
- чекбокс "gfxterm (Вывод в графическом режиме)"
- чекбокс "vga_text (Текстовый вывод VGA (Coreboot))"
- поле ввода с лэйблом "Параметры командной строки:"
1. **КОМАНДЫ**
1. Меню загрузки
- Таймер выбора варианта загрузки:
- Загрузка по умолчанию:
- Последний выбор станет выбором загрузки по умолчанию:
1. Параметры, передаваемые ядру
- quiet (Загрузка без текстовых сообщений):
- splash (Показывать окно приветствия):
- noplymouth (Отключить Plymouth):
- acpi=off (Отключить ACPI):
- noapic (Отключить APIC):
- nolapic (Отключить локальный APIC):
- single (Режим одного пользователя):
- nomodeset (Отключить выбор и загрузку ядром драйверов видео):
- i915.enable_dc=0 (Отключить управление питанием графического процессора):
- ahci.mobile_lpm_policy=1 (Максимальная производительность, управление питанием):
- snd-intel-dspcfg.dsp_driver=1 (Принудительный выбор драйвера звукового устройства от Intel):
- intel_idle.max_cstate=1 (Предотвращает переход процессора в состояние глубокого сна):
- intel_idle.max_cstate=4 (Устраняет мерцание дисплея ноутбука на процессорах Ultra Voltage):
- Параметры командной строки:
1. Терминал для ввода
- console (PC BIOS & консоль EFI):
- serial (Последовательный терминал):
- ofconsole (Консоль Open Firmware):
- at_keyboard (Клавиатура PC AT (Coreboot)):
- usb_keyboard (Клавиатура USB Keyboard (протокол HID Boot)):
- Параметры командной строки:
1. Терминал для вывода
- console (PC BIOS & консоль EFI):
- serial (Последовательный терминал):
- ofconsole (Консоль Open Firmware):
- gfxterm (Вывод в графическом режиме):
- vga_text (Текстовый вывод VGA (Coreboot)):
- Параметры командной строки:
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 169 KiB

@ -1,4 +1,3 @@
ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime** ТЕХНИЧЕСКОЕ ЗАДАНИЕ на разработку утилиты **ubl-settings-datetime**
1. **ОПИСАНИЕ:** 1. **ОПИСАНИЕ:**
@ -23,7 +22,7 @@
1. Приложение разрабатывается под нужды операционной системы UBLinux 1. Приложение разрабатывается под нужды операционной системы UBLinux
1. Использование фирменного логотипа компании 1. Использование фирменного логотипа компании
1. Название приложения, техническое: **ubl-settings-datetime** 1. Название приложения, техническое: **ubl-settings-datetime**
1. Название приложения, публичное: **UBConfig - Дата и время** 1. Название приложения, публичное: **Дата и время**
1. Стек технологий: 1. Стек технологий:
- Язык программирования: Bash или C++ - Язык программирования: Bash или C++
- Приложение для разработки графического интерфейса: Glade 3 - Приложение для разработки графического интерфейса: Glade 3
@ -50,45 +49,68 @@
1. Требования к внешнему виду: 1. Требования к внешнему виду:
- Адаптивный (резиновый) дизайн. - Адаптивный (резиновый) дизайн.
- Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей. - Минимальный размер окна до прекращения масштабирования 800 на 600 пикселей.
- Шапка в стиле приложений GTK3. - Шапка в стиле приложений GTK3 с содержимым:
- Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобально")
- Заголовок окна, название приложения
- Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобально, Сохранить локально")
- Кнопка с иконкой с выпадающим списком -> "Справка, О приложении"
- Стандартные элементы окна, кнопки "Свернуть, Минимизировать/На весь экран, Закрыть"
- В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением. - В верхней части крупный логотип утилиты, с права от него краткое описание утилиты. Фон заполнен изображением.
- Рабочая область делится на два блока, которые обрамлены рамками с заголовками: «Локальная настройка», «Глобальная настройка». - Срока уведомления, представляющая собой полосу с инфографикой и элементом для закрытия/скрытия строки уведомлений.
1. Требования к «Рабочей области». Выводятся группы настроек запуска: - Рабочая область.
1. Локальная настройка 1. Требования к "Рабочей области". Выводятся группы настроек запуска:
1. Блок с заголовком "Текущие дата и время"
- лейбл "Время". - лейбл "Время".
- счётчик от 00 до 23 (часы). - счётчик от 00 до 23 (часы).
- лейбл «:» (разделитель). - лейбл ":" (разделитель).
- счётчик от 00 до 59 (минуты). - счётчик от 00 до 59 (минуты).
- лейбл «Дата». - лейбл "Дата".
- поле ввода. Ввод даты в формате ДД.ММ.ГГГГ - поле ввода. Ввод даты в формате ДД.ММ.ГГГГ
- кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты). - кнопка с иконкой календаря. Вызов объекта датапикер (визуальное представление выбора даты).
- кнопка «Синхронизировать». Синхронизация выставленных даты и времени с часами и датой системы. - кнопка "Синхронизировать". Синхронизация выставленных даты и времени с часами и датой системы. Неактивно, если выбраны значения "По умолчанию, DHCP, Вручную" чекбокса в блоке "Синхронизация через NTP".
- кнопка «Синхронизировать аппаратное время». Синхронизация даты и времени с временем BIOS рабочей станции. - кнопка "Синхронизировать аппаратное время". Синхронизация даты и времени с временем BIOS рабочей станции.
- вложенный блок с заголовком «Часовой пояс». 1. Блок с заголовком "Синхронизация через NTP"
- лейбл «Регион:». - комбобокс с вариантами выбора сервера: "Остановлено, По умолчанию, DHCP, Вручную". При выборе "По умолчанию", второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос "ubconfig --source=default get NTPSERVERS\_DEFAULT". При выборе "По умолчанию» в конфиг файл передаются значения: "NTPSERVERS=default".
- комбобокс. Перечень регионов, локализация стандартными средствами. - поле ввода для ручного указания серверов. Неактивно, если выбраны значения "Отключено, Остановлено, По умолчанию, DHCP" комбобокса в блоке "Синхронизация через NTP".
- лейбл «Зона:». 1. Блок с заголовком "Часовой пояс".
- комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. - лейбл "Синхронизация аппаратного времени:"
1. Глобальная настройка - комбокс с вариантами "Локальное время, Время по UTC"
- чекбокс "Синхронизоравать через NTP" - вложенный блок с заголовком "Часовой пояс".
- комбобокс с вариантами выбора сервера: «По умолчанию, DHCP, Вручную». При выборе «По умолчанию», второе поле для ввода вручную становится заблокированным для манипуляций - текст введённого поля серый. Содержание поля - ответ полученный на запрос «ubconfig --source=default get NTPSERVERS\_DEFAULT». При выборе «По умолчанию» в конфиг файл передаются значения: «NTPSERVERS=default». Неактивно, если не включен чекбокс "Синхронизоравать через NTP". - блок с заголовком "Синхронизация через NTP"
- поле ввода для ручного указания серверов. Неактивно, если не включен чекбокс "Синхронизоравать через NTP", выбрана опция «По умолчанию» в комбобоксе с вариантами выбора сервера. - лейбл "Регион:".
- вложенный блок с заголовком «Часовой пояс». - комбобокс. Локализованный перечень регионов.
- лейбл «Регион:». - лейбл "Зона:".
- комбобокс. Перечень регионов, локализация стандартными средствами. - комбобокс. Перечень городов с поправкой на часовой пояс. Например, "(UTC +06) Омск". Перечень регионов, локализация стандартными средствами.
- лейбл «Зона:». 1. **ОСОБЕННОСТИ**
- комбобокс. Перечень городов с поправкой на часовой пояс. Например, «(UTC +06) Омск». Перечень регионов, локализация стандартными средствами. 1. Кнопка с выпадающим списком "Загрузить" -> ("Загрузить глобально"). При нажатии на кнопку происходит загрузка текущей конфигурации в системе через скрипт ubconfig (команда get local). При выборе подпункта - загрузка конфигурации из файла настроек ОС ublinux.ini (команда get global).
1. Кнопка с выпадающим списком "Сохранить" -> ("Сохранить глобально, Сохранить локально"). При нажатии сохраняет текущие настройки через скрипт ubconfig (команда set local) и в конфигурационный файл настроек ОС ublinux.ini (команда set global). При выборе подпунктов "Сохранить глобально, Сохранить локально" происходит отдельное сохранение настроек.
1. Строка уведомлений. Цвет в зависимости от сигнала:
- зелёный, пиктограмма "Птичка", сообщения об удачных загрузках или сохранениях конфигураций системы.
- жёлтый, пиктограмма "Восклицательный знак", сообщения о несохранённых изменениях.
- красный, пиктограмма "Крест", сообщения об ошибках при сохранении, загрузке параметров конфигурации, при ошибках в работе программы.
1. Окно с выводом информации о программе:
- Заголовок окна по локализованному названию утилиты
- Версия берётся из main.cpp глобальной переменной в исходника: UBAPP_VERSION
- Копирайты, порядок:
- Иконка приложения
- Название утилиты
- Версия программы
- Название утилиты локализованное
- Ссылка "Домашняя страница проекта" на https://ublinux.ru/
- Copyright (c) 2023 - UBSoft Software LLC
1. **КОМАНДЫ** 1. **КОМАНДЫ**
1. Задать время: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать") 1. Задать время: `date +%T -s "h:m:sec"` (кнопка "Синхронизировать")
1. Задать дату: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать") 1. Задать дату: `date +%Y%m%d -s "2000:06:14"` (кнопка "Синхронизировать")
1. Синхронизировать аппаратное время: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время") 1. Синхронизировать аппаратное время: `hwclock --systohc` (кнопка "Синхронизировать аппаратное время")
1. Проверка запущенных процессов синхронизации, например, `pidof -q systemd-timesyncd ntpd chronyd`. 1. Проверка запущенных процессов синхронизации, например, `pidof -q systemd-timesyncd ntpd chronyd`.
1. Остановка сервисов: 1. Остановка сервисов:
1. systemd-timesyncd `[[ systemctl --quiet is-active systemd-timesyncd &>/dev/null ]] && systemctl stop systemd-timesyncd` 1. `SEL_SERVICE=\"systemd-timesyncd\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service;`
1. ntp `[[ systemctl --quiet is-active ntpd &>/dev/null ]] && systemctl stop ntpd` `SEL_SERVICE=\"ntpd\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ${SEL_SERVICE};`
1. openntp `[[ systemctl --quiet is-active openntpd &>/dev/null ]] && systemctl stop openntpd` `SEL_SERVICE=\"ntpdate\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ${SEL_SERVICE};`
1. linuxptp `[[ systemctl --quiet is-active ptp4l &>/dev/null ]] && systemctl stop ptp4l` `SEL_SERVICE=\"chronyd\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ${SEL_SERVICE};`
`SEL_SERVICE=\"openntpd\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ntpd;`
`SEL_SERVICE=\"ptp4l\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ${SEL_SERVICE};`
`SEL_SERVICE=\"phc2sys\"; systemctl --quiet is-active ${SEL_SERVICE}.service &>/dev/null && systemctl stop ${SEL_SERVICE}.service || pkill -9 ${SEL_SERVICE}`
1. Установка часового пояса: `ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE` (комбобокс "Регион", "Зона") 1. Установка часового пояса: `ln -s /usr/share/zoneinfo/ && ln -s /usr/share/zoneinfo/REGION/ZONE` (комбобокс "Регион", "Зона")
1. Команды записи в конфигурационный файл: 1. Команды записи в конфигурационный файл:
1. Получить статус синхронизации NTP: `/usr/bin/ubconfig get network NTPSERVERS` 1. Получить статус синхронизации NTP: `/usr/bin/ubconfig get network NTPSERVERS`
@ -102,5 +124,6 @@
1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.** 1. **ПРИБЛИЗИТЕЛЬНЫЙ МАКЕТ ПРИЛОЖЕНИЯ.**
1. Главное окно 1. Главное окно
![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-datetime/pic/01%28ru_RU%29.png) ![](https://gitea.ublinux.ru/miramax166/design-ubl-settings-apps/raw/branch/master/ubl-settings-datetime/pic/01%28ru_RU%29.png)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 118 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 102 KiB

Loading…
Cancel
Save