데비안에서 레벨 1 데드키를 사용하여 안정적인 국제 Dvořák를 얻는 방법은 무엇입니까?

데비안에서 레벨 1 데드키를 사용하여 안정적인 국제 Dvořák를 얻는 방법은 무엇입니까?

스레딩과 같이 불안정하고 위험한 방법이 있습니다.Ubuntu 16.04의 Dvorak에서 점으로 A를 얻는 방법은 무엇입니까?기능을 얻었지만 많은 환경에서 실행할 수 없습니다. 독일어에는 아래와 같이 자체(점선 a/e/u/o)가 필요합니다.여기, 북유럽(핀란드, 스웨덴, 노르웨이, 덴마크...) 사람들은 비슷한 키(점이 있는 a/o)를 원합니다. 나는 1레벨 키보드 접근 방식이 2레벨 키보드 접근 방식보다 낫다고 생각합니다. 옵션

  1. 데비안에서 기본적으로 이와 같은 키보드 레이아웃을 얻는 것이 좋을 것입니다.
  2. 이런 키보드 포장도 구할 수 있으면 apt참 좋을 것 같아요 .
  3. 아마도 다른 방법이 있을 것 같은데...
  4. 다양한 환경의 위험으로 인해 첫 번째 스레드에서와 같이 이러한 변경을 수동으로 수행하는 것은 옵션이 아닙니다.

OS X International Dvorak에는 기본적으로 이러한 기능이 있으며 기준으로 사용할 수 있지만 첫 번째 스레드 답변과 같은 수동 접근 방식도 있습니다. Chromium 개발 스레드에서 이러한 기능에 대한 티켓이 열렸습니다.데드 키가 있는 국제 드보르자크Chromebook을 대상으로 합니다.

데비안에서 Clearkimura의 답변 테스트

  1. 산출

    masi@masi:~/Downloads$ sudo cp dvorak_intl /usr/share/X11/xkb/symbols/dvorak_intl
    
    masi@masi:~/Downloads$ setxkbmap -verbose dvorak_intl
    
    masi@masi:~/Downloads$ setxkbmap -I ~/.xkb dvorak_intl -print | xkbcomp -I$HOME/.xkb - $DISPLAY
    Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
                  Ignoring extra symbols
    Warning:          Key <OUTP> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <KITG> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <KIDN> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <KIUP> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <RO> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I192> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I193> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I194> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I195> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I196> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          Key <I255> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
    Warning:          No symbols defined for <AB11> (keycode 97)
    Warning:          No symbols defined for <JPCM> (keycode 103)
    Warning:          No symbols defined for <I120> (keycode 120)
    Warning:          No symbols defined for <AE13> (keycode 132)
    Warning:          No symbols defined for <I149> (keycode 149)
    Warning:          No symbols defined for <I154> (keycode 154)
    Warning:          No symbols defined for <I168> (keycode 168)
    Warning:          No symbols defined for <I178> (keycode 178)
    Warning:          No symbols defined for <I183> (keycode 183)
    Warning:          No symbols defined for <I184> (keycode 184)
    Warning:          No symbols defined for <FK19> (keycode 197)
    Warning:          No symbols defined for <FK24> (keycode 202)
    Warning:          No symbols defined for <I217> (keycode 217)
    Warning:          No symbols defined for <I219> (keycode 219)
    Warning:          No symbols defined for <I221> (keycode 221)
    Warning:          No symbols defined for <I222> (keycode 222)
    Warning:          No symbols defined for <I230> (keycode 230)
    Warning:          No symbols defined for <I247> (keycode 247)
    Warning:          No symbols defined for <I248> (keycode 248)
    Warning:          No symbols defined for <I249> (keycode 249)
    Warning:          No symbols defined for <I250> (keycode 250)
    Warning:          No symbols defined for <I251> (keycode 251)
    Warning:          No symbols defined for <I252> (keycode 252)
    Warning:          No symbols defined for <I253> (keycode 253)
    
  2. 재시작

  3. 출력: 키보드 레이아웃이 더 이상 활성화되지 않습니다.
  4. 이동 Region & Language> 선택 > Dvorak 검색 > 그림 1과 같이 데드키로 Dvorak 선택
  5. 출력: 이제 예상되는 키보드 레이아웃이 활성화되어 상단 표시줄에서 선택할 수 있습니다.
  6. Regien & Language에서 기본 키보드 레이아웃을 그림 2의 상단에 배치합니다. 즉, 상단에서 이전 키보드 레이아웃을 삭제합니다. 이렇게하면 할 수 있습니다데드키를 사용한 드보르자크 인터내셔널기본 키보드는 재부팅 후에도 그대로 유지됩니다.

