29/03 – Il giorno in cui esporrò Gimp alle masse

Che cosa c’è di meglio per festeggiare la prima parte della primavera, che non passare una piacevole giornata? In presenza di pingui compagnie, naturalmente, e con persone simpatiche e disponibili con un sacco di cose interessanti di cui parlare?

Probabilmente nulla. 😀 Per questo motivo spero di proporvi un’iniziativa interessante.

Cliccate sull'immagine per scaricare il volantino
Cliccate sull’immagine per scaricare il volantino

Il 29 marzo infatti, a Piazzola sul Brenta in provincia di Padova ci sarà una giornata denominata A tu per Tu(x) con Linux: il pomeriggio in cui ci saranno alcuni talk a riguardo del software libero e affini. Oltre a questo ci sarà la possibilità per chi viene di farsi installare una distro, e avere informazioni utili. L’evento è organizzato dal circolo culturale La Roggia.

Io sottoscritto terrò il talk su Gimp, il che è una responsabilità ma anche un grande piacere. 😀 Sarà il mio primo talk, in cui ci sarà una breve presentazione e poi un po’ di dimostrazione pratica. Insomma, spero di cavarmela bene.

Per questo motivo spero di vedere almeno qualche mio lettore (fate uno sforzo, dai!) e conoscerlo di persona. 😛 Vi aspetto numerosi!

E se non venite per me, almeno fatelo per Paolo Didonè, un big del software libero!

Resynthesizer: script per Gimp fenomenale

Prima di spiegarvi di che si tratta esattamente, facciamo un giochino:

Trovate le differenze
Trovate le differenze

Non c’è niente di eccezionale, direte. Ci vuol poco: pennello “clona” e olio di gomito. Certo, ma se vi dicessi che il lavoro l’ha fatto un software? Mi immagino la reazione, qualcosa come: cosa caspita??? Eh già, e non è tutto. Funziona anche su immagini abbastanza complicate.

Ma prima di meravigliarvi aspettate. Conoscete probabilmente il filtro per creare delle immagini affiancabili con Gimp. Tuttavia vengono fuori sempre delle immagini tagliate a rombo e non sempre sono un granché. Che ne dite, tra queste due qual’è quella più fantasiosa?

Non ho eseguito questo effetto manualmente
Non ho eseguito questo effetto manualmente

Stesso discorso di prima. Ok, non è un esempio così fantastico, però vi assicuro che si presta ad applicazioni molto interessanti. Diciamo ora che a me piacciono molto i colori del pinguino in oggetto. E li vorrei vedere sopra al caro Tux…

Che sia per caso un quadro di Picasso?
Che sia per caso un quadro di Picasso?

Dato che non è il caso di scomodare un grande artista, direi che forse anche qui c’entra il software di prima. 😀

E infatti… Quelli che vi ho fatto vedere sono solo alcuni semplicissimi esempi di quel che si può fare, ma in realtà con Gimp e Resynthesizer si possono ottenere risultati fenomenali! Con un po’ di pratica permette di risparmiare tempo in operazioni difficili. Perciò, vi consiglio di installarlo al volo e provarlo:

sudo aptitude install gimp-resynthesizer

Vi ricordo solamente che una parte degli strumenti è nel menù Script-fu e l’altra in Filtri > Mappa. Inoltre sul sito ci sono esempi migliori dei miei. Come ultima cosa, le dimensioni delle immagini che utilizzate devono essere coincidenti, quindi ridimensionate a piacere la base che usate come mappa dei colori, per farla corrispondere alle dimensioni della forma.

Provate e fatemi sapere. 😉

Crediti immagine

Come resettare la password di root di un computer attraverso Grub

Importante: prima di spiegarvi il procedimento, vi voglio precisare che non mi importa come andrete ad utilizzare queste informazioni. Se fate qualcosa di illegale non farò da complice. Non vengo certo a fare da baby-sitter a qualche aspirante lamer. Evitate perciò dei commenti tipo “cerco istruzioni per trovare password bla bla bla” perché finiranno diretti nello spam. Grazie.

In questa guida vi spiegherò come sfruttare una “vulnerabilità” di GRUB (o meglio, una impostazione insicura) per cambiare a vostro piacimento la password di root di un sistema Linux.

Nelle installazioni predefinite, solitamente le voci del GRUB non sono protette dalle modifiche, e quindi diventano delle porte spalancate agli attacchi. Se il GRUB su cui volete agire è protetto da password per le modifiche, be’ mi dispiace, il tutorial non è efficace.

