ปิดใช้งานการปิดหน้าต่าง CTRL-D ในเทอร์มิเนเตอร์ (เทอร์มินัลอีมูเลเตอร์)


45

ฉันมักจะเข้าสู่ระบบผ่านช่วง SSH หลายครั้ง ในการออกจากระบบของฉันฉันกดCTRL+ dจนกระทั่งฉันกลับไปที่เครื่องท้องถิ่น

อย่างไรก็ตามบางครั้งฉันกดหลายครั้งเกินไปและเทอร์มินัลของฉันออก

มีวิธีการปิดกั้นCTRL+ dจากการปิดสถานีของฉันหรือไม่?

ฉันใช้ terminator เป็นโปรแกรมจำลองเทอร์มินัล




ดูคำถามนี้สำหรับ Zsh
rgov

คำตอบ:


49

นอกจากนี้คุณยังสามารถปิดใช้งาน eof โดยทั่วไปใน bash:

set -o ignoreeof


2
แต่ถ้าคุณทำเช่นนั้นโดยไม่เลือกปฏิบัติก็จะมีผลเมื่อล็อกอินด้วย ssh เช่นกัน
Gilles 'หยุดชั่วร้าย'

3
ฉันใช้ terminator 0.97 เมื่อฉันตั้ง -o ละเว้นมันจะบล็อก ctrl-d (ไม่ออก) 10 ครั้งด้วยข้อความ: ใช้ "exit" เพื่อออกจากเปลือก ในวันที่ 11 ctrl-d จะออก
AAAfarmclub

OMG ขอบคุณ !! นั่น (บังเอิญขั้ว cloures) เป็นเรื่องน่ารำคาญสำหรับฉัน เพิ่มไปที่ ~ / .bashrc; ทำงานใน konsole | xfce4-terminal | ... :-D
Victoria Stuart

@Gilles ป้อนข้อมูลที่ดีคุณมีทางออกหรือไม่?
Gauthier

33

คุณสามารถใช้IGNOREEOFตัวแปรสภาพแวดล้อมในการทุบตี ดังนั้นexport IGNOREEOF=42คุณจะต้องกดCtrl+Dสี่สิบสองครั้งก่อนที่มันจะหยุดเปลือกของคุณ

POSIX setก็มีการ-o ignoreeofตั้งค่าเช่นกัน


4
สี่สิบสามครั้ง: สี่สิบสองคนแรกจะถูกละเว้นและคนสุดท้ายออกจากจริง :-)
deltab

ฉันคิดสี่สิบสามครั้งจะซ้ำซ้อนเกินไป แน่นอนset -o ignoreeofจะเป็นประโยชน์มากขึ้น
ryekayo

3
แต่ถ้าคุณทำเช่นนั้นโดยไม่เลือกปฏิบัติก็จะมีผลเมื่อล็อกอินด้วย ssh เช่นกัน
Gilles 'หยุดชั่วร้าย'

แต่คุณต้องเขียนคำสั่งทุกครั้งที่คุณเปิดเทอร์มินัลคุณจะปิดการใช้งานอย่างถาวรได้อย่างไร?
MycrofD

2
@MycrofD เพิ่มไปของคุณหรือ.bashrc .profile
ม.ค. Warchoł
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.