GRASS Troubleshooting: ovvero come cavarsi dai principali impacci degli inizi...


I problemi che si incontrano quando si è alle prime armi con un software sono molti. Per ogni problematica specifica su singoli comandi (del tipo avete lanciato il comando r.vattelappesca e vi ha dato un errore n°78371647....) si rimanda al sito ufficiale di GRASS ed in particolar modo ai gruppi di discussione che si scambiano informazioni e risoluzioni di problemi (quindi non scrivete a noi chiedendoci di risolverveli ma imparate ad utilizzare le tante risorse disponibili!), mentre questo piccolo contributo intende affrontare solo i principali problemi nei quali, secondo la nostra ormai lunga esperienza di insegnamento con GRASS, l'utente inesperto tende inizialmente a cadere molto facilmente, specie se si tratta di un utente che è abituato soprattutto all'ambiente Windows e non ai Sistemi Operativi Unix like.
Si sottolinea che sarebbero molto graditi in tal senso contributi personali circa problemi incontrati e relative risoluzioni che potrebbero servire per arricchire il sito di informazioni ed a renderlo maggiormente utile ed esaustivo.

Un consiglio che vale soprattutto per gli utenti Windows prima di iniziare a mettere le mani su GRASS: tenete presente che dovete chiudere le finestre della console o dei vari menu e sottomenu solo quando i processi che avete lanciato sono giunti al termine altrimenti sperimenterete una serie di problemi, per cui cercate di lavorare all'inizio ponendo molta attenzione ai messaggi che compaiono nelle finestre ed evitate di chiudere troppo disinvoltamente le finestre che avete attivato finché non avete capito bene il significato delle operazioni che state facendo. Una volta imparati alcuni meccanismi tutto sarà molto più semplice, ma ci vuole un piccolo sforzo iniziale.

1) Facendo partire GRASS compare la scritta: "concurrent user not allowed" e GRASS non parte...
Sono possibili due casi:
a) Qualcun altro sta usando GRASS con lo stesso nome utente, collegato ad un altro terminale. Un utente può lanciare una sola istanza di GRASS.
b) All'uso precedente di GRASS la sessione non è stata chiusa correttamente. Prima di riavviare GRASS è necessario cancellare il file nascosto .gislock oppure .gislock5 nella propria home directory.
È necessario ricordarsi che quando si smette di lavorare si deve andare nel menu quit scegliere le opzioni desiderate ed accettarle. A questo punto si è chiusa l'interfaccia grafica a menu ma non il programma GRASS! Per chiudere GRASS si deve andare nella console dalla quale si è digitato grass5 e digitare exit. Solo adesso si è usciti da GRASS e si può chiudere la finestra della console. Uno degli errori tipici degli utenti è quello di chiudere la finestra della console senza avere digitato exit. All'avvio successivo di GRASS, il programma ritiene che un altro utente col vostro stesso nome lo stia già usando e non vi consente l'accesso.

2) Dopo aver avviato l'interfaccia grafica (tcltkgrass) non è più possibile usare il terminale per digitare comandi
Al momento dell'avio è necessario digitare tcltkgrass & (facendo quindi seguire a tcltkgrass il simbolo &). In questo modo il terminale resta disponibile.

3) Dopo aver zoomato nel terminale grafico quest'ultimo diventa nero e l'immagine non è più visibile...
Per versioni precedenti alla 5.beta10 è necessario rivisualizzare esplicitamente le mappe sul terminale.

