Дерни за веревочку, дверца и откроется. (C) Бабушка
| Страница ДКД (Страница провайдера) | Линукс-Чайник (Оглавление) |
Но вот, однажды я прочитал несколько статей в ньюсах, в группе и увидел, что
это возможно. И захотелось мне это сделать. Сначала я попробовал испльзовать
полученные из ньюсов решения в готовом виде, но ничего не получилось. Ничего не
получилось и с присутствующим в дистрибутиве файлом terminfo linux-koi8 Пришлось
делать самому.
2. Решение
Оказывается, в Юниксе можно пользоваться многими различными видами терминалов.
Для того, чтобы результаты этого пользования были более-менее похожими,
используются файлы описания терминалов. Система выводит символы на экран,
пользуясь информацией из этих файлов.
2.1. Файлы и программы
В Дебиане 2.0 описания терминалов лежат в директории:
/usr/share/terminfo
Описаний там лежит много. Конкретно описание линуксового терминала:
/usr/share/terminfo/l/linux
Которое согласно политике Дебиана является ссылкой на:
/etc/terminfo/l/linux
Для работы будем пользоваться программами:
tic <файл>
Она компилирует из текстового описания <файл> описание в нужном формате и помещает его в нужное место.
infocmp
Эта программа превращает текущее описание терминала в описание в текстовом
формате и выдает его в выходной поток.
2.2. Как я это делал
Перед началом опытов предлагаю сохранить резервную копию файла описания
терминала:
cp /etc/terminfo/l/linux /etc/terminfo/l/linux.old
Решить проблему оказалось довольно просто.
В текстовом файле описания описано положение псевдографики. Описано оно в виде:
acsc=a\261f\370g\361h\ ......,
Формат записи:
infocmp>linux_default.txt
Далее для каждого символа выполнил следующие действия:
tic linux_default.txt
Для проверки делаk в какой-нибудь консоли logout,
и login. Потом запускаk Midnight Commander. Рамочки на месте!!!
2.3. Полученные результаты:
Получил строку:
acsc="\004a\221f\374h\220j\205k\203l\202m\204n\212o~q\200r\231s_t\206u\207v\211w\210x\201y\225z\236{\226}\235~\224.\031-\030\,\021+^P0\215p\200r\200y\230z\231{\267|\274,
Обратите внимание вот на что: после знака равно(=) у меня здесь стоит двойная
кавычка. Должен стоять знак левого ударения!
Эту строчку надо вставить вместо той, которая стоит в вашем файле описания
терминала и рамочки должны быть на месте.
3. Оставшиеся проблемы
Пока не знаю.
4. Заключение
Желаю Вам удачи и жду отзывов и отчетов об ошибках.
5. Литература