LINUX.ORG.RU

Убрать рамку в GRUB2.

 ,


1

2

Как убрать рамку в GRUB2?
Надо сделать вид в убунтовом GRUB'е таким же как в Fedora...

Вот из такого: http://cdn3.howtogeek.com/wp-content/uploads/2011/02/sshot-3.png
Сделать такое: http://i985.photobucket.com/albums/ae339/nkpnsw/Screenshot-290314-111719_zpse...
(без фона цветов и т.п., просто минималистичный вид, без надписей и уродской рамки).

Поковыряв исходники GRUB2 в Fedora и Ubuntu выяснил что в Fedora добавлены патчи:
1) 0470-Don-t-draw-a-border-around-the-menu.patch

From 7e4ef1b81a27e6e69e5e615a38f9ec10137f43e6 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 16:47:33 -0400
Subject: [PATCH 470/482] Don't draw a border around the menu

It looks cleaner without it.
---
 grub-core/normal/menu_text.c | 38 --------------------------------------
 1 file changed, 38 deletions(-)

diff --git a/grub-core/normal/menu_text.c b/grub-core/normal/menu_text.c
index b6ec32a..faf1d3e 100644
--- a/grub-core/normal/menu_text.c
+++ b/grub-core/normal/menu_text.c
@@ -108,42 +108,6 @@ grub_print_message_indented (const char *msg, int margin_left, int margin_right,
   grub_print_message_indented_real (msg, margin_left, margin_right, term, 0);
 }
 
