Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 27/08/2009, à 16:49

lauben

gnome-terminal executer dans plusieurs onglet des scripts à argument

Bonjour,

J'ai crée un script qui permette de lancer dans un terminal Gnome une connexion ssh.
Ce dernier prend en argument l'IP de la machine à charger.
Ce script fonctionne. Fichier lancerDistant.sh + arg

#!/usr/bin/expect -f
set force_conservative 1;
set timeout 6
send "spawn ssh -X -l user $argv\r"
expect "user@"
send "passwd\r"
interact

Je souhaite maintenant l'intégrer dans un autre script afin de lancer plusieurs onglet avec dans chacun d'eux une connexion ssh différente: (fichier lancer.sh)

#!/bin/sh
#Gnome
cmdTerm='gnome-terminal'
tabOption=' --tab'
commandOption='-e'
titleOption='--title'

listIPDistant="proxy1 proxy3 proxy3"
var="$cmdTerm";
for i in $listIPDistant
do
   var="${var} ${tabOption} ${commandOption} ./lancerDistant.sh ${i} ${titleOption} ${i}"
done
echo $var
${var}

Du coup, le script "lancer.sh" se lance bien, mais le deuxieme script n'arrive pas à retrouver l'argument...
j'ai essayé, mais sans succès, de modifier la critique par (de rajouter des guillements quoi):

var="${var} ${tabOption} ${commandOption} \"./lancerDistant.sh ${i}\" ${titleOption} ${i}"

Mais c'est toujours un echec, j'obtiens:

scripts$ ./launch.sh 
gnome-terminal --tab -e "./lancerDistant.sh proxy1" --title proxy1 --tab -e "./lancerDistant.sh proxy2" --title proxy2 --tab -e "./lancerDistant.sh proxy3" --title proxy3

L'argument de « --command/-e » n'est pas une commande valide : Le texte s'est terminé avant qu'un caractère de citation soit trouvé pour ". (Le texte était « "./lancerDistant.sh »)

Quelqu'un aurait il la solution ?

cordialement,

Benoit

Hors ligne

#2 Le 27/08/2009, à 22:08

wido

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

Bonjour,
essaye de remplacer:

#!/bin/sh
#Gnome
cmdTerm='gnome-terminal'
tabOption=' --tab'

par

#!/bin/sh
#Gnome
cmdTerm='gnome-terminal'
tabOption='--tab'

sinon je ne vois pas (niveau faible en programmation smile )

Hors ligne

#3 Le 23/06/2010, à 23:12

lauben

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

Bonjour,
Je déterre ce post que j'ai créé il y a près d'un an parce que je me re-heurte au même problème.
Quelqu'un connait il la solution ?

Pour résumer je veux executer un script avec arguments via la ligne de commande de gnome-terminal.

Cordialement,
Benoit

Hors ligne

#4 Le 24/06/2010, à 07:37

credenhill

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

hello
ouvre un terminal avec 3 onglets dans lesquels s'exécute le script gnm avec paramètres

$ gnome-terminal --maximize --tab -e "./gnm aaa 1 2 3" --tab -e "./gnm bbb 11 22 33 " --tab -e "./gnm ccc ddd"
$ cat gnm
#!/bin/bash

for p in $* ; do echo p=$p; done
$SHELL
$

Hors ligne

#5 Le 24/06/2010, à 18:40

Hizoka

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

tres interressant ce :

gnome-terminal --maximize --tab

connaitrais tu l'équivalent pour konsole ?


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#6 Le 25/06/2010, à 12:09

credenhill

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

non je n'ai pas konsole, rien d'approchant  dans konsole -help-all ?

Hors ligne

#7 Le 25/06/2010, à 16:45

Hizoka

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

--new-tab : smile

il ne reste plus qu'avoir comment y associer une commande.

merci


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#8 Le 26/06/2010, à 07:50

credenhill

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

-e <command> [ arguments ] ?

Hors ligne

#9 Le 26/06/2010, à 08:38

Hizoka

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

quand je fais ça, ça ne m'ouvre pas d'onglet....

ma konsole clignote une fois et pis c'est tout (j'ai essayé en y incorporant un sleep mais pas de changement)


KDE Neon 64bits
Tous mes softs (MKVExtractorQt, HizoSelect, HizoProgress, Qtesseract, Keneric, Services menus...) sont sur github

Hors ligne

#10 Le 22/07/2010, à 01:07

lauben

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

C'est normal qu'il se referme, dans le profil par défaut de gnome terminal, quand la commande est terminée, le terminal se referme. Parce qu'il considère ici qu'il n'y a qu'une cmd à executer !! Enduite la session est finie.
La solution que j'ai trouvée pour l'instant c'est de lancer la commande via un script !
gnome-terminal --tab --title "blabla" -e ./script1.sh --tab --title "blabla2" -e ./script2.sh .
Sinon, pour des connexions ssh, ca marche directement tant que la connexion n'est pas terminée.
Dans les fihiers scripts on utilise comme interpreteur  #!/usr/bin/expect -f, puis on met les commandes et on finit par interact qui nous rend la main.

Benoit

Hors ligne

#11 Le 22/07/2010, à 07:00

credenhill

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

tu peux aussi terminer ton script par : $SHELL
il te rendra la main

Hors ligne

#12 Le 13/06/2012, à 09:03

vieurou

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

Bonjour,

Je déterre ce post car je cherche la même chose , càd la commande pour ouvrir un nouvel onglet , mais pour yakuake.

Merci

Hors ligne

#13 Le 13/06/2012, à 18:39

nesthib

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

Les solutions de la forme :

gnome-terminal --tab -e […]

fonctionnent uniquement si la commande lancée ne se termine pas ou ne se détache pas du terminal.
Autrement ce n'est PAS possible… du moins pas simplement.

un bidouillage qui fonctionne :

gnome-terminal --title mysshterminal
xdotool windowfocus $(xdotool search --name mysshterminal)
for proxy in proxy1 proxy3 proxy3
do
    xdotool key ctrl+shift+t
    xdotool type "ssh ${proxy}"
    xdotool key Return
done

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#14 Le 14/06/2012, à 08:50

credenhill

Re : gnome-terminal executer dans plusieurs onglet des scripts à argument

hello

nesthib a écrit :

fonctionnent uniquement si la commande lancée ne se termine pas ou ne se détache pas du terminal.

qu'entends tu pasr là ?
et comme ça ?

 gnome-terminal --tab -e "bash -c date;$SHELL"

Hors ligne