Di mana pengaturan Terminal disimpan di OS X?

24

Anda akan berpikir A) Saya sudah tahu ini sekarang, dan B) itu info yang tersedia, tetapi ternyata tidak demikian halnya.

Apa yang saya cari adalah tempat file konfigurasi (warna, dll.) Yang dikirimkan dengan Terminal disimpan di sistem. Akan sangat berguna untuk menunjuk ini dalam /dotfiles/setup.shfile.

Apakah saya lupa? Saya sudah memeriksa isi paket Terminal.app, tetapi tidak ada catatan. Juga patut dicatat, bahwa OS X (setidaknya Mountain Lion) akan memasukkan pengaturan Terminal, sesi, dan skrip sebagai parameter pencarian yang telah ditentukan sebelumnya di Finder, tetapi saya tidak menemukan apa pun.

Saya sudah mencari online, dan menggali jauh ke dalam /usr/dan /Library. Tidak ada. Bantuan apa pun akan sangat dihargai. Terima kasih.

Kevin Suttle
sumber

Jawaban:

26

Preferensi tampaknya berada di: ~/Library/Preferences/com.apple.Terminal.plist

Lihat juga pertanyaan ini di SO dan pertanyaan lain di SU yang fokus pada mengekspor pengaturan dari satu Mac dan memindahkannya ke yang lain.

Untuk macOS yang lebih lama, Anda dapat mengedit file secara langsung tetapi pada OS yang lebih baru (dengan yang lebih baru 10.9 dan yang lebih baru) Anda akan ingin menggunakan perintah default untuk menulis nilai-nilai ke database persisten (yang mungkin atau mungkin tidak menghapus perubahan kembali ke sistem file ) daripada mengedit file.

defaults read com.apple.Terminal

Atau untuk menulis fungsi entri keyboard yang aman (sebagai salah satu contoh mudah):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Paul R
sumber
1
@bmike, Dalam rilis besar yang lebih baru dari OS X dan macOS, menggunakan hanya defaultsdengan sendirinya untuk menulis ke .plistfile yang saat ini dalam memori dapat bermasalah karena mudah ditimpa oleh sistem dengan apa yang sudah ada dalam memori tanpa memperhatikan apa yang ditulis oleh Pengguna dengan defaults. Salah satu solusinya adalah menggunakan killall perintah dengan target yang sesuai. Misalnya, jika seseorang memodifikasi pengaturan Finder, maka menggunakan killall Finderlangsung setelah akan menyimpan perubahan. Dalam beberapa kasus, seseorang perlu menggunakan killall -u $USER cfprefsdatau sudo killall -u root cfprefsd, dll.
user3439894
Setuju @ user3439894 - Saya secara eksplisit menggunakan default untuk membaca dan menulis domain dalam memori dan tidak menulis ke jalur plist. Kita mungkin perlu pertanyaan baru untuk menggali ”kapan cfprefsdmembuat file preferensi mengedit usang dan berpotensi berbahaya?”
bmike