%20.keylayout%EC%97%90%20%EB%B3%80%EA%B2%BD%20%EC%82%AC%ED%95%AD%EC%9D%84%20%EC%A0%81%EC%9A%A9%ED%95%A9%EB%8B%88%EB%8B%A4..png)
웹사이트의 Ukelele 개발자(John Brownie):
둘째, 활성화된 키보드 레이아웃이 있는 경우 이를 수정하고(Ukelele 또는 다른 방법으로) 저장한 다음 로그아웃했다가 다시 로그인하면 시스템이 새 버전을 로드하지 않습니다. 시스템이 변경 사항을 인식하도록 하려면 키보드 레이아웃이 포함된 폴더를 수정해야 합니다. 가장 쉬운 방법은 키보드 레이아웃 파일을 바탕 화면으로 드래그한 다음 키보드 레이아웃 폴더로 다시 가져온 다음 로그아웃하고 다시 로그인하는 것입니다. 다시 시작하면 항상 최신 버전의 키보드 레이아웃이 로드됩니다.
더 정상적인 방법은 없나요?
그래서 아마도 그렇지 않을 것 같습니다. Applescript를 사용하여 부분적으로 자동화하는 방법은 다음과 같습니다.
do shell script "touch '/Library/Keyboard Layouts/'"
tell application "System Events"
try
tell process "Ukelele"
click menu bar 1's menu bar item "File"'s menu 1's menu item "Save"
end tell
end try
log out
end tell
답변1
미안하지만 할 수 있는 것보다 더 나은 것은 없습니다. 키보드 레이아웃은 로그인 시에만 검사되며, 다시 시작하지 않으면 시스템은 폴더 수정 날짜를 확인하여 마지막 로그인 이후 변경된 폴더만 검사하여 프로세스를 최적화합니다.
자동화하기 위해 제가 생각할 수 있는 유일한 다른 방법은 관련 폴더의 수정 날짜를 변경하는 스크립트를 사용하는 것입니다. 'touch'를 호출하는 쉘 스크립트가 작동합니다(아래 참조). 그런 다음 (파일을 끌어서 안으로 넣는 대신) 더 간단한 변경 방법을 사용할 수 있지만 여전히 로그아웃했다가 로그인해야 합니다. 옵션을 누르는 것 외에는 로그아웃하는 바로가기가 있는지 모르겠습니다. Shift-명령-Q. 나는 그것을 스크립트하는 방법을 본 적이 없습니다.
라이브러리 폴더에 있는 키보드 레이아웃 폴더의 수정 날짜를 변경하는 스크립트:
#!/bin/sh
touch /Library/Keyboard\ Layouts