為什麼 Esc、Ctrl、Shift 和 Alt 等鍵在 Windows PC 的 SSH 工作階段中不起作用?

為什麼 Esc、Ctrl、Shift 和 Alt 等鍵在 Windows PC 的 SSH 工作階段中不起作用?

我正在 Windows PC 上工作。如果我打開 Linux (CentOS) 電腦的終端機(使用 PuTTY 或 SSH),我將無法取得EscCtrl和等金鑰ShiftAlt運作。

我需要它們作為午夜指揮官(目前Ctrl+Ins不是Shift+Ins為我工作)。是否可以讓這些鑰匙發揮作用?

答案1

PuttyUnix模擬透過串列 ( ) 連接連接到機器的終端RS232c。看這裡用於配置選項。典型的終端類型包括vt100, vt200, xterm, ansi

為了獲得正確的操作,您的Unix環境變數TERM必須與正在模擬的終端類型相符(請參閱Putty配置Connection/Data/Terminal-type)。我正在使用xterm, 也用於文字模式控制台視窗。

使用echo $TERMas 指令尋找目前值。

Esc是終端控制序列的第一個字元。因此,它通常不應用作獨立字元。CtrlShift並且Alt它們本身不會觸發任何字元發送到您的Unix機器。您可以使用Putty配置選單Terminal/Keyboard來影響某些按鍵的轉換方式。

答案2

儘管 PuTTY 將TERM變數設為xterm,它的行為實際上與 xterm 的行為不符。問題中提到了兩個特點:

  • Escape作為一個字首由特殊鍵返回由xterm作為替代鍵(參見討論eightBitInput在手冊中)。
  • 其他鍵(ControlShiftAlt)通常用作*修飾符。也就是說,它們通常不會自己發送字符,而是修改同時按下的按鍵的行為。

ncurses 常見問題解答如何使用移位或控制修飾符?介紹了修改鍵的一些背景。 PuTTY 未實現任何的。它修改由移動遊標鍵發送的控制序列,在普通的應用模式(請參閱 xterm 常見問題解答為什麼我不能在(任何)shell 中使用遊標鍵?對這些術語的一些討論)。

ncurses 對於預設配置有準確的終端描述油灰(可以創建幾個描述來對應其鍵盤對話框設置,但實際上這些描述很少被提及,可能很少使用)。具有完整終端資料庫的系統將具有putty終端描述。

與其他終端模擬器一樣,設定TERMxterm,完整的終端描述與xterm. ncurses 常見問題解答為什麼不直接使用 TERM 設定為「xterm」?對此方面進行了概述。

提到的SSH提示您可能正在mintty與 Cygwin 一起使用。那是的後裔PuTTY,具有大致相同的限制。

答案3

答案是你不能,因為這是 PuTTY 中的一個錯誤。

貓咪這是 PuTTY 的分支,並且已經實現了適當Ctrl/Shift支持,您可能想看一下。

來源:https://superuser.com/a/1226621/360137

順便說一句 - 預設情況下 KiTTY 具有Ctrl+Up/Down透明度控制熱鍵,因此您可能希望透過設定為會話的預設值來完全停用Window->Transparency透明度-1

答案4

作為 putty4far2l putty fork 的作者,我建議您嘗試一下 «遠2l+膩子4far2l» 類似於 «mc + putty» 使用者體驗,但具有完整的鍵盤支援。這可以透過所謂的「far2l 終端擴展」來實現。如果您在 putty4far2l 中的 far2l 中執行 mc,則 mc 中也將提供完整的鍵盤支援。

PS:far2l的ppa是這裡, putty4far2l的二進位檔案可以直接在github上取得

相關內容