CITKIT.ru - свободные мысли о свободном софте
Деловая газета CitCity.ru Библиотека CITForum.ru Форумы Курилка
Каталог софта Движение Open Source Дискуссионный клуб Дистрибутивы Окружение Приложения Заметки Разное
12.11.2019

Последние комментарии

ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)
24 December, 22:53
Kubuntu Feisty (15)
24 December, 18:42
Один на один с Windows XP (3758)
24 December, 11:46

Каталог софта

Desktop
Internet
Internet-серверы
Безопасность
Бизнес/Офис
Игры
Мультимедиа
Наука
Операционные системы
Программирование
СУБД
Создание веб-сайтов
Утилиты

Статьи

Дискуссионный клуб
Linux в школе
Open Source и деньги
Open Source и жизнь
Windows vs Linux
Копирайт
Кто такие анонимусы
Лицензии
Нетбуки
Нужен ли русский Linux?
Пользователи
Дистрибутивы
Идеология
Выбор дистрибутива
Archlinux & CRUX
Debian
Fedora
Gentoo
LFS
LiveCD
Mandriva
OpenSolaris
Slackware
Zenwalk
Другие линуксы
BSD
MINIX
Движение Open Source
История
Классика жанра
Окружение
shell
Библиотеки UI
Графические среды
Шрифты
Приложения
Безопасность
Управление пакетами
Разное
Linuxformat. Колонки Алексея Федорчука
Заметки
Блогометки
Файловые системы
Заметки о ядре

Дистрибутивы :: OpenSolaris

OpenSolaris: Как подружиться с тётей Клавой

CITKIT.ru

Страницы: 1 :: 2 :: 3 :: следующая

