понедельник, 13 декабря 2010 г.

Фоновое изображение в Grub2

Загрузчик Grub, пожалуй, стал одной из визитных карточек современных версий ОС Linux. В Debian Lenny всё ещё по умолчанию используется старая версия (ныне называемая grub-legacy), в то время как многие дистрибутивы (в частности Убунту и Squeeze) уже перешли на Grub2. Одной из новых особенностей этого мощного загрузчика стала возможность выбора фонового изображения в окне загрузки - мелочь, а приятно.

Стоит сказать, что способы, датированные 2009 годом [1] [2], работоспособность которых была проверена, почему-то перестали действовать после последнего обновления grub (примерно неделю назад). Кроме того, они обладают одним недостатком: каждый раз для смены изображения приходится что-то менять от суперпользователя (проведем аналогию с обоями для рабочего стола - это не очень-то удобно). Так что я предлагаю свой способ, который su потребует только в первый раз.

В консоли в целях проверки пишем: update-grub, при этом сгенерируется заново grub.cfg. У меня вывод был таким:

Generating grub.cfg ...
Found background image: desktop-grub.png
Found linux image: /boot/vmlinuz-2.6.36.2-Horo
Found initrd image: /boot/initrd-2.6.36.2-Horo
Found Microsoft Windows XP Professional RU on /dev/sda1
done


Нас интересует файл, выделенный жирным, он и отвечает за фон.  Чтобы узнать, где он лежит, я воспользовался поиском. Скорее всего, путь к нему

/usr/share/images/desktop-base/desktop-grub.png

При близком рассмотрении оказалось, что это не рисунок png, а символическая ссылка на другой файл; по умолчанию она указывала на spacefun-grub.png  в той же папке. Далее я выбрал свою картинку, "подрезав" её по размеру, и сохранил в домашней папке под именем grub_background.png (grub2 воспринимает tga и png). Выбор папки был мотивирован тем, что для работы в ней не требуются права администратора. Теперь осталось заменить символическую ссылку:

cd /usr/share/images/desktop-base/
rm desktop-grub.png
ln -s /home/evi/grub_background.png desktop-grub.png
update-grub

Если изображение нашлось без ошибок, то всё готово, можно перезагрузиться и полюбоваться. Удобство этого метода в том, что для смены фона теперь нужно будет просто подменить файл в /home, каких-либо манипуляций с конфигами не потребуется.

Симпатично же? 



Примечание: grub умеет самостоятельно масштабировать фоны, но не умеет их кадрировать. В новых версиях по умолчанию уже доступно разрешение 1024x768, как сменить его и цвет шрифта через конфиги, описано по ссылкам в тексте.

Update: было выяснено, что старые инструкции теряют силу после установки пакета desktop-base

Комментариев нет:

Отправить комментарий