원격 Mac 키보드 배열과 입력기를 검증하는 방법

원격 Mac 키보드 배열과 입력기를 검증하는 방법

클라우드 Mac에 원격으로 접속한 뒤 가장 간과하기 쉬운 문제는 네트워크 단절이 아니라, 키보드가 “대체로 작동하지만” 완전히 정확하지 않은 상태다. Command와 Option이 서로 바뀌거나, 숫자 행의 기호가 어긋나거나, 한글 후보 선택 키를 클라이언트가 가로채거나, 자동화 스크립트가 입력한 문자와 사람이 직접 입력한 문자가 다르게 처리될 수 있다. 이런 문제를 도구 체인 구성 이후에 발견하면 원인이 로컬 시스템, 원격 클라이언트, macOS 입력 소스 중 어디에 있는지 구분하기 어렵다. 따라서 작업 공간을 초기화하기 전에 입력 환경부터 검증하는 편이 안전하다.

입력 경로의 세 계층부터 고정하기

키 입력은 로컬 키보드 배열, 원격 클라이언트의 키 매핑, 클라우드 Mac의 입력 소스를 차례로 거친다. 세 계층을 동시에 조정하면 결과를 재현할 수 없으므로, 바로 변경하지 말고 먼저 현재 상태를 기록해야 한다.

로컬에서는 물리 키보드 종류와 현재 배열을 확인하고, 원격 클라이언트에서 “시스템 단축키 보내기”나 “Command와 Option 교환” 같은 옵션이 활성화되어 있는지 점검한다. 클라우드 Mac에서는 시스템 버전, 활성화된 입력 소스, 사용자 수준 키 재매핑을 기록한다.

sw_vers
defaults read com.apple.HIToolbox AppleEnabledInputSources
defaults read com.apple.HIToolbox AppleCurrentKeyboardLayoutInputSourceID
hidutil property --get "UserKeyMapping"

마지막 명령이 빈 배열을 반환하면 호스트에서 hidutil을 이용한 사용자 매핑이 추가되지 않은 상태다. 매핑이 있다면 출력을 먼저 저장한 뒤 팀 기준 설정에 포함된 것인지 확인한다. 출처를 모르는 상태에서 두 번째 키 교환 규칙을 덧붙여서는 안 된다.

수정 키 변환은 한 번에 한 계층에서만 담당해야 한다. 클라이언트에서 이미 키를 교환했다면 호스트에서 같은 매핑을 다시 적용하지 않는다.

문자 매트릭스로 배열 어긋남 찾기

편집기를 열어 문자 몇 개만 입력하는 방식으로는 충분하지 않다. 편집기 단축키, 코드 자동 완성, 자동 대치의 영향을 피하려면 일반 텍스트 창에서 정해진 순서대로 테스트해야 한다.

검사 그룹 입력 내용 예상 결과 일반적인 문제 계층
기본 문자 a z 1 0 문자와 숫자가 일치함 로컬 배열
숫자 행 기호 ! @ # $ % 키캡 및 대상 배열과 일치함 클라이언트 매핑
짝 기호 () [] {} <> 여는 기호와 닫는 기호가 모두 정확함 배열 또는 Option 조합
수정 키 Command+C、Command+V 복사와 붙여넣기가 작동함 클라이언트
텍스트 탐색 Option+방향키 단어 단위로 이동함 수정 키 매핑
입력 소스 한글과 영어를 전환하고 후보 확인 전환과 입력 확정이 모두 정상임 macOS 입력 소스

기호를 테스트할 때는 각 구성원의 키캡을 기준으로 판단하지 말고, 팀에서 사용하는 논리적 배열을 명확히 정해야 한다. 예를 들어 미국식 ANSI 배열을 기준으로 삼을 수 있다. 원격 머신이 자동화 작업에 사용된다면 개발자마다 다른 로컬 습관을 그대로 복제하는 것보다 논리적 배열을 통일하는 편이 더 안정적이다.

텍스트 자동 대치의 영향 배제하기

곧은따옴표, 하이픈 또는 연속 공백이 자동으로 바뀐다면 일반 텍스트 모드에서 다시 테스트한다. 문자 자체는 정확하지만 편집기에서만 결과가 다르다면 대개 애플리케이션 수준의 텍스트 처리 문제다. 이 경우 시스템 키보드 매핑을 계속 변경해서는 안 된다.

수정 키와 단축키를 별도로 검증하기

수정 키 문제는 대개 특정 조합에서만 나타난다. Command+C가 정상이라고 해서 Option+숫자, Control+문자 또는 Command+Shift 조합도 정확하다는 뜻은 아니다. 복사, 창 전환, 단어 단위 이동, 대소문자 조합, 클라이언트 예약 키를 포함하는 최소 단축키 세트를 마련하는 것이 좋다.

호스트에 잘못된 매핑이 남아 있는 것으로 확인되면 현재 로그인 세션에서 다음과 같이 초기화할 수 있다.

hidutil property --set '{"UserKeyMapping":[]}'

