• # Ma solution

    Posté par . En réponse au message Lancer une application sur un TTY distinct depuis un démon. Évalué à 1.

    J'ai trouvé une solution. Comme souvent conseillé, j'ai repensé ma manière de faire plutôt que de m'embarquer dans un montage trop difficile, avec writevt ou les signaux. Je l'écris ici en espérant que ça puisse servir à qqn d'autre…

    En fait, je suis repassé avec openvt. Mon script fait un appel à openvt sur un VT non encore initialisé avec getty, du genre tty8. Avec l'option -s, le basculement se fait automatiquement sur le nouveau tty qui affiche ma boîte de dialogue. Le résultat de cette boîte est enregistré dans un fichier temporaire.

    Comme openvt se ferme immédiatement sans attendre le retour de dialog, je mets une boucle while () juste après qui regarde toutes les secondes si le fichier temporaire en question existe bien et n'est pas vide. Une fois fait, je récupère la valeur de retour contennue dans le fichier temporaire, je rebascule avec chvt sur le tty originel et je désalloue avec deallocvt le tty dont je n'ai plus besoin.

    En fait, j'étais trop obstiné à vouloir utiliser une session déjà existante. Avec cette solution, même si je n'ai pas de session ouverte, je peux quand même interagir. Voilà.