LINUX.ORG.RU

Русский в консоли Gentoo

 


6

2

Как сделать вывод текста в консоли с поддержкой русских символов?
Сейчас ls — ????, ls -l — цифры.
Пробовал по найденным гуглом рецептам — не помогает.

С terminus'ом ввод работает, но выглядит ужасно. подскажите нормальный шрифт.

И как сделать переключение по Caps'у?

★★★★★

Последнее исправление: teod0r (всего исправлений: 3)

1) emerge media-fonts/terminus-font

2) выбрать в /etc/conf.d/consolefont

consolefont="ter-v16n"
consoletranslation="cp866_to_uni"
другие варианты: ls /usr/share/consolefonts/

3) rc-update add consolefont

4) в /etc/conf.d/keymaps

keymap="ruwin_cplk-UTF-8"
windowkeys="YES"
другие варианты: ls /usr/share/keymaps/i386/qwerty/

NaiLi ★★
()
Последнее исправление: NaiLi (всего исправлений: 2)
Ответ на: комментарий от NaiLi

имена файлов всё равно не нормальные и стирается приглашение

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 1)

Может из этого что-то лишнее, но я делаю так:

В /etc/rc.conf убедиться, что unicode=«yes»

В /etc/locale.gen добавить локали:
en_US.UTF-8 UTF-8
ru_RU.UTF-8 UTF-8
После этого выполнить locale-gen

Выбираем нужную локаль:

$ eselect locale list
Далее, думаю, ясно.

Проверяем правильность локали в /etc/env.d/02locale ; LC_ALL всегда должна быть пустой.

При условии terminus, в /etc/conf.d/consolefont должно быть consolefont=«ter-u16b» После этого обязательно выполнить:

$ rc-update add consolefont boot
$ /etc/init.d/consolefont stat
(Мне кажется, что именно здесь у тебя проблема; ты consolefont запустил?)
Про consoletranslation я слышу впервые.

Переключение клавиатуры, как сказали выше, настраивается в /etc/conf.d/keymaps . А вот доступные значения можно посмотреть в /usr/share/keymaps/i386/qwerty . Да, и чтобы изменения вступили в силу нужно перегрузиться или выполнить, ЕМНИП, env-update .

И еще: если ты смотришь русские имена файлов на сменном носителе с fat, то есть ненулевая вероятность, что ты его неправильно примонтировал.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Выбираем нужную локаль:

разве это не переведёт консоль на русский?

consolefont запустил?

да

fat

нет

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

разве это не переведёт консоль на русский?

Ну, так выбери английскую. Главное чтобы было хоть что-то выбрано и с UTF-8. Я тоже сторонник английского, у меня вообще вот так:

$ locale
LANG=en_US.UTF-8
LC_CTYPE=ru_RU.UTF-8
LC_NUMERIC=ru_RU.UTF-8
LC_TIME=ru_RU.UTF-8
LC_COLLATE=ru_RU.UTF-8
LC_MONETARY=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_PAPER=ru_RU.UTF-8
LC_NAME=ru_RU.UTF-8
LC_ADDRESS=ru_RU.UTF-8
LC_TELEPHONE=ru_RU.UTF-8
LC_MEASUREMENT=ru_RU.UTF-8
LC_IDENTIFICATION=ru_RU.UTF-8
LC_ALL=

consolefont запустил?

да

fat

нет

Может у тебя имена файлов в не-UTF8?

Вот это что выдает?

$ LC_TIME=ru_RU.UTF-8 date

На русском писать можешь?

Kroz ★★★★★
()

Юникод на tty1, возможно ли? Мне нужна поддержка кандзи, сейчас там с терминусом всё нечитаемо (предположительно в терминусе нет иероглифов).

wakuwaku ★★★★
()
Ответ на: комментарий от Kroz

Главное чтобы было хоть что-то выбрано и с UTF-8

спс.

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

Эмм... В голой консоли нет. В иксах - зависит от твоего DE. У меня KDE, там в настройках шрифтов все выставляется: мне хватило 96DPI (проверял для своего моника), субпиксельное сглаживание, степень: slight. Ребята еще играются с `eselect fontconfig list`, но я здесь не силён. Ну, и плюс на вкус и цвет фломастеры... сам знаешь.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Про consoletranslation я слышу впервые.

