Root-Tail

Contenuti

Cos'è?

Root-Tail è una piccola utility che permette di mostrare sullo sfondo della vostra interfaccia grafica il contenuto di un file di testo. Poca cosa, potreste dire ma in realtà molto utile per monitarare cosa sta succeddento in ogni istante sulla nostra macchina.

I file sorgenti del programma sono liberamente scaricabili dal sito per la compilazione, oppure sotto forma di pacchetti per le opportune distribuzioni:

  • Debian:
# apt-get install root-tail
  • Gentoo:
# emerge root-tail

Installato, e adesso?

Una volta installato, il programma si lancia specificando il nome del file che si vuole visualizzare, per esempio il comando:

$ root-tail ~/foo

mostrerà sul nostro schermo il contenuto del file foo posizionato nella nostra home.
In realtà questo esempio iniziale è fin troppo banale e di poca utilità pratica: perché mai fare una roba simile? che vantaggi ne otteniamo?

In realtà root-tail consente di mostrare il contenuto dei file che rimangono aperti e di aggiornare in tempo reale quanto stampato a schermo: in questo modo possiamo dire al programma di mostrarci il contenuto dei file di log vigilando così in maniera costante sulle attività della nostra macchina.

Un file che potrebbe essere di interesse tenere sotto osservazione è /var/log/messages lanciamo quindi il programma...

$ root-tail /var/log/messages 
/var/log/messages: Permission denied

...e otteniamo un errore di permessi.

In realtà questo dipende dai permessi che, sulla macchina che state utilizzando, sono associati al file e quindi le istruzioni che seguono non vi riguardano se il comando non ha segnalato nessun errore.

Se così non fosse ci tocca risolvere questo problema: come fare? Una dei possibili rimedi consiste nell'utilizzare sudo per eseguire il comando come se fosse stato lanciato da root e ottenere in questo modo i permessi in lettura del file.
Per una completa descrizione del programma e di come editare il file /etc/sudoers si rimanda a questa pagina ma si raccomandano comunque un paio di cose:

  • Assicurarsi che in /etc/sudoers non sia presente la riga
Defaults       env_reset

Se lo è commentatela. E' responsabile del resent delle variabili d'ambiente e, se non omessa, impedirà al programma di trovare il display.

  • Ipotizzando che l'utente interessato a lanciare il comando sia pippo, in /etc/sudoers dobbiamo aggiungere la riga (o modificarla opportunamente se già presente):
pippo      ALL=NOPASSWD: /usr/bin/root-tail /var/log/messages
  • Per lanciare il programma digitare ora:
$ sudo /usr/bin/root-tail /var/log/messages

e ricordarsi di passare esattamente gli argomenti precisati nel file.

Il comando puo' anche essere messo all'interno di uno script da far partire all'avvio dell'interfaccia grafica, per esempio se si usa kde in ~/.kde/Autostart/

Opzioni

Vediamo ora qualche comoda opzione con cui il programma può essere lanciato. Badate che se si intende invocare il programma con altri argomenti bisognerà modificare di conseguenza anche /etc/sudoers (siamo ancora nell'ipotesi che il file che il nostro utente non disponga dei permessi in lettura per il fila d'interesse)

Innanzi tutto definiamo quanto dev'essere grande la regione dello schermo che sarà occupata dall'output e dove si collcherà. Questo viene eseguito tramite il parametro -g AAxBB+CC+DD dove:

  • AA rappresenta la larghezza della regione
  • BB rappresenta l'altezza
  • CC rappresenta la distanza orizzontale dal margine sinistro
  • DD rappresenta la distanza verticale dal margine superiore

Tutte le distanze sono espresse in pixel
Se per esempio indichiamo

-g 1000x200+10+520

Vogliamo che il nostro outputo sia generato in una regione larga 1000 pixel e alta 200 che sia spostata a destra di 10 pixel e verso il basso di 520.

In questa fase potrebbe anche esservi utile l'utilizzo dell'opzione -f che delinea l'area del deskdop che verrà occupata: cosi' facendo impostare comodamente la dimensione e la posizione per mezzo dell'opzione preceddente.

Un altro parametro consigliabile è --wordwrap che rende l'output più leggibile evitando che le parole vengano troncate quando si deve andare a capo.

Se si desidera un refresh più rapido si deve invece utilizzare --refresh s dove s è il numero di secondi che si vuole porre come intervallo tra un refresh e il successivo

E' inoltre possibile precisare il colore con cui si vuole che appaiano le scritte semplicemente aggiungendolo dopo il file desiderato. Se per esempio vogliamo che l'output del file fenga stampato in blu dovremo scrivere:

$ root-tail /var/log/messages,blue

Attenzione: se questa opzione viene utilizzata all'interno di /etc/sudoers sarà necessario anteporre alla virgola il carattere '\' per disambiguarlo dal carattere speciale utilizzaro all'interno del file di configurazione si sudo.

Problemi

Un problema che può sorgervi è quello di vedervi scomparire le icone del desktop, coperte dalle scritte di root-tail. In effetti questo è proprio ciò che fa il programma. Se pertanto siete soliti avere numerose icone per il vostro desktop non fatevi prendere dal panico se improvvisamente dovessero sparire, piuttosto scegliete accuratamente dove posizionare l'area dedicata all'output e le sue dimensioni.

Autore

Aladino