Massimo Coppola - Laboratorio di Informatica III-C, A.A. 2001/2002

Laboratorio di Programmazione Concorrente, corso C

Questa è una lista di consigli ed avvisi per gli studenti riguardo la configurazione e l'uso dell'ambiente di programmazione Java sulle macchine del laboratorio. Pere ovvi motivi di tempo e spazio in generale non possiamo fornire istruzioni per ambienti diversi da quello ufficialmente stabilito. Per altre informazioni siete pregati di fare riferimento alla pagina ufficiale del corso o di contattare direttamente il docente.



Problemi riscontrati e soluzioni
Spazio su disco esaurito
Problemi di spazio - i core file.
Colori sbagliati su emacs
Il window manager non parte
Il window manager non parte - login in modalità testo
Aggiornamento dei file di configurazione utente
Documentazione in linea
Uso di JCSP su piattaforma windows
Emacs su piattaforma windows e tastiera italiana
Uso della directory ~/classes e problemi di compilazione


Problemi dovuti allo spazio disco: Controllate sempre la quota
Una percentuale non indifferente dei problemi di compilazione e di configurazione del sistema che si presentano all'inizio del corso derivano dall'avere esaurito la propria quota di utilizzo del file system. Verificate con il comando

quota -v
e fate spazio cancellando file che non servono più. Vi consigliamo di (1) controllare la dimensione della directory della posta, (2) cancellare i programmi compilati che non vi servono più (nel caso di Java, i file *.class), (3) cancellare i file core e di (4) archiviare i sorgenti che non vi servono piu' usando i comandi tar e gz (oppure zip).
Attenzione - 15 ottobre 2001. Oggi, a causa di un problema di sincronizzazione delle macchine del laboratorio con il file server delle home, le informazioni riportate dal comando quota non erano aggiornate. Dopo avere cancellato dei file il sistema funzionava regolarmente, anche se la quota era ancora apparentemente esaurita. I sistemisti hanno comunicato che il servizio quota è stato reinstallato e dovrebbe riprendere a funzionare regolarmente da questa notte.
Nel frattempo, oppure se non avete idea di quali file occupino spazio, potete utilizzare il comando
du -c ~
che elenca lo spazio occupato da tutte le sottodirectory della home, e il totale complessivo dello spazio occupato, usando un meccanismo indipendente dal funzionamento del servizio quota.


Problemi con Emacs per chi usa il window manager KDE
Il KDE ha una opzione per forzare le applicazioni non KDE ad usare font e colori impostati nel window manager. Questa opzione non consente la normale gestione dei colori ad emacs.
Per risolvere il problema aprite il pannello di controllo relativo, usando il menù Preferences -> Look and Feel -> Style, e disattivate il bottone che la attiva ( Apply KDE fonts & colors to non KDE applications ). Una volta eseguita l'operazione, dovete uscire dal window manager e ripetere il login affinché le nuove preferenze siano attivate.


Il window manager non parte
In alcuni casi sulle macchine installate di recente non si riesce ad attivare il window manager, al collegamento dopo pochi istanti si ripresenta la schermata di login.

  • Provate a richiedere esplicitamente Gnome o KDE del menù Sessions quando vi collegate.
  • In alcuni casi il problema dipende da una copia obsoleta del file .xsession nella vostra home, e può essere risolto cancellando o spostando il file.
  • Se avete un account attivo da più di un anno, è possibile che i vostri file di configurazione siano obsoleti rispetto alla configurazione attuale delle macchine. Consultate le informazioni per l'aggiornamento della configurazione dell'utente.
  • Il window manager può rifiutarsi di partire se avete esaurito la quota disco: fate spazio, se necessario collegandovi con un window manager differente o in modalità testo.


Documentazione in linea disponibile sui PC del laboratorio H
La documentazione in linea qui elencata è disponibile su tutti i PC del laboratorio H, ed è accessibile tramite un qualsiasi browser HTML. Il mio consiglio è di imparare ad utilizzarla mentre programmate, essa non può sostituire libri e dispense, ma è utilissima ad esempio per controllare rapidamente la sintassi di un metodo, il tipo dei parametri, o scoprire a quale package appartiene

Guida dell'utente del JDE - Come configurare l'ambiente di sviluppo java su emacs, aprire e scrivere file, e compilare.
     file:/usr/doc/jde-2.2.7.1/html/jde-ug/jde-ug.html

Guida alla API delle classi standard di Java
     file:/usr/share/doc/jdk-1.3.2/api/index.html

Guida alla API della libreria JCSP
     file:/usr/share/doc/jcsp-docs/index.html


