Автор Тема: Проблеми с кирилицата в конзола  (Прочетена 1974 пъти)

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Здравейте. Преди около половин година имах "конзолен период" в който почти не пусках графична среда. Тогава бях със Слак 10.1. Тогава някак си бях кирилизирал прекрасно конзолата, абсолютно всички програми ми показваха кирилица и безпроблемно пишех в тях на кирилица.
Сега съм на някаква смесица между 10.2 и current, която си работи прекрасно, но лошото е че пак започва да ме влече конзолата...
Едното е, че не си спомням как съм кирилизирал тогава, другото е, че не мога да намеря една статия на г-н vstoykov, която мисля, че използвах за кирилизацията тогава.
Ето какво правя сега за да кирилизирам:
В rc.local добавям следните два реда:
setfont -m cp1251 -f Cyr_a8x16
loadkeys /usr/share/kbd/keymaps/i386/qwerty/bg_pho-cp1251.map.gz

При това положение имам кирилица в конзолата и превключвам между регистрите с ctrl + shift. Не съм правил абсолютно никакви други настройки. Графичната среда (КДЕ) съм си кирилизирал като през менюто съм добавил шрифтове.

Проблема е че програми като lynx/links пак си показват буквите на латиница. А B i t c h X (пиша го с интервали, че форума го цензурира... а какво съм виновен, че програмата се казва така '<img'>) показва кирилските символи като празни (като интервали). И когато пиша и когато ми пишат.
"КучкатаХ" дори ми разваля и глобалните настройки на потребителя.. в смисъл, че след като изляза от нея, пак виждам и пиша кирилицата като интервали. Налага се да задам пак командата
setfont -m cp1251 -f Cyr_a8x16 за да мога да използвам кирлица.
Само vi се държи нормално и с него мога да чета и пиша на кирлица.
 
 Нужно ли е да настройвам всяка програма по отделно, или може да се направи нещо глобално (каквото предпочитам дa може)

Още един проблем имам. До ден днешен не успях да накарам системата ми да ми разпознава кирилица в имената на фалове. Нито в конзола, нито в графична среда. Бих се радвал на помощ и в това отношение.
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

Hater

  • Участници
  • ***
  • Публикации: 11
    • Профил
Проблеми с кирилицата в конзола
« Отговор #1 -: Dec 21, 2005, 11:41 »
http://linux-bg.exco.net/cgi-bin....6926377

Виь това и си го инсталирай. На мен ми оправи bg-то в конзолата и имената на файловете. Надявамсе, че и при теб ще стане.
Активен

  • Гост
Проблеми с кирилицата в конзола
« Отговор #2 -: Dec 21, 2005, 12:16 »
Аз си го оправям от /etc/profile.d/lang.sh
Активен

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Проблеми с кирилицата в конзола
« Отговор #3 -: Dec 21, 2005, 17:45 »
Ах, сега виждам, че съм пуснал темата в секцията за хардуер. Извинявам се много. Моля, преместете я, ако не е проблем.
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Проблеми с кирилицата в конзола
« Отговор #4 -: Dec 21, 2005, 18:32 »
Това е статията:
http://vstoykov.hit.bg/linuxdoc/bg-howto/

В тази версия съм обновил информацията за настройка на конзолата. Добавил съм инструкции как се кирилизира на UTF-8. За съвместимост със стари програми ползвам този скрипт:

vslive-run-cp1251-program.sh
Примерен код

#!/bin/sh

if [ "$*" = "" ]; then
 echo "Това е скрипт, който стартира програма, която не поддържа utf-8."
 echo "грешка: Няма зададени параметри."
 echo "Позлване: $0 програма параметри"
 exit
fi

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

# stop unicode
kbd_mode -a
echo -n -e '\033%@'

#setfont -m cp1251 -f ter-c20b
setfont -m cp1251 -f Cyr_a8x16

CP1251_KEYMAP=`cat /etc/rc.d/rc.keymap 2>/dev/null | cut -d "#" -f 1 | grep loadkeys | crunch  | cut -d " " -f 2 | sed s/utf8/cp1251/`

if [ "$CP1251_KEYMAP" = "" ]; then
 CP1251_KEYMAP=bg_pho-cp1251_alt_ctrl_shift
fi

loadkeys $CP1251_KEYMAP

LANG=bg_BG "$@"

/etc/profile.d/lang.sh
/etc/rc.d/rc.keymap
;;

*)
LANG=bg_BG "$@"
;;
esac


Този скрипт ще го има в новата версия на VS Live.

Някои програми (КучкатаХ) нарочно скапват шрифта (пробва ли irssi?). Такива програми може да ги пускаш със скрипта по-горе - той се грижи след спиране на програмата да оправи шрифта и каквото друго по конзолата се е счупило (може би е един "reset" трябва да се изпълни веднага след изпълнението на програмата?).

Програмата Midnight Commander се нуждае от закърпване за да работи с UTF-8 (ползвам текстовия редактор на тази програма, защото ми е най-удобен от всички подобни програми за виртуален терминал).

Обърни внимание на:
"6. Особености на различните дистрибуции"
Там все още има примерни настройки само за локал bg_BG (т.е. кодиране CP1251). Скоро ще дам и примерни настройки за локал bg_BG.UTF-8.

