Onde estão as configurações do Terminal armazenadas no OS X?


24

Você pensaria que A) eu já sabia disso e B) que são informações prontamente disponíveis, mas aparentemente também não é o caso.

O que estou procurando é onde os arquivos de configuração (cores etc.) fornecidos com o Terminal são mantidos no sistema. Seria realmente útil apontar para isso em um /dotfiles/setup.sharquivo.

Estou sendo alheio? Eu verifiquei o conteúdo do pacote Terminal.app, mas não há nada de especial. Também é digno de nota que o OS X (pelo menos o Mountain Lion) incluirá configurações, sessões e scripts do Terminal como parâmetros de pesquisa predefinidos no Finder, mas não encontrei nada.

Eu pesquisei online, e procurei profundamente em /usr/e /Library. Nada. Qualquer ajuda seria muito apreciada. Obrigado.

Respostas:


26

As preferências parecem estar em: ~/Library/Preferences/com.apple.Terminal.plist

Veja também esta pergunta sobre SO e outra sobre SU que se concentra em exportar as configurações de um Mac e movê-las para outro.

Para o macOS mais antigo, você pode editar o arquivo diretamente, mas em um sistema operacional mais recente (com o 10.9 e mais recente), convém usar o comando defaults para gravar os valores no banco de dados persistente (que pode ou não liberar as alterações no sistema de arquivos) ) em vez de editar o arquivo.

defaults read com.apple.Terminal

Ou para escrever a função de entrada segura do teclado (como um exemplo fácil):

defaults write com.apple.Terminal SecureKeyboardEntry 1

1
@bmike, Nos principais lançamentos mais recentes do OS X e do macOS, o uso defaultsde escrever sozinho em um .plistarquivo que está atualmente na memória pode ser problemático, pois é facilmente substituído pelo sistema pelo que já está na memória, independentemente do que foi escrito pelo usuário com defaults. Uma das soluções alternativas é usar o killall comando com o destino apropriado. Por exemplo, se alguém modificar uma configuração do Finder, usar killall Finderdiretamente depois salvará a alteração. Em alguns casos, um terá de usar killall -u $USER cfprefsdou sudo killall -u root cfprefsd, etc.
user3439894

Concordado @ user3439894 - usei explicitamente padrões para ler e gravar o domínio na memória e não gravar no caminho do plist. Nós provavelmente precisamos de uma nova questão para cavar o “quando se cfprefsdtornar a edição de preferência arquivos obsoletos e potencialmente perigoso?”
bmike
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.