直到 Debian 8,我可以通过以下方式配置键盘:
setxkbmap -model pc105 -layout us -variant alt-intl
如何在 Debian Stretch 中实现相同的效果?有什么变化?
我确实记得,在某些 Debian 版本中,我必须在每次X
启动后执行该命令,但对我来说这仍然可以。
自从我安装了 Debian Stretch 后,该命令将不再有效。是的,它确实认为它正在工作:
setxkbmap -query rules: evdev model: pc105 layout: us variant: alt-intl options: terminate:ctrl_alt_bksp
但事实并非如此。
我最终设法让它工作了:
ibus-setup #interactive sudo ibus-daemon --xim &
但是,除了交互之外,这个东西还是随机的。有时键盘会回到它认为应该应用的疯狂默认布局(有一次甚至是在工作编码面试中!)。我使用英语:
echo $LANG en_US.UTF-8
我选择了荷兰时区和带有死键的国际布局;仅此而已。我从未尝试设置任何与非标准 US-ish-ENG-ish 区域相关的内容。
我希望改变它的原因对很多人来说是非常有用的,因为很难理解为什么配置这样一个基本的东西,就像它几十年来一直工作的方式,现在变得如此复杂。
我已经尝试过的事情即使重新启动后也没有任何效果:
1)
sudo dpkg-reconfigure keyboard-configuration
2)
setupcon
3)
sudo setupcon
4)
udevadm trigger --subsystem-match=input --action=change
5)
sudo apt-get install -y console-data console-setup console-locales keyboard-configuration
6)
sudo apt-get remove ibus -y
然后重新启动 X。
7)
rm /var/lib/xkb/*.xkm rm: cannot remove '/var/lib/xkb/*.xkm': No such file or directory
8)
setxkbmap -rules evdev -model evdev -layout us -variant alt-intl
这些都没有使第一次的配置setxkbmap
再次生效,并保留了相同的奇怪的默认设置。
我已经尝试过的事情并将键盘恢复为原始状态us
(无重音符号/死键):
1)
setxkbmap -rules evdev -model evdev -layout us -variant altgr-intl
2)
setxkbmap -rules evdev -model pc105 -layout us -variant altgr-intl
3)
setxkbmap -rules evdev -model evdev -layout us -variant altgr-intl -option eys # no complain of bad options
4)
setxkbmap -rules evdev -model pc105 -layout us -variant altgr-intl -option #clears option
5)
setxkbmap -rules evdev -model pc105 -layout us -variant intl -option
6)
setxkbmap -rules evdev -model pc105 -layout us -variant altgr-intl -option terminate:ctrl_alt_bksp #control-alt-backspace option
答案1
我花了大约 3 个小时来处理这个问题,在带有 xfce4 的 Debian 9 上,无法使用任何命令来设置默认键盘设置,即使使用 xfce4 的 UI 键盘配置...但是...这工作得很好:
echo '
# Set default keyboard for X:
sleep 2
if [ -n $DISPLAY ] ; then
setxkbmap -model pc105 -layout es -variant winkeys -print | xkbcomp - $DISPLAY
fi
' \
| sudo tee -a ~/.xsessionrc
为了使其工作,必须执行 sleep 命令。
答案2
这对我有用:
sudo dpkg-reconfigure keyboard-configuration
sudo service keyboard-setup restart
然后重启