LINUX.ORG.RU

NetBSD и МышЪ. Русификация.


0

0

1-й вопрос.
Можно ли сделать так, чтоб мышь работала во всех консолях и в
нескольких запущенных иксах одновременно? Извраты с файлом
/etc/wsmoused.conf позволяют заставить МышЬ работать не только под
всеми консолями, но и в одних иксах каких-то. А для нескольких иксов
можно указать? Если да, то как?

2-й вопрос.
Чтобы русифицировать в NetBSD консоль нужно прописать экспорты
переменных LC_CTYPE и LANG. Где эти экспорты должны быть указаны, чтоб
быть определёнными везде и всегда? ~/.zshrc, ~/.ligin, ~/.profile, ~/.zlogin, /etc/rc.conf?
Дело в том, что в консоли у меня - zsh. И помог только экспорт в
~/.zshrc. А вот для иксов это не помогло: в терминале с zsh, запущенном
под иксами, чтоб была русификация, требуется прописывание экспортов
в ~/.xinitrc. Но это работает только под боксами.
А в ratpoison - (WM) - не помогло даже и это.
Таким образом, в терминале, в иксах под ratpoison, при условии даже
корректных выставленных вышеобозначенных переменных русские буквы не появляются.
Получаем, что для одних оконных менеджеров ~/.xinitrc достаточно, а для
других - нет. Как сделать чтоб работало везде?

Для русификации vim установка set langmap не помогает, как во фре.
В чём проблема? Вим уже сразу должен быть скомпилен с потенциальной поддержкой
русского языка?

Зажигает NetBSD 3.0. Переключалка через капслок, сделанная подключением
общепринятых строк в коде ядра.

Отвечу сам на случай если ещё кому (или мне, когда забуду понадобится). NetBSD 3.0.

A) Мышь в иксах:
Как альтернативу можно отключить мышь в консоли (всё равно редко под консолью сидим) - тогда иксы будут нормально запускаться, и мышь юудет хоть в 10-ти иксах, одновременно запущенных.

B) Русификация ratpoison:
Для ratpoison (да и вообще для любого менеджера) эеспорты должны в ~/.xinitrc должны стоять ПЕРЕД запуском менеджера. Для случая mpc (ради хоткейсов на него) и русификации выглядит это, например, так:

$ cat < .xinitrc
export MPD_HOST=мой_пасс@localhost
export MPD_PORT=6600
export LC_CTYPE=ru_RU.KOI8-R
export LANG=ru_RU.KOI8-R
ratpoison &
Esetroot что_то.png &
exec xterm -geometry 380x44+0+0 -bg AntiqueWhite -name login -fg brown
$

При этом сам файл ratpoison выглядит как нечто типа:

$ cat < .ratpoisonrc
#!/bin/sh
# My $HOME/.ratpoisonrc configuration file.

# My KMAP `tms'
newkmap tms
definekey top M-t readkey tms
definekey tms a exec aterm -tr +sb -trsb -fg grey -colorBD green -cr white -ib 10 -pr white
definekey tms g exec aterm -tr +sb -trsb -fg black -colorBD white -cr white -ib 10 -pr white
definekey tms r exec aterm -tr +sb -trsb -fg black -colorBD white -cr white -ib 10 -pr white -e su

# My KMAP `com'
newkmap com
definekey top M-y readkey com
definekey com s exec links -g
definekey com k exec gkrellm
definekey com o exec opera
definekey com g exec gv
definekey com q exec wish8.4 ~/alicq-0.8.9/Alicq.tcl

# mpc control
definekey top M-K exec sh -c "mpc seek +1%"
definekey top M-J exec sh -c "mpc seek -1%"
definekey top M-U exec sh -c "mpc toggle"
definekey top M-N exec sh -c "mpc prev"
definekey top M-M exec sh -c "mpc next"
# mixer control (NetBSD!)
definekey top M-L exec mixerctl -w outputs.master+=3
definekey top M-H exec mixerctl -w outputs.master-=3

# Others
#definekey top M-z exec sh -c "sleep .3; xtrlock"
definekey top M-z exec xlock

# Windows navigation
definekey top M-1 select 1
definekey top M-2 select 2
definekey top M-3 select 3
definekey top M-4 select 4
definekey top M-5 select 5
definekey top M-6 select 6
definekey top M-7 select 7
definekey top M-8 select 8
definekey top M-9 select 9
definekey top M-0 select 10
definekey top M-minus select 11
definekey top M-equal select 12
definekey top M-backslash select 13

# Frame navigation
definekey top M-F10 fselect 0
definekey top M-F1 fselect 1
definekey top M-F2 fselect 2
definekey top M-F3 fselect 3
definekey top M-F4 fselect 4
definekey top M-F5 fselect 5
definekey top M-F6 fselect 6
definekey top M-F7 fselect 7

$

С) Русификация vim в NetBSD:
В пакетах и портах идёт по умолчанию vim без поддержки keymap и langmap. Для подключения этих опций ставим их портов vim, при этом дописываем нужный #define в файле (если не ошибусь) feature.h (ясно из комментов к опции langmap в этом файле).
Не забываем следить, чтобы компилиось при нормальном, отредактированном файле, а то какие-нить мэйки могут его перезаписать в результате сборки. После установки проверяем:

$ vim --version |grep langmap
+fork() +gettext -hangul_input +iconv +insert_expand +jumplist +keymap +langmap
$

=> + langmap, что и требоалось получить.
После этого ставим set langmap в ~/.vimrc и наслаждаемся командами редактирования vim при включённой русской раскладке.

spinore
() автор топика
Ответ на: комментарий от spinore

Попутно об иксах...
Если вдруг захотелось запустить иксы на 9-й и 10-й консолях....
По молчанию число 8 - сакральное в NetBSD.
Если порыться в сорсах ядра, то можно найти где этот дефайн задаётся, смысл
которого - максимальное число терминалов, воспринимаемое ядром.
Меняем в сорсе 8 на 11, например.
Перекомпиливаем ядро.
Вручную создаём с помощью MAKEDEV нужные девайсы: /dev/ttyE8 и
/dev/ttyE9.
Редактируем rc.local, Xservers, ttys, wscons.conf (если мышь в консоли
всё же есть, то и wsmoused.conf).
Перезагружаемся.
У меня работает.

spinore
() автор топика
Ответ на: комментарий от spinore

А.. да, максимальное число дисплеев, задаваемое в обычном конфиге ядра лучше вообще закомментить... Терминалы пусть лучше создают ttys. У меня из-за этого ушли проблемы с curses, например, и вообще лучше стало работать.

spinore
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.