LXF99:Вопрос3
|
|
|
Перекрасим консоль
В: Как мне изменить цвет текста и фона на консоли Linux при запуске уровня 3? Я хотел бы иметь черный текст на белом фоне. Если такое возможно, хорошо бы данное изменение применялось уже при загрузке ядра, и все загрузочные сообщения выводились бы черным по белому. Подозреваю, что придется малость раскурочить ядро, а если так, то какую часть исходного кода ядра надо менять? Гордон [Gordon]
О: Изменение цвета консоли (после того, как она будет запущена) можно выполнить двумя способами. Вы можете просто вывести коды ANSI, если помните, как они выглядят, или использовать команду setterm. Чтобы установить черный на белом цвет, наберите
setterm -background white -foreground white store.
В man-странице setterm содержится полная информация о различных опциях и допустимые значения цветов. Эту команду можно вызвать из стартового скрипта; детали зависят от дистрибутива, но обычно /etc/rc.local будет хорошей отправной точкой.
Если Вы хотите других цветов с самого начала, отредактируйте исходники ядра, поменяв цвета, и перекомпилируйте ядро. Нужно изменить файл drivers/char/vt.c (в старых ядрах – drivers/char/console.c); поищите строки, начинающиеся с
vc->vc_def_color = 0x07; /* white */
В исходниках ядра 2.6.22 это строка 2739. Две шестнадцатеричные цифры означают цвета фона и текста: 0x07, по умолчанию, белое на черном, а, наоборот, 0x70 – та самая настройка, которая Вам нужна. Измените значения по умолчанию, как Вам нравится, и пересоберите ядро обычным образом. Номера цветов:
0 ............ черный 1 ............. синий 2 ............. зеленый 3 ............. голубой 4 ............. красный 5 ............. фиолетовый 6 ............. коричневый/желтый 7 ............. белый
Добавив 8 к этим цифрам, можно получить«яркую» версию, но отображение ярких цветов зависит от оборудования и на некоторых системах способно привести к миганию. ПХ