iT邦幫忙

DAY 11
11

HP-UX管理實務經驗系列 第 17

如何修改HP-UX的特殊控制碼(如[Ctrl+Break]、[Ctrl+H])?

繼上次分享遇到倒退鍵(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+BreakBacksapce為範例:

# 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這兩個指令說明~


上一篇
如何讓系統於root登入時,自動mail郵件通知mis人員
下一篇
用ps指令查看process時,發現有程式內容為的怪process?
系列文
HP-UX管理實務經驗18

尚未有邦友留言

立即登入留言