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 pensieri su “Colorare i messaggi degli script di init in Debian

  1. 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. 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. 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. @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. @felipe:
    Centrato in pieno ;-)
    Con – si indica cosa eliminare e con + quello da aggiungere…per questo si chima patch…

    Zidagar

Lascia un commento

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...