4) Lanciando qualunque comando che coinvolge il terminale grafico il sistema risponde "monitor x... is in use by utente" (utente è il vostro nome utente)
Il terminale è bloccato da una precedente operazione non terminata (o comunque non terminata correttamente). Nell'ordine provare a:
a) terminare l'operazione precedente (attraverso la sua finestra di dialogo, con il tasto destro sul monitor ecc...).
b) "uccidere" il processo collegato al terminale: con ps -a |grep x si individua il processo (PID, numero nella prima colonna a sinistra) e lo si termina con kill -9 PID dove PID è il numero del processo.
c) fermare il processo come al punto precedente e cancellare manualmente i file di locking con il comando
rm /directorydoveèinstallatoGrass/locks/nomedelcomputer/*

5) Dopo aver lanciato alcune operazioni non appare alcun output
Tutte le operazioni che creano mappe non visualizzano automaticamente la mappa di output, è necessario visualizzarla esplicitamente con d.rast, d.vect, d.site ecc... Alcune operazioni che impiegano molto tempo sono portate a termine in background, l'utente riceve una e-mail ad operazione finita.

6) È stata richiesta l'elaborazione/visualizzazione di un file ma non viene elaborato/visualizzato nulla
Accertarsi che la regione sia impostata correttamente, ad esempio con Region -> Manage region adeguando la regione al file da elaborare/visualizzare.

7) Non è possibile trovare i dati che si è sicuri esistono
Controllare di avere impostato la location ed il mapset corretti e che i file e le directory abbiano i permessi di lettura/scrittura od esecuzione (per le directory) necessari.

8) Sulla macchina è impossibile aprire terminali grafici (monitor)
Controllare che la directory /directorydoveèinstallatoGrass/locks/nomedelcomputer sia eseguibile, scrivibile e leggibile da tutti (drwxrwxrwx).

9) Durante uno zoom il terminale grafico è scomparso ed è apparso il messaggio "EOF from graphic driver"
Il monitor grafico deve essere interamente visibile durante lo zoom. Riavviare il terminale e riprovare.

10) Non trovo il modo di salvare su file una vista 3D creata con d.3d ed in generale il contenuto del monitor
Vedi d.mon CELL.

11) Stavate lanciando i comandi da menu (ad es d.what.rast), vi è comparsa la relativa form, avete lanciato il comando ma ad un certo punto avete chiuso la finestra e non riuscite a riavviare quel comando oppure ad accedere al monitor.
Quando si lanciano dei comandi di GRASS da menu compaiono spesso dei sottomenu che contengono dei pulsanti la cui scritta e relativo colore cambiano a seconda dello stato del comando. Per esempio, in alcune finestre vi è un pulsante blu dove c'è scritto Run; una volta che si è cliccato diventa Stop rosso finché il processo lanciato è attivo e ritorna Run blu ad operazione terminata. Altre finestre invece, come per esempio quelle di output che vi indicano che tipo di informazioni sono presenti in un raster, (ad es. d.what.rast output) presentano una scritta blu nella parte alta della finestra Running quando il processo è attivo (e sta visualizzando le informazioni relative al punto in cui cliccate) che si trasforma in una scritta ancora blu Finished quando avete cliccato con il tasto del mouse che termina la consultazione (generalmente il destro).
Nei comandi nei quali si interagisce con monitor cliccando con il mouse è in genere necessario terminare le operazioni cliccando con il tasto destro del mouse nel monitor.
Non dovete chiudere le finestre cliccando sulla x in alto a destra se ci sono processi attivi associati a quella finestra. Se lo fate, a seconda del tipo di processo che avete fermato, può succedere che non riusciate a riavviare singoli comandi o ad accedere ai monitor.
Lanciando un comando qualsiasi questo rimane attivo anche dopo che avete chiuso la finestra dalla quale è stato avviato.

Un caso pratico: ipotizziamo di avere chiuso la finestra che forniva le informazioni contenute in un raster (d.what.rast) senza avere cliccato con il tasto destro sul monitor ed avere quindi fermato il processo di consultazione.
Qualsiasi operazione si voglia fare sul monitor corrente (per esempio cerco di visualizzare un file), darà sempre un messaggio di errore che afferma che il monitor attivo è utilizzato dall'utente "voistessi".
Un rimedio è quello di andare in una console e digitare ps -a questo comando vi consente di vedere tutti i processi in corso. Ad ogni processo corrisponde un numero (PID, numero nella prima colonna a sinistra). Nel nostro caso si deve cercare la riga corrispondente a d.what.rast e terminare il processo digitando kill -9 PID dove PID è il numero del processo; se si digita di nuovo ps -a si vedrà che il processo d.what.rast è scomparso ed il monitor è nuovamente disponibile. Se il monitor continua ad essere inutilizzabile si deve "uccidere" il processo collegato al terminale: con ps -a |grep x si individua il processo (PID, numero nella prima colonna a sinistra) e lo si termina con kill -9 PID dove PID è il numero del processo; se questo ancora non funziona fermare il processo come al punto precedente e cancellare manualmente i file di locking con il comando rm /directorydoveèinstallatoGrass/locks/nomedelcomputer/*

12) Avete scritto delle formule in r.mapcalc ma non ne vogliono sapere di funzionare
I nomi delle mappe non possono contenere simboli algebrici (compreso il -) che vengono interpretati come tali da r.mapcalc. Inoltre controllate se avete messo virgolette od altri simboli non richiesti, se avete messo degli spazi dove non servivano, se avete scritto i nomi dei file giusti... e riprovate.

13) Lanciando i comandi da console avete digitato il nome del file pippo ma GRASS non lo trova. Eppure avete verificato ed il nome è proprio pippo
L'ambiente in cui lavorate è case sensitive cioè fa differenza se scrivete maiuscolo o minuscolo, quindi scrivere Pippo oppure PIPPO oppure pippo o ancora pippO identifica i nomi di 4 file differenti. Dunque verificate il nome del file prima di scriverlo facendo un list quando consentito dai comandi oppure utilizzando un file manager.

14) Avete cercato di importare dei file e00 con m.in.e00 (o SHAPEfiles con v.in.shape) ma GRASS non li trova
Controllate di averli copiati nella directory giusta cioè la directory dalla quale avete lanciato GRASS, oppure fornire il path completo.

15) Avete realizzato una serie di mappe raster (pippo1, pippo2, pippo3) riclassificando con r.reclass la mappa pippo. Funzionano e va tutto bene ma ad un certo punto cercate di visualizzarle o di farci delle operazioni e non vanno più.
Probabilmente avete usato g.remove per cancellare i file di troppo ed avete eliminato anche il file pippo. I file riclassificati per funzionare hanno sempre bisogno del file originario, che se cancellato li rende invece inutilizzabili ed irrecuperabili.

16) State utilizzando dei dati elaborati da altri (oppure state esaminando dei dati vostri che non utilizzavate da tempo) e non capite il contenuto dei file cioè come sono stati ottenuti, se sono riclassificazioni o file originali oppure vorreste ricostruire le formule di r.mapcalc con i quali sono stati ottenuti.
Nella directory hist del mapset corrente trovate i file di testo nei quali è conservata la storia di ogni file. C'è scritto per esempio se il file pippo1 è una riclassificazione del file pippo oppure vi è riportata la formula di r.mapcalc che è servita per l'elaborazione di una mappa o ancora se un file vettoriale è stato realizzato importandolo da qualche formato di scambio. Si possono leggere i file con un editor di testo od usare il comando r.info.

17) Avete zoomato su una mappa ed adesso non riuscite a visualizzare la vista precedente.
La vista delle mappe in GRASS non è solo una vista ma è la regione di lavoro. Ogni volta che zoomate cambiate anche la regione che è l'area di lavoro. Se ci sono delle regioni che vi interessano particolarmente nel mapset in cui state lavorando (zoomate particolarmente significative oppure viste con risoluzioni particolari ecc.) il consiglio è quello di salvare dei file che contengano i dati della regione, file che possono essere caricati in qualsiasi momento per ripristinare la condizione di lavoro originaria vedi g.region opzioni 3 e 7.



Per informazioni riguardanti l'installazione di GRASS e altri problemi di utilizzo consultare le FAQ del sito ufficiale di GRASS.




TORNA ALL'INDICE DEL TUTORIAL




Università degli Studi di Trento - Facoltà di Ingegneria