Riavviate e paratevi di fronte al GRUB, in alcuni casi può essere necessario premere un determinato tasto per accedere al menù.

Menu di avvio di Grub

Spostatevi col cursore sulla voce di avvio normale (di solito la prima) e premete il tasto e. A questo punto troverete questa schermata:

Modifica della riga del kernel

Spostatevi sulla seconda riga e premete nuovamente e. Verso la fine della riga trovate il parametro ro e sostituitelo con rw. Ora mettetevi in fondo e aggiungere come parametro init=/bin/bash. State attenti perché la mappatura della tastiera viene interpretata come americana, e quindi i simboli non sono sui soliti tasti. Lascio a voi la ricerca di quelli corretti.:D

A questo punto, dopo aver aggiunto il parametro, premete Invio e quindi il tasto b. Il sistema si caricherà e vi troverete davanti… un terminale di amministratore!

Resta solo da dare, ovviamente, il comando fatidico:

Inserimento della nuova password

Ora rimontato il filesystem in sola lettura e riavviate:

mount -o remount,ro /
reboot

Spero di avervi spaventato abbastanza e avervi messo voglia di blindare il vostro GRUB! 😛

Convertire i font OpenType in font TrueType

Per lunedì dovevo fare una relazione sugli algoritmi di ordinamento e portarla a scuola. Pertanto ho voluto cercare qualche font di bell’aspetto. Ovviamente non ho esitato a consultare Dafont, il mio archivio preferito di font gratuiti e liberamente usabili. La mia scelta è ricaduta sul font Qlassik.

Entusiasta per la bellezza e l’eleganza del font, e ansioso di applicarlo ai titoli dei paragrafi, lo scarico, e mi accorgo subito che è composto di due file di tipo OpenType. Io da perfetto incompetente, non sapevo che fosse un formato registrato da Microsoft, anzi pensavo che quell’open significasse qualcos’altro. Dopo aver messo i font nella cartella /usr/share/fonts/truetype e aver visto che non funzionavano, ho deciso di trovare un modo di convertirli. Ebbene, ce l’ho! 🙂

Seguo la guida e installo Fontforge:

sudo aptitude install fontforge

A questo punto creo un file che dice a Fontforge cosa fare:

sudo gedit /usr/bin/script-otf2ttf.sh

E ci inserisco le istruzioni:

#!/usr/local/bin/fontforge
 # Quick and dirty hack: converts a font to truetype (.ttf)
 Print("Opening "+$1);
 Open($1);
 Print("Saving "+$1:r+".ttf");
 Generate($1:r+".ttf");
 Quit(0);

Salvo ed esco. Se copiate il contenuto del file state attenti alle virgolette!

Poi ho creato un nuovo eseguibile in questo modo:

sudo gedit /usr/bin/otf2ttf

E ci ho inserito:

#!/bin/bash
 for i in $@; do
 fontforge -script /usr/bin/script-otf2ttf.sh $i
 done

A questo punto ho salvato, poi gli ho dato i permessi di esecuzione:

sudo chmod a+x /usr/bin/otf2ttf

Fatto.

Mi sono trovato con un programmino che accetta in input i font di tipo .otf e li converte in .ttf, ovvero TrueType, perfettamente gestibili da tutti i programmi. Come fare per convertire tutti i file OpenType in una directory?

Semplice. Ci si sposta nella cartella in cui sono contenuti e si da il comando:

otf2ttf *.otf

In questo modo il programma esegue una istanza della conversione per ogni file che trova. A questo punto è possibile ad esempio spostarli tutti in una cartella:

mkdir ttf
mv *.ttf ttf/

E questo è quanto.:)

Per finire, vi linko la guida che mi ha portato sulla giusta strada. Ditemi che ne pensate! 😀

Aggiornamento 19/03/2009: ho aggiornato questo post con una modifica per rendere più semplice l’utilizzo dello script con un numero arbitrario di font.

Cambiare l’etichetta di una chiavetta usb, in modo chic

Qualche tempo fa, avendo necessità di nominare con il mio cognome la chiavetta usb da usare per i file del laboratorio a scuola, ho cercato un po’ su Google e mi sono imbattuto nel post di Aldolat.

Ho deciso quindi di fare in quel modo, e funziona perfettamente. Adesso, visto che volevo provare un po’ di Bash, ho fatto un piccolo script per rendere un po’ più automatica la cosa. Ecco come fare.

Salvate nella vostra home il file etichetta-usb.sh con il seguente contenuto:

