MATE의 Debian Bulleye용 IBus에 라틴 아메리카 스페인어 키보드 레이아웃을 추가하려고 하는데 스페인어 스페인어만 표시됩니다.

MATE의 Debian Bulleye용 IBus에 라틴 아메리카 스페인어 키보드 레이아웃을 추가하려고 하는데 스페인어 스페인어만 표시됩니다.

저는 HP Pavillion Touch 14-N009LA 노트북에서 AMD64용 Debian 11 Bullseye를 실행하고 있으며 IBus와 MATE를 데스크톱 환경으로 사용하고 최근 Buster에서 업그레이드했습니다. 포인트 릴리스를 업그레이드하기 전에는 IBus에서 라틴 아메리카 키보드 레이아웃을 사용할 수 있었습니다. 그 후에는 더 이상 그렇게 할 수 없습니다.

setxkbmap latamMATE Control Center의 키보드 기본 설정 앱은 라틴 아메리카 스페인어 레이아웃을 표시하며 IBus가 시작되어 교체되기 전에 터미널에서 수동으로 설정할 수 있지만 IBus에서는 "스페인어" 키보드만 표시됩니다. 구두점 키가 다른 스페인 스페인어 키보드에 해당합니다. "라틴 아메리카" 또는 이와 유사한 옵션은 없습니다.

실행하면 ibus list-engine다음과 같은 출력이 제공됩니다. 여기서는 라틴 아메리카 스페인어 레이아웃을 볼 수 없으며 일치 항목 latam이나 유사한 항목도 없습니다.

<irrelevant languages omitted>
language: Spanish
  xkb:es:nodeadkeys:spa - Spanish (no dead keys)
  xkb:es:sundeadkeys:spa - Spanish (Sun dead keys)
  xkb:es:winkeys:spa - Spanish (Windows)
  xkb:es:dvorak:spa - Spanish (Dvorak)
  xkb:es:deadtilde:spa - Spanish (dead tilde)
  xkb:es:mac:spa - Spanish (Macintosh)
  xkb:es::spa - Spanish
<irrelevant languages omitted>

지금까지 나는 단지 찾을 수 있었다우분투에만 적용되는 가이드, 그리고IBus용 Arch Linux 가이드.

이전 가이드에서는 내 시스템에 스페인어 로케일을 생성해야 한다고 제안했는데, es-MX에서 로케일의 주석 처리를 제거한 /etc/locale.gen다음 를 실행하여 작업을 수행했습니다 locale-gen. 그 후 시스템을 재부팅했습니다. 작동하지 않았습니다.

Debian Bullseye용 IBus에서 라틴 아메리카 스페인어 레이아웃을 어떻게 사용할 수 있는지에 대한 다른 아이디어가 있습니까?

답변1

업데이트.나는 그것을 발견했다IBus 소스의 최신 커밋블랙리스트가 이미 구현되어 있고모든 라틴 아메리카 레이아웃은 기본적으로 블랙리스트에 추가됩니다..

이는 빌드 시 Python 스크립트를 사용하여 수행되는 생성 프로세스에 영향을 미치며, 이는 사용 가능한 X 레이아웃을 다음에서 소싱합니다 /usr/share/X11/xkb/rules/evdev.xml.이 의견에서 분명히 알 수 있듯이.

이 제한사항이 구현된 정확한 커밋여기에. 이 작업이 수행된 이유는 솔직히 제 능력 밖의 일이며, 이 상황이 제대로 해결될 때까지 제가 제안하는 수정 사항을 적용해야 합니다.IBus가 업데이트될 때마다(말씀드린대로이 이전 답변에서).


저는 Xubuntu 22.04에서 동일한 문제에 직면했으며 최근 화이트리스트 편집과 관련된 해결 방법을 사용했습니다.

이렇게 제안했는데도IBus 1.5.23에는 현재 사용되는 화이트리스트 대신 블랙리스트가 포함됩니다., 추가된 엔진이 자동으로 선택 가능한 레이아웃으로 표시되도록 하기 위해 이 기능은 아직 구현되지 않은 것 같습니다(현재 버전은 1.5.26입니다).

그것을 작동시키기 위해 내가 한 일은 다음과 같습니다.

  1. , 및 선택한 편집기를 /usr/share/ibus/component/simple.xml사용하여 파일을 엽니다 .sudo

  2. 엔진 을 찾으세요 xkb:es::spa. 내 컴퓨터에서는 다음과 같습니다.

<engine>
    <name>xkb:es::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>Peng Huang &lt;[email protected]&gt;</author>
    <layout>es</layout>
    <longname>Spanish</longname>
    <description>Spanish</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
  1. 찾으면 <engine>태그를 복사하여 옆에 붙여넣고(동일 수준의 형제로) 다음 태그 값을 변경합니다.

    • name, xkb:es::spa에서부터 xkb:latam::spa.
    • layout, es에서부터 latam.
    • longname, 다른 레이아웃과 구별할 수 있도록 원하는 텍스트로 변환합니다.

이제 다음과 같이 보일 것입니다:

<!-- I added this one. vvv -->
<engine>
    <name>xkb:latam::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>logo_writer</author>
    <layout>latam</layout>
    <longname>Spanish Latam</longname>
    <description>Spanish Latam</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
<!-- I added this one. ^^^ -->

<engine>
    <name>xkb:es::spa</name>
    <language>es</language>
    <license>GPL</license>
    <author>Peng Huang &lt;[email protected]&gt;</author>
    <layout>es</layout>
    <longname>Spanish</longname>
    <description>Spanish</description>
    <icon>ibus-keyboard</icon>
    <rank>50</rank>
</engine>
  1. 새 엔진이 추가되면 파일을 저장합니다.

  2. 명령을 실행하여 IBus 서비스를 다시 시작하십시오 ibus restart.

  3. IBus가 다시 시작되면 ibus list-engine새 엔진이 목록에 나타나는지 입력하고 확인합니다.

내 컴퓨터에는 다음과 같은 구성이 있습니다. 내가 추가한 것은 입니다 Spanish Latam.

$ ibus list-engine | grep -A 7 Espa
idioma: Español
  xkb:es:nodeadkeys:spa - Spanish (no dead keys)
  xkb:es:winkeys:spa - Spanish (Windows)
  xkb:es:dvorak:spa - Spanish (Dvorak)
  xkb:es:deadtilde:spa - Spanish (dead tilde)
  xkb:latam::spa - Spanish Latam
  xkb:es:mac:spa - Spanish (Macintosh)
  xkb:es::spa - Spanish
  1. ibus-setup또는 를 사용하여 ibus engine이전에 생성한 레이아웃으로 설정합니다. 이 시점에서는 제대로 작동할 것입니다.

이것이 당신에게 효과가 있기를 바랍니다. :)

답변2

방금 키보드를 모두 제거했습니다.Ibus 환경 설정그런 다음 다음 명령을 실행하십시오.setxkbmap 라틴 아메리카터미널에서.

관련 정보