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.sh
arquivo 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.sh
funcionam 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.