首先,我的最终目标和这个问题。我是 Dvorak 用户,但我希望 QWERTY 而不是 Dvorak 作为来宾会话中的默认键盘布局。如果您知道该问题的直接答案,而不是以下问题的直接答案,我们将不胜感激。
我可以使用 将键盘布局更改为 QWERTY setxkbmap -layout us
。
一些谷歌搜索告诉我,如果我创建一个 shell 脚本/etc/guest-session/prefs.sh
,它将在客户会话启动时运行。
因此我创建了一个prefs.sh
仅包含该命令的文件:
setxkbmap -layout us
我期望能够运行来宾会话并自动将键盘布局设置为 QWERTY。但实际发生的是,当我尝试运行来宾会话时,它失败了,并让我回到登录屏幕。
我肯定误解了什么,但我不知道是什么。有什么想法吗?
如果相关:我正在使用 Ubuntu 12.04。
答案1
您执行的方式会导致命令过早运行,即在客户会话实际开始之前运行。请尝试以下方法:
echo 'setxkbmap -layout us' >> $HOME/.profile
我刚刚重写了关于自定义访客会话的教程。它也许能帮助你更好地理解它。
编辑:
在更高版本的 Ubuntu 中,这变得更加棘手。这些行/etc/guest-session/prefs.sh
对我在 Ubuntu 15.10 上有效:
echo "gsettings set org.gnome.desktop.input-sources sources \"[('xkb', 'se'), ('xkb', 'us')]\"" >> $HOME/.profile
echo "gsettings set org.gnome.desktop.input-sources current 1" >> $HOME/.profile
该('xkb', 'se')
值是我的系统默认值(瑞典键盘布局)。因此,基本上,我设置了一个列表,其中包含我的系统默认值和我想在访客会话中使用的键盘布局 - 英语(美国)。然后我告诉系统将列表中的第二个值设为当前键盘布局。0(零)将是第一个值。