[bug]couleur background non prise en compte

Asked by gerits aurelien on 2007-11-21

bonjour a tous, j'ai procéder a plus de 30 installation de ubuntu gutsy depuis sa sortie.
J'ai remarquer un bug non critique mais plutôt contraignant si vous êtes comme moi un écervelé d'un beau système.
En fait lorsque vous souhaitez implémenter un écran de démarrage et que vous changer la couleur de fond principale afin que celui-ci soit en harmonie avec l'image choisie vous n'aurez que la couleur de base (beige) jusqu'à arriver a votre bureau.
Donc en gros la couleur choisie n'est pas prise en compte.
j'ai donc remplacer /etc/gdm/PreSession/Default par celui-ci :

#!/bin/sh
#
# Note that output goes into the .xsession-errors file for easy debugging
#
PATH="/usr/bin:$PATH:/bin:/usr/bin"
OLD_IFS=$IFS

gdmwhich () {
  COMMAND="$1"
  OUTPUT=
  IFS=:
  for dir in $PATH
  do
    if test -x "$dir/$COMMAND" ; then
      if test "x$OUTPUT" = "x" ; then
        OUTPUT="$dir/$COMMAND"
      fi
    fi
  done
  IFS=$OLD_IFS
  echo "$OUTPUT"
}

# Set background color
XSETROOT=`gdmwhich xsetroot`
if [ "x$XSETROOT" != "x" ] ; then

    CHECKBACKCOLOR="OK"
    if [ "x$GDM_GREETER_TYPE" = "xTHEMED" ]; then
        BACKCOLOR=`gdmflexiserver -a --command="GET_CONFIG greeter/GraphicalThemedColor $DISPLAY"`

        CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
        if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
            BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
        else
            BACKCOLOR=""
        fi
    fi

    # If we tried to load the themed backgroundcolor, but failed, then try loading plain color
    if [ "x$CHECKBACKCOLOR" != "xOK" ] || [ "x$GDM_GREETER_TYPE" = "xPLAIN" ]; then

        # Background type can be 0=None, 1=Image & Color, 2=Color, or 3=Image
        BACKTYPE=`gdmflexiserver -a --command="GET_CONFIG greeter/BackgroundType $DISPLAY"`

        # Skip if background type does not include a color
        if [ "x$BACKTYPE" = "xOK 1" ] || [ "x$BACKTYPE" = "xOK 2" ]; then
            BACKCOLOR=`gdmflexiserver -a --command="GET_CONFIG greeter/BackgroundColor $DISPLAY"`

            CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'`
            if [ "x$CHECKBACKCOLOR" = "xOK" ]; then
                BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'`
            else
                BACKCOLOR=""
            fi
        fi
    fi

    # Default value
     if [ "x$BACKCOLOR" = "x" ]; then
         BACKCOLOR="#dab082"
     fi

    "$XSETROOT" -cursor_name left_ptr -solid "$BACKCOLOR"
fi

exit 0
Le changement ne s'opère pas, j'ai donc remplacer
# Default value
     if [ "x$BACKCOLOR" = "x" ]; then
         BACKCOLOR="#dab082"
par # Default value
     if [ "x$BACKCOLOR" = "x" ]; then
         BACKCOLOR="x"
Ce qui bien entendu n'est pas très bon puisque la condition renvoi vers la couleur choisie si celle-ci ne fonctionna pas
Une idée pour corriger ce bug plus proprement

Question information

Language:
French Edit question
Status:
Solved
For:
Ubuntu Edit question
Assignee:
No assignee Edit question
Solved by:
Fabián Rodríguez
Solved:
2007-12-10
Last query:
2007-12-10
Last reply:
2007-12-10
Launchpad Janitor (janitor) said : #1

This question was expired because it remained in the 'Open' state without activity for the last 15 days.

Toujours aucune réponse sur le sujet déjà évoqué a mainte reprise;
Ce bug est tout aussi important qu'un autre mais aucune correction pour l'instant

Best Fabián Rodríguez (magicfab) said : #3

En fait c'est le bon endroit pour changer cette couleur, mais je vois plusieurs conditions qui annulent les effet de la condition antérieure. Un peu comme si on demandait au système, dans cet ordre:

if ...
  Couleur = bleu
fi
if ...
Couleur = rouge
fi
Couleur = blanc

Peut importe le résultat des deux premières conditions, la troisième assignation remplace le tout!

Je sugererais tester individuellemet les conditions dans un environnement à part (machine virtuelle) puis une fois chacune d'elles bien testées, vérifier l'ordre/ imbrication des conditions.

Vouis me conseillez d'installer ubuntu dans une machine virtuelle afin de tester mais que me conseillez-vous donc comme machine dans ubuntu .
Wubi ? ou autre chose
merci

Thanks Fabián Rodríguez, that solved my question.

Fabián Rodríguez (magicfab) said : #6

SVP ouvrez une nouvelle question dans Launchpad pour r'epondre a cette question. Merci!

En fait j'ai essayer de retourner le code dans tous les sens et rien n'y change ce bug persiste,
réécrire cette partie me semble la plus adapté en vu de meilleur condition