%20.png)
私は、複数の SSH セッションに同時にログインすることがよくあります。複数のセッションからログアウトするには、ローカル マシンに戻るまでCTRL+を押します。d
ただし、時々押しすぎてしまい、ターミナルが終了してしまうことがあります。
CTRL+ がdターミナルを閉じられないようにする方法はありますか?
私はターミナルエミュレータとしてターミネーターを使用しています。
答え1
bash では一般的に eof を無効にすることもできます。
set -o ignoreeof
答え2
IGNOREEOF
bash では環境変数を使用できます。そのため、実際にシェルを終了するまでに 42 回export IGNOREEOF=42
押す必要があります。Ctrl+D
POSIXにも設定set
があります-o ignoreeof
。
答え3
Ctrl-D EOF 文字は、ターミナル エミュレータではなく、シェルによって解釈されます。他の回答では bash 設定について説明されていますが、他のシェルでは異なります。
C シェル (例: tcsh) の場合は、tcshrc ファイルに追加できます。
# Prevent accidental logouts completely
set ignoreeof
# Just prevent the first two, and allow the third
set ignoreeof=3
fish シェルの場合、Ctrl-D の動作はキーバインディングによって制御されます。デフォルト設定は なのでdelete-or-exit
、 のキーバインディングを に設定して、削除のみをサポートすることができ\cd
ますdelete-char
。
詳細は魚のGithubの問題(例えば、バージョン 3.0 より前では、bind
という関数に を追加する必要がありますfish_user_key_bindings
が、バージョン 3.0 以降では にそれを配置できます~/.config/fish/config.fish
) 要約すると、次のようになります。
bind \cd delete-char # Don't exit on accidental Ctrl-D
bind \cd\cd\cd delete-or-exit # Exit on the third one