Ubuntu中如何为各键盘布局设置专属全局快捷键以实现Windows式直接切换功能
Ubuntu中如何为各键盘布局设置专属全局快捷键以实现Windows式直接切换功能
我太懂这种烦恼了——当你需要在好几个键盘布局之间来回切换时,Ubuntu默认的循环切换方式真的效率太低了,每次都得反复按快捷键直到切到想要的布局,或者还得用鼠标点菜单,完全打断工作节奏。别担心,下面给你两种实用的方法,帮你实现像Windows那样给每个布局设置专属快捷键直接切换:
方法一:使用setxkbmap命令快速切换单个布局
这种方法适合直接指定具体的布局,步骤很简单:
- 先确认你的键盘布局代码:打开终端输入
setxkbmap -query,在输出的layout字段里就能看到当前启用的布局代码(比如英文是us,简体中文是cn,俄语是ru)。 - 打开Ubuntu的「设置」→「键盘」→「快捷键」→「自定义快捷键」。
- 点击「添加」按钮:
- 名称栏填个好记的名字,比如「切换到英文布局」;
- 命令栏输入
setxkbmap us(把us换成你对应的布局代码); - 点击「设置快捷键」,按下你想要的组合键(比如
Ctrl+Shift+3),确认保存即可。
- 重复上面的步骤,给每个需要的布局都设置专属的快捷键和对应命令,比如切换到中文就用
setxkbmap cn。
方法二:通过gsettings精准控制布局索引切换
如果你的系统里同时启用了多个布局,这种方法可以通过索引直接切换到指定位置的布局,更灵活:
- 先查看当前的布局列表及顺序:打开终端输入
gsettings get org.gnome.desktop.input-sources sources,输出会是类似[('xkb', 'us'), ('xkb', 'cn'), ('xkb', 'ru')]的格式,这里的顺序就是布局的索引(从0开始计数)。 - 同样进入「自定义快捷键」添加新条目:
- 名称比如「切换到第1个布局」;
- 命令栏输入
gsettings set org.gnome.desktop.input-sources current 0(0对应列表里的第一个布局,也就是上面例子中的英文); - 设置对应的快捷键,比如
Ctrl+Shift+1。
- 想要切换到第二个布局就把命令里的
0改成1,快捷键设为Ctrl+Shift+2,以此类推。
一些小提示
- 设置快捷键时注意避开系统已占用的组合键,如果提示快捷键已被使用,换个组合就行;
- 如果你用的是KDE、Xfce等其他桌面环境,操作逻辑类似,都是找到「自定义快捷键」的设置项,添加对应的命令;
- 设置完成后记得测试一下,按下快捷键看看布局是否能直接切换到目标选项。
备注:内容来源于stack exchange,提问作者Green Joffer




