การตั้งค่าเทอร์มินัลถูกเก็บไว้ที่ไหนใน OS X


24

คุณจะคิดว่า A) ฉันรู้เรื่องนี้แล้วและ B) ว่าเป็นข้อมูลที่พร้อมใช้งาน แต่ดูเหมือนจะไม่เป็นเช่นนั้น

สิ่งที่ฉันกำลังมองหาคือที่เก็บไฟล์ config (สีและอื่น ๆ ) ที่มาพร้อมกับ Terminal ในระบบ มันจะมีประโยชน์จริงๆที่จะชี้ไปที่สิ่งเหล่านี้ใน/dotfiles/setup.shไฟล์

ฉันหลงลืมหรือไม่ ฉันได้ตรวจสอบเนื้อหาแพ็คเกจของ Terminal.app แล้ว แต่ไม่มีบันทึกอะไรเลย เป็นที่น่าสังเกตว่า OS X (อย่างน้อย Mountain Lion) จะรวมการตั้งค่าเทอร์มินัลเซสชันและสคริปต์เป็นพารามิเตอร์การค้นหาที่กำหนดไว้ล่วงหน้าใน Finder แต่ฉันไม่พบอะไรเลย

ฉันได้ค้นหาออนไลน์และขุดลึกลงไปและ/usr/ /Libraryไม่มีอะไร ความช่วยเหลือใด ๆ ที่จะได้รับการชื่นชมมาก ขอบคุณ

คำตอบ:


26

การตั้งค่าดูเหมือนจะอยู่ที่: ~/Library/Preferences/com.apple.Terminal.plist

ดูคำถามนี้เกี่ยวกับ SO และอีกคำถามหนึ่งเกี่ยวกับ SU ที่มุ่งเน้นไปที่การส่งออกการตั้งค่าจาก Mac เครื่องหนึ่งและย้ายไปที่อื่น

สำหรับ macOS รุ่นเก่าคุณสามารถแก้ไขไฟล์ได้โดยตรง แต่บน OS ที่ใหม่กว่า (ที่ใหม่กว่าคือ 10.9 และใหม่กว่า) คุณจะต้องใช้คำสั่ง defaults เพื่อเขียนค่าลงในฐานข้อมูลถาวร ) แทนที่จะแก้ไขไฟล์

defaults read com.apple.Terminal

หรือเพื่อเขียนฟังก์ชั่นการป้อนคีย์บอร์ดที่ปลอดภัย (เป็นหนึ่งในตัวอย่างง่ายๆ)

defaults write com.apple.Terminal SecureKeyboardEntry 1

1
@bmike ในรุ่นล่าสุดที่สำคัญของ OS X และ macOS การใช้เพียงdefaultsเพื่อเขียนไปยัง.plistไฟล์ที่อยู่ในหน่วยความจำในปัจจุบันอาจเป็นปัญหาได้ว่ามันถูกเขียนทับโดยระบบอย่างง่ายดายด้วยสิ่งที่อยู่ในหน่วยความจำแล้วโดยไม่คำนึงถึงสิ่งที่เขียน defaultsโดยผู้ใช้ด้วย หนึ่งในวิธีแก้ไขปัญหาคือใช้killall คำสั่งกับเป้าหมายที่เหมาะสม เช่นหากมีใครปรับเปลี่ยนการตั้งค่า Finder จากนั้นใช้killall Finderโดยตรงหลังจากจะบันทึกการเปลี่ยนแปลง ในบางกรณีเราจะต้องใช้งานkillall -u $USER cfprefsdหรือsudo killall -u root cfprefsdอื่น ๆ
user3439894

เห็นด้วย @ user3439894 - ฉันใช้ค่าเริ่มต้นอย่างชัดเจนในการอ่านและเขียนโดเมนในหน่วยความจำและไม่เขียนไปยังเส้นทาง plist เราอาจต้องการคำถามใหม่เพื่อขุดลงใน“ เมื่อใดที่cfprefsdทำให้ไฟล์การตั้งค่าการแก้ไขล้าสมัยและอันตรายที่อาจเกิดขึ้น”
bmike
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.