Кирилизация консоли (utf8) редхатообразных дистрибутивов

()

В последнее время, дистрибутивы становятся все более и более русифицированными, но это как правило касается графической среды.

Иногда возникает желание работать с кирилицей в консоли. В свое время, еще под восьмым редхатом, я пытался разобраться как этого добиться, чем и хочу поделиться.

Для русификации консоли я отредактировал и заменил одну из кирилических раскладок я брал ru_win в каталоге /lib/kbd/keymaps/i386/querty на следующее:

! $Header: /home/abel/cvs/src/misc/cyr/ru_win.map,v 1.1 1998/03/05 23:05:32 abel Exp $
!
! Russian cp1251 (Windows Cyrillic) keyboard.map. 
!
! Adapted from ru.map by Alexander L. Belikoff (abel@bfr.co.il)
!
! "Cyrillic" mode is toggled by Right_Ctrl key and shifted by AltGr key.


		keycode	0 =
		keycode	1 =	Escape	Escape		Escape	Escape
	alt	keycode	1 =	Meta_Escape
		keycode	2 =	one	exclam		one	exclam
	alt	keycode	2 =	Meta_one	
		keycode	3 =	two	at		two	quotedbl
	control	keycode	3 =	nul	
	alt	keycode	3 =	Meta_two	
		keycode	4 =	three	numbersign	three	U+2116
	control	keycode	4 =	Escape
	alt	keycode	4 =	Meta_three
		keycode	5 =	four	dollar		four	semicolon
	control	keycode	5 =	Control_backslash
	alt	keycode	5 =	Meta_four
		keycode	6 =	five	percent		five	percent
	control	keycode	6 =	Control_bracketright
	alt	keycode	6 =	Meta_five
		keycode	7 =	six	asciicircum	six	colon
	control	keycode	7 =	Control_asciicircum
	alt	keycode	7 =	Meta_six	
		keycode	8 =	seven	ampersand	seven	question
	control	keycode	8 =	Control_underscore
	alt	keycode	8 =	Meta_seven
		keycode	9 =	eight	asterisk	eight	asterisk
	control	keycode	9 =	Delete	
	alt	keycode	9 =	Meta_eight
		keycode	10 =	nine	parenleft	nine	parenleft
	alt	keycode	10 =	Meta_nine
		keycode	11 =	zero	parenright	zero	parenright
	alt	keycode	11 =	Meta_zero
		keycode	12 =	minus	underscore	minus	underscore
	control	keycode	12 =	Control_underscore
	alt	keycode	12 =	Meta_minus
		keycode	13 =	equal	plus		equal	plus
	alt	keycode	13 =	Meta_equal
		keycode	14 =	BackSpace BackSpace	BackSpace BackSpace
	alt	keycode	14 =	Meta_Delete
		keycode	15 =	Tab	Tab		Tab	Tab	
	alt	keycode	15 =	Meta_Tab	
		keycode	16 =	+q	+Q		U+0439	U+0419
	control	keycode	16 =	Control_q
altgr	control	keycode	16 =	Control_q
		keycode	17 =	+w	+W		U+0446	U+0426
	control	keycode	17 =	Control_w
altgr	control	keycode	17 =	Control_w
		keycode	18 =	+e	+E		U+0443	U+0423
	control	keycode	18 =	Control_e
altgr	control	keycode	18 =	Control_e
		keycode	19 =	+r	+R		U+043A	U+041A
	control	keycode	19 =	Control_r
altgr	control	keycode	19 =	Control_r
		keycode	20 =	+t	+T		U+0435	U+0415
	control	keycode	20 =	Control_t
altgr	control	keycode	20 =	Control_t
		keycode	21 =	+y	+Y		U+043D	U+041D
	control	keycode	21 =	Control_y
altgr	control	keycode	21 =	Control_y
		keycode	22 =	+u	+U		U+0433	U+0413
	control	keycode	22 =	Control_u
altgr	control	keycode	22 =	Control_u
		keycode	23 =	+i	+I		U+0448	U+0428
	control	keycode	23 =	Tab
