在 Ubuntu 16.04 中,我配置了 2 种输入法(键盘布局),CZ(默认)和 US。此外,我还为不同的窗口启用了不同的输入法。此配置按预期工作,到目前为止我很喜欢它,但我想在一种特殊情况下修改其行为。
我想将终端窗口(GNOME 终端)的初始布局设置为 US。问题是,现在当我打开终端窗口时,会使用默认语言或前一个窗口的语言(根据配置),而不是每次都是美国语言。
我尝试添加setxkbmap -layout us
到~/.bashrc
,它改变了布局,但布局指示器(在右上角)没有改变,当终端窗口失去并重新获得焦点时,所做的修改setxkbmap
不再适用。在我看来,负责管理每个窗口布局的守护进程没有注册 的修改setxkbmap
。告诉守护进程对实际窗口使用给定布局的命令可能会解决我的问题。
答案1
setxkbmap
鉴于您为不同的窗口启用了不同的输入法,因此将命令替换为以下内容就足够了~/.bashrc
:
gsettings set org.gnome.desktop.input-sources current 0
请注意,该数字是您添加的输入源的顺序号,而0
(零)只是一个例子,它假定英语(美国)是第一个输入源项。将其更改为1
if英语(美国)是第二个等等
答案2
您甚至可以使用以下方式设置可用的布局
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'de+neo_qwertz'), ('xkb', 'de')]"
在这种情况下,其布局为德文新奎兹和正常的德国布局。
我需要这个来设置 ArchLinux 上的 Gnome 40 布局,因为在激活show-all-sources
并导航到设置 → 键盘 → +
gsettings set org.gnome.desktop.input-sources show-all-sources true