Kann ich ein benutzerdefiniertes Tastaturlayout (das standardmäßig nicht in OS X enthalten ist) als Systemstandard festlegen - auch für den Anmeldebildschirm?
Kann ich ein benutzerdefiniertes Tastaturlayout (das standardmäßig nicht in OS X enthalten ist) als Systemstandard festlegen - auch für den Anmeldebildschirm?
Antworten:
Dies funktioniert unter OSX 10.9 Mavericks mit einem Tastaturlayout, das ich mit Ukulele erstellt habe. Angenommen, Sie haben das Layout bereits in Ihrem System installiert, melden Sie sich bei Ihrem Konto an und aktivieren Sie Ihr benutzerdefiniertes Tastaturlayout.
Öffnen Sie ein Terminal und führen Sie den folgenden Befehl aus:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
Wenn Sie diese Änderung mit einem Texteditor (z. B. TextWrangler) anstelle von XCode (mit einem speziellen grafischen Plist-Editor) vornehmen möchten, führen Sie Folgendes aus :
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
Öffnen Sie nun /tmp/com.apple.HIToolbox.plist
im Texteditor oder in XCode.
In der gesamten Datei finden Sie mehrere Erwähnungen eines KeyboardLayout ID
Schlüssels, gefolgt von einer Ganzzahl und KeyboardLayout Name
einer Zeichenfolge. Ändern Sie diese Zeichenfolgen in den Namen Ihres benutzerdefinierten Tastaturlayouts und die ID-Ganzzahlen in die ID Ihres Layouts (der einfachste Weg, die richtigen Werte zu finden, ist der Vergleich mit Ihren Benutzereinstellungen in der Datei ~/Library/Preferences/com.apple.HIToolbox.plist
.
Auch der Wert des Schlüssels AppleCurrentKeyboardLayoutInputSourceID
muss entsprechend geändert werden (wahrscheinlich in etwas Ähnliches org.unknown.keylayout.NameOfYourLayout
). Sie finden diesen Wert wieder in Ihrer lokalen Einstellungsdatei.
Sobald diese Änderungen vorgenommen wurden, speichern Sie die Datei und kehren Sie zum Terminal zurück. Um auf Nummer sicher zu gehen, können Sie eine Kopie der Originaldatei com.apple.HIToolbox.plist
erstellen, falls Sie einen Fehler gemacht haben und einen Rollback durchführen müssen. So speichern Sie beispielsweise eine Kopie in Ihrem Ordner " Dokumente ":
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
Dann installieren Sie Ihre Änderung wie folgt:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(Es ist nicht erforderlich, Ihre Datei mit wieder aus der Textform zu konvertieren, plutil
wenn Sie dies zuvor getan haben.)
Verlassen Sie das Terminal und starten Sie den Computer neu (Abmelden ist nicht ausreichend: Die Datei wird nicht erneut gelesen). Nach dem Neustart sollte sich Ihr Tastaturlayout im Anmeldebildschirm befinden.
HINWEIS: Möglicherweise hätte es gereicht, die Datei com.apple.HIToolbox.plist
von ~/Library/Preferences/
nach zu kopieren. /Library/Preferences/
In meinem Fall sind jedoch mehr Einträge vorhanden. Daher habe ich beschlossen, auf Nummer sicher zu gehen und nur die vorhandene Datei zu ändern.
com.apple.HIToolbox.plist
sieht meine Datei nach den Änderungen aus: gist.github.com/anonymous/d18bae208b5cf12e48be
Ich habe diesen alten MacWorld-Tipp gefunden , der vorschlug, den Setup-Assistenten erneut auszuführen:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
Zuerst dachte ich, dass dies in Lion nicht mehr unterstützt wird, da das Ausführen dieses Befehls keine Wirkung mehr zu haben schien. Erst nachdem ich diese Frage gestellt hatte, bemerkte ich, dass der Befehl einen Tippfehler enthält. Die Leerzeichen müssen ordnungsgemäß maskiert werden, oder die Position der Binärdatei muss in Anführungszeichen gesetzt werden. Aus diesem Grund funktioniert der Tipp, mit dem ich verlinkt habe, nicht.
Hier ist der richtige Befehl:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Alternativ würde dies auch funktionieren:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
Ein weiteres Problem, das auf der Seite, auf die ich verlinkt habe, nicht erwähnt wurde: Das benutzerdefinierte Tastaturlayout muss in /Library/Keyboard Layouts/
(dh cd /Library/Keyboard\ Layouts
) installiert sein ~/Library/Keyboard Layouts
, damit es im Bildschirm zur Auswahl des Tastaturlayouts des Setup-Assistenten angezeigt wird.
Update: Ab OS X 10.8 müssen Sie einen zusätzlichen Befehl ausführen (dh zuerst eine Datei entfernen):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
Außerdem müssen Sie ein neues Benutzerkonto erstellen, um den Setup-Assistenten abzuschließen. Sie können das neue Konto jedoch nachträglich löschen.
Dieser Trick funktioniert in neueren OS X 10.8-Versionen nicht mehr.
Update: Hier ist alles, was ich über benutzerdefinierte Tastaturlayouts unter OS X weiß .
Ich verwende ein benutzerdefiniertes Tastaturlayout, das mit Ukelele in OS X 10.8.5 erstellt wurde . Ich habe das Tastaturlayout des Anmeldebildschirms folgendermaßen geändert:
Users & Groups
inSystem Preferences
Login Options
unten im linken BereichShow Input menu in login window
Other input sources
im Eingabemenü oben rechts ausShow Input menu in login window
, um weitere Änderungen am Anmeldelayout zu verhindernIch fand diese Methode viel einfacher, als einige zufällige .plist
Dateien zu bearbeiten und Befehle im Terminal auszuführen.
Diese Methode erfordert möglicherweise Administratorzugriff, da Sie möglicherweise den rechten Bereich in Schritt 3 oben entsperren müssen, indem Sie unten auf das Schlosssymbol klicken.
Update: Leider scheint dies unter OS X 10.9 nicht zu funktionieren.
Nach der Installation von macOS Sierra wurde mein benutzerdefiniertes Layout nach jeder Anmeldung in meinem Konto auf die Standardeinstellungen zurückgesetzt.
Apple fügte neue Tastaturen hinzu und die ID widersprach der von mir verwendeten Tastatur.
So überprüfen Sie, ob dieses Problem auftritt:
sudo touch / Bibliothek / Tastatur \ Layouts /
Die Ausgabe:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
Die Ausgabe behauptet, dass sie etwas repariert, aber tatsächlich nichts getan hat. Ich musste das Layout immer noch selbst bearbeiten und es begann wie zuvor zu funktionieren.