Это такая древность. Когда нужно было с коишной системной локалью использовать шрифты с иной, например 866-ой картой символов. Сейчас актуально только для Эдика. :)

imul ★★★★★
()
Ответ на: комментарий от wakuwaku

Юникод на tty1, возможно ли?

В линуксе да, это же не бзд.

imul ★★★★★
()
Ответ на: комментарий от teod0r

а сглаживание можно включить?

можно, кроме сглаживания можно в 256 цветов и ttf шрифты - если использовать kmscon.

clojure
()

русских символов?

русских символов не существует, существуют кириллические символы русского алфавита.

clojure
()

Вот спасибо, добрые люди! И у меня наконец заработало с terminus :)

Sahas ★★★★☆
()
Ответ на: комментарий от Kroz

Когда выбрана русская раскладка не работает переключение между консолями по ALT+вбок.
Плюс по правому ALT+вбок вообще почему-то не работает.

Как выставить разрешение в консоли? В ядре выставлено:

CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=900

Но не уверен, что это то. Как посмотреть какое разрешение в консоли?



Как выставляется шрифт сообщений (и разрешение) загрузки ядра? В GRUB'е?

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

Когда выбрана русская раскладка не работает переключение между консолями по ALT+вбок.
Плюс по правому ALT+вбок вообще почему-то не работает.

Так по правому или вообще? По правому да, по умолчанию не работает. Но как всегда можно настроить. Покажи свой файл, где выставляется keymap (в Gentoo это /etc/conf.d/keymaps )

В ядре выставлено:
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1600
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=900
Но не уверен, что это то.

Вчитайся в названия: оно для мышки.

Как выставить разрешение в консоли?
Как посмотреть какое разрешение в консоли?

Зависит от того, какой фреймбуффер используешь http://gentoo-en.vfose.ru/wiki/Framebuffer . Если vesa, то параметр ядра vga=0x317 установит 1024x768x16bit; а еще можно написать vga=ask и далее при загрузке определить какие режимы доступны на твоей видяхе. посмотреть можешь вот так:

$ dmesg | grep -i "vesafb"

Если kms - то на интеле я выставлял нативное разрешение параметром ядра i915.modeset=1. Опять же читай соотв. мануал. Я люблю сначала выставить vesa (работает везде), а потом достраивать kms (там есть взаимоисключающие параметры vesa).

Если Grub2, то там еще можно выставить разрешение еще до загрузки ядра (иначе первые пару строк будут в текстовом режиме, а только потом ядро переключит в графический).

Kroz ★★★★★
()
Ответ на: комментарий от Waldo-de-Kard

Если бы Вы еще тыкнули как на блобе нвидии это сделать, было бы вообще хорошо.

Если блоб nvidia, то kms нет. Значит vesafb (с uvesafb не пробовал).

В ядре:

Device Drivers  --->
	Graphics support  --->
		<*> /dev/agpgart (AGP Support)  --->
		-*- Support for frame buffer devices  --->
			[*]   VESA VGA graphics support

А потом в параметрах ядра просто добавить vga=0x317 . А если добавить vga=ask , тогда при загрузке попросит ввести номер режима - полезно для первой настройки.

Или что значит где? Как параметры ядра добавлять, в курсе?

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Так по правому или вообще?

по правому вообще.
на русской раскладке оба не работают.

Но как всегда можно настроить. Покажи свой файл

keymap="ruwin_cplk-UTF-8"
windowkeys="YES"
extended_keymaps=""
#extended_keymaps="backspace keypad euro2"
dumpkeys_charset="koi8-r"
fix_euro="NO"

как профиксить? ещё у меня некоторые символы всё-равно прямоугольники, например в мане, там где перенос строки, но слово не закончилось, и в выводе некоторых команд.
и если ввести команду на русском, в 'command not found' имя команды цифрами.

consolefont="ter-u16b"

Вчитайся в названия: оно для мышки.

я подозревал

Зависит от того, какой фреймбуффер используешь http://gentoo-en.vfose.ru/wiki/Framebuffer

ни тот ни другой, у меня fglrx. в вики написано kms выключить. vesa можно вкючить?
помню давно видел статью в какой-то вике как настроить размер шрифта для fglrx, но потерял ссылку

Если Grub2, то там еще можно выставить разрешение

не подскажешь опцию?

