Однако, часто пользователи нетбуков получают совсем не то что хотелось - все же 1024x600 не совсем стандартное разрешение. Я расскажу о том, как создать красивый фон в GRUB для любого экрана.
Подготовка
Для начала необзодимо оговориться, что фоновое изображение можно использовать только в grub-gfx, простой grub проигнорирует эту опцию. Поэтому для начала сделаем резервную копию настроек GRUB:
sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup
Затем установим пакет grub-gfx (название пакета приведено как оно есть в ArchLinux и может отличаться в разных дистрибутивах).Для ArchLinux:
pacman -S grub-gfx
или, для пользователей yaourt:yaourt -S grub-gfx
Для Debian-based дистрибутивов:
apt-get install grub-gfx
или, тем у кого установлен aptitude:aptitude install grub-gfx
Теперь восстановим настройки GRUB:
mv /boot/grub/menu.lst.backup /boot/grub/menu.lst
Создание splash-изображения
Допустим, я хочу сделать фоновой картинкой обоину Air из релиза KDE4.3. Конечно, в идеале следует взять изображение совпадающее с разрешением вашего экрана - тогда его не нужно будет обрезать и оно не деформируется из-за растяжения по вертикали. Однако мир не идеален. Поэтому я выбираю вариант этой картинки с наиболее подходящим мне разрешением - 1920x1080. Отношение сторон здесь 1.7(7), тогда как у экрана 1024x600 соотношение будет 1.706. Довольно близко.
Однако, есть одна важная деталь -- GRUB имеет ограничение в параметрах графического файла. Файл должен быть в формате XPM, иметь всего 14 цветов и быть разрешением в 640x480 точек. Для подгонки вашего изображения под заданные параметры можно использовать любой графический редактор (файлы, сделанные в GIMP не подходят для использования в GRUB, поэтому придется поискать плагин для конвертирования в XPM, который GRUB будет понимать). Однако, все упрощается с Imagemagick. Итак, допустим что исходный файл называется image.jpg, а его сконвертированный вариант будет называться splash.xpm. Тогда для конвертирования используем команду:
convert -resize 640x480\! -colors 14 image.jpg splash.xpm
где ключ -resize говорит о том, что мы изменяем размер исходного изображения, 640x480\! говорит о том, что новое изображение должно иметь разрешение 640x480, и при изменении размеров необходимо игнорировать соотношение сторон оригинального изображения, -colors 14 говорит что новое изображение должно иметь только 14 цветов.Фактически, эта команда подойдет для любого разрешения экрана и для любого монитора, при условии что изначально было выбрано изображение полностью соответствующее размеру экрана.
Теперь осталось сжать полученное изображение в GZIP архив и переместить поудобнее для GRUB:
1 2 | gzip splash.xpm sudo mv splash.xpm.gz /boot/grub/splash.xpm.gz |
Настройка 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. В появившемся подобии командной строки введите следующее:find /boot/grub/stage1
GRUB выдаст вам именно то, что нужно. Если вариантов больше чем один, то либо вы сами знаете какой выбрать, либо вам лучше спросить у более опытного товарища.
Вот и все. Теперь сохраняемся и закрываем текстовый редактор. Перезагружаемся, и видим нашу красивую* картинку =)
* Чтобы картинка действительно красиво смотрелась необходимо выбирать изначальное изображение в одной цветовой гамме (солнечная дорожка в лесу, голубое небо и вода, серое подземелье или заранее подготовленная картинка, количество цветов на которой не превышает 14).
Комментариев нет:
Отправить комментарий