루트 권한 없이 명령줄 도구를 사용하여 Ctrl-Alt-Backspace 조합을 비활성화하고 싶습니다.
나도 setxkbmap
사용할 수 있다는 걸 알아zh"빠른 전환" 옵션을 사용할 수 있습니다 terminate:ctrl_alt_bksp
. 또한 setxkbmap -option
[옵션 없이 이름 지정]은 다음을 제거합니다.모두옵션. 하나만 선택 해제하는 방법이 있나요?
답변1
약간 어렵습니다. -option
먼저 빈 매개변수를 사용하여 모든 옵션을 제거한 다음 동일한 옵션을 설정합니다.종료목록에서 제외:
setxkbmap -option -option $(setxkbmap -query |
sed -n 's/options:\s*\(terminate:[^:]*,\)\?\|,terminate:[^,]*//gp')
답변2
내 (제한된) 경험에 따르면 가장 효과적인 방법은 다음을 사용하는 것입니다.
setxkbmap -query
그런 다음 현재 설정을 인쇄하고(현재 키보드 설정을 표시하는 대신) setxkbmap -print
인수 없이 모두 제거 옵션을 사용합니다.-option
setxkbmap -option
그런 다음 새로운 옵션을 한 번에 하나씩 다시 도입하세요.
setxkbmap -option key:key_replacement
답변3
간단한 방법:
setxkbmap -option
setxkbmap -option 'terminate:ctrl_alt_bksp'
답변4
다음은 허용된 답변을 기반으로 하는 보다 일반적인 스크립트입니다. 또는 패턴을 전달하여 unsetxkbmap-option 'terminate:.*
실행 취소 -option ctrl:swapcaps
하고 결과를 미리 볼 수 있습니다.unsetxkbmap-option -n '.*swap.*'
!/bin/sh -eu
DRY=
while test $# -gt 0; do case "$1" in
--dry-run|-n) shift; DRY=y ;;
--) shift; break ;;
-*) echo "Unknown: $1"; exit 1 ;;
*) break ;;
esac; done
opts=$(setxkbmap -query |
perl -wlnE 'if (/^options:\s*/gc) { ($& =~ /'^"$1"'$/ or print "-option $& ") while /[^,]+/g }'
)
printf '%s\n' "$opts"
test -z "$DRY" && setxkbmap -option $opts