J'étais en train de faire le tour de mes scripts X, et je désire les peaufiner un peu, mais après plusieurs essais, je ne parviens pas au résultat attendu.
En fait, le principe est simple : j'apprécie l'idée d'ouvrir ce qu'on veut dans un serveur graphique, et donc parfois je préfère ouvrir un programme seul dans un serveur X, plutôt que de devoir lancer le bureau et tout ce qui va avec. Donc mes scripts sont très petits et ne font rien d'extraordinaire, mais c'est toujours bon à prendre.
Pour l'instant, j'ai fait ceci est ça fonctionne parfaitement :
Code : Tout sélectionner
#!/bin/bash
tty=$(tty | cut -c 9-10)
Xorg :$tty vt$tty -ac -terminate &
DISPLAY=:$tty mon_programme
reset
archey3
Le problème est quand il y a plusieurs processus d'ouvert, là il m'est impossible de terminer correctement le script, je dois quitter Xorg à la barbare (Ctrl+Alt+Backspace) :
Code : Tout sélectionner
#!/bin/bash
tty=$(tty | cut -c 9-10)
Xorg :$tty vt$tty -ac -terminate &
DISPLAY=:$tty openbox &
DISPLAY=:$tty xscreensaver &
DISPLAY=:$tty mon_programme
reset
archey3
Mais là, dès qu'on ferme mon_programme, le serveur graphique continue de tourner.
Le problème, c'est que je ne peux pas utiliser killall, car c'est trop simple et ça risque de terminer plusieurs PID qui se cachent derrière un seul nom de processus, alors que je cherche qu'à en fermer un.
Je ne sais pas qu'est-ce que je suis censé écrire, pour que dès que je ferme mon_programme, le serveur X se ferme et que le script se termine. Un test ? Ou plus compliquer, arriver à récupérer les bons PID ? Ou peut-être que c'est juste ma structure qui ne va pas ?
Merci d'avance.