Страница 1 из 2
cyrillic words in console
Добавлено: 2008-04-19 20:11:29
100kg
всем привет!
кароче говоря, мне не нужно всю консоль русс, так чтоб она на не правельную команду говорила на русском
или например в том же редакторе деиствия писались на русском, хочу только чтоб можно было писать на русском и чтоб фаилы отоброжались правельно, все отстальное хочу чтоб осталось радное на инглише.
спасибо
Re: cyrillic words in console
Добавлено: 2008-04-19 20:50:57
Гость
а handbook раздел локализации открыть уже не Ъ?
Re: cyrillic words in console
Добавлено: 2008-04-19 23:09:18
100kg
Гость писал(а):а handbook раздел локализации открыть уже не Ъ?
а ты хоть раз делал как в хэндбуке написано?
Re: cyrillic words in console
Добавлено: 2008-04-20 1:24:32
Гость
За язык вывода gettext'овых сообщений отвечает LC_MESSAGES
За поддержку набора символов в однобайтовой кодировке отвечает LC_CTYPE
Отсюда делаем вывод, что нам нужно
Код: Выделить всё
export LANG=en_US.KOI8-R # нам нужен английский язык с лишним битом для *русских* символов
export LC_MESSAGES=ru_RU.KOI8-R # на каком выводим лишний бит
export LC_CTYPE=ru_RU.KOI8-R # на каком языке мы вводим лишний бит
Подробное описание этих переменных —
http://www.opengroup.org/onlinepubs/009 ... #tag_08_02
Если что-то непонятно, то
http://pascal.tsu.ru/unixz/unix/syscons/russian.html
(об акцентах там не написно, видимо кроме русского автор ничего не знает или не приходилось набирать)
Re: cyrillic words in console
Добавлено: 2008-04-20 1:35:09
Гость
Гость писал(а):export LANG=en_US.KOI8-R
Бред, оно не нужно. За отображение символов, ввода/выводаотвечает только LC_CTYPE, а LC_MESSAGES и прочие отвечают лишь за предпочтения.
Впрочем, это мои догадки. Как оно на самом деле должен объяснять стандарт и его реализация, куда я, естественно, поленился посмотреть.
Re: cyrillic words in console
Добавлено: 2008-04-20 20:46:37
100kg
уже 2 дня потратил, не как не получаится, оставил консоль, даваи решать кряказяблики в Иксах, добавил FontPath как написано в хэндбуке, и тут лажа менюшки в программах стали на русском а названия фаилов которых перетащил с винды с одних каракуль перекодировались в другие

у меня флуксбок.
хотелось чтоб было как в винде, сама она англ., а файлы на кириллице отображаются нормально.
спасибо
Re: cyrillic words in console
Добавлено: 2008-04-20 21:02:21
zg
Код: Выделить всё
zg# cat .cshrc | grep LC_
setenv LC_ALL ru_RU.KOI8-R
zg# asdadsasd
asdadsasd: Команда не найдена.
zg#
шрифты для консоли как в хендбуке написано - через sysinstall ставлю
в иксах тоже кои8, но это вроде из локали выходит, хотя не знаю, работает и ладно
Код: Выделить всё
zg# pwd
/root
zg# ls | grep font
.fonts
.fonts.cache-1
.fonts.conf
zg#
виндовые шрифты в папке /root/.fonts лежат, чтоб не прописывать их нигде ручками, да и чтоб не терялись при переустановке системы.
ещё команду делаю, чтоб локаль через класс выставлять
Re: cyrillic words in console
Добавлено: 2008-04-20 21:05:59
zg
100kg писал(а):а ты хоть раз делал как в хэндбуке написано?
я делал

