tag:blogger.com,1999:blog-46708079856291390902024-02-19T10:15:13.450+01:00Io e UbuntuMassimohttp://www.blogger.com/profile/02775448460263489533noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-4670807985629139090.post-14565303190095796412009-08-24T12:52:00.001+02:002009-08-24T12:55:53.451+02:00Software per abbonarsi a feed<p>Per chi voglia abbonarsi ai feed dei propri blog preferiti ed essere così costantemente aggiornato sui nuovi contenuti pubblicati, non mancano certo le possibilità. I molti possessori di un account <strong>Google</strong> possono utilizzare il servizio <strong>Google Reader</strong>, inoltre <strong>lettori di feed</strong> sono inclusi in browser, nativamente in <strong>Opera</strong> o tramite componenti aggiuntivi (ad esempio <a href="https://addons.mozilla.org/en-US/firefox/addon/77">Sage</a>) in <strong>Firefox</strong>, oltre che in programmi per la gestione della posta elettronica (<strong>Thunderbird</strong>).</p>
<p>Anche se si preferiscono applicazioni dedicate le possibilità di scelta sono molte. I lettori di feed elencati di seguito sono tutti disponibili sui repository ufficiali Ubuntu, si possono quindi installare tramite <strong>Synaptic</strong> o da terminale con</p>
<p><code>sudo apt-get install <em>nome_pacchetto</em></code></p>
<h3>Liferea</h3>
<p>Pacchetto: liferea</p>
<p>Di semplicissimo utilizzo, le sottoscrizioni ai feed di proprio interesse possono essere organizzate in cartelle; per iscriversi basta premere il pulsante <em>Nuova sottoscrizione</em> ed indicare l'indirizzo del feed o anche solo quello del sito o del blog desiderato. In quest'ultimo caso i feed offerti dal sito saranno trovati automaticamente.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvh7gebXoizkZzKGz0N_JgqvZCCgEoOYOK_an4ReueQsm_zR5pIwLoC-JIJF_x98wKUwzo72PFqKw2leEnNMqDAjWjv_1P5harMo_wGy1QtBrL23A98nadz3IhAdEOCUlUkOESvDqUVs/s1600-h/lettori-feed1.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnvh7gebXoizkZzKGz0N_JgqvZCCgEoOYOK_an4ReueQsm_zR5pIwLoC-JIJF_x98wKUwzo72PFqKw2leEnNMqDAjWjv_1P5harMo_wGy1QtBrL23A98nadz3IhAdEOCUlUkOESvDqUVs/s320/lettori-feed1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5373289265985640898" /></a>
<h3>Yarssr</h3>
<p>Pacchetto: yarssr (universe)</p>
<p>Mostra i titoli degli ultimi articoli dei feed a cui si è iscritti tramite un'icona collocata nell'area di notifica. Un click sul titolo apre l'articolo nel browser predefinito.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBmJko_HMaZKfemb7GcXLP9N9utv1Jo1k3IJBBdv1GWtUoQpsGjrlMQiyUbvTY1DZdZdNXcrGtSCuGAMBuiksGN29OiBvfXNVJRIv0nu72FBpm77SdZujX701lMLJdEBmyNRMMA8pARuc/s1600-h/lettori-feed2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 169px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBmJko_HMaZKfemb7GcXLP9N9utv1Jo1k3IJBBdv1GWtUoQpsGjrlMQiyUbvTY1DZdZdNXcrGtSCuGAMBuiksGN29OiBvfXNVJRIv0nu72FBpm77SdZujX701lMLJdEBmyNRMMA8pARuc/s320/lettori-feed2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5373289639034368290" /></a>
<p>Anche questo è un programma facilissimo da usare, forse non l'ideale se i feed sono molti, ma è utile per quelle sottoscrizioni che si vogliono avere sempre sott'occhio.</p>
<h3>Blam</h3>
<p>Pacchetto: blam (universe)</p>
<p>Presenta la tipica interfaccia a "pannelli": a sinistra la lista delle sottoscrizioni ai feed (canali), a destra in alto i titoli degli articoli nel canale selezionato, sotto il testo dell'articolo.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpKIagZiiX8G8QqBiNhNPcMh8etGBKKay6ZY6E-FRx6lvVyb9LkQQEZpwfZXOYg4Pp-12di_s3htLpbjJoxdoYGel9fvpIeZAmZgrR05WtbYfHCHQWm_4kjeppNPpB1DG8xOFi53cX5U/s1600-h/lettori-feed3.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 210px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjEpKIagZiiX8G8QqBiNhNPcMh8etGBKKay6ZY6E-FRx6lvVyb9LkQQEZpwfZXOYg4Pp-12di_s3htLpbjJoxdoYGel9fvpIeZAmZgrR05WtbYfHCHQWm_4kjeppNPpB1DG8xOFi53cX5U/s320/lettori-feed3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5373289823597014130" /></a>
<h3>Evolution RSS</h3>
<p>Pacchetto: evolution-rss (universe)</p>
<p>Un plugin per aggiungere funzioni di lettore feed ad <strong>Evolution</strong>, il programma per la gestione della posta elettronica predefinito di Ubuntu. Una volta installato, apriamo la schermata delle <em>Preferenze</em> di Evolution (menù <em>Modifica</em> » <em>Preferenze</em>), selezioniamo la voce <em>News & Blogs</em> e premiamo il pulsante <em>Add</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic5YWr25Oush0ppb8S4rlhUcDLMjVHrj6-LDf5dh2iHb-FKfWPQL1cU8zD7syvZ8-AK1N-piZqM2SwyisMDdpSbJzTgXfVCll6k_Z8B4XOUX3QronmQAWjx9E8PhNH8htEujmazdfNYhI/s1600-h/evolution-rss.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 296px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEic5YWr25Oush0ppb8S4rlhUcDLMjVHrj6-LDf5dh2iHb-FKfWPQL1cU8zD7syvZ8-AK1N-piZqM2SwyisMDdpSbJzTgXfVCll6k_Z8B4XOUX3QronmQAWjx9E8PhNH8htEujmazdfNYhI/s320/evolution-rss.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5373290232202607682" /></a>
<p>Nella finestra di dialogo inseriamo l'indirizzo del feed desiderato. Ad esempio per questo blog:</p>
<p><code>http://io-e-ubuntu.blogspot.com/feeds/posts/default</code></p>
<p>Fatta questa operazione l'elenco degli articoli sarà disponibile nella finestra principale del programma.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizQ7bOoWdp9O3jncnKiZ4Q1k-4seqJAvGWREmp-hzqmtOq18ibS5NnIdiqXcAZOJP0VqRjvUH9kkC0ZfxxqC0L9TG0uEynYQNWOT0ehXfzSzg13d0dNeG68r3zek7G3YEz7t4z8dqKc_k/s1600-h/evolution-rss2.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 179px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEizQ7bOoWdp9O3jncnKiZ4Q1k-4seqJAvGWREmp-hzqmtOq18ibS5NnIdiqXcAZOJP0VqRjvUH9kkC0ZfxxqC0L9TG0uEynYQNWOT0ehXfzSzg13d0dNeG68r3zek7G3YEz7t4z8dqKc_k/s320/evolution-rss2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5373290392807971074" /></a>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-42325152893155019732009-07-28T14:38:00.003+02:002009-07-28T14:48:21.617+02:00Sincronizzare segnalibri tra Delicious e Firefox<p><a href="https://addons.mozilla.org/en-US/firefox/addon/3615" title="Delicious Bookmarks componente per Firefox">Delicious Bookmarks</a> è un componente aggiuntivo per Firefox che ci consente di mantenere sincronizzati i segnalibri del proprio account in <strong>Delicious</strong> con quelli di Firefox. Può essere uno strumento utile specialmente per chi naviga spesso con computer diversi: se ad esempio vi siete 'segnati' un sito al lavoro lo potete facilmente importare nei segnalibri di Firefox sul computer di casa.</p>
<p>A prima vista, almeno a me ha fatto questa impressione, può sembrare un componente abbastanza invadente, infatti vengono aggiunti:</p>
<p><ul><li>un intero menù di primo livello (<em>Delicious</em>);</li>
<li>tre pulsanti sulla barra degli strumenti principali;</li>
<li>una nuova barra degli strumenti;</li>
<li>tre icone di notifica sulla barra di stato.</li></ul></p>
<p>Comunque la barra degli strumenti può essere nascosta nel modo standard (dal menù <em>Visualizza</em> » <em>Barre degli strumenti</em> e le icone rimosse dalla configurazione del componente (<em>Strumenti</em> » <em>Delicious Options</em>).</p>
<p>Se poi si decide di utilizzare questo strumento per la gestione dei segnalibri, il menù del componente può interamente sostituire quello standard <em>Segnalibri</em> che può quindi essere nascosto: esiste un'opzione per farlo sia all'interno del menù Delicious (<em>Hide Bookmarks Menu</em>) sia nella configurazione del componente (<em>Strumenti</em> » <em>Delicious Options</em> » <em>Advanced</em>, <em>Hide the standard Firefox bookmarks menu</em>).</p>
<p>Una volta configurato l'aspetto del componente come più ci aggrada, l'utilizzo di base è semplice. Se serve importare in Delicious i segnalibri preesistenti in Firefox bisogna utilizzare l'apposita opzione nel proprio account Delicious (<em>Settings</em> » <em>Import / Upload Bookmarks</em>).</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOAIugJ3fRLH0lOij15xz9jmsQqRbxLeQqtgqROqFU30RAcvbNHPrs7YslUiqfIkQtmNu_Z4cQwJcoWcbA7aLRoVvbYhgwbfSjZc6qvkl3nWwzoTDzAY2mRiVATqse9uy1mCgnaaVzC-k/s1600-h/delicious-bookmarks.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 172px; height: 87px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOAIugJ3fRLH0lOij15xz9jmsQqRbxLeQqtgqROqFU30RAcvbNHPrs7YslUiqfIkQtmNu_Z4cQwJcoWcbA7aLRoVvbYhgwbfSjZc6qvkl3nWwzoTDzAY2mRiVATqse9uy1mCgnaaVzC-k/s400/delicious-bookmarks.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5363491498855879826" /></a>
<p>Da questo punto in poi quando impostiamo un segnalibro in Firefox con l'apposito pulsante <em>Tag</em> creato dal componente, lo troveremo automaticamente anche nel proprio account Delicious con la descrizione ed i tag desiderati.</p>
<p>Un altro pulsante apre una barra laterale in Firefox che ci consente di accedere ai segnalibri rimanendo nel browser.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-65187449279756281842009-07-21T22:51:00.002+02:002009-07-21T22:56:26.755+02:00Scalare immagini multiple con Phatch<p>Può capitare spesso di dover eseguire la stessa operazione in modo ripetitivo su una serie di immagini. Ad esempio scalare tutte le immagini alle stesse dimensioni per utilizzarle in un sito web o come miniature per una galleria.</p>
<p>Quando le immagini sono numerose fare questo tipo di operazione con un programma di grafica può richiedere molto tempo ed essere realmente noioso. Anche quando il programma di grafica dispone di un linguaggio di scripting il suo utilizzo non è di solito immediato per l'utente non esperto.</p>
<p>In tutti questi casi uno strumento che risolve il problema facilmente è <strong>Phatch</strong>. Già il nome, che sta per <em>Photo & Batch</em>, suggerisce che lo scopo di questo software è consentire l'esecuzione di una serie di operazioni grafiche su un gruppo di immagini.</p>
<p>Phatch è installabile da Gestore pacchetti Synaptic (pacchetto 'phatch', repository <em>universe</em>). Una volta installato è disponibile nel menù <em>Applicazioni</em> » <em>Grafica</em>. Appena lanciato il programma la prima cosa da fare è impostare la sequenza delle operazioni che saranno eseguite sulle immagini, alcune di quelle disponibili sono le seguenti:</p>
<p><ul><li>Applica filigrana;</li>
<li>Applica un effetto ombreggiatura;</li>
<li>Crea angoli arrotondati;</li>
<li>Scala immagine;</li>
<li>Aggiungi testo all'immagine;</li>
<li>Capovolgi o ruota.</li></ul></p>
<p>Oltre a queste sono disponibili molte altre operazioni grafiche. L'ultima azione della sequenza deve necessariamente essere <em>Salva</em> tramite la quale si specifica in quale cartella salvare le immagini trasformate.</p>
<p>Basta a questo punto eseguire le azioni: sarà richiesto di selezionare la cartella contenente le immagini da elaborare.</p>
<p>La sequenza di operazioni può essere salvata per un successivo riutilizzo.</p>
<p>Phatch è disponibile anche per Windows e Mac.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-76632554431644752802009-07-17T19:02:00.000+02:002009-07-17T19:04:55.421+02:00Sincronizzare cartelle con Rsync<p><strong>Rsync</strong> è uno strumento realmente utile quando sia ha l'esigenza di sincronizzare il contenuto di due cartelle. Con <strong>rsync</strong> solo i nuovi file e quelli che sono stati modificati vengono trasferiti dalla cartella sorgente a quella di destinazione, inoltre si può scegliere di cancellare dalla cartella di destinazione i file che non sono più presenti nella cartella sorgente.</p>
<p>Se non è già presente si può installare da <em>Gestore pacchetti Synaptic</em> (pacchetto 'rsync').</p>
<p>Le opzioni disponibili sono molte, ecco un esempio che ho utilizzato in una situazione molto semplice: allineare la cartella <em>Documenti</em> nella mia 'home' con una di un hard disk esterno.</p>
<p><code>rsync -rlptv --progress --delete --exclude=*~ /home/nome_utente/Documenti/ /media/LaCie/documenti</code></p>
<p>Le opzioni hanno questo significato:</p>
<p><ul><li><strong>r</strong> (o <strong>--recursive</strong>), le sottocartelle della cartella sorgente ed i file in esse contenuti sono inclusi ricorsivamente: in pratica si sincronizza tutto l'albero a partire dalla cartella sorgente;</li>
<li><strong>l</strong> (o <strong>--links</strong>), i symlink sono copiati come tali. Con un altra opzione (<strong>-L</strong> o <strong>--copy-links</strong>) sarebbero copiati la cartella o il file a cui il symlink è collegato;</li>
<li><strong>p</strong> (o <strong>--perms</strong>) preserva i permessi;</li>
<li><strong>t</strong> (o <strong>--times</strong>) preserva le date di modifica;</li>
<li><strong>v</strong> (o <strong>--verbose</strong>) per ricevere messaggi più dettagliati;</li>
<li><strong>--progress</strong> mostra messaggi che indicano il progresso dell'operazione di sincronizzazione;</li>
<li><strong>--delete</strong> i file presenti nella cartella destinazione, ma non in quella sorgente vengono cancellati;</li>
<li><strong>--exclude</strong> serve a specificare un <em>pattern</em> di esclusione. Nell'esempio escludo i file di backup (es. <em>nomefile.txt~</em>) generati automaticamente quando si salva nell'editor un file su sè stesso.</li></ul></p>
<p>'/home/nome_utente/Documenti/' indica che sarà copiato il <strong>contenuto</strong> della cartella sorgente <em>Documenti</em>, ma la cartella stessa non sarà ricreata sulla destinazione come sarebbe successo con '/home/nome_utente/Documenti'.</p>
<p>'/media/LaCie/documenti' è la cartella di destinazione.</p>
<p>Questo è un esempio semplice nel manuale ovviamente c'è molto di più. Con <strong>rsync</strong> è possibile anche sincronizzare una cartella sorgente con una di destinazione che si trova su un server remoto. A me questa cosa per ora non serve e non me la sono studiata.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com2tag:blogger.com,1999:blog-4670807985629139090.post-70092647375544419732009-07-14T09:12:00.000+02:002009-07-14T09:12:00.226+02:00Eventi Calendario Google sulla scrivania<p>Uso spesso il <strong>calendario di Google</strong> per memorizzare appuntamenti e scadenze importanti, è comodo e non è facile dimenticarsi qualcosa grazie ai promemoria. Per i più smemorati può però essere utile piazzarsi gli eventi del calendario in bella vista sulla Scrivania di Ubuntu, la cosa è fattibile facilmente utilizzando uno screenlet chiamato <strong>ClearCalendar</strong>.</p>
<p>Per prima cosa occorre avere installato il gestore di screenlet (<strong>Screenlet Manager</strong>), se non lo si è fatto prima si possono seguire le istruzioni in <a href="http://io-e-ubuntu.blogspot.com/2009/06/personalizzare-la-scrivania-con.html" title="Personalizzare la scrivania con Screenlet">questo post</a>.</p>
<p>Apriamo il programma da <em>Applicazioni</em> » <em>Accessori</em> » <em>Screenlets</em>, selezioniamo <strong>ClearCalendar</strong> e poi facciamo click su <em>Launch/Add</em> per aggiungere il calendario alla Scrivania. Volendo si può spuntare <em>Autostart on login</em> nelle opzioni sulla colonna sinistra per lanciare lo screenlet automaticamente ad ogni avvio di Ubuntu.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMpCkLJTyVD7SJG41dsYNG0z4bi9x9X3Yoqdzahcc6LnclaO5Vh5xPcvFBVT8PSP7hAl8M7a6Mb6Vmj7tGQrA_9HxPtCIFKfeC-FMRiYQ6sYb8E2jAJKs_7gwBloLaoJrS-kYI2YTnH1M/s1600-h/clear-calendar1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 248px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhMpCkLJTyVD7SJG41dsYNG0z4bi9x9X3Yoqdzahcc6LnclaO5Vh5xPcvFBVT8PSP7hAl8M7a6Mb6Vmj7tGQrA_9HxPtCIFKfeC-FMRiYQ6sYb8E2jAJKs_7gwBloLaoJrS-kYI2YTnH1M/s320/clear-calendar1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358136417041936146" /></a>
<p>Nella pagina del nostro calendario di Google apriamo il menù a discesa con la freccia a fianco del nome del calendario e selezioniamo l'opzione <em>Impostazioni calendario</em>. </p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjte6hNdZrgBN5bWSXrCDLZ6W16_rqFyIW1g5VtDnSZUIO9rCtT5qhj-zHAJ2x9iLeB494Ic9QEIn-bcJA8ZKM8tIc0HEXRZEqTsdbdVFIZmqG1_I8dgyW2NnyRNBhrVY3kM6tKxA8CZyI/s1600-h/clear-calendar2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 312px; height: 174px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjte6hNdZrgBN5bWSXrCDLZ6W16_rqFyIW1g5VtDnSZUIO9rCtT5qhj-zHAJ2x9iLeB494Ic9QEIn-bcJA8ZKM8tIc0HEXRZEqTsdbdVFIZmqG1_I8dgyW2NnyRNBhrVY3kM6tKxA8CZyI/s320/clear-calendar2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358136679898145986" /></a>
<p>Nella schermata successiva, in basso nella sezione <em>Indirizzo privato</em> facciamo click su ICAL.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVJsylFbz_xcBnfKMNzjFXWr_NVBVbEG_VdTkapi0a-LF7ZIedbzZbWtyBxt7qdhLyo2JsbRds-fste-qvATDnwQjw204LQwF76E2JlqWYgxkB7TT72iIwuWq7EfvOzNsYljCMQ1pdyRM/s1600-h/clear-calendar3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 78px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVJsylFbz_xcBnfKMNzjFXWr_NVBVbEG_VdTkapi0a-LF7ZIedbzZbWtyBxt7qdhLyo2JsbRds-fste-qvATDnwQjw204LQwF76E2JlqWYgxkB7TT72iIwuWq7EfvOzNsYljCMQ1pdyRM/s320/clear-calendar3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358136813941620994" /></a>
<p>Appare una finestra con l'indirizzo privato del nostro calendario che copiamo negli appunti. Ci posizioniamo sulla Scrivania, facciamo click con il pulsante destro sullo screenlet calendario e scegliamo <em>Properties</em> dal menù. Nella finestra che si apre selezioniamo la scheda <em>Options</em> e la sottoscheda <em>iCalendar</em>, incolliamo l'indirizzo privato del nostro calendario (per intero incluso http:// iniziale) nel campo <em>iCalendar ics file path</em> e facciamo click su <em>Applica</em>, spuntiamo poi <em>Show iCalendar events</em> e nuovo click su <em>Applica</em>. Volendo si possono personalizzare i colori e dalla scheda <em>Themes</em> scegliere uno stile diverso del calendario. Un click su <em>Chiudi</em> quando abbiamo finito.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZsRaCepX2IwtB2gz2T-4P_Hu4W8KWVu4ZJvLbdbVMfsAiaHvBnhWcTiSI2xznz3ozVx_DZK2N5dABnbDo3m1GriIpjmGrLKCIdUBhhZyeJzchly9IaBk853Uq3SMO1zerJCB7irwKQog/s1600-h/clear-calendar4.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZsRaCepX2IwtB2gz2T-4P_Hu4W8KWVu4ZJvLbdbVMfsAiaHvBnhWcTiSI2xznz3ozVx_DZK2N5dABnbDo3m1GriIpjmGrLKCIdUBhhZyeJzchly9IaBk853Uq3SMO1zerJCB7irwKQog/s320/clear-calendar4.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358136934724721970" /></a>
<p>A questo punto i giorni con eventi impostati nel calendario di Google saranno visualizzati in ClearCalendar con un colore di sfondo diverso, in più facendo click con il pulsante destro sullo screenlet e scegliendo <em>View events</em> un pop-up ci mostra la descrizione degli eventi del mese.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBM7oYqMAd43HY-s2984H9kRW9GeGXe9HvilJLbBZM5QzNab0KnU0r3sSmyLTj-zeiUkTZsrlqO-odnuLCa1Lt1Qsc2PLSZ8l5W0kzK-Tck4A137mNhaOfS5QrgqzDxeznPyAoKkeEg8s/s1600-h/clear-calendar5.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 166px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBM7oYqMAd43HY-s2984H9kRW9GeGXe9HvilJLbBZM5QzNab0KnU0r3sSmyLTj-zeiUkTZsrlqO-odnuLCa1Lt1Qsc2PLSZ8l5W0kzK-Tck4A137mNhaOfS5QrgqzDxeznPyAoKkeEg8s/s320/clear-calendar5.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5358137076584459634" /></a>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-48161459307565563122009-07-13T13:34:00.004+02:002009-07-13T13:40:43.721+02:00Accesso FTP a cartelle remote<p>Una comoda funzionalità offerta da <strong>Nautilus</strong> è la connessione a server remoti via FTP (o altri servizi) con la possibilità di compiere operazioni sui file e cartelle del server allo stesso modo in cui le compiamo sui file e cartelle del nostro hard disk.</p>
<p>Selezioniamo <em>Connetti al server ...</em> nel menù <em>Risorse</em> o, alternativamente dall'interno di Nautilus (menù <em>File</em> » <em>Connetti al server ...</em> ). Nella finestra di dialogo che si apre inseriamo le informazioni per l'accesso, ad esempio per l'accesso anonimo ad un <strong>server FTP</strong> inseriremo:</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7xCtqLkktBsosaJbQy6j8BfEnQ5Zl-vdCux1X93t7nJAYxQs65UXjo5E8io89R3LPYycdTvZ9Zr0by9_IwgzxENjXdBPfCJ2xfNn3Ztl0K34STCn_qfWkm1_opMs5-bgCdP3N2R2HTE/s1600-h/cartelle-remote1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 268px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjz7xCtqLkktBsosaJbQy6j8BfEnQ5Zl-vdCux1X93t7nJAYxQs65UXjo5E8io89R3LPYycdTvZ9Zr0by9_IwgzxENjXdBPfCJ2xfNn3Ztl0K34STCn_qfWkm1_opMs5-bgCdP3N2R2HTE/s320/cartelle-remote1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5357907422371773266" /></a>
<p>La voce che specifichiamo nel campo <em>Nome del segnalibro</em> sarà inserita nel menù <em>Segnalibri</em> di Nautilius in modo che si possano effettuare velocemente successivi accessi alla cartella remota.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRsf-136FkxkSZXXv5A4q4pTWEjJbtHjkynV_xYYz94UmnQQSEndlYfSQ4vpRP_ZCETTNuge1_jMm8o_0iyTtgZeCZ1XOGlbASFNTdOdWrHDy0_NbmWcG-MwRVhn6ijqCsvqLy2ZK3lqs/s1600-h/cartelle-remote2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 263px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRsf-136FkxkSZXXv5A4q4pTWEjJbtHjkynV_xYYz94UmnQQSEndlYfSQ4vpRP_ZCETTNuge1_jMm8o_0iyTtgZeCZ1XOGlbASFNTdOdWrHDy0_NbmWcG-MwRVhn6ijqCsvqLy2ZK3lqs/s320/cartelle-remote2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5357907776325627842" /></a>
<p>Chiaramente le operazioni che possiamo compiere dipendono dal tipo di accesso. Se ad esempio abbiamo un sito web e l'host (come di solito accade) ci consente un accesso FTP al nostro account, possiamo configurare una cartella remota scegliendo <strong>FTP (con login)</strong> come tipo di servizio e, oltre alle informazioni viste sopra, indicando il nome utente per l'accesso. Una volta autenticati con la nostra password che sarà chiesta al momento della creazione della connessione, potremo non solo scaricare, ma anche creare, modificare e cancellare file sul nostro spazio web direttamente da Nautilus.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-77851839466644775012009-07-03T11:25:00.005+02:002009-07-03T11:27:06.940+02:00Notifiche dei messaggi GMail<p>Segnalo un paio di strumenti che possono essere utili per i fanatici della posta elettronica, di <strong>GMail</strong> in particolare, che vogliono sempre essere notificati in tempo reale (o quasi) di ogni nuovo messaggio in arrivo nella propria casella.</p>
<h3>GMail Manager per Firefox</h3>
<p>Un componente aggiuntivo per Firefox che si installa da <a href="https://addons.mozilla.org/en-US/firefox/addon/1320" title="GMail Manager Firefox">questo sito</a>. Una volta attivato si posiziona sulla barra di stato del browser, facendoci click sopra con il pulsante destro si impostano le varie opzioni:</p>
<p><ul><li>si possono gestire più account GMail;</li>
<li>si può fare in modo che il componente acceda automaticamente agli account all'avvio di Firefox o avviarlo manualmente;</li>
<li>si possono salvare le password degli account o reinserirle ogni volta al primo accesso;</li>
<li>si può scegliere quanto frequentemente gli account sono controllati in automatico, ma anche controllarli manualmente facendo click con il pulsante destro sull'icona del componente e scegliendo <em>Controlla i nuovi messaggi ora</em>;</li>
<li>si può visualizzare il numero dei messaggi non letti in Posta in arrivo o anche nella cartella SPAM;</li>
<li>si può visualizzare un'anteprima dei messaggi direttamente nella finestra di notifica.</li></ul></p>
<p>Quando ci sono nuovi messaggi basta un click sull'icona per aprire automaticamente nel browser il proprio account GMail.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjOWSz8EDYEvixSBrVacaBdG9rPhuH0eQ4Ceg6TLf_tWyXCs-MYAnET5idWDYNYInD_JmjEpSGKMtyusPDf17-ZdCwkiUIQQw4l2qn5p4LybUTgPFh703LVxgcuNdjT3ViMpLKJilZ_Ms/s1600-h/gmail-manager.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 184px; height: 30px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgjOWSz8EDYEvixSBrVacaBdG9rPhuH0eQ4Ceg6TLf_tWyXCs-MYAnET5idWDYNYInD_JmjEpSGKMtyusPDf17-ZdCwkiUIQQw4l2qn5p4LybUTgPFh703LVxgcuNdjT3ViMpLKJilZ_Ms/s400/gmail-manager.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5354161651475307938" /></a>
<h3>GMail Screenlet</h3>
<p><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFEFUKTvXd8Nbux20RIJtZ_9PRsYRvwVLvQcw73IQ65aUCEuUmVSOxdTuZtAvuYfWCZPLLXiWm4KPaa-RmNYTClwVX5X0iGSbP2hIAbh2_7gbRjKmZ4PlVxCc_t_2PgiuvbdRc7qbGVvw/s1600-h/gmail-screenlet.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 108px; height: 88px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFEFUKTvXd8Nbux20RIJtZ_9PRsYRvwVLvQcw73IQ65aUCEuUmVSOxdTuZtAvuYfWCZPLLXiWm4KPaa-RmNYTClwVX5X0iGSbP2hIAbh2_7gbRjKmZ4PlVxCc_t_2PgiuvbdRc7qbGVvw/s400/gmail-screenlet.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5354162245096280978" /></a>Per prima cosa bisogna installare <strong>Screenlets</strong> come spiegato in <a href="http://io-e-ubuntu.blogspot.com/2009/06/personalizzare-la-scrivania-con.html" title="Personalizzare la Scrivania con Screenlet">questo post</a>, poi in <strong>Screenlets Manager</strong> si seleziona l'icona GMail e si fa click su <em>Launch/add</em> per aggiungere lo screenlet sulla Scrivania, infine si fa click sull'icona dello screenlet con il pulsante destro e si seleziona <em>Properties</em>. All'interno della scheda <em>Options</em> ci sono due sotto-schede.</p>
<p><ul><li><strong>Screenlet</strong> dove si impostano dimensioni posizione e comportamento dello screenlet: in primo piano, sullo sfondo, bloccato;</li>
<li><strong>GMail</strong> dove si inseriscono e-mail e password dell'account da controllare e si imposta ogni quanti secondi l'account deve essere controllato per verificare la presenza di nuovi messaggi.</li></ul></p>
<p>Ogni screenlet può controllare un solo account, ma si può aggiungere alla Scrivania più di uno screenlet ed impostare per ognuno un diverso account GMail.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-19544373232482612312009-06-30T23:53:00.004+02:002009-07-01T00:19:06.752+02:00Personalizzare la Scrivania con Screenlet<p>Gli <strong>screenlet</strong>, penso quasi tutti li conoscano, sono mini applicazioni o gadget che possiamo utilizzare per personalizzare ed aggiungere utili funzioni alla Scrivania.</p>
<p>Per poterli utilizzare è necessario installare un programma di gestione (<strong>Screenlets Manager</strong>), cosa facilissima perché incluso nei repository ufficiali di Ubuntu. Il nome del pacchetto da cercare ed installare in Gestore di pacchetti Synaptic è 'screenlets'.</p>
<p>Terminata l'installazione il programma è disponibile in <em>Applicazioni</em> » <em>Accessori</em> » <em>Screenlets</em>. La prima volta che si lancia si riceve la richiesta di creare una directory di autostart per il proprio account: rispondere <em>Sì</em>.</p>
<p>Per attivare uno screenlet basta selezionarlo nel manager e cliccare <em>Launch/Add</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPjK3yJvw2AeurMzUIfUqeqBNNnwKHVA1Iu5iJaNAPCYb4BRieqnFjip_M26QuXzdVWHcG0SrANG93QKVoJkKr1o3CWWBWWkglEoVXKV2dqs3b18fbiWvjJR66JpqXXM_qGypsNQCem8/s1600-h/screenlets.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhKPjK3yJvw2AeurMzUIfUqeqBNNnwKHVA1Iu5iJaNAPCYb4BRieqnFjip_M26QuXzdVWHcG0SrANG93QKVoJkKr1o3CWWBWWkglEoVXKV2dqs3b18fbiWvjJR66JpqXXM_qGypsNQCem8/s320/screenlets.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5353244085975329058" /></a>
<p>Una volta sulla Scrivania con un click del pulsante destro si configurano le proprietà dello screenlet.</p>
<p>Non è che sia proprio un fanatico di avere aggeggi vari che mi ingombrano la Scrivania, però alcuni sono utili. Il mio preferito al momento è quello che segnala i messaggi in arrivo in <strong>GMail</strong>. Altri ne proverò in seguito, anche perché se si considerano tutti quelli disponibili sul sito (raggiungibile direttamente da <em>Screenlets Manager</em> con il pulsante <em>Get more screenlets</em>) c'è da perderci un po' di tempo a provarli tutti.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-61803421932595715492009-06-25T09:23:00.001+02:002009-06-25T09:54:31.930+02:00Sxipper e Firefox, compilare moduli automaticamente<p>La compilazione di moduli di login per l'accesso a vari servizi online è una delle operazioni che compiamo più frequentemente quando navighiamo in Internet e ricordarsi tutti i nostri nomi utente e password non è una cosa facile. Appurato che usare sempre la stessa password o scriversele tutte su un post-it attaccato allo schermo del PC non è la soluzione giusta al problema, bisogna pensare a qualche alternativa.</p>
<p>Inoltre non esistono solo i moduli di login, spesso capita di compilare moduli per la registrazione ad un servizio o per la richiesta di informazioni e i dati che dobbiamo inserire sono sempre gli stessi: nome, cognome, indirizzo, e-mail e altre informazioni personali. La soluzione per automatizzare tutte queste operazioni ripetitive per quanto mi riguarda è stato <a href="https://addons.mozilla.org/it/firefox/addon/4865" title="Sxipper plugin Firefox">Sxipper</a>, un plugin che si integra con il gestore password standard di Firefox, migliorandone però le funzioni.</p>
<p>A differenza del gestore di password di Firefox, Sxipper </p>
<ul><li>è in grado di gestire non solo moduli di login, ma anche altri moduli da riempire con informazioni personali;</li>
<li>consente di salvare la password anche su certi siti (ad esempio Yahoo Mail, HotMail) su cui questo non è possibile con Firefox;</li>
<li>gestisce in maniera più semplice e immediata situazioni in cui si hanno più account per lo stesso servizio: ad esempio più e-mail registrate a Google Mail. In questi casi con un click si sceglie l'account con il quale si vuole effettuare l'accesso;</li>
<li>tramite la creazione di più 'identità' o profili, consente di utilizzare insiemi di dati diversi per le registrazioni che si fanno per fini personali o professionali.</li></ul>
<p>L'utilizzo è abbastanza intuitivo. Appena installato tutte le password memorizzate in precedenza in Firefox sono immediatamente disponibili ed utilizzabili; quando si fa il login ad un servizio mai usato prima viene chiesto se si vuole memorizzare la password esattamente come succede con il gestore di password standard e si hanno esattamente le stesse possibilità: salvare la password, non salvarla ed impedire ulteriori future richieste per lo stesso sito, non salvarla, ma consentire che una richiesta di salvataggio password avvenga di nuovo al successivo accesso. </p>
<p>Per quanto riguarda i moduli di registrazione, Sxipper è già "addestrato" a compilare quelli dei servizi più popolari, quindi, per dire, registrarsi a Facebook è un attimo: basta un click con il pulsante destro sul modulo di registrazione e selezionare <em>Form fill</em>; si sceglie poi quale delle proprie identità si vuole utilizzare per la registrazione e, se si sono inseriti correttamente i propri dati personali in Sxipper, il modulo sarà riempito automaticamente.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1eyQZVykoZjAkZUDoCv3eZyo60Un01nKHMKAif3KSBzWGuJZ4Dwmjn1MssuXcDsXVnnXLNgt5BW2c7hX4YUetvz-QE3CbgQw_czXSzhjDzLRxL8riTWKDrE46NpWFlr0bM0P2ryfSwM/s1600-h/sxipper_form.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 273px; height: 260px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhX1eyQZVykoZjAkZUDoCv3eZyo60Un01nKHMKAif3KSBzWGuJZ4Dwmjn1MssuXcDsXVnnXLNgt5BW2c7hX4YUetvz-QE3CbgQw_czXSzhjDzLRxL8riTWKDrE46NpWFlr0bM0P2ryfSwM/s320/sxipper_form.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351070555576908914" /></a>
<p>Quando si incontrano moduli sconosciuti al plugin si può addestrarlo personalmente: si tratta semplicemente di indicare a quale campo della propria identità corrisponde ogni campo del modulo. Comunque non capita molto frequentemente di dover compiere questa operazione; infatti, volendo, si possono condividere i risultati di ogni addestramento con gli altri utenti e in questo modo il plugin "apprende" direttamente dai propri utilizzatori a compilare sempre più moduli senza bisogno di aiuto.</p>
<p>Quello che mi piace particolarmente di Sxipper è la sua capacità di essere discreto quando serve. Ad esempio ci sono forum che voglio essere libero di consultare tranquillamente facendo il login solo se devo inserire un post. Quindi sarebbe fastidioso veder saltar fuori ogni volta la finestrella per inserire nome utente e password.</p>
<p>In questi casi basta un click su <em>hide</em> e il plugin non farà più comparire automaticamente la finestra su quel sito. </p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy74d9YoDWFIZpzO1DRH03mRqb5KIcpSdejTxfhg4p_IFGuZdsAl6RVF8-x3nwlEmZVI-92heyLz81uGrGiUzCoXJGnQ7i3dKxV6piM693cnE5gd9P0IHSybd_s4gALPQAXRAwZ33cC84/s1600-h/sxipper_popup.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 251px; height: 79px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhy74d9YoDWFIZpzO1DRH03mRqb5KIcpSdejTxfhg4p_IFGuZdsAl6RVF8-x3nwlEmZVI-92heyLz81uGrGiUzCoXJGnQ7i3dKxV6piM693cnE5gd9P0IHSybd_s4gALPQAXRAwZ33cC84/s400/sxipper_popup.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351070873334721202" /></a>
<p>Quando si desidera fare il login si fa click con il pulsante destro sul modulo e si seleziona <em>Login</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-pSJIPoQfQcgmpDJT3yVT8V1ZN985iXFXqXN_Vrf8NsF32I2teTvYc2hdjkBq1nTsEjERqv2utnyjhVaUm_mBLfpnLwGrL0jVq0ckFJYpl_hfpT6rhrsLBXOvUwl2HvV-gN-WfhbPVrc/s1600-h/sxipper_login.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 246px; height: 258px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-pSJIPoQfQcgmpDJT3yVT8V1ZN985iXFXqXN_Vrf8NsF32I2teTvYc2hdjkBq1nTsEjERqv2utnyjhVaUm_mBLfpnLwGrL0jVq0ckFJYpl_hfpT6rhrsLBXOvUwl2HvV-gN-WfhbPVrc/s320/sxipper_login.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5351071012633710434" /></a>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-7043422703420102522009-06-23T15:47:00.005+02:002009-06-23T16:03:53.662+02:00'Ciao mondo!' in C e C++<p>Una delle cose che mi piacciono di più di Ubuntu è la facilità con cui si possono installare nuovi programmi dai repository. Avere così tanti strumenti a portata di mano ti fa sempre venire voglia di provare qualcosa. Così anche se è qualche anno che non utilizzo questo linguaggio di programmazione ho voluto vedere come si fa a compilare un <strong>sorgente in C</strong> in Ubuntu.</p>
<p>Anche se arrugginito il classico programmino "Ciao mondo!" di una riga dovrebbe essere ancora alla mia portata. Anzi voglio strafare: doppia versione <strong>C</strong> e <strong>C++</strong>.</p>
<p>Dopo una veloce ricerca è facile scoprire che tutto quello che serve per iniziare è installare il pacchetto 'build-essential': si può utilizzare <strong>Synaptic</strong> (<em>Cerca</em>, <em>Marca per l'installazione</em> e <em>Applica</em>) oppure da finestra terminale scrivere</p>
<p><code>
sudo apt-get install build-essential
</code></p>
<h3>'Ciao mondo' in C</h3>
<p>Creo un file di nome 'ciao.c' con un normale editor di testo, ad esempio gedit, con questo contenuto</p>
<code>
#include <stdio.h><br />
<br />
int main(void){<br />
printf("Ciao mondo!\n");<br />
return 0;<br />
}
</code>
<p>Posizionato all'interno della stessa cartella dove ho salvato il file, da terminale scrivo</p>
<code>
gcc -g ciao.c -o ciao
</code>
<p>Per eseguire il programma generato dalla compilazione</p>
<code>
./ciao
</code>
<p>Risultato</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6bM3Hu1S0nnx8bI2cnil36ZUAcO5DaU6yF22ouAjfOP9ZXpbpMXn8IL-4m02CggOpy2pXBw3GzNYMrU-XPDmtAE0qqaNTPpqXVfqFxoIx8FAkv-XROi2bwXhnddHa37QGTrUA96g6Trs/s1600-h/ciao_c.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 181px; height: 64px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6bM3Hu1S0nnx8bI2cnil36ZUAcO5DaU6yF22ouAjfOP9ZXpbpMXn8IL-4m02CggOpy2pXBw3GzNYMrU-XPDmtAE0qqaNTPpqXVfqFxoIx8FAkv-XROi2bwXhnddHa37QGTrUA96g6Trs/s400/ciao_c.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5350520068810482546" /></a>
<h3>'Ciao mondo' in C++</h3>
<p>Creo un file di nome 'ciao.cpp' con questo contenuto</p>
<code>
# include <iostream><br />
<br />
int main(void) {<br />
std::cout << "Ciao mondo! " << std::endl;<br />
return 0;<br />
}<br />
</code>
<p>Anche in questo caso mi posiziono all'interno della stessa cartella dove ho salvato il file e scrivo</p>
<code>
g++ -g ciao.cpp -o ciaopp
</code>
<p>Per eseguire il programma</p>
<code>
./ciaopp
</code>
<p>Risultato</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixTSqmZ_Br7S9jK1tasvND3BApn8WVaXp0r6xYigu-BVpoZeZdnsLQUm8DVTrIsIzXfiDXjMuKmVjpGRMoPHxHovlO7ERV0L-ptfnvulGsC0omPAsgiUz0YqRqr72d8cl4U8dbinlj0AE/s1600-h/ciaopp.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 199px; height: 63px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixTSqmZ_Br7S9jK1tasvND3BApn8WVaXp0r6xYigu-BVpoZeZdnsLQUm8DVTrIsIzXfiDXjMuKmVjpGRMoPHxHovlO7ERV0L-ptfnvulGsC0omPAsgiUz0YqRqr72d8cl4U8dbinlj0AE/s400/ciaopp.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5350520220931490434" /></a>
<p>Fine. La prima volta che l'ho fatto si è aperto tutto un mondo, poi si è un po' richiuso :) chissà che Ubuntu non mi faccia venire voglia di riprendere il filo.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-68736794661914823842009-06-19T12:14:00.004+02:002009-06-19T12:24:28.804+02:00Geany, creare librerie di codice (snippets)<p>Tra le varie funzioni di <a href="http://io-e-ubuntu.blogspot.com/2009/06/geany-editor-html-e-ide-multilinguaggio.html" title="Geany, editor html e IDE multilinguaggio">Geany</a>, l'editor / IDE di cui ho già avuto modo di scrivere, una interessante anche se un po' nascosta (nel senso che è sì documentata, ma non a portata di click per cui può sfuggire) è la possibilità di creare una libreria di <em>snippets</em>, blocchi di codice che si utilizzano di frequente e per l'inserimento dei quali è quindi comodo predisporsi delle scorciatoie o macro.</p>
<p>Un certo numero di queste macro è definito nel file <em>snippets.conf</em> che si trova in '/usr/share/geany'. La prima cosa da fare è copiare questo file in '/home/username/.config/geany/' (sostituire <em>username</em> con il proprio nome utente su Ubuntu) in modo da poterlo modificare senza perdere le modifiche a seguito di un aggiornamento di Geany.</p>
<p>Apriamo poi il file con un editor di testo o Geany stesso. Troviamo questa parte</p>
<code>[PHP]<br />
for=for ($i = 0; $i < %cursor%; $i++)%brace_open%\n%brace_close%</code>
<p>Per vedere come funziona creiamo un nuovo file PHP in Geany (menù <em>File</em> » <em>Nuovo da modello</em> » <em>Sorgente PHP</em>). Posizionandoci sulla prima riga dopo <?php scriviamo <em>for</em> e premiamo poi il tasto <strong>[TAB]</strong>: nell'editor vedremo il blocco di codice</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iL5jTF0pNOsgvsuofJ7d_Ht-3d3Qc9yoMOKR3LGdBUcPTpKXAeeHzN3s8kx9oMfN3Z7Gvmt-39EszYZlPfA1q78Pafi6fHSnd3LvBBtbjFHj0xEJ5yPm76hiKK5XZV-mMniP8ecgCNI/s1600-h/snippets.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 227px; height: 78px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9iL5jTF0pNOsgvsuofJ7d_Ht-3d3Qc9yoMOKR3LGdBUcPTpKXAeeHzN3s8kx9oMfN3Z7Gvmt-39EszYZlPfA1q78Pafi6fHSnd3LvBBtbjFHj0xEJ5yPm76hiKK5XZV-mMniP8ecgCNI/s400/snippets.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348981466379117762" /></a>
<p>Da questo esempio dovrebbe risultare abbastanza chiaro come è strutturata una macro: un nome o <strong>chiave</strong> seguito dal segno <strong>uguale</strong> seguito dal <strong>blocco di codice</strong> tutto sulla stessa riga. Quando nell'editor scriviamo la chiave (<em>for</em> nell'esempio) seguita dal tasto <strong>TAB</strong>, il blocco di codice corrispondente sarà inserito.</p>
<p>Per semplificare la scrittura di macro, delle sequenze di caratteri di uso frequente possono essere sostituite da variabili segnaposto. Nell'esempio ne troviamo due: <strong>%brace_open%</strong> e <strong>%brace_close%</strong>. Quando il blocco di codice viene inserito queste due variabili sono rimpiazzate dai caratteri definiti nella sezione <strong>[Special]</strong> di <em>snippets.conf</em></p>
<code>[Special]<br />
brace_open=\n{\n\t
brace_close=}\n</code>
<p>Oltre a quelle già definite possiamo aggiungere altre variabili in <strong>[Special]</strong> da utilizzare nelle nostre macro.</p>
<p>Poiché la definizione di una macro deve stare tutta su una riga si utilizza <strong>\n</strong> per andare a capo, <strong>%cursor%</strong> invece indica la posizione dove sarà collocato il cursore una volta che il blocco di codice è stato inserito.</p>
<p>Per fare un altro esempio aggiungo una macro alla sezione<strong> [PHP]</strong>: la chiamo <em>forar</em> e serve ad impostare un ciclo <em>for</em> per percorrere tutti gli elementi di un array. La definizione è</p>
<code>forar=for ($i = 0, $l = count(%cursor%); $i <= $l; $i++)%brace_open%\n%brace_close%</code>
<p>Quando si modifica <em>snippets.conf</em> con Geany in esecuzione, bisogna ricordarsi di ricaricare la configurazione (menù <em>Strumenti</em> » <em>Ricarica la configurazione</em>) o le nuove macro inserite non saranno disponibili.</p>
<p>Scrivendo nell'editor <em>forar</em> e premendo <strong>[TAB]</strong> questo è il risultato</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsHcQBYNdCTtQPIjhYd6HUwxBbVKkpVU_DaFrUsYTI9UvtS4ieMCLP8rbVFQ9e_SaTXZiXW6BS8uacf8Z7Q0hFkcEjRn-bzjhUAGSSn_S70ml7s6Gr3xEnYHiamyCGadxwyrkj8KhLFyk/s1600-h/snippets1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 345px; height: 80px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsHcQBYNdCTtQPIjhYd6HUwxBbVKkpVU_DaFrUsYTI9UvtS4ieMCLP8rbVFQ9e_SaTXZiXW6BS8uacf8Z7Q0hFkcEjRn-bzjhUAGSSn_S70ml7s6Gr3xEnYHiamyCGadxwyrkj8KhLFyk/s400/snippets1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348981591554453058" /></a>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-7841674578361843612009-06-17T11:18:00.000+02:002009-06-17T11:20:01.542+02:00Epiphany, evidenziare link con attributo nofollow<p>In <strong>Firefox</strong> ho installato un plugin chiamato <strong>Quirk Search Status</strong> che, oltre ad altre utili funzioni, permette di evidenziare con un bordo ed un colore di sfondo i link che hanno attributo <strong>rel</strong> <strong>nofollow</strong>.</p>
<p>Un plugin del genere non credo esista per <strong>Epiphany</strong>, ma almeno l'evidenziazione dei link con <strong>nofollow</strong> si può ottenere con uno script <strong>Greasemonkey</strong>. Ecco come fare.</p>
<p>In Epiphany selezionare la voce di menù <em>Strumenti</em> » <em>Extensions</em> ed abilitare l'estensione <strong>Greasemonkey</strong></p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUchQF9yuF5dkF4-MSB7Rmz-gb7EodkZ7UVyQbS9KAqseGTWA-G5CL7Xd_gIJ_oQUOT2P3Nd1X2eVKhYf8-KiisVQvD7apoonkm4_H79oXbwOrhlYpfRadKFwoH4JpBD3aTd1x2cI-Pss/s1600-h/greasemonkey-epiphany.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 112px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhUchQF9yuF5dkF4-MSB7Rmz-gb7EodkZ7UVyQbS9KAqseGTWA-G5CL7Xd_gIJ_oQUOT2P3Nd1X2eVKhYf8-KiisVQvD7apoonkm4_H79oXbwOrhlYpfRadKFwoH4JpBD3aTd1x2cI-Pss/s320/greasemonkey-epiphany.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348214260681601762" /></a>
<p>Andare alla pagina dello script:</p>
<p><a href="http://userscripts.org/scripts/show/26418" title="Nofollow script">userscripts.org/scripts/show/26418</a></p>
<p>Fare click con il pulsante destro del mouse sul pulsante <em>Install</em> a destra sul sito e selezionare <em>Install User Script</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjlYERbcHuDdjuaubdty7ae7B3dwiOauUzFpmVC5yhX3NKUSYmiAfx9AhpiIWfm-4GpkZH8ks1BF-ie7rznCWDHGaC-uvjbI2zm67RWXVTzlZdHjW_FP_Nut0bzlXpNh1rpVIXyPtzXvE/s1600-h/greasemonkey-epiphany2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 135px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjlYERbcHuDdjuaubdty7ae7B3dwiOauUzFpmVC5yhX3NKUSYmiAfx9AhpiIWfm-4GpkZH8ks1BF-ie7rznCWDHGaC-uvjbI2zm67RWXVTzlZdHjW_FP_Nut0bzlXpNh1rpVIXyPtzXvE/s320/greasemonkey-epiphany2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348214472690627554" /></a>
<p>Si riceve un messaggio di conferma che lo script è stato installato e a questo punto i link con attributo nofollow dovrebbero apparire come nell'immagine qui sotto.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimKMez8esAucOcboa0L4yN1IZNFiM1t6b0FE_o3E9QCsXc_szsThJr7cAw_jHNj1PvHHYzHsa-YiqoHloN1osYyuhOnWmiXhl7Jq8mGeRit-74dJlqGwZB2tQD37z4jAn1QZXnKUovN14/s1600-h/links.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 177px; height: 52px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimKMez8esAucOcboa0L4yN1IZNFiM1t6b0FE_o3E9QCsXc_szsThJr7cAw_jHNj1PvHHYzHsa-YiqoHloN1osYyuhOnWmiXhl7Jq8mGeRit-74dJlqGwZB2tQD37z4jAn1QZXnKUovN14/s320/links.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5348214716698137634" /></a>
<p>L'attributo è individuato dallo script anche quando è inserito nei <strong>Meta Tags</strong> della pagina come ad esempio in</p>
<code><head><br />
<meta name="robots" content="noindex,nofollow" /><br />
</head><br /></code>
<p>In questo caso tutti i link della pagina verranno evidenziati, giustamente perché il nofollow nei Meta Tags vale per tutti i link.</p>
<p>Gli script non possono essere disinstallati dall'interfaccia utente di Epiphany: per farlo bisogna aprire la cartella </p>
<code>.gnome2/epiphany/extensions/data/greasemonkey/</code>
<p>nella propria 'home' e cancellare il file.</p>
<p>Naturalmente questo script può essere usato anche in Firefox da chi preferisca questa strada all'installazione del plugin <strong>Search Status</strong>. Bisogna per prima cosa installare il plugin <a href="https://addons.mozilla.org/it/firefox/addon/748" title="Plugin Greasemonkey per Firefox">Greasemonkey</a>; poi sul sito dello script fare click su <em>Install</em> per installare lo script.</p>
<p>A differenza di Epiphany, Firefox offre un'interfacca utente (menù <em>Strumenti</em> » <em>Greasemonkey</em>) per gestire e rimuovere gli script.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-81725901624374716802009-06-16T23:57:00.001+02:002009-06-16T23:59:38.349+02:00Visualizzare file in formato CHM<p><strong>Microsoft Compiled HTML</strong> Help è un formato proprietario di Microsoft utilizzato per documentazione di prodotti e manualistica. Ho un certo numero di file in questo formato (estensione <strong>.chm</strong>) che mi interessava poter consultare rimanendo in Ubuntu: la soluzione è facile e veloce perché basata sull'utilizzo di due programmi disponibili nel repository <em>universe</em>: <strong>xCHM</strong> (pacchetto 'xchm') e <strong>GnoCHM</strong> (pacchetto 'gnochm').</p>
<p>Sono entrambi prodotti facili da usare e che permettono di compiere tutte le operazioni necessarie alla consultazione di un file in formato CHM:</p>
<ul><li>Visualizzazione dell'albero dei contenuti</li>
<li>Visualizzazione dell'indice per parola</li>
<li>Ricerca all'interno dell'intero documento o nella pagina corrente</li>
<li>Possibilità di impostare segnalibri</li>
<li>Stampa</li></ul>
<p><strong>GnoCHM</strong> è probabilmente il migliore dei due: è più accurato nella formattazione dei documenti, ha una funzione di ricerca più avanzata, consente l'apertura nel browser dei link incorporati nel documento ed ha una migliore gestione dei segnalibri: è possibile scegliere il titolo del segnalibro e la lista è più a portata di mano. </p>
<p>In <strong>xCHM</strong> alcuni stili sembrano ignorati, ma è più veloce nell'apertura di documenti di grandi dimensioni: ho fatto una prova con la documentazione completa del PHP in formato CHM e la differenza è stata significativa in favore di xCHM di cui inoltre mi piace la possibilità di personalizzare completamente il tipo di carattere e non solo la dimensione: questa funzione in molti casi può essere utile per facilitare la lettura.</p>
<p>Sono comunque entrambi talmente facili da provare che chiunque può farsi velocemente un'idea di quale sia il più adatto alle proprie esigenze.</p>Massimohttp://www.blogger.com/profile/02775448460263489533noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-25327415528403610492009-06-13T11:55:00.003+02:002009-06-13T12:03:58.252+02:00Epiphany, un browser leggero e veloce<p>Quando utilizzo Windows il mio browser preferito è senza dubbio <strong>Firefox</strong>, per cui mi è venuto naturale adottarlo anche in Ubuntu visto che oltre tutto è già disponibile preinstallato. Vero è che girovagando per forum si sentono spesso lamentele sulla progressiva perdita di prestazioni subita da questo browser nel corso del tempo, con il progredire dello sviluppo verso le versioni più recenti. In certa misura questo fatto è innegabile anche se personalmente continuo a ritenere Firefox un ottimo prodotto e alcuni suoi plugin sono divenuti per me quasi indispensabili.</p>
<p>Detto questo, anche guardarsi intorno alla ricerca di possibili alternative può essere una buona idea ed ho voluto provare <strong>Epiphany</strong> (pacchetto 'epiphany-browser' per chi voglia installarlo da Synaptic). La prima impressione è stata ottima: un <strong>browser leggero</strong>, ma con tutte le funzioni essenziali e decisamente veloce. Ecco alcune delle caratteristiche che mi sono piaciute di più.</p>
<h4>Configurazione barre degli strumenti</h4>
<p>Le barre degli strumenti si possono personalizzare aggiungendo, togliendo o spostando icone grosso modo con la stessa procedura che si usa in Firefox: selezionando la voce di menù <em>Visualizza</em> » <em>Barre degli strumenti</em> » <em>Personalizza barre degli strumenti</em> si apre un riquadro con le icone disponibili che possono essere trascinate con il mouse sulla (o fuori dalla) barra. Si può scegliere se visualizzare solo le icone, le icone con sotto (o a fianco) un testo descrittivo o solo il testo. Si possono aggiungere nuove barre degli strumenti.</p>
<h4>Gestione segnalibri</h4>
<p>I segnalibri possono essere suddivisi in <strong>argomenti</strong>. Oltre che selezionabile dalla voce di menù <em>Segnalibri</em>, un argomento può essere trascinato sulla barra degli strumenti con la stessa procedura vista per le icone: in questo modo si ottiene un risultato simile a quello della barra dei segnalibri di Firefox.</p>
<p>Nell'immagine la lista aperta con i segnalibri dei siti dei quotidiani è stata creata categorizzando i segnalibri sotto l'argomento <em>Quotidiani</em> e trascinando l'argomento sulla barra.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDXkAd3pMjgKL-WtmhoKBgwMkHSEW6P1iSv1UNwIHBLiATG2ZcL55xH7l8oiW0qSkQIXcA4oJ_3Eg-smEjJWkcCwtkwD6smFgMMyltJNyywoXptImdPRu1t_4BccIAay0YseQhnICvWCQ/s1600-h/segnalibri.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 109px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDXkAd3pMjgKL-WtmhoKBgwMkHSEW6P1iSv1UNwIHBLiATG2ZcL55xH7l8oiW0qSkQIXcA4oJ_3Eg-smEjJWkcCwtkwD6smFgMMyltJNyywoXptImdPRu1t_4BccIAay0YseQhnICvWCQ/s320/segnalibri.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5346749262742402066" /></a>
<h4>Segnalibri intelligenti</h4>
<p>Un sistema che consente di passare un parametro nella URL di un segnalibro. Il valore del parametro viene inserito nella barra degli indirizzi. La documentazione contiene un esempio di segnalibro intelligente per effettuare ricerche veloci su Google: partendo da quello se ne possono creare di personalizzati.</p>
<h4>Privacy e dati personali</h4>
<p>Dal menù <em>Modifica</em> » <em>Preferenze</em> (scheda <em>Privacy</em>) si può impostare l'opzione per il blocco dei pop-up, attivare e disattivare Java e Javascript, impostare le regole per l'accettazione dei cookies e scegliere se si vogliono memorizzare le password di accesso ai siti. Dal menù <em>Modifica</em> » <em>Dati personali</em> si possono visualizzare i cookie memorizzati e le password salvate che sono mostrate in chiaro; a differenza di Firefox non si può impostare una password principale (almeno questa possibilità non l'ho trovata), e questa è una cosa che non mi è piaciuta molto.</p>
<p>Nella stessa finestra con il pulsante <em>Pulisci tutto</em> si possono cancellare cookie, password salvate, cronologia e file temporanei (<em>cache</em>).</p>
<h4>Estensioni</h4>
<p>Tramite estensioni si possono aggiungere nuove funzioni ad Epiphany. Il numero delle estensioni non è neppure lontanamente paragonabile a quello dei plugin disponibili per Firefox, ma ce ne sono alcune piuttosto utili, attivabili dal menù <em>Strumenti</em> » <em>Extensions</em>.</p>
<ul><li><strong>AdBlock</strong> per stoppare pubblicità fastidiose. Configurabile con filtri su misura.</li>
<li><strong>Auto-scorrimento</strong> per scorrere la pagina con il movimento del mouse.</li>
<li><strong>Azioni</strong> per creare comandi personalizzati attivabili con il pulsante destro del mouse.</li>
<li><strong>Informazioni pagina</strong> per visualizzare immagini, link, moduli e metadata della pagina corrente</li></ul>
<p>Più diverse altre.</p>
<p>In conclusione, Epiphany almeno per me non può sostituire in tutto Firefox, ma credo che avrò comunque modo di utilizzarlo.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-53489808415805550922009-06-12T08:06:00.001+02:002009-06-12T08:07:32.742+02:00Estrarre file da archivio 7Zip (.7z)<p>In Windows gestisco archivi compressi quasi esclusivamente con <strong>7-Zip</strong>, un ottimo software open source che oltre a supportare un gran numero di formati di compressione offre un proprio formato (<strong>7z</strong>) molto efficiente.</p>
<p>Ubuntu così come esce dalla 'scatola' non consente di aprire archivi in formato <strong>7z</strong>. Avendo accumulato un bel po' di questi file e non avendo voglia di convertirli da Windows ho cercato una soluzione. Non è difficile da trovare, la riporto comunque qui nel caso serva ad altri e per non dimenticarmene (l'età avanza).</p>
<p>Da Gestore di pacchetti Synaptic accertarsi di avere abilitato il repository <em>universe</em> (controllare in Impostazioni » Archivi dei pacchetti ed eventualmente selezionare l'opzione relativa).</p>
<p>Cercare ed installare il pacchetto 'p2zip-full'. Al termine dell'installazione <strong>File Roller</strong> riconoscerà il nuovo formato di modo che basta il solito doppio click sull'icona per aprire un qualsiasi archivio con estensione <strong>.7z</strong>. Anche l'opzione <em>Estrai qui</em> che si ottiene facendo click con il tasto destro sull'icona dell'archivio funziona perfettamente.</p>
<p>Invece selezionando uno o più file e scegliendo <em>Crea archivio</em> dal menù attivato sempre dal testo destro, vedremo che il formato <strong>7z</strong> è ora selezionabile dalla lista dei formati di compressione disponibili.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-m95sYOmfQpYs0odhl2nJR_KHjirr46UmZnDzqJroAAL08QUxl9DPaTvydUKyX_WGJPmFlH6kP_uBFk5JaSnqtgbA88U-rGSCtF5JSjVHUYKSfqjczSkDUNhZsWCyYPoqw5iCxWpy6zI/s1600-h/7zip.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 137px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg-m95sYOmfQpYs0odhl2nJR_KHjirr46UmZnDzqJroAAL08QUxl9DPaTvydUKyX_WGJPmFlH6kP_uBFk5JaSnqtgbA88U-rGSCtF5JSjVHUYKSfqjczSkDUNhZsWCyYPoqw5iCxWpy6zI/s320/7zip.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5346239301069715282" /></a>
<p>La versione per Linux di <strong>7-Zip</strong> non dispone di un'interfaccia grafica, ma a parte l'utilizzo diretto da Nautilus come appena visto, è possibile utilizzarla da terminale. Digitando</p>
<code>7z</code>
<p>si ottiene la lista delle opzioni. Ad esempio per estrarre il contenuto di un archivio preservando la struttura delle cartelle dell'archivio si usa</p>
<p><code>7z x nome_file_archivio</code></p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-62453515362968110232009-06-09T22:00:00.003+02:002009-06-09T22:06:04.897+02:00Abilitare modulo mod_rewrite su Apache<p>Ho installato il CMS <strong>Drupal</strong> per testarlo in locale ed ho avuto bisogno di attivare il modulo Apache <strong>mod_rewrite</strong> per poter usufruire delle <strong>URL semplificate</strong> generate dal modulo di Drupal <strong>Pathauto</strong>. La cosa sarà incomprensibile per chi non conosce questo cms, ma non è il momento per entrare nel dettaglio. In ogni modo la stessa necessità si presenta anche con altre applicazioni web (cms, gallerie, forum) che utilizzano mod_rewrite per gestire URL semplificate (dette a volte anche <em>search engine friendly</em> o SEF).</p>
<p>Il fatto è che mod_rewrite non è attivato al momento dell'installazione di Apache su Ubuntu; l'attivazione è comunque una procedura molto semplice che riporto di seguito.</p>
<p>1) Da terminale digito</p>
<code>sudo a2enmod rewrite</code>
<p>2) Modifico poi la configurazione del Virtual Host. Questo dipende dalla configurazione del mio ambiente di sviluppo locale dove ho creato un Virtual Host ('test') che utilizza come Document Root una cartella nella mia home (vedi <a href="http://io-e-ubuntu.blogspot.com/2009/05/installazione-di-apache.html" title="Installare Apache su Ubuntu">questo post</a>).</p>
<code>sudo gedit /etc/apache2/sites-available/test</code>
<p>Nella parte del file che segue sulle due righe che contengono <em>AllowOverride None</em> va modificato <em>None</em> in <em>All</em></p>
<code>
<Directory /><br />
Options FollowSymLinks<br />
AllowOverride <strong>All</strong><br />
</Directory><br />
<Directory /home/nome_utente/public_html/><br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride <strong>All</strong><br />
Order allow,deny<br />
allow from all<br />
</Directory><br />
</code>
<p><em>nome_utente</em> è il mio nome utente su Ubuntu. Se avessi voluto modificare la configurazione del sito predefinito (quello con Document Root '/var/www') il comando avrebbe dovuto essere 'sudo gedit /etc/apache2/sites-available/default'.</p>
<p>3) Come ultimo passo riavvio Apache con</p>
<code>sudo /etc/init.d/apache2 restart</code>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-77189320716536611072009-06-07T08:55:00.000+02:002009-06-07T08:55:32.459+02:00Geany, editor HTML e IDE multilinguaggio<p>Dopo <a href="http://io-e-ubuntu.blogspot.com/2009/06/bluefish-htmlxhtml-php-editor.html" title="Bluefish editor">Bluefish</a> ho voluto provare <strong>Geany</strong>, anche questo è un editor che supporta molti linguaggi di <strong>programmazione</strong> e di <strong>markup</strong> (C, C++, D, Java, Pascal, PHP, Python, Ruby, HTML, LaTex) offrendo funzioni di formattazione del codice ed evidenziazione della sintassi. Rispetto a Bluefish però mette a disposizione anche alcune funzioni di un ambiente di sviluppo integrato (<strong>IDE</strong>).</p>
<p>Il nome del pacchetto per l'installazione da Synaptic è 'geany'. Dopo l'installazione il programma può essere lanciato da Applicazioni » Programmazione.</p>
<p>Ecco alcune delle funzioni di Geany secondo me più interessanti:</p>
<ul><li>autocompletamento del codice</li>
<li>chiusura automatica dei costrutti if, for, switch / case, while</li>
<li>espansione / contrazione delle funzioni, blocchi condizionali, cicli</li>
<li>chiusura automatica dei tag HTML e XML</li>
<li>chiusura automatica delle parentesi e degli apici singoli o doppi</li>
<li>'albero' navigabile delle classi, funzioni e variabili contenute nel sorgente</li></ul>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjilYtZQKJEH0mumhYWTdMPFrOtKhlcNwawtN4iF6jpmRsbjPJXimTPilUQMjqT-WeWEEUO-2-odsix7A0TldpqdQePW6I279F_7vNQcAdMchwIY6znD_PGDUv-NwnroaRrJfzW_vEvjf0/s1600-h/geany2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 106px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjilYtZQKJEH0mumhYWTdMPFrOtKhlcNwawtN4iF6jpmRsbjPJXimTPilUQMjqT-WeWEEUO-2-odsix7A0TldpqdQePW6I279F_7vNQcAdMchwIY6znD_PGDUv-NwnroaRrJfzW_vEvjf0/s320/geany2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5344460465576601858" /></a>
<p>Ovviamente tutte queste opzioni sono attivabili o disattivabili a piacere.</p>
<p>Possono essere creati <strong>progetti</strong> che includono più file e un proprio insieme di impostazioni. Esiste infine la possibilità di estendere le funzioni dell'applicazione tramite <strong>plugin</strong>: mi riprometto di provarne alcuni e segnalare i più interessanti.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-42928408517405953182009-06-04T08:19:00.001+02:002009-06-04T08:26:05.742+02:00RapidSVN, client grafico Subversion<p>Cosa sia <strong>Subversion</strong> non mi metto a spiegarlo qui nel dettaglio. Chi avesse bisogno di informazioni di base può leggere questo <a href="http://it.wikipedia.org/wiki/Subversion" title="Subversion">articolo</a> di Wikipedia. </p>
<p>Mi limito a scrivere qualche riga sull'utilizzo basilare di <strong>RapidSVN</strong>, un client ad interfaccia grafica per accedere ai <em>repository</em> di codice di quelle applicazioni che utilizzano Subversion come strumento per il controllo di versione. Nel caso di applicazioni <em>open source</em> è frequente che l'accesso in lettura al repository sia consentito senza particolari formalità, mentre per avere la possibilità di salvare modifiche al codice è ovviamente necessario un account con gli appropriati privilegi e soggetto all'approvazione del team di sviluppo.</p>
<p>La prima cosa da fare è installare il pacchetto 'rapidsvn' con Synaptic. Al termine troviamo l'applicazione in Applicazioni » Programmazione » RapidSVN. Una volta avviato il programma, da Bookmarks » Add Existing Repository si imposta la URL del repository desiderato.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXPVDIceizu9m0goRbaUX2oOb00WXVgJ3CULLD-LjwW2VX0BuMbgCLqAATAYU-I4SVAYc6jTbe_KjuyBNFN7FgeGcEKjmN1OnGUz5wFsRkUyrTkwbLVLtOI2hJIZnxuPZeRsc6z7ctJZ8/s1600-h/rapidsvn0.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 200px; height: 124px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXPVDIceizu9m0goRbaUX2oOb00WXVgJ3CULLD-LjwW2VX0BuMbgCLqAATAYU-I4SVAYc6jTbe_KjuyBNFN7FgeGcEKjmN1OnGUz5wFsRkUyrTkwbLVLtOI2hJIZnxuPZeRsc6z7ctJZ8/s200/rapidsvn0.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343311766202020466" /></a>
<p>Come esempio scelgo quello di <strong>Wordpress</strong>:</p>
<code>http://svn.automattic.com/wordpress/trunk/</code>
<p>Una volta impostato il bookmark è possibile sfogliare il repository e vedere i nomi dei file e delle cartelle.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMO0gF7MsnIDUD-1xSOptY-99svuhQVDcVScmjFEhg3Ou3I6PCArWYN4tFvjNsS-J4YuySUR2wpKmBNHxsejQ_UCnKgYZytZvmRxzh4qN7SAmfmCAltQ-DWD5FjEMKweXNwXkbPJ8nf1I/s1600-h/rapidsvn1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 78px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMO0gF7MsnIDUD-1xSOptY-99svuhQVDcVScmjFEhg3Ou3I6PCArWYN4tFvjNsS-J4YuySUR2wpKmBNHxsejQ_UCnKgYZytZvmRxzh4qN7SAmfmCAltQ-DWD5FjEMKweXNwXkbPJ8nf1I/s320/rapidsvn1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343312637537171202" /></a>
<p>Per aprire i file e vederne il contenuto è necessario creare una <strong>copia di lavoro locale</strong>: per fare questo mi basta fare click con il pulsante destro sul bookmark e scegliere <em>Checkout New Working Copy</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioO7qNjIGsUoVgyf6pYVC_XcOYFIyAsfLGYGOB3xm88s4-oSAuyW_YSQjhMLcISzgNxYpcWUNHPstoYb0XpTjITb0XohtnBXcRd08-FvazfBwcyuy3Y7J4sg8lCO2ZheP-_av31eSeS5Q/s1600-h/rapidsvn2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 108px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEioO7qNjIGsUoVgyf6pYVC_XcOYFIyAsfLGYGOB3xm88s4-oSAuyW_YSQjhMLcISzgNxYpcWUNHPstoYb0XpTjITb0XohtnBXcRd08-FvazfBwcyuy3Y7J4sg8lCO2ZheP-_av31eSeS5Q/s320/rapidsvn2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343312967084929090" /></a>
<p>Nella finestra che si apre il campo <em>URL</em> dovrebbe essere già impostato come 'http://svn.automattic.com/wordpress/trunk/', quindi inserisco nel campo <em>Destination Directory</em> il percorso della cartella che conterrà la copia di lavoro, nel mio caso </p>
<p><code>/home/ubuntu-mania/public_html/wp</code></p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXeK181GNeB_25ulq-8_362AP4n4Ys1rIs2u6P-7XOYk3e_wnsq-oi1G1rogq4TOTy0KjR7vsQmV6xatxDzXMei7OEnfA37-CW12vf5nPn-0xmxEtkOSHIcecr5MIHyiJsmFmvFekE5KQ/s1600-h/rapidsvn3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 136px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiXeK181GNeB_25ulq-8_362AP4n4Ys1rIs2u6P-7XOYk3e_wnsq-oi1G1rogq4TOTy0KjR7vsQmV6xatxDzXMei7OEnfA37-CW12vf5nPn-0xmxEtkOSHIcecr5MIHyiJsmFmvFekE5KQ/s320/rapidsvn3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5343314907455349266" /></a>
<p>Al termine dell'operazione di <em>checkout</em> il contenuto del repository è disponibile localmente nella cartella sopra indicata. Mi fermo qui perché non voglio certo scrivere una guida completa del prodotto.</p>
<p>Quanto detto fino a questo punto è sufficiente a trasferire una copia del repository in locale, le cose si complicano se facciamo delle modifiche ai file localmente e dobbiamo quindi aggiornare il repository risolvendo eventuali conflitti con modifiche agli stessi file fatte da altri utenti. Chiaramente questo è possibile solo se facciamo parte del team di sviluppo dell'applicazione.</p>
<p>Tutti questi aspetti sono trattati esaurientemente nella <a href="http://www.rapidsvn.org/index.php/Documentation" title="Documentazione RapidSVN">documentazione</a> disponibile sul wiki di RapidSVN.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-19813810645185409822009-06-02T07:02:00.000+02:002009-06-02T07:11:08.644+02:00Bluefish Html/Xhtml, PHP editor<p><strong>Bluefish</strong> è un editor che offre indentazione e formattazione del codice, evidenziazione della sintassi ed altre utili funzioni per la creazione di pagine <strong>HTML/XHTML</strong> e lo sviluppo di script in <strong>PHP</strong> e altri linguaggi di programmazione.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFJduif5kcudEPV3bMOdUpFOJNGPT3zV-g9VFdgEMNeNTL2e7yo8m6tFyFmDCIefQICOkJMCg67YZJLjUrFsKIWXm8a7sOZT_XMvMQiNAzmL9Mpa7GxeNODLWCmws_dNUDqfTJvMeIV8/s1600-h/bluefish1.png"><img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEFJduif5kcudEPV3bMOdUpFOJNGPT3zV-g9VFdgEMNeNTL2e7yo8m6tFyFmDCIefQICOkJMCg67YZJLjUrFsKIWXm8a7sOZT_XMvMQiNAzmL9Mpa7GxeNODLWCmws_dNUDqfTJvMeIV8/s320/bluefish1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5342572454103605970" /></a>
<p>L'installazione avviene semplicemente da Sistema » Amministrazione » Gestore pacchetti Synaptic (pacchetto 'bluefish'). Al termine dell'installazione troviamo il programma disponibile in Applicazioni » Programmazione » Bluefish editor.</p>
<p>Si tratta di un prodotto dall'uso intuitivo, tutte le principali funzioni sono accessibili da barre degli strumenti, delle quali una (<em>Quickbar</em>) può essere personalizzata includendo ad esempio i pulsanti per l'inserimento dei tag HTML che utilizziamo più spesso.</p>
<p>Inoltre è disponibile un <strong>menù personalizzato</strong>: prendendo a modello le voci esistenti possiamo aggiungere opzioni per l'inserimento veloce di 'scheletri' di funzioni, cicli di controllo, blocchi di codice utilizzati di frequente.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxz0jMJQN_qx44bbyBhSonSaKbhZD9Z0wjnqFiM_KqUGTKhO68pwXgXDAiVTwA1HKfd4rBU5EFJRFIaBs146DtBiG1mc4X7-Pol3CpAJLTohOF52QPAwjr5JH6wk-PS-A_l6HcqfIgKs/s1600-h/bluefish2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 62px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpxz0jMJQN_qx44bbyBhSonSaKbhZD9Z0wjnqFiM_KqUGTKhO68pwXgXDAiVTwA1HKfd4rBU5EFJRFIaBs146DtBiG1mc4X7-Pol3CpAJLTohOF52QPAwjr5JH6wk-PS-A_l6HcqfIgKs/s320/bluefish2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5342573012943154290" /></a>
<p>Anche la funzione di evidenziazione della sintassi è personalizzabile: possiamo ad esempio modificare lo stile e il colore dei tag HTML, degli attributi e dei loro valori.</p>
<p>Oltre che editare file singolarmente si possono raggruppare più file da gestire come <strong>progetti</strong>.</p>
<p>In conclusione <strong>Bluefish</strong> mi sembra un ottimo prodotto, facile da usare e tra l'altro anche molto veloce.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-78984317759032462242009-06-01T10:01:00.004+02:002009-06-16T08:49:42.032+02:00Configurare firewall con Gufw<p>Come utente Windows di lunga data sono stato abituato a considerare il <strong>firewall</strong> come elemento essenziale per la sicurezza del PC. Mi capita spesso, anche con po' di paranoia, di tornare a verificare con il test <a href="https://www.grc.com/x/ne.dll?bh0bkyd2">Shields up</a> che lo stato di tutte le porte sia <em>stealth</em>.</p>
<p>Quindi appena installato il nuovo sistema è stato naturale ricercare informazioni su come installare e configurare un firewall su Ubuntu. A seguito di queste ricerche ho trovato questa ottima <a href="http://wiki.ubuntu-it.org/Sicurezza/Firewall" title="Guida firewall Ubuntu">guida</a> sul Wiki di <em>ubuntu-it.org</em> che spiega ai paranoici (più o meno ex) utenti Windows come su Ubuntu Desktop un firewall sia spesso inutile e la cosa ovviamente mi ha fatto molto piacere.</p>
<p>Vero è che ho sucessivamente installato <strong>Apache</strong> e <strong>MySQL</strong> server e che intendo utilizzare questi server solo per sviluppo e test in locale senza renderli accessibili da Internet. Quindi la necessità di un firewall si è ripresentata. Dopo qualche ricerca mi è sembrato che una soluzione adeguata per gli utenti non troppo esperti possa essere <strong>Gufw</strong>: si tratta di un'interfaccia grafica che semplifica la configurazione del firewall nativo di Ubuntu.</p>
<p>L'installazione si fa facilmente con <strong>Synaptic</strong> (pacchetto 'gufw'). Al termine si può accedere alla configurazione da Sistema » Amministrazione » Configurazione firewall: non avendo bisogno di impostare regole particolari, mi sono limitato a spuntare <em>Firewall abilitato</em> e a lasciare selezionata l'opzione predefinita <em>Nega il traffico in entrata</em>.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWpbPL9tO9F51FGZMDHuTdWgbYmAlF0LLCELSyKddZKi1WLkNwZIuzJJUN8ccDhVfs77wt3Ek9NjF7WEeNn4e36X8xD4VgLrJdZi6i6NI3GwBQqrNkEg-xMmZeFaVlP7abtlLv-akcKko/s1600-h/Schermata-3.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 149px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhWpbPL9tO9F51FGZMDHuTdWgbYmAlF0LLCELSyKddZKi1WLkNwZIuzJJUN8ccDhVfs77wt3Ek9NjF7WEeNn4e36X8xD4VgLrJdZi6i6NI3GwBQqrNkEg-xMmZeFaVlP7abtlLv-akcKko/s320/Schermata-3.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5342267334552216242" /></a>
<p>Come verifica ho ripetuto il test 'Shields up' sulle porte <strong>80</strong> (Apache) e <strong>3306</strong> (MySQL): con l'opzione <em>Firewall abilitato</em> selezionata risultano entrambe <em>stealth</em>, mentre con l'opzione deselezionata risultano rispettivamente <em>open</em> e <em>closed</em>.</p>
<p>Arrivati a questo punto se si ha bisogno di impostare regole specifiche si possono utilizzare le tre schede sotto <em>Aggiungi nuova regola</em>:</p>
<p><ul><li><strong>Semplice</strong>: si indica un numero di porta e si sceglie se bloccare (o accettare) il traffico attraverso quella porta.</li>
<li><strong>Preconfigurate</strong>: si seleziona un programma o servizio e si sceglie se bloccare (o accettare) il traffico attraverso la porta preconfigurata per quel programma o servizio. Ad esempio se la scelta è Permetti / Servizio / ftp, quando si preme <em>Aggiungi</em> vedremo una regola '21/tcp ALLOW Anywhere'.</li>
<li><strong>Avanzate</strong>: possiamo scegliere se bloccare (o accettare) il traffico da (o verso) uno o più indirizzi IP attraverso una porta o un intervallo di porte.</li></ul></p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-33020735555683561202009-05-27T16:35:00.000+02:002009-05-27T16:37:40.861+02:00Installazione MySQL, phpMyAdmin<p>Arrivato a questo punto non resta che l'installazione di <strong>MySQL</strong> per completare la configurazione dell'ambiente di test e sviluppo su <strong>Ubuntu 9.04</strong>. La cosa è piuttosto semplice: con l'ormai familiare Gestore pacchetti Synaptic (in Sistema » Amministrazione) trovo e marco per l'installazione il pacchetto 'mysql-server', confermo tutte le dipendenze e avvio l'installazione con il pulsante <em>Applica</em>.</p>
<p>Durante la configurazione mi viene chiesta una password per l'utente 'root' di MySql: la scelgo e ne prendo nota.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0o513_Obm3IHue-0j6M9LUZb2rOOXIRpiqP54Artt2_5oZ58O4zyZFGNZSSBzEztPzRrvOu063_hxH5Dwo1ObRvHYZEIGa_5iSJvjr4Jkydevkl-vyZj9Sl5gUc60k4D7cSx6UcLuRCY/s1600-h/Schermata-1.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 124px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0o513_Obm3IHue-0j6M9LUZb2rOOXIRpiqP54Artt2_5oZ58O4zyZFGNZSSBzEztPzRrvOu063_hxH5Dwo1ObRvHYZEIGa_5iSJvjr4Jkydevkl-vyZj9Sl5gUc60k4D7cSx6UcLuRCY/s320/Schermata-1.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5340304729366741298" /></a>
<p>Una volta terminata l'installazione apro una finestra terminale (da Applicazioni » Accessori). Scrivo</p>
<code>mysql -u root -p</code>
<p>per effettuare il login come utente 'root' con password. Alla richiesta della password inserisco quella impostata in precedenza e compare la schermata di benvenuto con le informazioni sulla versione di MySQL installata.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7UIf9nFDl5qhW7UcO8lnJzKFsSuGpBpJRAOXB8wucloYS7W3OI-ZJLotCy04divAb89aaFEjUfiXHVpd-obHuWusXe8755MS3g53B5VSe2Fq2GA5Ip6lhSIpuPt9UXElhNyIGmT6juI/s1600-h/Schermata-2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 129px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjG7UIf9nFDl5qhW7UcO8lnJzKFsSuGpBpJRAOXB8wucloYS7W3OI-ZJLotCy04divAb89aaFEjUfiXHVpd-obHuWusXe8755MS3g53B5VSe2Fq2GA5Ip6lhSIpuPt9UXElhNyIGmT6juI/s320/Schermata-2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5340305925592887314" /></a>
<p>Per uscire invece si utilizza semplicemente il comando</p>
<code>\q</code>
<p>Gestire MySQL sempre da finestra terminale può essere scomodo, quindi, visto che PHP è già disponibile, installo anche <strong>phpMyAdmin</strong> (pacchetto 'phpmyadmin' in Synaptic).</p>
<p>Una volta che il pacchetto e le sue dipendenze sono stati scaricati, inizia la configurazione guidata. Mi viene chiesto:</p>
<ol><li>Il webserver da configurare per l'esecuzione di phpMyAdmin: scelgo Apache2;</li>
<li>Se configurare il database di phpMyAdmin con dbconfig-common: scelgo di sì;</li>
<li>La password per l'utente amministratore del database: inserisco la password dell'utente 'root' scelta durante l'installazione di MySQL;</li>
<li>Una ulteriore password applicativa per phpMyAdmin : lascio il campo vuoto per farla generare automaticamente.</li></ol>
<p>Al termine di tutta la procedura, avvio Firefox e scrivo nella barra di navigazione 'http://localhost/phpmyadmin/': nella schermata di login mi connetto come 'root' e relativa password MySQL per verificare che tutto funzioni.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-14990437467624401222009-05-26T03:57:00.004+02:002009-05-26T11:24:56.287+02:00Installazione PHP 5<p>Dopo aver installato <strong>Apache</strong>, il passo successivo da compiere per predisporre su <strong>Ubuntu 9.04</strong> l'ambiente di test e sviluppo che mi serve è l'installazione e la configurazione di <strong>PHP 5</strong>.</p>
<p>Quindi in Sistema » Amministrazione » Gestore pacchetti Synaptic trovo con il pulsante <em>Cerca</em> il pacchetto 'php5' e lo marco per l'installazione. Tra i pacchetti marcati automaticamente come dipendenze è incluso il modulo PHP 5 per Apache2 ('libapache2-mod-php5'): per quelle che sono le mie esigenze non mi crea problemi configurare PHP come modulo Apache quindi non modifico niente e procedo all'installazione con <em>Applica</em>.</p>
<p>Una volta terminata l'installazione e la configurazione dei pacchetti, per verificare che tutto sia andato bene creo un file 'info.php' nella <strong>Document Root</strong> del <strong>Virtual Host</strong> 'test' cioè (<a href="http://io-e-ubuntu.blogspot.com/2009/05/installazione-di-apache.html" title="Installazione di Apache">vedere post precedente</a>) '/home/nome_utente/public_html' dove <em>nome_utente</em> è il mio nome utente in Ubuntu. Il contenuto del file 'info.php' è il seguente:</p>
<code><?php
phpinfo();
?></code>
<p>Scrivendo 'http://test/info.php' nella barra di navigazione di Firefox compaiono come previsto le informazioni relative alla versione appena installata di PHP 5.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgohwxKWbww3ugv1ALKnJIxioT3G0Xhm63FVCouxVqTVEQXS9NMjTx7Xgm15Vj78yWGNFwI5mA1aOHooGsD3BZN3cWGET5WDFvh8ynsmELBhjflEw3JjNE_cmxawhFpfW_1eALEhSODO4Q/s1600-h/Schermata.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 71px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgohwxKWbww3ugv1ALKnJIxioT3G0Xhm63FVCouxVqTVEQXS9NMjTx7Xgm15Vj78yWGNFwI5mA1aOHooGsD3BZN3cWGET5WDFvh8ynsmELBhjflEw3JjNE_cmxawhFpfW_1eALEhSODO4Q/s400/Schermata.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5339947254024883186" /></a>
<p>Chi si trovasse a seguire queste note senza aver configurato un <strong>Virtual Host</strong> come spiegato nel post precedente, può creare il file 'info.php' in '/var/www' cioè la <strong>Document Root</strong> del sito di default creato al momento dell'installazione di Apache. Per compiere questa operazione basterà utilizzare questo comando da Terminale (<strong>sudo</strong> è necessario per poter scrivere in '/var/www'):</p>
<code>sudo gedit /var/www/info.php</code>
<p>Inserire nell'editor le stesse righe riportate sopra e salvare. A questo punto 'http://localhost/info.php' mostrerà le informazioni sulla versione di PHP.</p>
<p>Potrà farmi comodo eseguire script PHP da finestra terminale, quindi sempre con la stessa procedura in Gestore pacchetti Synaptic trovo ed installo il pacchetto 'php5-cli'.</p>
<p>Una volta terminata l'installazione, da Applicazioni » Accessori » Terminale come verifica scrivo</p>
<code>php -v</code>
<p>Anche in questo caso saranno mostrate le informazioni sulla versione di PHP installata.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-68920285259384321242009-05-23T00:57:00.006+02:002009-05-26T01:55:56.747+02:00Installazione di Apache<p>Il primo problema da affrontare sul nuovo sistema è stata la creazione di un ambiente di sviluppo e test per applicazioni <strong>PHP/MySQL</strong>. In Windows utilizzo abitualmente <strong>Wamp</strong>, in Ubuntu avrei potuto utilizzare <strong>Xampp</strong> per Linux, ma ho preferito installare tutte le componenti necessarie (Apache, PHP5, MySql) separatamente pensando che fosse il genere di cosa che vale la pena imparare a fare.</p>
<p>L'installazione di <strong>Apache</strong> è un'operazione che non richiede più di qualche minuto.</p>
<ol><li>Sistema » Amministrazione » Gestione pacchetti Synaptic</li>
<li>Tramite pulsante <em>Cerca</em> trovare il pacchetto 'apache2'</li>
<li>Marcare per l'installazione</li>
<li>Premere pulsante <em>Applica</em></li></ol>
<p>Tutti i pacchetti dipendenti sono marcati ed installati automaticamente. Una volta completata l'installazione basta avviare Firefox e scrivere 'http://localhost/' nella barra degli indirizzi per vedere comparire la pagina 'It works!' di Apache.</p>
<p>La <strong>Document Root</strong> predefinita è '/var/www' che dopo l'installazione contiene un file <em>index.html</em> che mostra la scritta 'It works!'. Il problema è che il proprietario di questa cartella è 'root' e non è quindi possibile scriverci con l'utente dell'account. Leggendo in giro si possono trovare più modi per ovviare al problema, io ho scelto di creare un <strong>Virtual Host</strong> ('test') con una <strong>Document Root</strong> all'interno della mia 'home'.
<p>Per prima cosa ho creato la cartella '/home/nome_utente/public_html' dove <em>nome_utente</em> è il nome con cui effettuo il login ad Ubuntu.</p>
<p>Poi da terminale (Applicazioni » Accessori » Terminale) ho duplicato la configurazione del sito di default</p>
<code>sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/test</code>
<p>Ho modificato la configurazione del nuovo Virtual Host</p>
<code>sudo gedit /etc/apache2/sites-available/test</code>
<p>Ho modificato questa parte del file</p>
<code>
<VirtualHost *:80><br />
ServerAdmin webmaster@localhost<br />
ServerName test<br />
DocumentRoot /home/nome_utente/public_html<br />
<Directory /><br />
Options FollowSymLinks<br />
AllowOverride None<br />
</Directory><br />
<Directory /home/nome_utente/public_html/><br />
Options Indexes FollowSymLinks MultiViews<br />
AllowOverride None<br />
Order allow,deny<br />
allow from all<br />
</Directory>
</code>
<p>La parte rimanente resta invariata. Chiaramente anche in questo caso <em>nome_utente</em> è il mio nome utente su Ubuntu.</p>
<p>Ho poi abilitato il nuovo <strong>Virtual Host</strong> e riavviato <strong>Apache</strong> con i comandi</p>
<code>
sudo a2ensite test<br />
sudo /etc/init.d/apache2 restart
</code>
<p>Infine in Sistema » Amministrazione » Rete, sotto la tab <em>Hosts</em> tramite il pulsante <em>Aggiungi</em> ho inserito un nuovo alias 'test' per l'indirizzo IP 127.0.0.1.</p>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzz8YfjFa7B1X4fqpq-yYPsJTXcfm79ahZbFi6AvHGFESR1nYe94FA7TnBJLLL35HXWiJfzQnB4u6HTIxDPhnRP_AdFkrTFxN4f_QxYamwCYf-Yn7_vCbx4DY58udWcHbQfiQmCk0kaeA/s1600-h/alias.jpg"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 300px; height: 116px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzz8YfjFa7B1X4fqpq-yYPsJTXcfm79ahZbFi6AvHGFESR1nYe94FA7TnBJLLL35HXWiJfzQnB4u6HTIxDPhnRP_AdFkrTFxN4f_QxYamwCYf-Yn7_vCbx4DY58udWcHbQfiQmCk0kaeA/s400/alias.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5338787579304917794" /></a>
<p>Nella cartella '/home/nome_utente/public_html/' posso tranquillamente scrivere perché ne sono il proprietario e quindi vi ho creato un file <em>index.html</em> con questo contenuto</p>
<code>
<html><body>Ciao mondo!!</body></html>
</code>
<p>Aprendo Firefox e inserendo nella barra indirizzi 'http://test/' otteniamo 'Ciao mondo!', inserendo invece 'http://localhost/' ancora 'It works!' in quanto il sito di default è ancora attivo.</p>
<p>Una configurazione di questo tipo da utilizzare localmente per sviluppo e test penso possa andare più che bene. Mancano da installare PHP 5 e MySQL.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com1tag:blogger.com,1999:blog-4670807985629139090.post-67285518719327444832009-05-21T01:54:00.002+02:002009-05-21T09:20:14.237+02:00Dual boot Ubuntu e Windows XP Professional<p>Fare il salto va bene, ma non senza rete! Per questo mi è sembrata logica una configurazione <strong>dual boot</strong> Ubuntu 9.04 - Windows XP Professional. Windows XP era stato preinstallato sul PC in una partizione unica da 160 Giga NTFS, quindi il primo problema era fare spazio ad Ubuntu: ho deciso di non cimentarmi nella configurazione manuale delle partizioni e di lasciare fare tutto alla procedura di installazione. Ovviamente prima mi sono fatto un backup dei dati importanti.</p>
<p>Ho masterizzato il Live CD a partire dall'immagine ISO scaricata dal sito di Ubuntu, poi ho impostato la sequenza di boot del BIOS in modo che il CD fosse il primo dispositivo della lista, inserito il CD e riavviato. Mi sono stancato presto della (ovvia) lentezza del sistema eseguito da CD e sono passato al fatidico click sull'icona Install.</p>
<p>A quel punto è bastato seguire le istruzioni, ho scelto di dedicare ad Ubuntu 50 Giga di spazio sull'hard disk, e ho lasciato che se la vedesse da solo come gestirseli.</p>
<p>Tutto è andato bene. Al riavvio dopo l'installazione, come previsto, mi sono trovato l'opzione per scegliere quale dei due sistemi operativi avviare: sono entrato prima in Windows XP per la curiosità di vedere se fosse sempre al suo posto ed in effetti c'era anche se ha avuto qualcosa di ridire, presumo sul fatto che il disco fosse stato ripartizionato a sua insaputa :) la conseguente scansione e verifica del disco ha richiesto a occhio più dell'intera procedura di installazione di Ubuntu, ma alla fine il risultato è stato positivo e la configurazione dual boot funziona perfettamente.</p>
<p>In conclusione, il viaggio sarà lungo, ma la partenza è stata buona.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0tag:blogger.com,1999:blog-4670807985629139090.post-30415735766416504052009-05-21T01:44:00.002+02:002009-05-21T01:48:11.706+02:00Per iniziare<p>I post introduttivi ai blog non è che servano a molto: restano in fondo all'archivio superati dai post più recenti e nessuno li legge mai. Scrivo quindi giusto due righe.</p>
<p>Questo sarà una sorta di diario personale di un utilizzatore ed appassionato di computer che dopo anni di utilizzo di Microsoft Windows ha deciso di passare (anche se per ora non in via del tutto definitiva) a Linux e a <strong>Ubuntu</strong> in particolare.</p>
<p>Essendo la mia attuale esperienza con Linux praticamente pari a zero che senso ha scrivere un blog sull'argomento? La prima ragione, dico la verità, è del tutto egoistica: voglio tenere traccia dei miei progressi ed avere degli appunti nel caso debba ripetere in futuro certe operazioni.</p>
<p>Ma per questo basterebbe tenere un documento privato. Ho pensato però che il punto di vista dell'utente inesperto possa essere utile ad altri nella stessa situazione, da qui la decisione di pubblicare questi appunti e note in un blog.</p>
<p>Si capisce quindi che tutto quanto scritto sarà frutto della personale esperienza e personali sperimentazioni, senza la pretesa di insegnare niente a nessuno.</p>Ubuntu-maniahttp://www.blogger.com/profile/01183032811105958565noreply@blogger.com0