Backspace 鍵在 xterm 輸出 Delete
這個問題由 xterm-192-1.EL4.0 開始出現。CentOS 4.4 包含了 192-4.EL4 版本,而 CentOS 4.3 則包含了 192-1(變動出現前)。
當時,下列(及其它)內容被新增至 XTerm 資源檔中,它位於: /usr/X11R6/lib/X11/app-defaults/XTerm
其它相關的資源檔可能包括 UXTerm 及 XTerm-color,它們也位於同一目錄內。
這兩行:
! keyboard setup *VT100*backarrowKey: false
這個特定資源會導致所有終端機停用 backarrowKey 的功能,意思就是 BS 不再輸出 ^H,卻會輸出 DEL(^?)。
要測試這個現象,開啟一個 xterm,然後用 Control-左按鍵 打開其中一個設置視窗(按著你的滑鼠的左鍵),選取 "Backarrow Key (BS/Del)" 這個選項。當被啟用時,你會得到 ^H,當停用時,你會得到 ^?。
最低調的解決方法就是在用戶的主目錄建立一個 .Xresources 檔案(~/.Xresources),並在裡頭加入:
*VT100*backarrowKey: true
之後,你可以重新啟動 X(Control-Alt-Backspace 是一個好的方法,又或者以 root 的身份執行 "telinit 3; telinit 5"),你亦可以匯入新的數值:
xrdb -merge ~/.Xresources
當然,你也可以直接編輯 XTerm 資源檔,或者 /etc/X11/Xresources,但這樣做可能會(必定會?)在將來更新時導致問題出現。
這個方法的最大優點就是將來更新時不會失去功用。
無論如何,這些改動必須在關閉現有的終端機視窗,然後重新開啟它們後才會生效。
Translation of revision 8
