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/06/2022, à 10:29

FlyGap

Lancement d'un script dans un terminal via le clic droit

Bonjour à tous,

Ma question semble simple mais je me suis aperçu que dans la version 22-04 d'Ubuntu, l'élément lancer dans un terminal n'existe plus.
Malgré mes recherches, impossible de trouver une réponse à ma question, ou est passé l'option "lancer dans un terminal", j'ai cherché, peut être pas assez mais bredouille.

Mon objectif est de lancer une commande de connexion via script, soit via le clique droit "lancer dans un terminal", soit, ce qui serait le mieux, en créant un raccourci directement.

Si toute fois une réponse existe, je suis désolé de ne pas l'avoir trouvé, en attendant je vous remercie d'avant d'apporter de l'eau à mon moulin.

à bientôt

Hors ligne

#2 Le 28/06/2022, à 11:51

kholo

Re : Lancement d'un script dans un terminal via le clic droit

salut,
tu n'as pas clic droit puis "exécuter comme un programme" ?

[edit] suite à mon échange avec MicP en dessous
il faut que le fichier ait des droits d'exécution :
clic droit sur le fichier puis Propriétés
onglet "Permissions"
aller en bas sur
Exécution : cocher "Autoriser l'exécution du fichier comme un programme"
fermer
puis clic droit sur le script qui fera apparaître dans les options "exécuter comme un programme"

Dernière modification par kholo (Le 28/06/2022, à 15:46)

Hors ligne

#3 Le 28/06/2022, à 13:36

MicP

Re : Lancement d'un script dans un terminal via le clic droit

Bonjour

Il faut que le script soit exécutable par ton compte utilisateur.

Hors ligne

#4 Le 28/06/2022, à 13:40

kholo

Re : Lancement d'un script dans un terminal via le clic droit

MicP a écrit :

Bonjour

Il faut que le script soit exécutable par ton compte utilisateur.

je me posais justement la question
dans le fil de discussion git de gnome, il a été question de pouvoir lancer tout type de fichiers sans qu'ils soient exécutable.
je ne sais pas trop où il en sont de ce côté là...
à vérifier... je verrai cela dans une VM d'ici la fin d'après midi

Hors ligne

#5 Le 28/06/2022, à 14:05

MicP

Re : Lancement d'un script dans un terminal via le clic droit

J'ai effectivement fait le test depuis une machine virtuelle Ubuntu 22.04 LTS
et si le script n'a pas l'attribut exécutable pour le compte utilisateur qui veut lancer son exécution,
alors l'option "Exécuter comme un programme" n’apparaît pas dans le menu contextuel qui s'affiche par un clic droit sur le fichier script concerné.

Il reste que pour pouvoir lancer ce script dans une fenêtre de terminal, il faudra peut-être créer un lanceur <=> fichier.desktop
et voir ce qu'il y a dans le script pour éventuellement faire en sorte que la fenêtre de terminal ne se ferme pas une fois le contenu du script lancé.

Bien sûr, l'idéal pour pouvoir apporter une réponse pertinente serait de :
- voir le contenu du script à lancer,
- voir quels sont ses attributs et son chemin absolu,
- savoir s'il est nécessaire d'obtenir les privilèges du compte super utilisateur afin de pouvoir exécuter les commandes contenues dans le script,
- voir le nom du compte utilisateur du compte qui va lancer le script et quels sont les privilèges de ce compte,
- savoir si la fenêtre de terminal doit ou non se fermer une fois que l'exécution du script est lancé,
- savoir de quel type de connexion il s'agit et à quoi.

En attendant, on fait ce qu'on peut avec ce qu'on a,
et c'est déjà pas mal de savoir qu'il s'agit d'un système Ubuntu 22.04 LTS
et que le script devra être lancé dans une fenêtre de terminal
dans le but d'établir une "connexion".

Mais on sait tous, qu'on a débuté un jour et qu'il est très difficile de poser une question précise
tant qu'on ne sait pas encore tout ce qu'il est possible de faire et quels sont les termes précis à employer.
D'autant qu'il y a tant de possibilités qu'il est quasiment impossible pour une seule personne de les connaître toutes.

Sans compter que d'une version à l'autre, d'un environnement de bureau à l'autre, et parfois selon la machine utilisée et le contexte dans lequel elle sera utilisée,
les méthodes pour arriver à faire ce que l'on voudrait peuvent êtres très différentes.

Dernière modification par MicP (Le 28/06/2022, à 14:22)

Hors ligne

#6 Le 28/06/2022, à 15:02

FlyGap

Re : Lancement d'un script dans un terminal via le clic droit

