Решение проблемы отображения кириллицы в lynx

Собственно, некое продолжение темы из предыдущей заметки. Мне и потребовались русские буквы в консоли для того, чтобы вбивать их в строку поиска гугеля из консольного браузера lynx. Так уж получилось, что был недавно в ситуации, где окромя консоли ничего нет, а почитать новости или Мракопедию хотелось. Или в гугель что-нибудь вбить.
Но lynx с настройками по умолчанию подложил мне свинью, точнее маленького поросеночка. Русскоязычные сайты отображались translitom.

Оказалось, что лечится довольно просто (во всяком случае у меня)
1. Запускаем lynx на каком-нибудь сайте с русским текстом. Например lynx tolik-punkoff.com
2. Видим translit, но смело нажимаем кнопку «o» (латинская буква «о») и попадаем в окно с настройками браузера.
3. Пролистываем настройки (клавишами вверх/вниз) и становимся на пункт Display character set в разделе Display and Character Set, и видим там какую-нибудь фигню вроде Western (cp850)
4. Поднимаемся выше на пункт Use locale-based character set, жмем Enter, в выпадающем списке выбираем On, жмем Enter
5. Поднимаемся вверх до пункта сохранения изменений (Accept Changes) и жмем на нем Enter

Lynx сама определит кодировку, которую использует терминал, сохранит изменения на текущую сессию и перекинет нас обратно на сайт.

Если все получилось, значит, терминал русифицирован, и lynx определил его кодировку

Если нет — скорее всего, косяк где-то в русификации консоли.

Осталось сохранить это на веки вечные. 🙂

Еще раз нажимаем кнопку «o», спускаемся на пункт Save options to disk: [ ], устанавливаем чекбокс нажатием на нем Enter и сохраняем изменения, как описывалось выше.
Можно ради интереса спуститься к пункту Display character set и посмотреть, какую кодировку определил браузер. У меня, как и ожидалось, оказалась UNICODE (UTF-8)

Маленькая заметка по русификации консоли в Slackware

Понадобились мне русские буквы в чистой консоли. Решилось все на удивление просто.

I. Подключение консольного шрифта, поддерживающего кириллицу

Делается в файле /etc/rc.d/rc.font

Его надо изменить так, чтобы подгружался нужный шрифт. Мне повезло, и шрифт, устраивающий меня, подгружался из коробки.
Но если шрифт не устраивает, то идем в /usr/share/kbd/consolefonts и смотрим, какие там есть шрифты, соответственно изменяя /etc/rc.d/rc.font по своему вкусу.
Например, шрифты у меня были такие:
LatArCyrHeb-19.psfu.gz
LatArCyrHeb-16.psfu.gz
LatArCyrHeb-14.psfu.gz
LatArCyrHeb-16+.psfu.gz
LatArCyrHeb-08.psfu.gz
А сам rc.font выглядел так:
#!/bin/sh
#
# This selects your default screen font from among the ones in
# /usr/share/kbd/consolefonts.
#
#setfont -v
setfont -v LatArCyrHeb-16.psfu.gz

Вроде все интуитивно понятно.

II. Настройка переключения раскладки клавиатуры.

В файл /etc/rc.d/rc.keymap дописываем (или правим соответствующую по виду) строчку:
/usr/bin/loadkeys /usr/share/kbd/keymaps/i386/qwerty/ruwin_ctrl-UTF-8.map.gz

Где самое интересное — файл ruwin_ctrl-UTF-8.map.gz В этом файле содержится описание раскладки клавиатуры и способа переключения.

Цитата из источника [2]:
Стоит прежде всего обратить внимание на ruwin под разные кодировки и варианты переключения:

$ (cd /usr/share/kbd/keymaps/i386/qwerty/; ls -1 ru*)
ru1.map.gz
ru2.map.gz
ru3.map.gz
ru4.map.gz
ru-cp1251.map.gz
ru.map.gz
ru-ms.map.gz
ruwin_alt-CP1251.map.gz
ruwin_alt-KOI8-R.map.gz
ruwin_alt-UTF-8.map.gz
ruwin_cplk-CP1251.map.gz
ruwin_cplk-KOI8-R.map.gz
ruwin_cplk-UTF-8.map.gz
ruwin_ctrl-CP1251.map.gz
ruwin_ctrl-KOI8-R.map.gz
ruwin_ctrl-UTF-8.map.gz
ruwin_ct_sh-CP1251.map.gz
ruwin_ct_sh-KOI8-R.map.gz
ruwin_ct_sh-UTF-8.map.gz
ru_win.map.gz
ru-yawerty.map.gz
Конец цитаты

На терминал, запускающийся из X, эти настройки не влияют, как и на PuTTY.
В PuTTY раскладка в консоли переключается аналогично раскладке во всем остальном Windows, а в иксах — соответственно настройкам иксов. Хотя на всякий случай я выбрал переключение левым Ctrl, которое отличается от моего виндового Ctrl+Shift, чисто на всякий случай, мало ли в PuTTY или еще где что поменяется, а я потом забуду где что менял.

III. Используемые источники.

1. Русификация Slackware 12
2. Русификация консоли в Slackware 14