Ако се спреш на UTF-8 имай предвид, че не всички програми са предвидени да могат да ползват UTF-8 и ще трябва да ги пускаш с горепосочения скрипт.
Активен

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Проблеми с кирилицата в конзола
« Отговор #5 -: Dec 21, 2005, 20:41 »
Ето, на това казвам "прекрасно" '<img'>
Благодаря!
Незнайно как, но след като пуснах една програма през скрипта, вече мога да чета дори файлови имена на кирилица '<img'>
Сега изниква въпроса как да си кирилизирам файловите имена в графичната среда, но няма значение... в крайна сметка нали си имам конзола '<img'>
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

vstoykov

  • Напреднали
  • *****
  • Публикации: 1286
  • Distribution: Ubuntu
  • Window Manager: Fluxbox
    • Профил
    • WWW
Проблеми с кирилицата в конзола
« Отговор #6 -: Dec 21, 2005, 21:05 »
Променливата LANG предполагам, че ще оправи имената на кирилица навсякъде. Ако избереш  bg_BG трябва да се установи стойност 1 на G_BROKEN_FILENAMES. Виж примерните конфигурационни файлове за Slackware ако ползваш локал bg_BG (кодиране CP1251). Ако си на bg_BG.UTF-8 ето ти моите файлове:

rc.font
Примерен код

#!/bin/sh
#
# Този скрипт зарежда шрифт за виртуален терминал (текстова конзола).
# Достъпните шрифтове се намират в директорията
# /usr/share/kbd/consolefonts.
#

# Внимание: да не се ползва "-m cp1251" при bg_BG.UTF-8
# следващите два реда са примери за настройка при bg_BG.cp1251
#setfont -m cp1251 -f Cyr_a8x16 2>/dev/null
#setfont -m cp1251 -f ter-c20b 2>/dev/null

# Следващите два реда са примери за настройка при bg_BG.UTF-8
setfont Cyr_a8x16 2>/dev/null
#setfont ter-v20b 2>/dev/null


rc.keymap
Примерен код

#!/bin/sh
#
# Този скрипт зарежда клавиатурната подредба (keymap).
# Директорията на клавиатурните продредби
# по подразбиране е /usr/share/kbd/keymaps
#

# Подредби по БДС:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_bds-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_bds-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_bds-utf8

# Фонетични подредби:
# превключване Alt+Shift, Ctrl+Shift и Menu: bg_pho-utf8_alt_ctrl_shift
# превключване Ctrl+Shift и Menu:            bg_pho-utf8_ctrl_shift
# превключване Alt+Shift и Menu:             bg_pho-utf8

#kbd_mode -a # режим ASCII
kbd_mode -u # режим UTF-8

loadkeys bg_pho-utf8_alt_ctrl_shift


lang.sh
Примерен код

#!/bin/sh

# Пример:
# export LANG="bg_BG.UTF-8"

export LANG="bg_BG.UTF-8"

export LESSCHARSET=utf-8
export G_BROKEN_FILENAMES=1

case `tty` in
/dev/console|/dev/tty[0-9]|/dev/vc/[0-9]*)

kbd_mode -u # режим Unicode
echo -n -e '\033%G' # кодиране UTF-8

. /etc/rc.d/rc.font

;;
esac


За да се виждат файловете на кирилица както трябва за файлови системи на Windows вж. точка 5.1.

Не съм сигурен дали iocharset=utf8 не трябва да се замени само с utf8 и nls=utf8 само с utf8  при локал UTF-8...
Активен

loxs

  • Напреднали
  • *****
  • Публикации: 307
    • Профил
Проблеми с кирилицата в конзола
« Отговор #7 -: Dec 21, 2005, 21:41 »
*Гледа като тряснат*
Скриптът ви е някакъв магьосник, г-н Стойков.
Едно пускане на програма с него (през руут) и рестарт на системата доведе до пълна и перфектна кирилизация на системата.
Даже малко се престара, защото ми направи GAIM на български '<img'>
Благодаря '<img'>
Активен

Linux is like a wigwam - no windows, no gates, apache inside!
We shall walk together through all eternity. Wandering in the shadows, spreading the fear!
Gentoo - Baselayout 1.12.9-r2
Linux 2.6.21-suspend2-r6 Mon Jun 25 17:48:08 EEST 2007

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Проблеми с кирилицата в конзола
« Отговор #8 -: Dec 21, 2005, 21:41 »
местене
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

CyberBoy

  • Напреднали
  • *****
  • Публикации: 142
    • Профил
    • WWW
Проблеми с кирилицата в конзола
« Отговор #9 -: Dec 23, 2005, 01:04 »
Ако не се лъжа, пакета bglinux на Антон Зиновиев вършеше прекрасно всичките неща, които бяха дискутирани в тази тема. Споменавам просто като алтернатива '<img'>
Активен

WWC

  • Участници
  • ***
  • Публикации: 8
    • Профил
Проблеми с кирилицата в конзола
« Отговор #10 -: Dec 25, 2005, 16:07 »
Цитат (CyberBoy @ Дек. 23 2005,02:04)
Ако не се лъжа, пакета bglinux на Антон Зиновиев вършеше прекрасно всичките неща, които бяха дискутирани в тази тема. Споменавам просто като алтернатива '<img'>

ами мисля, че е доста по-добър начин, защото става буквално за 1 минута, а и всичко се свежда до няколко yes-а
Активен