Bonjour,
Je vous remercie de vos réponses.
Le script est bien executable, et l'option executer en tant que programme ne fonctionne pas, dans mon esprit,
Effectivement, ma question était uniquement basée autour de cette fameuse option, j'avais imaginé que cette option "lancer dans un terminal" était "cachée".

Pour vous donner un peu plus de détail, je lance une connexion via xfreerdp.
Le scripte contien que cette ligne de commande :

xfreerdp -u:user -d:domain -v:RDS -g:hostname

Lorsque la commande est lancée, le terminal reste ouvert, le script est lancer avec le cpt user du poste.

Je sais, c'est d'une banalité déconcertante.

Hors ligne

#7 Le 28/06/2022, à 16:01

kholo

Re : Lancement d'un script dans un terminal via le clic droit

salut...
je réfléchis à voix haute...
comme tu ne le mentionnes pas, un shebang au début même si ce n'est pas vraiment obligatoire...
encore que peut être que si... sinon il le lance avec sh par défaut je crois...
éventuellement une ligne pour bloquer l'affichage et avoir le temps de lire les retours, même si en l’occurrence là y a pas de problème de se côté là...
donc ton script devrait être :

#!/bin/env bash
xfreerdp -u:user -d:domain -v:RDS -g:hostname
read -p "appuyer sur une touche pour continuer "

ensuite l'utilisateur de ta machine serveur rdp s'appelle user ?
... et ton nom d’hôte est hostname ?
... et ton domaine s'appelle domaine ?

... ou c'est juste pour simplifier ta demande ?
domaine ? c'est un domaine AD de Doz ?

si tu veux faire des tests, fais en sorte que ça fonctionne en le lançant à la main en ligne de commande
ouvrir un terminal (Ctrl + Alt + T)
et tu tapes simplement ta ligne...

si c'est pour un exo, je te laisse voir...
si c'est pour toi, un VNC sera peut être plus facile à gérer...

Hors ligne

#8 Le 29/06/2022, à 07:24

MicP

Re : Lancement d'un script dans un terminal via le clic droit

Bonjour

Quand tu nous donnes le contenu d'un script, donnes nous le dans son intégralité,
tel qu'il est retourné par une ligne ce commande permettant d'en afficher le contenu (comme par exemple la commande cat),
sinon, il nous manquera sans doute des informations dont tu n'as pas pu mesuré l'importance et qui sont peut-être (c'est d'ailleurs souvent le cas) la cause du problème.

Et en ne nous donnant pas ces informations, logiquement, nous ne pourrons qu'en déduire la même chose que toi => il nous sera donc impossible de comprendre pourquoi ça ne fonctionne pas.

=======
En fonction de ce que tu nous as donné,
voici un exemple de ce qu'on aurait pu voir s'il s'agissait d'un retour utilisable de commandes

michel@debbull:~$ cat ./monscript.sh 
xfreerdp -u:user -d:domain -v:RDS -g:hostname
michel@debbull:~$ 

Mais dans la réalité, il y a peut-être d'autres lignes de commande(s) qui précèdent ou suivent la ligne de commande dans ton script
et avec une description telle que tu nous l'a donnée, on ne peut pas deviner ce qu'on ne voit pas
et c'est peut-être ce que l'on ne peut pas voir qui empêche ton script de fonctionner.

Il nous faudrait aussi voir tous les attributs et propriétés d'appartenance de ton fichier script
que tu peut faire s'afficher en utilisant la commande ls en utilisant l'option l :

michel@debbull:~$ ls -l ./monscript.sh
-rw-r--r-- 1 michel michel 46 29 juin  07:04 ./monscript.sh
michel@debbull:~$ 

=======

… Lorsque la commande est lancée, le terminal reste ouvert, le script est lancer avec le cpt user du poste.…

Est-ce qu'il n'y a vraiment absolument rien d'affiché dans la fenêtre de terminal ?
car même s'il y a quelque chose qui pourrait te paraître insignifiant, ça pourrait être pour nous être un indice important.
Montre nous ce qui s'est affiché dans la fenêtre de l'écran et qui te permet d'en déduire que le script s'est bien lancé et qu'il s'est exécuté depuis ton compte utilisateur.

=======
Que se passe-t-il quand tu lances l'exécution de la même ligne de commande après l'avoir entrée dans une fenêtre de terminal ?
et qu'est-ce qui est affiché dans la fenêtre de terminal quand la ligne de commande a terminé son exécution ?

D'ici, on ne voit rien du tout : on ne voit que le contenu de tes messages décrivant ton interprétation
de ce que tu as pu voir ou/et interprété en fonction de ce que tu en as compris.

