[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [linux] SuSE : 1 pinguoin pour 2 ordis



On Wed, Jul 11, 2001 at 10:38:34PM +0200, Jean-Marie Lambert wrote:

> > La config de la carte vid?o, c'est pour X ?

> Exactement.
> En fait je me demandais s'il y avait une possibilit? d'avoir 2
> configurations du serveur X qui pourraient ?tre choisies au
> d?marrage par une configuration "sp?ciale" de Lilo.

Par lilo, je ne sais pas, mais il y a surement moyen de bricoler un petit
script qui choisit une config ou l'autre suivant la carte vidéo en usage.

C'est juste une piste, hein, il y a surement mieux, je fais avec mes moyens :) :
- tu crées les deux fichiers XF86Config qu'il te faut en fonction de tes
cartes ;

- tu les places dans le répertoire ad hoc (/etc/X11 ou /etc selon,
respectivement, que tu as ou n'as pas un XFree >= 4.0), en les renommant p.ex.
XF86Config_NVidia et XF86Config_ATI ;

- tu écris / adapte un script comme celui en annexe qui va checker le modèle de
carte et faire un symlink dénommé 'XF86Config' sur le bon fichier de config, en
fonction du check ;

- X sera en kke sorte 'couillonné' par le symlink et devrait démarrer avec la
bonne config pour la bonne carte :)

J'ai testé le script sans faire imploser ma machine, et ça marche (je n'ai
qu'une carte).

Maintenant, fais qd même gaffe en l'exécutant (c'est sous root ...),
et en modifiant les noms de fichier pour tes ordis.

Tu dois aussi récupérer le type de ta carte (sur une des deux machines) en
lançant le grep dans une console et en faisant un copy/paste à la place de
la dénomination de la mienne (entre ""). 'Tention, la chaîne doit être
précise.

Pour être sur que ça marche, tu pourrais commenter les commandes
'dangeureuses' (rm -f et ln -s) et mettre à la place un echo "Ca marche :-)" /
echo "Ca merde :-(" dans le second if.

Ah oui, aussi, j'ai toujours un kernel 2.2.* (pour /proc, est-ce qu'il n'a
pas disparu sous 2.4.* ? Faudrait adapter aucazou :)

Prends *au moins* une copie de sécu de tes fichiers de config de X et fais
très très gaffe aux rm -f, sous root, dans /etc. C'est trois détails pour mettre
un beau boxon en cas de distraction :-p

-- 


J.-F. STRAETEN


---
Mutt 1.3.7i.
Powered by SuSE Linux 6.4


#!/bin/bash
#
# script permettant de démarrer X avec la bonne config. 
# Tu l'apelles appeler kke part au boot, p.ex. dans /sbin/init.d/boot.local (SuSE)
# ou bien tu pourrais même ajouter un 'startx &' à la fin et l'utiliser pour démarrer X.
# (Il faudra cependant changer les permissions des fichiers XF86Config_* pour pouvoir
# effacer le symlink en user. Je ne sais pas si c'est une bonne idée (?)
# ---------------
# on vire XF86Config (symlink sur le vrai fichier de config)
# (adaptes le chemin si XFree >= 4.0)

if [ -L /etc/XF86Config ]; then

    rm -f /etc/XF86Config

else

    # on sort si XF86Config n'est pas un symlink, pr ne rien bouziller
    exit 1

fi

# on récupère le modèle de carte dans une variable

card=$(grep 'VGA compatible controller' /proc/pci | cut -c 32-)

# on teste le contenu de la variable pour voir à quel carte on
# a affaire selon le principe empirique "Si c'est pas une, c'est l'autre" :)

if [ "$card" = "NVidia Unknown device (rev 21)." ]; then

    # fait le lien sur le fichier de config de la carte NVidia
    ln -s /etc/XF86Config_NVidia /etc/XF86Config

else
    
    # sinon, fait le sur le fichier de config de l'ATI
    ln -s /etc/XF86Config_ATI /etc/XF86Config

fi