-static void
-draw_border (struct grub_term_output *term, const struct grub_term_screen_geometry *geo)
-{
-  int i;
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y - 1);
-  grub_putcode (GRUB_UNICODE_CORNER_UL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_UR, term);
-
-  for (i = 0; i < geo->num_entries; i++)
-    {
-      grub_term_gotoxy (term, geo->first_entry_x - 1, geo->first_entry_y + i);
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-      grub_term_gotoxy (term, geo->first_entry_x + geo->entry_width + 1,
-                       geo->first_entry_y + i);
-      grub_putcode (GRUB_UNICODE_VLINE, term);
-    }
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1,
-                   geo->first_entry_y - 1 + geo->num_entries + 1);
-  grub_putcode (GRUB_UNICODE_CORNER_LL, term);
-  for (i = 0; i < geo->entry_width + 1; i++)
-    grub_putcode (GRUB_UNICODE_HLINE, term);
-  grub_putcode (GRUB_UNICODE_CORNER_LR, term);
-
-  grub_term_setcolorstate (term, GRUB_TERM_COLOR_NORMAL);
-
-  grub_term_gotoxy (term, geo->first_entry_x - 1,
-                   (geo->first_entry_y - 1 + geo->num_entries
-                    + GRUB_TERM_MARGIN + 1));
-}
-
 static int
 print_message (int nested, int edit, struct grub_term_output *term, int dry_run)
 {
@@ -396,8 +360,6 @@ grub_menu_init_page (int nested, int edit,
 
   grub_term_normal_color = grub_color_menu_normal;
   grub_term_highlight_color = grub_color_menu_highlight;
-  if (geo->border)
-    draw_border (term, geo);
   grub_term_normal_color = old_color_normal;
   grub_term_highlight_color = old_color_highlight;
   geo->timeout_y = geo->first_entry_y + geo->num_entries
-- 
1.8.2.1

2) 0469-Don-t-print-GNU-GRUB-header.patch
From e600b91cdae6a5e2bbf93f4062a2d005cd5681f3 Mon Sep 17 00:00:00 2001
From: William Jon McCann <william.jon.mccann@gmail.com>
Date: Wed, 15 May 2013 13:53:48 -0400
Subject: [PATCH 469/482] Don't print GNU GRUB header

No one cares.
---
 grub-core/normal/main.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/grub-core/normal/main.c b/grub-core/normal/main.c
index 70f6162..3344e0a 100644
--- a/grub-core/normal/main.c
+++ b/grub-core/normal/main.c
@@ -251,6 +251,7 @@ grub_normal_init_page (struct grub_term_output *term,
  
   grub_term_cls (term);
 
+#if 0
   msg_formatted = grub_xasprintf (msg, PACKAGE_VERSION);
   if (!msg_formatted)
     return;
@@ -274,6 +275,7 @@ grub_normal_init_page (struct grub_term_output *term,
   grub_putcode ('\n', term);
   grub_putcode ('\n', term);
   grub_free (unicode_msg);
+#endif
 }
 
 static void
-- 
1.8.2.1


Соответственно что бы убрать рамку, нужно либо пропатчить GRUB2 в Ubuntu, либо установить левую тему...

Если не ошибаюсь то за отображение меню в GRUB отвечает модуль normal.mod, заменив который, возможно, вид изменится.

Главное я понял что не проглядел параметры отвечающие за отображение меню GRUB, и мне стало ясно «как там все работает».

Изменив вид, отмечу тему как решенную.



Последнее исправление: luminary (всего исправлений: 6)

Ответ на: комментарий от abs

Дело в том что я не вижу никаких параметров, которые могли бы влиять на отображение в grub.cfg. Видимо это где-то еще прописано. Где именно - не знаю, поэтому спрашиваю тут. В info grub очень много всего, возможно там есть ответ на мой вопрос, но я его не нашел. Так же могу сказать что заголовок (GNU GRUB version 2beta3ubuntu1 ну что то типа того лежит в local/ru.mo, и англ. вариант в normal.mod) Как я понимаю это прописано в потроха GRUB'а, как это поеменять? Возможно нужно отключить какой-то модуль, или надо пересобрать. Может кто-то что-то такое делал и знает?

luminary
() автор топика
Ответ на: комментарий от mandala

к тому что бубунта отстаёт по всему софту в версиях, и ядре.Или ты считаешь что в файл граба с 1 дистриба не меняя можно перенести в другой?

erzent ☆☆
()
Ответ на: комментарий от mandala

я последний раз таким занимался в 2008, и после этого я послал деб дистры так далеко, что говорить тут такое нельзя,у меня в дебиане не поднимался интерфейс сетевой при загрузке. Что-то надо было в грабе менять и ещё где то,это было последнее, что я делал тогда с дебианом, и послав его далеко перешёл на опенсус, где моя сетевуха работала из коробки. А не требовала перезапуска части ядра.

erzent ☆☆
()
Ответ на: комментарий от erzent

Ну ты вспомнил. Тут надо просто перетащить настройки “морды” загрузчика с одного дистра на другой.

mandala ★★★★★
()
Ответ на: комментарий от luminary

Конфигурационные файлы тут: /etc/grub.d/* и тут /etc/default/grub. А /boot/grub2/grub.cfg формируется автоматически, вручную его править не нужно.

mandala ★★★★★
()
Последнее исправление: mandala (всего исправлений: 4)
Ответ на: комментарий от mandala

В grub.cfg нет параметров отвечающих за отображение рамки. grub.d тут не поможет. По крайней мере я их не вижу.

Вот 2 файлика grub.cfg: http://lpaste.net/120535 - ubuntu http://lpaste.net/120536 - fedora

А если я не ошибаюсь, то файлики из /etc/grub.d/ и /etc/defaults/grub генерят именно этот grub.cfg

luminary
() автор топика
Ответ на: комментарий от mandala

Это говно я ставить не буду.

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

Да и вообще это не то что мне нужно мне нужно убрать рамку, а кастомайзер этот напихает своих конфигов между грубом и его дефолтными конфигами - зачем лишний хлам в системе?

luminary
() автор топика
Ответ на: комментарий от mandala

Есть, а что? Там почти ничего нет + я его выключил.

luminary
() автор топика

Ну реально раздражает эта убогая рамка, еще больше раздражает то что я не знаю где это выключить.

luminary
() автор топика
Ответ на: комментарий от q11q11

Надо за человека радоваться. У человека всё в жизни прекрасно и он всего добился и теперь у него куча времени, чтобы выпилить рамку в GRUB2.

Вот это я понимаю история успеха.

Deleted
()
Ответ на: комментарий от luminary

видишь, сколько %^!@# понабежало
зачем, вот проблема человека и т.д.
а потом они же и орут, мол, никто ляликсом не пользуется
так сообщество у винды более адекватное

mystery ★★
()

Grub2 поддерживает кастомные темы. Можно нагуглить готовую и подправить/написать свою по образу и подобию.

Deleted
()

Короче груб второй - говно, которое даже настроить на свой вкус нельзя. Что он делает в моём любимом линуксе, где по утверждению линуксоидов можно настроить под себя абсолютно всё?

anonymous
()
Ответ на: комментарий от luminary

Не хочется левых тем - напиши свою с нуля, там вроде не сложно, да и примеров в гугле полно.

Deleted
()

Дык. Патч у тебя есть. Поставь apt-build да собери.

(Это если хочется совсем странного)

Deleted
()
Последнее исправление: ecko (всего исправлений: 1)
Ответ на: комментарий от luminary

А сколько секунд из своей жизни ты ВЫНУЖДЕН созерцать эту наиомерзительнейшую рамку?
При этом она ну просто выбешивает тебя настолько, что ничего делать не можешь?
И мозг сверлит только одна мысль - «выпилить рамку груба»...

q11q11 ★★★★★
()
Ответ на: комментарий от luminary

Ну так у тебя выбор то не большой.

  • Установить свою тему
  • Патчить, как в федоре и самому поддерживать
  • Дать денег мейнтейнеру граба в своем дистре
  • Поменять дистр

Выбирай :)

expelled ★★
()
Ответ на: комментарий от q11q11

Можно хоть лицо разбить фейспалмами, но толку-то? Нравится мне как в федоре сделано, чем плохо то что я хочу что бы что-то было так как мне хочется? Вопрос задал т.к. не знал всей картины работы граба, может кто-нибудь бы подсказал.

P.S. Я уже темой вопрос почти решил.

luminary
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.