3

すべての端末/シェル/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 を使用していますが、ログインしていないシェルをキャッチしていないようです。一方、.bashrc に stty 呼び出しを配置すると、端末があると想定されます。端末をテストするだけでよいでしょうか (if [ -to ] )、または $PS1 を確認する必要がありますか?

おそらく、「stty」よりも端末を構成するためのより良い方法がありますか? おそらく、すべての bash インスタンスをログイン シェルにする必要がありますか?

stty は、私が避けたい難解な謎の 1 つです。

4

1 に答える 1

4

などの使用Control-Sは、対話型シェルでのみ意味があります。だから、私はそれを入れて、シェルが本当にインタラクティブ.bashrcかどうかを確実にテストします。

于 2013-01-15T23:47:41.960 に答える