萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 解決Ctrl+S時Putty或Xterm命令行無返回的問題

解決Ctrl+S時Putty或Xterm命令行無返回的問題

   經常使用Putty或者Xterm之類命令行控制Linux系統的朋友,或許遇到像我這樣子的問題:在按下CTRL+S後,命令行完全沒有響應。然後關閉窗口重新打開,這樣非常不爽,現在我們就來解決這個破問題。

  只要使用的第一個編輯器不是VIM,或者Emacs的朋友,幾乎在編輯過程中最常用的快捷鍵恐怕就是CTRL+S 了。而對於經常使用Putty或者Xterm之類命令行控制Linux、Unix系統的朋友,恐怕也經常遇到和我一樣的問題,本能的按下CTRL+S之後,發現命令行完全沒有響應了。無奈之下,只能重開窗口,重新打開新的命令行界面。

  每次重開命令行,都需要先連接服務器,kill掉曾經啟動的程序,然後再重新執行他們。

  其實,這是因為CTRL+S啟動了XOFF(關閉流控制)。這會讓終端正常接受按鍵操作,但是並不會做任何輸出,感覺就像命令行沒有響應了一樣。

  這篇文章將為您提供三大解決方案:

  立竿見影的解決方案

  一勞永逸的解決方案

  一箭雙雕的解決方案

  立竿見影的解決方案

  直接CTRL+Q,打開流控制(XON). 如果在CTRL+Q操作之前,你做了其他一些按鍵操作,此時,您應該能在終端重新看到這些輸出了。

  一勞永逸的解決方案

  可以直接在.bashrc中禁止CTRL+S命令發送XOFF。

  在您的.bashrc中添加如下兩行( 可以man stty查看更多選項):

  stty ixany

  stty ixoff -ixon

  一箭雙雕的解決方案

  其實,我們真的可以讓CTRL+S在VIM中用於保存文件:

  .bashrc中的修改

  stty ixany

  stty ixoff -ixon

  stty stop undef

  stty start undef

  .vimrc中的修改, CTRL+S保存當前文件

  map :w

  imap :wa

copyright © 萬盛學電腦網 all rights reserved