繼上次分享遇到倒退鍵(Backspace)失效的處理方式後,這邊另外再分享一個如何修改HP-UX控制碼的小技巧
有不少傳統產業於HP-UX使用文字模式應用系統的人,應該都常會遇到某些按鍵在更換主機或OS重新安裝之後就失去效用,這除了可能您的終端模擬軟體(Terminal Client)的tty(Terminal Type)可能設定不正確外(一般多是VT100或VT220),另外一個可能就是您所使用的tty設定的按鍵跟主機預設的不一樣,所以才會按了沒有反應。
那要怎麼排除這樣的問題呢?您可以先用底下指令恢復HP-UX的預設控制碼:
# stty -a < /dev/ttyconf
執行後系統會回應如底下的訊息
min = 4; time = 0;
intr = DEL; quit = ^\; erase = #; kill = @
eof = ^D; eol = ^@; eol2 <undef>; swtch <undef>
stop = ^S; start = ^Q; susp <undef>; dsusp <undef>
werase <undef>; lnext <undef>
如果您想修改某些控制的對應的按鍵的話,可以參考底下指令來修改,這邊我們以Ctrl+Break與Backsapce為範例:
# stty intr ^C erase ^H < /dev/ttyconf
這樣我們就算把中斷鍵與倒退鍵改為^C與^H(直接打「^」+「C」,無須按[Ctrl]+[C])
另外我們也可以用底下指令來檢查,看看目前我們更改了哪些按鍵的設定值(與系統預設值比較):
# stty < /dev/ttyconf
系統會顯示剛剛我們改過的中斷鍵與倒退鍵(最後一行可不用理它)
intr = ^C; erase = ^H;
swtch <undef>;
如果我們不想每次登入都還要下指令才能改變的話,有兩種做法:
**[方法1]**可以將上面的指令,加入到/etc/profile或個人目錄的.profile檔案中
**[方法2]**可以直接修改[/etc/inittab]檔案內容(建議最好先備份),將底下兩行
cons:123456:respawn:/usr/sbin/getty console console # system console
ttp1:234:respawn:/usr/sbin/getty -h tty0p1 9600
改為這三行內容(第一行是多加入的):
ttco::bootwait:/sbin/stty intr ^C erase ^H kill ^U < /dev/ttyconf
cons:123456:respawn:/usr/sbin/getty -f console console # system console
ttp1:234:respawn:/usr/sbin/getty -f -h tty0p1 9600
詳細指令說明可用man指令尋找stty與getty這兩個指令說明~