Difference between revisions of "User:Vasily.podvornyak"

From Rosalab Wiki
Jump to: navigation, search
(Example)
(Blanked the page)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
<span style="font-size: 300%">'''Оформление загрузчика Grub2 2.00'''</span>
 
<br>
 
Бороздя просторы большой сети, мне не посчасливилось найти подробного руководства по созданию тем оформления загрузчика GRUB2, которое бы помогло мне понять смысл каждого значения и каждой переменной на конкретных примерах. Несмотря на это, создавая тему оформления, хчется получить конкретный результат. Такой, что-бы каждая точка оформления находилась там, где нужно. Вот я и решил написать такое руководство, пока глядел в исходный код. Цель данного руковдства представить каждую возможность графического оформления, показать особенности и ограничения в офомлении загрузчика, представить план по созданию новой темы, с точностью до каждого пикселя.
 
  
='''С чего начать'''=
 
 
И так, мы хотим создать оформление для загрузчика. Давайте пройдём этот путь шаг за шагом.
 
 
=='''Создай дирректорию'''==
 
 
Сначала, создайте пустую папку для файлов новой темы оформления. <tt>/boot/grub2/themes/</tt>
 
(примечание, предпологается что загрузчик установлен в папку <tt>/boot/grub2/</tt>)
 
 
Так-же - желательно создать подпапку в этой папке <tt>/boot/grub2/themes/</tt>
 
Пусть это будет папка <tt>/boot/grub2/themes/test/</tt>
 
 
=='''Создай текстовый файл'''==
 
 
Мы должны создать основной файл оформления в только что созданной папке.
 
 
Желательно назвать файл <tt>theme.txt</tt>.
 
 
И так - создайте файл <tt>/boot/grub2/themes/test/theme.txt</tt>
 
(в дальнейшем, <tt>theme.txt</tt> или основной файл оформления)
 
 
=='''Свойство <tt>GRUB_THEME</tt> в <tt>/etc/default/grub</tt>'''==
 
 
Что-бы загрузчик включил наше офрмление нужно установить свойство <tt>GRUB_THEME</tt> в файле <tt>/etc/default/grub</tt>.
 
 
Иначе говоря, мы должны написать строку <tt>GRUB_THEME=/boot/grub2/themes/test/theme.txt</tt>.
 
 
После знака "<tt>=</tt>" нужно написать абсолютный путь к основному файлу оформления.
 
 
Если строка <tt>GRUB_THEME=...</tt> уже присутствует в файле<tt>/etc/default/grub</tt>,
 
 
нужно переписать её, что-бы она выглядела так <tt>GRUB_THEME=/boot/grub2/themes/test/theme.txt</tt>.
 
 
Не должно быть двух одинаковых строк с одинаковыми параметрами.
 
 
=='''Файл настроек загрузчика <tt>/boot/grub2/grub.cfg</tt>'''==
 
 
Изменения в этом файле не будут применены пока мы не перезапишем настроки загрузчика.
 
 
Обычно, в системе есть скрипт <tt>update-grub2</tt>. Он должен быть запущен с правами <tt>root</tt>.
 
 
В случае если такого скрипта нет в системе нужно запустить команду <tt>grub2-mkconfig -o /boot/grub2/grub.cfg</tt> с правами <tt>root</tt>.
 
 
Скрипт <tt>update-grub2</tt> выполняет точно такю команду.
 
 
Скрипт <tt>update-grub2</tt> нужно вызывать всякий раз когда мы вносим изменения в настройки Grub2 <tt>/etc/default/grub</tt>.
 
 
Большинство установок оформления Grub2 описываются в файле <tt>theme.txt</tt>. Загрузчик Grub2 всякий раз при запуске проверяет
 
этот файл и читает из него настройки. Поэтому мы должны перезапускать машину всякий раз,что-бы увидеть результат наших изменений в
 
файле <tt>theme.txt</tt> или изменений в папке темы. Скрипт <tt>update-grub2</tt> записывает путь к файлу настроек оформления
 