Il window manager non parte - login in modalità testo
Se non riuscite a far partire il window manager in nessun modo (puo' dipendere dalla quota disco esaurita, oppure da file di configurazione obsoleti) collegatevi in modalita testo per poter controllare e risolvere il problema.

  • Premete CTRL ALT F1 contemporaneamente: appare una console virtuale in modalità testo.
  • Collegatevi usando il vostro login e password. Se non ci riuscite, qualcuno vi ha cambiato la password, oppure sul vostro account non è stato abilitato l'uso del laboratorio H.
  • Cercate di risolvere i problemi di spazio disco o di configurazione.
  • Ricordatevi di scollegarvi con logout.
  • Premete CTRL ALT F7 contemporaneamente per riportare il PC alla modalià grafica e verificate se riuscite a collegarvi. Su qualche macchina appare solo uno schermo nero, i tasti da premere in questo caso sono CTRL ALT F8.


I core file
Su UNIX i programmi che vengono interrotti o terminano per un errore interno provocano la scrittura di un file core nella directory corrente. Un file core è l'immagine della memoria allocata al processo UNIX al momento della sua terminazione. Se a bloccarsi è un programma di grosse dimensioni come il window manager, il file core relativo può esaurire la vostra quota disco.
Controllate sempre che non vi siano file core nella vostra home, ed eventualmente cancellateli.
Siete pregati di segnalare la presenza di file core di grosse dimensioni (4 - 5 megabyte) in modo che i sistemisti possano identificare un problema con il window manager che si presenta saltuariamente su alcune macchine.


Aggiornamento dei file di configurazione utente
Se avete un account attivo da più di un anno, o se avete eseguito delle modifiche ai file di configurazione (ad esempio: .cshrc, .login, .xsession ) è possibile che i vostri file di configurazione siano obsoleti rispetto alla configurazione attuale delle macchine.
Istruzioni per l'aggiornamento della configurazione dell'utente:

  1. La directory /share/lib/profile contiene un file di README.txt che descrive i file di configurazione principali
  2. Il comando /share/lib/profile/setprofile aggiorna i file di configurazione alla versione piu' recente. La procedura vi chiederà se volete mantenere una copia di backup della configurazione attuale, nel caso lo riteniate utile.
  3. In generale le modifiche alla configurazione sono attive dal login successivo.
  4. La nuova versione del KDE alla partenza chiede se aggiornare o eliminare la configurazione precedente (quella del KDE precedente); consigliamo di rispondere di cancellare la vecchia configurazione.


Emacs su piattaforma windows e tastiera italiana
Nota: in generale i problemi con i programmi del CD realizzato dal gruppo Beatrice vanno riportati al gruppo Beatrice.

Per chi usa Emacs e JDE su windows con una tastiera italiana, si pone il problema di come ottenere le parentesi graffe, visto che emacs ha una sua gestione dei tasti speciali.
Vi sono tre soluzioni:

  • Utilizzare la utility di windows che permette di introdurre un carattere qualsiasi per copia e incolla.
  • Impostare la tastiera americana e imparate le corrispondenze...
  • Aggiungere delle istruzioni nel file .emacs per associare le parentesi graffe ad altri caratteri.
Un esempio della terza soluzione sono i due comandi:
(global-set-key [f11] "{")
(global-set-key [f12] "}")
che, aggiunti al file .emacs, associano graffa aperta e graffa chiusa ai tasti funzione F11 e F12.
Se i tasti funzione non sono disponibili, potete provare invece:
(global-set-key [?\C-(] [?{])
(global-set-key [?\C-)] [?}])
Che associano le graffe alle combinazioni di tasti Control aperta-tonda e Control chiusa-tonda.
Attenzione: verificate prima che i tasti che intendete usare non siano già associati ad un'altra funzione di emacs; potete controllare con l'opzione Help->Describe->Describe Key dei menù. È meglio usare
  • tasti non definiti
  • tasti associati alla funzione self-insert-command, cioè tasti che inseriscono il carattere corrispondente nel documento. Questo se non pensate di utilizzarli per programmare in Java (esempio: alcune delle lettere accentate o simboli non usati dal Java).


Uso della directory ~/classes e problemi di compilazione
Molti studenti utilizzano il JDE configurato per salvare tutti i programmi Java compilati ( *.class ) in un'unica directory ~/classes. È necessario che la directory ~/classes sia nel percorso di ricerca indicato dalla variabile $CLASSPATH. È possibile avere dei problemi (per esempio il programma si rifiuta di partire anche se compila correttamente) se si lasciano accumulare i programmi compilati. Il problema è che spesso gli esempi di lezioni diverse o di corsi diversi contengono classi molto semplici e con nomi sempre uguali (Main, prog1, Processo...), che il compilatore e l'interprete possono scambiare l'una per l'altra durante la fase di verifica delle dipendenze. Consigliamo di fare pulizia nella vostra directory classes di tutto ciò che non serve più.


Uso di JCSP su piattaforma windows
Per utilizzare la libreria JCSP avete bisogno

  • della libreria jcspclasses.jar. Potete trovarla su tutte le macchine del laboratorio file:/usr/java/jdk-1.3.2/lib/jcspclasses.jar
    Potete tranquillamente copiarla su dischetto e portarla a casa, ricordandovi che sotto LINUX prima di estrarre il floppy dovete effettuare l'operazione di umount e aspettare che il sistema scriva tutti i dati, altrimenti sul dischetto non troverete niente.
  • di inserire la libreria nel vostro $CLASSPATH, o nel progetto associato al programma che state compilando, a seconda del particolare ambiente di programmazione che usate (JDE, JDE sotto windows, JBuilder...).
    Su JDE è sufficiente andare sul menù JDE->Project->Options->General, cercare l'opzione JDE Global Classpath, inserire il path della libreria sulla vostra macchina ( [SHOW] e [INS] ) e salvare la modifica ( State -> Save for future sessions )
    Per altri ambienti consultate il manuale del vostro programma.
Se volete portare con voi tutta la libreria, incluse documentazione ed esempi, avete bisogno di scaricare l'archivio completo dal sito della libreria JCSP (vedere la pagina ufficaile del corso). Dato che l'archivio completo su dischetto non ci sta, dovrete scaricarlo da casa, oppure scaricarlo in laboratorio e poi usare il comando jar per estrarre le singole parti da copiare su più dischetti.
Da notare che la versione della libreria attuale è più aggiornata di quella distribuita l'anno scorso.
In ogni caso, i file di cui potete avere bisogno per il corso sono jcspclasses.jar e la directory jcsp-docs.


Under Construction! Ultimo aggiornamento: 2 settembre 2002


Turn back to the home page