Dernière modification par MicP (Le 29/06/2022, à 07:35)

Hors ligne

#9 Le 29/06/2022, à 10:06

FlyGap

Re : Lancement d'un script dans un terminal via le clic droit

Bonjour,
je vais faire simple, la question que je vous ai posé n'a rien a voir avec le contenu ou le fonctionnement su scripte !
je script fonctionne quand je le lance depuis un terminal !
je rappelle ma question : où est passé l'option  "lancer dans un terminal", lorsque l'on fait un clique droit sur le bureau ?

Si vous avez des infos ou une solution de contournement, c'est avec plaisir, j’espère que vous avez compris que le problème n'est pas le scripte !

Bonne journée

Hors ligne

#10 Le 29/06/2022, à 10:22

kholo

Re : Lancement d'un script dans un terminal via le clic droit

Bon... bah la "question est vite répondue..." et ce au #2 !
et si tu as le terminal qui s'ouvre, c'est bien que tout se passe bien pour ce qui concerne le lancement du script...
et si tu lances le script en LdC et que ça fonctionne, c'est qu'il y a une C... ailleurs...
alors on se pose des questions quant à ton script... ce qui est légitime...
d'autant qu'avec cette nouvelle option, on ne sait pas trop si c'est de l'ordre de la façon dont cela fonctionne voire un bug de jeunesse.

... alors un lanceur en .desktop peut être la solution

Hors ligne

#11 Le 29/06/2022, à 10:32

FlyGap

Re : Lancement d'un script dans un terminal via le clic droit

Merci,
ok, soit je passe en version inférieure, soit je cherche des billes pour créer un fichier .desktop
@+

Hors ligne

#12 Le 29/06/2022, à 11:24

MicP

Re : Lancement d'un script dans un terminal via le clic droit

Si j'avais eu la réponse à mes questions,
j'aurais pu confirmer/infirmer le fait que le problème est sans doute dû à un histoire de variables d'environnement,
et plus particulièrement, la variable DISPLAY,
mais peut-être qu'il en faut d'autres.

Mais sans voir le contenu du script, ni les retours de commandes, ni les attributs des fichiers etc,
il n'y a plus qu'à jouer à la loterie en espérant que ça finisse par tomber en marche.

Et tu auras le même problème en utilisant un fichier .desktop
parceque sans connaître le chemin absolu du fichier script, le shell utilisé, et autres, ça va être très compliqué pour une bille.

[Desktop Entry]
Type=Application
Terminal=true ou false, ça dépendra
Name[fr_FR]=monscriptQuiEstJeSaisPaOù
Exec=leShellÀdeviner monscriptQuiEstJeSaisPaOù
Comment[fr_FR]=pour tenter de lancer un script inconnu
Icon=cheminEtNomDelicone

Enfin, j'aurais essayé. roll

=======
@ kholo

Dans son message #2, kholo a écrit :

… cocher "Autoriser l'exécution du fichier comme un programme" …

En cochant cette case, les attributs d'exécution du script sont activés pour le propriétaire, le groupe et les autres <=> tout le monde pourra le lancer le script.

Perso, je préfère activer l'attribut d'exécution uniquement pour le propriétaire du script
en lançant la ligne de commande suivante :

chmod u+x /cheminQuonNeConnaitPas/monscript.sh

Dernière modification par MicP (Le 29/06/2022, à 12:27)

Hors ligne

#13 Le 30/06/2022, à 12:10

kholo

Re : Lancement d'un script dans un terminal via le clic droit

MicP a écrit :

@ kholo

Dans son message #2, kholo a écrit :

… cocher "Autoriser l'exécution du fichier comme un programme" …

En cochant cette case, les attributs d'exécution du script sont activés pour le propriétaire, le groupe et les autres <=> tout le monde pourra le lancer le script.

Perso, je préfère activer l'attribut d'exécution uniquement pour le propriétaire du script
en lançant la ligne de commande suivante :

chmod u+x /cheminQuonNeConnaitPas/monscript.sh

oui... je suis un peu bourrin avec mon chmod +x... je retiens ça et le réutiliserai
merci pour l'info

Hors ligne

#14 Le 30/06/2022, à 12:37

MicP

Re : Lancement d'un script dans un terminal via le clic droit

… je suis un peu bourrin …

Non, ce n'est pas du tout de ta faute, c'est plutôt la "faute" aux interfaces graphiques,
mais c'est logique, le but de ces interfaces est de faire au mieux pour simplifier les choses au maximum.

Hors ligne