Comment lier un raccourci clavier personnalisé à un script bash dans Ubuntu 13.04?

8

En tant qu'utilisateur d'Ubuntu 13.04, j'ai moi-même eu divers problèmes et incompatibilités avec cette nouvelle version d'Ubuntu. L'un d'eux est que la barre de luminosité a soudainement disparu de l'onglet `` Paramètres système -> Luminosité et verrouillage '' après avoir installé certains packages (dont je ne me souviens pas vraiment de quoi il s'agissait). J'ai découvert qu'une solution de contournement consiste à utiliser xbacklight .

Comme exercice pour moi-même, j'ai écrit un court script afin d'augmenter et de diminuer facilement la luminosité en utilisant xbacklight depuis le terminal. Le script est exécutable (a la permission de s'exécuter), est un répertoire qui est inclus dans $ PATH dans mon fichier .bashrc et est lié à un alias ('blup' pour augmenter et 'bldn' pour diminuer la luminosité de l'écran). Ainsi, mes deux alias (blup / bldn) fonctionnent parfaitement bien à partir d'une ligne de terminal. Ensuite, je voulais les lier à certains raccourcis clavier (par exemple F2 / F3). Je l'ai fait dans «Paramètres système -> Clavier -> Raccourcis -> Raccourcis personnalisés», mais cela n'a pas fonctionné.

entrez la description de l'image ici

Pourquoi?

De plus, existe-t-il un moyen de «découvrir» où et comment d'autres commandes de raccourcis clavier (non personnalisées) sont exécutées? Par exemple, le raccourci d'augmentation du volume sur quelle ligne de terminal exécute-t-il, à quel alias est connecté (le cas échéant) et dans quel répertoire sont-ils placés (/ usr / bin, autre chose ...)?

En tant que débutant en écriture de scripts, j'apprécierais toute sorte d'aide!

Merci

PS1 Bien sûr, il suffit de coller la commande 'xbacklight -inc / -dec 10' dans les raccourcis clavier personnalisés et cela fonctionnera correctement. Je veux juste saisir l'opportunité et en savoir un peu plus sur l'écriture et l'exécution de scripts.

PS2 Mon problème n'est pas le même que celui-ci: comment lancer un script bash à l'aide d'un raccourci clavier? , c'est-à-dire que je n'utilise pas de '~ /' pour '/ home / user /'.

mario go
la source
Cela pourrait vous aider askubuntu.com/questions/254424/…
Seth
Si vous avez modifié PATH .bashrc, cette modification ne sera disponible que dans les sessions bash interactives; il ne sera pas visible par le processus effectuant les raccourcis clavier. Modifiez le CHEMIN à la ~/.profileplace, puis déconnectez-vous et
reconnectez
J'ai essayé d'ajouter le chemin où mes scripts se trouvent au .profile, comme vous l'avez suggéré, en utilisant soit: PATH = $ PATH: / home / myusername / scripts ou export PATH = $ PATH: / home / myusername / scripts mais aucun de ils ont travaillé (après s'être connecté et déconnecté). Cependant, si j'ajoute le chemin complet du script au raccourci clavier (sh /home/username/script/nameofscript.sh) cela fonctionne. Qu'est-ce que je fais mal ici?
mario go

Réponses:

4

Tout d'abord, les alias ne sont pas développés dans des shells non interactifs. Lisez la ALIASESsection de man bashdans ce sens. Vous ne pouvez donc pas utiliser d'alias dans le champ "Commande" lorsque vous ajoutez / modifiez un raccourci personnalisé.

Deuxièmement, comme l' a dit geirha dans ce commentaire , si vous avez changé PATHde .bashrcfichier, ce changement ne sera pas disponible dans les shells non interactifs. Vous devez donc modifier le fichier PATHin à ~/.profilela place.

Troisièmement, si vous souhaitez toujours utiliser uniquement bldndans le champ `` Commande '' lorsque vous ajoutez / modifiez un raccourci personnalisé, vous pouvez renommer votre script avec ce nom et ajouter le chemin du script PATHau ~/.profilefichier in , comme je l'ai dit ci-dessus.

Radu Rădeanu
la source