Автор Тема: Grub theme, Тема для Grub - altclub  (Прочитано 9763 раз)

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Grub theme, Тема для Grub - altclub
« : 03.12.2019 23:53:51 »
Сделал тему оформления для grub, а то базовая скучная. Все проверено на нескольких живых ПК.
Но в тестерах все равно нуждается.

Архив с темой:
https://www.pling.com/p/1475193/
MD5: c634e2309a497ce64d83ddc12d55fc7d

Выглядит так:



Как установить.
На все нужны права root.

Настройка с помощью "grub-customizer"
===
Поставить пакет: grub-customizer
Открыть программу
Перейти на вкладку: Настройки оформления
В меню "Тема" нажать "Добавить тему"
В появившемся окне файлового менеджера выбрать архив с темой
Нажмите кнопку "Расширенные настройки" и поставьте галочку на пункте "GRUB_GFXMODE"
Измените пользовательское разрешение на желаемое.
Сохранить настройки.

В ручную.
===
Распаковываете архив там папка "altclub".
Кладете ее в каталог "/boot/grub/themes"
Открываете файл: "/etc/sysconfig/grub2"
В параметре: GRUB_THEME
Пишите адрес до файла новой темы.
GRUB_THEME="/boot/grub/themes/altclub/theme.txt"
В параметре: GRUB_WALLPAPER
GRUB_WALLPAPER="/boot/grub/themes/altclub/terminal.jpg"
Пишите адрес до картинки фона терминала.

По умолчанию у нас в grub стоит разрешение 800x600, картинки темы altclub в разрешении 2560х1600, чтобы меню и фон лучше смотрелся при загрузке найдите параметр: GRUB_GFXMODE
в "/etc/sysconfig/grub2"
Пропишите в него свое разрешение либо поставьте авто.

Пример:
GRUB_GFXMODE='1366x768'
или
GRUB_GFXMODE='auto' -  grub сам займется масштабом.
Сохраняем файл.
Конфигурируем grub командой:
# update-grub
Все после рестарта ОС увидите новое оформление.

Мелочи.
В теме есть набор иконок для разных дистрибутивов и виндовс, при конфигурации они подставятся сами в пункты меню. Иконка по умолчанию на Альт рука с гаечным ключом на оранжевом фоне. Иконка моя прежде всего потому что класса altlinux я не нашел, а если вписать свой то при обновление он автоматом затрется. Моя иконка имеет класс "gnu-linux" при желании можно сменить. Посмотреть классы можно в файле: /boot/grub/grub.cfg
Неплохо бы разработчикам добавлять --class altlinux
Мелочь а приятно.

