Como vincular um atalho de teclado personalizado a um script do bash no Ubuntu 13.04?

8

Como usuário do Ubuntu 13.04, eu também tive vários problemas e incompatibilidades com esta versão mais recente do Ubuntu. Uma delas é que a barra Brilho desapareceu subitamente da guia 'Configurações do sistema -> Brilho e bloqueio' após a instalação de alguns pacotes (dos quais realmente não me lembro o que era). Eu descobri que uma solução alternativa é usar o xbacklight .

Como exercício para mim, escrevi um pequeno script para aumentar e diminuir facilmente o brilho usando o xbacklight do terminal. O script é executável (tem permissão para executar), é um diretório incluído no $ PATH no meu arquivo .bashrc e está vinculado a um alias ('blup' para aumentar e 'bldn' para diminuir o brilho da tela). Portanto, meus dois aliases (blup / bldn) funcionam perfeitamente bem a partir de uma linha terminal. Em seguida, queria vinculá-los a alguns atalhos de teclado (por exemplo, F2 / F3). Fiz isso em 'Configurações do sistema -> teclado -> atalhos -> atalhos personalizados', mas não funcionou.

insira a descrição da imagem aqui

Por quê?

Além disso, existe uma maneira de 'descobrir' onde e como outros comandos de atalho de teclado (não personalizados) são executados? Por exemplo, o atalho de aumento de volume em que linha de terminal ele executa, em qual alias está conectado (se houver) e em qual diretório eles são colocados (/ usr / bin, outra coisa ...)?

Como um novato na escrita de roteiro, eu apreciaria qualquer tipo de ajuda!

obrigado

PS1 Obviamente, basta colar o comando 'xbacklight -inc / -dec 10' nos atalhos de teclado personalizados e ele funcionará bem. Eu só quero aproveitar a oportunidade e conhecer um pouco mais sobre a escrita e execução de scripts.

PS2 Meu problema não é o mesmo que este: Como inicio um script bash usando um atalho de teclado? , ou seja, não uso '~ /' para '/ home / user /'.

mario go
fonte
Isso pode ajudá-lo a perguntarubuntu.com/questions/254424/…
Seth:
Se você alterou PATH .bashrc, essa alteração estará disponível apenas em sessões de bash interativas; não ficará visível para o processo executando os atalhos do teclado. Altere o caminho em ~/.profilevez disso, em seguida, sair e voltar no.
geirha
Tentei adicionar o caminho em que meus scripts ficam ao perfil, como você sugeriu, usando: PATH = $ PATH: / home / myusername / scripts ou exportar PATH = $ PATH: / home / myusername / scripts, mas nenhum dos eles funcionaram (depois de entrar e sair). No entanto, se eu adicionar o caminho completo do script ao atalho de teclado (sh /home/username/script/nameofscript.sh), ele funcionará. O que eu estou fazendo errado aqui?
mario go

Respostas:

4

Primeiro de tudo, os aliases não são expandidos em shells não interativos. Leia a ALIASESseção man bashneste sentido. Portanto, você não pode usar um alias no campo 'Comando' ao adicionar / editar um atalho personalizado.

Em segundo lugar, como geirha disse em este comentário , se você mudou PATHno .bashrcarquivo, que a mudança não estará disponível em conchas não-interativas. Portanto, você precisa alterar o arquivo PATHin ~/.profile.

Terceiro, se você ainda deseja usar apenas bldnno campo 'Comando' quando adicionar / editar um atalho personalizado, poderá renomear seu script com esse nome e adicionar o caminho do script ao arquivo PATHin ~/.profile, como eu disse acima.

Radu Rădeanu
fonte