如何通过命令行配置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里的布尔值直接用
true或false,数组值要用[]包裹,元素加引号。
内容的提问来源于stack exchange,提问作者Pinguinim




