30/11/2009

Personalizando el arranque de Karmic: grub2

Continuamos con los artículos destinados a conocer y personalizar el proceso de arranque de Karmic, en esta ocasión vamos a ver como personalizar el menú del gestor de arranque Grub2.

Aprenderemos como cambiar la imagen de fondo y los colores de los menús, para darle un aspecto más personal y atractivo que el soso menú en blanco y negro que se instala por defecto. Cuando acabemos nuestro grub2 tendrá un aspecto parecido a este:

Apariencia final del menu modificado de grub2


  • Instalar los paquetes necesarios
Instalaremos todo lo que vamos a necesitar con la orden:
$ sudo aptitude install grub2-splashimages startupmanager


  • Poner una imagen de fondo
Podeis usar cualquier imagen pero ha de estar en formato .tga para que grub2 pueda leerla, además para que se vea correctamente la redimensionaremos a la misma resolución que tengamos grub2. Por defecto usa una resolución de 640x480, pero también soporta 800x600 y 1024x768.

Para cambiar el formato de la imagen a TGA y modificar su resolución podeis usar cualquier programa de retoque fotográfico, yo usé gimp.

Por si teneis algun problema con este paso o no se os ocurre ningún fondo que poner teneis una colección de imágenes en /usr/share/images/grub listas para usarse como fondo de menú. O podeis conseguir impresionantes fondos en www.vladstudio.com. También podeis descargar el mio ya en formato TGA y 800x600 de fantasmas_800x600.tga

Una vez tengamos la imagen con el formato correcto (supongamos que se llama fantasmas_800x600.tga) la copiaremos al directorio de trabajo de grub2:
$ sudo cp fantasmas_800x600.tga /boot/grub

Ahora editamos el script que define el tema de grub por defecto:
$ gksu gedit /etc/grub.d/05_debian_theme

En este archivo localizaremos la linea:
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub.{png,tga} ; do

Y la cambiaremos para que refleje nuestro fondo:
for i in {/boot/grub,/usr/share/images/desktop-base}/fantasmas-800x600.{png,tga} ; do


  • Cambiar los colores del texto
Depende del tipo de fondo que hayamos seleccionado tendremos que elegir unos colores más claros o más oscuros para que podamos leer bien los textos.

En mi caso como uso un fondo oscuro pondré los textos en blanco y como el tono menos presente en la imagen es el verde usaré resaltado en verde.

Para eso volvemos a editar el mismo script de antes:
$ gksu gedit /etc/grub.d/05_debian_theme

Localizaremos las lineas:
set color_normal=black/black
set color_highlight=magenta/black


Y la cambiaremos para que refleje nuestro nuevo juego de colores:
set color_normal=white/black
set color_highlight=white/green


La primera linea define el color de la letra y el fondo del texto normal y la segunda define el color y el fondo del texto seleccionado. Podeis usar cualquier color poniendo su nombre en inglés.


  • Cambiar la resolución del grub2
Finalmente usaremos el programa startupmanager para determinar a que resolución queremos que se muestre nuestro menú (la misma a la que hayamos redimensionado la imagen de fondo):
$ gksu startupmanager

Nos dirigimos a la pestaña Avanzado y curiosamente donde pone Colores del menú del cargador de arranque definimos la resolución que queremos darle al menu:

Definir la resolución deseada para el menú de arranque

Después de esto solo nos quedará reiniciar y disfrutar de nuestro nuevo menú de arranque.


  • Más información
Grub2


  • Artículos relacionados
Personalizando el arranque de Karmic: usplash

3 comentarios :

Veltresnas dijo...

Buen artículo y sencillo de seguir, me quedó a la primera.

Sólo necesito ayuda en una cosa...

Mi menú de inicio se está volviendo más gordo con cada kernel instalado, y ya no puedo editar /boot/grub/menu.lst

¿Dónde edito las entradas del menú ahora?

fosco_ dijo...

Una opción es ir eliminando los kernels q ya no usas, yo recomiendo guardar siempre los dos ultimos. Si por ejemplo tienes el ultimo kernel 2.6.31-16, yo guardaría el -15 y -16 y eliminaría el resto con el gestor de paquetes:

$ sudo aptitude purge linux-image-2.6.31-14-generic

(y lo mismo con todos los que quieras quitar)

Veltresnas dijo...

Entendido y anotado...

Encontré que puedo eliminar entradas en /boot/grub/grub.cfg pero tienes razón, igual es mejor idea mantener únicamente el kernel actual y acaso el penúltimo.