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 24/11/2021, à 14:29

Q7frkz

Script qui se lance mais qui ne s'éteint pas

Salut à vous,
cette question fait suite à celle-ci:
https://forum.ubuntu-fr.org/viewtopic.php?id=2068384
elle même faisant suite à celle-ci:
https://forum.ubuntu-fr.org/viewtopic.php?id=2067528

Une icone sur mon bureau lance mon script qui lance gnome-terminal dans lequel il lance un serveur, puis crée un nouvel onglet dans lequel il lance mon application python tel que:

ihm.Desktop

[Desktop Entry]
Type=Application
Name=IHM
GenericName=launchGui
Icon=.../.../.../icone_drone.png
Exec=.../.../.../launchGui.sh
Terminal=True

script

#!/bin/bash -ic
cd /home/.../Documents/Sources/LaunchGUI
source /home/.../.../setup.bash
gnome-terminal --tab -- bash -c "./LaunchGui & gnome-terminal --tab -- bash \"/opt/ros/melodic/bin/roscore; exec bash\" exec bash"

Dorénavaent ceci marche mais qu'une seule.
Quand je dois redémarrer mon application je fais ctrl-C dans les deux onglets je ferme la fenêtre et si je reclic sur ,on icone cela ne se relance pas.
De plus, si je vais dans htop, je vois ma commande qui tourne toujours, je ne peux pas la sigterm mais je peux la sigkill.
Et je ne peux, dans tous les cas, la relancer. Je peux par contre la relancer manuellement sans problème, j'ouvre un terminal, je lance le serveur, j'ouvre un autre terminal, je lance mon app et tout va bien...


Une idée ?
Merci beaucoup de me faire profiter de vos lumières

Hors ligne

#2 Le 24/11/2021, à 14:39

Tawal

Re : Script qui se lance mais qui ne s'éteint pas

Hello,

C'est le script qui ouvre le terminal (et l'onglet supplémentaire), pas toi.
Donc tant que ces terminaux ne sont pas fermés, le script n'est pas terminé.


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#3 Le 24/11/2021, à 14:40

Q7frkz

Re : Script qui se lance mais qui ne s'éteint pas

Tawal a écrit :

Hello,

C'est le script qui ouvre le terminal (et l'onglet supplémentaire), pas toi.
Donc tant que ces terminaux ne sont pas fermés, le script n'est pas terminé.

Je ne peux pas les fermer tu dis ?
j'ai une fenêtre avec deux onglets, je fais ctrl-C dans chacun d'eux puis je ferme la fenêtre
ce n'est pas suffisant ?

et sinon, après l'avoir fermé (via htop), pourquoi je ne peux pas le relancer ?

Dernière modification par Q7frkz (Le 24/11/2021, à 14:41)

Hors ligne

#4 Le 24/11/2021, à 16:12

kamaris

Re : Script qui se lance mais qui ne s'éteint pas

Pourquoi mettre

#!/bin/bash -ic

?
Ça lance un shell interactif, ce qui change beaucoup de choses et n'a pas beaucoup de sens.
Mets simplement

#!/bin/bash

, et tu peux aussi enlever les exec dans la ligne de commande gnome-terminal.

Hors ligne

#5 Le 25/11/2021, à 08:54

Q7frkz

Re : Script qui se lance mais qui ne s'éteint pas

kamaris a écrit :

Pourquoi mettre

#!/bin/bash -ic

?
Ça lance un shell interactif, ce qui change beaucoup de choses et n'a pas beaucoup de sens.
Mets simplement

#!/bin/bash

, et tu peux aussi enlever les exec dans la ligne de commande gnome-terminal.

c'est ce que j'ai découvert la dernière fois (https://forum.ubuntu-fr.org/viewtopic.php?id=2067528), sans le "i", ma solution se lance mais ne fonctionne pas bien. Elle se connecte au server mais avec plein de bugs.

Dernière modification par Q7frkz (Le 25/11/2021, à 08:54)

Hors ligne

#6 Le 25/11/2021, à 14:11

Q7frkz

Re : Script qui se lance mais qui ne s'éteint pas

Bon c'est vraiment un enfer de trouver quelqu'un qui a un soucis qui ressemble au mien donc j'ai un peu triché.
Via Terminator je peux créer un profil avec un layout puis je peux donner une commande à chaque terminal dans une fenêtre, c'est beaucoup plus simple et ca fonctionne presque.

J'ai toujours un soucis avec des variables d'environnement je pense, d'où le -ic  d'avant mais là je ne m'en sers plus car je n'ai plus de script ou disons qu'il se résume à

terminator -p IHM -l IHM

néanmoins je lance mon 3e terminal en commençant par source.bashrc, ce qui ne change rien.

donc avant de faire mon

subprocess.popen(command, shell=True)

je print mon environnement et en effet il manque la moitié des variables.
c'est chiant ..............
Tout ca pour avoir un raccourci sur le bureau hmm
Je continue à chercher

Dernière modification par Q7frkz (Le 25/11/2021, à 14:12)

Hors ligne

#7 Le 26/11/2021, à 22:31

kamaris

Re : Script qui se lance mais qui ne s'éteint pas

Sourcer un fichier ne suffit pas à faire des variables qu'il contient des variables d'environnement.
Il faut exporter ces variables.

Hors ligne

#8 Le 29/11/2021, à 16:23

Q7frkz

Re : Script qui se lance mais qui ne s'éteint pas

kamaris a écrit :

Sourcer un fichier ne suffit pas à faire des variables qu'il contient des variables d'environnement.
Il faut exporter ces variables.

en effet je viens de découvrir cela.
ca améliore mais c'est pas encore ca (du moins ya énormément de variables d'environnement donc à moi de trouver celle qui manque)

je vois bien que si je compare l'environnement à celui d'un terminal basique, il manque des choses ne serait-ce que LS_COLORS, mais toutes celles qui touchent à ma solution ont l'air d'être là, depuis le

export ROS_PACKAGE_PATH

, ma solution se lance et fonctionne mais persiste quelques gros bug, comment charger tout l'environnement de base sans distinction ? Car si je lance sans  mon icone sous le bureau tout marche très bien hmm

Dernière modification par Q7frkz (Le 29/11/2021, à 16:28)

Hors ligne

#9 Le 29/11/2021, à 18:26

kamaris

Re : Script qui se lance mais qui ne s'éteint pas

Il n'y a pas d'« environnement de base ».
Un programme doit savoir ce qu'il lui faut comme environnement, et sortir en erreur dès le départ si les conditions pour son bon fonctionnement ne sont pas réunies.

Q7frkz a écrit :

du moins ya énormément de variables d'environnement donc à moi de trouver celle qui manque

C'est bien ça qu'il faut faire smile

Hors ligne