7 votes

Exécuter Shell Shell sur le raccourci clavier

J'aimerais lancer un Shell Shell en appuyant sur un bouton. Le Shell fonctionne si je l'exécute comme d'habitude : sh script.sh . Mais l'attribution d'un raccourci ne fonctionne pas.

Screenshot of shortcut menu

Comment faire dans Xubuntu 14.10 ?

11voto

Stewart Points 1385

Je suis presque sûr que le problème vient de la ~ . Il s'agit d'une fonctionnalité de Shell (ligne de commande Shell) et les raccourcis clavier sont gérés par le Shell graphique. Je ne pense pas que ~ o $HOME sera correctement développée à cet endroit. Ainsi, au lieu de ~/path/to/script , utiliser

/home/username/Documents/Various/SyncStuff.sh

Cela suppose que vous ayez rendu le script exécutable. Si ce n'est pas le cas, utilisez

sh /home/username/Documents/Various/SyncStuff.sh

En sh devrait suffire puisque le $PATH est également lu par les shells graphiques, pour autant que je sache. Si cela échoue également, essayez avec le chemin complet, mais je doute que cela soit nécessaire :

/bin/sh /home/username/Documents/Various/SyncStuff.sh

2voto

Jonathan Wheeler Points 176

Excellent article. J'ai cherché un moyen de faire cela depuis les dernières versions d'ubuntu (actuellement sur 19.04).

L'utilisation du chemin d'accès complet est à l'origine du problème. Je vous remercie. Ce qui a fonctionné pour moi, c'est ce qui suit...

Je cherchais un moyen de définir un raccourci clavier pour insérer la date et l'heure dans n'importe quel document ouvert.

J'ai trouvé un script en ligne et j'ai fait quelques changements mineurs (principalement l'association des touches de raccourci parce que je n'aimais pas leur choix puisque c'était une combinaison de touches qui était déjà utilisée par ubuntu) pour un que je voulais et qui était également disponible.

Création d'un fichier appelé "insertTimestamp.sh" dans mon répertoire racine.

J'ai ensuite collé (et légèrement modifié) le code à ma convenance...

Copier/coller le code ci-dessous

# ! /bin/sh
xdotool keyup "super+t"; # needed to refresh the status of the request.  simulates letting go of the hotkey super+t keys, otherwise it interferes with ctrl-v paste function
date '+%Y-%m-%d %H:%M:%S' | tr -d "\n" | xsel -i -b; # add the date/time to the clipboard
xdotool key "ctrl+v"; #simulate a ctrl-v
# xdotool keydown "super"; #unpretend the user let go of the super key

Une fois que j'ai collé ce qui précède dans le fichier et que je l'ai sauvegardé, il a fallu modifier les permissions du fichier

chmod u+x ~/insertTimestamp.sh

Une fois cela fait, il vous suffit de rechercher "clavier" => choisir Clavier => Aller dans l'onglet Raccourcis d'application => Ajouter => Pour "Commande" tapez sh the/full/path/insertTimestamp.sh (mettez à jour votre chemin d'accès complet) => Définissez les clés comme super+t.

J'espère qu'il s'agit là d'un bon exemple de la façon de procéder.

enter image description here

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X