Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 22/08/2011, 15h46   #1
Membre régulier
 
Avatar de Goldocrack
 
Inscription : novembre 2002
Messages : 120
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2002
Messages : 120
Points : 83
Points : 83
Par défaut exit (logout) dans un bash

Bonjour à tous,

Je cherche, sans résultat jusqu'à présent, à fermer ma session à partir d'un script bash.

Concrètement, je me connecte avec un autologin et un programme se lance par défaut. Quand des conditions sont réunies, je souhaite fermer ma session (avec X lancé), ce qui doit avoir pour effet de fermer proprement les programmes et logiquement relancer automatiquement ma session avec l'autologin.

Le problème c'est que je ne trouve pas comment fermer proprement ma session.

J'ai fait certains tests en faisant un kill mais parfois cela plante en restant connement sur le tty1.

Merci de votre aide.
__________________
  • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
  • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
  • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.

et ne sont pas des options...
Goldocrack est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 16h02   #2
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
Bonjour,

regarde du côté de exec
...
?

c'est préconisé dans les .xinitrc
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 16h27   #3
Membre régulier
 
Avatar de Goldocrack
 
Inscription : novembre 2002
Messages : 120
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2002
Messages : 120
Points : 83
Points : 83
Si j'exécute

rien ne se passe.

Si je fais une vérification avec

ou
Le script m'indique un " not login shell: use 'exit' "

Vois-tu comment je peux m'en sortir ?
__________________
  • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
  • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
  • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.

et ne sont pas des options...
Goldocrack est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 16h44   #4
Expert Confirmé Sénior
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 2 070
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 2 070
Points : 4 153
Points : 4 153
je pensais plutôt à exec ce_qui_tient_lieu_de WM.

j'avance dans le noir.

ce sujet fait suite à un autre ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 17h28   #5
Membre régulier
 
Avatar de Goldocrack
 
Inscription : novembre 2002
Messages : 120
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2002
Messages : 120
Points : 83
Points : 83
Alors pour plus de précisions :

Mon système démarre normalement, jusqu'en init 5. Il y a juste un autologin sur la console tty1 sur un user particulier.
Dans cette session, des programmes se lancent tout seul (et potentiellement se ferment pour se re-ouvrir), je ne peux donc pas conditionner la fermeture de la session à la fermeture de ce programme.

Je voulais pouvoir appeler un script qui fermerai la session proprement, ce qui aurait pour effet, automatiquement de relancer la session si c'est dans le bon tty1.

Manuellement (et comme un cochon), je me place dans la console tty1, je fais un CTRL+C pour tuer X11 (en fait plusieurs car il fait une erreur -15) puis un CTRL+D pour le logout. A partir de là, la session repart comme il faut.

A distance je ne peux pas taper ces commandes ^^, je souhaite donc un script (idem pour une tache cron pour jouerai le rôle de watchdog par ex.)

Pour l'instant la méthode que j'utilise est de tuer (kill) mon serveur X puis tuer tout ce qui est rattaché de près ou de loin au tty1. C'est très violent mais ça marche... dans la plupart des cas.
Dans certains cas, le serveur X ne se coupe pas totalement et le kill des tty1 n'a pas l'action escompté de couper totalement la session, donc de ne pas la relancer.

J'espère avoir apporté des précisions utiles (et non, ce n'est pas la suite d'un autre sujet, sinon j'aurais mis le lien)
__________________
  • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
  • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
  • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.

et ne sont pas des options...
Goldocrack est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 18h26   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Ton autologin il est bien activé avec un DM (Display Manager), KDM, GDM ou XDM, non ?

Donc en relançant celui-ci ça ne le ferait pas ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 18h30   #7
Membre régulier
 
Avatar de Goldocrack
 
Inscription : novembre 2002
Messages : 120
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2002
Messages : 120
Points : 83
Points : 83
Citation:
Envoyé par zipe31 Voir le message
Ton autologin il est bien activé avec un DM (...) Donc en relançant celui-ci ça ne le ferait pas ?
Justement, comment puis-je, avec un script, arrêter proprement mon DM (à voir si je dois complètement délogguer ensuite) pour que l'autologin joue son rôle ?
Aujourd'hui je le kille comme un porc.
__________________
  • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
  • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
  • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.

et ne sont pas des options...
Goldocrack est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 22/08/2011, 18h41   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Un simple ?dm restart (ou kdm ou gdm à adapter) ne ferait pas l'affaire ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 12/09/2011, 13h58   #9
Membre régulier
 
Avatar de Goldocrack
 
Inscription : novembre 2002
Messages : 120
Détails du profil
Informations personnelles :
Âge : 28

Informations forums :
Inscription : novembre 2002
Messages : 120
Points : 83
Points : 83
Réponse en retard mais réponse quand même :

après de nombreux tests, il a fallu que je fasse un mélange de stopper mon serveur X ET redémarrer mon service de session.

Merci pour ta réponse.
__________________
  • Un langage de programmation est censé être une façon conventionnelle de donner des ordres à un ordinateur. Il n'est pas censé être obscur, bizarre et plein de pièges subtils (ça ce sont les attributs de la magie). [Dave Small]
  • Un programme c'est un sort que l'on jette à un ordinateur et qui se transforme en messages d'erreur.
  • Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse.

et ne sont pas des options...
Goldocrack est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h43.


 
 
 
 
Partenaires

Hébergement Web