我在 Ubuntu 论坛上找到了一个较早的帖子,但我猜现在有一个更简单的解决方案。我想在默认的德语布局和英语(美国)布局之间切换。
答案1
正如 arno 所说,尝试:
setxkbmap -option grp:alt_shift_toggle "us,il"
(希伯来语)。
为了使此永久生效:
echo '@setxkbmap -option grp:alt_shift_toggle "us,il"' | sudo tee -a /etc/xdg/lxsession/Lubuntu/autostart
答案2
您可以在首选项下使用 Lxkeymap。面板首选项/面板小程序下有一个键盘布局切换器。
答案3
这是一个通用解决方案,包括解决设置键盘布局和使用快捷键更改键盘布局时可能出现的其他问题。我已经在 Lubuntu oneiric、precise 和 quantal 中测试过它。
- 首先,使用 GUI 键盘布局处理程序
右键单击 LXPanel 上的“键盘布局处理程序”按钮
然后加”
同一语言有不同类型的布局
还设置快捷方式(更改布局选项)。
如果 GUI 无法工作或者在 11.10 等版本中不存在
或者注销后设置不再被尊重,或者在实践中它们没有被翻译等等(我在 11.10 中经常发生这种情况,但在 12.04 之后不再发生)。
使用以下命令检查当前 xkb 参数:
setxkbmap -query
我将举三种语言的例子,美国英语、法语和罗马尼亚标准。对于德语,我认为是“de”。
因此,要设置 us、fr、ro 布局,可使用 ALT-SHIFT 键更改变体默认 (us)、(fr) 和标准 (ro):
setxkbmap -layout "us,fr,ro" -variant ",,std" -option "grp:alt_shift_toggle"
测试一切是否正常并使所有更改永久生效(如果 gedit 是首选的文本编辑器):
gksudo gedit /etc/default/keyboard
查看参数是否符合:
XKBMODEL="pc105"
XKBLAYOUT="us,fr,ro"
XKBVARIANT=",,std"
XKBOPTIONS="grp:alt_shift_toggle"
请注意,键盘布局处理程序中的设置在顺序、子类型和快捷方式方面完全相同。
- 其他可能出现的问题。
在 12.10 中,我遇到了一个更奇怪的问题。尽管执行了上述两个步骤,但只有主要语言可以访问。通过删除并重新安装所有次要语言(除主要语言之外的所有语言),然后按照前面的步骤添加次要语言,解决了这个问题。
答案4
永久解决方案由用户1112507在 Lubuntu 12.04 中对我来说是可行的,但在 12.10 中则不行,因为 setxkbmap 显然需要在执行之前延迟。
他的解决方案是修改 /etc/xdg/lxsession/Lubuntu/autostart,适用于所有用户。以下是针对单用户情况的解决方法:
安装所需的语言。
$ gnome-language-selector
创建一个 shell 脚本,在延迟后执行 setxkbmap,并将其保存在方便的地方。在后台运行它可能会加快登录过程。如果需要,增加睡眠时间。将“us, il”替换为您想要的语言代码。
$ echo '(sleep 2; setxkbmap -option grp:alt_shift_toggle -layout "us,il") &' > ~/setxkbmap.sh
使脚本可执行,并通过切换组合键 Alt-Shift 来切换语言,以验证其是否有效。
$ chmod +x ~/setxkbmap.sh $ ~/setxkbmap.sh
创建一个 .desktop 文件,执行刚刚创建的 shell 脚本。将“username”替换为您的用户名。
$ echo '[Desktop Entry] Type=Application Name=Keyboard Language Switcher Exec=/home/username/setxkbmap.sh Icon=/usr/share/lxkeymap/media/icon.png ' > ~/Desktop/setxkbmap.desktop
注销并再次登录,然后通过单击桌面上的新图标,然后切换 Alt-Shift 进行测试。
将 .desktop 文件移动到 ~/.config/autostart
$ mv ~/Desktop/setxkbmap.desktop ~/.config/autostart
注销并再次登录,然后通过切换 Alt-Shift 进行测试。