如何为访客会话设置键盘布局?

首先,我的最终目标与此问题相同。 我是Dvorak用户,但我希望QWERTY而不是Dvorak成为访客会话中的默认键盘布局。 如果您知道对此的直接回答而不是下面的问题,那么也将不胜感激。


我可以使用setxkbmap -layout us将键盘布局更改为QWERTY。

一些谷歌搜索告诉我,如果我创建一个shell脚本/etc/guest-session/prefs.sh ,它将在访客会话启动时运行。

所以我创建了一个prefs.sh包含该命令的prefs.sh文件:

 setxkbmap -layout us 

我期望发生的是能够运行访客会话并自动将键盘布局设置为QWERTY。 实际发生的事情是,当我尝试运行访客会话时,它只是失败并将我带回登录屏幕。

我一定是误会了,但我不知道是什么。 有任何想法吗?

如果相关:我正在使用Ubuntu 12.04。

你这样做的方式,命令是过早运行的,即在客户会话的实际开始之前。 试试这个:

 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(零)将是第一个值。