/dev/random

LXterminal on steroids

Qualche miglioramento per rendere migliore questo ottimo programma.

Da un po' di tempo uso lxterminal (dal progetto LXDE) al posto di gnome-terminal, ma mi sono scontrato subito con alcune sue limitazioni. E come me anche altri utenti, come Giggio che me l'ha segnalato nei commenti del mio articolo su Debian sull'Eee900.

Ho quindi preso il coraggio a quattro mani e mi sono messo a studiarne il sorgente. Nonostante sia in C, è scritto in modo molto pulito, quindi sono riuscito facilmente a risolvere i due problemi grossi che aveva: un buffer di scrollback troppo limitato (il valore di default, credo un centinaio di righe), e le scritte in grigio su fondo nero, che rendevano stancante o anche impossibile la lettura.

I miei sforzi si sono concretizzati in una patch che ho segnalato all'upstream (che spero verrà integrata presto), e già che c'ero ho rimesso in ordine anche l'interfaccia di configurazione, che era un po' confusionaria con due parametri, figurarsi ora che sono 5. :)

Ora vi potete sbizzarrire come preferite coi colori, con combinazioni anche oltre il limite dell'assurdo.

Per ora (e forse per sempre) la modifica delle impostazioni non ha effetto sulle finestre e sulle tab già aperte, ma solo su quelle che aprirete dopo le modifiche.

Ho fatto un confronto a spanne sull'occupazione di memoria di lxterminal contro gnome-terminal, e sono rimasto abbastanza sorpreso.

lxterminal, per risparmiare RAM, al momento del caricamento verifica se c'è già un'istanza di sé stesso in memoria, e se c'è le segnala di aprire una nuova finestra, quindi esce. In ogni momento avrete una sola copia di lxterminal in memoria.

Perciò, anche se non occupa molta meno RAM di gnome-terminal (circa 1.5 o 2 MB in meno), il vantaggio lo vedrete quando ne aprirete diverse finestre. Come potete vedere dallo screenshot di top, qui a fianco, 5 finestre di lxterminal occupano 17 MB (meno 8.8 condivisi, quindi 9.2 MB), mentre 5 finestre di gnome-terminal occupano ognuna tra i 15 e i 18 MB, meno i 9.3 condivisi, sono tra i 5 e gli 8 MB ognuna, per un totale di 25-30 MB circa.

La patch e i pacchetti deb

Potete scaricare la patch da applicare alla versione attualmente nel subversion ufficiale (838), il pacchetto deb di lxterminal per Debian Lenny, o il sorgente debianizzato di lxterminal da cui potete compilare il pacchetto deb per altri sistemi (Ubuntu, Sidux, ecc.).

Per compilare dal mio sorgente, scaricatelo (purtroppo WordPress mi ha segato tutti i punti nel nome del file tranne l'ultimo...), poi aprite una shell e digitate:

sudo aptitude install fakeroot
mkdir temp
cd temp
sudo apt-get builddep lxterminal
tar -xzovf /path/al/file/scaricato/lxterminal-0131tar.gz
cd lxterminal-0.1.3.1
fakeroot debian/rules binary

A questo punto, dentro temp/ dovreste avere (se la compilazione è andata a buon fine) il pacchetto lxterminal-0.1.3.1-1.deb che potete installare con

sudo dpkg -i lxterminal-0.1.3.1-1.deb

In caso di dubbi, chiedete pure, vedrò di aiutarvi, nei limiti del possibile.

Se qualcuno si volesse prendere la briga di compilarlo per Ubuntu e volesse inviarmelo, sarò felice di ospitare qui il pacchetto.