Slackware笔记本TTY中Ctrl组合快捷键失效问题求助
刚装完Slackware就碰到Ctrl快捷键在TTY里罢工的情况?我之前折腾Slackware的时候也遇到过类似问题,结合你已经确认Ctrl按键硬件正常的前提,给你几个具体的排查和解决方向:
检查并重置键盘映射
Slackware默认会通过/etc/rc.d/rc.keymap加载键盘布局映射,有时候默认的keymap可能没有正确绑定组合键。先查看当前加载的键盘映射:loadkeys --query如果显示的不是你常用的布局(比如美式英语),试试手动加载默认US键盘映射:
loadkeys us要是加载后Ctrl快捷键恢复正常,说明是keymap配置有误。编辑
/etc/rc.d/rc.keymap文件,把KEYMAP参数改成你需要的布局(比如KEYMAP="us"),然后运行/etc/rc.d/rc.keymap start让设置生效,重启后就不会再出问题了。检查stty终端参数配置
Ctrl+C这类快捷键是通过终端的信号映射实现的,比如Ctrl+C对应发送SIGINT信号。用下面的命令查看当前终端的stty配置:stty -a在输出里找
intr = ^C这一行,如果显示的不是^C,说明信号映射被改了。执行下面的命令重置:stty intr ^C同理,检查清屏相关的映射(Ctrl+L对应清屏),如果有异常也可以用stty重置。要是想让这个设置永久生效,可以把
stty intr ^C添加到~/.bashrc或者/etc/bashrc里。排查shell配置文件的干扰
如果你切换到root用户后Ctrl快捷键正常,那大概率是普通用户的shell配置出了问题。检查你的~/.bashrc、~/.profile或者~/.bash_profile文件,有没有添加过修改stty或键盘绑定的命令(比如bind命令),如果有注释掉这些内容,重新登录TTY试试。验证init和agetty的配置
查看/etc/inittab里的TTY配置条目,比如类似这样的行:1:2345:respawn:/sbin/agetty 38400 tty1 linux确保末尾的终端类型参数是
linux(这是Slackware默认的TTY终端类型),如果改成了其他类型可能会导致组合键失效。如果修改了inittab,记得执行telinit q让init重新加载配置。
内容的提问来源于stack exchange,提问作者user597571




