Редактировать : я понял, что «проблема» была не только в Ubuntu, но и в самом Debian, и Ubuntu просто унаследовал его, поэтому я перенес это из Ask Ubuntu
Я использую Linux в течение 10 лет, и совсем недавно я проводил больше времени с OSX.
Но я все еще помню, что вначале я выбирал международную раскладку клавиатуры в США, и она имела бы точно такой же вывод, как раскладка клавиатуры Windows (и совсем недавно, международная раскладка OSX США).
Однако несколько лет назад, когда я установил Ubuntu, я заметил, что cedilla больше не печатается (ç или Ç). Это комбинация следующих клавиш: '+ c. Вместо этого я получаю письмо.
Когда это начало происходить, и почему разница с поведением в других ОС? Еще больше меня удивляет то, что есть даже раскладка клавиатуры «Международная альтернатива США», которая печатает точно такие же клавиши! Итак, что это за альтернатива?
Об этом сообщают как об ошибке в Canonical (сейчас не могу найти ссылку), но раскладка клавиатуры никогда не менялась так, как я ожидал. Я знаю обходные пути, чтобы исправить то, что мне нужно, но я просто хотел бы знать, почему / когда он стал другим.
AltGr
+,
. Но когда / ли / почему это изменилось, я не знаю.Ответы:
Резюме
Настройки мертвого ключа зависят от вашей локали и набора символов.
Например:
en_US.UTF-8
определяется в/usr/share/X11/locale/en_US.UTF-8/Compose
ISO 8859-1
определяется в/usr/share/X11/locale/iso8859-1/Compose
Если вы посмотрите на них с помощью
grep
, вы увидите, что есть разница:А именно:
ç
ć
Журналы git (( en_US.UTF-8 ) ( iso8859-1 )) показывают, что так было по крайней мере с 2004 года.
Разница между US International и US Alternative International определена в
/usr/share/X11/xkb/symbols/us
.А именно, раскладка US Alternative International добавляет эти дополнительные мертвые клавиши AltGr:
Например:
¥
ā
UTF-8 стала кодировкой по умолчанию:
источник
<dead_acute> <c>
переназначаетсяç
(вместоć
), если ваша локаль pt_BR. Смотрите:/usr/share/X11/locale/pt_BR.UTF-8/Compose
Дополняя ответ Vítor Souza
Использование американской международной раскладки клавиатуры с OS Language на английском языке и красивым cedilla .
Для того, чтобы английский язык
ç/Ç
работал красиво ( 'c-> cedilla), нет необходимости изменять файлы композиции. Что нужно сделать, это установитьLC_CTYPE
с локалью, содержащей это определение:Например, pt_BR.UTF-8 (бразильский португальский / португальский Бразилия).
Карта клавиатуры X:
/etc/locale.conf
Обновить локаль
И для tty:
Установите правильную раскладку, шрифт и карту шрифтов, например.
источник
От http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10-10-maverick-meerkat/ и http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10- 04-lucid-lynx / :
Проблема с Cedilla:
Какой-то приятель решил, что ударение c («ć») более важно, чем c с cedilla («ç»), поэтому поведение по умолчанию для нажатия клавиш «+ c» на международных клавиатурах с «мертвыми клавишами» теперь «ć». Поскольку я бразилец, а не румын или что-то еще, это определенно беспокоит меня. '+ c раньше выводил “ç” однажды.
Чтобы исправить это, отредактируйте от имени root файл /usr/lib/gtk-2.0/2.10.0/gtk.immodules , найдите следующую строку:
И добавьте: en после: wa, так это выглядит так:
Редактировать для Ubuntu 12.10 ( источник ):
файл gtk.immodules для редактирования находится по адресу:
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
или же/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
Редактировать для Debian Wheezy (и, вероятно, другие вещи GTK 3)
Файл, который нужно отредактировать, теперь
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache
gtk20
В линиях теперь ,gtk30
но добавляя:en
в конце концов , это то же самое.Чтобы исправить это также для не-GTK приложений, отредактируйте от имени root файл /usr/share/X11/locale/en_US.UTF-8/Compose и измените все экземпляры ć с помощью ç, а все экземпляры Ć с помощью Ç.
Возможно, вам придется время от времени повторять одну или обе операции, когда вы обновляете свою систему, и она возвращает файлы конфигурации к их исходному содержимому.
источник
dpkg-divert /usr/lib/gtk-2.0/2.10.0/gtk.immodules
. Система пакетов будет писатьgtk.immodules.distrib
вместо этого. Чтобы отменить это, добавьте--remove
флаг к той же команде и скопируйте файл .distrib поверх оригинала. Для получения дополнительной информацииman dpkg-divert
.Это дополняет ответ Витора Соузы .
В Xfce Quantal (Xubuntu 12.10, Mint 14 Xfce) не удалось решить эту проблему с помощью уже упомянутых методов (см. Ниже). Что работало, так это установка
ibus
пакета и его зависимостей.( Источник - точнее здесь .)
Старое решение у меня не сработало: в Ubuntu 12.10 файл
gtk.immodules
находится в другом месте:/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
или же
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
(Мой источник для этого здесь .)
источник