Visualizzazione post con etichetta Linux. Mostra tutti i post
Visualizzazione post con etichetta Linux. Mostra tutti i post

giovedì 4 ottobre 2012

Duke VPN su Linux


Finalmente sono riuscito a configurare la VPN della Duke University su Linux. Fin quando non cambieranno di nuovo qualcosa, dovrebbe funzionare. Come sempre, scrivo qui le istruzioni in modo da non scordare come ho fatto.

Prima di tutto, bisogna aprire un browser e collegarsi al sito https://portal.duke.edu. Da qui possiamo fare il tentativo di collegarci alla VPN inserendo le nostre credenziali e poi cliccando sul pulsante di login. Solitamente il risultato ottenuto sarà che l'applet Java tenterà di installare il client Cisco necessario alla connessione ma non ci riuscirà, suggerendoci di installare manualmente il tutto. Cliccando sul link suggerito dalla applet verrà scaricato uno script di Bash (che è poi quello normalmente fornito da Cisco) per l'installazione del client Cisco.

Ho avuto un piccolo problema con l'utilizzo di questo script perché, durante l'esecuzione, va a ricercare il comando /sbin/lsmod che non era presente sul mio sistema. Il metodo più veloce e semplice per risolvere questo problema (non sono riuscito a modificare direttamente lo script perché alcune parti sono in formato binario) è quello di creare un link simbolico che punti alla corretta posizione del comando lsmod:

ln -s /bin/lsmod /sbin/lsmod

Una volta fatto ciò, sarà possibile eseguire lo script che si occuperà di installare tutto quello che ci serve. In particolare, verrà installato il servizio /etc/init.d/vpnagentd_init che deve essere fatto partire ogni qual volta vogliamo collegarci alla VPN. Eventualmente, si può aggiungere al runlevel di default in modo tale da farlo partire all'avvio. 

Una volta fatto partire il servizio, sarà sufficiente richiamare il comando /opt/cisco/vpn/bin/vpnui che farà partire la GUI del client Cisco. Potrebbe essere utile fare un piccolo scriptino di questo tipo:

#!/bin/bash


sudo /etc/init.d/vpnagentd_init restart

/opt/cisco/vpn/bin/vpnui &

da inserire per esempio in /usr/local/bin in modo da lanciare il client con un solo semplice comando.

La prima volta che lanciamo il client sarà sufficiente inserire nella casellina "Connect to:" l'indirizzo https://portal.duke.edu. Una volta fatto questo il server invierà al client la configurazione per far partire la VPN e sarà sufficiente inserire le nostre credenziali per essere dentro la rete Duke.

Bellino questo sistema! 


venerdì 13 aprile 2012

Bumblebee su Sabayon

Finalmente Bumblebee, il tool che si occupa di gestire la tecnologia nVidia Optimus sul nostro amato portatile, è stato inserito nel repository di Sabayon.

Tutto ciò che si deve fare è installare il pacchetto con:

equo install bumblebee

Successivamente si dovrà configurare il sistema per far partire il servizio al boot tramite:

rc-update add bumblebee default

Infine basta aggiungere il vostro utente al gruppo bumblebee e il gioco è fatto.

Una delle dipendenze di bumblebee è bbswitch. Questo modulo del kernel è davvero utile per accendere e spegnere la scheda grafica discreta nVidia del vostro portatile. Inoltre è possibile configurare il sistema in modo tale da spegnere/accendere la scheda all'avvio della macchina in modo da avere sempre la configurazione desiderata.

Per accendere spegnere la scheda discreta:

tee /proc/acpi/bbswitch <<<OFF 
tee /proc/acpi/bbswitch <<<ON

Ovviamente con un

cat /proc/acpi/bbswitch

possiamo verificare lo stato della scheda.

Per configurare il modulo per accendere spegnere la scheda all'avvio basta modificare il file /etc/modprobe.d/bbswitch.conf inserendo la riga seguente:

options bbswitch load_state=X unload_state=Y

