powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / консоль 866 и буква Ы
5 сообщений из 5, страница 1 из 1
консоль 866 и буква Ы
    #32763142
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как сделать чтоб показывало заглавную букву Ы в 866 консоли?
setfont cp866-8x16 -m cp866
loadkeys ru2

( Linux RedHat )
...
Рейтинг: 0 / 0
консоль 866 и буква Ы
    #32763882
Somebody2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanek842Как сделать чтоб показывало заглавную букву Ы в 866 консоли?
setfont cp866-8x16 -m cp866
loadkeys ru2

( Linux RedHat )

RH 7.3?

В досовской раскладке код Ы есть 155, что в консоли (не путать с KDE-шной
konsole) равносильно \033[ - управляющая эскейп-последовательность.

Например

Код: plaintext
1.
echo -en  "\233H\233J" 

сотрет экран.

Так что,скорее всего, никак - используйте koi8.
...
Рейтинг: 0 / 0
консоль 866 и буква Ы
    #32765861
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
RH 7.3?
RH EL AS 3
да впрочем это не важно

вообщем решил проблему пропатчив ядро
Как работать в альтернативной русской кодировке (CP866) под LINUX (FAQ)

буду признателен, если кто подкинет еще какие-нибудь интересные ссылки на эту тему

Все хорошо да не совсем, для mc нужно еще что то дополнительно делать. Всяко пробовал над своим mc 4.6.0 что то пока не видит он букву Ы.
Частично решил проблему, взял mc4.5.55
ftp://ftp.gnome.org/mirror/gnome.org/sources/mc/4.5/
и собрал его так
./configure --enable-charset --with-terminfo
make; make install
после этого в mcedit все видится

но всетаки охото это сделать для mc 4.6.0, что то он мне больше нравится
пока неполучается ...
...
Рейтинг: 0 / 0
консоль 866 и буква Ы
    #32766004
Somebody2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sanek842 RH 7.3?
RH EL AS 3
да впрочем это не важно

Да я так спросил, меня setfont несколько удивил. В последних дистрах вроде
consolechars пользуют.
...
Рейтинг: 0 / 0
консоль 866 и буква Ы
    #32805228
sanek842
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanek842но всетаки охото это сделать для mc 4.6.0, что то он мне больше нравится
пока неполучается ...

наконец-то раскопал и решил поделиться :)

Вот вырезки из файла ./src/ChangeLog

....
Sun Mar 28 23:52:08 1999 Norbert Warmuth <nwarmuth@privat.circular.de>;

* util.c (is_printable): Character 155 is non printable even when
full eight bit output is enabled (on the linux console 155 is
interpreted as "ESC [").
....


кроме всего , при работе в X-ах на локали ru_RU.ibm866, MC режет 8-ой бит , что непозволяет ввести и даже увидеть заглавные русские буквы. По этому поводу вот вырезки из того же файла


....
* util.c (is_printable): Disable "Full 8 bits output" on xterm,
fall back to "ISO 8859-1" due to problems with gnome-terminal,
which identifies itself as xterm.
Reported by Miven Dooligan <dooligan@intergate.ca>;
....


Для решения этих проблем, поправил исходники , а именно файл ./src/util.c

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
...

static inline int
is_iso_printable (unsigned char c)
{
//    return ((c >  31  && c <  127 ) || c >=  160 );
    return ((c >  31  && c <  127 ) || c >=  128 );
}

static inline int
is_8bit_printable (unsigned char c)
{
    /* "Full 8 bits output" doesn't work on xterm */
    if (xterm_flag)
        return is_iso_printable (c);

//    return (c >  31  && c !=  127  && c !=  155 );
    return (c >  31  && c !=  127  );
}

...

ЗАРАБОТАЛО! :)
Да, для буквы Ы нужно незабыть пофиксить ядро ( см ссылку что я приводил )!

Встает вопрос, почему бы разработчикам mc не включить в скрипт configure какой-нить ключ, настраивающий работу в альтернативной кодировке. Так ведь действ., в koi8r непечатаемые символы одни , в 1251 другие, в 866 -ой третьи .. В utf8 MC по умолчанию тоже не в своей тарелке ...

Заодно , для полной картины расскажу еще как сделать чтоб хинты снизу под панелями писали по русски. Тут все просто , там используется содержимое текстового файла mc.hint.ru, кот-ый набит в koi8-r, перекодируем его в нужную нам кодировку и все. Так я, например, просто ссылку сделал

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
[oracle@sanek mc]$ ls -l mc.hint*
-rw-r--r--    1 root     root         3100 Ноя 30 11:28 mc.hint
-rw-r--r--    1 root     root         3018 Ноя 30 11:28 mc.hint.cs
-rw-r--r--    1 root     root         3286 Ноя 30 11:28 mc.hint.es
-rw-r--r--    1 root     root         3424 Ноя 30 11:28 mc.hint.hu
-rw-r--r--    1 root     root         3265 Ноя 30 11:28 mc.hint.it
-rw-r--r--    1 root     root         3261 Ноя 30 11:28 mc.hint.nl
-rw-r--r--    1 root     root         3309 Ноя 30 11:28 mc.hint.pl
lrwxrwxrwx     1  root     root            34  Ноя  30   11 : 48  mc.hint.ru -> /usr/local/share/mc/mc.hint.ru.dos
-rw-r--r--    1 root     root         3328 Ноя 30 07:55 mc.hint.ru.dos
-rw-r--r--    1 root     root         3328 Ноя 29 19:03 mc.hint.ru.koi
-rw-r--r--    1 root     root         3393 Ноя 30 11:28 mc.hint.uk
-rw-r--r--    1 root     root         2525 Ноя 30 11:28 mc.hint.zh
[oracle@sanek mc]$


P.S.

Да, исходники mc 4.6.0 тут http://www.ibiblio.org/pub/Linux/utils/file/managers/mc/mc-4.6.0.tar.gz
сборка
./configure --enable-charset --with-x --with-terminfo
make -j2; make install
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / консоль 866 и буква Ы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]