teod0r ★★★★★
() автор топика

когда создавал тему, думал что тема избита, я неосилятор, тупю и неумею гуглить. а оказалось что есть кто тему отслеживает и даже кто добавил в избраноое

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

dumpkeys_charset=«koi8-r»

Вот это тебе зачем? Закомментируй. Не удивлюсь если профиксит «символы всё-равно прямоугольники».

Но это так, на вскидку, сейчас более детально посмотрю на раскладку

ни тот ни другой, у меня fglrx. в вики написано kms выключить. vesa можно вкючить?

Ну конечно! vesa - это «видеодрайвер», который прошит у тебя в BIOS. Иначе как бы ядро выводило видео пока модуль fglrx не загрузится?

не подскажешь опцию?

GRUB_GFXMODE=...
GRUB_GFXPAYLOAD=...
Но мопед не мой, в смысле лично я не пробовал, так находил в интернете раньше, потому и знаю. Глянь здесь рабочие конфиги: http://forums.gentoo.org/viewtopic-t-934178-start-0.html . Кстати, еще говорят, что, если установить обе опции, то vga=... в ядре не обязательно устанавливать; т. о. ядро не будет менять разрешение, а оставит то, что сделал grub2. Пробуй, гугли.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Вот это тебе зачем? Закомментируй. Не удивлюсь если профиксит «символы всё-равно прямоугольники».

помогло

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

по правому вообще.
на русской раскладке оба не работают.

Ух ты, и правда не работает!

Заходишь в /usr/share/keymaps/i386/qwerty . Копируешь ruwin_cplk-UTF-8.map.gz в какой-то ruwin_cplk-UTF-8-2.map.gz . Открываешь ruwin_cplk-UTF-8-2.map.gz в твоем любимом редакторе (по-моему все редакторы понимают сегодня .gz файлы). Находишь там определение кода 99; код 100 (который у тебя правая клавиша Alt) там пропущен. Добавляешь две строки, чтобы получилось вот так:

...
        alt     keycode  99 =   Control_backslash
altgr   alt     keycode  99 =   Control_backslash
                keycode 100 = Alt
altgr           keycode 100 = Alt
                keycode 101 =   Break
                keycode 102 =   Find
...
Это решает проблему с правым Alt.

Теперь решаем с переключением в русской раскладке. В том же файле ищешь коды кравиш 105 и 106. Эти бойцы не добавили соотв. коды для русской раскладки. Добавь строки с altgr вначале, чтобы получилось вот так:

...
                keycode 105 =   Left
        alt     keycode 105 =   Decr_Console
altgr   alt     keycode 105 =   Decr_Console
                keycode 106 =   Right
        alt     keycode 106 =   Incr_Console
altgr   alt     keycode 106 =   Incr_Console
...
Сохраняй. Меняй keymap на свой собственный ruwin_cplk-UTF-8-2 , перезапускай демон keymap или перегружай систему. Должно заработать. У меня заработало.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Как минимум:

Устаревший параметр ask более не поддерживается

То ли у меня руки не из того места, то ли следующим поколениям стоит это знать.

Waldo-de-Kard ★★
()
Ответ на: комментарий от Waldo-de-Kard

Как минимум:
Устаревший параметр ask более не поддерживается

Попробовал, у меня работает. Ядро 3.12.0 . Ну, тогда, наверное http://en.wikipedia.org/wiki/VESA_BIOS_Extensions#Linux_video_mode_numbers . Хотя там не все; вот я себе поставил 0x3D4, что соответствует 1680x1050 .

Кстати, по линку есть еще интересная подсказка как узнать режимы:

$ hwinfo --framebuffer
Ну, гентушникам предварительно сделать emerge hwinfo .

Kroz ★★★★★
()
Последнее исправление: Kroz (всего исправлений: 1)
Ответ на: комментарий от Kroz

спс!

по-моему все редакторы понимают сегодня .gz файлы

nano не умеет. это единственный редактор, который мне нравился. какие ещё есть хорошие? vi(m) не предлагать

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

в ядре есть опции
CONFIG_FB_BOOT_VESA_SUPPORT
CONFIG_FB_VESA
CONFIG_FB_UVESA
их надо включать?
пробовал включить, один фиг:
в грабе пробовал опции — ничего не поменялось. может и так само выбрало максимальное разрешение? как посмотреть какое сейчас разрешение в консоли?

