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.

  • Giggio

    Grande!! :D
    Sto cercando di compilare i sorgenti sul 701 per creare un pacchetto deb, il problema è che 4 giga sono davvero pochi :( e mi mancano un sacco di librerie dev da installare. Al limite lo compilo sul fisso. Quando ho fatto ti faccio sapere così ti invio il pacchetto per ubuntu ^_^
    Negli articoli ti ho visto esperto e non ho pensato a dirtelo, io sono un ex programmatore c/c++. In passato l’ho anche insegnato per qualche breve sessione. Ora ho un po’ perso la mano perchè purtroppo uso sopratutto java. Ma il primo amore non si scorda mai… :D
    A parte gli scherzi, dato che in questo campo ci lavoro non posso mai garantire aiuti nel mio tempo libero (in cui al massimo mi concedo di smanettare sulla parte sistemistica che di solito al lavoro non approfondisco mai). Ma se hai bisogno chiedi pure, cecherò di fare il possibile.
    Grazie ancora per l’aiuto.

  • Giggio

    Dunque….mi sono fatto prendere la mano :D
    Ho creato il pacchetto deb e ho fatto anche un paio di altre cosine. Tipo creato il file per la traduzione in italiano e fatto in modo che le preferenze vengano aggiornate in tempo reale ;-)
    Ora corro a mangiare…poi vediamo un modo per scambiarci i file. Se vuoi ti riamndo tutto, sia il deb per ubuntu che il pacchetto con i sorgenti

  • Giggio

    Eccoci…ho provveduto ad appoggiare i file in questione sul mio disco remoto di virgilio. E’ una soluzione temporanea, poi se vuoi puoi caricarli sul tuo blog.
    http://mio.discoremoto.alice.it/giumbolo/
    Ci sono due file, un .tar.gz che contiene i sorgenti modificati come ti ho detto sopra. E un .deb che è per ubuntu Hardy Heron 8.04.
    Alla prossima
    Ciao Ciao e buon ferragosto :D

  • Giggio

    Ho provato a mandarti postare il link al mio disco remoto su virgilio per farti raggiungere i file ma non me l’ha pubblicato. Fammi sapere.
    Ciao Ciao e Buon Ferragosto!

  • enrico

    a 4 anni circa di distanza ho scoperto lxterminal.
    bello!Avrei bisogno di comunicare con Giggio…
    potrei avere la sua e-mail?
    grazie