в файл настроек загрузчика.
 
 
<br>
 
 
='''Общие понятия'''=
 
 
Начинаем изучать [[Grub2 theme / reference#Main file syntax | Синтаксис файла оформления]].
 
 
Каждый параметр имеет определённый тип.
 
 
Вы можете прочитать о типах данных [[Grub2 theme / reference#Data types | тут]].
 
 
Заметьте, что имена общих(глобальных) свойств(параметров) и их значений(компонентов) строго определённы. Если будет допущена синтаксическая ошибка в названии свойства или было выбрано недопустимое свойство, то во время запуска на экран будет выведенна ошибка. Если же было выбрано неверное значение, то оно не будет примено к свойству и сообщение об ошибке не будет выведено на экран.
 
 
=='''Типы элементов'''==
 
Есть несколько определённых типов:
 
 
; Корневой элемент
 
: Верхний уровень <tt>theme.txt</tt>. Здесь устанавливаются общие свойства.
 
 
; Меню загрузки (<tt>boot_menu</tt>)
 
: Главный элемент. Здесь устанавливаются свойства загрузочного меню.
 
 
; Горизонтальный индикатор отсчёта (<tt>progress_bar</tt>)
 
: Индикатор оставшегося времени до загрузки раздела меню указанного по умолчанию. Используется горизонтальная панель и текст.
 
 
; Круговой индикатор отсчёта (<tt>circular_progress</tt>)
 
: Индикатор оставшегося времени до загрузки раздела меню указанного по умолчанию. Используется круговая анимация.
 
 
; Текстовая строка (<tt>label</tt>)
 
: Отображает текстовую строку.
 
 
; Изображение (<tt>image</tt>)
 
: Отображает картинку.
 
 
; Вертикальный ящик (<tt>vbox</tt>)
 
: Элемент содержащий другие элементы. Отображает элементы столбцом, один за другим, сверху вниз.
 
 
; Горизонтальный ящик (<tt>hbox</tt>)
 
: Элемент содержащий другие элементы. Отображает элементы в строку, один за другим, слева направо.
 
 
; Холст (<tt>canvas</tt>)
 
: Элемент содержащий другие элементы. Для каждого элемента холста должны быть указаны собственные координаты позиции и размера.
 
 
Корневой элемент это экземпляр элемента типа "холст" с некоторыми дополнительными параметрами. Он занимает всё пространство экрана.
 
 
=='''Изображения'''==
 
Если указанный размер изображения больше размера изображения в файле, то катринка растягивается до уканных размеров. Наименьший размер изображения - размер изображения в файле.
 
 
Вам следует помнить эту особенность при выборе изображения для фона. Есть разные типы дисплеев. Одно и то-же изображение может по разному выглядеть на дисплеях с разным отношением сторон (4:3 и 16:9).
 
 
Если изображением является логотип, то стоит использовать абсолютные значения для параметров ширины и высоты, что-бы избежать искривлений в изображении.
 
 
Чаще всего растяжение изображения используется в различных градиентах. К примеру, вы можете использовать картинку гарадиентной заливки шириной в одну точку (1px).
 
 
=='''Графическое оформление'''==
 
Графическое оформление элемента состоит из 9-и областей - центальная, южная, юго-западная, западная и так далее.
 
 
Изображения 4-х угловых областей (таких как северо-запад) не растягиваются.
 
 
Восточная и западная области растягиваются по вертикали.
 
 
Северная и южная области растягиваются по горизонтали.
 
 
Центральная область растягивается и по горизонтали и по вертикали.
 
 
Если в оформлении есть угловые области, то в оформлении должны быть и боковые области соединённые с угловой. Например, если есть северо-западная область, то так-же должны быть северная и западная области. Более того, значения размера угловой области должны быть равны соответствующим значениям боковых областей. В нашем примере, высота северо-западной области должна быть равна высоте северной области  а ширина должна равняться ширине западной области.
 
 
=='''Шрифты'''==
 
Шрифт создаётся при помощи специальной программы <tt>grub2-mkfont</tt>. Более подробную информацию о программе смотрите в статье [["Font creation guide"|"Руководство по созданию шрифта"]]
 
 
<br>
 
 
='''Описание тестовой схемы'''=
 
 
=='''Элементы оформления'''==
 
 
Увеличены в пять раз для лучшего понимания. Тёмно-красный фон - для ясности. Альфа-канал - 75%. (прозрачность)
 
 
===Элемент графического оформления===
 
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ inbox_*.png
 
|-
 
| [[Image:grub2_guide_inbox_nw.png|25px]] || [[Image:grub2_guide_inbox_n.png|5px]] || [[Image:grub2_guide_inbox_ne.png|25px]]
 
|-
 
| [[Image:grub2_guide_inbox_w.png|25px]] || [[Image:grub2_guide_inbox_c.png|5px]] || [[Image:grub2_guide_inbox_e.png|25px]]
 
|-
 
| [[Image:grub2_guide_inbox_sw.png|25px]] || [[Image:grub2_guide_inbox_s.png|5px]] || [[Image:grub2_guide_inbox_se.png|25px]]
 
|}
 
 
===Элемент графического оформления===
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ button_*.png
 
|-
 
| [[Image:grub2_guide_inbox_se.png|25px]] || [[Image:grub2_guide_inbox_s.png|5px]] || [[Image:grub2_guide_button_ne.png|25px]]
 
|-
 
| [[Image:grub2_guide_inbox_e.png|25px]] || [[Image:grub2_guide_inbox_c.png|5px]] || [[Image:grub2_guide_inbox_w.png|25px]]
 
|-
 
| [[Image:grub2_guide_button_ne.png|25px]] || [[Image:grub2_guide_inbox_n.png|5px]] || [[Image:grub2_guide_inbox_nw.png|25px]]
 
|}
 
 
===Оформление загрузочного меню===
 
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ menu_*.png
 
|-
 
| [[Image:grub2_guide_inbox_nw.png|25px]] || [[Image:grub2_guide_inbox_n.png|5px]] || [[Image:grub2_guide_menu_ne.png|75px]]
 
|-
 
| [[Image:grub2_guide_inbox_w.png|25px]] || [[Image:grub2_guide_inbox_c.png|5px]] || [[Image:grub2_guide_menu_e.png|75px]]
 
|-
 
| [[Image:grub2_guide_inbox_sw.png|25px]] || [[Image:grub2_guide_inbox_s.png|5px]] || [[Image:grub2_guide_menu_se.png|75px]]
 
|}
 
 
===Фоновые изображения полосы прокрутки===
 
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ scrollbar_frame_*.png
 
|-
 
| [[Image:grub2_guide_frame_n.png|50px]]
 
|-
 
| [[Image:grub2_guide_frame_c.png|50px]]
 
|-
 
| [[Image:grub2_guide_frame_s.png|50px]]
 
|}
 
 
===Изображения полосы прокрутки===
 
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ scrollbar_thumb_*.png
 
|-
 
| [[Image:grub2_guide_thumb_n.png|50px]]
 
|-
 
| [[Image:grub2_guide_thumb_c.png|50px]]
 
|-
 
| [[Image:grub2_guide_thumb_s.png|50px]]
 
|}
 
 
===Оформление горизонтального индикатора===
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ progress_*.png
 
|-
 
| [[Image:grub2_guide_progress_c.png|5px]]
 
|}
 
 
=='''Изображения'''==
 
 
===Центральное изображение кругового индикатора===
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ center.png
 
|-
 
| [[Image:grub-guide-circular-center.png]]
 
|}
 
 
===Изображение одного такта кругового индикатора===
 
{| class="wikitable" border="1" style="background: #600000;"
 
|+ tick.png
 
|-
 
| [[Image:grub-guide-circular-tick.png|25px]]
 
|}
 
 
<br>
 
 
='''Свойства элементов'''=
 
 
Полное описание значений свойств с картинками и схемами.
 
 
<br>
 
 
=='''Основные свойства'''==
 
