我正在寻找一种可以使用终端切换键盘语言的方法。
目前已经有一些解决方法,例如setxkbmap us
这里提到。
但这只是一种变通方法,它不会执行某些操作(例如,Ctrl+S在非英语键盘上停止工作,并且 gnome 右上角的语言图标不会改变。这就是为什么这setxkbmap
不是一个解决方案)。
答案1
已经添加的布局:
如果你已经通过 GUI 添加了输入源,请使用以下命令获取列表
gsettings get org.gnome.desktop.input-sources sources
例子:
pratap@pratap:~$ gsettings get org.gnome.desktop.input-sources sources
[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de')]
pratap@pratap:~$
从 0、1、2 和 3 开始数,记住编号后,使用以下命令更改输入源(用你的选择替换数字)
gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[2].activate()"
例子:
pratap@pratap:~$ gdbus call --session --dest org.gnome.Shell --object-path /org/gnome/Shell --method org.gnome.Shell.Eval "imports.ui.status.keyboard.getInputSourceManager().inputSources[2].activate()"
(true, '')
pratap@pratap:~$
添加新布局:
以类似的方式,您可以使用命令添加新的输入源gsettings set
,按照您想要的顺序从 0、1、2 和 3 等开始计数。
并运行gdbus
命令在输入源之间切换..
答案2
列出所有可能的语言:
gsettings get org.gnome.desktop.input-sources sources
输出:
[('xkb', 'se'), ('xkb', 'us'), ('xkb', 'ru'), ('xkb', 'de')]
将语言切换为“se”(0 - 语言索引,当前情况下可能的索引为 0-3):
gsettings set org.gnome.desktop.input-sources current 0