Execute o script a partir da configuração do i3

2

Pergunta:

Estou usando o i3-wm e tenho o Mod3 funcionando como uma tecla de atalho. Eu tenho o seguinte em ./config/i3/config :

#This command works
  bindsym Mod3+f exec "firefox" 

#This doesn't work nor do my other scripts
  bindsym Mod3+w exec "openBrowser" 

Ambos os comandos funcionam bem quando eu os executo a partir do bash, mas apenas o comando 'firefox' é executado com a tecla de atalho. Executar meu próprio script não funciona.

Detalhes adicionais:

openBrowser é um script em /opt/bin/ que está no meu caminho. Também tentei fazer:

#This command works
  bindsym Mod3+f exec /opt/bin/openBrowser

Eu também tentei outros scripts, nenhum dos quais funciona quando invocado pelo i3. Assim, determinei que não é um problema com o script.

Eu também notei quando estou no bash se eu faço Mod3 + w meu cursor pisca, onde como se eu fizesse Mod3 + [qualquer tecla não definida] a tecla escreve seu valor para a tela. Então parece que o i3 está pelo menos tentando executar a função.

    
por Philip Kirkbride 23.10.2016 / 16:20

2 respostas

2

Eu tentei duplicar o problema que você descreve. O que eu descobri é que eu tinha dois arquivos de configuração do i3 ao mesmo tempo. ~/.config/i3/config e ~/.i3/config .

No meu caso, editar ~/.config/i3/config não teve efeito porque parece que ~/.i3/config o supera.

É um tiro no escuro, mas veja se você tem mais de um arquivo de configuração, e possivelmente você está editando o arquivo errado.

    
por 01.09.2017 / 10:05
2

O comando exec inicia um aplicativo passando o comando especificado para um shell. Isto implica que os seus programas serão pesquisados no seu $PATH . O padrão $PATH geralmente não inclui /opt/bin , por exemplo, meu é:

andreatsh@debian:~ 11:28 > echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

Tente adicionar /opt/bin ao seu caminho, insira seu ~/.bashrc :

export PATH=$PATH:/opt

Eu fiz alguns testes e isso resolve o problema para mim. Agora:

bindsym Mod3+w exec somescript
bindsym Mod3+w exec /opt/bin/somescript

tem o mesmo comportamento e o script funciona.

    
por 28.10.2016 / 11:56