Journal script shell

Posté par  .
Étiquettes : aucune
0
17
mar.
2004
Ami Journal,

J'ai un portable (dalle 800x600) sous mdk 9.1 et un écran 15" (1024x768), et je me suis dit que ca serait cool de pouvoir profiter de l'écan si possible, et disposer enfin de bonnes conditions pour tous ces logiciels qui demandent plein de surface écran :-)

La problématique :
Parvenir à sélectionner automatiquement le bon écran au démarrage, soit le crt seul s'il est branché, soit le LCD seul, avec la bonne résolution.

Je dispose :

- des fichiers de config :
XF86Config-4.crt : testé avec l'écran 15" seul
XF86Config-4.lcd : ma config habituelle

- d'un programme qui m'indique si le crt est branché ou pas :
# atitvout detect
CRT is attached.
LCD is attached.

- du meme programme pour activer le lcd ou le crt au choix

Voici la solution que je me propose de mettre en place :

Rajouter un script maison dans /etc/rc.local qui détermine si l'écran crt est attaché ou pas et copie le bon XF86Config-4 dans /etc/X11.

Je n'y connais que très peu en script shell (en fait rien), mais à ton avis, c'est faisable ? Je suppose qu'il y a toutes les commandes qu'il faut pour tester la sortie d'un programme, même sur plusieurs lignes et tout ? Le etc/rc.local est bien lancé avant le serveur X ?

Merci d'avance :-)
  • # Re: script shell

    Posté par  . Évalué à 2.

    #!/bin/sh
    crt="/etc/X11/XF86Config.crt"
    lcdl="/etc/X11/XF86Config.lcd"
    target="/etc/X11/XF86Config"
    commande = "atitvout detect"

    if $commande | grep "CRT is" ; then
    cp $crt $target
    else
    cp $lcd $target
    fi

    tu mets ceci dans un script (ne pas oublier de le rendre executable) rc.screen et tu appel le script depuis rc.local

    Je trolle dès quand ça parle business, sécurité et sciences sociales

    • [^] # Re: script shell

      Posté par  (site web personnel) . Évalué à 2.

      un lien symbolique au lieu d'un cp, ça serait pas mieux?
    • [^] # Re: script shell

      Posté par  (site web personnel) . Évalué à 2.

      marchera pas vu que dm est lancé avant local. Mais la mandrake utilise deja un system de profile XFree(cf plus bas)
    • [^] # Re: script shell

      Posté par  . Évalué à 1.

      Merci pour ton aide, je n'en attendais pas tant :-) Je pense que je peux partir de ce script, en plus je comprends ce qu'il fait :-)

      Mais sur Mandrake, les commandes style cp, mv, etc. demandent une confirmation. C'est le cas aussi dans les scripts ou seulement en ligne de commande ?
      • [^] # Re: script shell

        Posté par  . Évalué à 2.

        mandrake mets des alias sur certaines commandes shell*, par exemple du est "aliassé" (que c'est laid) en du -h. Pour ne pas avoir ces problèmes, tu peux appeler directement le binaire avec son chemin complet, donc dans ton cas:

        /bin/cp $crt $target

        * ça a surpris pas mal de mandrakiens qui ont installé d'autres distribs par la suite ("tiens, rm *.gz ne me demande pas confirmation ?")
  • # Re: script shell

    Posté par  (site web personnel) . Évalué à 3.

    cat /etc/rc.sysinit | tail -n 10

    # (pixel) a kind of profile for XF86Config
    # if no XFree=XXX given on kernel command-line, restore XF86Config.standard
    for i in XF86Config XF86Config-4; do
    if [ -L "/etc/X11/$i" ]; then
    XFree=`sed -n 's/.*XFree=\(\w*\).*/\1/p' /proc/cmdline`
    [ -n "$XFree" ] || XFree=standard
    [ -r "/etc/X11/$i.$XFree" ] && ln -sf "$i.$XFree" "/etc/X11/$i"
    fi
    done

    en modifiant le rc.sysinit? :)
    • [^] # Re: script shell

      Posté par  . Évalué à 1.

      Pfiou, je ne comprends pas grand chose à ce script ! Le seul commentaire parle d'un paramètre qui serait donné au démarrage, je veux bien le croire, mais ca ne m'aide pas beaucoup :-)

      Mais je peux ajouter le lancement d'un script perso au début de celui-ci (sans toucher autre chose), non ?

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.