Como posso definir o layout do teclado para a sessão de convidado?

Como posso definir o layout do teclado para a sessão de convidado?

Primeiro, meu objetivo final é o mesmo que emessa questão. Sou um usuário Dvorak, mas quero que QWERTY, e não Dvorak, seja o layout de teclado padrão em uma sessão de convidado. Se você souber uma resposta direta para isso, em vez da pergunta abaixo, isso também será apreciado.


Posso alterar o layout do teclado para QWERTY com setxkbmap -layout us.

Algumas pesquisas no Google me dizem que se eu criar um script de shell /etc/guest-session/prefs.sh, ele será executado quando a sessão de convidado for iniciada.

Então criei um prefs.sharquivo contendo apenas esse comando:

setxkbmap -layout us

O que eu esperava que acontecesse era poder executar uma sessão de convidado e definir automaticamente o layout do teclado para QWERTY. O que realmente aconteceu foi que quando tentei executar uma sessão de convidado, ela simplesmente falhou e me trouxe de volta à tela de login.

Devo estar entendendo mal alguma coisa, mas não sei o quê. Alguma ideia?

Se relevante: estou usando o Ubuntu 12.04.

Responder1

Do jeito que você fez, o comando foi executado prematuramente, ou seja, antes do início real da sessão de convidado. Em vez disso, tente isto:

echo 'setxkbmap -layout us' >> $HOME/.profile

Acabei de reescrever otutorial sobre como personalizar sessões de convidados. Isso pode ajudá-lo a entender melhor.

Editar:

Isso se tornou mais complicado nas versões posteriores do Ubuntu. Estas linhas /etc/guest-session/prefs.shfuncionam para mim no 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

O ('xkb', 'se')valor é o padrão do meu sistema (um layout de teclado sueco). Então basicamente eu defini uma lista com o padrão do meu sistema e o layout do teclado que quero usar nas sessões de convidados - Inglês (EUA). Então digo ao sistema para transformar o segundo valor da lista no layout de teclado atual. 0 (zero) teria sido o primeiro valor.

informação relacionada