arréter le serveur X d'une machine distante

Bonjour a tous,

J’ai un media center qui tourne sur une debian stable. Lorsque je veux démarrer sa session graphique je me connecte dessus en ssh et je lance cette commande : nohup startx > /home/snake57/xorgout.txt &
Cela fonctionne parfaitement bien.

Mais ce que j’aimerais faire c’est d’arrêter la session X et ceci toujours via une connexion SSH.

Je pensais qu’en faisant un “init 3” ça allait fonctionner mais non.

Je me demande donc si il y’a une manière propre d’arrêter une session X via la ligne de commande?

Si tu le lances via startx, tu dois avoir un fichier ~/.xinitrc ou ~/.Xsession (à défaut /etc/Xsession ??) qui doit se finir par :

Donc en quittant ton gestionnaire de fenêtres, ta session X devra se fermer. Selon le gestionnaire que tu utilises, il existe peut-être une commande pour le quitter. Sinon, tu peux le tuer avec kill(1) ou killall(1).

Il y a bien /etc/init.d/kdm stop (ou gdm, ou autre) mais je ne suis pas sûr que ça ferme totalement X :017

[quote=“kna”]Si tu le lances via startx, tu dois avoir un fichier ~/.xinitrc ou ~/.Xsession (à défaut /etc/Xsession ??) qui doit se finir par :
Code:
exec /chemin/vers/ton/gestionnaire/de/fenêtres[/quote]
Je n’ai aucun de ces 3 fichiers.

De toute manière vu que je ne lance pas ma connexion via gdm ou kdm mais via la ligne de commande, je ne peux arrêter ni gdm ni kdm puisqu’ils n’existent pas.

Pour info des fois que ça puisse aider. Lorsque je lance mon startx, c’est xfce que je lance.

[quote=“snake57”][quote=“kna”]Si tu le lances via startx, tu dois avoir un fichier ~/.xinitrc ou ~/.Xsession (à défaut /etc/Xsession ??) qui doit se finir par :
Code:
exec /chemin/vers/ton/gestionnaire/de/fenêtres[/quote]
Je n’ai aucun de ces 3 fichiers.[/quote]
C’est parce que c’est /etc/X11/Xsession

Sinon, tu peux aussi fermer la session de l’utilisateur qui a lancé X.

Normalement tu es en init 2 sur debian. RedHat/Fedora respectent plus la coutume Unix de lancer les sessions graphiques en init 5 (ça a peut être changer depuis e ne connais apas assez ces disrtib). Pour connaitre ton niveau d’init tape “runlevel”

Sinon la commande propre pour tuer un process est “[p]kill”, le signal -15 est “SIGTERM” qui demande au process de s’arrêter proprement/normalement, le -9 est bien plus violent et ne demande pas l’avis du process pour le tuer. Appeler sans argument “kill” envoi un -15 par défaut, donc la commande suivant est encore la manière la plus propre d’arrêter ton serveur X.

La différence entre “kill” et “pkill” est que le premier demande le numéro de process alors que le second accepte un paterne de nom de process. “killall” peut aussi être intéressante à utiliser.