Posso impostare un layout di tastiera personalizzato (uno che non era incluso con OS X per impostazione predefinita) come predefinito di sistema, anche per la schermata di accesso?
Posso impostare un layout di tastiera personalizzato (uno che non era incluso con OS X per impostazione predefinita) come predefinito di sistema, anche per la schermata di accesso?
Risposte:
Funziona su OSX 10.9 Mavericks, con un layout di tastiera che ho creato con Ukulele. Supponendo che il layout sia già installato nel sistema, accedere al proprio account e rendere attivo il layout della tastiera personalizzato.
Apri un terminale ed esegui il seguente comando:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Se si intende utilizzare un editor di testo (ad esempio, TextWrangler) per apportare questa modifica invece di XCode (che ha un editor di grafici grafico specializzato), eseguire anche :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Ora, apri /tmp/com.apple.HIToolbox.plist
nell'editor di testo o in XCode.
In tutto il file troverai diverse menzioni di una KeyboardLayout ID
chiave seguite da un numero intero e KeyboardLayout Name
seguite da una stringa. Cambia queste stringhe con il nome del tuo layout di tastiera personalizzato e gli interi ID con l'ID del tuo layout (il modo più semplice per trovare i valori giusti è confrontare con le tue impostazioni utente trovate nel file ~/Library/Preferences/com.apple.HIToolbox.plist
.
Inoltre, il valore della chiave AppleCurrentKeyboardLayoutInputSourceID
deve essere modificato di conseguenza (probabilmente in qualcosa del genere org.unknown.keylayout.NameOfYourLayout
). Ancora una volta puoi trovare questo valore nel tuo file delle preferenze locali.
Una volta apportate queste modifiche, salvare il file e tornare al terminale. Per riprodurlo in sicurezza, è possibile creare una copia del com.apple.HIToolbox.plist
file originale , nel caso in cui si sia commesso un errore e sia necessario eseguire il rollback. Ad esempio, per salvare una copia nella cartella Documenti :
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Quindi installare la modifica con il seguente:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Non è necessario riconvertire il file fuori dal modulo di testo con plutil
se lo hai fatto in precedenza.)
Esci dal terminale e riavvia il computer (il logout non è sufficiente: il file non verrà riletto). Dopo il riavvio, dovresti avere il layout della tastiera nella schermata di accesso.
NOTA: è possibile che sarebbe stato sufficiente per copiare il file com.apple.HIToolbox.plist
dal ~/Library/Preferences/
al /Library/Preferences/
, però nel mio caso ha più voci, così ho deciso di giocare sul sicuro e solo modificare il file esistente.
com.apple.HIToolbox.plist
come appare il mio file dopo le modifiche: gist.github.com/anonymous/d18bae208b5cf12e48be
Ho trovato questo vecchio suggerimento per MacWorld , che mi ha suggerito di eseguire nuovamente il Setup Assistant:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Inizialmente pensavo che questo non fosse più supportato in Lion poiché l'esecuzione di questo comando non sembrava avere alcun effetto. Solo dopo aver postato questa domanda, ho notato che c'è un refuso nel comando. I caratteri dello spazio devono essere salvati correttamente, oppure la posizione del binario deve essere quotata. Per questo motivo, il suggerimento che ho collegato non funziona.
Ecco il comando corretto:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
In alternativa, funzionerebbe anche questo:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Un altro gotcha che non è stato menzionato nella pagina a cui mi sono collegato: il layout di tastiera personalizzato deve essere installato in /Library/Keyboard Layouts/
(cioè cd /Library/Keyboard\ Layouts
), non ~/Library/Keyboard Layouts
, affinché appaia nella schermata di selezione del layout di tastiera dell'Assistente configurazione.
Aggiornamento: a partire da OS X 10.8, dovrai eseguire un comando aggiuntivo (ovvero rimuovere prima un file):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Inoltre, dovrai creare un nuovo account utente per completare l'Assistente installazione, ma non preoccuparti, puoi eliminare il nuovo account in seguito.
Questo trucco non funziona più nelle recenti versioni di OS X 10.8.
Aggiornamento: Qui è tutto quello che so sui layout di tastiera personalizzate su OS X .
Sto usando un layout di tastiera personalizzato creato con Ukelele in OS X 10.8.5 . Ho modificato il layout della tastiera della schermata di accesso con i seguenti passaggi:
Users & Groups
inSystem Preferences
Login Options
dalla parte inferiore del pannello di sinistraShow Input menu in login window
Other input sources
dal menu di input, situato in alto a destraShow Input menu in login window
per impedire ulteriori modifiche al layout di accessoHo trovato questo metodo molto più semplice rispetto alla modifica di alcuni .plist
file casuali e l'esecuzione di comandi sul terminale.
Questo metodo potrebbe richiedere l'accesso amministrativo, poiché è possibile sbloccare il riquadro destro al passaggio 3. facendo clic sull'icona del lucchetto in basso.
Aggiornamento: purtroppo, questo non sembra funzionare su OS X 10.9.
Dopo aver installato macOS Sierra, il mio layout personalizzato è stato ripristinato ai valori predefiniti ogni volta dopo l'accesso al mio account.
Apple ha aggiunto nuove tastiere e l'ID era in conflitto con la tastiera che stavo usando.
Per convalidare se si presenta questo problema:
sudo touch / Libreria / Tastiera \ Layout /
L'output:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
L'output afferma che risolve qualcosa ma in realtà non ha fatto nulla. Ho ancora dovuto modificare il layout da solo e ha iniziato a funzionare come prima.