Edycja : Zdałem sobie sprawę, że „problem” dotyczył nie tylko Ubuntu, ale samego Debiana i Ubuntu właśnie go odziedziczył, więc migrowałem z Ask Ubuntu
Używam Linuksa z przerwami od 10 lat, a ostatnio spędziłem więcej czasu z OSX.
Ale wciąż pamiętam, że na początku wybrałem układ klawiatury międzynarodowej w USA i miałby dokładnie taki sam wynik, jak układ klawiatury systemu Windows (a ostatnio układ międzynarodowy OSX w USA).
Jednak kilka lat temu, kiedy instalowałem Ubuntu, zauważyłem, że cedilla nie jest już drukowana (ç lub Ç). Jest to kombinacja następujących klawiszy: „+ c. Zamiast tego dostaję literę ć.
Kiedy to się zaczęło i dlaczego różnica w zachowaniu w innych systemach operacyjnych? Jeszcze bardziej mnie zastanawia to, że istnieje nawet układ klawiatury „US International Alternative”, który drukuje dokładnie te same klawisze! Czym więc jest alternatywa?
Zostało to zgłoszone jako błąd z powrotem do Canonical (nie można teraz znaleźć łącza), ale układ klawiatury nigdy nie zmienił się z powrotem na oczekiwany. Znam obejścia, aby naprawić to, czego potrzebuję, ale chciałbym tylko wiedzieć, dlaczego / kiedy stało się inaczej.
AltGr
+,
. Ale kiedy / czy / dlaczego to się zmieniło, nie wiem.Odpowiedzi:
streszczenie
Ustawienia martwego klucza zależą od ustawień regionalnych i zestawu znaków.
Na przykład:
en_US.UTF-8
jest zdefiniowany w/usr/share/X11/locale/en_US.UTF-8/Compose
ISO 8859-1
jest zdefiniowany w/usr/share/X11/locale/iso8859-1/Compose
Jeśli spojrzysz na nie za pomocą
grep
, zobaczysz różnicę:Mianowicie:
ç
ć
Dzienniki git (( en_US.UTF-8 ) ( iso8859-1 )) pokazują, że tak było od co najmniej 2004 roku.
Różnica między US International a US Alternative International jest zdefiniowana w
/usr/share/X11/xkb/symbols/us
.Mianowicie układ US Alternative International dodaje te dodatkowe martwe klawisze AltGr:
Na przykład:
¥
ā
UTF-8 stał się domyślnym kodowaniem:
źródło
<dead_acute> <c>
jest mapowanyç
(zamiastć
), jeśli twoje ustawienia regionalne to pt_BR. Zobacz:/usr/share/X11/locale/pt_BR.UTF-8/Compose
Uzupełnienie odpowiedzi Vítora Souzy
Używanie amerykańskiego układu klawiatury z językiem systemu operacyjnego w języku angielskim i posiadanie pięknej cedilli .
Aby język angielski
ç/Ç
działał pięknie ( 'c-> cedilla), nie trzeba zmieniać plików tworzenia. To, co musisz zrobić, to ustawićLC_CTYPE
za pomocą ustawień regionalnych zawierających tę definicję:Jak pt_BR.UTF-8 (portugalski brazylijski / portugalski Brasileiro).
Mapa klawiatury X:
/etc/locale.conf
Zaktualizuj ustawienia regionalne
A dla tty:
Ustaw odpowiednią mapę klawiszy, czcionkę i mapę czcionek, np.
źródło
Od http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10-10-maverick-meerkat/ i http://disi.unitn.it/~vitorsouza/linux/ubuntu-linux-10- 04-lucid-lynx / :
Problem z cedillą:
Jakiś sympatyczny człowiek zdecydował, że akcentowane c („ć”) jest ważniejsze niż c z cedillą („ç”), więc domyślnym zachowaniem dla naciśnięcia „+ c na klawiaturze międzynarodowej za pomocą martwych klawiszy jest teraz„ ć ”. Ponieważ jestem Brazylijczykiem, a nie Rumunią, czy coś takiego, to zdecydowanie mnie niepokoi. „+ c kiedyś dawał sygnał wyjściowy„ ç ”.
Aby to naprawić, edytuj jako root plik /usr/lib/gtk-2.0/2.10.0/gtk.immodules , znajdź tę linię:
I dodaj: en after: wa, więc wygląda to tak:
Edycja dla Ubuntu 12.10 ( źródło ):
plik gtk.immodules do edycji znajduje się w:
/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
lub/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
Edycja dla Debian Wheezy (i prawdopodobnie innych rzeczy GTK 3)
Plik, który należy edytować, jest teraz
/usr/lib/x86_64-linux-gnu/gtk-3.0/3.0.0/immodules.cache
W
gtk20
wierszach są teraz,gtk30
ale dodanie:en
na końcu jest dokładnie takie samo.Aby to naprawić również dla aplikacji innych niż GTK, edytuj jako root plik /usr/share/X11/locale/en_US.UTF-8/ Skomponuj i zmień wszystkie instancje ć z ç oraz wszystkie instancje Ć z Ç.
Konieczne może być powtarzanie jednej lub obu operacji od czasu do czasu po uaktualnieniu systemu i przywrócenie pierwotnej zawartości plików konfiguracyjnych.
źródło
dpkg-divert /usr/lib/gtk-2.0/2.10.0/gtk.immodules
.gtk.immodules.distrib
Zamiast tego system pakietów napisze do . Aby to cofnąć, dodaj--remove
flagę do tego samego polecenia i skopiuj plik .distrib na oryginał. Aby uzyskać więcej informacji,man dpkg-divert
.Jest to uzupełnienie odpowiedzi Vítora Souzy .
W Xfce Quantal (Xubuntu 12.10, Mint 14 Xfce) nie można tego rozwiązać metodami już wymienionymi (patrz poniżej). Udało się zainstalować
ibus
pakiet i jego zależności.( Źródło - dokładniej tutaj .)
Starsze rozwiązanie nie działało dla mnie: w Ubuntu 12.10 plik
gtk.immodules
ma inną lokalizację:/usr/lib/x86_64-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
lub
/usr/lib/i386-linux-gnu/gtk-2.0/2.10.0/gtk.immodules
(Moje źródło tego tutaj .)
źródło