altgr	control	keycode	23 =	Tab
		keycode	24 =	+o	+O		U+0449	U+0429
	control	keycode	24 =	Control_o
altgr	control	keycode	24 =	Control_o
		keycode	25 =	+p	+P		U+0437	U+0417
	control	keycode	25 =	Control_p
altgr	control	keycode	25 =	Control_p
		keycode	26 =	bracketleft braceleft	U+0445	U+0425
	control	keycode	26 =	Escape	
altgr	control	keycode	26 =	Escape	
	alt	keycode	26 =	Meta_bracketleft
		keycode	27 =	bracketright braceright	U+044A   U+042A
	control	keycode	27 =	Control_bracketright
altgr	control	keycode	27 =	Control_bracketright
	alt	keycode	27 =	Meta_bracketright
		keycode	28 =	Return	
	alt	keycode	28 =	0x080d	
		keycode	29 =	Control	
		keycode	30 =	+a	+A		U+0444	U+0424
	control	keycode	30 =	Control_a
altgr	control	keycode	30 =	Control_a
		keycode	31 =	+s	+S		U+044b	U+042b
	control	keycode	31 =	Control_s
altgr	control	keycode	31 =	Control_s
		keycode	32 =	+d	+D		U+0432	U+0412
	control	keycode	32 =	Control_d
altgr	control	keycode	32 =	Control_d
		keycode	33 =	+f	+F		U+0430	U+0410
	control	keycode	33 =	Control_f
altgr	control	keycode	33 =	Control_f
		keycode	34 =	+g	+G		U+043F	U+041F
	control	keycode	34 =	Control_g
altgr	control	keycode	34 =	Control_g
		keycode	35 =	+h	+H		U+0440	U+0420
	control	keycode	35 =	BackSpace
altgr	control	keycode	35 =	BackSpace
		keycode	36 =	+j	+J		U+043E	U+041E
	control	keycode	36 =	Linefeed
altgr	control	keycode	36 =	Linefeed
		keycode	37 =	+k	+K		U+043B	U+041B
	control	keycode	37 =	Control_k
altgr	control	keycode	37 =	Control_k
		keycode	38 =	+l	+L		U+0434	U+0414
	control	keycode	38 =	Control_l
altgr	control	keycode	38 =	Control_l
		keycode	39 =	semicolon colon		U+0436	U+0416
	alt	keycode	39 =	Meta_semicolon
		keycode	40 =	apostrophe quotedbl	U+044D	U+042D
	control	keycode	40 =	Control_g
altgr	control	keycode	40 =	Control_g
	alt	keycode	40 =	Meta_apostrophe
		keycode	41 =	grave	asciitilde	U+0451	U+0401
	control	keycode	41 =	nul	
	alt	keycode	41 =	Meta_grave
		keycode	42 =	Shift	
		keycode	43 =	backslash bar		backslash bar	
	control	keycode	43 =	Control_backslash
	alt	keycode	43 =	Meta_backslash
		keycode	44 =	+z	+Z		U+044f	U+042f
	control	keycode	44 =	Control_z
altgr	control	keycode	44 =	Control_z
		keycode	45 =	+x	+X		U+0447	U+0427
	control	keycode	45 =	Control_x
altgr	control	keycode	45 =	Control_x
		keycode	46 =	+c	+C		U+0441	U+0421
	control	keycode	46 =	Control_c
altgr	control	keycode	46 =	Control_c
		keycode	47 =	+v	+V		U+043c	U+041c
	control	keycode	47 =	Control_v
altgr	control	keycode	47 =	Control_v
		keycode	48 =	+b	+B		U+0438	U+0418
	control	keycode	48 =	Control_b
altgr	control	keycode	48 =	Control_b
		keycode	49 =	+n	+N		U+0442	U+0422
	control	keycode	49 =	Control_n
altgr	control	keycode	49 =	Control_n
		keycode	50 =	+m	+M		U+044c	U+042c
	control	keycode	50 =	Control_m