초기화한 뒤에는 반드시 원격 세션을 끊고 다시 연결한 다음 문자 매트릭스를 재실행해야 한다. 문제가 사라졌다면 구성원이 설정 화면에서 수동으로 변경하게 하지 말고 세션 초기화 스크립트에 수정 사항을 반영한다. 문제가 계속된다면 호스트 기준 설정을 복원하고 클라이언트의 키 전달 규칙을 점검한다.

클라이언트의 키 가로채기 식별하기

특정 키 조합만 원격 데스크톱에 전혀 전달되지 않고 다른 조합은 정상이라면, 로컬 시스템이나 클라이언트가 해당 입력을 먼저 소비했을 가능성이 크다. 이때는 테스트 조합을 바꾸거나 클라이언트 설정을 조정해야 한다. 호스트에 도달하지도 않은 키를 호스트 측 재매핑으로 보정해서는 안 된다.

입력기와 자동화의 경계 검증하기

입력기 테스트에는 최소한 입력 소스 전환, 연속 어절 입력, 후보 페이지 이동, Enter로 확정, 전각 및 반각 문장부호, 터미널과 그래픽 애플리케이션 사이의 일관성이 포함되어야 한다. 암호 입력란, 터미널의 보안 입력 모드, 일부 원격 클라이언트는 조합 입력을 제한할 수 있으므로 하나의 애플리케이션에서만 테스트한 결과로 결론을 내려서는 안 된다.

자동화 작업은 “현재 입력기”에 의존하지 않아야 한다. 스크립트에서 설정 파일, 버전 번호 또는 테스트 데이터를 생성할 때는 UTF-8 파일에 직접 쓰거나 명령 인수로 값을 전달한다. 그래픽 인터페이스를 제어하는 테스트도 시작 전에 합의된 입력 소스로 전환하고, 현재 입력 소스 식별자를 로그에 남겨야 한다. 이렇게 하면 비즈니스 테스트 실패와 입력 환경의 변동을 분리할 수 있다.

VMOak에서 장기 작업을 실행한다면 입력 소스 목록과 문자 매트릭스 결과를 노드 초기화 기록에 포함하는 것이 좋다. 단시간 원격 작업이라도 최소한 클라이언트 버전과 선택한 배열은 저장해야 한다.

재접속 후 다시 테스트하고 기준선 만들기

입력 환경 검증에는 원격 연결을 완전히 끊었다가 다시 연결하는 과정이 반드시 포함되어야 한다. 애플리케이션 창만 닫는 것으로는 충분하지 않다. 원격 세션을 종료하고 다시 연결한 뒤 현재 배열, 수정 키, 입력 소스를 다시 확인해야 한다. 재접속 후에만 설정이 달라진다면 클라이언트가 연결 프로필에 따라 배열을 덮어쓰는지, 로그인할 때 설정 스크립트가 실행되는지 중점적으로 점검한다.

최종 기준선은 다음처럼 간단하게 유지할 수 있다.

  1. 하나의 논리적 키보드 배열을 정한다.
  2. 수정 키 교환은 클라이언트 또는 호스트 중 한 계층에서만 수행한다.
  3. AppleEnabledInputSourcesUserKeyMapping 출력을 저장한다.
  4. 문자 매트릭스와 다섯 가지 단축키 그룹을 모두 테스트한다.
  5. 터미널과 그래픽 애플리케이션에서 각각 한 번씩 입력기를 테스트한다.
  6. 연결을 끊고 다시 연결한 뒤 핵심 항목을 반복한다.

입력 문제를 처리하는 원칙은 “이번 연결에서만 작동하도록 조정하는 것”이 아니다. 변환을 담당하는 계층을 하나로 확정하고 다음 연결에서도 같은 결과가 나오도록 해야 한다. 이 기준선 검증을 마친 뒤 개발 의존성을 설치하거나 자동화 작업을 연결하면 이후 발생하는 문제의 원인을 훨씬 쉽게 구분할 수 있다.

자주 묻는 질문

원격 Mac에서 Command와 Option이 바뀌는 이유는 무엇인가요?

클라이언트가 로컬 Control, Alt 또는 시스템 키를 macOS 수정 키로 변환하는 규칙이 다르기 때문입니다. 호스트 UserKeyMapping을 지우고 클라이언트 매핑을 고정한 뒤 다시 접속합니다.

한글 문장 하나를 입력하면 입력기 검증이 끝난 것인가요?

아닙니다. 한영 전환, 조합과 확정, 전각 및 반각 문장부호, 숫자열 기호, 복합 단축키, 연결 종료 후 입력 소스 유지 여부까지 확인해야 합니다.

독점 물리 노드

빌드, 자동화 또는 원격 작업을 위한 클라우드 Mac 선택

M4 16GB와 M4 Pro 64GB 두 가지 구성을 비교하고, 대여 기간과 이용 가능한 노드를 확인한 후 주문을 제출하세요.

클라우드 Mac 구성 선택