Bug sui pulsanti di Eclipse su Ubuntu
Pubblicato nel 2009 da Andy

Nov 30

L’esordio di Ubuntu 9.10 Karmic Koala ha portato dei piccoli problemi che possono rivelarsi anche molto fastidiosi. Uno di questi riguarda la triade GTK – Ubuntu – Eclipse, in quanto Eclipse – così come altri software – non utilizzerebbe correttamente le librerie grafiche GTK dando luogo ad un bug alquanto fastidioso. Il bug in questione si manifesta nel momento in cui si clicca sui pulsanti, lasciandoli cliccati; per poter sbloccare una qualsiasi finestra, è necessario premere spazio col puntatore del mouse fermo sul pulsante bloccato.
Il malfunzionamento riguarda, come detto, un suo scorretto delle librerie GTK da parte di alcuni software, ciò significa che non è un bug da imputare alla neo distro di Canonical, Ubuntu 9.10.
In vari blog e forum di settore sia in lingua Inglese che Italiana suggeriscono diverse soluzioni per poter fixare il bug, che qui sono riportate: è sufficiente infatti aggiungere la seguente riga:
export GDK_NATIVE_WINDOWS=true
oppure
export GDK_NATIVE_WINDOWS=1
ai file ~/.profile o ~/.bashrc, per poi riavviare il sistema.
Tali fix purtroppo non sempre portano ai risultati sperati, e indi che cosa si potrebbe fare? Qui troverete una soluzione alternativa al problema, forse un po’ più laboriosa e mirata, ma che potrebbe risolvere definitivamente il problema citato.
Come detto, Eclipse è uno di quei software che utilizza in modo scorretto le librerie grafiche GTK su Ubuntu 9.10, ma ce ne potrebbero essere degli altri con bug simili se non uguali, indi utilizzeremo tale software per questa guida, utilizzabile per altri software: il procedimento è il medesimo per tutti, salvo casi particolari. Le istruzioni di cui sopra da inserire sono ancora valide e saranno utilizzate per risolvere il nostro problema; vediamo come.
Creiamo un file di testo su una directory qualsiasi e dategli il nome che vi piace con l’estensione .sh: non è obbligatoria, ma è buona abitudine inserirla; dopodiché scriviamo il seguente testo al suo interno:
#!/bin/sh
export GDK_NATIVE_WINDOWS=true
~/eclipse-php-galileo-SR1-linux-gtk/eclipse
La prima istruzione indica che stiamo per scrivere uno script bash, la seconda è la già citata istruzione che corregge il nostro bug. L’ultima istruzione indica la pathname del nostro eseguibile da lanciare, in questo quello di eclipse. Se ad esempio si tratta di un comando che lancereste senza path, come per i comandi base ls, cd, etc o anche di software installati quali ad esempio cheese o anche lo stesso firefox, è sufficiente indicare il comando, che la nostra ubuntu saprà cosa fare.
Una volta scritto il nostro script, possiamo salvare e chiudere e procedere da terminale digitando:
cd <directory_del_nostro_file>
chmod +x <nome_file>
La prima istruzione ci posiziona nella directory in cui si trova il nostro file, mentre con la seconda lo rendiamo eseguibile. Proviamo se funziona, cliccando due volte sull’icona oppure da terminale digitando:
./<nome_file>
Dovrebbe aprirsi l’applicazione indicata, e magari ne approfittiamo per provare se il bug si manifesta ancora o meno.
Bene, proseguiamo con altri comandi utili, dopo aver chiuso la nostra applicazione:
sudo mv <nome_file> /usr/bin/<nome_file>
exit
Abbiamo spostato il nostro file all’interno di /usr/bin, così non avremo il problema di ricordarci la path relativa, ma basterà digitare da terminale direttamente il nome del file per vedere che chiama effettivamente quel nostro file. Serve riavviare però il terminale, indi con exit lo chiudiamo, dopodiché basterà aprirne uno nuovo per poi eseguire il test del relativo funzionamento.
Se tutto funziona a dovere, avete adesso un nuovo comando da digitare nel terminale ogni volta che vorrete aprire quell’applicazione, senza avere il problema di percorsi, permessi e quant’altro. Ma se voleste evitare persino di aprire il terminale? Potreste provare a creare un lanciatore sulla barra orizzontale, avere indi un’icona del nostro software che, con un click, apre la nostra applicazione. Nel caso decidiate di fare in questo modo, vi sarà utile leggere questo articolo: Creazione di un lanciatore per Eclipse su Ubuntu.