altgr	control	keycode	50 =	Control_m
		keycode	51 =	comma	less		U+0431	U+0411
	alt	keycode	51 =	Meta_comma
		keycode	52 =	period	greater		U+044e	U+042e
	alt	keycode	52 =	Meta_period
		keycode	53 =	slash	question	period	comma
	control	keycode	53 =	Delete	
	alt	keycode	53 =	Meta_slash
		keycode	54 =	Shift
		keycode	55 =	KP_Multiply
		keycode	56 =	Alt	
		keycode	57 =	space	space		space	space	
	control	keycode	57 =	nul	
	alt	keycode	57 =	Meta_space
		keycode	58 =	Caps_Lock
		keycode	59 =	F1	F11	F1	F11
	control	keycode	59 =	F1	
	alt	keycode	59 =	Console_1
altgr	alt	keycode	59 =	Console_1
		keycode	60 =	F2	F12	F2	F12
	control	keycode	60 =	F2	
	alt	keycode	60 =	Console_2
altgr	alt	keycode	60 =	Console_2
		keycode	61 =	F3	F13	F3	F13
	control	keycode	61 =	F3	
	alt	keycode	61 =	Console_3
altgr	alt	keycode	61 =	Console_3
		keycode	62 =	F4	F14	F4	F14
	control	keycode	62 =	F4	
	alt	keycode	62 =	Console_4
altgr	alt	keycode	62 =	Console_4
		keycode	63 =	F5	F15	F5	F15
	control	keycode	63 =	F5	
	alt	keycode	63 =	Console_5
altgr	alt	keycode	63 =	Console_5
		keycode	64 =	F6	F16	F6	F16
	control	keycode	64 =	F6	
	alt	keycode	64 =	Console_6
altgr	alt	keycode	64 =	Console_6
		keycode	65 =	F7	F17	F7	F17
	control	keycode	65 =	F7	
	alt	keycode	65 =	Console_7
altgr	alt	keycode	65 =	Console_7
		keycode	66 =	F8	F18	F8	F18
	control	keycode	66 =	F8	
	alt	keycode	66 =	Console_8
altgr	alt	keycode	66 =	Console_8
		keycode	67 =	F9	F19	F9	F19
	control	keycode	67 =	F9	
	alt	keycode	67 =	Console_9
altgr	alt	keycode	67 =	Console_9
		keycode	68 =	F10	F20	F10	F20
	control	keycode	68 =	F10	
	alt	keycode	68 =	Console_10
altgr	alt	keycode	68 =	Console_10
		keycode	69 =	Num_Lock	
		keycode	70 =	Scroll_Lock	Show_Memory	Show_Registers
	control	keycode	70 =	Show_State
	alt	keycode	70 =	Scroll_Lock
		keycode	71 =	KP_7	
	alt	keycode	71 =	Ascii_7	
		keycode	72 =	KP_8	
	alt	keycode	72 =	Ascii_8	
		keycode	73 =	KP_9	
	alt	keycode	73 =	Ascii_9	
		keycode	74 =	KP_Subtract
		keycode	75 =	KP_4	
	alt	keycode	75 =	Ascii_4	
		keycode	76 =	KP_5	
	alt	keycode	76 =	Ascii_5	
		keycode	77 =	KP_6	
	alt	keycode	77 =	Ascii_6	
		keycode	78 =	KP_Add	
		keycode	79 =	KP_1	
	alt	keycode	79 =	Ascii_1	
		keycode	80 =	KP_2	
	alt	keycode	80 =	Ascii_2	
		keycode	81 =	KP_3	
	alt	keycode	81 =	Ascii_3	
		keycode	82 =	KP_0	
	alt	keycode	82 =	Ascii_0	
		keycode	83 =	KP_Period
altgr	control	keycode	83 =	Boot	
control	alt	keycode	83 =	Boot	
		keycode	84 =	Last_Console
		keycode	85 =
		keycode	86 =	less	greater	bar	
	alt	keycode	86 =	Meta_less
		keycode	87 =	F11	F11	F11	F11
	control	keycode	87 =	F11	
	alt	keycode	87 =	Console_11