#!/bin/sh
echo "   Questo script rinomina l'etichetta di una chiavetta usb   "
echo "   (è consigliabile inserirlo con l'iniziale maiuscola).   "
echo "   Assicurati di aver smontato la chiavetta usb.   "
echo "   Inserisci il nome dell'etichetta da dare alla penna usb:   "
echo "   "
read NOME
echo "   "
echo "   Inserisci il volume (per esempio /dev/sdb1):   "
echo "   "
read DEVICE
echo "   "
sudo mlabel -i $DEVICE ::$NOME
echo "   Finito. Estrai la penna usb e reinseriscila.   "

Dopodiché fate:

cd
chmod a+x etichetta-usb.sh
sudo mv etichetta-usb.sh /usr/bin
sudo aptitude install mtools

Ora, per usare lo script, modificate il menù, e in una sezione a scelta (tipo Strumenti di Sistema) inserite una nuova voce, il cui comando deve essere:

xterm -hold -e /usr/bin/etichetta-usb.sh

Ricordate prima di avviare lo script che dovete smontare la chiavetta se la sua icona compare sul desktop, e che dovete essere tra gli utenti che possono compiere operazioni di amministrazione. 🙂

Ecco, ditemi che ne pensate. 😀

Copertine CD con la HP Photosmart C5280 All-in-one su Linux

Attenzione: questa guida ora è superata e rimane qui solamente per referenza. La nuova guida, più semplice e perfettamente funzionante (compresi i mini CD) è consultabile a questo indirizzo.

Egregi, dopo l’acquisto da me fatto e di cui al titolo stesso, sono riuscito a configurare anche la stampa su CD, raggiungendo così la piena possibilità di utilizzo del prodotto in questione! 😀

Per fare ciò, ho alquanto torturato il povero CD stampabile fornito nella confezione. Osserviamo un minuto di silenzio per questo povero dispositivo; così ridotto:

Lo onorerò mettendoci dentro qualche distro… devo ancora decidere cosa di preciso. Almeno non sarà martoriato invano.

Come potete vedere dall’ultima prova di stampa (nell’immagine è tratteggiata) ho trovato le impostazioni per centrare perfettamente la copertina. Rimane un bordino bianco, ma succede anche su Windows, e poi è meglio così.

Per creare facilmente delle copertine dei CD, scaricate questo file e spostatelo nella sottocartella Templates nella vostra home (se non c’è createla). Dopodiché cliccateci sopra con il destro e alla voce proprietà cambiate icona scegliendo quella che si trova in /usr/share/icons/Tango/32×32/devices/gnome-dev-cdrom-audio.png. Adesso spostatevi in una qualsiasi directory come ad esempio sul Desktop, cliccate col destro e selezionate Crea > Copertina CD.

Verrà creato un file con il template che vi ho fatto installare prima. Apritelo. Come potete vedere, è un file di Openoffice che contiene due immagini (una col bordo e una bianca nei punti giusti). 🙂

Voi dovete inserire le immagini e/o le scritte che volete e poi disporle in secondo piano (tasto destro > Disponi > Porta indietro) fino a che non sono sotto al bordo e all’immagine bianca. Cancellate pure la didascalia che ho messo.

Quando siete soddisfatti e volete stampare (potete anche rimuovere l’immagine col bordo, ma lasciate quella bianca) estraete il vassoio di stampa del cd e metteteci un cd stampabile. Inserite il CD nel vano per la stampa dei cd come indicato nel manuale della stampante, e assicuratevi che la stampante sia staccata posteriormente dal muro per almeno 8 cm.

A questo punto selezionate File > Stampa e scegliete la stampante HP Photosmart. Andate nel menù Proprietà e impostate così:

La scheda stampa
La scheda stampante

Dopodiché fate OK e tornate alla finestra di prima.

Andate su Extra e impostate così:

Questa impostazione è decisiva

Adesso confermate e avviate la stampa. Vi verrà fuori un avviso che vi avverte che l’area di stampa è inferiore alla dimensione della pagina del documento. Voi scegliete “Ritaglia” e aspettate che il CD venga stampato. 😀

In fin dei conti si tratta solo di utilizzare il template che ho creato e ricordarsi le impostazioni di stampa. Dopo un paio di stampe viene automatico.

Nota finale: se volete altri template per vari tipi di documenti date un’occhiata qui. 😉

Connettere il Nintendo DS a Linux con il wi-fi (non con l’adattatore Nintendo)