В одной из первых своих заметок про OpenSolaris я писал, что не всё там благополучно было с вводом кириллицы. Нет, сам по себе русский как язык ввода поддерживается, как говорится, "искаропки". То есть сразу после инсталляции (при выборе в ходе её соответствующих опций) имеются

  • локаль ru_RU.UTF-8, без малейших пережитков ISO'вщины, жалобы на которую мне доводилось слышать от опробователей просто Solaris'а;
  • набор хороших ttf-шрифтов Dejavu с поддержкой символов кириллицы (именно на соответствующие его гарнитуры указывают все alias'ы типа serif, sans и monospace);
  • русская раскладка клавиатуры и возможность переключения на неё (умолчальный переключатель — LControl+LShift);
  • индикатор текущей раскладки на одной из GNOME'вских панелей, служащий также дополнительным переключателем.

Казалось бы чего ещё желать русскоязычному (точнее, кириллопишущему) человеку, вне зависимости от его подданства и пятого пункта анкеты? Согласен, почти нечего, но:

  • раскладка клавиатуры по умолчанию — базовая Иксовая (так называемая basic Russian), совпадающая с DOS-маркировкой старых фабрично-русифицированных клавиатур; ныне изделий с такой маркировкой не найти даже в коллекциях антиквариата;
  • буква ё из этой раскладки почему-то изъята как класс — а какой же русский не любит буквы ё? кроме того, совершенно не задействованным оказался левый backslash;
  • под переключатель латиницы на кириллицу можно задействовать не все клавиши, традиционно используемые для этой цели; в частности, прикручивание этой функции к CapsLock имеет следствием эффект совершенно непредсказуемый;
  • наконец (и это самое главное), умолчальный вариант раскладки — единственно возможный; а ведь по сути своей это самая неудобная из всех раскладок, придуманных творческим гением руссифицирующего народа (все знаки препинания — на верхнем регистре).

Короче говоря, жить с такой раскладкой в пост-советской России категорически не комфортно. И когда я понял, что OpenSolaris для меня — это всерьёз и надолго, то начал искать пути к исправлению положения.

Предварительное Google'ние по теме показало, что путей таких имеется три:

  1. редактирование соответствующей секции файла /etc/X11/xorg.conf,
  2. использование утилиты setxkbmap, и наконец,
  3. детальная разборка с устройством штатного переключателя и его возможностями.

Начать я решил, разумеется, с первого способа, помятуя древний принцип, что Икс — он и в Африке who? — правильно, X, и везде через xorg.conf должен конфигурироваться более или менее одинаково. Однако если на счёт Африки, как показывает пример Ubuntu, это и верно, то за пределы Земли действие этого принципа не распространяется.

Начать с того что в свежеустановленном OpenSolaris файла /etc/X11/xorg.conf нет вообще. Действительно, современный Xorg позволяет, в принципе, запустить сам себя без всякого конфигурационного файла: тип графического чипа и характеристики видеоподсистемы определяются автоматически, управление шрифтами берёт на себя font-сервер, мыши и клавиатуры в базовой "железной" своей части одинаковы. Получается, что только для задания опций xkb он и нужен (а если, как мы увидим ниже, можно обойтись без xkb, то не нужен вообще).

Тем не менее, создать /etc/X11/xorg.conf труда не составляет. Для этого достаточно, подмазав режиссёра командой

$ su -

получить роль root'а, и дать команду

# Xorg -configure

Результатом её будет появление в каталоге /root прототипа Иксового конфига — файла xorg.conf.new с правильно (будем надеяться) определёнными базовыми параметрами — теми же самыми, которые автоматически определяются при запуске X-сервера без конфига. Остаётся только скопировать его куда следует

# cp /root/xorg.conf.new /etc/X11/xorg.conf

и отредактировать желательным образом секцию "InputDevice", которая в первозданном состоянии выглядит так:

        Identifier  "Keyboard0"
        Driver      "kbd"

Например, придать ей следующий вид:

Section "InputDevice"
	Identifier	"Keyboard1"
	Driver		"kbd"
	Option		"XkbRules"	"xorg"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us,ru"
	Option		"XkbVariant"	",winkeys"
	Option		"XkbOptions"	"grp:lwin_toggle"
EndSection

Здесь для русской раскладки используется вариант winkeys (при котором расположение клавиш совпадает с фабричной маркировкой на всех современных клавиатурах), а под переключатель латиница/кириллица задействуется левая win-клавиша — именно её я пользовал в этом качестве до начала разборок "Солнечной Клавой", ввиду невозможности задействовать ставший привычным CapsLock.

Перезагружаю X-сервер — то есть просто выхожу из сеанса пользователя, себя, любимого, и регистрируюсь в gdm по новой. На первый взгляд, всё стало почти как у Виктора Вагнера:

— Хорошо-то как, Клава...
— Да не Клава я!
— Всё равно хорошо...

Знаки препинания при русской раскладке стали вводиться в соответствие с их обозначением на клавишах, появилась столь любимая нами буква ё (правда говорят, что скоро введут йотированную б, и потребность в ней резко сократится), а левый backslash перестал генерировать нулевой символ. А после того как я скопировал свой неизменный уже ряд лет символьно-раскладочный файл path2/xkb/symbols/ru вместо оригинального /usr/X11R6/lib/X11/xkb/symbols/ru (в нём, в частности, этот самый левый backslash на нижнем регистре генерирует запятую — и какой альтернативно чудаковатый придумал поместить запятую на верхний регистр?), жизнь показалась прекрасной.

Тем не менее, удивительной она быть не перестала, и "Солнечная Клава" не замедлила показать, что она хоть и Клава, но не совсем та. Во-первых, штатный индикатор текущей раскладки перестал что-либо индицировать. Конечно, это не было полной неожиданностью — но, при отсутствии каких-либо световых индикаторов на самой клавиатуре (а таковые нынче становятся реликтами не только на ноутбуках, но и на десктопных моделях), оказалось вполне неприятным.

Во-вторых же, и главных, попытка задействовать в качестве переключателя CapsLock, к которому я привык за последние десять лет (и который исторически имеет полное право считаться наистандартнейшим из стандартных), окончилась провалом. Заменив последнюю строку предыдущего фрагмента конфига на

	Option		"XkbOptions"	"grp:caps_toggle"

завершив сеанс и попытавшись войти снова, я обнаружил что не могу ввести логин и пароль: сообщение gdm гласило, что у меня включён CapsLock, и выдавало ошибку авторизации. Благо, копия предыдущей загрузочной среды у меня имела место быть, и о возможности отката на неё я уже знал.

В результате сочетания этих двух факторов эксперимент с настройкой раскладок через xorg.conf был признан неудачным. Да и в любом случае это было бы лишь временным костылеобразным решением — уж больно оно не укладывалось в стройную системы конфигурирования OpenSolaris. Хотя способ этот годится, если надо на скорую руку подключить привычный вариант кириллической раскладки из числа стандартных для xkb (а это, если исключить base, который есть и так, — winkeys, typewriter, phonetic), не использовать "запрещенные" переключатели (пока в качестве такового я выявил лишь CapsLock) и довольствоваться индикацией текущей раскладки через светодиоды клавиатуры.

Вариант с setxkbmap я оставил на самый крайний случай полной безвыходности. Во-первых, при беглом ознакомлении с его краткой (хотя и вполне восторженной характеристикой, данной Александром Ерёминым) я с лёту не уяснил его сути — то есть требовалось вникать в него путём чтения документации. То есть делать то же самое, что пришлось бы делать и при углублённом знакомстве со штатной переключалкой. А во-вторых, у меня сложилось впечатление, что это такая же подпорка, как и прямое редактирование xorg.conf — так что я решил таки заняться более детальной разборкой третьего варианта. Благо на деле с ним оказалось всё не так страшно, как выглядело поначалу.




Страницы: 1 :: 2 :: 3 :: следующая

Комментарии

Страницы комментариев: предыдущая :: 1 :: 2

Александр Т-н, Tue Dec 30 12:09:46 2008:
Алексей, спасибо за замечательный цикл статей по Open Solaris, жду с нетерпением продолжения. Если честно, то именно прочтение вашего цикла подвигло меня на изучение этой ОС. До этого был некий иррациональный страх перед словом Solaris.
По теме статьи - прошу вас все же выложить ваш вариант раскладки ru(winkeys), думаю, что она может быть многим полезна.
аноним 3.1415, Thu Dec 25 13:05:11 2008:
Да, жгут!

Винда + punto решает задачу в пару кликов без за...бства и вы...бства.Не, гвоздь в попе - оно приятно, если от правильной оси))))
аноним, Thu Dec 25 06:45:31 2008:
за кадром остался вопрос наличия/отсутствия/настройки русского языка и раскладки в виртуальных консолях (тех что в Linux по Alt+F1, Alt+F2...). Или там всё так хорошо (плохо?) что и обсуждать нечего?
аноним, Thu Dec 25 00:40:20 2008:
>а левый backslash

Это что за зверь такой? Почему левый? На моей клавиатуре один backslash(\) и два forwardslash(/), я же не видел клавиатуры автора, можно пояснить где эта клавиша?
Алексей Федорчук, Wed Dec 24 08:41:06 2008:
2 аноним
Не забываю.
Но отдыхаю.
Писать подряд об одном и том же - очень тяжело.
аноним, Wed Dec 24 08:16:33 2008:
Алексей, Соляра это конечно очень хорошо и интересно, но складывается ощущение, что вы совсем забыли о FreeBSD. Я с нетерпением жду новой недели, желая почитать о Фре, а тут соляра. Оно конечно хорошо, но Фрю тоже забывать не надо.

Страницы комментариев: предыдущая :: 1 :: 2

Комментарии заморожены.

Новости:

Все новости на CitCity.ru

Компании месяца

 
Последние комментарии
Почему школам следует использовать только свободные программы (101)
20 Декабрь, 14:51
ОСТОРОЖНО: ВИНДОФИЛИЯ! (2250)

24 Декабрь, 22:53
Linux в школе: мифы про школу и информатику (334)
24 Декабрь, 22:43
Kubuntu Feisty (15)
24 Декабрь, 18:42
Software is like sex: it's better when it's free.
©Linus Torvalds