altgr	alt	keycode	87 =	Console_11
		keycode	88 =	F12	F12	F12	F12
	control	keycode	88 =	F12	
	alt	keycode	88 =	Console_12
altgr	alt	keycode	88 =	Console_12
		keycode	89 =
		keycode	90 =
		keycode	91 =
		keycode	92 =
		keycode	93 =
		keycode	94 =
		keycode	95 =
		keycode	96 =	KP_Enter	
		keycode	97 =	AltGr_Lock
		keycode	98 =	KP_Divide
		keycode	99 =	VoidSymbol
	control	keycode	99 =	Control_backslash
	alt	keycode	99 =	Control_backslash
		keycode	100 =	AltGr	
		keycode	101 =	Break	
		keycode	102 =	Find	
		keycode	103 =	Up	
		keycode	104 =	Prior	
	shift	keycode	104 =	Scroll_Backward
		keycode	105 =	Left	
        alt     keycode 105 =	Decr_Console
		keycode 106 =	Right
        alt     keycode 106 =	Incr_Console
		keycode	107 =	Select	
		keycode	108 =	Down	
		keycode	109 =	Next	
	shift	keycode	109 =	Scroll_Forward
		keycode	110 =	Insert	
		keycode	111 =	Remove	
altgr	control	keycode	111 =	Boot	
control	alt	keycode	111 =	Boot	
		keycode	112 =
		keycode	113 =
		keycode	114 =
		keycode	115 =
		keycode	116 =
		keycode	117 =
		keycode	118 =
		keycode	119 =
		keycode	120 =
		keycode	121 =
		keycode	122 =
		keycode	123 =
		keycode	124 =
		keycode	125 =
		keycode	126 =
		keycode	127 =
string	F1 =	"\033[[A"
string	F2 =	"\033[[B"
string	F3 =	"\033[[C"
string	F4 =	"\033[[D"
string	F5 =	"\033[[E"
string	F6 =	"\033[17~"
string	F7 =	"\033[18~"
string	F8 =	"\033[19~"
string	F9 =	"\033[20~"
string	F10 =	"\033[21~"
string	F11 =	"\033[23~"
string	F12 =	"\033[24~"
string	F13 =	"\033[25~"
string	F14 =	"\033[26~"
string	F15 =	"\033[28~"
string	F16 =	"\033[29~"
string	F17 =	"\033[31~"
string	F18 =	"\033[32~"
string	F19 =	"\033[33~"
string	F20 =	"\033[34~"
string	Find =	"\033[1~"
string	Insert =	"\033[2~"
string	Remove =	"\033[3~"
string	Select =	"\033[4~"
string	Prior =	"\033[5~"
string	Next =	"\033[6~"
string	F21 =	""
string	F22 =	""
string	F23 =	""
string	F24 =	""
string	F25 =	""
string	F26 =	""


! end of $Source: /home/abel/cvs/src/misc/cyr/ru_win.map,v $

Затем запустил redhat-config-keyboard и выбрал измененную расладку консоль работает в utf8 нормально.

P.S. CapsLock у меня не работает для русских букв. Если знаете как исправить - пишите.

Комментарии:

Killy 2008-11-13 14:35:40 (#)

Попробуй добавить

altgr keycode 58 = Caps_Lock

Killy 2008-11-13 17:56:42 (#)

Или

keycode 58 = Caps_Lock
shift keycode 58 = Caps_Lock
altgr shift keycode 58 = Caps_Lock

Killy 2008-11-13 20:39:57 (#)

У меня на убунте заработало, но криво - настройки консоли тут странные. Лучше дома на Генту посмотрю... - это с UTF-8

А с KOI8-R должно работать нормально, ИМХО
Новый комментарий



© 2006-2016 Вадим Калинников aka MooSE

Труба вентиляционная пластиковая прямоугольная ключевые особенности пластиковых труб.