Как установить обои в консоли

Здесь описан процесс установки фонового изображения в консоли на примере версий ПО, последних на момент написания статьи. Упор делается на дистрибутив Ubuntu 8.04, но в других дистрибутивах установка должна быть аналогичной.

Инструментарий

Вам понадобятся:

  1. Исходные коды ядра Linux (www.kernel.org)
  2. Патч Spock’а
  3. Набор утилит splashutils, доступный в виде исходных кодов и пакетов
  4. Тестовая тема
Примечание

  • Для установки splashutils из пакетов вам потребуется более новая версия пакета sysv-rc, найти его можно здесь.
  • Утилиты splashutils конфликтуют с usplash и splashy, поэтому их надо удалить.
  • Необходимо убрать модуль vesafb из «черного списка», для этого в файле /etc/modprobe.d/blacklist-framebuffer закомментируйте строку blacklist vesafb:
#blacklist vesafb

Наложение патчей и установка ядра

Распакуйте патчи и исходные коды ядра в папку /usr/src. Далее в терминале выполните:

cd /usr/src/linux-2.6.25
patch -p1 -i ../patch-2.6.25.7
patch -p1 -i ../fbcondecor-0.9.4-2.6.25-rc6.patch

Если Вы самостоятельно ещё ни разу не конфигурировали ядро, то можно скопировать настройки ядра по-умолчанию, в Ubuntu 8.04 для этого выполните:

cp /boot/config-2.6.24-16-generic .config

Теперь нужно отметить необходимые опции ядра, для запуска утилиты настройки в системе должны быть установленны пакеты build-essential и libncurses5-dev:

make menuconfig

Отмечаем следующую опцию:

Device Drivers > Graphics support > Support for framebuffer devices:
 [*] Vesa VGA Graphics Support

Остальные опции в этой секции меню необходимо убрать.

Теперь нужно отметить ещё одну опцию:

Device Drivers > Graphics support > Console display driver support:
 <*> Framebuffer Console support
  [*]   Support for the Framebuffer Console Decorations

Выходим из утилиты настройки, не забывая ответить «Yes» на вопрос о сохранении настроек, выполняем:

make modules bzImage
sudo rm -r /lib/modules/2.6.25.7 (если эта версия ядра устанавливается не впервые)
sudo make modules_install
sudo mkinitramfs -o initrd.img-2.6.25.7 2.6.25.7
sudo cp initrd.img-2.6.25.7 /boot/
sudo cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.25.7 (для архитектуры x86, замените на свою)

Установка тестовой темы

Сначала создайте резервную копию образа initrd.img:

sudo cp /boot/initrd.img-2.6.25.7 /boot/initrd.img-2.6.25.7.bak

Распакуйте тестовую тему в папку /etc/splash и выполните:

sudo splash_geninitramfs -a /boot/initrd.img-2.6.25.7 -r 1400x1050 emergence

Где 1400×1050 замените на разрешение Вашего монитора.

Настройка загрузчика Grub

В файле /boot/grub/menu.lst создайте раздел меню для нового ядра, например:

title      Ubuntu 8.04, kernel 2.6.25.7
root       (hd0,4)
kernel     /boot/vmlinuz-2.6.25.7 root=/dev/sda5 ro quiet splash=verbose,theme:emergence vga=0x348
initrd     /boot/initrd.img-2.6.25.7
quiet

Где «root (hd0,4)» — раздел, на котором находится /boot (sda1 это hd0,0, sda2hd0,1, sdb1hd1,0 и т.д.); «root=/dev/sda5″ — корневой раздел; «splash=verbose,theme:emergence» — здесь параметр verbose показывает, что во время загрузки будут видны системные сообщения, чтобы их не видеть verbose замените на silent, theme — название темы, vga — разрешение монитора, по этой таблице:

    | 640x480  800x600  1024x768 1280x1024 1400x1050
----+------------------------------------------------
256 |  0x301    0x303    0x305    0x307
32k |  0x310    0x313    0x316    0x319
64k |  0x311    0x314    0x317    0x31A
16M |  0x312    0x315    0x318    0x31B      0x348

Теперь можете перезагрузиться в новое ядро, на фоне консоли должен появиться логотип дистрибутива Gentoo.

Создание собственной темы

Здесь описывается процесс создания простейшей темы (просто картинка на фоне), более подробную информацию Вы можете прочитать в файле /usr/share/doc/splashutils/docs/theme_format.gz Создайте в /etc/splash каталог для Вашей темы, а в нём вложенную папку images с картинкой, которую хотите поставить в фон, например /etc/splash/ubuntu/images/ubuntu.jpg (разрешение картинки должно совпадать с разрешением монитора). Теперь в папке /etc/splash/ubuntu создайте файл, имя которого состоит из разрешения Вашего монитора и расширения .cfg (/etc/splash/ubuntu/1400×1050.cfg), со следующим содержанием:

pic=/etc/splash/ubuntu/images/ubuntu.jpg

Установка темы:

Восстановите образ initrd.img:

sudo cp /boot/initrd.img-2.6.25.7.bak /boot/initrd.img-2.6.25.7

Установка собственной темы аналогична установке тестовой:

sudo splash_geninitramfs -a /boot/initrd.img-2.6.25.7 -r 1400x1050 ubuntu

Не забудьте изменить параметр theme в /boot/grub/menu.lst

Установка фона на все консоли

В файл /etc/rc.local добавьте:

splash_manager -c set -t theme --tty=3
splash_manager -c set -t theme --tty=4
splash_manager -c set -t theme --tty=5
splash_manager -c set -t theme --tty=6

Где «theme» замените названием Вашей темы.

Примечание

Если у вас установлены драйвера на видео-карту, то перед выполнением вышеизложенных действий откройте файл /etc/X11/xorg.conf и измените параметр «Driver» на драйвер по-умолчанию для вашей карты («nv» для NVidia, «vesa» для Ati).

Чтобы установить драйвера на видео-карту NVidia в новом ядре удалите пакеты nvidia-glx-new или nvidia-glx-legacy. Затем скачайте драйвера с сайта NVidia, завершите сеанс и перейдите в консоль (ctrl+alt+F1). В консоли выполните (если у Вас KDE, то «gdm» замените на «kdm»):

sudo /etc/init.d/gdm stop
sudo sh NVIDIA-Linux-x86-173.14.09-pkg1.run

И следуйте инструкциям, на вопрос должен ли инсталлятор сконфигурировать файл xorg.conf ответьте No. Далее:

sudo /etc/init.d/gdm start

Откройте файл /etc/X11/xorg.conf и замените параметр «Driver» на «nvidia».

Поделиться заметкой:
Узнать версию Linux
Все способы узнать версию дистрибутива Linux (а также FreeBSD, MacOS и прочих)
Права на файлы
Права на файлы и папки в Linux, FreeBSD и MacOS
Настоящий интеллект