#1 Le 21/05/2023, à 17:51
- herveD
Comment fermer le terminal après lancement d'un programme (résolu)
Bonjour
J'ai fait un script pour lancer une application dans un mode particulier.
L'appli s'ouvre bien mais le terminal reste ouvert.
#!/bin/bash
tagspaces -P
Comment le fermer après le lancement. Il me semble un jour avoir cvu que cela était possible
Dernière modification par herveD (Le 23/05/2023, à 09:05)
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#2 Le 21/05/2023, à 17:57
- jplemoine
Re : Comment fermer le terminal après lancement d'un programme (résolu)
De mémoire, il faut faire suivre la commande par & et/ou faire précéder par nohup.
Donc, un truc du genre :
#!/bin/bash
nohup tagspaces -P &
exit (si nécessaire ?)
Sinon, la fermeture du processus père (le terminal) va arrêter le processus fils (tagspaces)
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#3 Le 21/05/2023, à 18:03
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
merci d'avoir essayé :-) mais le lancement ne se fait plus (avec ou sans exit no nohup)
J'oubliai de dire que tagspace est une appimage, je ne sais pas si cela change quelque chose ?
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#4 Le 21/05/2023, à 18:09
- Compte supprimé
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Avec byobu, on peut lancer une commande qui se poursuivra après la fermeture du terminal.
#5 Le 21/05/2023, à 18:20
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
#!/bin/bash
tagspaces -P & disown
kill -9 $PPID
100% pur bash.
Dernière modification par Watael (Le 21/05/2023, à 18:25)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 21/05/2023, à 18:25
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Je préfère bien sûr la simplicité pur bash mais cela ne fonctionne pas.
Je vois le terminal s'entrouvrir puis se refermer et du coup tagspace ne s'exécute pas !
J'ai trouvé https://doc.ubuntu-fr.org/byobu mais pas sûr que cela me correspond.
Je me demande si c'est possible avec une appmage ?
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#7 Le 21/05/2023, à 18:26
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
j'ai édité pour ajouter un kill
testé avec firefox, ça semble bien tuer le processus parent (soit le terminal)...
Dernière modification par Watael (Le 21/05/2023, à 18:27)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 21/05/2023, à 18:28
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
mais si ton but est de faire un raccourci sur le bureau, il y a d'autres moyens, que je ne connais pas puisque je n'ai pas de bureau.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 21/05/2023, à 18:34
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Je me suis trompé, ce n'est pas une appimage (en fait c'est un 2ème cas que j'aimerais réaliser pour ne pas avoir plusieurs fenêtres de cmd).
Là il s'agit d'un .deb installé :
dpkg -i tagspaces-pro-linux-amd64.deb
Après normalement il suffit d'ajoutter -P
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#10 Le 21/05/2023, à 21:39
- jplemoine
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Tu as bien mis le & à la fin ?
Si oui, mets
read a
Ca peut permettra de voir le retour du lancement. Un appui sur la touche <entrée> devrait fermer le terminal.
Si ça c'est bon, met un
sleep N
Et tu testes différentes valeurs de N : pour faire simple, c'est un nombre de secondes
Il faut peut être un temps pour que l'appli se lance avant de fermer le terminal.
Membre de l'ALDIL (Association Lyonnaise pour le Développement de l'Informatique Libre)
- En pro, après 20 ans de développement, administrateur Linux / Unix depuis Avril 2019.
- En privé, sous Ubuntu-Xubuntu depuis 2009.
Déconnecté jusqu’à nouvel ordre
Hors ligne
#11 Le 21/05/2023, à 21:44
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Je me suis trompé, ce n'est pas une appimage (en fait c'est un 2ème cas que j'aimerais réaliser pour ne pas avoir plusieurs fenêtres de cmd).
Là il s'agit d'un .deb installé :dpkg -i tagspaces-pro-linux-amd64.deb
Après normalement il suffit d'ajoutter -P
Bonjour , la commande que tu donnes sert a installé un logiciel , pas a le lancer ... forcément si il est deja installé , ca ne va rien faire de spécial .
dpkg option -i , veut dire installer =>
man dpkg
ACTIONS
-i, --install package-file...
Install the package. If --recursive or -R option is specified, package-file must refer to a directory
instead.
Dernière modification par iznobe (Le 21/05/2023, à 21:55)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#12 Le 21/05/2023, à 21:48
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
@jplemoine
Je pars de ta suggestion:
#!/bin/bash
nohup tagspaces -P &
read a
sleep 1
Au lancement la fenêtre de l'appli et du terminal s'ouvre, mais ne se ferme pas
Si je tape sleep1 dans le terminal cela ferme tout
@iznobe
Ca je le savais, je ne sais pas pourquoi jai fais ce copier/coller mais c'était juste que j'avai revu que ce n'est pas une appimage (même si cela m'intéresse après pour une autre appli de ce type)
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#13 Le 21/05/2023, à 21:52
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
tu ne m'as pas répondu à la question que je n'ai pas posée explicitement : pourquoi faire un script ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 21/05/2023, à 22:00
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
si la commande qui permet de lancer ce logiciel est bien :
tagspaces , alors la commande suivante devrait faire l' affaire ( voire sans l ' option -P ):
tagspaces -P & exit
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#15 Le 21/05/2023, à 22:05
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
@iznobe
La doc de tagspaces me demande d'utiliser -P pour lancer la version portable (sans être une appimage)
@Watael
Pour lancer en 1 clic la commande portable
Et pour l'appimage qu'est qui devrait fonctionner car cal fait pas mal de variantes
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#16 Le 21/05/2023, à 22:08
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
La doc de tagspaces me demande d'utiliser -P pour lancer la version portable (sans être une appimage)
dejà repondu dans mon message precedent .
pour un fichier appimage , la meme commande que ci-dessus , mais en remplacant par le chemin complet , par exemple :
/home/$USER/AppImages/mon_app_image & exit
Dernière modification par iznobe (Le 21/05/2023, à 22:09)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#17 Le 21/05/2023, à 22:08
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
exit va fermer le script, pas le terminal.
pour fermer le terminal, c'est le parent du script qu'il faut tuer, puisque le parent du script c'est le terminal.
ou alors, il faudrait taper :
$ nomDuScript & disown; exit
(ou en plus POSIX: nohup nomDuScript & exit)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#18 Le 21/05/2023, à 22:10
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
je viens de tester avec gnome calculator , aucun probleme , la calculatrice reste ouverte et le terminal se ferme bien . pas eu besoin d' ajouter nohup ou autre chose . sinon je ne l' aurais pas indiqué .
Dernière modification par iznobe (Le 21/05/2023, à 22:12)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#19 Le 21/05/2023, à 22:10
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
@Watael
Pour lancer en 1 clic la commande portable
donc, tu veux créer un lanceur, pas un script !
=> https://doc.ubuntu-fr.org/raccourci-lanceur
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#20 Le 21/05/2023, à 22:13
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
@Watael , si j ' ai bien compris non , c ' est en fait au sujet de l' option -P ( qui signifie version portable ) .
mais je pense qu ' a ce niveau là , Watael a raison , si tu veux cliquer , c ' est mieux de faire un lanceur .
plutôt qu ' un script avec la commande , qui fonctionne , que je t ' ai indiquée .
Dernière modification par iznobe (Le 21/05/2023, à 22:17)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#21 Le 21/05/2023, à 22:19
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Wahoo je n'arrive plus à suivre
Effectivement rien ne fonctionne pour moi avec exit. Cela ferme tout de suite. Peut-être cela vient de mon chemin du disque externe si cela fonctionne chez vous ?
/media/rv/donnees/monApp.AppImage -P & exit
J'aurai aimé une commande car sinon avec le lanceur cela rend dépendant de mon ordi actuel , ce n'est plus portable . non?
Bon sinon j'explore la piste du lanceur au moins pour cet ordi demain car je ne pensais pas autant galéré
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#22 Le 21/05/2023, à 22:22
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
et celle ci ne lance pas ton logiciel tagspaces , puis ferme le terminal ?
tagspaces -P & exit
je viens d' essayer avec handbrake , avec avidemux , avec transmission aucun soucis en tapant la commande directement dans le terminal . je vois donc pas trop ce qui empêcherait de mettre ca dans un script .
c ' est une application graphique " tagspaces " ?
Dernière modification par iznobe (Le 21/05/2023, à 22:27)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#23 Le 21/05/2023, à 22:25
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
@iznobe
Non idem,
Bon je décroche
Merci pour le temps passé
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#24 Le 21/05/2023, à 22:38
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
essaie ca alors :
shopt -s globstar && tagspaces -P & sleep 2; exit
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#25 Le 21/05/2023, à 22:41
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
exit termine le shell.
le shell d'un script, c'est le script, pas le terminal.
j'ouvre un terminal (xterm) - le shell, c'est le terminal - exit dans le terminal termine le terminal.
j'exécute un script dans le terminal ouvert ($ monScript) - le shell, c'est le script - exit dans le script termine le script. une fois le script terminé, le terminal reste ouvert.
dans un script
commande & exit
la commande est passée en arrière plan, et on atteint le exit, qui termine le script, sans attendre la fin de commande.
le terminal ne reçoit pas le exit, il reste donc ouvert.
pour terminer le terminal depuis le script qui y est exécuté, il faut tuer le parent du script, et le parent d'un script exécuté dans un terminal, c'est le terminal.
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne