Издательский дом ООО "Гейм Лэнд"ЖУРНАЛ ХАКЕР #69, СЕНТЯБРЬ 2004 г.

Хардкорные разборки с консолью

j1m (j1m@list.ru)

Xakep, номер #069, стр. 069-112-1


Приемы эффективной работы в консоли

Иногда бывает интересно почитать дискуссии на некоторых форумах. Вопрос: «А как бы мне увидеть список папок на диске?» - и ответ: «Запускаешь konqueror...». Намек понят? Виндузятники начинают пересаживаться на «модный» линукс и паникуют, не находя привычного интерфейса. Что касается командной строки, то для них она становится чем-то ужасно неудобным и морально устаревшим. Надеюсь, ты не относишься к их числу и знаешь о настоящей мощи UNIX-консоли, а чтобы чувствовать себя более уверенно и комфортно, читай этот материал.

Итак, начинаем

Для начала хочу заметить, что русификацию в этой статье я рассматривать не буду, об этом и так немало сказано, поэтому предполагается, что локаль у тебя настроена, русские буквы видно везде и с вводом русского текста также все в порядке. Также, чтобы сберечь твое драгоценное зрение и вообще улучшить внешний вид консоли, рекомендую настроить framebuffer или воспользоваться пакетом SVGATextMode.

Ввод и вывод

Первым делом нам необходимо установить приличные шрифты и настроить раскладку клавиатуры. Для этого будем использовать пакет kbd и набор русских шрифтов console-tools-cyrillic. В этом пакете, в каталоге pcf, лежат консольные шрифты. Их необходимо скопировать в /usr/share/kbd/consolefonts. Самыми подходящими шрифтами для консоли, на мой взгляд, являются шрифты семейства UniCyr, например UniCyr-sans-8x16. Скопируем их в приведенный выше каталог и выполним следующую команду:

# setfont UniCyr-sans-8x16

Для того чтобы шрифт устанавливался при загрузке системы, необходимо подправить загрузочные скрипты.

Так, с выводом разобрались, теперь займемся вводом. Мы настроим раскладку клавиатуры, для этого можно использовать стандартную карту клавиш ru.map для русско-английской клавиатуры. Тогда раскладка будет переключаться клавишей alt, но эта клавиша, как известно, довольно часто бывает нужна при работе, при этом на клавиатуре имеется совершенно бесполезная для линуксоида клавиша windows, поэтому на нее и повесим переключение раскладки. Для этого нам понадобится утилита showkey из пакета kbd. Запускаем ее, нажимаем по порядку левый alt, правый alt, левый win, правый win, меню (рядом с правым win) и ждем 10 секунд, чтобы программа завершилась.

После завершения работы showkey открываем /usr/share/kbd/keymaps/i386/qwerty/ru.map.gz (предварительно следует распаковать), находим строку "keycode 56 = AltGr_Lock" и пишем вместо нее "keycode 56 = Alt", проделываем то же самое с keycode 100. А вот такими должны быть остальные клавиши: с кодом 125 (левый win) - "keycode 125 = AltGr", 126 (правый win) - "keycode 126 = AltGr" и 127 (меню) - "keycode 127 = AltGr_Lock".

Сохраняем ru.map и правим загрузочные скрипты, если необходимо. Отныне временное переключение раскладки (пока нажата клавиша) будет происходить по клавишам win, а постоянное - по клавише "Меню".

Контроль над терминалом

Замечательная утилита setterm предоставляет нам широкие возможности по управлению терминалом. В данный момент нас интересуют следующие: -foreground (цвет символов), -background (цвет фона), -inversescreen (реверс цветов), -blank [0-60] (тайм аут перед гашением экрана), -default (установки по дефолту). Например, хотим мы увидеть синие буквы на белом фоне. Нет проблем, выполняем:

Содержание  Вперед на стр. 069-112-2