Uma maneira robusta de executar um comando / executar um script no login?

4

Eu tenho dois comandos que mudam o comportamento do teclado:

 xset r rate 120 66
 /usr/bin/setxkbmap -option "ctrl:nocaps"

Quando eu abro um terminal e os executo, eles alteram as configurações de repetição automática e remapeam o CAPS LOCK para controlar, não apenas na janela do terminal, mas em todo o meu ambiente de área de trabalho.

Eu gostaria que eles fossem executados automaticamente quando eu fizer login na minha conta (usando uma GUI ou via ssh / etc.). Gostaria de fazer isso de maneira robusta (ou seja, não quero usar ferramentas específicas de distribuição) e não quero usar nenhuma ferramenta de GUI.

Eu supus que há algum arquivo que é executado no login e eu deveria apenas colar esses comandos lá, mas adicioná-los a ~/.bash_login não teve nenhum efeito, da mesma forma com ~/.bash_profile . Com ~/.profile , apenas /usr/bin/setxkbmap -option "ctrl:nocaps" teve efeito.

Como posso conseguir isso?

    
por Jan Warchoł 08.08.2013 / 09:48

1 resposta

1

Normalmente, você coloca X itens relacionados que gostaria de executar no contexto do usuário (você) em um dos dois arquivos:

  • $ HOME / .xsession
  • $ HOME / .xinitrc

  • Para os desktops do GNOME, você pode colocar comandos em $ HOME / .gnomerc

  • Para o KDE, você coloca comandos em $ HOME / .kde / Autostart

Abordagem Alternativa

Alguns comandos, como xset , podem não funcionar nesses arquivos. Se você ainda quiser automatizar algo assim, poderá adicioná-lo como "Aplicativo de inicialização".

Etapa 1

Crie um script de shell, xset.bash .

#!/bin/bash
xset r rate 120 66
Etapa 2

Adicione uma tarefa de inicialização para executar o script de shell.

Abra o aplicativo Startup Applications , em Sistema → Preferências

Emseguida,cliquenobotãoAdicionar

Quando terminar, clique em & Feche os diálogos e teste o logout e faça o login novamente.

Referências

por 08.08.2013 / 11:21