J'ai récemment posé cette question sur l'ajout d'un script shell à Dash:
En 14.04, comment exécuter un script bash que j'ai écrit sans ouvrir de terminal?
Cela a parfaitement fonctionné.
Question de suivi: comment passer des arguments de ligne de commande via Dash? Exemple: Dans ce cas, ma commande de tiret est nommée "Panel". Le script panneau mon écran avec 8 terminaux. Voici un exemple d'utilisation:
panel # Tile the screen with 8 terminal windows.
panel --left # Tile the left side with 4 terminals
panel --right # Tile the right side with 4 terminals
Etc. Comment passer des arguments comme --left
ou --right
via Dash? Idéalement, j'aimerais avoir ce flux de travail:
- Appuyez sur la touche SUPER
- Type
panel --left
(par exemple) - Le tableau de bord disparaît et le côté gauche est lambrissé.
À l'heure actuelle, il exécute le bon script, mais ignore --left
.
Conseils?
scripts
unity-dash
Sir Robert
la source
la source
Réponses:
Le problème est que vous ne pouvez pas "exécuter" un
.desktop
fichier depuis Dash avec des arguments, donc la configuration exactement comme vous l'avez en tête est impossible, je le crains. Cependant, en supposant que votre script ne arguments prendre, il y a quelques options alternatives élégantes, peut - être encore mieux:Enregistrez votre script dans
~/bin
exécutez-le en appuyant sur AltF2, tapez la commande
Créez une liste rapide dans le lanceur Unity:
(en supposant que vous ayez enregistré le script
~/bin
, l' aviez rendu exécutable et supprimé l'extension comme dans 1.)Enregistrer comme
panel.desktop
dans~/.local/share/applications
et faites -le glisser sur le lanceur.Créez trois raccourcis clavier différents, par exemple Alt+ <, Alt+ ^, Alt+ >pour exécuter votre script + arguments:
"Paramètres système"> "Clavier"> "Raccourcis"> "Raccourcis personnalisés"
Cliquez sur "+" pour ajouter vos commandes:
<scriptname> <argument>
Pas la plus évidente, mais en explorant les options, il convient de mentionner: vous pouvez appeler une liste d'options (zenity) depuis Dash:
Tapez le premier caractère de votre option, appuyez sur Entrée et votre script s'exécutera avec l'argument choisi.
En supposant à nouveau que vous avez enregistré le script dans ~ / bin, que vous l'avez rendu exécutable et supprimé l'extension de langue comme dans 1:
Copiez le script ci-dessous dans un fichier vide, enregistrez-le sous
panel_options.sh
, rendez-le exécutable.Créez le fichier .desktop à partir du code ci-dessous. Dans la
Icon=
ligne, définissez le chemin d'accès à votre icône, dans laExec=
ligne le chemin d'accèspane_options.sh
, enregistrez-le commepanel.desktop
dans~/.local/share/applicatios
la source
D'après votre question d'origine, il semble que la bonne chose à faire serait de déplacer le script vers
~/bin/
, qui devrait être dans votre$PATH
par défaut.Si vous faites cela, vous pourrez à nouveau exécuter votre script en utilisant AltF2. Vous pourrez également lui passer des arguments comme vous le faites dans un shell.
Vous pouvez également ajouter tout autre dossier dans lequel vous conservez vos scripts
$PATH
. Pour ce faire, ouvrez~/.profile
dans l'éditeur de texte de votre choix:À la fin, ajoutez une ligne (en la remplaçant
<folder>
par votre dossier) et enregistrez le fichier:Par exemple, j'ajoute
$HOME/.bin
à mon$PATH
afin que mes binaires n'encombrent pas mon dossier de départ, mais vous pouvez ajouter n'importe quel répertoire à votre chemin, assurez-vous de ne rien ajouter de dangereux (par exemple, accessible en écriture).Les modifications prendront effet lors de la prochaine connexion.
la source