3

我正在尝试确保在我的所有终端/shell/tmux 中关闭流控制、xon-xoff、Control-S Control-Q 功能(以便我可以可靠地将 Control-S 用于其他用途)它应该在 X、urxvt、tmux、控制台、ssh 等任何地方工作。

配置应该放在哪个点文件中?应该是什么?我最好的猜测:

# check xon/xoff settings
# stty -a | egrep -o -- '-?\<(ix\w*|start|stop)'

if [ -t 0 ]; then # term test?
    # Turn off TTY "start" and "stop" commands in all interactive shells.
    # They default to C-q and C-s, Bash uses C-s to do a forward history search.
    stty start ''
    stty stop  ''
    stty -ixon # disable XON/XOFF flow control
    stty ixoff # enable sending (to app) of start/stop characters
    stty ixany # let any character restart output, not only start character
fi

我在我的机器上找到的示例使用 .bash_profile,但这似乎并没有抓住我的非登录 shell。另一方面,在 .bashrc 中放置 stty 调用假定有一个终端,我应该只测试一个终端( if [ -to ] )还是检查 $PS1?

也许有比“stty”更好的方式来配置我的终端?也许我应该让所有 bash 实例登录 shell?

stty 是我想避免的那些神秘的谜团之一。

4

1 回答 1

4

使用Control-S等,仅在交互式外壳中才有意义。所以,我会把它放进去.bashrc,并确保测试 shell 是否真的是交互式的。

于 2013-01-15T23:47:41.960 回答