Где хранятся настройки терминала в OS X?

24

Вы бы подумали: а) я бы знал это сейчас и б) что это легкодоступная информация, но, видимо, это не так.

То, что я ищу, - это то, где файлы конфигурации (цвета и т. Д.), Которые поставляются с Терминалом, хранятся в системе. Было бы очень удобно указать на это в /dotfiles/setup.shфайле.

Я не замечаю? Я проверил содержимое пакета в Terminal.app, но ничего не заметил. Также следует отметить, что OS X (по крайней мере, Mountain Lion) будет включать настройки терминала, сеансы и сценарии в качестве предопределенных параметров поиска в Finder, но я ничего не нашел.

Я искал в Интернете, и выкопал глубоко в /usr/и /Library. Ничего такого. Любая помощь приветствуется. Спасибо.

Кевин Саттл
источник

Ответы:

26

Настройки отображаются по адресу: ~/Library/Preferences/com.apple.Terminal.plist

См. Также этот вопрос о SO и другой вопрос о SU, посвященный экспорту настроек с одного Mac и переносу их на другой.

Для более старых macOS вы можете редактировать файл напрямую, но в более новой ОС (с более новой версией 10.9 и более поздней) вы захотите использовать команду defaults для записи значений в постоянную базу данных (которая может сбрасывать или не сбрасывать изменения в файловой системе). ) вместо редактирования файла.

defaults read com.apple.Terminal

Или написать функцию безопасного ввода с клавиатуры (в качестве одного простого примера):

defaults write com.apple.Terminal SecureKeyboardEntry 1
Пол Р
источник
1
@bmike, в более поздних основных выпусках OS X и macOS, использование defaultsодного только для записи в .plistфайл, который в данный момент находится в памяти, может быть проблематичным, так как он легко перезаписывается системой тем, что уже находится в памяти, независимо от того, что было написано Пользователь с defaults. Одним из обходных путей является использование killall команды с соответствующей целью. Например, если вы killall Finderизмените настройку Finder, то сразу после сохранения сохраните изменения. В некоторых случаях нужно будет использовать killall -u $USER cfprefsdили sudo killall -u root cfprefsdи т. Д.
user3439894
Согласовано @ user3439894 - Я явно использовал значения по умолчанию для чтения и записи домена в памяти, а не для записи в plist-путь. Нам, вероятно, нужен новый вопрос, чтобы cfprefsdразобраться в том, «когда редактирование файлов настроек
стало