我是否可以将自定义键盘布局(默认情况下不包含在OS X中)设置为系统默认设置(即使是登录屏幕也是如此)?
我是否可以将自定义键盘布局(默认情况下不包含在OS X中)设置为系统默认设置(即使是登录屏幕也是如此)?
Answers:
这在OSX 10.9 Mavericks上有效,并且使用我用Ukulele创建的键盘布局。假设您已经在系统中安装了布局,请登录到您的帐户并激活您的自定义键盘布局。
打开一个终端并运行以下命令:
cp /Library/Preferences/com.apple.HIToolbox.plist /tmp/
如果您打算使用文本编辑器(例如TextWrangler)代替XCode(具有专门的图形化plist编辑器)进行此更改,请运行:
plutil -convert xml1 /tmp/com.apple.HIToolbox.plist
现在,/tmp/com.apple.HIToolbox.plist
在文本编辑器或XCode中打开。
在整个文件中,您会发现多次提到一个KeyboardLayout ID
键,后跟一个整数,KeyboardLayout Name
然后是一个字符串。将这些字符串更改为自定义键盘布局的名称,并将id整数更改为布局的ID(查找正确值的最简单方法是与文件中的用户设置进行比较~/Library/Preferences/com.apple.HIToolbox.plist
。
此外,还AppleCurrentKeyboardLayoutInputSourceID
必须相应地更改键的值(可能更改为org.unknown.keylayout.NameOfYourLayout
)。同样,您可以在本地首选项文件中找到该值。
完成这些更改后,保存文件并返回到终端。为了安全起见,您可以创建原始com.apple.HIToolbox.plist
文件的副本,以防万一您出错并需要回滚。例如,要将副本保存在“ 文档”文件夹中:
sudo cp /Library/Preferences/com.apple.HIToolbox.plist ~/Documents
然后使用以下安装您的更改:
sudo sh -c 'cat /tmp/com.apple.HIToolbox.plist > /Library/Preferences/com.apple.HIToolbox.plist'
(plutil
如果您早先这样做,则无需将文件转换为文本格式。)
退出终端,然后重新启动计算机(注销还不够:不会重新读取该文件)。重新启动后,您应该在登录屏幕中拥有键盘布局。
注:这是可能的,它本来是足以将文件复制com.apple.HIToolbox.plist
从~/Library/Preferences/
到/Library/Preferences/
,但在我的情况下,它有更多的项目,所以我决定发挥它的安全,只是修改现有的文件。
com.apple.HIToolbox.plist
更改后我的文件的样子:gist.github.com/anonymous/d18bae208b5cf12e48be
我发现了这个古老的MacWorld技巧,它建议再次运行设置助手:
sudo /System/Library/CoreServices/Setup Assistant.app\
/Contents/MacOS/Setup Assistant
刚开始,我认为Lion不支持此功能,因为运行此命令似乎没有任何效果。仅在发布此问题后,我才注意到命令中有错别字。需要正确地转义空格字符,或者需要引用二进制文件的位置。因此,我链接的提示不起作用。
这是正确的命令:
sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
另外,这也可以工作:
sudo /System/Library/CoreServices/Setup\ Assistant.app/Contents/MacOS/Setup\ Assistant
我链接到的页面上没有提到的另一个陷阱:自定义键盘布局需要安装在/Library/Keyboard Layouts/
(即cd /Library/Keyboard\ Layouts
)中,而不是要安装~/Library/Keyboard Layouts
在“安装助手”的键盘布局选择屏幕中。
更新: 从OS X 10.8开始,您需要运行一个额外的命令(即,首先删除文件):
sudo rm /var/db/.AppleSetupDone; sudo "/System/Library/CoreServices/Setup Assistant.app/Contents/MacOS/Setup Assistant"
另外,您必须创建一个新的用户帐户才能完成设置助手-但请放心,您可以在以后删除该新帐户。
在最新的OS X 10.8版本中,此技巧不再起作用。
我正在使用在OS X 10.8.5中由Ukelele 创建的自定义键盘布局。我通过以下步骤更改了登录屏幕的键盘布局:
Users & Groups
的System Preferences
Login Options
从左侧面板的底部选择Show Input menu in login window
Other input sources
从右上方的输入菜单中选择首选布局Show Input menu in login window
以防止进一步更改登录布局我发现此方法比编辑一些随机.plist
文件并在终端上运行命令要容易得多。
此方法可能需要管理访问权限,因为您可能需要通过单击底部的锁定图标来解锁上述步骤3中的右窗格。
更新:可悲的是,这似乎在OS X 10.9上不起作用。
安装macOS Sierra之后,每次登录我的帐户后,我的自定义布局都会重新初始化为默认设置。
苹果添加了新的键盘,并且ID与我使用的键盘冲突。
要验证是否有此问题运行:
sudo touch /库/键盘\布局/
输出:
Keyboard Layouts: duplicate keyboard layout identifier 5000.
Keyboard Layouts: keyboard layout identifier 5000 has been replaced with 16383.
输出声称它已修复某些问题,但实际上并未执行任何操作。我仍然必须自己编辑布局,并且它像以前一样开始工作。