2014-03-06 81 views
0

當我SSH進入特定服務器並啓動screen時,它會忽略我的CTRL+a組合鍵。而不是CTRL+a c創建一個新的屏幕窗口,它反而就像我剛剛輸入c一樣。其他關鍵組合失敗的方式相似。忽略SSH屏幕CTRL

我試過啓動屏幕使用screen -e ^jj綁定到j而不是a,但我仍然得到了與上述相同的結果。

我試着將.screenrc文件添加到我的homedir中,我知道它可以在其他機器上工作,但它沒有任何影響。

我也嘗試啓動一個zsh shell而不是bash。

任何想法在哪裏開始嘗試和解決這個問題?這基本上呈現屏幕不可用。

感謝

+0

如果您鍵入Ctrl-V Ctrl-A會發生什麼? (順便說一句,我的''^^@'在我的'.screenrc'中有'escape';它允許我使用Ctrl-space作爲我的命令鍵,我發現它非常易於使用。) –

+0

'Ctrl-V Ctrl-A'給我一個'^ A' – Jason

+0

好吧,這告訴你'screen'不能識別Ctrl-A。檢查'$ HOME/.screenrc','/ etc/screenrc'和'$ SYSSCREENRC'和'$ SCREENRC'環境變量,並查找'escape'命令;請參閱man屏幕的「文件」部分。 (但是這並不能解釋爲什麼'-e^jj'不起作用。) –

回答

0

screen啓動時讀取多個配置文件中的命令,如在手冊頁的FILES部分或的User's ManualCustomizing Screen節中描述(可也,如果它的安裝,通過鍵入info screen)。

的文件中讀取是:

  • $SYSSCREENRC環境變量命名(這可能會或可能不會被啓用)的文件
  • /etc/screenrc
  • $SCREENRC環境命名的文件variable`
  • $HOME/.screenrc

(這些interac T和被搜索的,我不明白完全不同的方式。)

你的具體情況,根據意見,你正在運行screen系統在其上恰好有一個/etc/screenrc文件,其中包含一個escape命令這會覆蓋默認值。

題外話:在我自己的$HOME/.screenrc我:

escape ^@^@ 

這臺轉義字符爲空字符,這可以通過鍵入Ctrl-Space鍵輸入。我發現輸入更容易,與其他用途衝突的可能性要小於默認的Ctrl-A。我碰到的唯一衝突就是Emac set-mark-command函數,並且很容易輸入它兩次。