UG Machine TTY问题解决记录

今天研究了一下,解决了UG Machine上TTY字符识别的一个小问题。

症状

登录进入terminal以后,默认shell是csh,按<backspace>键以后整行的命令都消失了,直接提示下一个命令。

原因排查

键入`stty -a`,发现inter信号对应的键盘转义序列是^?,erase对应的是^H,而默认<backspace>的转义序列是^?和^H,这样你输入<backspace>的时候会发送中断信号。

解决方案

一句命令:

stty inter ^C

把发送中断信号设定回我们习惯的C-c命令即可。

事实上下面的命令也有效:

stty sane

其效果是设定所有的特殊字符值到默认。

小技巧

1. 想知道terminal下各不可见字符(例如<backspace>,<delete>,<page down>)的转义序列?

先按C-v,再按该键即可。

emacs下面则是先按C-q,再按该键。

2. 改变用户默认使用的SHELL:

chsh $USER $SHELL

posted @ 2014-10-24 00:58  Nuk9_  阅读(257)  评论(0编辑  收藏  举报