X e Y (che configurano il comportamento al caricamento del modulo e al suo scaricamento - ovvero all'accenzione e allo spegnimento della macchina ad esempio) vanno sostituiti con gli indici -1, 0, oppure 1 che rispettivamente rappresentano "non cambiare lo stato della scheda", "spegni la scheda", "accendi la scheda".

Non potete immagine quanto sia bello non avere più un portatile che sembra una stufa.

sabato 4 febbraio 2012

Skype non si connette in Sabayon

Se anche voi utilizzate Sabayon, avrete forse riscontrato il mio stesso problema subito dopo l'ultimo aggiornamento: Skype non si connette più e se provate a chiuderlo appare come se fosse bloccato (è necessario killarlo per riuscire a chiuderlo).

Ecco la soluzione:

emerge --sync
emerge -av =app-emulation/emul-linux-x86-baselibs-20120127 app-emulation/emul-linux-x86-qtlibs app-emulation/emul-linux-x86-gtklibs

Subito dopo l'installazione di questi pacchetti, Skype tornerà a funzionare correttamente. Ho trovato questa soluzione qui dove viene anche detto che questi pacchetti verranno al più presto inseriti in Entropy. 

mercoledì 21 dicembre 2011

Valgrind e Sabayon

Per lavoro sono costretto a programmare in C++ e Valgrind si è rivelato essere un ottimo alleato soprattutto nel momento in cui ci si trova costretti a combattere con problemi riguardanti l'allocazione della memoria.

Nelle ultime versioni di Sabayon ho però riscontrato un problema che impedisce a Valgrind di funzionare correttamente. Se quando avviate Valgrind avete un output simile al seguente:

$ valgrind ls

==30502== Memcheck, a memory error detector
==30502== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==30502== Using Valgrind-3.5.0 and LibVEX; rerun with -h for copyright info
==30502== Command: ls
==30502== 

valgrind:  Fatal error at startup: a function redirection
valgrind:  which is mandatory for this platform-tool combination
valgrind:  cannot be set up.  Details of the redirection are:
valgrind:  
valgrind:  A must-be-redirected function
valgrind:  whose name matches the pattern:      strlen
valgrind:  in an object with soname matching:   ld-linux-x86-64.so.2
valgrind:  was not found whilst processing
valgrind:  symbols from the object with soname: ld-linux-x86-64.so.2
valgrind:  
valgrind:  Possible fixes: (1, short term): install glibc's debuginfo
valgrind:  package on this machine.  (2, longer term): ask the packagers
valgrind:  for your Linux distribution to please in future ship a non-
valgrind:  stripped ld.so (or whatever the dynamic linker .so is called)
valgrind:  that exports the above-named function using the standard
valgrind:  calling conventions for this platform.
valgrind:  
valgrind:  Cannot continue -- exiting now.  Sorry.


allora vi conviene seguire i consigli che potete trovare qui. Fondamentalmente, quello che è necessario fare è:
  • Aprire il file /etc/entropy/client.conf;
  • Inserire la riga "splitdebug = enable" alla fine del file;
  • Reinstallare glibc (sudo equo install glibc);
  • Eliminare la riga appena aggiunta dal file /etc/entropy/client.conf.
In questo modo le librerie glibc verranno reinstallate con i simboli per il debug che è proprio quello che serve a Valgrind per funzionare correttamente.

sabato 10 dicembre 2011

Problemi audio con Sabayon

Sembra che uno dei passatempi preferiti di Sabayon sia distruggere la configurazione audio di KDE e Pulseaudio ogniqualvolta si effettui un aggiornamento.

Se improvvisamente l'audio del vostro sistema risultasse inspiegabilmente muto anche se i volumi di KMix sembrano tutti correttamente impostati quello che vi consiglio di fare è:

  • Andate nel menu di KDE e cliccate su "System Settings";
  • Cliccate su "Multimedia" nella sezione "Hardware";
  • Sotto "Phonon" cliccate su "Audio Playback" e portate la voce "Internal Audio Analog Stereo" alla prima posizione della lista. Ripetete la procedura per ogni sottovoce di "Audio Playback": "Notifications", "Music", e così via.
  • Prestate attenzione ad effettuare questa procedura anche e soprattutto per la voce principale "Audio Playback". Se non lo fate, potrebbe succedervi di ritrovarvi con i video di Youtube inspiegabilmente silenziosi e soprattutto insopportabilmente lenti senza capirne il motivo e spendere un intero pomeriggio per cercare di trovare la soluzione al problema immaginando che la cosa riguardi il plugin Flash di Adobe quando invece questo non c'entra assolutamente nulla (poverino).


lunedì 21 novembre 2011

Fastidioso beep in Chromium

Se anche voi vi siete accorti che, quando utilizzate il tasto backspace nella barra degli indirizzi di Chromium e la barra è vuota, il nostra amato browser produce un fastidiosissimo beep che non sapete come disattivare, allora vi farà piacere sapere che esiste una soluzione e che la colpa non è degli sviluppatori Google ma di una impostazione di default inserita nelle nuove versioni delle librerie Gtk.

Per disattivare il fastidioso beep basta inserire nel file nascosto .gtkrc-2.0 che trovate nella vostra home la seguente riga:

gtk-error-bell = 0

Salvate il file, riavviate e dite addio al malefico beep.

sabato 25 giugno 2011

Wireless lenta in modalità batteria

E' un po' di tempo che mi danno su questa cosa ma non avevo avuto un minuto per verificare come potesse essere risolta. Il problema è il seguente: quando tengo l'alimentatore collegato al mio notebook con installata Sabayon Linux, la connessione wireless va che è una meraviglia; quando stacco l'alimentatore e il notebook entra in modalità power-save la connessione diventa inspiegabilmente lenta.
Finalmente, documentandomi un pochino, mi sono reso conto della causa. La colpa è di pm-utils, un pacchetto che è installato di default su Sabayon e che fornisce il framework per la gestione energetica della macchina (tra l'altro viene utilizzato in sostituzione del vecchio hibernate-script). La configurazione responsabile del fastidioso comportamento della scheda di rete è in /usr/lib/pm-utils/power.d/wireless: in pratica, nel momento in cui si passa in modalità power-save, pm-utils attiva il Power Management della scheda wireless. 

Per rendersene conto basta staccare l'alimentatore e dare un


iwconfig | grep "Power Management

Se ottenete un


Power Managementmode:All packets received

allora effettivamente il Power Management è attivo e provoca il rallentamento della connessione.

Ovviamente, modificando un pochino lo script di cui sopra si può impedire che questo avvenga ma francamente preferisco annullarne l'effetto solo quando voglio facendo in modo che quando non ho bisogno di un'altissima velocità tutto rimanga com'è. Per farlo si può semplicemente digitare il comando:


iwconfig power off


mercoledì 9 febbraio 2011

Gestire link ed2k in remoto

Ho già dedicato un post precedente ad illustrare come gestire i link ed2k da Firefox. Oggi mi è venuto in mente di provare a replicare l'esperimento da un computer remoto rispetto a quello in cui si trova in esecuzione aMule.

Quello che si deve fare è semplicemente creare uno script di shell (ad esempio chiamato ed2k_remote.sh) contente il seguente comando:

path/del/comando/amulecmd -h indirizzo_ip -p porta_tcp -P password_amule -c "Add $1"

Ovviamente, vanno sostituiti i valori corretti per il  path del comando amulecmd (si può troavare con un semplice which amulecmd dato da shell), l'indirizzo ip e la porta della macchina sul quale è in esecuzione aMule (la porta di default è la 4712) e la password che avete inserito quando avete configurato il vostro mulo per accettare connessioni esterne. Non è molto sicuro inserire questa password in chiaro nello script quindi forse dedicherò un altro post a risolvere questo piccolo problema di sicurezza.

Una volta creato lo script basterà renderlo eseguibile (chmod +x ed2k_remote.sh) e piazzarlo da qualche parte nel proprio filesystem (io consiglio la directory /usr/local/bin). Successivamente, seguendo le istruzioni contenute in questo post, e avendo l'accortezza di utilizzare il nostro script al posto del comando e2dk, avremo la soddisfazione di comandare il nostro muletto da lontano.

mercoledì 26 gennaio 2011

Repositories di Sabayon lenti

Se avete notato una certa lentezza in entropy durante l'installazione di un qualunque pacchetto e se vi rendete conto che tale situazione è determinata da una alta latenza nell'individuazione e nello scaricamento del pacchetto stesso sui repositories potete provare a commentare la riga che inizia con

repository|sabayonlinux.org|Sabayon Linux Official Repository|
nel file /etc/entropy/repositories.conf e sostituirla con

repository|sabayonlinux.org|Sabayon Linux Official Repository|http://na.mirror.garr.it/mirrors/sabayonlinux/entropy|http://na.mirror.garr.it/mirrors/sabayonlinux/entropy#bz2
In questo modo state indicando a entropy quale repository utilizzare. Solitamente (anche se non sempre) il repository del Garr italiano è piuttosto veloce.

domenica 26 dicembre 2010

Open-WRT su Fonera 2200

In questi giorni, mi serviva proprio un piccolo gateway che mi permettesse di collegare un dispositivo dotato di sola scheda Ethernet al mio router wireless dall'altra parte della casa. Proprio mentre pensavo ad una possibile soluzione a questo problema, mi è venuta in mente la piccola scatolina bianca che giaceva dimenticata in mezzo alle altre cianfrusaglie da ormai almeno 2 anni: la Fonera!

Essendo passato parecchio tempo (credo che il limite imposto dal produttore sia due anni a partire dall'acquisto prima di poter legalmente toccare qualcosa alla configurazione interna), ho pensato: perché non provare a piallare il firmware attuale e a piazzarci qualche altro ambiente un po' più familiare e soprattutto configurabile e controllabile a piacere? Detto fatto.

La procedura è molto semplice. Premetto che la mia Fonera è una FON2200. Se avete un modello diverso probabilmente la procedura sarà un tantino differente.

Per prima cosa, avrete necessità di resettare per benino la vostra Fonera in modo tale da tornare alla configurazione di base. Per far ciò, dovrete combattere un pochino con il tastino rosso di reset che potete trovare sulla parte inferiore del dispositivo:
  1. accendete la Fonera, senza collegare alcun cavo ethernet;
  2. aspettate che la luce power e quella wlan si accendano entrambe;
  3. tenete pressato il tastino di reset con una penna per 30 secondi circa;
  4. mentre continuate a tenere premuto il reset, staccate il cavetto di alimentazione;
  5. aspettate 30 secondi mantenendo pressato il pulsantino di rest;
  6. collegate il cavetto di alimentazione nuovamente;
  7. mantenete il reset premuto per altri 30 secondi;
  8. ripetere questa procedure almeno 2 o 3 volte in modo da essere sicuri di avere riportato la Fonera alla configurazione originale cancellando qualunque upgrade del firmware o configurazione particolare.
Dopo aver effettuato il reset del dispositivo controlliamo che tutto sia andato a buon fine. Per farlo, accendiamo la Fonera e, una volta che le luci power e wlan si sono nuovamente accese, agganciamoci alla sua rete wireless (solitamente il nome è MyPlace) e, aprendo un normale browser, colleghiamoci all'indirizzo 192.168.10.1. Se tutto è andato bene, dovrebbe aprirsi il pannello di controllo Web della Fonera e nella prima pagina dovrebbe essere indicata la versione del firmaware: 0.7.1r2. Se non è questa, ripetete la procedura di reset ancora fin quando non ottenete l'indicazione di questa versione del firmware. Se non ci riuscite, probabilmente la vostra non è una Fonera FON2200. Controllate bene la versione sulla parte inferiore del dispositivo.

Ora passiamo alla parte più interessante.

Come firmware da flashare sulla mia Fonera ho scelto Open-WRT e in particolare X-WRT che è perfettamente equivalente ma offre anche una utile interfaccia Web dalla quale configurare la maggior parte delle funzionalità del dispositivo.

Ecco una lista di tutto ciò che vi serve (ovviamente do per scontato che siete sotto Linux):
  1. Il software ap51-flash, che vi permette di flashare il nuovo firmware: scaricate il codice dal repository svn e compilatelo con i comandi:
    svn co http://dev.open-mesh.com/downloads/svn/ap51-flash/trunk ap51-flash
    cd ap51-flash
    make
    
  2. L'immagine del kernel di X-WRT (io ho usato l'ultima versione, la Kamikaze 8.09.2) che potete scaricare da qui
  3. Il filesystem di root per X-WRT scaricabile da qui.
Bene, ora che abbiamo tutti gli strumenti che ci servono possiamo metterci al lavoro. Seguite la procedura seguente e tutto andrà a buon fine:
  1. buttate giù tutte le vostre interfacce di rete ethernet e wireless in modo che queste non influenzino la procedura (do per scontato che sappiate farlo);
  2. con il cavetto di alimentazione staccato, collegate il vostro pc alla Fonera tramite cavo ethernet;
  3. lanciate da shell il comando:
    ./ap51-flash eth0 openwrt-atheros-root.squashfs openwrt-atheros-vmlinux.lzma
    
  4. ap51-flash dovrebbe partire e poi interrompersi aspettando che la Fonera si avvii;
  5. accendiamo la Fonera collegando il cavetto di alimentazione;
  6. ap51-flash dovrebbe risvegliarsi e proseguire nelle sue operazioni;
  7. aspettiamo da 10 a 20 minuti, il tempo necessario affinchè sia il kernel che il filesystem di root vengano scritti nella memoria flash;
  8. una volta terminato, ap51-flash riavvierà la Fonera con Open-WRT installato e funzionante.
Piccola spiegazione per chi vuole sapere quello che sta succedendo: quando avviamo la Fonera il suo bootloader (Redboot) setta l'indirizzo dell'interfaccia ethernet a 192.168.1.1 e si mette in ascolto sulla porta 9000 per circa due secondi prima di avviare il sistema operativo presente nella memoria flash. Il software ap51-flash non fa altro che instaurare una connessione telnet con Redboot, fermare il processo di boot e utilizzare i comandi appropriati del bootloader per scrivere le nuove immagini sulla flash.

Una volta riavviata la Fonera, potremo iniziare a giocare un pochino con Open-WRT. Per farlo, settiamo l'indirizzo della nostra interfaccia ethernet a 192.168.1.2 con netmask 255.255.255.0 e colleghiamoci in telnet al dispositivo sulla porta standard con un semplice:
telnet 192.168.1.1
Se vogliamo possiamo anche aprire un normale browser e collegarci allo stesso indirizzo. Si aprirà l'interfaccia Web di X-WRT che, per prima cosa, ci chiederà di cambiare la password di root. Fate attenzione che, da quel momento in poi, il telnet verrà disabilitato ma potremo collegarci alla Fonera con un semplice ssh:
ssh root@192.168.1.1
con la password appena settata.

In un prossimo posto spiegherò come ho configurato la Fonera per adattarla alle mie necessità.

venerdì 10 dicembre 2010

Aggiungere traccia audio mp3 a file avi

Ogni volta che mi serve aggiungere una traccia audio .mp3 ad un file .avi (sostituendo quella che c'è già) perdo un sacco di tempo a cercare su Internet. Sembra che non molti abbiano questo stesso problema su Linux ma lo segno lo stesso qui in modo da ricordarlo:

mencoder original.avi -o new.avi -ovc copy -oac copy -audiofile audio.mp3

Altri consigli utili su come usare opportunamente mencoder si possono trovare qui.

domenica 28 novembre 2010

Beamer e Kile

Beamer è una classe Latex che permette di creare delle presentazioni davvero eccezzionali senza dover ricorrere ad odiati programmi WYSIWYG (What You See is What You Get) come Impress di OpenOffice o addirittura PowerPoint di Office.

Si può installare sotto Sabayon con un semplice:

sudo equo install beamer

Dopo averlo installato, per fare in modo che Kile non si lamenti con un

beamer.cls not found

e che voi usciate pazzi provando a capire per quale motivo avete installato Beamer ma Kile se ne frega, provate a dare un

sudo mktexlsr

e mi ringrazierete.

lunedì 22 novembre 2010

Oxygen scomparso da Sabayon

La stile di default per KDE 4 su Sabayon era sempre stato Oxygen. Se però decidete di formattare e reinstallare Sabayon da zero, come ho fatto io ultimamente, vi accorgerete che, tra gli stili riportati in System Settings -> Application Appearance -> Style, Oxygen non viene più elencato.

Tutti gli altri stili non sono all'altezza di Oxygen, soprattutto se, anche voi come me, vi eravate ormai abituati e non riuscite a sopportare le piccole differenze di aspetto nelle finestre e nel sistema in generale.

La soluzione? Semplicissima. Installate il pacchetto kde-base/kstyles con un bel

sudo equo install  kde-base/kstyles

e nel nostro elenco di stili comparirà nuovamente per magia Oxygen.

Se poi, anche voi come me, volete che tutto sia uniforme nel vostro sistema e, per esempio, non sopportate che applicazioni come Skype abbiano uno stile differente da tutto il resto nonostante siano Qt native, potete provare la seguente soluzione. Aprite Skype e andate sulle Opzioni. Nella sezione Generale viene lasciata la possibilità di scegliere lo stile ma, purtroppo, Oxygen non viene normalmente elencato, nonostante sia installato. 

Per risolvere provate a lanciare il comando qtconfig e selezionate da lì lo stile che volete venga utilizzato nelle applicazioni Qt.
Se selezionate Oxygen e riavviate Skype, vedrete che adesso lo stile è riportato nell'elenco ed è possibile selezionarlo.

Purtroppo Skype da qualche problema di visualizzazione utilizzando Oxygen (icone che escono dai bordi della finestra e cose di questo genere) per cui penso che per adesso tornerò allo stile di default.

lunedì 9 agosto 2010

Barre grigie lampeggianti su Facebook?

Da un po' di tempo, precisamente dall'ultimo aggiornamento di Firefox, mi sono trovato ad avere strani problemi di visualizzazione quando navigo sulle pagine di Facebook. Improvvisamente barre verticali grige iniziano a lampeggiare occupando gran parte della pagina e rendendo davvero fastidiosa se non impossibile la lettura.

Contemporaneamente mi sono accorto che non riesco più a scorrere le pagine semplicemente utilizzando le freccette direzionali. Prima di poter scorrere un testo che sto leggendo devo cliccarci sopra per far apparire un cursore. Dopo di che sono in grado di far scendere il cursore lungo il testo con le freccette. Anche questo piuttosto fastidioso.

Non so se siano problemi relativi alla sola versione di Firefox per Linux ma so che ho trovato una soluzione. Andando su Modifica -> Preferenze -> Avanzate -> Generali ho tolto la spunta dall'opzione "Utilizza sempre il cursore per navigare all'interno delle pagine" o qualcosa del genere (io ho la versione inglese di Firefox).

Fatto questo sono magicamente spariti entrambi i problemi.

domenica 14 marzo 2010

Completamento automatico per Equo

In questi giorni mi stavo chiedendo come mai aprendo una normale Konsole di KDE il completamento automatico di Equo non mi funzionava mentre aprendo uno dei terminali di sistema (Ctrl-Alt-F1 per intenderci) allora tutto funzionava tranquillamente (ed era anche piuttosto figo).
Cercando su Internet ho trovato qual'è il problema e anche la soluzione.
Basta fare così:
  • Aprite una Konsole di KDE
  • Andate su Settings -> Edit Current Profile...
  • Sul tab General vedrete Command: /bin/bash. E' necessario aggiungere un --login. Dovrete quindi mettere /bin/bash --login.
  • Se non lo avete già fatto lanciate da root un:
    # eselect bashcomp enable --global equo
  • Ora killate tutte le bash lanciando sempre da root un:
    # killall -9 bash
  • Ora chiudendo la Konsole appena uccisa e lanciandone una nuova il tutto vi dovrebbe funzionare
Provate a scrivere da utente un:
$ equo search sky
e poi date due colpi di Tab. Dovreste vedere un elenco dei pacchetti nel cui nome è contenuta la parola sky. Il tutto funziona anche con i parametri di Equo ovvero se ad esempio digitate:
$ equo i
e poi date due colpi di Tab la bash vi completerà in
$equo install
Figo no?

venerdì 5 marzo 2010

Inserire formule latex nelle immagini create con Inkscape

A volte, quando si scrive un articolo scientifico, si guarda anche all'eleganza e all'aspetto delle cose. Tra i fattori che contribuiscono all'eleganza espositiva in un articolo, quello al quale io tengo di più è la coerenza nello stile. Se nel corpo del testo utilizzo un particolare font per un simbolo o una formula, ci tengo che lo stesso font venga utilizzato anche nelle figure e nelle tabelle in cui quel simbolo o quella formula viene richiamata. Se, per quanto riguarda le tabelle, questo risultato è semplice da ottenere (dato che le tabelle si realizzano comunque in latex), per le figure si potrebbe anche uscire pazzi.

Solitamente, per realizzare le figure da inserire nei miei articoli, utilizzo Inkscape. La versione che ho attualmente installata sulla mia Sabayon è la 0.47. In questa versione, non risulta attivo il supporto al randering di formule latex all'interno delle immagini. Questo strumento è invece utilissimo proprio per ottenere il risultato suddetto. Inserendo direttamente nell'immagine il codice latex utilizzato nel corpo del testo, siamo assolutamente certi che la formula o il simbolo saranno perfettamente uguali anche nell'immagine che stiamo creando. Ci sono due metodi per inserire in Inkscape questa nuova funzionalità.

Il primo metodo, che è quello che io ho utilizzato finora, consiste nel ricompilare Inkscape con la USE flag postscript attivata. E' inoltre necessario ricompilare pstoedit con la USE flag plotutils attivata e python con la USE flag tk attivata:
$ sudo echo media-gfx/inkscape postscript >> /etc/portage/package.use
$ sudo echo media-gfx/pstoedit plotutils  >> /etc/portage/package.use
$ sudo echo dev-lang/python tk >> /etc/portage/package.use
$ sudo emerge python && emerge inkscape
Fatto ciò, riavviando Inkscape, troveremo la nuova voce "Latex formula" nel menu Extension->Render. Cliccandoci, si aprirà una finestra nella quale potremo inserire il nostro codice latex. Inkscape provvederà a farne il rendering e a inserire la formula o il simbolo definito nell'immagine in forma vettoriale. Da quel momento in poi, potremo manipolarla come un qualunque altro oggetto della nostra immagine.

Uno dei problemi di questo approccio è che non è possibile modificare la formula latex ,una volta che questa è stata inserita. Dobbiamo cancellare e rifare tutto da capo. Il secondo metodo che vi propongo risolve anche questo problema e consiste semplicemente nell'installare una estensione di Inkscape, di nome TexText, che trovate qui. Scaricate l'ultima versione del pacchetto, scompattate il suo contenuto in ~/.config/inkscape/extensions e assicuratevi sempre di aver compilato pstoedit con la USE flag plotutils attivata. In questo caso, riavviando Inkscape, troverete una nuova voce TexText nel menu Extension, dal quale inserire il vostro codice latex. L'oggetto ottenuto dal rendering può essere modificato selezionandolo e richiamando nuovamente la funzionalità TexText. Meglio di così?

domenica 28 febbraio 2010

Some Gentoo and Sabayon Tips

Se, come me, avete un overlay personale nel quale inserite gli ebuild scritti da voi o trovati in giro in rete e se vi è capitato di avere un errore di questo tipo quando utilizzate il Portage:
WARNING: One or more repositories have missing repo_name entries:

/usr/local/portage/mizar/profiles/repo_name

NOTE: Each repo_name entry should be a plain text file containing a
unique name for the repository on the first line.             
il problema sta nel fatto che il Portage non riconosce l'overlay perchè non sa come si chiama. Il trucco è creare una directory profiles nel vostro overlay e un file repo_name con un nome qualunque (anche soltanto local):
$ sudo mkdir /usr/local/portage/mizar/profiles
$ sudo echo "local" > /usr/local/portage/mizar/profiles/repo_name
Naturalmente sostituite a mizar il nome della directory nella quale avete il vostro overlay.

Se utilizzate Sabayon Linux può esservi capitato negli ultimi tempi di ricevere dal Portage una lamentela di questo tipo:
!!! The following installed packages are masked:
- dev-java/sun-jdk-1.6.0.17 (masked by: dlj-1.1 license(s))
A copy of the 'dlj-1.1' license is located at '/usr/portage/licenses/dlj-1.1'.

- net-im/skype-2.1.0.81 (masked by: skype-eula license(s))
A copy of the 'skype-eula' license is located at '/usr/portage/licenses/skype-eula'.

- dev-java/sun-jre-bin-1.6.0.17 (masked by: dlj-1.1 license(s))
- app-emulation/virtualbox-bin-3.1.0-r11 (masked by: PUEL license(s))
A copy of the 'PUEL' license is located at '/usr/portage/licenses/PUEL'.

- net-wireless/broadcom-sta-5.10.91.9.3-r3 (masked by: Broadcom license(s))
A copy of the 'Broadcom' license is located at '/usr/portage/licenses/Broadcom'.

- dev-java/sun-jdk-1.5.0.22 (masked by: dlj-1.1 license(s))
For more information, see the MASKED PACKAGES section in the emerge
man page or refer to the Gentoo Handbook.                       
In questo caso, il problema è che Entropy installa i pacchetti sottoposti a licenza bypassando il Portage, il quale, quando si accorge della situazione, giustamente si lamenta. Per risolvere inserite nel vostro file /etc/make.conf una nuova riga di questo tipo:
ACCEPT_LICENSE="dlj-1.1 Broadcom PUEL skype-eula"
Se inserite:
ACCEPT_LICENSE="*"
non avrete più problemi di questo tipo ma Portage non vi avvertirà più quando state per installare un pacchetto sottoposto a licenza d'uso.

Installare Sage su Sabayon Linux

Dopo aver combattuto per tre giorni con Mathematica su Windows, ho deciso che ne avevo abbastanza. Il mio problema era piuttosto semplice: verificare se la mia tecnica di risoluzione numerica di una classe di modelli forniva risultati corretti, confrontandola con la soluzione analitica nota. La forma analitica della soluzione non era neanche troppo complessa: un semplice integrale e qualche costante qua e la. Ma niente da fare. Sintassi incomprensibile, stalli indefiniti, errori numerici di qualunque tipo e genere. Ad un tratto, mi sono ricordato di chi sono: quando mai io ho usato Winzozz, se non nei primordi della mia adolescenza ignorante? Non c'è un'alternativa valida a Mathematica in ambiente open source? So che di MatLab esiste una versione per Linux ma, essendo contrario per principio all'utilizzo software proprietario, mi sono rifiutato di installarlo per vedere se riuscivo a cavare un ragno dal buco. Così ho domandato un po' in giro e ho travato Sage. Sage si candida come il sostituto naturale in ambiente open source per MatLab e Mathematica. In realtà, non è un vero e proprio software a sé stante ma una sorta di front end che permette di utilizzare tutta una serie di altri software matematici già presenti in Linux come Octave, Maxima, ecc.

Passiamo all'installazione. Il pacchetto per Sage non è presente sul Portage nè tanto meno su Entropy. Per installare il tutto, quindi, è necessario andare a cercare l'ebuild da qualche parte. Esiste un overlay completamente dedicato a Sage: sage-on-gentoo. Per prima cosa quindi è necessario installare l'overlay tramite layman:
$ sudo layman -L
$ sudo layman -a sage-on-gentoo
Se, come nel mio caso, layman installa gli overlay in /usr/local/portage/layman allora, dopo aver lanciato i comandi suddetti, vi ritroverete con una nuova directory /usr/local/portage/layman/sage-on-gentoo. In tale directory sono contenute, tra l'altro, le directory package.use e package.keyword con due file di nome sage al loro interno. Il contenuto del file sage presente nella directory package.keyword va copiato all'interno del vostro file /etc/portage/package.keyword oppure, nel caso in cui utilizziate package.keyword in forma di directory, sarà possibile copiare direttamente il file sage al suo interno. Tale operazione serve a smascherare i pacchetti necessari a sage per essere installato. La stessa cosa va fatta per il file sage contenuto nella directory package.use il cui contenuto va copiato nel vostro file /etc/portage/package.use. Anche in questo caso se utilizzate package.use in forma di directory potete semplicemente copiare il file sage al suo interno. Questa operazione serve per settare correttamente le USE flags affinché le dipendenze di sage vengano compilate con tutte le funzionalità necessarie.
$ sudo echo #SAGE >> /etc/portage/package.keyword
$ sudo cat /usr/local/portage/sage-on-gentoo/package.keyword/sage >> /etc/portage/package.keyword
$ sudo echo #SAGE >> /etc/portage/package.use
$ sudo cat /usr/local/portage/sage-on-gentoo/package.use/sage >> /etc/portage/package.use
Fin qui stiamo semplicemente seguendo le istruzioni contenute nella pagina principale del sito dedicato all'overlay sage-on-gentoo. Tali istruzioni non sono risultate sufficienti nel mio caso: alcuni pacchetti risultavano ancora mascherati e alcune USE flags non erano ancora settate bene.
Ho sistemato il tutto con:
$ sudo echo "net-zope/zope-i18nmessageid **" >> /etc/portage/package.keyword
$ sudo echo "sci-mathematics/maxima ecl -sbcl" >> /etc/portage/package.use
$ sudo echo "dev-libs/boehm threads" >> /etc/portage/package.use
$ sudo echo "dev-libs/boehm threads" >> /etc/portage/package.use
Ora potete partire con la compilazione di sage con un bel
$ sudo emerge sage
Mettetevi comodi ci vorrà un po' di tempo.

PS: se la compilazione fallisce provate a settare la USE flag thread anche per il pacchetto media-gfx/tachyon e a selezionare l'implementazione atlas per le librerie lapack tramite:
$ sudo eselect lapack set at

domenica 7 febbraio 2010

Utilizzare applicazioni Adobe Air con Linux

Non sono riuscito a trovare un ebuild decente per installare Adobe Air su Gentoo. L'installazione è comunque semplice (naturalmente dovremo eseguire tutti i passi come utente root):
  • Scaricare Adobe Air SDK per Linux dal sito di Adobe da qui.
  • Creare una directory /opt/adobe-air-sdk/ (mkdir /opt/adobe-air-sdk) e scompattare al suo interno il tar.gz appena scaricato (cp AdobeAIRSDK.tbz2 /opt/adobe-air-sdk, cd /opt/adobe-air-sdk, tar -xvzf AdobeAIRSDK.tbz2).
  • Creare una directory dove andremo a conservare tutte le nostre applicazioni Air /opt/adobe-air-applications (mkdir /opt/adobe-air-applications).
  • Scaricare l'applicazione che ci interessa (ad esempio zeeb che è utile per organizzare la propria libreria di film su hard disk).
  • Creare un directory per l'applicazione /opt/adobe-air-applications/zeeb (mkdir /opt/adobe-air-applications/zeeb).
  • Scompattare l'applicazione nella nuova directory (cp zeeb.air opt/adobe-air-applications/zeeb, cd opt/adobe-air-applications/zeeb, unzip zeeb.air).
  • Ora sarà possibile eseguire l'applicazione con il comando /opt/adobe-air-sdk/bin/adl -nodebug /opt/adobe-air-applications/zeeb/META-INF/AIR/application.xml /opt/adobe-air-applications/zeeb.

venerdì 5 febbraio 2010

Firefox 3 o 3.5 ed i link ed2k://

Ogni volta che esce una nuova versione di Firefox oppure ogni volta che installo Sabayon o Gentoo su un nuovo computer devo andare a cercare su Internet la procedura per configurare il mio browser in modo che faccia aprire i link ed2k a aMule.
Questa volta me la scrivo qui così sono sicuro di trovarla subito. La procedura per la versione 3 di Firefox era:
  • Scrivere nella barra degli indirizzi di Firefox about:config per entrare nel menù di configurazione.
  • Cliccare con il tasto destro in un punto qualunque e quindi scegliere New->Boolean.
  • Inserire come Preference Name network.protocol-handler.external.ed2k e come Value true.
  • Di nuovo tasto destro e scegliere New->String.
  • Inserire come Preference Name network.protocol-handler.app.ed2k e come Value il percorso che viene restituito dal comando which ed2k (da me /usr/bin/ed2k).
  • Ancora tasto destro e scegliere New->Boolean.
  • Inserire come Preference Name network.protocol-handler.warn-external.ed2k e come Value true.
A partire dalla versione 3.5 la procedura è cambiata. Diciamo che è cambiata circa diecimila volte nelle ultime versioni ma questa volta è più semplice:
  • Scrivere nella barra degli indirizzi di Firefox about:config per entrare nel menù di configurazione.
  • Cliccare con il tasto destro in un punto qualunque e quindi scegliere New->Boolean.
  • Inserire come Preference Name network.protocol-handler.expose.ed2k e come Value false.
A questo punto, la prossima volta che cliccate su un link ed2k:// Firefox vi chiederà quale programma associare al protocollo. Inserite il percorso del comando which ed2k (da me /usr/bin/ed2k) ed avete finito.