You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何通过命令行配置Ubuntu 16.04 LTS语言切换器(dconf-editor示例)

嘿,这事儿好办!我给你整理出Ubuntu 16.04 LTS下用bash脚本修改语言切换器配置的具体步骤,完全对应dconf-editor里的设置逻辑:

编写bash脚本配置语言切换器

首先得确保系统有dconf命令行工具,默认可能已经装了,但保险起见先补上:

1. 安装必要工具

sudo apt update && sudo apt install -y dconf-cli

如果你的截图里涉及IBus输入源(比如中文输入法),也可以顺便装上IBus相关组件,比如ibus-pinyin

2. 核心配置命令(对应dconf-editor里的项)

下面是常见的语言切换器配置对应的gsettings命令,你可以根据截图里的实际值调整参数:

切换输入源的快捷键

比如设置成Super+Space切换下一个、Shift+Super+Space切换上一个(如果截图里是Alt+Shift,就把字符串改成['<Alt>Shift_L']):

# 切换到下一个输入源的快捷键
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Super>space']"
# 切换到上一个输入源的快捷键
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"

Unity桌面语言指示器设置

如果是Unity桌面,调整语言指示器的显示:

# 让指示器显示输入源的完整名称
gsettings set com.canonical.indicator.keyboard show-full-name true
# 确保指示器在面板上可见
gsettings set com.canonical.indicator.keyboard visible true

IBus输入框架配置(如果用IBus管理输入法)

要是系统用IBus,相关的切换快捷键和面板设置:

# IBus切换下一个输入法的快捷键
gsettings set org.freedesktop.ibus.general.hotkey next-engine "['<Super>space']"
# IBus切换上一个输入法的快捷键
gsettings set org.freedesktop.ibus.general.hotkey prev-engine "['<Shift><Super>space']"
# 让IBus面板正常显示
gsettings set org.freedesktop.ibus.panel xembed-enabled true

输入源列表配置

如果需要添加特定的输入源(比如英文+中文拼音),先查看当前列表再修改:

# 查看当前输入源
gsettings get org.gnome.desktop.input-sources sources
# 设置输入源列表(示例:英文键盘+中文拼音)
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('ibus', 'pinyin')]"

3. 完整脚本示例

把上面的命令整合到一个脚本里,保存为setup-language-switcher.sh

#!/bin/bash

# 安装依赖工具和输入法组件
sudo apt update && sudo apt install -y dconf-cli ibus-pinyin

# 设置输入源列表(可根据需求修改)
gsettings set org.gnome.desktop.input-sources sources "[('xkb', 'us'), ('ibus', 'pinyin')]"

# 配置输入源切换快捷键
gsettings set org.gnome.desktop.wm.keybindings switch-input-source "['<Super>space']"
gsettings set org.gnome.desktop.wm.keybindings switch-input-source-backward "['<Shift><Super>space']"

# 配置Unity语言指示器
gsettings set com.canonical.indicator.keyboard show-full-name true
gsettings set com.canonical.indicator.keyboard visible true

# 配置IBus相关设置
gsettings set org.freedesktop.ibus.general.hotkey next-engine "['<Super>space']"
gsettings set org.freedesktop.ibus.general.hotkey prev-engine "['<Shift><Super>space']"
gsettings set org.freedesktop.ibus.panel xembed-enabled true

echo "语言切换器配置搞定啦!"

然后给脚本加执行权限并运行:

chmod +x setup-language-switcher.sh
./setup-language-switcher.sh

小提示

  • 要是截图里的配置和上面不一样,比如快捷键是其他组合,直接修改命令里的字符串就行。
  • 可以先用gsettings get <配置路径>查看当前值,对比截图里的dconf值再调整。
  • dconf里的布尔值直接用truefalse,数组值要用[]包裹,元素加引号。

内容的提问来源于stack exchange,提问作者Pinguinim

火山引擎 最新活动