суббота, 31 октября 2009 г.

OpenBSD - штрихи к портрету (misc.)

/*

Страна замечательная, томики законов сразу рассылают в публичные дома, чтобы любой желающий мог повертеть на ..ю за символическую сумму.
/ЛОР/

сильнее всего мешает отсутствие поддержки multibyte encoding (utf8), что уже реализовано в NetBSD и FreeBSD. ждём-с, а пока каждый "строит коммунизм в отдельно взятой стране". ничего сложного. рассмотрим на примере терминала Eterm:

1) ставим "vim" и "w3m" (это наши будущие редактор и просмотрщик файлов/каталогов по умолчанию)

2) собсно обозначаем наши благие намерения:

> echo 'export PAGER=/usr/local/bin/w3m' >> ~/.profile
> echo 'export EDITOR=/usr/local/bin/vim' >> ~/.profile

w3m нам нужен хотя бы для просмотра (в Eterm) примонтированных партиций, поскольку команда ":edit ++enc=utf-8" в vim-е прекрасно работает с файлами, но сбоит на каталогах. EFM (Enlightenment File Manager) справляется с отображением UTF-8 на ура (особенно если evas собран с fribidi). после определения переменной PAGER это значение используется и для просмотра man-ов, что гораздо удобнее, чем дефолт ("more").

3) отучаем "mc" использовать "mcview" (рихтуем "~/.mc/ini"):

use_internal_View=0

тут же можно избавиться и от "mcedit", заменив его на $EDITOR

use_internal_edit=0

4) читаем "каноны":

http://www.openbsd.ru/docs/howto-cyrillic.html

5) делаем alias для запуска Eterm в нужной нам конфигурации:

alias eterm="Eterm -F -*-fixed-medium-r-normal-*-15-*-*-*-*-*-koi8-r"

после чего вызываем терминал по только что указанному "паттерну":

> eterm

6) опционально читаем "man w3m" и учимся эффективно использовать этот замечательный консольный браузер.

к этому моменту имеем полностью русифицированную рабочую систему, осталось лишь навести лоск в соответствии с личными предпочтениями (используем Enlightenment-DR17). рихтуем "/etc/enlightenment/sysactions.conf":

action: halt /sbin/halt -p
action: reboot /sbin/reboot
action: suspend /usr/sbin/zzz
action: hibernate /usr/sbin/zzz
user: $USER allow: *

с suspend и hibernate поосторожнее, может и не заработать. ставим из пакетов всё, что относится к "xdg*" и добавляем в "~/.profile" требуемые переменные:

export XDG_CACHE_HOME=$HOME/.cache
export XDG_CONFIG_DIRS=/etc/xdg
export XDG_CONFIG_HOME=$HOME/.config
export XDG_DATA_DIRS=/usr/share:/usr/local/share:/usr/X11R6/share
export XDG_DATA_HOME=$HOME/.local/share

после чего не мудрствуя лукаво копируем из openSuSE весь каталог "/etc/xdg/menu" (кто самый смелый - может рисовать xml-ные "менюшки" руками, автор - слабак, не осилил...). теперь мы имеем нормальное XDG/FDO Applications-menu. мелочь - а приятно.

последний штрих - не стоит менять настройки окружения root-а. как показывает практика успешная миграция на OpenBSD-current (это когда тащим cvs-ом исходники и компиляем всё сами) возможна только при буквальном соблюдении "канонов". т.е. если вы не имеете желания разбираться, какого буя сборка падает при "gcc version 4.2.4", но всё путём для "gcc version 3.3.5 (propolice)" - то не трогайте рутовое окружение (а падает оно патамучта gcc4 из пакетов имеет Thread model: posix и "_atomic_lock.c" из "libpthread" да и прочие аналогичные вещи ещё никто не рихтовал. у gcc3 Thread model: single).

всем - удачи!

*/

7 комментариев:

Denis Evsyukov комментирует...

ололо! столько проблем... вопрос только в том, зачем???
в чем смысл таких затрат сил???

polachok комментирует...

>что уже реализовано в NetBSD и FreeBSD
И даже в DragonFlyBSD ;)

Кстати, интересно, как оно в NetBSD для файловых систем. Тоже с iconv в ядре?

Кстати, о NetBSD. Как там e17 поживает в pkgsrc?

sda комментирует...

Кстати, о NetBSD. Как там e17 поживает в pkgsrc?

замечательно, его там просто нет и в помине :)

в чем смысл таких затрат сил???

видите ли, это практически чистый С, "канонический" вылизанный код (SVR4.4) и безупречная работа на поддерживаемом железе (у меня пашет всё, как часы, нет, как танк, включая suspend). E17 в качестве UI прекрасно вписывается в окружение и сейчас, уже сидя на OpenBSD-current, остаётся лишь сказать, что очень нравится результат.

Анонимный комментирует...

Пардон. а это кто такое: http://pkgsrc.se/wip/e17?

sda комментирует...

2VeGeek
как-бы есть "иконостас":

ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/pkgsrc/x11/

по которому и судим. наличие же сторонних ресурсов радует, но.... сам понимаешь, требует проверки.

Анонимный комментирует...

WIP (acronym) - Work in process
т.е. нет гарантии что оно работает

polachok комментирует...

(SVR4.4)
4.4BSD ;)

pkgsrc-wip, он, конечно, сторонний, но практически тестовая ветка канонического.