วิธีเปิดเทอร์มินัลใหม่ใน Mac OS X Lion


10

เมื่อใดก็ตามที่ฉันเปิดเทอร์มินัลคำสั่งที่ใช้ล่าสุดจะปรากฏขึ้น

ฉันต้องการรับเทอร์มินัลที่สะอาดเมื่อฉันเปิดมัน แต่ฉันไม่พบวิธีการทำ

เช่นถ้าในขณะที่ใช้ terminal ฉันจะ:

defaults write com.apple.Finder...etc

แล้วฉันจะปิดสถานี ครั้งต่อไปที่ฉันเปิดเทอร์มินัลฉันจะเห็นบรรทัดเดียวกันนี้เป็นสีเทา (เพื่อระบุว่าเป็นคำสั่งที่ฉันใช้ครั้งสุดท้ายที่ฉันเปิดเทอร์มินัล) และบรรทัดที่จะเริ่มเขียนด้านล่าง


คุณสามารถยกตัวอย่างสิ่งที่คุณเห็นเมื่อคุณเปิดเครื่อง
slhck

ฉันใช้นามแฝงclearกับคำสั่งในการล้างข้อมูลหน้าต่างออกที่เหมาะสมบนเครื่องของฉัน จะค้นหามันในอีกประมาณหกชั่วโมงยกเว้นว่ามีคนอื่นให้คำตอบก่อนหน้านั้น
Daniel Beck

@Daniel ฉันขอขอบคุณจริงๆขอบคุณ!
Proxify

คำตอบ:


4

เพิ่มรายการต่อไปนี้ในตอนท้ายของ.bash_profile:

printf '\033c'

นี้จะจริงๆล้างขั้ว ฉันได้กำหนดฟังก์ชันต่อไปนี้เนื่องจากฉันไม่ชอบพฤติกรรมการเลื่อนของค่าเริ่มต้นclear:

function clear {
    printf '\033c'
}

ฉันคิดว่ามันเหมือนกับฮาร์ดรีเซ็ตของ Terminal ( Cmd-Opt-R) แต่ฉันไม่แน่ใจทั้งหมด


นี่ไม่ใช่คำตอบ - Lion คืนค่าหน้าต่างจากเซสชันเทอร์มินัลก่อนหน้า สิ่งที่คุณต้องทำคือปิด Resume สำหรับ Terminal อย่าง Josh พูดด้านล่าง นอกจากนี้คุณต้องเรียนรู้วิธีปิดหน้าต่างที่คุณไม่ได้ใช้อีกต่อไปก่อนที่จะออกจากแอปพลิเคชันใน Lion
w00t

1
@ w00t ฉันเดาว่าคุณเข้าใจคำถามแตกต่างจากฉัน ผู้ใช้มีความกังวลเกี่ยวกับเส้นสีเทาที่เกี่ยวข้องกับเซสชันก่อนหน้าของเขา ไม่มีที่ใดที่กล่าวถึงหน้าต่าง การประชุมเป็นเรื่องใหม่ ซึ่งจะมองเห็นได้ง่ายเมื่อเข้าไปที่cdใดที่หนึ่งจากนั้นปิดและเปิด Terminal อีกครั้ง มีเพียงเส้นสีเทาจากส่วนท้ายของเซสชันก่อนหน้า ระหว่างคำตอบของฉันและของคนอื่นเขาสามารถหาวิธีแก้ปัญหาของเขาได้ไม่ว่าการตีความใดจะถูกต้อง โดยวิธีการที่คำตอบของฉันมีเครื่องหมายถูกแม้ว่ามันจะไม่ได้เป็นครั้งแรกหนึ่งดังนั้นจึงไม่สามารถที่ไม่ดี
Daniel Beck

ESC cคือ "Full Reset (RIS)" ซึ่งเหมือนกับ Shell> Send Hard Reset; อย่างไรก็ตามเป็นการลบการแสดงผลและรีเซ็ตสถานะเทอร์มินัล มันไม่ล้าง scrollback หาก Proxify ทั้งหมดกำลังค้นหาเป็นวิธีล้างหน้าจอให้ใช้clearคำสั่งปกติ(ไม่ใช่clearฟังก์ชั่นที่ให้ไว้ในคำตอบนี้) มิฉะนั้นESC cจะไม่เพียงพอและทำการรีเซ็ตเทอร์มินัลโดยไม่จำเป็นทั้งหมด
Chris Page

@ChrisPage ฉันอาจสาบานได้ว่ามันล้าง scrollback เกินไป คุณยังมีระบบ 10.6 อยู่หรือไม่? เมื่อฉันโพสต์สิ่งนี้ฉันยังอยู่ใน Snow Leopard ใน Lion มันไม่ได้สร้างความแตกต่างเหมือนที่คุณเขียน
Daniel Beck