Questa materia mi ha incuriosito, così oggi ho fatto un po’ di ricerche tanto per vedere se l’adattatore Wireless di Nintendo per caso funzionasse con Linux (casomai avessi pensato di comprarlo). La risposta è no. A parte questo, ricordatevi che quell’adattatore funziona solo con periferiche autorizzate, usa un protocollo proprietario, e costa come qualsiasi altra chiavetta wi-fi.

Perciò se volete connettere a Internet il Nintendo DS con la vostra connessione avete due strade: o usate un router Wireless o una chiavetta wi-fi normale (ripeto, non quella di Nintendo). Prima di comprare una periferica consiglio di verificarne la compatibilità con Linux, anche se Ubuntu 7.04 se la cava egregiamente.

Router Wi-fi

Per prima cosa controllate che il vostro router sia supportato da Nintendo e che sia configurato correttamente per la connessione ad internet, inoltre se è protetto deve usare la protezione WEP. A questo punto si può procedere all’utilizzo della funzione di ricerca automatica come indicato nel sito. Qui potete trovare una copia in Pdf delle istruzioni, senza perdere tempo a cercare.

Chiavetta wi-fi

Per usare il metodo che illustrerò avete bisogno di questi requisiti:

  • Linux con kernel 2.4.x o superiore (la guida è orientata ad Ubuntu, ma qualsiasi altra distro dovrebbe andare bene)
  • Una chiavetta wi-fi usb correttamente installata sul sistema
  • Una connessione ad internet funzionante che non si appoggi alla chiavetta wi-fi che volete far comunicare con il DS
  • Una basilarissima conoscenza del terminale
  • I pacchetti wireless-tools e iptables installati
  • La voglia di perdere un po’ di tempo (penso che in mezz’ora si possa fare)

Dopo aver elencato i requisiti passerò alla spiegazione. Per prima cosa inserite la chiave wi-fi usb.

Adesso la chiave così com’è è impostata in modo da essere uno Slave, cioè si aspetta di ricevere un servizio. In realtà la chiave lo deve fornire il servizio, e lo deve dare al Nintendo DS. Deve quindi diventare Master.

Ora dovete scoprire il nome dell’interfaccia di rete che Linux ha assegnato rispettivamente alla vostra connessione ad internet ed alla chiavetta.

Per fare ciò, date nel terminale questo comando:

ifconfig

Ed avrete l’elenco delle interfacce di rete del computer. Se per internet usate una connessione ethernet quasi sicuramente la vostra interfaccia sarà eth0. La vostra chiavetta avrà con tutta probabilità l’interfaccia wlan0. La guida presumerà queste condizioni, modificate i comandi in caso di una diversa configurazione.

Adesso pensiamo a impostare la chiavetta per fare da Master e aggiungiamo tutte le altre impostazioni necessarie:

sudo iwconfig wlan0 mode Master
sudo iwconfig wlan0 essid "LINUX_AP"
sudo iwconfig wlan0 channel 6
sudo iwconfig wlan0 rate 2M

Adesso la vostra chiavetta è diventata ufficialmente un Access Point!

Nota importante: il canale numero 6 nella guida originale era indicato come l’ideale per gli USA, invitando ad informarsi per gli altri stati. Il sito Pianeta Radio indica che in Europa è lecito utilizzare i canali dal numero 1 al numero 13. Per questo motivo ho ritenuto che il canale 6 vada più che bene.

Adesso siamo ad un buon punto. Utilizzate la funzione di ricerca degli Access Point del Nintendo DS come indicato nella guida sul sito linkato prima (o nel Pdf linkato prima) e connettetevi all’Access Point LINUX_AP.

Vi apparirà un errore.

Sì, perché non abbiamo ancora configurato l’Access Point. Tranquilli comunque, il fatto che il DS abbia trovato l’Access Point significa che fin qui è andato tutto bene.

Adesso assegniamo l’intervallo di ip da usare con la chiavetta, deve essere diverso da quello usato dal vostro router.

Quasi sicuramente andrà bene questo comando:

sudo ifconfig wlan0 up 192.168.2.1

Ecco, adesso dobbiamo convogliare il traffico di rete tra le due interfacce, in modo che la connessione passi dal Nintendo DS alla chiavetta alla vostra connessione ad Internet.

sudo iptables --table nat --append POSTROUTING -o eth0 -j MASQUERADE
sudo iptables --append FORWARD --in-interface wlan0 -j ACCEPT
sudo echo 1 > /proc/sys/net/ipv4/ip_forward

Adesso dobbiamo assegnare un ip al Nintendo DS.

Seguite la guida in Pdf di prima, ma invece di toccare la voce di ricerca degli Access Point selezionate Manual Setup traducibile in Configurazione manuale.

