Gdzie są przechowywane ustawienia terminala w systemie OS X?

24

Można by pomyśleć: A) już to wiem i B), że są to łatwo dostępne informacje, ale najwyraźniej tak nie jest.

To, czego szukam, to gdzie pliki konfiguracyjne (kolory itp.) Dostarczane z Terminalem są przechowywane w systemie. Przydałoby się wskazać je w /dotfiles/setup.shpliku.

Czy jestem nieświadomy? Sprawdziłem zawartość pakietu Terminal.app, ale nic nie jest warte uwagi. Warto również zauważyć, że OS X (przynajmniej Mountain Lion) będzie zawierał ustawienia terminala, sesje i skrypty jako wstępnie zdefiniowane parametry wyszukiwania w Finderze, ale nic nie znalazłem.

Szukałem online i zagłębiłem się głęboko w /usr/i /Library. Nic. Każda pomoc byłaby mile widziana. Dzięki.

Kevin Suttle
źródło

Odpowiedzi:

26

Preferencje wydają się być w: ~/Library/Preferences/com.apple.Terminal.plist

Zobacz także to pytanie dotyczące SO i kolejne pytanie dotyczące SU, które koncentrują się na eksportowaniu ustawień z jednego komputera Mac i przenoszeniu ich na inny.

W przypadku starszego systemu macOS plik można edytować bezpośrednio, ale w nowszym systemie operacyjnym (z nowszym wersją 10.9 i nowszą) będziesz chciał użyć polecenia defaults do zapisania wartości w trwałej bazie danych (która może, ale nie musi, przywrócić zmiany w systemie plików ) zamiast edycji pliku.

defaults read com.apple.Terminal

Lub napisać funkcję bezpiecznego wpisywania klawiatury (jako prosty przykład):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Paul R.
źródło
1
@bike, w nowszych głównych wersjach systemu OS X i macOS używanie defaultssamego zapisu do .plistpliku, który jest obecnie w pamięci, może być problematyczne, ponieważ może zostać łatwo nadpisany przez system tym, co jest już w pamięci, bez względu na to, co zostało zapisane przez użytkownika z defaults. Jednym z obejść tego problemu jest użycie killall polecenia z odpowiednim celem. Np. Jeśli killall Finderzmodyfikujesz ustawienie Findera, użycie bezpośrednio po nim zapisze zmianę. W niektórych przypadkach konieczne będzie użycie killall -u $USER cfprefsdlub sudo killall -u root cfprefsditd.
użytkownik3439894
Zgoda @ użytkownik 3439894 - jawnie użyłem wartości domyślnych do odczytu i zapisu domeny w pamięci, a nie zapisu do ścieżki plist. Prawdopodobnie potrzebujemy nowego pytania, aby zagłębić się w „kiedy sprawił, cfprefsdże pliki preferencji edycji
stały się