dmesg | grep -i vesa

пусто

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

Зачем ставить калошлак всякий, если можно в консоли Grub ввести «vbeinfo» и он сразу даст инфу?
По теме. свой параметр типа «0x161» или как-то так ядро почему-то так и не съело. Помогло следующее: в

/etc/default/grub
ввести два параметра:
GRUB_GFXMODE=1280x800x32
GRUB_GFXPAYLOAD_LINUX=1280x800x32
Vesa в ядро предварительно вкомпилировал.

Waldo-de-Kard ★★
()
Ответ на: комментарий от Kroz

И отдельный вопрос. По ссылке выше описаны три FB: uvesafb, vesafb, sisfb. В ядре их и того больше, в т.ч. nvidiafb и еще что-то. А инфы что выбирать из этого зоопарка раз-два и обчелся.

Waldo-de-Kard ★★
()
Ответ на: комментарий от Waldo-de-Kard

ачем ставить калошлак всякий, если можно в консоли Grub ввести «vbeinfo» и он сразу даст инфу?

Просто этим не пользовался. Говорю только о чем знаю.
Возьму на заметку.

И отдельный вопрос. По ссылке выше описаны три FB: uvesafb, vesafb, sisfb. В ядре их и того больше, в т.ч. nvidiafb и еще что-то. А инфы что выбирать из этого зоопарка раз-два и обчелся.

Хз. Я обычно выставляю либо vesa, либо kms. «Либо-либо», ибо у kms и vesa есть взаимоисключающие опции.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

Оказалось нифига не исправились прямоугольники. Просто в некоторых манах переносы нормально (например man man), а в некоторых нет (man bash).

Похоже фреймбуфер у меня как-то не так работает. При переключении между ttyями прокрутка вверх уже не работает.
Как узнать какое сейчас разрешение консоли?

У меня почему-то не работает SHIFT+(вверх|вниз), только SHIFT+(PG_UP|PG_DOWN).

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

ещё в описании опции CONFIG_FB_VESA сказано, что оно добавляет лого пингвинов при загрузке. У меня нет лого пингвинов при загрузке

teod0r ★★★★★
() автор топика
Ответ на: комментарий от Waldo-de-Kard

А у меня сверху два пингвина таких)

Поделись одним пингвином с teod0r. :)

NaiLi ★★
()
Ответ на: комментарий от NaiLi

Так выставлено?

нет. попробую. появление пингвинов в таком случае будет говорить о правильной работе fb, или не связано?

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

Если vesafb собрано в bzImage и корректно прописано в загрузчике то пингвин будет, и количество пингвинов зависит от количества ядер ЦП.

NaiLi ★★
()
Ответ на: комментарий от NaiLi

не появилось.
включение опции FRAMEBUFFER_CONSOLE тоже не изменило ситуации
в других дистрах logo есть

teod0r ★★★★★
() автор топика
Последнее исправление: teod0r (всего исправлений: 2)
Ответ на: комментарий от teod0r

Можно. Я выше (11.06.2014 0:10:48) описывал как редактировать раскладку. Там же можно поменять поведение PgUp/Down. Если не разберешься - маякуй.

Kroz ★★★★★
()

хендбук - в зубы, и вперед

MyTrooName ★★★★★
()
Ответ на: комментарий от Kroz

Kroz, не разобрался как сделать PgUp/Down без шифта.
походу там нет заготовок для этих комбинаций, или просто я что-то не понял

плюс хотелось бы заставить работать SHIFT+UP/DOWN для прокрутки

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

походу там нет заготовок для этих комбинаций, или просто я что-то не понял

Вот же:

                keycode 104 =   Prior   
        shift   keycode 104 =   Scroll_Backward
altgr   shift   keycode 104 =   Scroll_Backward

                keycode 109 =   Next    
        shift   keycode 109 =   Scroll_Forward
altgr   shift   keycode 109 =   Scroll_Forward

Замени Prior на Scroll_Backward , а Next на Scroll_Forward. Только учти, это повлияет и на другие консольные приложения, например mc.

У меня работает.

Kroz ★★★★★
()
Ответ на: комментарий от Kroz

спасибо.
почему Shift+UP/DOWN не работает в консоли? это связано с тем что так и не настроил fb?

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