xscreensaver 및 키보드 레이아웃

xscreensaver 및 키보드 레이아웃

xscreensaver에 현재 키보드 레이아웃이 표시되지 않아서 가끔 비밀번호를 모르고 키릴 문자로 전환해서 비밀번호를 입력할 수 없는 경우가 있습니다. 같은 문제에 대한 토론을 찾았습니다.http://forum.xfce.org/viewtopic.php?id=6877, 예를 들어.

현재 키보드 레이아웃을 표시하거나 항상 영어로 전환하는 방법이 있습니까?

내 시스템은 Debian Wheezy입니다.

답변1

적어도 우분투에서는 다음이 나에게 효과적이었습니다.

  1. 생성된 폴더:mkdir ~/.startup
  2. 다른 파일이 있습니다touch ~/.startup/xscreensaver-reset-kbd-us.pl
  3. 그것을 수정했다chmod 755 ~/.startup/xscreensaver-reset-kbd-us.pl
  4. 편집(아래 코드를 복사하여 붙여넣기)gedit ~/.startup/xscreensaver-reset-kbd-us.pl

    #!/usr/bin/perl
    
    my $blanked = 0;
    open (IN, "xscreensaver-command -watch |");
    while (<IN>) {
        if (m/^(BLANK|LOCK)/) {
            if (!$blanked) {
               system "setxkbmap -layout us";
               $blanked = 1;
            }
        } elsif (m/^UNBLANK/) {
            system "setxkbmap -layout us,ru";
            $blanked = 0;
        }
    }
    
  5. 시작 애플리케이션에 스크립트 추가

xscreensaver의 이벤트를 모니터링하고 잠긴 경우에만 키보드 레이아웃을 영어로 재설정하고 공백이 취소되면 ru 레이아웃을 추가합니다.

답변2

이는 잠그기 전에 몇 개의 setxkbmap 행을 실행하여 수행할 수 있습니다(xfce에서 into /usr/bin/xflock4, 참조:http://www.reddit.com/r/xfce/comments/11yi34/reset_the_keyboard_layout_on_xscreensaver_lock/처럼:

setxkbmap -layout us 
setxkbmap -layout us,ru

이렇게 하면 국제 레이아웃을 비활성화했다가 다시 활성화해야 하며 현재 레이아웃을 미국 레이아웃으로 전환해야 합니다.잘 작동하는 것 같습니다.방금 다시 테스트했는데 여전히 작동하지 않습니다. 그러나 일반적인 솔루션은 이러한 방식을 따르므로 더 많은 실험이 필요합니다.

답변3

또 다른 옵션은 다른 화면 잠금 유틸리티를 설치하는 것입니다. 예를 들어 지금은 "i3lock"을 시도했습니다.http://i3wm.org/i3lock/, 키보드 레이아웃을 수정하지 않고도 작동합니다.

답변4

한 가지 옵션은 단축키를 사용하여 항상 첫 번째 키보드 레이아웃으로 전환하는 것입니다. 예를 들어 다음 레이아웃으로 전환하려면 WIN+를 사용 하고 항상 첫 번째 레이아웃으로 전환하려면 +를 사용합니다.SpaceLCTRLLWIN

이 옵션을 선택하는 방법은 키보드 레이아웃과 전환 옵션을 선택하는 데 사용하는 프로그램에 따라 다릅니다. 다음은 2가지 예입니다.

  • 명령줄 에서 오는 경우 localectl set-x11-keymap전환 옵션이 인수로 전달됩니다 OPTIONS( man localectl구문 및 옵션 목록 man xkeyboard-config은 "옵션 > 다른 레이아웃으로 전환" 섹션 참조). 예를 들어, 내 노트북에서는 다음과 같습니다 localectl set-x11-keymap "us,ru" thinkpad "" "grp:win_space_toggle,grp:lctrl_lwin_rctrl_menu". 매개변수의 현재 값은 localectl set-x11-keymap의 출력에서 ​​볼 수 있습니다 setxkbmap -query. 새로운 설정은 xorg를 다시 시작한 후에만 적용됩니다(예: 운영 체제를 다시 시작한 후).
  • Cinnamon GUI(내부적으로 호출됨 /usr/bin/python2 /usr/share/cinnamon/cinnamon-settings/cinnamon-settings.py keyboard)에서는 "메뉴 > 키보드 > 레이아웃 > 옵션 > 다른 레이아웃으로 전환"입니다.

두 경우 모두 설명에 "첫 번째 레이아웃"이라는 단어가 포함된 옵션을 선택할 수 있습니다. 그런 다음(예를 들어 첫 번째 레이아웃을 us사용하여 비밀번호를 입력할 수 있다고 가정하면) LCTRL+를 눌러 LWIN전환하여 us비밀번호를 입력할 수 있습니다.

관련 정보