여러 Ubuntu 14.04/14.10 데스크톱을 프로비저닝해야 합니다. 대부분의 사항은 구성 파일이나 명령줄에서 설정할 수 있기 때문에 쉽게 프로비저닝할 수 있었습니다.
그런데 사용 가능한 언어를 설정하는 것과 언어 간 전환을 위한 키보드 단축키를 설정하는 것, 두 가지에 문제가 있습니다. 나는 그것들을 어떻게 하는지 알아요gnome-control-center
사용 가능한 언어 설정
Region & Language > Input Sources > English (US) + German + Italian
언어 전환을 위한 키보드 단축키 설정
Shortcut Settings > Typing > Switch to next source (Super+Escape), Switch to previous source (Shift+Super+Escape)
하지만 구성 파일이나 명령줄에서 수행하는 방법을 모르기 때문에 자동으로 프로비저닝할 수 없습니다.
답변1
열쇠
당신이 찾고 있는 열쇠는 다음과 같습니다:
입력 소스를 편집하려면:
org.gnome.desktop.input-sources sources
언어를 앞으로 전환하기 위한 키보드 단축키를 편집하려면:
org.gnome.desktop.wm.keybindings switch-input-source
입력 소스를 뒤로 전환하려면:
org.gnome.desktop.wm.keybindings switch-input-source-backward
설정을 편집하는 명령
명령줄에서 세 가지를 편집하는 명령 예:
입력 소스를 편집하려면 질문에 언급된 대로 입력 소스를 설정하십시오.
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('xkb', 'it'), ('xkb', 'de')]"
스위치 단축키 조합을 Ctrl+ 로 설정하려면space
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Primary>space']"
스위치 바로가기 키 조합을 뒤로 전환하도록 설정하려면 Shift+ Super+space
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"
현재 설정을 가져오는 명령
gsettings get org.gnome.desktop.input-sources sources
gsettings get org.gnome.desktop.wm.keybindings switch-input-source
gsettings get org.gnome.desktop.wm.keybindings switch-input-source-backward
이 키를 찾는 방법
다음 명령을 사용하여 모든 키를 나열하여 데이터베이스에서 키워드를 검색할 수 있습니다.
gsettings list-recursively
기존 키가 모두 나열되거나 (저는 정기적으로) 설치 하고 + 를 dconf-editor
사용하여 키워드를 찾습니다 .CtrlF
편집하다
의견에서 요청한 대로 명령줄에서 입력 소스를 살펴보는 작은 스크립트를 추가했습니다.
#!/usr/bin/env python3
import subprocess
import sys
src = sys.argv[1]
key = "org.gnome.desktop.input-sources"
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8").strip()
src_list = len(eval(get("gsettings get "+key+" sources")))-1
current = int(get("gsettings get "+key+" current").split()[-1])
if src == "+":
set_new_value = "gsettings set "+key+" current "+(str(current+1) if current < src_list else "0")
elif src == "-":
set_new_value = "gsettings set "+key+" current "+(str(current-1) if current > 0 else str(src_list))
subprocess.Popen(["/bin/bash","-c", set_new_value])
그것을 실행하려면
- 다음과 같이 스크립트를 빈 파일에 저장합니다.
switch_source.py
다음 명령으로 실행하세요.
python3 /path/to/switch_source.py +
다음 입력 소스로 이동하려면
python3 /path/to/switch_source.py -
이전으로 가려면