Debian

在啟動時執行命令以交換大寫鎖定和 ctrl

  • October 21, 2018

我有點困惑為什麼這沒有按預期工作。我的目標是將大寫鎖定鍵映射到控制。我正在使用debian。為此,我使用以下命令

/usr/bin/setxkbmap -layout "$(setxkbmap -print | awk -F + '/xkb_symbols/ {print $2}')" -option ctrl:nocaps

如果我通過終端執行它,它工作得很好。但是,我希望在啟動或登錄時完成此操作,並始終手動執行。我嘗試將此命令添加到 XFCE 中的自動啟動會話應用程序中,並將該命令放入我的~/.profile. 但是,這兩種選擇似乎都不起作用。我仍然必須手動執行它(在正確映射之後)。我究竟做錯了什麼?

setxkbmap命令在添加後沒有 的原因是該文件僅在登錄shell 啟動~/.profile時才由您的 shell(可能是 bash)讀取。在終端仿真器中不啟動登錄 shell。如果您使用,則添加到您的,但係統上有更好的方法可用- 修改您的部分,例如:X``setxkbmap``~/.bashrc``Bash``debian``XKBOPTIONS``/etc/default/keyboard

root@debian:/home/ja# cat /etc/default/keyboard
# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="us"
XKBVARIANT=""
XKBOPTIONS="ctrl:nocaps"

BACKSPACE="guess"

現在按照以下說明執行此命令man 7 keyboard

udevadm trigger --subsystem-match=input --action=change

您甚至不必重新啟動lightdm。下次lightdm啟動時/etc/default/keyboard將自動應用設置。我剛剛在我的Debian 9.4.

引用自:https://unix.stackexchange.com/questions/452391