在 GNOME 中通过 CLI 切换键盘语言

在 GNOME 中通过 CLI 切换键盘语言

我正在寻找一种可以使用终端切换键盘语言的方法。

输入源

目前已经有一些解决方法,例如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

相关内容