
Pergunta:
Estou usando o i3-wm e tenho o Mod3 funcionando como 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 no 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 /opt/bin/
que está no meu caminho. Também tentei fazer:
#This command works
bindsym Mod3+f exec /opt/bin/openBrowser
Também tentei outros scripts, nenhum dos quais funciona quando invocado pelo i3. Portanto, determinei que não é um problema com o script.
Também notei que quando estou no bash, se eu fizer Mod3+w, meu cursor piscará, enquanto, como se eu fizesse Mod3+[qualquer tecla não definida], a chave escreve seu valor na tela. Parece que o i3 está pelo menos tentando executar a função.
Responder1
Tentei duplicar o problema que você descreve. O que descobri é que havia dois arquivos de configuração do i3 ao mesmo tempo. ~/.config/i3/config
e ~/.i3/config
.
No meu caso, a edição ~/.config/i3/config
não teve efeito porque parece que ~/.i3/config
supera.
É um tiro no escuro, mas veja se você tem mais de um arquivo de configuração e possivelmente está editando o arquivo errado.
Responder2
O exec
comando inicia um aplicativo passando o comando especificado para um shell. Isso implica que seus programas serão pesquisados em seu arquivo $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, coloque no seu ~/.bashrc
:
export PATH=$PATH:/opt
Fiz alguns testes e isso resolve o problema para mim. Agora:
bindsym Mod3+w exec somescript
bindsym Mod3+w exec /opt/bin/somescript
têm o mesmo comportamento e o script funciona.