시스템을 다시 시작하지 않고 키보드 레이아웃을 변경하고 모든 가상 터미널 인스턴스에서 작동합니다.

시스템을 다시 시작하지 않고 키보드 레이아웃을 변경하고 모든 가상 터미널 인스턴스에서 작동합니다.

제가 사용하고 개발하는 기기는 덴마크 회사에서 만든 제품입니다. Debian 8 기반 장치에 SSH로 연결할 때마다 키보드 레이아웃은 US QWERTY이지만 US USB 키보드를 장치 자체에 연결하면 키보드 레이아웃이 덴마크어입니다.

저는 개발 목적으로 사용하는 10개의 가상 터미널 모두에 대해 키보드 레이아웃을 설정하는 쉬운 방법을 찾으려고 노력해 왔습니다. (시작 시 systemd 서비스에 의해 실행되는 Mingetties입니다).

다음을 수행하면 레이아웃을 미국으로 성공적으로 변경할 수 있음을 발견했습니다.

  • SSH를 통해 장치에 연결
  • /etc/default/keyboardXKBLAYOUT="us"교체 하려면 수동으로 편집하세요.XKBLAYOUT="dk"
  • 달리기udevadm trigger --subsystem-match=input --action=change

그러나 나중에 로컬로 로그인한 가상 터미널의 레이아웃은 변경되지 않았습니다.

다음 조건을 충족하면 모든 VT의 레이아웃을 US로 성공적으로 변경할 수 있습니다.

  • SSH를 통해 장치에 연결하거나 로컬로 로그인
  • /etc/default/keyboardXKBLAYOUT="us"교체 하려면 수동으로 편집하세요.XKBLAYOUT="dk"
  • 기기 다시 시작

전체 장치를 재부팅하지 않고도 이러한 변경 사항을 적용할 수 있는 다른 방법이 있습니까?

내가 해야 할 일은 그것을 바꾸는 것 뿐이라는 것을 알고 있으므로 XKBLAYOUT시도할 때 setxkbmap -model pc105 -layout us다시 올 것입니다 Cannot open display "default display".참고: SSH를 통해 또는 로컬로 장치에 로그인할 때 나는 루트이며 항상 모든 명령을 루트로 실행합니다.

/etc/default/keyboard파일은 간단합니다.

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="dk"
XKBVARIANT=""
XKBOPTIONS=""

BACKSPACE="guess"

내 목표는 QA가 해야 할 모든 작업이 미국(더 쉽게 입력할 수 있도록)과 덴마크어(생산 장치와 유사하게 장치 백업을 설정할 수 있도록) 모두에서 간단한 스크립트를 실행하도록 프로세스를 스크립트하는 것입니다. 최대한 앞뒤로).

답변1

Debian에서 X를 실행하지 않는 VT에 키보드(및 글꼴)를 설정하려면 다음을 실행해야 합니다.setupcon. 기본 키보드를 재구성하고 설정하려면 를 실행해야 합니다 dpkg-reconfigure keyboard-configuration.

setupcon다양한 프로필 변형을 사용할 수 있으므로 키보드 레이아웃 간에 빠르게 전환할 수 있습니다.

시스템의 키보드 구성은 SSH를 통해 사용되는 매핑에 영향을 주지 않습니다. SSH는 키 입력을 전송하지 않고 문자를 전송하며 관련된 키보드 스타일 매핑이 없습니다.

관련 정보