#26 Le 21/05/2023, à 22:42
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
c'est censé faire quoi, ou vérifier quoi globstar ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#27 Le 21/05/2023, à 22:52
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
as tu testé de lancer une application graphique ( comme gnome-calculator par exemple ) , avec la commande suivante :
gnome-calculator & exit
chez moi cela fonctionne tres bien avec toutes les applications graphiques , je me suis donc dis que si ca ne fonctionne pas chez les autres , c' est qu ' il y a une difference .
la seule différence notable que je me rapelle c ' est d ' avoir activé :
shopt -s globstar
je n' ai pas testé la commande que j' ai proposé dans un script .
d' ailleurs je n' ai pas écrit de shebang , c ' est juste une commande simple qui permet de faire ce qui est demandé dans le titre .
Dernière modification par iznobe (Le 21/05/2023, à 22:56)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#28 Le 21/05/2023, à 22:54
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
mais tu mets ça dans un script ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#29 Le 21/05/2023, à 22:56
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
non , puisque c' est une commande .
un " exit " dans un script , termine le script . comme tu l' as précisé avant . on est tout a fait d' accord sur ce point là .
Apres quand même , faut avouer qu ' écrire un script , pour juste lancer une appli et fermer le terminal , c' est quand même pas terrible si
Autant utiliser un lanceur , surtout si c' est pour cliquer dessus
sinon , la commande que je donne fait aussi l' affaire . et c ' est quand même bien plus simple qu ' un script non ? et facile a retenir quand meme ...
D' ailleurs , même toi , tu en as déduis que , même si le demandeur avait fait un " script " , ce n' était pas la meilleure solution , et tu conseilles de passer par un lanceur ( a raison d' ailleurs ) .
la commande que je donne est une autre alternative et elle portable suffit de la retaper ou au pire de la copier / coller . si c' est trop fatiguant .
Je suis quand meme pas le seul chez qui ce genre de commande fonctionne , j' ai teste sur la 23.04 ca fonctionne aussi .
Dernière modification par iznobe (Le 21/05/2023, à 23:08)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#30 Le 21/05/2023, à 23:04
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
le titre du sujet, c'est effectivement « fermer le terminal après lancement d'un programme »
mais puisque HerveD montre un shebang dans son code, il est bien question d'un script, qui doit fermer le terminal depuis lequel le script est lancé.
forcément que exit ferme le terminal dans le terminal.
et globstar n'y fera rien, tu aurais pu mettre n'importe quoi d'autre, puisque ça ne marche pas chez les autres.
mais on est d'accord, ça sert à rien; il y a des lanceurs pour ça.
Dernière modification par Watael (Le 21/05/2023, à 23:06)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#31 Le 21/05/2023, à 23:12
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
j ' avoue que le globstar , c ' etait au pif , mais le seul truc notable don je me souvienne qui pourrait différencier mon cas .
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#32 Le 21/05/2023, à 23:47
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
globstar, c'est pour descendre dans les sous-répertoires (avec la syntaxe **), et cette syntaxe n'apparaît pas dans ta commande, ce n'est donc pas ce qui fait la différence.
tiens ?! je viens de faire un test pour vérifier mes souvenirs, et en effet, mes souvenirs étaient incomplets : commande & exit termine le terminal et laisse la commande active.
le rôle de nohup et de disown est essentiel dans les TTY, où l'exit déconnecte l'utilisateur et ce qui entraîne la terminaison de tous ses processus (ce qui ne sera pas le cas avec nohup ou disown), ou dans un script.
Dernière modification par Watael (Le 21/05/2023, à 23:52)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#33 Le 22/05/2023, à 00:03
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
ah?! il y a un loup ! comme l'a indiqué HerveD, le script que j'ai proposé ne fonctionne plus chez moi, non plus : le programme se termine ne même temps que le terminal.
donc je ne sais plus.
edit:
je me souviens que les processus disowned étaient rattachés au PID 1 (c'est-à-dire à init)...
est-ce que ce comportement aurait pu être changé avec systemd ?
Dernière modification par Watael (Le 22/05/2023, à 00:46)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#34 Le 22/05/2023, à 05:18
- geole
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)
Exemples
a@b:~$ nohup firefox
nohup: les entrées sont ignorées et la sortie est ajoutée à 'nohup.out'
a@b:~$
a@b:~$ cat nohup.out
Gtk-Message: 06:15:31.122: Not loading module "atk-bridge": The functionality is provided by GTK natively. Please try to not load it.
a@b:~$
a@b:~$ nohup gedit titi.txt
nohup: les entrées sont ignorées et la sortie est ajoutée à 'nohup.out'
a@b:~$ lllll
lllll : commande introuvable
a@b:~$
Dernière modification par geole (Le 22/05/2023, à 05:21)
Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit, utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248
En ligne
#35 Le 22/05/2023, à 06:31
- Compte supprimé
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Bonjour,
On pourrait obtenir le même résultat que l'exemple précédent de la commande :
gnome-calculator & exit
en lançant la commande
gnome-calculator dans Byobu et en fermant la fenêtre Byobu tout de suite après. La calculatrice resterait affichée.
C'est surtout utile quand on accède à une machine en ssh pour, par exemple, lancer un update et upgrade. Dès que la commande est lancée, on peut fermer le terminal et la mise à jour se poursuit sur la machine distante.
Dernière modification par Compte supprimé (Le 22/05/2023, à 06:34)
#36 Le 22/05/2023, à 08:28
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Bonjour
J'ai testé la dernière commande suggérée
shopt -s globstar && tagspaces -P & sleep 2; exit
et cela ne fonctionne pas plus avec tagspace ou un appimage
Je m'aperçois que c'est plus compliqué d'après vos échanges.
Je vais regarder du côté des lanceurs mais désolé la doc est très dense avec me semble t-il parfois des données anciennes?
Si j'ai bien compris il faut créer un fichier desktop. Après je me demande si tagspace n'aurait pas un comportement standard. Désolé d'utiliser des applications bizarres ou ne n'êter pas montée en compétence.
Encore merci
En tout les cas, je surveille ce film mais si cela vient moins urgent depuis que je me suis aperçu qu'une auttre application (Mozilla VPN et probablement openVpn) ne fonctionnerait pas avec Ubuntu 23.04. Je me concentre là-dessus qui devient une vrai priorité
Ma config actuelle : Ubuntu 24.04 - 64b - INTEL NUC 11 PRO - https://clibre.eu/
Hors ligne
#37 Le 22/05/2023, à 18:58
- kamaris
Re : Comment fermer le terminal après lancement d'un programme (résolu)
sh -c 'set -m && tagspaces -P &'
Ensuite tu peux fermer ton terminal (donc rajouter exit après ça si tu veux).
Hors ligne
#38 Le 22/05/2023, à 20:22
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
j'ai demandé sur la liste de bash-help, il m'y a été dit que disown ne fonctionne que dans un shell de connexion avec le contrôle de tâche activé
donc :
#!/bin/bash -l
# bash -l ouvre bash en mode shell de connexion
set -m #active le contrôle de tâche
firefox -P & disown #maintenant, disown peut fonctionner
kill -9 $PPID
j'ai testé avec firefox, ça ne devrait pas ne pas fonctionner avec tagspaces.
je ne vais cependant pas me contredire : utiliser un lanceur serait bien préférable.
Dernière modification par Watael (Le 22/05/2023, à 20:24)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#39 Le 23/05/2023, à 09:04
- herveD
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Bonjour
@Watael
Ca fonctionne
Ok promis je mets "mettre en place un lanceur voire le lancer au démarrage de la session" sur ma liste des taches à faire car je n'ai pas trouvé le lien de la doc ubuntu simple.
Merci d'avoir pris ce temps
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
#40 Le 23/05/2023, à 09:10
- iznobe
Re : Comment fermer le terminal après lancement d'un programme (résolu)
Bonjour , @watael , juste un petit eclaircissement a propose de la ligne :
kill -9 $PPID
c ' est variable parent processus id ?
ca semble logique , mais comme je ne connaissais pas cette variable .
Dernière modification par iznobe (Le 23/05/2023, à 09:11)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#41 Le 23/05/2023, à 10:15
- Watael
Re : Comment fermer le terminal après lancement d'un programme (résolu)
c'est ça. Parent's Process ID
Dernière modification par Watael (Le 23/05/2023, à 10:15)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne