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.

#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 tongue
Autant utiliser un lanceur , surtout si c' est pour cliquer dessus big_smile
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 big_smile 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. roll
lol
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 tongue , 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. sad
hmm
donc je ne sais plus. roll

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)

jplemoine a écrit :

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. smile

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 smile
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