после этого настругал скрипт и забыл как страшный сон
Re: cyrillic words in console
Добавлено: 2008-04-20 21:23:16
100kg
to zg
я так тоже могу, но я не хочу так
Код: Выделить всё
export LANG=en_US.KOI8-R # нам нужен английский язык с лишним битом для *русских* символов
вот как хочу, только не знаю куда добавить
Re: cyrillic words in console
Добавлено: 2008-04-21 2:24:34
Гость
100kg писал(а):хотелось чтоб было как в винде, сама она англ., а файлы на кириллице отображаются нормально
Тогда только LC_CTYPE, ибо LC_MESSAGES как раз и отвечает за язык менюшек, язык вывода команд и тд.
Куда это все вставить? В ~/.login.conf или /etc/login.conf ну или на крайний случай в скрипт инициализации шелла, т.е. в ~/.cshrc и тому подобные. Вот пример для ~/.login_conf:
Код: Выделить всё
me:\
:charset=KOI8-R:\
:setenv=LC_CTYPE=ru_RU.KOI8-R:
Все остальные LC_* будут по дефолту в локали `C' и язык будет английский.
Re: cyrillic words in console
Добавлено: 2008-04-21 2:36:17
Гость
но это если будешь работать только в консоли (такое еще в природе бывает, разве ssh не истребил таких сущностей?), иначе рискуешь наткнуть на проблемы с кодировками (вспомним про знак номер № и его отсутствие в koi8-r) и невозможность совмешать два (исключая англ) языка.
Re: cyrillic words in console
Добавлено: 2008-04-21 5:37:53
zg
100kg писал(а):только чтоб можно было писать на русском и чтоб фаилы отоброжались правельно, все отстальное хочу чтоб осталось радное на инглише.
спасибо
так это проще простого - за ввод отвечает ttys, там надо выставит cons25r, за отображение - шрифты, их надо поставить как хэнбуке написано, а за сообщения отвечает локаль, вот её трогать не надо, тогда всё будет как ты хочешь
Re: cyrillic words in console
Добавлено: 2008-04-21 6:15:28
manefesto
не знаю как у Вас, а мне для локализации хватило
sysinstall и
Re: cyrillic words in console
Добавлено: 2008-04-21 7:45:32
Гость
zg писал(а):так это проще простого - за ввод отвечает ttys, там надо выставит cons25r, за отображение - шрифты, их надо поставить как хэнбуке написано, а за сообщения отвечает локаль, вот её трогать не надо, тогда всё будет как ты хочешь
Странно, но у меня русский работает и на cons25, правда (псевдо)графические символы отоборажаются криво. А вот ввод работает только после переключения именно на LC_CTYPE
ru_RU.KOI8-R (en_US.KOI8-R не проходит), иначе вводимые символы отображаются как \332 и прочие, например `русский язык' отобразится как `\322\325\323\323\313\311\312 \321\332\331\313'. Попробуй сам! Или трындеть непроверенную чушь легче?
Re: cyrillic words in console
Добавлено: 2008-04-21 7:50:19
Гость
а у мя
pw usermod <вымя_юзверя> -L uni. Не ограничиваться же одним быдлорусским языком. Или под russion у тя скрывается ru_RU.UTF-8?

Re: cyrillic words in console
Добавлено: 2008-04-21 9:06:12
zg
Гость писал(а):Попробуй сам! Или трындеть непроверенную чушь легче?
Код: Выделить всё
locale locate
# locale
LANG=
LC_CTYPE="C"
LC_COLLATE="C"
LC_TIME="C"
LC_NUMERIC="C"
LC_MONETARY="C"
LC_MESSAGES="C"
LC_ALL=
# ./1.sh
Привет мир!
# cat 1.sh
#!/bin/sh
echo Привет мир!
# asdasdasdasdsad
asdasdasdasdsad: Command not found.
#
единственное, чё не пашет, так это ввод руских символов... а в остальном всё как я сказал

Re: cyrillic words in console
Добавлено: 2008-04-21 9:33:43
Гость
вообще-то чушью я назвал
zg писал(а):за ввод отвечает ttys, там надо выставит cons25r
а про вывод русских букв из файла, то зависит от шрифта. Значит LC_TYPE на сие не влияет, интересненьк.
Re: cyrillic words in console
Добавлено: 2008-04-21 9:38:16
Гость
Гость писал(а):Значит LC_TYPE на сие не влияет, интересненьк.
Вообще-то кроме простых файлов сие тоже чушь. ls(1) не выведет русское название с LC_TYPE=C
Re: cyrillic words in console
Добавлено: 2008-04-21 14:54:45
100kg
всем привет, огромное спасибо за хелп
про X.
добавил в login_conf
Код: Выделить всё
me:\
:charset=KOI8-R:\
:setenv=LC_CTYPE=ru_RU.KOI8-R:
и обязательно в xorg.conf должна быть строка
Код: Выделить всё
FontPath "/usr/local/lib/X11/fonts/cyrillic"
после чего ввод и вывод в консоле проходит!
но вот фаилы каторые скопировал с винды(они тоже на кирилице) отображаются некорректно, это потомучто они в другои кодировке(cp1251)?
спасибо
Re: cyrillic words in console
Добавлено: 2008-04-21 16:23:58
Гость
100kg писал(а):и обязательно в xorg.conf должна быть строка
Код: Выделить всё
FontPath "/usr/local/lib/X11/fonts/cyrillic"
неа, не обязательно. Можно использовать TrueType шрифт в xterm'е (опция -fa или ресурс faceName), а папка /usr/local/lib/X11/fonts/TrueType добавляется по умолчанию
Код: Выделить всё
(==) Including the default font path /usr/local/lib/X11/fonts/misc/,/usr/local/lib/X11/fonts/TTF/,/usr/local/lib/X11/fonts/OTF,/usr/local/lib/X11/fonts/Type1/,/usr/local/lib/X11/fonts/100dpi/,/usr/local/lib/X11/fonts/75dpi/.
Правда стандартные шрифты ужасны и лучше поставить D?j?Vu или terminus, а для CJK ipafonts-ttf. Вот сравнение D?j?Vu с Terminus'ом, если что:

(в тесте правда только 16 цветов, а не
256 поддерживаемых xterm'ом).
Но, я смотрю, тебе так хочется наступить на грабли неюникодной локали... X'ы-то ведь давно держат en_US.UTF-8 в котором легко можно набирать русский или греческий, а с помощью scim и японский.
100kg писал(а):но вот фаилы каторые скопировал с винды(они тоже на кирилице) отображаются некорректно, это потомучто они в другои кодировке(cp1251)?
А ты как копировал-то? Если с раздела или по smb, то у mount_smbfs, mount_ntfs и mount_msdosfs есть опции указания кодировки, и имена файлов должны перекодироваться
на лету. Впрочем, никто не мешает перекодировать вручную при помощи
Код: Выделить всё
> bpkg -p convmv
converters/convmv
Convert filenames from one encoding to another
Re: cyrillic words in console
Добавлено: 2008-04-21 16:30:17
Гость
100kg писал(а):но вот фаилы каторые скопировал с винды(они тоже на кирилице) отображаются некорректно, это потомучто они в другои кодировке(cp1251)?
Да. Но если хочешь отредактировать файл не меняя кодировки и не переключая xterm из юникодного режима, то можно воспользоваться командой
Re: cyrillic words in console
Добавлено: 2008-04-21 22:55:22
100kg
а я скопиповал с винды шрифты в папку TTF, после чего стало гораздо лучше!
Код: Выделить всё
неа, не обязательно. Можно использовать TrueType шрифт
у меня такои папки нет в /usr/X11R6/lib/X11/fonts, если уберу FontPath cyrillic то будут каракули.
Код: Выделить всё
X'ы-то ведь давно держат en_US.UTF-8 в котором легко можно набирать русский или греческий, а с помощью scim и японский.
а как это сделать

? я попробывал поменять
Код: Выделить всё
me:
:charset=KOI8-R:\
:setenv=LC_CTYPE=ru_RU.KOI8-R
на
Код: Выделить всё
me:\
:charset=UTF-8:\
:setenv=LC_CTYPE=en_US.UTF-8
но так и не вышло у меня
Re: cyrillic words in console
Добавлено: 2008-04-22 5:43:23
Гость
100kg писал(а):Код: Выделить всё
me:\
:charset=UTF-8:\
:setenv=LC_CTYPE=en_US.UTF-8
Ты двоеточие забыл после en_US.UTF-8 и вместо него у тя пробел, а также не видно символа новой строки в конце! Глянь getcap(3). К тому же, если будешь использовать UTF-8, то проще просто lang прописать, т.е.
. Но еще лучше создать класс в /etc/login.conf, как сделал
manefesto, но только вида
Код: Выделить всё
#
# UTF-8 Users Accounts. Setup proper environment variables.
#
uni|UTF-8 Users Accounts:\
:charset=UTF-8:\
:lang=en_US.UTF-8:\
:tc=default:
Обноваить хешированную базу по
cap_mkdb /etc/login.conf и добавить себя (и капризных даемонов типа mldonkey) туда по
pw usermod <loginName> -L uni.
Но если будут проблемы с X'ами, то кодировку можно легко переключить только для одного приложения, например
env LC_CTYPE=ru_RU.KOI8-R w3m forum.lissyara.su или для всех далее запускаемых по
setenv LC_CTYPE ru_RU.KOI8-R (в csh-подобных) и
export LC_CTYPE=ru_RU.KOI8-R (в sh-подобных).
ps, насчет консоли, не нужна
склееная раскладка us.dvorak и ru.koi8-r с alt'ами в качестве meta и win-key'ми в кач-ве alt? Ее можно скопировать в /usr/share/syscons/keymaps/udr.aim.kbd и включить по
kbdcontrol -l udr.aim (она у меня вкомпилена в ядро), но прежде чем включать лучше быть в курсe как выглядит dvorak, ибо она совершенно не похожа на qwerty.

Как такое же включить в X'ах можно глянуть в моем конфиге xorg.conf, кой я приводил выше, а потренироваться в наборе на dvorak при помощи консольной misc/dvorak7min. Have fun!
Re: cyrillic words in console
Добавлено: 2008-04-22 20:59:35
100kg
вот что у меня получилось
Код: Выделить всё
>locale
LANG=en_US.UTF-8
LC_CTYPE=ru_RU.KOI8-R
LC_COLLATE="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
и для исков
LC_ALL=
вроде все нормально, только заголовки окон в fluxbox в каракулях
в cshrc добавил, но все равно так и осталось
Re: cyrillic words in console
Добавлено: 2008-04-22 22:38:24
Гость
если стартуешь X'ы через startx(1), то лучше так не делать. После
setenv LC_CTYPE ru_RU.KOI8-R все программы, запущенные из данной сессии, будут наследовать эту переменную окружения и startx вместе с иксами тоже. Как оно в xdm (gdm, kdm) я хз, ибо не разу не запускал.
Я, например, оставляю в консоли en_US.UTF-8, откуда запускаю screen, а из него startx. А когда мне нужен русский язык в syscons (а он мне нужен, только в случае неполадок), то вручную переключаю.
100kg писал(а):вроде все нормально, только заголовки окон в fluxbox в каракулях
это может быть проблемой самого флюкса. Помню у меня dwm тоже не поддерживал юникод. Впрочем, я на заголовки окон никогда не смотрел и панельку просто убрал с глаз долой. Но сейчас у меня stumpwm и там юникод работает. Это скорее наследственное от sbcl.
ps,
Гость писал(а):Как такое же включить в X'ах можно
глянуть в моем конфиге xorg.conf, кой я приводил выше
это была другая тема. Вот ссылка, если что:
http://pastebin.com/m27cc9808