그림 1 변경된 지역 및 언어 설정, 그림 2 변경된 지역 및 언어 설정데드키를 사용한 드보르자크 인터내셔널기본 키보드 레이아웃으로

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

운영 체제: Debian 8.7
하드웨어: Asus Zenbook UX303UB, HP 2002 노트북
창 관리자: Gnome 3.14

답변1

이 답변에서는 설치 방법을 설명합니다.드보르자크의 국제적 확장다음에서 찾은 키보드 레이아웃이 기사의 저자: Arjen van Kol. XKB를 사용한 설치 및 설정은 매우 간단합니다.

새 레이아웃 설치

dvorak_intl링크된 기사에서 레이아웃 파일을 다운로드하세요. 그런 다음 슈퍼유저로서 /usr/share/X11/xkb/symbols/동일한 파일 이름을 갖도록 파일을 복사합니다 .

sudo cp dvorak_intl /usr/share/X11/xkb/symbols/dvorak_intl

추가 권한 변경은 필요하지 않습니다. 호기심이 많은 사용자의 경우 stat명령을 사용하여 권한을 확인할 수 있습니다. 이 권한은 644기본값입니다.

$ ls -l /usr/share/X11/xkb/symbols/dvorak_intl 
-rw-r--r-- 1 root root 2989 May 14 17:32 /usr/share/X11/xkb/symbols/dvorak_intl

$ stat -c '%a %n' /usr/share/X11/xkb/symbols/dvorak_intl 
644 /usr/share/X11/xkb/symbols/dvorak_intl

새 레이아웃 적용

변경하기 전에 setxkbmap -query나중에 변경 사항을 되돌리려면 현재 레이아웃 확인을 실행하세요. 레이아웃은 us기본값입니다.

$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     us   <-- current layout

이제 setxkbmap명령을 실행하여 새 키보드 레이아웃을 설정하십시오. 이 -verbose옵션은 출력을 보기 위해 추가되며, 그렇지 않으면 아무 것도 표시되지 않습니다.

$ setxkbmap -verbose dvorak_intl
Warning! Multiple definitions of keyboard layout
         Using command line, ignoring X server
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+dvorak_intl+inet(evdev)
geometry:   pc(pc105)

사용자는 다시 실행하여 setxkbmap -query변경 사항이 이제 레이아웃 열에 나타나는지 확인할 수 있습니다.

$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     dvorak_intl   <-- new layout

새 레이아웃 테스트

변경 사항은 즉시 적용됩니다. X 서버를 로그아웃하거나 다시 로드할 필요가 없습니다. 텍스트 편집기를 열고 키보드의 4개 행 키를 각각 눌러 출력을 확인하세요.

첫 번째 및 두 번째 수준 키( 없음 및 있음 Shift):