@DanielBeck ก่อนหน้า 10.7 ลำดับการลบในจอแสดงผล (ED) (ESC [… J) สามารถล้างหน้าจอได้เท่านั้นไม่ใช่การเลื่อน เริ่มต้นใน 10.7 เทอร์มินัลสนับสนุนตัวแปร xterm ED ที่ล้างค่า scrollback: ESC [3 J ที่มองไม่เห็น
Chris หน้า

10

จากประสบการณ์ของฉันเองเมื่อฉันปิดใช้งานคุณสมบัติประวัติย่อของ Lionสิ่งนี้จะหยุดการบันทึกประวัติเซสชันของเทอร์มินัล


1
ดูเหมือนว่านี่จะแก้ปัญหานี้ได้ ขอบคุณ
Mike L.

9

คุณสมบัติการกลับมาทำงานของหน้าต่างของ Lion ได้รับการตั้งค่าในแอปพลิเคชันตามพื้นฐานของแอปพลิเคชัน คุณสามารถหยุดสิ่งนี้ได้ในเทอร์มินัลด้วยคำสั่งต่อไปนี้:

defaults write com.apple.Terminal NSQuitAlwaysKeepsWindows -bool false

เนื่องจากคุณกำลังแก้ไขการตั้งค่าเทอร์มินัลขณะที่เปิดเทอร์มินัลคุณจะต้องปิดและรีสตาร์ทเทอร์มินัลสองครั้งก่อนที่จะเห็นผลกระทบ


นี่ควรเป็นคำตอบในความคิดของฉัน นี่เป็นการตั้งค่าเริ่มต้นสำหรับ Mac OS X ทั้งหมด
KVISH

7

Command-K ล้าง Scrollback


นี่เป็นทางออกที่ง่ายที่สุดและดีที่สุดสำหรับการลบถาวรไปยังหน้าต่างไม่กี่หน้าต่าง แต่ไม่ใช่การปิดใช้งานคุณลักษณะถาวร
Simone Manganelli

1

ฉันคิดว่าสิ่งที่คุณต้องการไม่ได้เล่นกับการแก้ปัญหา แต่คุณต้องการที่จะรู้ว่าที่เก็บไว้ในดิสก์ "ข้อความสีเทา" ที่คุณเห็นใน Terminal และลบออก

ข้อความนี้ถูกเก็บไว้ที่นี่: ~ / Library / สถานะแอปพลิเคชันที่บันทึกไว้ / com.apple.Terminal.savedState

ลบโฟลเดอร์และคุณจะมีความสุข


0

ทางออกหนึ่ง: การส่งออกTERMมีมูลค่าที่เหมาะสมเช่น "xterm" และวางคำสั่งบนบรรทัดสุดท้ายของคุณclear ~/.bash_profileวิธีแก้ปัญหาอื่น ๆ สามารถคิดค้นได้


2
clearไม่ได้ลบเทอร์มินัล แต่จะเลื่อนหน้าลงไปเท่านั้น
Daniel Beck

@DanielBeck clearล้างจอแสดงผลเทอร์มินัล ในบางกรณีทำได้โดยการย้ายเนื้อหาของหน้าจอลงใน scrollback (แต่ไม่เสมอไปเช่นเมื่อเลือกหน้าจออื่น)
Chris Page

ไม่จำเป็นต้องแก้ไขค่าของ TERM เว้นแต่จะมีการแก้ไขค่าจากค่าเริ่มต้น ตามค่าเริ่มต้นเทอร์มินัลจะตั้งค่า TERM เป็น xterm-color (เวอร์ชันก่อนหน้า 10.7) หรือ xterm-256color (Lion 10.7 และใหม่กว่า) ซึ่งทั้งสองอย่างclearนี้รองรับ
Chris Page

@ChrisPage บ่อยแค่ไหนในกรณีที่เปิดตัว Terminal?
Daniel Beck

@DanielBeck ฉันไม่เข้าใจคำถามของคุณ เว้นแต่ผู้ใช้ปรับแต่งการตั้งค่า "ประกาศเทอร์มินัลเป็น" เพื่อเปลี่ยนค่าที่เทอร์มินัลตั้งค่า TERM เป็นค่าเริ่มต้นคือ xterm-256color (หรือ xterm-color ก่อนหน้า 10.7) เทอร์มินัลตั้งค่า TERM เป็นค่า "ประกาศเทอร์มินัลเป็น" เสมอเมื่อสร้างเทอร์มินัลเซสชัน
Chris Page
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.