ターミネーター(ターミナルエミュレーター)でCTRL-Dウィンドウを閉じることを無効にします


46

多くの場合、複数のSSHセッションを介してログインします。セッションからログアウトするには、ローカルマシンに戻るまでCTRL+ を押しますd

ただし、一度押すと、端末が終了することがあります。

ブロックする方法がありますCTRL+ d私の端末を閉じてからは?

端末エミュレーターとしてターミネーターを使用しています




Zsh についてはこの質問をご覧ください。
rgov

回答:


50

通常、bashでeofを無効にすることもできます。

set -o ignoreeof


2
しかし、それを無差別に行うと、ssh経由でログインしたときにも適用されます。
ジル 'SO-悪であるのをやめる' 14年

3
ターミネーター0.97を使用しています。-o ignoreeofを設定すると、ctrl-dがメッセージで10回ブロックされます(終了しません)。「exit」を使用してシェルを終了します。11番目のctrl-dで終了します。
AAAfarmclub

OMG、ありがとう!! それ(偶発的な端末の色合い)は、私にとって大きな迷惑でした。〜/ .bashrcに追加されました。コンソールで動作します| xfce4-terminal | ... :-D
ビクトリアスチュアート

@Gilles良い入力、その解決策はありますか?
ゴーティエ

34

IGNOREEOFbashで環境変数を使用できます。そのため、実際にシェルを終了する前に、42回export IGNOREEOF=42押す必要がありますCtrl+D

POSIX setにも-o ignoreeof設定があります。


4
43回:最初の42回は無視され、最後の42回は実際に終了します。:-)
デルタブ14年

43回は冗長すぎると思った。間違いなくset -o ignoreeof、より実用的になります
ryekayo

3
しかし、それを無差別に行うと、ssh経由でログインしたときにも適用されます。
ジル 'SO-悪であるのをやめる' 14年

しかし、ターミナルを開くたびにコマンドを記述する必要があります。これを永久に無効にするにはどうすればよいですか?
MycrofD 14年

2
@MycrofDこれを.bashrcまたはに追加します.profile
ヤンワルチョウ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.