Inserite i seguenti dati:

SSID: LINUX_AP

Ip Address (indirizzo ip): 192.168.2.2

Gateway: 192.168.2.1

Primary/Secondary DNS (DNS primario/secondario): per questi inserite i DNS del vostro provider, oppure gli OpenDNS.

Adesso salvate la configurazione e fategli fare il test della connessione.

A questo punto se tutto è andato per il verso giusto sarà connesso!

Tradotto, semplificato e spiegato dalla guida originale di PD Ghost Buster.

Mantenere Wine sempre pulito e bello esteticamente

Capita che utilizzare un’applicazione Windows sia necessario (a me praticamente mai, comunque…), ed in questo caso ci viene in aiuto il buon Wine. Il problema purtroppo è che un applicazione sotto Wine al naturale è decisamente brutta.

Decisamente non ci siamo…

In questa guida vedremo come partire da un’installazione nuova di Wine e rendere il suo aspetto più gradevole, per poi farne una copia di backup da ripristinare occasionalmente.

Quindi se non avete un’installazione nuova di Wine, e non avete programmi installati o ce li avete ma non sono importanti, potete azzerare le vostre impostazioni di Wine (ed i programmi installati) con il comando:

cd ~
rm -rf .wine

Adesso avviate da terminale Wine senza argomenti:

wine

E aspettate che ricrei la directory appena rimossa.

Adesso che abbiamo Wine nuovo possiamo pensare all’aspetto estetico. Se utilizzate un tema chiaro installate Royale; mentre se utilizzate un tema scuro be’ mettetevi l’anima in pace perché il massimo che ho trovato è stato qualche tema grigietto… Se ne trovate qualcuno di nero segnalatemelo.

A questo punto aprite la configurazione di Wine e nel tab Desktop Integration impostate il tema a Media Center Style.

Applicate e chiudete le applicazioni aperte (per avere lo stile applicato correttamente bisogna riaprire i programmi).

Ricorda Windows… Però direi che è decisamente meglio di prima!

Ovviamente ciò si può fare anche con altri temi per Windows (anche quelli non ufficiali, che su Windows necessitano di una patch) basta solo che scegliate quello che preferite.

Ma veniamo alla pulizia.

Adesso che abbiamo il nostro tema ci conviene creare una copia di backup da ripristinare al volo. Prima di fare ciò ci conviene settare le impostazioni relative alle unità virtuali e le altre che vogliamo.

Poi facciamo nel terminale:

cd ~
cp -rf .wine .wine.backup

Poi, quando vogliamo resettare la nostra installazione di Wine senza reinstallare il tema (ma perdendo tutti i programmi comunque):

cd ~
rm -rf .wine
cp -rf .wine.backup .wine

Recuperare le immagini danneggiate

Lavorando con le foto capita di trovarsi in situazioni estremamente irritanti come questa:

In questo caso abbiamo una foto danneggiata che non ne vuol sapere di aprirsi in Gimp.

La cosa a me è capitata proprio oggi, ed ho cercato un modo di recuperare la foto. Gimp è schizzinoso e non la apre, ma questo non vuol dire che sia tutto perduto. 🙂 A volte una foto è rovinata soltanto parzialmente, ma la sua componente “buona” può essere recuperata.

Per fare ciò useremo l’utility convert di Imagemagick.

Se non l’abbiamo installato, facciamo da terminale:

sudo apt-get install imagemagick

E poi per recuperare la foto:

convert immagine-danneggiata.jpg recupero.png

Qui ho convertito l’immagine danneggiata (che era una JPEG) in una PNG visto che è un formato lossless leggibile con Gimp.

Ora si può aprire l’immaginein Gimp e provvedere a rattoppare la parte danneggiata, sperando che sia solo una piccola porzione dell’immagine.

Risolvere i problemi relativi ai caratteri accentati nelle applicazioni KDE

Oggi, provando l’ottimo Kopete, ho notato che le applicazioni KDE avevano dei problemi a gestire i caratteri accentati. Perciò ho cercato un po’ ed ho trovato la soluzione. 🙂 Basta modificare un file:

sudo gedit ~/.bashrc

E incollarci in fondo queste righe:

# Risolve problemi di caratteri accentati
export LC_ALL=C
export LANG="it_IT.UTF-8"
export LC_CTYPE="it_IT.euro"

In realtà solo la prima è fondamentale, ma le altre due sono comunque utili per precisare che usiamo una tastiera italiana. Ricordate che perché i cambiamenti abbiano effetto è necessario riavviare il server grafico. 😉