FreeBSD - статьи

       

Midnight Commander


Самый популярный файл-менеджер вызвал больше всего головной боли. Обычный устанавливаемый mc из /usr/ports/misc/mc показал изрядную неспособность работать в юникоде, даже в юникодных терминалах проявляется неотображение mc вообще или нестабильная работа - пропадание некоторых букв при вводе и тому подобное. Ясно, что тут дело в опциях компиляции. Здесь есть три пути борьбы с данной проблемой.

Путь 1 (юниксоида):

  • Распаковываем находящиеся в каталоге /usr/ports/distfiles исходники с mc-4.6.0.tar.gz в любой каталог под рутом (прежде удаляем установленный mc).
  • Берём патчи отсюда - , распаковываем в каталог с исходником по примеру:

    $ cat ./.utf8 | patch2 -p1 -b .utf8

    и далее также со всеми патчами.

  • Делаем следущую перекодировку:

    $ iconv -f iso8859-1 -t utf-8 -o mc.hint.tmp mc.hint && \ mv mc.hint.tmp mc.hint $ iconv -f koi8-r -t utf8 -o mc.hint.ru.tmp mc.hint.ru && \ mv mc.hint.ru.tmp mc.hint.ru

  • Далее упаковываем исходник опять в формат tar.gz и кидаем его в /distfiles, идём в /usr/port/misc/mc и в Makefile добавляем для CONFIGURE_ARGS+ опцию сборки --with-screen=slang. Потом всё как обычно:

    $ make $ make install

    При этом сохранится целостность системы и получится юникодный mc.

  • Путь 2 (наменьшего сопротивления):

    Установить вместо обычного mc из портов его форк - /usr/ports/misc/mc-light. Данное ответвление mc развивается нашим российским разработчиком. Что мы теряем при этом: руссифицированное меню, взаимодействие с иксами. Но это при работе в терминале не суть важно. Зато приобретаем: полную поддержку unicode, множество кодировок (особенно это видно при просмотре по F3 файлов с разными кодировками и при перекодирование "на лету" по CTRL+T ), и некоторые дополнительные фичи, одна из которых - прямая запись на CD через обыкновенное копирование по F5, не говоря уж о красивом разноцветном интерфейсе.

    Путь 3 (радикальный):

    Перебороть в себе тягу к mc и использовать графические файл-менеджеры, поддерживающие unicode - krusader, gnome-commander,gentoo, и т.д. Скажу, что я себя не себя перебороть:-). Я выбрал путь 2, чем чрезвычайно доволен, но, как говориться, каждому своё.



    Содержание раздела