Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Fermeture de session à partir d'un script bash schell
Envoyé par: yok

BONJOUR

Sur un poste en libre service - MANDRIVA 2006 - KDE 3.4.

Je désirerais fermer la session directement à partir d'un script shell.

Quelle est la meilleure solution ??


MERCI

Yok

Poste le Monday 5 February 2007 13:51:20
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: thefakir

heuuu, logout???

Poste le Monday 5 February 2007 14:00:28
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

C'est la 1ère chose que j'ai fait, bien sûr. mais ca ne marche pas.
ni logout, ni exit
il répond : logout not login shell, use exit.


Poste le Monday 5 February 2007 15:25:50
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell

ca doit dépendre du window manager, mais on pourrait le tuer par un killall; ou bien redemarrer le service gdm.

----

Basile STARYNKEVITCH

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

Projet logiciel libre: RefPerSys

Poste le Monday 5 February 2007 15:33:50
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: oudoubah

kill -TERM $(pstree -Ap $(whoami) | head -n 1 | cut -d')' -f 1 | cut -d'(' -f 2)

Cela demandera de tuer gentillement (signal TERM et non KILL) le premier processus de ton utilisateur, le processus de logon.

Attention, si ton utilisateur est connecté 2 fois, cela tuera uniquement sa première session!

On peut apporter quelques modifs pour ne tuer que l'utilisateur qui lance le script.

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Monday 5 February 2007 16:23:50
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

Alors là.... CHAPEAU

Ca marche..
J'suis mort de rire.
Quand j'ai vu la commande, j'ai dit : Si ca marche, je me coupe les .......!!!!
Donc maintenant ....

Ceci dit, c'est logique, mais n'étant pas encore habitué aux scripts, j'aurais mise des heures voir des jours pour trouver. que de temps de gagner

Cette commande étant dans un script, et suivant une autre commande qui lance, firefox, j'ai mis unx WAIT 3 entre les 2 lignes, car cela ne fonctionnait que 3 fois sur 5. Sans trop savoir pourquoi.

Encore MERCI beaucoup.

Yok


Poste le Monday 5 February 2007 17:14:39
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

Coucou... me revoilà.....

J'ai parlé un peu vite.

En fait ca marche 2 fois sur 5. Pourquoi?? je ne sais pas.

Si on quitte firefox 5' ou 10' après qu'il soit lancé, cela marche. mais si on change de site plusieurs et que l'on reste plus lontemps, cela ne marche pas.
le script ne ferme pas la session.
J'ai essaye de mettre un wait entre les 2 lignes, mais cela ne change rien

Mon script a 2 lignes. il se trouve dans /home/invite/.kde/autostart

/home/invite/firefox/firefox
kill -TERM $(pstree -Ap $(whoami) | head -n 1 | cut -d')' -f 1 | cut -d'(' -f 2)

HELP

MERCI

Poste le Tuesday 6 February 2007 10:12:01
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: oudoubah

Que donne un pstree -Ap username lorsque firefox est lancé?
Ca permettra d'affiner un peu la recherche. Ma première commande était un peu brute de fonderie ;-)

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 6 February 2007 11:57:43
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

Voilà. C'est un peu long
v2@ORD0018 ~]$ pstree -Ap inv2
dcopserver(26927)
gam_server(26509)
gconfd-2(26481)
kaccess(26937)
kded(26932)
kdeinit(26923)-+-kio_file(26974)
|-kio_file(27121)
|-kio_file(27146)
|-kio_fulltext(27148)
|-kio_metainfo(27147)
|-kio_thumbnail(27122)
|-kio_thumbnail(27149)
|-klauncher(26929)
|-konsole(27015)---bash(27016)---pstree(27150)
|-kwin(26959)
`-xsettings-kde(26968)
kdesktop(26961)
startkde(26799)-+-kwrapper(26954)
|-mdkapplet(26861)
`-startkde(26901)---gnome-volume-ma(26902)
kicker(26966)
kmix(26970)
knotify(26940)
konqueror(27120)---sh(27123)---firefox(27124)---run-mozilla.sh(27127)---firefox+
korgac(26971)
krandrtray(26981)
ksmserver(26956)
s2u(26893)
[inv2@ORD0018 ~]$

Poste le Tuesday 6 February 2007 13:01:01
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: oudoubah

tu peux essayer

#!/bin/sh

pid=$$
# On détache le processus. Son papa est maintenant init
disown $pid

# Pour chaque processus nous appartenant autre que ce script
for processus in $(ps aux | grep $(whoami) | awk '{print $2}' | grep -v $pid) ; do
     # Si ce processus existe, on lui demande gentiement de se terminer
     [ -d /proc/$processus ] && kill -TERM $processus
done

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 6 February 2007 13:31:48
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

Suite aux premiers tests, ca à l'air de marcher à tout les coups.

Je vais pousser les tests un peu plus loin.
( Et essayer de bien comprendre le fonctionnement en détail du script.)

D'ores et déjà MERCI beaucoup.

Je confirmerai, un peu plus tard, le fonctionnement à tout les coups.

Encore MERCI pour cete aide très précieuse

Amicalement
Yok



Poste le Tuesday 6 February 2007 14:40:40
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: oudoubah

s/gentiement/gentillement/

L'inconvénient de ce script : si tu es root, tu vas également envoyer un signal TERM au système.

Tu peux éviter cela en rajoutant tout au début :
[ $(id -u) -eq 0 ] && exit 1
(Si tu es root, alors, on ne fait pas la suite).

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Poste le Tuesday 6 February 2007 15:57:28
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

OK
Je vais rajouter cela en mettant des commentaires
Mais en principe, ce ne sera jamais root.

Je vais quand me garder la ligne de script. Ca pourra toujours servir

MERCI encore

Yok

Poste le Tuesday 6 February 2007 17:08:08
Répondre     Citer    
Re: Fermeture de session à partir d’un script bash shell
Envoyé par: nicola

Nan, c’est gentiment. Firefox confirme. :-))

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Poste le Tuesday 6 February 2007 19:05:58
Répondre     Citer    
Re: Fermeture de session à partir d'un script bash schell
Envoyé par: yok

smiling smileysmiling smiley

Ca fonctionne pile poil à tous les coups

MERCI TOUT PLEIN BEAUCOUP

Yok

Poste le Thursday 8 February 2007 09:24:54
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Fermeture de session à partir d'un script bash schell
Un problème avec une commande du shell ? Comment utiliser la crontab ? Vous avez des soucis pour la gestion réseau sous Linux ? Pour vous la gestion des utilisateurs/groupes est du chinois ? Etc... Posez donc vos questions ici.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons