Làm cách nào để tôi * un * đặt một tùy chọn trong `xkbmap`?


9

Tôi muốn vô hiệu hóa tổ hợp Ctrl-Alt-Backspace bằng công cụ dòng lệnh, không có quyền riêng tư gốc.

Tôi biết tôi có thể sử dụng setxkbmapđể en có thể “hạ gục” với các tùy chọn terminate:ctrl_alt_bksp. Hơn nữa, setxkbmap -option[đặt tên không có tùy chọn] sẽ xóa tất cả các tùy chọn. Có cách nào để bỏ đặt chỉ một lựa chọn không?


Có lẽ điều này sẽ giúp.
MatthewRock

1
setxkbmap -option -option $(setxkbmap -query | sed -n '/options:\s*\|terminate:[^,]*/s///gp')
Costas

1
@don_crissti Tôi hy vọng rằng có quyết định đúng đắn hơn cái nạng của tôi
Costas

2
@Costas - Than ôi, không có cách nào đơn giản, setxkbmap -option -option new:optionslà cách dễ nhất.
don_crissti

Câu trả lời:


6

Một chút nạng: trước tiên hãy xóa tất cả các tùy chọn bằng -optionmột đối số trống, sau đó đặt các tùy chọn tương tự với chấm dứt loại trừ khỏi danh sách:

setxkbmap -option -option $(setxkbmap -query |
    sed -n 's/options:\s*\(terminate:[^:]*,\)\?\|,terminate:[^,]*//gp')

Để rõ ràng, tôi đã tìm kiếm một cái gì đó đơn giản hơn - như bạn nói chính mình. Có vẻ như cần phải có một lựa chọn để làm điều đó, nhưng nếu không, đây là Câu trả lời.
xebtl

1
Lệnh bị thiếu đóng '. Tôi sẽ chỉnh sửa nó, nhưng rõ ràng nó không phải là một chỉnh sửa đủ để thực hiện. :)
Ian Hunter

3

Từ kinh nghiệm của tôi (có giới hạn), thứ hoạt động tốt nhất là sử dụng:

setxkbmap -query

Và nó in ra các cài đặt hiện tại của bạn ( setxkbmap -printlà một cách khác để hiển thị các cài đặt bàn phím hiện tại của bạn) Sau đó xóa tất cả các tùy chọn bằng cách sử dụng -optionmà không có bất kỳ đối số nào:

setxkbmap -option

Sau đó giới thiệu lại các tùy chọn mới cùng một lúc:

setxkbmap -option key:key_replacement
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.