Script : faire un script pour changer de XF86Config-4 - Linux et OS Alternatifs
Marsh Posté le 06-03-2004 à 18:07:21
euh... pourquoi n'utilises tu pas les layouts de XF ?
Tu definis differents layouts dans un seul fichier XF86Config puis tu lances startx en specifiant le nom du layout :
startx -- -layout NomDuLayout
Enfin bref :
man startx
man XF86Config
Marsh Posté le 06-03-2004 à 18:10:28
kahyman a écrit : euh... pourquoi n'utilises tu pas les layouts de XF ? |
je regarde ça.
Merci.
Marsh Posté le 06-03-2004 à 18:15:04
hermes le messager a écrit : |
La piste est intéressante, mais je n'ai pas de man pour le XF86Config-4 malheureusement...
Comment tu définis des layouts au sein de XF86Config-4 ?
Et puis autre chose : ma principale préoccupation, c'est de pouvoir générer une fin de session, un arrêt de X et un redémarrage de X de toutes manières... Est-ce "bashable" ?
Marsh Posté le 06-03-2004 à 18:21:44
man XF86Config
et pas
man XF86Config-4
(il suffisait de faire un copy paste des commandes que je t'ai donnees)
Pour le "bashable" tout l'est... il suffit de savoir ce que tu veux faire et comment.
Marsh Posté le 06-03-2004 à 18:24:01
Tiens, je viens de trouver ça dans le man de XF86Config :
Citation : Les sections ServerLayout ont un haut niveau de priorité. Elles permet- |
Super explication, vraiment limpide... Pas un exemple d'utilisation, aucun renseignement pour avoir un serverlayout par defaut (pour le premier démarrage de X), vraiment génial...
Finalement, je crois que je vais rester avec ma solution du "bête" et "stupîde" remplacement du XF86Config-4.
Moi ce qui m'intéresse VRAIMENT, c'est comprendre comment on fait pour "basher" un arrêt de la session en cours, un arrêt de X et un redémarrage de X.
PAS MOYEN de trouver ça nulle part, ça fait 2 semaines que je fouille de temps à autre...
Marsh Posté le 06-03-2004 à 18:25:56
kahyman a écrit : |
Je sais EXACTEMENT ce que je veux faire, ça aucun doute et c'est d'ailleurs parfaitement expliqué dans mon premier post.
Mon gros problème se situe au niveau de l'arrêt et du redémarrage de X, condition essentielle pour faire prendre en compte à nouveau le XF86Config-4
PS : Au fait, merci de prendre le temps de me répondre.
Marsh Posté le 06-03-2004 à 18:36:25
C'est si dur que ça d'arrêter la session en cours, d'arrêter X, et de le redémarrer
Marsh Posté le 06-03-2004 à 18:45:16
Essaye deja ça :
startx -- -help
et tu trouveras par exemple cette option bien pratique :
-xf86config file specify a configuration file, relative to the
XF86Config search path, only root can use absolute
Sinon, un truc pas mal c'est de mettre plusieures section Screen dans le fichier de config et d'utiliser l'option -screen nomduscreen pour choisir laquelle utiliser
Marsh Posté le 06-03-2004 à 18:45:51
hermes le messager a écrit : T |
Sans vouloir sembler chiant (mais la je suis extenue donc de mauvais poil donc desole d'avance) :
Tu cherches comment ? Tu es alle voir le chapitre ServerLayout du man en question ? Il y a tous les exemples que tu veux. Indice : il faut scroller jusque tout en bas du man en question juste avant la section DRI.
De plus tes server layouts et devices correspondants tu les as deja dans tes differents fichiers de config, il faut que tu les mette dans le meme fichier a la suite en nommant chaque layout differement et en utilisant les bons devices. (Je me demande vraiment si tu as lu ne serait-ce qu'une fois le man en entier ou meme lu tes fichiers de config)
Pour le bash, il est ou ton probleme ? Pour commencer fais un :
man sh (ou bash ou csh ou ton shell prefere)
et fais des essais ensuite on pourra t'aider
Marsh Posté le 06-03-2004 à 18:47:05
Il n'est pas nécessaire d'arrêter le démon dm ou de refaire un startx explicitement. La configuration de X est rechargée à chaque fois qu'on retourne dans le gdm/kdm... pour entrer son login et mot de passe.
J'ai un script qui ne fait que changer lien /etc/X11/XF86Config vers le fichier de configuration qui m'interesse (je trouve ca plus simple que de copier des fichiers ou de faire des startx avec des Layout différents). Et pour que la conf soit prise en compte il suffit de se déconnecter et de se reconnecter sans quitter X (c-a-d juste clore la session gnome).
Marsh Posté le 06-03-2004 à 18:50:07
hermes le messager a écrit : C'est si dur que ça d'arrêter la session en cours, d'arrêter X, et de le redémarrer |
Non, mais si tu utilises un DM ce n'est pas vraiment pour changer de ficheir de config... D'ou l'utilite de startx.
Tu peux p.ex. mettre dans ton fichier .login un script d'invitation qui te propose de lancer automatiquement X avec le layout 1, avec le layout 2... ou de rester en console.
Mais as tu essaye de faire quoi que ce soit ? Essais/erreurs c'est comme ca que l'on apprend.
Marsh Posté le 06-03-2004 à 18:59:47
kahyman a écrit : |
Déjà fait.
Citation : |
Heu du calme hein... Mes 4 fichiers XF86Config-4, c'est moi qui les ai fait. Donc je suis pas si nul que ça, même si je suis sous Linux depuis 4 mois seulement. D'ailleurs, sur un autre forum, j'ai fourni mes propres fichiers à des gens qui gallèrent comme des fous pour pouvoir regarder la TV...
Citation : Pour le bash, il est ou ton probleme ? Pour commencer fais un : |
man sh ne renvoie rien, man bash renvoit un truc super gros et indigeste que j'ai commencé à étudier sérieusement... Le seul truc, c'est que j'aimerais bien pouvoir changer de configuration graphique avant 1 mois ou 2.
Putain, mais ça veut dire quoi ça ??
Si tu connais pas la réponse, tu dis, je connais pas la réponse, et si tu la connais, eh ben donne là. Si c'est trop compliqué ou même impossible à faire, dis-le, tu vas pas en crever quand même...
Je débute, je peux pas tout savoir, je suis déjà hyper disposer à m'instruire tant qu'il faut, j'ai mangé XHTML, CSS, JS, PHP, MySQL, du JAVA, et j'en passe, le tout sur mon temps libre (je suis pas informatitien), je continue à apprendre tous les jours, mais je peux pas manger des docs de 200 pages à chaque problème, surtout si le problème est simple (j'en sais rien, peut être qu'il est compliqué, mais c'est pas ce que tu dis).
L'autre truc que je comprends pas, c'est pourquoi tu veux absolument que j'utilise les serverlayout. Ok, c'est sans doute mieux, mais ça ne va surement pas répondre à ma question qui ELLE me servira et pas SEULEMENT pour cette histoire de XF86Config-4
Perso, je trouve utile de savoir comment "basher" ou "SHecher" un arrêt de la session et un off/on de X.
Marsh Posté le 06-03-2004 à 19:06:06
kahyman a écrit : |
C'est quoi un DM ? un demon ?
Citation : Tu peux p.ex. mettre dans ton fichier .login un script d'invitation qui te propose de lancer automatiquement X avec le layout 1, avec le layout 2... ou de rester en console. |
Ah, là déjà, c'est peutêtre plus intéressant. Mais moi ce qui m'intéressait, c'était VRAIMENT l'automatisation de ce que j'ai décrit au dessus.
J'aimerais qu'en cliquant sur un bouton, je puisse direct avoir mon écran avec la TV ou sans etc...
Evidemment, pour que ce soit intéressant, il faut pouvoir le faire AUSSI quand la session est déjà lancée.
Je suis d'ailleurs TRES TRES surpris de voir qu'il n'existe aucun programme ou script pour pouvoir le faire, c'est quand même le béa-ba de pouvoir changer sa résolution graphique sans trifouiller dans un fichier texte. C'est l'une dernières choses qui place Linux hors de portée des débutants (comme je l'avais déjà souligné).
Si j'arrive à réaliser ce que je veux, ça pourrait être avantageusement distribué ensuite, parce que c'est un manque EVIDENT sous Linux.
Citation : |
Là, je dis stop :
Tu regardes ici :
http://www.z-art.org/test6/index-image.html
Et tu vois si je suis le genre de mec à attendre que tout lui tombe du ciel hein...
Marsh Posté le 06-03-2004 à 19:14:34
Kristoph a écrit : Essaye deja ça : |
J'étais passé à côté de ce message.
En effet, mais il y a bcp de choses qui dépendent aussi de device, en particulier les rafraichissements et également le mode clone par exemple.
C'est pourquoi effectivement faire plusieurs server layout est mieux.
mais ça ne répond PAS DU TOUT à ma question.
Que je fasse mal, ou plutôt maladroitement mon changement de résolution, ok, c'est sans doute vrai, mais de toutes manières, pour prendre en compte un changement du XF86Config-4, ce sera TOUJOURS au lancement de X si j'ai bien compris.
Il faut donc que j'aprenne à arrêter la session + X ou au moins X, et à redémarrer. J'imagine que je peux pas faire un service dm stop à "chaud" en étant encore dans ma session ??
Elle est LA ma question.
Marsh Posté le 06-03-2004 à 19:23:07
Y a ptet quelque chose à gratter ici :
http://www.bisente.com/programas/gquickres/indexe.html
Marsh Posté le 06-03-2004 à 19:24:42
void_ppc a écrit : Y a ptet quelque chose à gratter ici : |
Merci bcp Malheureusement, ça ne marche qu'avec Gnome et j'ai KDE.
Marsh Posté le 06-03-2004 à 19:35:08
Trouvé sur kde-france.org :
Citation : |
ça a l'air vachement simple en effet...
Marsh Posté le 06-03-2004 à 19:41:51
hermes le messager a écrit : |
Ce que tu veux faire ca n'est pas simple comme changer la résolution (d'ailleur pour ca il suffit de faire alt/ctrl + ou -) mais c'est changer la configuration de la carte graphique pour qu'elle prenne en compte la sortie TV et y affiche quelque chose qui est soit le double de ton CRT, soit une extension de ton écran.
C'est pour ca que ca n'est pas possible à chaud sans quitter sa session et relancer X. En tout cas pas avec les drivers qui existent aujourd'hui (même ceux de nvidia).
Marsh Posté le 06-03-2004 à 19:43:59
LoninoL a écrit : |
Merci bcp de cette réponse CLAIRE.
Donc, la seule question que je dois me poser est bien celle que je n'arrête pas de répéter :
est-ce qu'il est possible de scripter un changement de session + arrêt de X + redémarrage de X ?
Marsh Posté le 06-03-2004 à 19:45:13
hermes le messager a écrit : |
vu que le programme sera le fils du processus X, si tu tue X tu tue le programme
Marsh Posté le 06-03-2004 à 19:47:15
void_ppc a écrit : |
C'est ce qu'il m'avait semblé comprendre. Donc, en réalité, il est impossible de scripter, d'automatiser complêtement ce que je veux faire.
Le "mieux" que je puisse faire, c'est une question au démarrage de la session pour savoir si j'utilise telle ou telle config par exemple ? Qu'est-ce que vous en pensez ?
Marsh Posté le 06-03-2004 à 19:49:43
void_ppc a écrit : |
Peut-être qu'un petit nohup peut aider
Le problème c'est que si tu ferme ta session, tu ferme les programmes en cours, donc sa revient à se delogger et à se relogger.
Marsh Posté le 06-03-2004 à 19:50:50
LoninoL a écrit : |
Vi, je laisse tomber l'automatisation complête pour me concenter sur un questionnaire au moment où je me logue pour la session.
Facile à faire ?
Marsh Posté le 06-03-2004 à 19:51:06
vu ce que je connait de X, oui
Y a ptet un signal à lui envoyer, genre un SIGHUP, pour lui dire de relire sa conf ? (donc si ca marche il suffirait de changer de fichier de conf, et de lui envoyer le signal pour qu'il prenne en compte la nouvelle configuration)
Mais en cherchant un peu ca n'a pas l'air d'être possible
Marsh Posté le 06-03-2004 à 19:51:58
hermes le messager a écrit : |
Ca c'est tout a fait possible par contre ca ne résoud qu'a moitié ton problème car si tu dois redémarrer pour changer de configuration c'est pire que de clore sa session et relancer X
Marsh Posté le 06-03-2004 à 19:52:24
je pense à un truc : faire un prog qui lance X (donc X est fils de ce programme), et envoyer un signal à ce programme pour qu'il relance X, relisant ainsi la conf qu'on aura échangé juste avant.
Théoriquement ca m'a l'air bon nan ?
Marsh Posté le 06-03-2004 à 19:57:07
void_ppc a écrit : je pense à un truc : faire un prog qui lance X (donc X est fils de ce programme), et envoyer un signal à ce programme pour qu'il relance X, relisant ainsi la conf qu'on aura échangé juste avant. |
nohup ca sert à ca, ca attache processus que tu lance au processus pere de tous les processus. Si tu fais "nohup xterm &" dans un shell, tu peux le fermer, ton nouveau process n'en dépend pas.
Marsh Posté le 06-03-2004 à 19:57:08
void_ppc a écrit : je pense à un truc : faire un prog qui lance X (donc X est fils de ce programme), et envoyer un signal à ce programme pour qu'il relance X, relisant ainsi la conf qu'on aura échangé juste avant. |
houla... Là je suis surement pas assez compétent encore pour pouvoir le faire. Déjà, faut que je me remette au C/C++, ensuite je ne connais pas suffisamment Linux et son fonctionnement interne (La preuve d'ailleurs avec les questions que je pose. )
Je laisse répondre les spécialistes à ta question. Mais "en toute logique", pourquoi pas.
Marsh Posté le 06-03-2004 à 20:03:57
kahyman a écrit : |
Au fait pour la route, sachant que j'ai un peu été pris pour un con...
Ben apparemment, tout n'a pas l'air de l'être... (je prend quand même mes précautions en employant le conditionnel)...
Marsh Posté le 06-03-2004 à 20:05:46
Kristoph a écrit : Essaye deja ça : |
Au fait, merci bcp pour ça, ça va me simplifier terriblement la vie.
Marsh Posté le 06-03-2004 à 20:59:03
hermes le messager a écrit : |
Je vais essayer de faire un truc cette nuit en rentrant
edit : tu as quelle distri ? et quel est le chemin/nom précis duXF86Config ?
Marsh Posté le 06-03-2004 à 20:59:26
LoninoL a écrit : |
badquote
Marsh Posté le 06-03-2004 à 21:08:42
void_ppc a écrit : |
J'ai une mandrake 9.1.
Chemin : /etc/X11/XF86Config-4 (et non XF86Config seul )
Mais si tu es intéressé de le faire, c'est très cool d'autant que ça va servir sans aucun doute à bcp de monde , mais je ne demande pas ça non plus.
Marsh Posté le 06-03-2004 à 21:10:24
déjà je vais faire un truc vite fait voir si le principe est bon
Marsh Posté le 06-03-2004 à 21:12:25
void_ppc a écrit : déjà je vais faire un truc vite fait voir si le principe est bon |
Cool, ma copine va être contente de pouvoir matter les DVD sur la TV sans mon aide.
Marsh Posté le 07-03-2004 à 10:44:02
Bon alors voilà le mieux que j'ai réussi à faire :
un script sh qui demande une autentification en tant que root, change le XF86Config-4 et fait un service dm stop.
Ensuite, ya juste à se reloguer en se déconnectant.
J'ai fait 3 chtis boutons dans la barre des taches pour mes différentes config et ça roule.
J'ai juste un startx à faire, c'est pas la mort.
Marsh Posté le 07-03-2004 à 12:40:33
bon bah j'arrive pas, problème avec les pid
ca marche en faisant des system(kill) mais c'est très crade.
pour ton script tu pourrais regarder du côté de sudo, ca te permettrai d'éviter de taper le pass root
Marsh Posté le 07-03-2004 à 13:02:30
void_ppc a écrit : bon bah j'arrive pas, problème avec les pid |
merci je regarde ça
Marsh Posté le 06-03-2004 à 17:27:07
Voilà le plan :
J'ai 4 XF86Config-4 soigneusement rangés dans 4 dossiers différents.
Le 1 : CRT avec accélération NVIDIA.
Le 2 : double CRT.
Le 3 : CRT + TV avec TV se comportant comme un 2° CRT (agrandissement du bureau).
Le 4 : CRT + TV avec TV clone du CRT.
Je voudrais faire en sorte de pouvoir CHANGER de configuration en cliquant sur un bouton correspondant à un fichier BASH.
Pour le moment, voilà ce que je dois faire à la main :
Ouvrir une console.
su
password
cd /home/hermes/config-X (qui contient mes 4 dossiers).
cd tvout (pour le 4° choix : TV comme clone du CRT).
cp XF86Config-4 /etc/X11/ (pour remplacer l'ancien XF86Config-4).
confirmer le remplacement en appuyant sur o + entrée.
Ctrl + Alt + F1
exit
root
password
service dm stop
exit
hermes
password
startx
Et là, c'est bon, mon nouveau XF86Config-4 est chargé.
Comment "BASCHER" tout ça ? Est-ce possible ?