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