В виртуалбоксе Альтовские названия пунктов типа: "лалала...................................... + ( кодовое имя ) ну и чтоб совсем было не мало + адрес диска".
Не влазят полностью в меню и скрывается длинная часть. Этой проблемы нет при высоком разрешении так как меню растягивается в %.
Однако если вам надо видеть все, то увеличьте ширину меню в файле темы.
"/boot/grub/themes/altclub/theme.txt"
#menu
+ boot_menu {
width = 58%
width - можно задать пикселями фиксированно.

В файле /boot/grub/grub.cfg
Можно найти эти названия и укоротить, однако файл генерируется автоматически так что при смене ядра или конфиги grub старые названия востанут и придется снова менять...

Что еще.
Хочу сделать цветные надписи клавиш в слое помощи, но как это сделать не нашел.

Предложение и идеи по улучшению принимаются всегда.

« Последнее редактирование: 27.01.2021 20:03:45 от Koi »

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Grub theme, Тема для Grub - altcub
« Ответ #1 : 04.12.2019 08:16:47 »
Koi, в Team вступить не надумали?
Опакечивали бы прямо Сизиф и p9.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 999
Re: Grub theme, Тема для Grub - altclub
« Ответ #2 : 04.12.2019 12:53:23 »
Не тянет на использование и настройку, но тянет на разработку темы. Посему перемещаю в соответствующий раздел. Тем более, что тема от одноклубников.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #3 : 04.12.2019 20:16:26 »
Koi, в Team вступить не надумали?
Не, спасибо.
Опакечивали бы прямо Сизиф и p9.
Рановато, надо бы потестить.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #4 : 04.12.2019 22:29:44 »
Поправил элементы.
Добавил горизонтальный бокс.
Изменил текст на панели помощи как мне кажется на более профессиональный.
Разукрасил названия клавиш.
Конвертнул шрифты для 1к и 2к.
Прямоугольник терминала больше не портит вид.
Новый скрин добавил в 1 сообщение.

Ну и вообщем что хотел все сделал, фиг знает чего еще приладить. Можно в центр наверху повесить картинку лого (пингвин бьет молотком по компьютеру) в качестве анимации к загрузке.

Насчет опакечивания у меня смежные чувства, grub все таки основа основ и если делать пакет то тогда он будет менять пути тем в конфигах пользователя насильно ему навязывая тему, а если пользователь хочет просто поставить, но не включать ее сразу? Если пакетить без автонастройки то тогда чем это будет отличаться от архива, просто закинуть куда надо и все. Однако тогда наверняка скажут после установки... ну и где?
В общем в сомнениях...
« Последнее редактирование: 04.12.2019 22:46:49 от Koi »

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 999
Re: Grub theme, Тема для Grub - altclub
« Ответ #5 : 05.12.2019 08:54:15 »
На мой субъективный взгляд не хватает конкретики в плане какой конкретно стартовый набор используется. Выше первого пункта меню вывести тип стартового набора (что-то вроде xfce-sysv или server-systemd, или ... с датой выпечки), а пункты меню, в том числе и первый, при всём этом бы не менялись (вот прям как сейчас на скрине). Но я не в курсе, можно ли такое провернуть.
Либо не делать так, но тогда фон внутри прямоугольника с пунктами меню начинать одинаково от верхнего и нижнего краёв, т.е. симметрично, а не как сейчас с большим отступом сверху.

Оффлайн Антон Мидюков

  • alt linux team
  • ***
  • Сообщений: 5 183
  • antohami@
Re: Grub theme, Тема для Grub - altclub
« Ответ #6 : 05.12.2019 10:11:47 »
На мой субъективный взгляд не хватает конкретики в плане какой конкретно стартовый набор используется. Выше первого пункта меню вывести тип стартового набора (что-то вроде xfce-sysv или server-systemd, или ... с датой выпечки), а пункты меню, в том числе и первый, при всём этом бы не менялись (вот прям как сейчас на скрине). Но я не в курсе, можно ли такое провернуть.

У них единый брендинг, так что я затрудняюсь предположить, как такую идентификацию сделать.

Оффлайн sb

  • Модератор глобальный
  • *****
  • Сообщений: 8 999
Re: Grub theme, Тема для Grub - altclub
« Ответ #7 : 05.12.2019 14:09:21 »
На мой субъективный взгляд не хватает конкретики в плане какой конкретно стартовый набор используется. Выше первого пункта меню вывести тип стартового набора (что-то вроде xfce-sysv или server-systemd, или ... с датой выпечки), а пункты меню, в том числе и первый, при всём этом бы не менялись (вот прям как сейчас на скрине). Но я не в курсе, можно ли такое провернуть.

У них единый брендинг, так что я затрудняюсь предположить, как такую идентификацию сделать.
Отталкиваюсь исключительно от того, что представлено на скриншоте. Так вот нет такого стартеркита, как в первом пункте меню: это абстракция коня в вакууме. Именно по этой причине моё предложение как минимум о конкретике. Но не хотелось бы при этом увеличивать длину записи первого пункта, т.к. на небольших экранах может не влезть по ширине, отсюда и предложение.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #8 : 05.12.2019 17:44:24 »
На мой субъективный взгляд не хватает конкретики в плане какой конкретно стартовый набор используется.
Я просто укоротил вывод так чтоб он лучше смотрелся, а вообще информация о дистрибутиве выводится в пункте полностью. При разрешение 800х600 пункт занимает примерно треть длины экрана в официальных дистрибутивах, а в стартовых наборах длинна вполне разумная.
Выше первого пункта меню вывести тип стартового набора (что-то вроде xfce-sysv или server-systemd, или ... с датой выпечки), а пункты меню, в том числе и первый, при всём этом бы не менялись (вот прям как сейчас на скрине). Но я не в курсе, можно ли такое провернуть.
Формированием пунктов меню у нас занимается скрипт 30_os-prober который лежит в /etc/grub.d. Если его глянуть можно увидеть из чего он формирует пункты.
menuentry '$(echo "${LONGNAME} $bitstr $onstr" | grub_quote)' --class osx --class darwin --class os \$menuentry_id_option 'osprober-xnu-$2-$(grub_get_device_id "${DEVICE}")'
  DEVICE="`echo ${OS} | cut -d ':' -f 1`"
  LONGNAME="`echo ${OS} | cut -d ':' -f 2 | tr '^' ' '`"
  LABEL="`echo ${OS} | cut -d ':' -f 3 | tr '^' ' '`"
  BOOT="`echo ${OS} | cut -d ':' -f 4`"

В общем потом он пропуская полученное через фильтры и выводит результат в переменные пунктов  меню. Впринципе можно укоротить оставив названия только дистрибутивов, но поскольку этот скрипт касается напрямую grub я такие изменения если и сделаю то только для себя в частном порядке, потому что делать в нем изменения для сообщества будет опасно для жизни ОС.

Вывести название дистрибутива например в левый верхний угол, чтоб его было видно, но в тоже время не бросался в глаза наверное можно. Дело в том что OS еще не загружена, а всю выводимую информацию он берет из заранее заготовленных для него файлов. Однако у grub есть предопределенные свои переменные для вывода сообщений на экран например @TIMEOUT_NOTIFICATION_LONG@ или @KEYMAP_MIDDLE@ и т.д подробно я не интерисовался что у него есть, надо покопатся глянуть, может можно свои добавить.
Но не хотелось бы при этом увеличивать длину записи первого пункта, т.к. на небольших экранах может не влезть по ширине
Меню масштабируется в % от развертки экрана, но полностью в него пункты не влазят. Например в p8 у kde полная запись пункта "Параметры" выглядит так 14 кегль.
Дополнительные параметры для ALT Workstation K 8.3 (кодовое_имя) (на /dev/sda8)
Можно задать ширину меню фиксировано чтоб все влезало, но тогда оно будет очень широкими некрасивым.
« Последнее редактирование: 05.12.2019 17:56:48 от Koi »

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #9 : 06.12.2019 17:25:00 »
Добавил в папку с темой лицензию в.3
Ридми с инструкцией по установке
Прокоментил theme.txt
Переделал архив так чтоб его мог устанавливать grub-customizer

Теперь для установки надо.

Настройка с помощью "grub-customizer"
Поставить пакет: grub-customizer
Открыть программу
Перейти на вкладку: Настройки оформления
В меню "Тема" нажать "Добавить тему"
В появившемся окне файлового менеджера выбрать архив с темой
Сохранить настройки.
Все.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #10 : 28.09.2020 18:06:05 »
Обновил тему.
Добавлены новые иконки для разных OS.
Графика переделана для более высокого разряжения.
Позиционирование контейнеров теперь задается от абсолютного то есть 50% развертки не важно какой.
После тестов на Full HD принято решение зафиксировать ширину меню.
Немного изменен графический дизайн.
Добавлены инструкции в README и комментарии в theme.txt.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #11 : 27.11.2020 12:11:36 »
Хочу заметить что в р9 названия пунктов grub стали не такими большими как были раньше и при обновлении настройки сбрасываться перестали тот же grub-customizer хоть и не все.

Оффлайн Koi

  • alt linux team
  • ***
  • Сообщений: 1 893
  • валар дохаэрис
    • Канал на youtube
Re: Grub theme, Тема для Grub - altclub
« Ответ #12 : 27.01.2021 20:10:08 »
Обновил тему.

Добавлено:
  • Все иконки перерисованы в inkscape чтобы при конвертации добиться более высокой четкости  мелких деталей.
  • Поправлены углы меню.
  • Эффект тени убран ( считаю его не красивым )
  • Проведена общая коррекция блоков для гибкого изменения разрешения.

Заодно залил на pling.
Скачивание темы так же оттуда, либо можно через поиск в магазине kde.