我在 HP Pavillion Touch 14-N009LA 笔记本电脑上运行 Debian 11 Bullseye for AMD64,使用 IBus 和 MATE 作为桌面环境,最近从 Buster 升级。在升级点发布之前,我可以使用带有 IBus 的拉丁美洲键盘布局;之后,我不再能够这样做了。
MATE Control Center 上的 Keyboard Preferences 应用程序显示拉丁美洲西班牙语布局,我可以setxkbmap latam
在终端上手动设置它(在 IBus 启动并替换它之前),但在 IBus 上我只看到“西班牙语”键盘,它对应具有不同标点键的西班牙西班牙语键盘;没有“拉丁美洲”或类似的选项。
运行ibus list-engine
给了我以下输出,其中我看不到拉丁美洲的西班牙语布局,也没有匹配latam
或类似的东西:
<irrelevant languages omitted>
language: Spanish
xkb:es:nodeadkeys:spa - Spanish (no dead keys)
xkb:es:sundeadkeys:spa - Spanish (Sun dead keys)
xkb:es:winkeys:spa - Spanish (Windows)
xkb:es:dvorak:spa - Spanish (Dvorak)
xkb:es:deadtilde:spa - Spanish (dead tilde)
xkb:es:mac:spa - Spanish (Macintosh)
xkb:es::spa - Spanish
<irrelevant languages omitted>
到目前为止,我只能找到一个似乎只适用于 Ubuntu的指南,以及用于 IBus 的 Arch Linux 指南。
前任指南建议我可能必须为我的系统生成西班牙语语言环境,我通过取消注释es-MX
语言环境/etc/locale.gen
然后运行locale-gen
. 之后,我重新启动了我的系统。它没有用。
关于如何在 Debian Bullseye 的 IBus 上使用拉丁美洲西班牙语布局的任何其他想法?
更新。我发现IBus 源中的最新提交已经实现了黑名单,并且默认情况下所有拉丁美洲布局都被列入黑名单。
这会影响生成过程,生成过程是在构建时使用 Python 脚本完成的,而生成过程又会从 中获取可用的 X 布局
/usr/share/X11/xkb/rules/evdev.xml
,正如该评论明确指出的那样。实施此限制的确切提交在此处。至于这样做的原因,老实说,我超出了我的范围,在这种情况得到妥善解决之前,每次更新 IBus时都必须应用我在下面提出的修复(如上一个答案中所述)。
我在 Xubuntu 22.04 中遇到了同样的问题,最近使用了一种涉及编辑白名单的解决方法。
尽管有人建议IBus 1.5.23 将包含一个黑名单来代替当前使用的白名单,以便添加的引擎会自动显示为可选布局,但似乎此功能尚未实现(我有版本 1.5.26马上)。
我为使其工作所做的工作如下:
/usr/share/ibus/component/simple.xml
使用sudo
和您选择的编辑器打开文件。找到
xkb:es::spa
发动机。在我的机器中,它看起来像这样:找到后,复制
<engine>
标签并将其粘贴到它旁边(作为同级,在同一级别上),并更改以下标签值:name
, 从xkb:es::spa
到xkb:latam::spa
.layout
, 从es
到latam
.longname
, 到您选择的任何文本,以便您可以将其与其他布局区分开来。它现在应该是这样的:
添加新引擎后,保存文件。
通过发出命令重新启动 IBus 服务
ibus restart
。IBus 重新启动后,键入
ibus list-engine
并检查新引擎是否出现在列表中。在我的机器中,我有以下配置。我添加的是
Spanish Latam
.ibus-setup
或ibus engine
,将布局设置为您之前创建的布局。在这一点上,它应该工作。我希望这对你有用。:)