Kraplax 14.08.2009 15:15
How-to`s — Настройка фона в GRUB на любом разрешении экрана
Всем хочется иметь красивости на своем компьютере. Особенно приятно, когда друзья, увидевшие ваш новый (или не очень) нетбук при загрузке увидят не скучные буквы на черном фоне, а красивую картинку.Однако, часто пользователи нетбуков получают совсем не то что хотелось - все же 1024x600 не совсем стандартное разрешение. Я расскажу о том, как создать красивый фон в GRUB для любого экрана.
Подготовка
Для начала необзодимо оговориться, что фоновое изображение можно использовать только в grub-gfx, простой grub проигнорирует эту опцию. Поэтому для начала сделаем резервную копию настроек GRUB:
1 |
|
Для ArchLinux:
1 |
|
1 |
|
Для Debian-based дистрибутивов:
1 |
|
1 |
|
Теперь восстановим настройки GRUB:
1 |
|
Создание splash-изображения
Допустим, я хочу сделать фоновой картинкой обоину Air из релиза KDE4.3. Конечно, в идеале следует взять изображение совпадающее с разрешением вашего экрана - тогда его не нужно будет обрезать и оно не деформируется из-за растяжения по вертикали. Однако мир не идеален. Поэтому я выбираю вариант этой картинки с наиболее подходящим мне разрешением - 1920x1080. Отношение сторон здесь 1.7(7), тогда как у экрана 1024x600 соотношение будет 1.706. Довольно близко.
Однако, есть одна важная деталь -- GRUB имеет ограничение в параметрах графического файла. Файл должен быть в формате XPM, иметь всего 14 цветов и быть разрешением в 640x480 точек. Для подгонки вашего изображения под заданные параметры можно использовать любой графический редактор (файлы, сделанные в GIMP не подходят для использования в GRUB, поэтому придется поискать плагин для конвертирования в XPM, который GRUB будет понимать). Однако, все упрощается с Imagemagick. Итак, допустим что исходный файл называется image.jpg, а его сконвертированный вариант будет называться splash.xpm. Тогда для конвертирования используем команду:
1 |
|
Фактически, эта команда подойдет для любого разрешения экрана и для любого монитора, при условии что изначально было выбрано изображение полностью соответствующее размеру экрана.
Теперь осталось сжать полученное изображение в GZIP архив и переместить поудобнее для GRUB:
1 |
|
Настройка GRUB
Отредактируем файл /boot/grub/menu.lst в текстовом редакторе (с правами root) и добавим следующую строку:
splashimage=(hd0,0)/boot/grub/splash.xpm.gzЭта строка предполагает, что ваше изображение называется splash.xpm.gz и помещено в папку /boot/grub/, как это было сделано выше. Однако, никто не мешает вам завести папку /boot/grub/images и зранить в ней различный фоновые изображения, соответственно изменяя пути к ним в файле конфигурации.
Обратите внимание на (hd0,0) - этот параметр может быть у всех разный! Чтобы определить, что нужно писать вам, запустите grub. В появившемся подобии командной строки введите следующее:
1 |
|
GRUB выдаст вам именно то, что нужно. Если вариантов больше чем один, то либо вы сами знаете какой выбрать, либо вам лучше спросить у более опытного товарища.
Кроме параметра splashimage можно указать также hiddenmenu, который скроет с ваших глаз меню выбора загрузки и оставит только красивую картинку. Также, следует быть внимательнее с параметром timout - если он равен 0, то вы скорее всего не успеете насладиться вашим новым изображением даже на секунду. Однако, если выставить этот парамтре слишком большим, то время загрузки увеличится на указанное количество секунд (если, конечно, вы не будете каждый раз вручную выбирать вариант меню).
Вот и все. Теперь сохраняемся и закрываем текстовый редактор. Перезагружаемся, и видим нашу красивую* картинку =)
* Чтобы картинка действительно красиво смотрелась необходимо выбирать изначальное изображение в одной цветовой гамме (солнечная дорожка в лесу, голубое небо и вода, серое подземелье или заранее подготовленная картинка, количество цветов на которой не превышает 14).
В написании статьи мне помог вот этот пост в чьем-то блоге, а также вот эта справка по ImageMagick.

+ 0 -
а можно парочку картинок, как это выглядит ;)
use google, Luke.
http://3.bp.blogspot.com/_zU8neBp72s4/RxcyMuBnb0I/AAAAAAAAAbg/L1Fdag9qlpo/s1600-h/screen6.jpg
http://3.bp.blogspot.com/_zU8neBp72s4/RxcyMuBnb0I/AAAAAAAAAbg/L1Fdag9qlpo/s1600-h/screen6.jpg