venerdì 20 novembre 2009

MATLAB 2007a con JRE 1.6 per risolvere il problema con "INCOLLA TESTO"

Ciao a tutti!

Dopo molti post eccoci di nuovo a parlare di MATLAB R2007a, gloriosa versione del famoso ambiente per la programmazione scientifica della Mathworks.

Questa versione di MATLAB è un po' vecchia, ma molte università e quindi professori, team di ricercatori e studenti la usano tutt'ora. Anche il mio altrettanto famoso "vicino di casa" ha ancora installato questa versione che usa con la sua fantastica licenza, ed è sempre molto gentile da lasciarmela usare. In cambio gli mantengo aggiornata e funzionante la sua macchina Linux. ;-)

Nei vecchi post ho già scritto di alcune soluzioni a problemi riguardanti questa versione di MATLAB rispettivamente nei tempi in cui era "troppo nuova" o "troppo umile" per pensare di sfoggiare al meglio le sue finestre con gli effetti di Compiz... Questo è, penso, il primo post che parla di un problema causata dal fatto che questa versione sta ora diventatndo "troppo vecchia".

Ultimamente per necessità di alcuni pacchetti sono passato, su Archlinux, da openjdk alla versione non open di Java.

Nel frattempo stavo giocando con Emacs e quindi decisi di cambiare le scorciatoie da tastiera anche in MATLAB in modo da imparare meglio quelle di Emacs (che poi sono quelle di default di MATLAB).
Una volta cambiate le scorciatoie con quelle di Emacs... potei constatare come non funzionassero correttamente, in particolare il comando "Incolla".
Comunque, dopo un secondo che mi trovavo a fare questi esperimenti ho improvvisamente avuto bisogno di essere più veloce con i copia e incolla, e quindi sono tornato ai windowsiani CTRL-X CTRL-V e CTRL-C.

Ma che sorpresa quando ho scoperto che nella Command Window e nel MATLAB Editor il comando "Paste" era permesso letteralmente solo una volta per sessione 8-|

Dato che ero stato stupido a giocare con i tasti del Copia e Incolla, spesi ore a controllare, patchare, eliminare e rigenerare da default i file delle impostazioni di MATLAB in modo da riportare l'intero "Universo del Copia e Incolla" alla sua precedente "Freccia del Tempo"!

Dopo settimane usando un editor esterno, ora ho scoperto un altro errore che ha a che fare con una chiamata al carattere Helvetica (font che io non ho impostato in alcuna preferenza)... ho quindi lanciato MATLAB con l'opzione debug e ho cercato come al solito qualche soluzione nei forum per questo ulteriore problema.

Mentre leggevo tra le soluzioni dei vari utenti frustrati, ne ho trovata una che suggeriva di usare il JRE nativo del sistema invece di quello contenuto in MATLAB stesso. E allora si è accesa la lampadina: "Vuoi vedere che è proprio la versione di JRE di MATLAB a fare casino tanto con i font in generale quanto con il Copia e Incolla?"
Ho quindi controllato che versione di Java era inclusa in MATLAB R2007a e ho scoprto che è la 1.5

In conclusione, dopo tutta questa bella storia, ecco come ho sistemato tutti i veri misteriosi errori che si erano palesati dal passaggio da openjdk a Java closed:

Vi basterà creare uno script vostro per lanciare MATLAB in modo da non modificare lo script nativo di lancio (anche se è comunque possibile):

#!/bin/sh

# Questa variabile andava settata per i casini
# con Compiz ma al momento non mi serve
# export AWT_TOOLKIT=MToolkit

# Questa è la magica variabile d'ambiente che dice
# a MATLAB di usare l'installazione di Java della
# vostra distribuzione invece della sua embedded
# Mettete quindi la cartella dove avete installato jre
# per Archlinux con Java closed il valore è questo
export MATLAB_JAVA=/opt/java/jre

# Questo è il mio comando per lanciare MATLAB
# con il percorso completo perchè ho preferito non
# assegnarne la cartella bin al path... sul vostro
# sistema è probabilmente il solo "matlab -desktop"
/opt/matlabR2007a/bin/matlab -desktop


È tutto, se lanciate MATLAB con la variabile d'ambiente MATLAB_JAVA che punta alla cartella di Java della vostra distro risolverete tutti i problemi causati dalla vecchia versione 1.5 di Java inclusa nella versione R2007a e usata altrimenti di default.

Per me ha funzionato dato che il programma non ha mostrato più alcun problema di Copia - Incolla e nemmeno lo strano warning sul font Helvetica all'avvio.

Spero che possa esservi utile in qualche modo ;-)

Keep on hackin'

Nessun commento:

Posta un commento