`1234567890[]
~!@#$%^&*(){}

´,.pyfgcrl/=\
¨<>PYFGCRL?+|

aoeuidhtns-
AOEUIDHTNS_

;qjkxbmwvz
:QJKXBMWVZ

세 번째 및 네 번째 수준 키( AltGrShift+ 포함 AltGr):

 ¡ ♯         
         []{}

´¸…    č     
 «»¶     ¿ 

å°əŭ     ß—
Å  Ŭ      ¯

   ĸ×     

dvorak_intl키보드 레이아웃의 세 번째 및 네 번째 수준에서 입력하는 데 익숙하지 않기 때문에 해당 수준에서 누락된 키가 있는지 확실하지 않습니다 .

레이아웃을 지속적으로 유지

명령 setxkbmap자체는 현재 세션에만 유효합니다. 단, 해당 데스크탑 환경에서는 시작 애플리케이션에 다음 명령을 추가할 수 있습니다.

setxkbmap LAYOUTNAME

이렇게 하면 LAYOUTNAME사용자가 시스템에 로그인하고 데스크톱 세션을 시작할 때마다 설정됩니다. 로그아웃했다가 다시 로그인한 후 터미널을 열고 실행하여 setxkbmap -query새 키보드 레이아웃이 각 세션에 적용되었는지 확인합니다.

Debian이 아닌 시스템을 위한 구성

시스템이 오버레이의 구성 파일을 업그레이드하는 경우 /usr/share/X11/xkb/symbols사용자는 레이아웃 구성 파일을 다른 위치(예: 홈 디렉터리)로 재배치하고 시스템 디렉터리에서 삭제할 수 있습니다.

$ mkdir -p ~/.xkb/symbols  
$ cp /usr/share/X11/xkb/symbols/dvorak_intl ~/.xkb/symbols  
$ sudo rm -i /usr/share/X11/xkb/symbols/dvorak_intl  

그런 다음 옵션과 함께 명령을 사용하여 거기에서 레이아웃 구성을 로드합니다 -I. 비슷하게 작동합니다.

$ setxkbmap -I ~/.xkb dvorak_intl
$ setxkbmap -query
rules:      evdev
model:      pc105
layout:     dvorak_intl

따라서 각 세션에 대한 키보드 구성을 로드하기 위해 해당 데스크탑 환경에 시작 응용 프로그램을 setxkbmap LAYOUTNAME추가하지 마십시오 .setxkbmap -I ~/.xkb LAYOUTNAME

데비안의 차이점

명령이 "새 키보드 설명을 로드하는 중 오류가 발생했습니다" 메시지를 반환하는 경우(예:Unix.SE에 대한 이 오래된 게시물), 대신 다음 명령을 사용하십시오.

$ setxkbmap -I ~/.xkb dvorak_intl -print | xkbcomp -I$HOME/.xkb - $DISPLAY
Warning:          Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
                  Ignoring extra symbols
Warning:          Key <OUTP> not found in evdev+aliases(qwerty) keycodes
                  Symbols ignored
...
Warning:          No symbols defined for <I253> (keycode 253)

이상하게도 마지막 명령은 내 외국 키보드 모델(일본어 OADG 109A 키보드 레이아웃 변형)과 관련되었을 수 있는 여러 경고 메시지를 반환했습니다. 또한 변경 사항은 에 반영되지 않지만 setxkbmap -query입력할 때 예상대로 작동합니다.

Xubuntu 14.04(Xfce 4.10), Debian Xfce 8(Xfce 4.10) 및 Debian 8.7 Gnome 3.14에서 setxkbmap 1.3.0을 사용하여 테스트되었습니다.

부인 성명: 이 답변의 목적은 XKB를 사용하여 새로운 키보드 레이아웃을 설치하고 설정하는 방법을 보여주는 것입니다. 원래 지시는 다음에서 나왔습니다.Workman/xorg 저장소, 이전 경로와 현재 경로(당시 Ubuntu 10.04, GNOME 2.30)를 언급합니다. 그러나 이 지시문은 테스트되었으며 GNOME이 아닌 환경(예: Xfce)에서 작동합니다.

파일에 제공된 오래된 지침은 dvorak_intl이전 버전의 GNOME에 적용될 가능성이 높으며 현재 사용하는 최신 배포판에는 더 이상 적용되지 않습니다. 이전 경로는 에 있고 /etc/X11/xkb/symbols/현재 경로는 에 있습니다 /usr/share/X11/xkb/symbols/.

키는 AltGr작성 키를 나타냅니다. 오른쪽 클릭은 기본적으로(적어도 Xfce에서는) 할당되거나 Alt사용되는 Linux 배포판에 따라 일반적으로 할당되지 않습니다. 세 번째 및 네 번째 수준 키를 보여주기 위해 작성 키를 활성화했지만 작성 키에 대한 설정은 다음과 같습니다.아니요위에 표시된 대로.

답변2

오래전부터 사용자 정의 키보드 레이아웃을 위한 패키지를 만들어 보았습니다. 당시 제가 찾을 수 있었던 옵션은 다음과 같습니다.

  1. 원본 레이아웃 수정(예 /usr/share/X11/xkb/symbols/us: : )

    질문:

    • 업데이트 시 덮어쓰여집니다 xkb-data. 패키지 이름은 배포판에 따라 다를 수 있습니다.
    • 다른 패키지 파일을 덮어쓰는 데비안 패키지를 만드는 것은 좋지 않습니다.
  2. xy예를 들어 다른 이름으로 새 레이아웃을 추가합니다.이 게시물

    질문:

    • 이전 방법과 동일한 문제가 있으나 레이아웃 선언 파일을 /usr/share/X11/xkb/rules/evdev.xml수정해야 합니다. AFAIK, Xorg 서버는 새 레이아웃의 동적 로딩을 지원하지 않습니다.

위 방법은 레거시 시스템 XIM(표준 X 입력 방법)을 사용합니다. IBus나 SCIM과 같은 플러그인(모듈식 설계)을 지원하는 최신 입력 방법을 사용하는 것이 좋습니다.

ibus-table나는 그것을 시도하지 않았지만 이것이 설명된 것처럼 가장 간단한 방법이기를 바랍니다.이 게시물. 추가된 파일은 대부분의 IBus 엔진 및 레이아웃과 마찬가지로 별도로 패키지하여 설치할 수 있으며 IBus는 해당 파일을 주의해서 로드합니다.

고쳐 쓰다:

훌륭한,이 답변업스트림 패키지를 수정하는 더 깔끔한 방법은 AskUbuntu에 언급되어 있습니다. 패키지를 다시 빌드하기 위한 최소한의 지침은 다음과 같습니다.

  1. 저장소에 대한 소스 코드 활성화
  2. 빌드 종속성 다운로드

    sudo apt build-dep  xkb-data
    
  3. 소스 코드 다운로드

    mkdir sandbox
    cd sandbox
    apt source xkb-data
    
  4. 다음과 같이 새 퀼트 패치를 생성합니다.우분투 패키징 가이드

    cd xkeyboard-config*/
    quilt new username_custom_layout.diff
    quilt add symbols/us
    

    symbols/us그런 다음 필요한 사항을 변경하세요.

    quilt refresh
    
  5. 서명되지 않은 소스 코드 및 바이너리 패키지 빌드

    debuild -us -uc 
    

답변3

Dvorak International Extended여기에서 요청한 기능으로 명명되고 Windows 및 Linux용으로 완성된 사용자 정의 Dvorak 키보드 레이아웃 예 (코드여기) 본문에서Dvorak 국제 확장 키보드 레이아웃 - Dvorak 간체 키보드에 대한 국제 지원을 추가합니다..

그림 1 Dvorak International 확장 키보드 레이아웃 디자인, 그림 2 Dvorak섹션 변경 후 데비안 키보드 설정에서 검색Debian 8.7에서 설치 시도, 그림 3 검색 extended...

여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요. 여기에 이미지 설명을 입력하세요.

Debian 8.7에서 설치 시도

처음 두 단계에 대한 설치 지침을 따랐지만 여기에 키보드 레이아웃을 추가한 효과를 확인하지 못했습니다.

  1. [완료] 이 파일을 /etc/X11/xkb/symbols/pc디렉터리에 복사하세요. 이 작업을 수행하려면 루트 권한이 필요할 수 있습니다.

    sudo mkdir -p /etc/X11/xkb/symbols/pc
    sudo cp dvorak_int /etc/X11/xkb/symbols/pc/
    
  2. 다음 행을 추가하십시오 /etc/X11/xkb/rules/xfree86.lst.dvorak_intl Dvorak international extended

     sudo touch /etc/X11/xkb/rules/xfree86.lst
     sudo echo `dvorak_intl Dvorak international extended` >> /etc/X11/xkb/rules/xfree86.lst
    
  3. 하지만 세 번째 단계를 완료할 수 없습니다.

    // In order to make the keyboard layout available in GNOME,
    // you should also modify /etc/X11/xkb/rules/xfree86.xml
    // accordingly (this is an XML file and the format is mostly
    // self-explanatory).
    

    apt search XF86Config내 시스템에 파일이 없기 때문에 명령은 아무것도 반환하지 않습니다 /etc/X11/xkb/rules/xfree86.xml. 설명에 오타가 있습니다(고마워요, 클리어키무라)! 파일 이름을 검색하고 다음으로 편집하지만 정확히 무엇을 입력해야 할지 잘 모르겠습니다. 파일 이름 또는 dvorak-intl-extended(내 사용자 정의 이름)

    masi@masi:~$ dpkg --search xfree86.xml
    xkb-data: /usr/share/X11/xkb/rules/xfree86.xml
    
    masi@masi:~$ sudo vim /usr/share/X11/xkb/rules/xfree86.xml 
    

    다음에 추가됨/usr/share/X11/xkb/rules/xfree86.xml

        <variant>
          <configItem>
            <name>dvorak-intl-extended</name>
            <description>English (Dvorak, international extended with dead keys)</description>
          </configItem>
        </variant>
        <variant>
    

    시스템을 다시 시작했지만 그림 2와 3의 언어 키보드 메뉴에 출력이 성공하지 못했습니다.

    내 권한에 문제가 있는 것 같습니다.

     masi@masi:~$ sudo ls -la /etc/X11/xkb/symbols/pc/
     total 12
     drwxr-xr-x 2 root root 4096 May 13 20:35 .
     drwxr-xr-x 3 root root 4096 May 12 16:25 ..
     -rw-r--r-- 1 root root 2989 May 12 16:26 dvorak_intl
    

    디렉터리 권한은 양호해야 합니다.

    masi@masi:~$ ls -la /etc/ | grep X11
    drwxr-xr-x  10 root root     4096 Sep  8  2016 X11
    masi@masi:~$ ls -la /etc/X11/ | grep xkb
    drwxr-xr-x   4 root root  4096 May 12 16:25 xkb
    masi@masi:~$ ls -la /etc/X11/xkb/ | grep symbols
    drwxr-xr-x  3 root root 4096 May 12 16:25 symbols
    masi@masi:~$ ls -la /etc/X11/xkb/symbols/ | grep pc
    drwxr-xr-x 2 root root 4096 May 13 20:35 pc
    

새로운 키보드 레이아웃에 대한 권한은 무엇입니까?

운영 체제: 데비안 8.7

관련 정보