Dove sono memorizzate le impostazioni del Terminale su OS X?


24

Penseresti che A) lo saprei ormai, e B) che si tratta di informazioni prontamente disponibili, ma a quanto pare nemmeno lo è.

Quello che sto cercando è dove i file di configurazione (colori, ecc.) Forniti con Terminal vengono conservati sul sistema. Sarebbe davvero utile indicarli in un /dotfiles/setup.shfile.

Sono ignaro? Ho controllato il contenuto del pacchetto di Terminal.app, ma non c'è nulla di rilevante. È anche degno di nota il fatto che OS X (almeno Mountain Lion) includerà le impostazioni del Terminale, le sessioni e gli script come parametri di ricerca predefiniti nel Finder, ma non ho trovato nulla.

Ho cercato online e ho approfondito /usr/e /Library. Niente. Qualsiasi aiuto sarebbe molto apprezzato. Grazie.

Risposte:


26

Le preferenze sembrano essere in: ~/Library/Preferences/com.apple.Terminal.plist

Vedi anche questa domanda su SO e un'altra domanda su SU che si concentrano sull'esportazione delle impostazioni da un Mac e sul loro spostamento su un altro.

Per macOS meno recenti, è possibile modificare direttamente il file ma su un SO più recente (con il più recente 10.9 e successivi) si vorrà usare il comando defaults per scrivere i valori nel database persistente (che può o meno annullare le modifiche al filesystem ) anziché modificare il file.

defaults read com.apple.Terminal

O per scrivere la funzione di inserimento sicuro della tastiera (come un semplice esempio):

defaults write com.apple.Terminal SecureKeyboardEntry 1

1
@bmike, Nelle versioni principali più recenti di OS X e macOS, l'utilizzo defaultsda solo per scrivere su un .plistfile che è attualmente in memoria può essere problematico in quanto è facilmente sovrascritto dal sistema con ciò che è già in memoria senza riguardo per ciò che è stato scritto dall'utente con defaults. Una delle soluzioni alternative consiste nell'utilizzare il killall comando con la destinazione appropriata. Ad esempio, se si modifica un'impostazione del Finder, l'utilizzo killall Finderdiretto dopo salverà la modifica. In alcuni casi sarà necessario utilizzare killall -u $USER cfprefsdo sudo killall -u root cfprefsd, ecc.
user3439894

Concordato @ user3439894 - Ho usato esplicitamente le impostazioni predefinite per leggere e scrivere il dominio in memoria e non per scrivere nel percorso del plist. Probabilmente abbiamo bisogno di una nuova domanda per scavare nel "quando cfprefsdrendere i file delle preferenze di modifica obsoleti e potenzialmente pericolosi?"
bmike
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.