[[Grub2 theme / reference#Common options | подробней]]
 
 
<tt>left, top, width, height</tt> - координаты позиции и размеров прямоугольника, содержащего элемент.
 
 
<tt>id</tt> - Использование определённого значения для индефикатора элемента, изменяет способ его отображения. Использование неонпеделённого значения не изменяет ничего.
 
 
<br>
 
 
=='''Корневой элемент'''==
 
[[Grub2 theme / reference#Global options | подробней]]
 
 
Корневой элемент это элемент содержащий все элементы оформления. Так-же он содержит некоторые общие(глобальные) свойства(параметры). Корневой элемент это расширенный элемент типа "холст".
 
 
Заметьте, имена общих свойств содержат символ минуса (<tt>"-"</tt>, например <tt>"terminal-box"</tt>), а свойства элементов содержат символ подчёркивания (<tt>"_"</tt>, например <tt>"item_height"</tt>). Ещё заметьте, что общие свойства используют двоеточие в качестве разделителя (<tt>":"</tt>, например <tt>"title_text: "GNU Grub""</tt>), а свойства элементов используют знак равенства в как разделитель (<tt>"="</tt>, например <tt>"item_height = 20"</tt>).
 
 
===Фон - <tt>desktop-color, desktop-image</tt>===
 
 
Первое свойство <tt>desktop-color</tt> - цвет фона.
 
Второе <tt>desktop-image</tt> - изображение фона.
 
 
Если установленно свойство <tt>desktop-image</tt>, то свойство <tt>desktop-color</tt> не используется.
 
 
Изображение должно находиться в папке темы оформления. <tt>/boot/grub2/themes/test/</tt>
 
 
Изображение растягивается на всю область экрана.
 
 
===Настройки заголовка - <tt>title-text, title-color, title-font</tt>===
 
 
Оформление заголовка.
 
Если зголовок не нужен, то установите значение свойства пустым <tt>title-text=""</tt>.
 
 
Заголовок всегда расположен по центру экрана на высоте <tt>40 + ascent</tt> от верхней границы экрана. (смотри [[#Font creating guide|Руководство по созданию шрифта]])
 
 
title-text: "Title Text"
 
title-color: "#FFFFFF"
 
desktop-image: "background.png"
 
 
[[Image:grub2-guide-title-en.png]]
 
 
===Оформление консоли - <tt>terminal-box</tt>===
 
 
Графическое оформление консоли.
 
 
Оформление отображается ВНЕ(за границами) прямоугольной области консоли. Координаты консоли постоянны и зашиты в загрузчик. Они могут быть изменены при помощи заплатки. (смотри [[#Console moving|ниже]])
 
 
Заметьте, что консоль отображается в центральной области оформления с отступом по 3 точки от краёв.
 
 
Фон консоли устанавливается в <tt>/etc/default/grub</tt>. (смотри [[#GRUB_BACKGROUND|ниже]])
 
 
Изображение для консоли не должно содержать прозрачность (альфа-канал).
 
 
По умолчанию фон будет чёрным.
 
 
===Консольный шрифт - <tt>terminal-font</tt>===
 
 
Имя шрифта использующегося для консоли.
 
 
После добавления нового шрифта в папку оформления должна быть запущена команда <tt>update-grub2</tt>.
 
 
Смотрите подробнее о [[#Font creation guide|создании шрифта]]
 
 
title-text: ""
 
desktop-image: "background.png"
 
terminal-font: "Droid Sans Mono Regular 11"
 
terminal-box: "inbox_*.png"
 
 
Далее, общие свойства остаются неизменными.
 
 
[[Image:grub2-guide-terminal-en.png ]]
 
 
===Неиспользуемое - <tt>message-font, message-color, message-bg-color</tt>===
 
Эти параметры могут быть установленны, но они не используются.
 
 
<br>
 
 
=='''Загрузочное меню - <tt>boot_menu</tt>'''==
 
[[Grub2 theme / reference#Boot menu (boot_menu) | подробнее]]
 
 
Основной элемент. Отображает список установленных операционных систем. Выбор системы для загрузки.
 
 
===Координаты и размеры прямоугольной области элементов меню - <tt>left, top, width, height</tt>===
 
Обязательные свойства. Не забывайте их задавать.
 
 
===Шрифт и цвет для элеметов меню - <tt>item_color, item_font, selected_item_color, selected_item_font</tt>===
 
Ползователб нужно видеть какой элемент меню выбран, по этому необходимо как-то подсветить выбранный элемент. Можно использовать шрифт, цвет или графическое оформление.
 
<tt>item_color, item_font</tt> - цвет и шрифт неактивного элемента меню.
 
<tt>selected_item_color, selected_item_font</tt> - цвет и шрифт выбранного элемента.
 
 
+ boot_menu {
 
        left = 50%-300
 
        top = 50%-100
 
        width = 600
 
        height = 300
 
 
 
        selected_item_color = "#0000FF"
 
}
 
 
[[Image:grub2-guide-bootmenu-simple-en.png]]
 
 
Смотрите подробнее о создании шрфта в руководстве [[#Font creation guide|Создание шрифта]].
 
 
===Оформление елементов меню - <tt>seleted_item_pixmap_style, item_pixmap_style</tt>===
 
Оформление отображается ВНЕ элемента меню, за границами прямоугольной области, заданной координатами.
 
 
По умолчанию графическое оформление устанавливается только для активного элемента меню.
 
В ROSA Вы можете установить графическое оформление для неактивных элементов меню.
 
 
Давайте определим размер рамки активного элемента как <tt>pad_left</tt>, <tt>pad_top</tt>, <tt>pad_right</tt> и <tt>pad_bottom</tt>.
 
Общая высота элемента тогда составит <tt>item_height + pad_top + pad_bottom - 1</tt>.
 
(необходимо при расчете уменьшить значение на 1-у точку, что-бы достичь желаемого размера элемента.)
 
 
+ boot_menu {
 
        left = 50%-300
 
        top = 50%-100
 
        width = 600
 
        height = 300
 
 
 
        selected_item_color = "#0000FF"
 
        selected_item_pixmap_style = "button_*.png"
 
}
 
 
[[Image:grub2-guide-bootmenu-selected-box-en.png]]
 
 
===Оформление меню - <tt>menu_pixmap_style</tt>===
 
Оформление меню отображается ВНУТРИ, определённого координатами прямоугольника. Размер оформления расчитывается из количества элементов меню.
 
(элементы меню отображаются в центральной области оформления) Несколько сложнее размер расчитывается при использовании панели прокрутки. (смотри [[#scrollbar_frame, scrollbar_thumb, scrollbar_width, scrollbar - scrollbar settings|ниже]])
 
 
===Отступы - <tt>item_padding</tt>===
 
Устанавливает печатную область для элементов загрузочного меню - прямоугольник, внутри центральной области графического оформления (или всей области элемента
 
меню если не установленно оформление), с отступом <tt>item-padding</tt> от каждой стороны области (или сторон всего елемента если не установленно оформление).
 
 
Заметьте, что <tt>item_padding</tt> не меняет отображения панели прокрутки. Изменяйте вместе и графическое оформление меню и оформление панели прокрутки, если нужно
 
изменить отступы для панели прокрутки (например вы можете добавить прозрачные точки к изображениям соответствующих областей).
 
 
===Составление елементов меню - <tt>height, item_height, item_spacing</tt>===
 
Расстояние между нижними границами элементов меню всегда равно <tt>item_height + item_spacing</tt>. (смотри картинку)
 
 
Заметьте, что в формулу расчёта расстояния между элементами включены размеры рамки оформления меню и свойство<tt>item_padding</tt>,
 
но исключены свойства <tt>pad_top</tt> и <tt>pad_bottom</tt>. (смотри картнку)
 
 
Свойство меню <tt>height</tt> расчитывается по формуле:
 
<tt>2*item_padding + menu_pad_top + menu_pad_bottom + (N - 1)*(item_height + item_spacing) + pad_top + pad_bottom + item_height - 1</tt>,
 
где N - это число элементов которые дожны быть видны в списке меню.
 
 
Так-же обратите внимание, что количество видимых элементов в меню N не может быть меньше 3-х.
 
 
Если высота меню меньше размера расчитаного по этой формуле, количество элементов меню достаточно велико и выбран самый нижний элемент меню,
 
тогда графическое оформление выбранного элемента не отобразится полностью. Если же высота меню больше, елементов меню достаточно и выбран самый
 
нижний элемент, тогда нижняя граница панели прокрутки не будет отображаться вровень с оформлением нижнего(выбранного) элемента меню.
 
 
+ boot_menu {
 
        left = 50%-300
 
        top = 50%-100
 
        width = 600
 
        height = 289
 
   
 
        selected_item_color = "#0000FF"
 
        selected_item_pixmap_style = "button_*.png"
 
 
        menu_pixmap_style = "inbox_*.png"
 
 
        item_padding = 20
 
       
 
        item_spacing = 20
 
        item_height = 30
 
}
 
Высота расчитана согласно приведённой формуле.
 
 
[[Image:grub2-guide-bootmenu-vertical-scheme.png]]
 
 
===Иконки и их расположение - <tt>icon-width, icon-height, item_icon_space</tt>===
 
 
По умолчанию,
 
icon_width = 32
 
icon_height = 32
 
item_icon_space = 4
 
 
Текст отображается исходя из отступа <tt>icon_width + item_icon_space</tt> от левой границы элемента.
 
Другими словами, независимо от того отображается ли иконка - с левой стороны всегда зарезервированно для неё поространство.
 
 
Если такое поведение нежелательно вы можете установить для свойства <tt>icon_width</tt> значение <tt>null</tt> и выставить желаемое значение размера иконки <tt>item_icon_space</tt>.
 
Так-же, обратите внимание на то, что после этих установок ширина элемента меню уменьшится на 2-е точки. Если вы не зададите новый размер - это станет видно возле правой области оформления.
 
С правой стороны центральной области элемента появится пустое пространство шириной в две точки.
 
 
Заметьте, что символы шрифта могут содержать пустые точки с любой стороны. К примеру в нашей тестовой схеме, расстояние от левой границы элемента
 
равно 36-и точкам по умолчанию (<tt>icond_width + item_icon_space</tt>). Но у нас, расстояеие до ближней точки первого символа, равно 37-и точкам.
 
 
[[Image:grub2-guide-bootmenu-icon-space.png]]
 
 
===Использование иконок===
 
 
Если вы хотите использовать иконки вам необходимо создать папку <tt>image</tt> в папке темы.
 
После этого сохраните иконки в формате <tt>png</tt> и положите их в эту папку. Имена файлов иконок должны соответствовать определённым классам.
 
 
Базовые классы:
 
* windows > os
 
* gnu-linux > gnu > os
 
* osx > darwin > os
 
* hurd > gnu > os
 
 
Классы с высоким приоритетом находятся слева. Если иконка <tt>windows.png</tt> присутствует, то она будет отображена, а иконка <tt>os.png</tt> - нет.
 
 
Так же, будет доступен класс основной системы, согласно имени.(основная систеа в этом случае - это система где был вызван скрипт <tt>update-grub2</tt>). Этот класс имеет  более высокий приоритет чем <tt>gnu-linux</tt>.
 
 
К примеру для системы ROSA Linux этим классом будет "<tt>rosa</tt>". Вы можете найти классы в файле <tt>/boot/grub2/grub.cfg</tt>.
 
 
С заплаткой используемой в ROSA такой класс будет выведен для всех других установленных систем на любом обычном компьютере.
 
 
===Настройки полосы прокрутки - <tt>scrollbar_frame, scrollbar_thumb, scrollbar_width, scrollbar</tt>===
 
 
Давайте посмотрим подробное описание панели прокрутки.
 
 
* Используйте для оформления <tt>scrollbar_thumb</tt> только области север, юг и центр.
 
 
* Для <tt>scrollbar_frame</tt> можно использовать все 9 областей оформления.
 
 
* Можно увеличить отступ от любого края панели прокрутки, добавив прозрачных точек в изображение соответствующей области.
 
 
* Полоса прокрутки отображается в центральной области области оформления панели с правого краю. Если для меню нет графического оформления или нет восточной области в оформлении меню, полоса прокрутки не будет отображаться.
 
 
* Полоса прокрутки отображается только когда она необходима.
 
 
* Заметьте что ширина загрузочного меню при отображении прокрутки уменьшена на 2-е точки (от общей ширины). И за этого, расстояние между элементами меню
 
и панелью прокрутки всегда составляет не менее двух точек.
 
 
* Нобходимо устанавливать и <tt>scrollbar_frame</tt> и <tt>scrollbar_thumb</tt>. Если одно из этих свойст не установленно то панель прокрутки не отобразится.
 
 
* Ширина <tt>scrollbar_frame</tt> и ширина <tt>scrollbar_thumb</tt> может различаться.
 
 
* Оформление <tt>scrollbar_frame</tt> отображается в восточной области оформления меню. Полоса прокрутки <tt>scrollbar_thumb</tt> отображается в цетральной
 
области панели прокрутки <tt>scrollbar_frame</tt>.
 
 
* <tt>scrollbar_width</tt> - ширина панели. Обозначает ширину центральной области <tt>scrollbar_frame</tt>. Если сумма <tt>scrollbar_width</tt> и ширин восточной
 
и заподной областей <tt>scrollbar_frame</tt> меньше чем ширина восточной области меню, тогда панель прокрутки не отобразится соовсем.
 
 
* Можно установить значение <tt>false</tt> для <tt>scrollbar</tt>. В этом случае, панель не будет отображена. Или же можно просто не устанавливать
 
значения свойств <tt>scrollbar_thumb</tt> и <tt>scrollbar_frame</tt>.
 
 
* Как упоминалось ранее, <tt>item_padding</tt> не изменяет вид панели.
 
 
В этом примере нет дополнительных прозрачных точек в изображении панели, восточной области оформления меню.
 
+ boot_menu {
 
        left = 50%-300
 
        top = 50%-100
 
        width = 600
 
        height = 289
 
       
 
        selected_item_color = "#0000FF"
 
        selected_item_pixmap_style = "button_*.png"
 
       
 
        menu_pixmap_style = "inbox_*.png"
 
     
 
        item_padding = 20
 
       
 
        item_height = 30
 
        item_spacing = 20
 
       
 
        scrollbar_thumb = "scrollbar_thumb_*.png"
 
        scrollbar_frame = "scrollbar_frame_*.png"
 
        scrollbar_width = 10
 
}
 
 
Как видно, панель не отобразилась полностью.
 
 
[[Image:grub2-guide-bootmenu-scrollbar-incorrect-menu-box.png]]
 
 
В этом примере мы изменили изображения графического оформления меню. В дальнейшем мы будем использовать эти настройки меню.
 
<tt>boot_menu</tt>.
 
+ boot_menu {
 
        left = 50%-300
 
        top = 50%-100
 
        width = 600
 
        height = 289
 
       
 
        selected_item_color = "#0000FF"
 
        selected_item_pixmap_style = "button_*.png"
 
       
 
        menu_pixmap_style = "menu_*.png"
 
     
 
        item_padding = 20
 
       
 
        item_height = 30
 
        item_spacing = 20
 
       
 
        scrollbar_thumb = "scrollbar_thumb_*.png"
 
        scrollbar_frame = "scrollbar_frame_*.png"
 
        scrollbar_width = 10
 
}
 
 
Теперь панель отображается правильно. Так-же мы видим, что <tt>item_padding</tt> не влияет на панель.
 
 
[[Image:grub2-guide-bootmenu-scrollbar-menu-box.png]]
 
 
==="Не показывай меню" - <tt>visible</tt>===
 
Можно установить значение <tt>false</tt> для свойства <tt>visible</tt>. В этом случае меню не отобразится. Или можно просто не описывать элемент<tt>boot_menu</tt> в файле.
 
 
<br>
 
 
=='''Горизонтальный индикатор осчёта - <tt>progress_bar</tt>'''==
 
[[Grub2 theme / reference#Horizontal indicator of elapsed time (progress_bar)| подробней]]
 
 
Этот элемент отображает оствшееся до загрузки "по умолчанию", время.
 
 
Отсчёт начинается с ненулевой длинны.
 
 
===Координаты и размеры прямоугольника - <tt>left, top, width, height</tt>===
 
Обязательные параметры. Не забудьте их задать.
 
 
Обратите внимание, что если <tt>width</tt> и/или <tt>height</tt> меньше необходимого для отображения текста, тогда <tt>width</tt> и/или <tt>height</tt> будут автоматически увеличены.
 
 
===Индефикатор - <tt>id</tt>===
 
Для отображения осчёта (графической полосой или текстом) нужно установить определённое значение для <tt>id</tt>.
 
id = "__timeout__"
 
 
===Отображение текста на панели индикатора - <tt>text</tt>===
 
Вывод текста на панели индикатора.
 
Есть несколько особых определённых значений. У них свой особый смысл и перевод на разные языки.
 
 
* @TIMEOUT_NOTIFICATION_SHORT@ для "N"
 
* @TIMEOUT_NOTIFICATION_MIDDLE@ для "N осталось."
 
* @TIMEOUT_NOTIFICATION_LONG@ для "Подсвеченный выбор будет запущен через N секунд."
 
<tt>N</tt> это колличество секунд до запуска выбранного варианта загрузки. Строчка обновляется каждую секунду.
 
Можно установить свою строку.
 
 
===Шрифт и цвет текста - <tt>text-color, font</tt>===
 
Шрифт и цвет текста для текстовой строки индикатора.
 
 
Подробее про создание шрифта смотрите в руководстве [[#Font creation guide|Создание шрифта]]
 
 
===Сплошные цвета и графические режимы оформления===
 
 
Для оформления есть два свойства:
 
 
* mono-color режим - области окрашены заданными цветами и границами шириной в 1-у точку.
 
* graphical режим - с отображением графического оформления
 
 
Если свойству будет указан режим, то при отображении будет использован указанный режим. В противном случае, режим режим будет выбран в зависимости от использованных свойств.
 
Подробней смотрите ниже.
 
 
===Для mono-color режима - <tt>bg_color, fg_color, border_color</tt> ===
 
 
+ progress_bar {
 
        left = 50%-300
 
        top = 50%+200
 
        width = 600
 
        height = 50
 
     
 
        id = "__timeout__"
 
        text = "@TIMEOUT_NOTIFICATION_LONG@"
 
     
 
        border_color = "white"
 
}
 
 
В данном примере используются стандартные значения:
 
 
bg_color = "128, 128, 128"
 
fg_color = "200, 200, 200"
 
 
[[Image:grub2-guide-progress-bar-mono-en.png]]
 
 
===Для graphical режима - <tt>bar_style, highlight_style</tt>===
 
 
Рекомендуется использовать только центральную область для <tt>highlight_style</tt>. В противном случае индикатор осчёта будет отображаться неправильно.
 
 
Обратите внимание, что использование любого из этих параметров включит режим графического оформления.
 
 
+ progress_bar {
 
        left = 50%-300
 
        top = 50%+200
 
        width = 600
 
        height = 50
 
     
 
        id = "__timeout__"
 
        text = "@TIMEOUT_NOTIFICATION_LONG@"
 
     
 
        bar_style = "inbox_*.png"
 
        highlight_style = "progress_*.png"
 
}
 
 
[[Image:grub2-guide-progress-bar-styled-en.png]]
 
 
===Удаление оформления===
 
 
Если вы хотите удалить оформление, так что-бы отображался только текст, нужно установить равные значения для свойств <tt>bar_style</tt> и <tt>highlight_style</tt>.
 
Значение может быть любой текстовой строкой. Не обязательно значению быть именем действительно существующего графического оформлениея.
 
The value can be any text value. This is not necessary for the value to be the name of some real graphical decoration.
 
 
Значение должно содержать символ "<tt>*</tt>".
 
 
В следующем примере цвет текста белый "white".
 
 
+ progress_bar {
 
        left = 50%-300
 
        top = 50%+200
 
        width = 600
 
        height = 50
 
     
 
        id = "__timeout__"
 
        text = "@TIMEOUT_NOTIFICATION_LONG@"
 
     
 
        text_color = "white"
 
     
 
        bar_style = "*"
 
        highlight_style = "*"
 
}
 
 
[[Image:grub2-guide-progress-bar-only-text-en.png]]
 
 
===Не отображать индикатор отсчёта - <tt>visible</tt>===
 
 
Этому свойству можно установить значение <tt>false</tt>. В этом случае индикатор не будет отображён. По другому - можно просто не использовать элемент <tt>progress_bar</tt> в главном файле оформления.
 
 
<br>
 
 
=='''Круговой индикатор отсчёта - <tt>circular_progress</tt>'''==
 
[[Grub2 theme / reference#Circular indicator of elapsed time (circular_progress)| подробней]]
 
 
Круговой индикатор отображает время осчёта до запуска выбранного элемента меню в виде картинки.
 
 
Осчитываемое время отображается в виде тактов/картинок такта.
 
 
Если <tt>ticks_disappear</tt> не установлен то индекатор будет заполняться тактами до полного круга (по часовой стрелке).
 
 
Если <tt>ticks_disappear</tt> установлен то такты будут исчезать.
 
 
Значение колличества тактов всегда меньше колличества рисунков такта на 1 (ноль - тоже значение). Некоторое колличество тактов может быть отобразено с самого начала работы индикатора. (индикатор начинает работать с ненулевого значения)
 
 
===Координаты и размеры индикатора (прямоугольные) - <tt>left, top, width, height</tt>===
 
Обязательные параметры.
 
 
Желательно установить значения для ширины и высоты схожими. Подробную информацию о круговых координатах смотри [[#center_bitmap, tick_bitmap - images for the circular progress indicator | ниже]].
 
 
===Идентификатор - <tt>id</tt>===
 
Для отобразения отсчёта необходимо установить предопределённое значения для <tt>id</tt>.
 
id = "__timeout__"
 
 
===Изображения для кругового индикатора - <tt>center_bitmap, tick_bitmap</tt>===
 
 
Центральная область оформления не может быть масштабированна или повёрнута. Она отображается в центре заданной прямоугольной области элемента. Если изображение меньше чем прямоугольник тогда часть изображения не отобразится. Это фон индикатора.
 
 
Изображение такта так-же не масштабируется и не поворачивается. Оно несколько раз рисуется по кругу. круг вписан в заданный прямоугольник.
 
 
Желательно использовать квадратные изображения (одинаковые ширина и высота).
 
 
Расчёт производится из ширины фона и ширины такта. Если ширина элемента больше чем его высота то часть тактов не отобразится.
 
 
[[Image:grub-guide-circular-wrongwidth.png]]
 
 
Если высота больше ширины, такты будут отрисованны не полностью.
 
 
[[Image:grub-guide-circular-wrongtickheight.png]]
 
 
Рекомендуется сделать ширину такта с тем же отношением точек, что и у основного элемента. (только в этом случае изображение будет отображаться симметрично)
 
 
===Настройка кругового осчёта<tt>num_ticks, start_angle, ticks_disappear</tt>===
 
 
<tt>num_ticks</tt> - количество тактов для заполнения индикатора.
 
 
<tt>start_angle</tt> - начальный угол. (начинается с оси X). Угол измеряется в "попугаях". Один "попугай" - <tt>1/256</tt> полного круга. Тогда <tt>-90</tt> градусов (или <tt>-&pi;/2</tt>) будет <tt>-64</tt> "попугая".
 
 
<tt>tick_bitmap</tt> отображается без изменений (без поворотов и масштабирования) и углы измеряются (по алгоритму) в "попугаях". Так что желательно установить <tt>num_ticks</tt> со значениями равными N-ая степень 2-х. В этом случае получится симметричное и гладкое изображение.
 
 
<tt>ticks_disappear</tt> - по умолчанию такты появляются.
 
 
[[Image:grub-guide-ticks-appear.png]]
 
 
Можно установить значение <tt>true</tt> для свойства <tt>ticks_disappear</tt>. В этом случае такты исчезают до тех пор пока их не останется.
 
 
ticks_disappear = "True"
 
 
[[Image:grub-guide-ticks-disappear.png]]
 
 
Обратите внимание, что число отображаемых тактов всегда меньше на 1.
 
 
===Пример===
 
+ circular_progress {
 
        left = 50%-450
 
        top = 50%+310
 
        id = "__timeout__"
 
        width = 51
 
        height = 51
 
        center_bitmap = "center.png"
 
        tick_bitmap = "tick.png"
 
        num_ticks = 8
 
}
 
 
[[Image:grub-guide-circular.png]]
 
 
<br>
 
 
=='''Текстовая строка - <tt>label</tt>'''==
 
[[Grub2 theme / reference#Text string (label) | подробнее]]
 
 
Можно отобразить текстовую строку исползуя элемент<tt>label</tt>.
 
 
Если указанны особые значения для <tt>id</tt> и <tt>text</tt> то будет показан остаток времени до запуска выбранного элемента меню.
 
 
Заметьте, что нет механизма переноса строки. Если длинна строки текста больше чем прямоугольная область тогда ширина области будет автоматически увеличена.
 
 
===Координаты и размер прямоугольника - <tt>left, top, width, height</tt>===
 
Обязательные свойства. Не забывайте указывать их.
 
 
Обратите внимание что <tt>width</tt> используется только для выравнивания если свойству <tt>align</tt> указано значение <tt>"center"</tt> или <tt>"right"</tt>.
 
 
И ещё заметьте, что <tt>height</tt> не используется.
 
 
===Цвет и шрифт текста - <tt>font, color</tt>===
 
Цвет и шрифт текста.
 
 
Смотрите подробнее в руководстве [[#Font creation guide|Создание шрифта]]
 
 
===Выравнивание - <tt>align</tt>===
 
Доступно три верных значения:
 
* left - выравнивание текста по левому краю.
 
* center - выравнивание текста по центру.
 
* right - выравнивание текста по левому краю.
 
 
===Отображение истёкшего времени до загрузки по умолчанию===
 
Для отображения истёкшего времени до загрузки нужно установить особое значение для <tt>id</tt> и свойство <tt>text</tt> не должно присутствовать в описании элемента в основном файле оформления.
 
 
+ label {
 
        left = 50%-350
 
        top = 50%+260
 
        height = 30
 
        width = 30
 
     
 
        id = "__timeout__"
 
     
 
        color = "white"
 
}
 
 
[[Image:grub-guide-label-timeout.png]]
 
 
===Отображённый текст - <tt>text</tt>===
 
Можно вывести любое сообщение.
 
Есть несколько значений:
 
* @KEYMAP_SHORT@ для "enter: boot, `e': options, `c': cmd-line"
 
* @KEYMAP_MIDDLE@ для "Нажмите enter для загрузки выбранной ОС, `e' для редактирования команы загрузки или `c' для запуска коммандной строки."
 
* @KEYMAP_LONG@ для "Нажмите enter для загрузки выбранной ОС, `e' для редактирования команы загрузки или `c' для запуска коммандной строки. ESC для возврата в предыдущее меню."
 
 
Особые значения переведены для языков, исползующихся в GRUB.
 
 
Заметьте, что нет механизма перевода строки и ширина текстовой строки ограничена.
 
 
===Пример <tt>text</tt> с обычными значениями===
 
+ label {
 
        left = 50%-300
 
        top = 50%+220
 
        height = 30
 
        width = 600
 
     
 
        color = "white"
 
     
 
        align = "right"
 
     
 
        text = "Some text."
 
}
 
 
[[Image:grub-guide-label-text.png]]
 
 
===Пример <tt>text</tt> с особыми значениями===
 
+ label {
 
        left = 50%-300
 
        top = 50%+220
 
        height = 30
 
        width = 600
 
     
 
        color = "cyan"
 
     
 
        align = "center"
 
     
 
        text = "@KEYMAP_SHORT@"
 
}
 
 
[[Image:grub-guide-label-special.png]]
 
 
<br>
 
 
==''' Изображение - <tt>image</tt>'''==
 
[[Grub2 theme / reference#Image file (image) | подробней]]
 
 
На экране может присутствовать изображение.
 
 
Если высота изображения больше установленной тогда значение будет установленно исходя из размера изображения в файле. То-же самое верно и для ширины изображения.
 
Если установленные ширина или высота больше чем настоящий размер изображения, то изображение будет растянуто до установленного размера.
 
 
===Координаты и размер прямоугольника - <tt>left, top, width, height</tt>===
 
Обязательные свойства. Не забывайте устанавливать их.
 
 
Если нужно отобразить картинку в неизменённом виде то не устанавливайте свойства <tt>width</tt> и <tt>height</tt>. Они будут установленны автоматически.
 
 
===Полный путь к файлу изображения - <tt>file</tt>===
 
Полный путь к файлу изображения.
 
 
<br>
 
 
=='''Вертикальный ящик - <tt>vbox</tt>'''==
 
[[Grub2 theme / reference#Vertical box (vbox) | подробней]]
 
 
Хранилище. Родительский элемент содержащий дочерние элементы.
 
 
===Координаты и размеры прямоугольника - <tt>left, top, width, height</tt>===
 
Не забудьте установить свойства <tt>left</tt> и <tt>top</tt>. Свойства <tt>height</tt> и <tt>width</tt> не будут приняты во внимание и определяются автоматически.
 
 
===Составление элементов===
 
 
Элементы содержащиеся в вертикальном яшике отображеются последовательно, сверху вниз, столбцом.
 
Нет необходимости устанавливать свойства <tt>left</tt> и <tt>top</tt> для дочерних элементов. Они не будут приняты во внимание.
 
 
Сперва находится самый широкий дочерний элемент, после чего ширина всех дочерних элеметов и ящика приравнивается к ширене найденого.
 
Значения высоты дочерних элементов не изменяется.
 
 
===Пример===
 
 
+ vbox {
 
        left = 50%+310
 
        top = 50%-50
 
        width = 20
 
        height = 100
 
     
 
#D1
 
        + image { left = 50 top = 10 width = 60 height = 60 file = "center.png" }
 
#D2
 
        + image { left = 40 top = 20 width = 70 height = 70 file = "button_n.png" }
 
}
 
 
[[Image:grub-guide-vbox-layout.png]]
 
 
<br>
 
 
=='''Горизонтальный ящик - <tt>hbox</tt>'''==
 
[[Grub2 theme / reference#Horizontal box (hbox) | подробней]]
 
 
Хранилище. Родительский элемент содержащий дочерние элементы.
 
 
===Координаты и размер прямоугольника - <tt>left, top, width, height</tt>===
 
Не забудьте установить свойства <tt>left</tt> и <tt>top</tt>. Свойства <tt>height</tt> и <tt>width</tt> не будут приняты во внимание и определяются автоматически.
 
 
===Составление элементов===
 
 
 
Элементы содержащиеся в горизонтальном яшике отображеются последовательно, слева направо, в строчку.
 
Нет необходимости устанавливать свойства <tt>left</tt> и <tt>top</tt> для дочерних элементов. Они не будут приняты во внимание.
 
 
Сперва находится самый высокий дочерний элемент, после чего высота всех дочерних элеметов и ящика приравнивается к высоте найденого.
 
Значения ширины дочерних элементов не изменяется.
 
 
===Пример===
 
 
+ hbox {
 
        left = 300
 
        top = 50%+310
 
        width = 20
 
        height = 100
 
     
 
#D1
 
        + image { left = 50 top = 10 width = 60 height = 60 file = "center.png" }
 
#D2
 
        + image { left = 40 top = 20 width = 70 height = 70 file = "button_n.png" }
 
}
 
 
 
[[Image:grub-guide-hbox-layout.png]]
 
 
<br>
 
 
=='''Холст- <tt>canvas</tt>'''==
 
[[Grub2 theme / reference#Canvas (canvas) | подробней]]
 
 
Хранилище. Родительский элементь содержащий дочерние элементы. Координаты дочерних элементов - относительны. Таким образом значения(0,0) для дочернего элемента - координаты верхнего левого угла родительского элемента.
 
 
Корневой элемент - экземпляр элемента типа "холст".
 
 
===Координаты и размер прямоугольника - <tt>left, top, width, height</tt>===
 
Обязательные свойства. Не забудьте установить их.
 
 
<br>
 
 
='''Общие особенности'''=
 
 
Общие особенности не относятся к конкретным объектам.
 
 
=='''Порядок отображения элементов'''==
 
 
Элементы отрисовываются последовательно, сверху вниз, в вертикальном ящике.
 
Элементы отрисовываются последовательно, слева направо, в горизонтальном ящике.
 
 
Дочерние элементы для холста отрисовываются в обратном порядке. Если в главном файле оформления элемент А расположен перед элементом Б, тогда элемент А будет отрисован после элемента Б.
 
 
=='''Область отрисовки элемента'''==
 
 
Для каждого элемента определена область отрисовки. Она устанавливается свойствами <tt>left</tt>, <tt>top</tt>, <tt>width</tt>, <tt>height</tt>.
 
 
Всё, что пересекает назначенную область не будет отрисованно.
 
 
=='''Наименьший размер элемента'''==
 
 
Для каждого элемента есть функция определяющая минимальный размер прямоугольника, достаточного для отрисовки элемента. Если установленная ширина(высота) меньше допустимого значения тогда ширина(высота) будет установленна в минимальное значение
 
 
=='''Что если число значения неправильное?'''==
 
[[Grub2 theme / reference#Numeric  | Описание численных значений.]]
 
 
Одратите внимание, что абсолютные и относительные значения расщитываются относительно родительского элемента.
 
 
В
 
Lets call width and height of the parent container <tt>parent_width</tt> and <tt>parent_height</tt> correspondingly.
 
 
Если значение <tt>left</tt> или <tt>top</tt> негоатвное - будет присвоено значение 0.
 
 
Если значение <tt>left</tt> + <tt>width</tt> больше чем значение <tt>parent_width</tt> тогда свойству <tt>width</tt> будет присвоено значение <tt>parent_width - left</tt>. Таким образом, правая граница элемента будет совпадать с правой границей родительского элемента.
 
 
Если значение <tt>top</tt> + <tt>height</tt> больше значения <tt>parent_height</tt> тогда свойству <tt>height</tt> будет присвоено значение <tt>parent_height - top</tt>. Таким образом, верхняя граница элемента будет совпадать с верхней границей родительского элемента.
 
 
Можно использовать эту особенность для достижения нужной компановки элеметов при разных разрешениях экрана.
 
 
=='''Выбор символа'''==
 
 
Шрифт элемента описывается в основном файле темы оформления. Если нет нужного шрифта или шрифт не содержит нужного символа, будет использован наиболее подходящий символ из другого шрифта (присутствующего в оформлении).
 
 
К примеру символы рамки не присутствуют в некоторых шрифтах. Если мы выберем такой шрифт для коммандной строки консоли тогда символ рамки будет взят из другого шрифта. Знание этой особенности поможет избежать непонимания в случае неожиданного результата. (к примеру символ пунктирной рамки или символ вопроса вместо символа рамки)
 
 
<br>
 
 
='''Руководство по созданию шрифта'''=
 
[[Grub2 theme / reference#Font name  | подробнее]]
 
 
GRUB использует свой собственный формат шрифта. Нужный шрифт может быть создан при помощи программы <tt>grub-mkfont</tt>.
 
После создания шрифта и помещения его в папку оформления нужно запустить скрипт <tt>grub2-update</tt> для внесения изменений.
 
 
=='''Создание шрифта при помощи <tt>grub2-mkfont</tt>'''==
 
 
GRUB не использует кернинг. (изменение расстояния между символами в случае некоторых комбинаций символов).
 
 
Созданный программой файл шрифта должен обладать расширением <tt>.pf2</tt>
 
 
Синтаксис команды: <tt>grub2-mkfont INPUT_FONT [optional parameters] -o OUTPUT_FONT</tt>
 
 
Созданный программой файл должен лежать в папке темы оформления.
 
 
=='''Установки <tt>grub2-mkfont</tt>'''==
 
 
===<tt>--output, -o</tt>===
 
 
Необходимый параметр. Имя выходного файла. Должно содержать расширение <tt>.pf2</tt>, для того что бы его мог использовать GRUB.
 
 
===<tt>--verbose, -v</tt>===
 
 
grub2-mkfont DroidSansMono.ttf -o tmp.pf2 -v
 
Font name: Droid Sans Mono Regular 16
 
Max width: 13
 
Max height: 17
 
Font ascent: 17
 
Font descent: 5
 
Number of glyph: 591
 
 
Выводит информацию о созданном файле шрифта.
 
Выводит имя шрифта, ширину и высоту символов, подём и спуск сиволов, количество символов.
 
 
===<tt>--name, -n</tt>===
 
 
устанавливает название шрифта.
 
 
По умолчанию, название назначается автоматически по шаблону: FONT_NAME TYPE SIZE
 
 
===<tt>--size, -s</tt>===
 
 
Устанавливает размер шрифта в точках.
 
По умолчанию значение равно 16 точек.
 
 
===<tt>--bold, -b</tt>===
 
 
Выводит шрифт с толсым стилем.
 
По умолчанию используется обычный стиль.
 
 
===<tt>ascent</tt>, <tt>descent</tt> of the font===
 
[[Image:grub-guide-font-scheme.png]]
 
 
--asce, -c
 
Подъём шрифта (смотри картинку)
 
 
--desc, -d
 
Спуск шрифта (смотри картинку)
 
 
Можно установить эти параметры для достижения большего/меньшего пространства между строками, для выравнивания строки. (смотри картинку) Используя эти параметры нужно быть очень внимательным - все ли символы отображаются верно в оформлении меню.
 
 
===Выбор перечня символов для создания шрифта===
 
Можно выбрать перечень символов для внесения их в файл шрифта.
 
 
--ascii-bitmaps
 
Использовать для шрифта только символы ascii.
 
 
--range, -r
 
для указания определённого перечня символов (от и до)
 
 
<br>
 
 
='''Свойста устанавливаемые вне главного файла темы <tt>theme.txt</tt>'''=
 
 
Настройки, которые устанавливаются не в файле темы.
 
 
=='''Файл <tt>/etc/default/grub</tt>'''==
 
 
===GRUB_THEME===
 
 
Полный путь к файлу темы оформления.
 
 
===GRUB_BACKGROUND===
 
 
Полный путь к файлу изображения для фона консоли. Это изображение не должно содержать прозрачность (альфа-канал). Изображение растягивается на всю область консоли. (помните о границах в 3 точки)
 
 
===LANG и LANGUAGE===
 
 
Если нужно установить язык используемый в загрузчике GRUB необходимо установить оба свойства с одинаковым значением.
 
 
Может быть использовано разное написание: <tt>en</tt>, <tt>en_US</tt>, <tt>en_US.UTF-8</tt>.
 
 
<br>
 
 
<br><br>
 
Author: Vladimir Testov, ROSA, 2013.
 
Перевод: Василий подворняк, 2015.
 
[[en:Grub2 theme tutorial]]
 
[[ru:Grub2 (руководство по созданию темы оформления)]]
 

Latest revision as of 10:52, 13 August 2015