Menu Chiudi

Colorare i messaggi degli script di init in Debian

Questa è una semplice segnalazione a qualcosa che non ho in programma di provare (almeno non nell’immediato). Viene direttamente dal blog di Nico Golde, che spiega come fare per ottenere messaggi d’avvio “carini” come in Fedora, Gentoo e Ubuntu, basta applicare questa patch:

      --- init-functions      2007-01-21 04:54:18.000000000 +0100
      +++ /lib/lsb/init-functions     2007-04-15 21:24:55.000000000 +0200
      @@ -247,12 +247,18 @@ log_end_msg () {
           # Only do the fancy stuff if we have an appropriate terminal
           # and if /usr is already mounted
           if log_use_fancy_output; then
      -        RED=`$TPUT setaf 1`
      -        NORMAL=`$TPUT op`
      +        COLS=$($TPUT cols)
      +        COL=$(($COLS-8))
      +        UP=$($TPUT cuu1)
      +        END=$($TPUT hpa $COL)
      +        START=$($TPUT hpa 0)
      +        RED=$($TPUT setaf 1)
      +        NORMAL=$($TPUT op)
      +        GREEN=$($TPUT setaf 2)
               if [ $1 -eq 0 ]; then
      -            echo "."
      +            echo "$UP$END[ ${GREEN}ok${NORMAL} ]"
               else
      -            /bin/echo -e " ${RED}failed!${NORMAL}"
      +            /bin/echo -e "$UP$START $RED*$NORMAL$END[ ${RED}fail${NORMAL} ]"
               fi
           else
              if [ $1 -eq 0 ]; then

La patch deve ovviamente essere applicata al file /lib/lsb/init-functions. Qualcuno potrebbe confermare il funzionamento? Credo che ci sia bisogno di “attivare” esplicitamente l’output formattato in maniera carina.

9 commenti

  1. lerrigatto

    sulla mia debian sid non funziona…
    purtroppo non ho i log del boot e non posso dirti l’errore preciso cmq dice che c’è un errore di sintassi, qualcosa del tipo che la funzione non è chiusa; ho provato a metterci una graffa infondo (che effettivamente manca) ma non serve a nulla.
    Peccato, sarebbe stato molto carino

    Ciao Ciao

    lerrigatto

  2. zidagar

    Ciao Felipe…confermo il funzionamento sulla mia Debian sid/experimental.
    In linea di massima va bene anche se probabilmente ci farò qualche modifica…

    Grazie della segnalazione

    Zidagar

  3. RollsAppleTree

    non so come funzioni il sistema di “echo” all’interno degli init script delle distro diverse dalle 3 da te citate (in realtà conosco solo quelli di Gentoo … :D) ma sono sicuro che per visualizzare lo stile “carino” di cui parliamo bisogna fare così:

    1) importare “/sbin/function.sh” con un “source /sbin/function.sh” in testa al file di init che si vuol visualizzare in maniera carina;

    2) sostituire le occorrenze di “echo” (o similia) con i varii “ebegin” etc etc …

    molto utile anche se si fanno scriptini bash… la resa è veramente nice!!! :D

  4. felipe

    @Antonio:
    Conosci il funzionamento di una patch? La parte importante è quella centrale con tutte le linee che cominciano per “-” e “+”, il resto dovrebbe essere già nel file che vai a modificare.

    Se ho detto una stronzata correggetemi, non ho una debian a disposizione :)

  5. zidagar

    @felipe:
    Centrato in pieno ;-)
    Con – si indica cosa eliminare e con + quello da aggiungere…per questo si chima patch…

    Zidagar

Rispondi

%d
Vai alla barra degli strumenti