<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>tipsntricks &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/tipsntricks/</link>
	<description>Feed of posts on WordPress.com tagged "tipsntricks"</description>
	<pubDate>Sun, 29 Nov 2009 17:21:00 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Tips'nTricks: script Bash per selezionare file da editare]]></title>
<link>http://idl3.wordpress.com/2009/11/24/tipsntricks-scripr-bash-per-selezionare-file-da-editare/</link>
<pubDate>Tue, 24 Nov 2009 08:19:39 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/24/tipsntricks-scripr-bash-per-selezionare-file-da-editare/</guid>
<description><![CDATA[Ci sono operazioni che per fortuna o purtroppo non facciamo spesso, editare il file di configurazion]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Ci sono <strong>operazioni che per fortuna o purtroppo non facciamo spesso</strong>, editare il file di configurazione del server X ad esempio e&#8217; una di quelle operazioni che, a meno di modifiche hardware, una volta fatte non dobbiamo piu&#8217; ripetere. Puo&#8217; succede quindi che <strong>ci dimentichiamo il percorso</strong> di questi file, allora o li cerchiamo o chiediamo a Google dove possiamo trovarli. Ma <strong>c&#8217;e&#8217; un altro sistema</strong>, che semplifica le cose, <strong>vediamolo</strong>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/09/terminale.png?w=150" alt="" title="Terminale" width="150" height="150" class="alignleft size-thumbnail wp-image-180" />Si tratta di farci <strong>uno script in Bash</strong> col quale <strong>selezionare</strong> quale file vogliamo <strong>editare</strong>, in questo modo <strong>non siamo costretti a ricordarci il percorso di ogni singolo file importante</strong>. In questo script sono presenti cinque file molto importanti, con i quali prima o poi tutti (o quasi) abbiamo a che fare, il <strong>menu&#8217; di GRUB</strong>, la <strong>lista delle sorgenti</strong>, la <strong>tabella dei dispositivi montati</strong>, le <strong>opzioni dell&#8217;interfaccia di rete</strong> (che io uso con soddisfazione al posto di <a href="http://it.wikipedia.org/wiki/NetworkManager">NetworkManager</a>) e il <strong>file di configurazione del server X</strong>.</p>
<p>Ovviamente <strong>potete aggiungere i file che volete nell&#8217;elenco</strong>. Ecco lo script:</p>
<pre><tt>---8&#60;---
<i><font color="#9A1900">#!/bin/bash</font></i>

echo <font color="#FF0000">"1) nano /boot/grub/menu.lst"</font>
echo <font color="#FF0000">"2) nano /etc/apt/sources.lst"</font>
echo <font color="#FF0000">"3) nano /etc/fstab"</font>
echo <font color="#FF0000">"4) nano /etc/network/interfaces"</font>
echo <font color="#FF0000">"5) nano /etc/X11/xorg.conf"</font>
echo <font color="#FF0000">""</font>
echo -n <font color="#FF0000">"seleziona: "</font>
<b><font color="#0000FF">read</font></b> var1
echo <font color="#FF0000">""</font>
<b><font color="#0000FF">if</font></b> <font color="#990000">[</font> <font color="#009900">$var1</font> <font color="#990000">=</font> <font color="#993399">1</font> <font color="#990000">]</font>
<b><font color="#0000FF">then</font></b>
	echo <font color="#FF0000">"modifica del menu di GRUB"</font>
        nano /boot/grub/menu<font color="#990000">.</font>lst
<b><font color="#0000FF">elif</font></b> <font color="#990000">[</font> <font color="#009900">$var1</font> <font color="#990000">=</font> <font color="#993399">2</font> <font color="#990000">]</font>
<b><font color="#0000FF">then</font></b>
	echo <font color="#FF0000">"modifica della lista delle sorgenti"</font>
        nano /etc/apt/sources<font color="#990000">.</font>list
<b><font color="#0000FF">elif</font></b> <font color="#990000">[</font> <font color="#009900">$var1</font> <font color="#990000">=</font> <font color="#993399">3</font> <font color="#990000">]</font>
<b><font color="#0000FF">then</font></b>
	echo <font color="#FF0000">"modifica della tabella dei dispositivi"</font>
        nano /etc/fstab
<b><font color="#0000FF">elif</font></b> <font color="#990000">[</font> <font color="#009900">$var1</font> <font color="#990000">=</font> <font color="#993399">4</font> <font color="#990000">]</font>
<b><font color="#0000FF">then</font></b>
	echo <font color="#FF0000">"modifica delle interfacce di rete"</font>
        nano /etc/network/interfaces
<b><font color="#0000FF">elif</font></b> <font color="#990000">[</font> <font color="#009900">$var1</font> <font color="#990000">=</font> <font color="#993399">5</font> <font color="#990000">]</font>
<b><font color="#0000FF">then</font></b>
	echo <font color="#FF0000">"modifica del file di configurazione del server X"</font>
        nano /etc/X11/xorg<font color="#990000">.</font>conf
<b><font color="#0000FF">fi</font></b>
---8&#60;---</tt></pre>
<p>copiatelo e incollatelo in un file vuoto, rinominatelo come volete (ad esempio <code>editpersmemorati</code>) e mettetelo nella directory <code>/bin</code>:<br />
<code># mv editpersmemorati /bin</code></p>
<p>A questo punto quando dovete <strong>editare uno di quei file</strong> vi bastera&#8217; dare questo <strong>comando</strong>:<br />
<code># editpersmemorati</code><br />
<strong>selezionare</strong> il file che vi interessa e <strong>procedere normalmente alla sua modifica</strong>.</p>
<p>Essendo comandi da eseguire da <code>root</code>, anche lo script deve essere ovviamente eseguito da <code>root</code>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/24/tipsntricks-scripr-bash-per-selezionare-file-da-editare/&#38;t=TipsnTricks: script Bash per selezionare file da editare" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/24/tipsntricks-scripr-bash-per-selezionare-file-da-editare/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: Conky e gli aggiornamenti]]></title>
<link>http://idl3.wordpress.com/2009/11/19/tipsntricks-conky-e-gli-aggiornamenti/</link>
<pubDate>Thu, 19 Nov 2009 07:39:08 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/19/tipsntricks-conky-e-gli-aggiornamenti/</guid>
<description><![CDATA[Avevo gia&#8217; scritto un post su Conky, una piccola applicazione che permette di avere un leggero]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Avevo gia&#8217; scritto <a href="http://idl3.wordpress.com/2009/09/27/howto-il-monitor-di-sistema-che-conkysta/">un post su <strong>Conky</strong></a>, una piccola applicazione che permette di avere un leggero <strong>monitor di sistema</strong> ampiamente configurabile integrato sul vostro desktop. Questa volta vi indico una riga che potete aggiungere al vostro <strong>file di configurazione</strong> di Conky per vedere quando ci sono <strong>aggiornamenti</strong> dei pacchetti di Ubuntu (ma anche Debian se le <a href="http://www.e-pillole.com/linux/post/20/installare-e-configurare-sudo-su-debian/">integrate</a> <code>sudo</code>).</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/ubuntu-logo.gif?w=145" alt="" title="ubuntu-logo" width="145" height="150" class="alignleft size-thumbnail wp-image-1150" />Prima di tutto dovete <strong>aprire il vostro file di configurazione</strong>:<br />
<code>$ nano ~/.conkyrc</code><br />
probabilmente e&#8217; nella vostra <code>home</code>, ma potrebbe anche essere in altro luogo, lo sapete voi, quindi andate prima nella giusta directory.</p>
<p>Ora <strong>copiate</strong> queste due righe:</p>
<pre>---8&#60;---
${color #ffffff}UPDATE ${hr 1}
${color lightgrey}Nuovi pacchetti: ${color #ff0000} ${execi 3600 sudo apt-get update 1&#62; /dev/null &#38;&#38; apt-get search "~U" &#124; wc -l &#124; tail}
---8&#60;---</pre>
<p>e aggiungetele dove volete e con gli adattamenti grafici che volete.</p>
<p>Fatemi sapere perche&#8217; nella mia Debian non ho nessuna intenzione di mettere <code>sudo</code> quindi non ho potuto testare se Conky effettivamente <strong>indica gli aggiornamenti disponibili</strong> quando ci sono.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/19/tipsntricks-conky-e-gli-aggiornamenti/&#38;t=TipsnTricks: Conky e gli aggiornamenti" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/19/tipsntricks-conky-e-gli-aggiornamenti/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[How about a Python for CG page on this blog?]]></title>
<link>http://baltazaar.wordpress.com/?p=146</link>
<pubDate>Wed, 18 Nov 2009 16:19:39 +0000</pubDate>
<dc:creator>Baltazaar</dc:creator>
<guid>http://baltazaar.wordpress.com/?p=146</guid>
<description><![CDATA[I would like to know if ny readers of my blog has interest in learning some Python for use with CG a]]></description>
<content:encoded><![CDATA[I would like to know if ny readers of my blog has interest in learning some Python for use with CG a]]></content:encoded>
</item>
<item>
<title><![CDATA[Network Licensing Maya 2010 on the Linux client]]></title>
<link>http://baltazaar.wordpress.com/2009/11/18/network-licensing-maya-2010-on-the-linux-client/</link>
<pubDate>Wed, 18 Nov 2009 09:55:56 +0000</pubDate>
<dc:creator>Baltazaar</dc:creator>
<guid>http://baltazaar.wordpress.com/2009/11/18/network-licensing-maya-2010-on-the-linux-client/</guid>
<description><![CDATA[I recently received a question about licensing via a network server running Windows on the network. ]]></description>
<content:encoded><![CDATA[I recently received a question about licensing via a network server running Windows on the network. ]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: scoprire i pacchetti installati piu' grandi]]></title>
<link>http://idl3.wordpress.com/2009/11/17/tipsntricks-scoprire-i-pacchetti-installati-piu-grandi/</link>
<pubDate>Tue, 17 Nov 2009 06:32:37 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/17/tipsntricks-scoprire-i-pacchetti-installati-piu-grandi/</guid>
<description><![CDATA[Puo&#8217; capitare con computer datati, a cui non abbiamo sostituito ancora l&#8217;hard disk, di d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Puo&#8217; capitare con <strong>computer datati</strong>, a cui non abbiamo sostituito ancora l&#8217;<em>hard disk</em>, di dover affrontare un serio problema. <strong>Fare spazio</strong>. La scelta piu&#8217; difficile in questo campo e&#8217; quella di <strong>scegliere cosa cancellare e cosa tenere</strong>. Per i documenti personali ovviamente la scelta e&#8217; <strong>influenzata da sentimenti e ricordi</strong>, non puo&#8217; dunque essere un semplice <em>HowTo</em> a risolvere il dilemma. Quindi prendo in considerazione <strong>la scelta di quali pacchetti eliminare</strong>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/fat-cat.jpeg?w=150" alt="fat-cat" title="fat-cat" width="150" height="115" class="alignleft size-thumbnail wp-image-1093" />Per poter veramente <strong>scegliere</strong> quali pacchetti disinstallare abbiamo bisogno di sapere <strong>quali sono quelli che occupano piu&#8217; spazio</strong>, altrimenti rischiamo di cancellare pacchetti che riteniamo <strong>superflui</strong>, ma che ai fini della creazione di spazio nel nostro HD sono addirittura <strong>inutili</strong>.</p>
<p>Questo e&#8217; il <strong>comando</strong> che ci permette da terminale di conoscere <strong>i pacchetti piu&#8217; corposi</strong>:<br />
<code>$ dpkg-query --show --showformat='${Package;-50}\t${Installed-Size}\n' &#124; sort -k 2 -n &#124; grep -v deinstall &#124; awk '{printf "%.3f MB \t %s\n", $2/(1024), $1}'</code></p>
<p>come output ci verra&#8217; mostrato un <strong>elenco dei pacchetti installati in ordine crescente</strong> dal piu&#8217; piccolo al piu&#8217; grande. Volendo, per semplificare possiamo <strong>inserire questo comando in uno script in <em>bash</em></strong>, chiamarlo ad esempio <code>bilancia.sh</code> e poi <strong>eseguirlo</strong>:<br />
<code>$ ./bilancia.sh</code></p>
<p>Ma a noi interessano solo <strong>i pacchetti veramente ciccioni</strong>, ad esempio <strong>i 5 piu&#8217; grassi</strong> in assoluto. Allora ci viene in aiuto il comando <code>tail</code>, col quale posiamo scegliere che ci vengano mostrati solo gli ultimi (il numero lo indichiamo tra le opzioni) risultati. Ecco come fare:<br />
<code>$ dpkg-query --show --showformat='${Package;-50}\t${Installed-Size}\n' &#124; sort -k 2 -n &#124; grep -v deinstall &#124; awk '{printf "%.3f MB \t %s\n", $2/(1024), $1}' &#124; tail -n 5</code><br />
il comando e&#8217; sempre piu&#8217; <strong>lungo</strong>, ecco perche&#8217; avevo consigliato di <strong>inserirlo in uno script</strong> in bash. Con lo script il comando sarebbe:<br />
<code>$./bilancia.sh &#124; tail -n 5</code><br />
quanti vederne e&#8217; una nostra scelta, <strong>basta modificare il numero</strong> <code>5</code> e mettere ad esempo <code>10</code> (se vogliamo vedere i 10 pacchetti piu&#8217; grandi) oppure <code>1</code> (per vedere solo il pacchetto piu&#8217; grande).</p>
<p>Ora leggiamo <strong>i 5 pacchetti piu&#8217; grassi</strong>:</p>
<pre>[...]
58,547 MB 	 inkscape
103,293 MB 	 openoffice.org-core
104,836 MB 	 texlive-latex-extra-doc
110,059 MB 	 texlive-fonts-extra
160,965 MB 	 openclipart-png</pre>
<p> e scegliamo quello da rimuovere. Nel mio caso rimuovendo <code>openclipart-png</code> libererei 161MB:<br />
<code># apt-get --purge remove openclipart-png</code></p>
<p>Pero&#8217; il mio HD e&#8217; abbastanza grande da permettermi di <strong>tenere le inutili <em>clipart</em> che non usero&#8217; mai</strong>.</p>
<p>Fonte: <a href="http://ubuntulife.wordpress.com/2009/11/13/tip-como-saber-que-paquete-de-software-esta-usando-mas-espacio/">Tip: Como saber que paquete de software esta usando mas espacio</a></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/17/tipsntricks-scoprire-i-pacchetti-installati-piu-grandi/&#38;t=TipsnTricks: scoprire i pacchetti installati più grandi" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/17/tipsntricks-scoprire-i-pacchetti-installati-piu-grandi/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[#6 – (s)Collegamenti]]></title>
<link>http://idl3.wordpress.com/2009/11/14/6-scollegamenti/</link>
<pubDate>Sat, 14 Nov 2009 07:29:54 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/14/6-scollegamenti/</guid>
<description><![CDATA[Creare un .deb partendo da Python Programmate in Python e non sapete come creare un file .deb per la]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Creare un .deb partendo da Python</strong><br />
Programmate in Python e non sapete come creare un file .deb per la vostra distro Debian (o derivate come Ubuntu)? La soluzione è semplice e non serve molto per creare il vostro deb da usare oppure da condividere su internet per tutti i debianizzati.<br />
<a href="http://mika29.wordpress.com/2009/10/23/creare-un-deb-partendo-da-python/">Continua a leggere&#8230;</a></p>
<p><strong>Five Power Tools for Pidgin</strong><br />
Pidgin is a great GTK2-based instant messenger application that supports a bevy of protocols, including ICQ, Yahoo!, MSN, Jabber, and AIM. It&#8217;s a terrific app in its own right, but when you add some of these power tools, Pidgin is even better.<br />
<a href="http://ostatic.com/blog/five-power-tools-for-pidgin">Continua a leggere&#8230;</a></p>
<p><strong>Installare e configurare sudo su Debian</strong><br />
Questa breve guida è dedicata all&#8217;installazione e alla configurazione base di sudo. Molto semplicemente, sudo è l&#8217;acronimo di superuser do. Si intuisce quindi immediatamente il significato di questo comando molto utile: fornire i privilegi di root ad un singolo utente.<br />
<a href="http://www.e-pillole.com/linux/post/20/installare-e-configurare-sudo-su-debian/">Continua a leggere&#8230;</a></p>
<p><strong>Fstab Demystified: How to Add Partitions</strong><br />
In this article, you will learn to understand fstab (File System Table) and its entries. We&#8217;ll show you how to add a new hard drive to fstab and mount the partitions automatically on boot. We&#8217;ll also explain some of the terminology used in fstab, and we take a look at the fdisk command.<br />
<a href="http://www.brighthub.com/computing/linux/articles/13750.aspx">Continua a leggere&#8230;</a></p>
<p><strong>QuickTip: Make life easier with ssh-copy-id</strong><br />
Thanks to bash&#8217;s tab completion, I happened upon ssh-copy-id. Instead of all that above, just do this:<br />
<code>$ ssh-copy-id myhost</code><br />
<a href="http://www.sysadminsjourney.com/content/2009/11/12/quicktip-make-life-easier-ssh-copy-id">Continua a leggere&#8230;</a></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/14/6-scollegamenti/&#38;t=6 – sCollegamenti" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/14/6-scollegamenti/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[About the Maya on Linux Guide]]></title>
<link>http://baltazaar.wordpress.com/2009/11/13/about-the-maya-on-linux-guide/</link>
<pubDate>Fri, 13 Nov 2009 13:15:50 +0000</pubDate>
<dc:creator>Baltazaar</dc:creator>
<guid>http://baltazaar.wordpress.com/2009/11/13/about-the-maya-on-linux-guide/</guid>
<description><![CDATA[Sorry to say, that I can not provide you more support than I’ve already done in preparing this, (sti]]></description>
<content:encoded><![CDATA[Sorry to say, that I can not provide you more support than I’ve already done in preparing this, (sti]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: eliminare applicazioni in Python]]></title>
<link>http://idl3.wordpress.com/2009/11/12/tipsntricks-eliminare-applicazioni-in-python/</link>
<pubDate>Thu, 12 Nov 2009 06:40:33 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/12/tipsntricks-eliminare-applicazioni-in-python/</guid>
<description><![CDATA[Quando dovete eliminare un&#8217;applicazione installata attraverso il comando python setup.py insta]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Quando dovete <strong>eliminare un&#8217;applicazione</strong> installata attraverso il <strong>comando</strong> <code>python setup.py install</code> sorge il problema di come <strong>rintracciare i singoli file</strong> che <code>setup.py</code> ha sparso per il nostro <strong>HD</strong>. In questi casi o speriamo che chi ha scritto quell&#8217;applicazione abbia fatto anche <strong>un file per disinstallarla</strong>, oppure ci <strong>arrangiamo</strong>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/python.png?w=150" alt="python" title="python" width="150" height="110" class="alignleft size-thumbnail wp-image-1067" />Una soluzione puo&#8217; essere quella di pensarci prima, facendo in modo che venga scritto un elenco di tutti i file creati durante l&#8217;installazione. Supponendo di dover installare con Python l&#8217;applicazione Caio, lo si puo&#8217; fare in questo modo:<br />
<code>$ python setup.py install --record filecaio.txt</code></p>
<p>Quando dobbiamo <strong>disinstallarla</strong> bastera&#8217; indicare il file di testo che contiene l&#8217;<strong>elenco</strong> come <em>input</em> col seguente <strong>comando</strong>:<br />
<code>$ cat filecaio.txt &#124; xargs rm -rf</code></p>
<p>Ovviamente prima di cancellare qualsiasi cosa <strong>leggete attentamente l&#8217;elenco</strong>, per evitare di cancellare per sempre file che invece vi servono. Inoltre questo metodo e&#8217; <strong>molto grezzo</strong>, meglio non usarlo, pero&#8217; l&#8217;ho voluto riportare lo stesso, fate voi.</p>
<p>Fonte: <a href="http://kmandla.wordpress.com/2009/01/08/there-is-no-setuppy-uninstall/">There is no setup.py uninstall</a></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/12/tipsntricks-eliminare-applicazioni-in-python/&#38;t=TipsnTricks: eliminare applicazioni in Python" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/12/tipsntricks-eliminare-applicazioni-in-python/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: ASUS e il LED delle email]]></title>
<link>http://idl3.wordpress.com/2009/11/10/tipsntricks-asus-e-il-led-delle-email/</link>
<pubDate>Tue, 10 Nov 2009 06:36:09 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/10/tipsntricks-asus-e-il-led-delle-email/</guid>
<description><![CDATA[Appena ho installato CheckGmail e&#8217; sorta l&#8217;esigenza di far accendere il LED blu del port]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Appena ho <a href="http://idl3.wordpress.com/2009/11/09/tipsntricks-checkgmail-e-lerrore-401/">installato CheckGmail</a> e&#8217; sorta l&#8217;esigenza di far <strong>accendere il <acronym title="Light Emitting Diode">LED</acronym></strong> blu del portatile che notifica la <strong>ricezione di una nuova email</strong>. Ero abituato a quando il file dove inserire lo zero e l&#8217;uno &#8211; a seconda si volesse spegnere o accendere il LED &#8211; era posizionato in <code>/proc/acpi/asus/mled</code>. Invece <strong>e&#8217; cambiato</strong>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/led.jpg?w=150" alt="led" title="led" width="150" height="110" class="alignleft size-thumbnail wp-image-988" />Prima bastava <strong>inserire</strong> in uno script (o nell&#8217;apposito form di un programma come nel caso di <strong>CheckGmail</strong>):</p>
<pre>echo 0 &#62; /proc/acpi/asus/mled</pre>
<p>per <strong>spegnere</strong> o:</p>
<pre>echo 1 &#62; /proc/acpi/asus/mled</pre>
<p>per <strong>accendere</strong> il LED.</p>
<p>Ho notato invece che <strong>ora il percorso e&#8217;</strong> <code>/sys/class/leds/asus::mail/</code> e il file non e&#8217; <code>mled</code> ma <code>brightness</code>. Quindi le due righe di prima diventano:</p>
<pre>echo 0 &#62; /sys/class/leds/asus::mail/brightness</pre>
<p>e</p>
<pre>echo 1 &#62; /sys/class/leds/asus::mail/brightness</pre>
<p>State attenti che molto probabilmente il vostro file <code>brightness</code> ha i <strong>permessi</strong> in scrittura solo per l&#8217;utente <strong>root</strong>, mentre per gli altri ha <strong>solo i permessi in lettura</strong>. Ovviamente dobbiamo estendere a tutti il <strong>permesso in scrittura</strong> per poter inserire lo zero o l&#8217;uno a seconda del caso. Avevo <a href="http://idl3.wordpress.com/2009/10/17/howto-i-permessi-su-gnulinux/">gia&#8217; scritto</a> come <strong>funzionano</strong> e come <strong>cambiare</strong> i permessi ai file e alle directory.</p>
<p>Apriamo un <strong>terminale</strong>, spostiamoci nella directory giusta:<br />
<code>$ cd /sys/class/leds/asus\:\:mail/</code><br />
<strong>controlliamo</strong> i permessi:<br />
<code>$ ls -l</code></p>
<pre>[...]
-rw-r--r-- 1 root root 4096  9 nov 08:48 brightness
[...]</pre>
<p>Diamo dunque questo <strong>comando</strong>:<br />
<code># chmod a+w brightness</code><br />
<strong>controlliamo</strong> se i permessi sono stati assegnati correttamente:<br />
<code>$ ls -l</code></p>
<pre>[...]
-rw-rw-rw- 1 root root 4096  9 nov 08:48 brightness
[...]</pre>
<p>Tenete presente che <strong>al riavvio del sistema i permessi verranno ripristinati</strong>. Quindi, o ripetiamo questa operazione ogni volta, oppure la facciamo fare in <strong>automatico</strong>. Per farla in automatico apriamo il file <code>rc.local</code>:<br />
<code># nano /etc/rc.local</code><br />
e inseriamo questo prima di <code>exit 0</code>:</p>
<pre>---8&#60;---
chmod a+w /sys/class/leds/asus::mail/brightness
---8&#60;---</pre>
<p>Perfetto.</p>
<p>Ora possiamo utilizzare quel file <strong>tranquillamente</strong>, facciamo subito <strong>una prova</strong> dal terminale:<br />
<code>$ echo 1 &#62; /sys/class/leds/asus\:\:mail/brightness</code><br />
e il LED dovrebbe ora essere <strong>acceso</strong>.</p>
<p><strong>Spegniamolo</strong> con:<br />
<code>$ echo 0 &#62; /sys/class/leds/asus\:\:mail/brightness</code><br />
e andiamo a sistemarci <a href="http://checkgmail.sourceforge.net/">CheckGmail</a> e visto che ci siamo anche <a href="http://www.mozilla-europe.org/it/products/thunderbird/">Thunderbird</a>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/checkgmail-led.png" alt="checkgmail-led" title="checkgmail-led" width="312" height="107" class="alignright size-thumbnail wp-image-987" /><strong>CHECKGMAIL</strong> &#8211; Apriamo le <strong>preferenze di CheckGmail</strong> e cerchiamo due <em>form</em>, il primo e&#8217; &#8220;<em>Comando da eseguire per le nuove mail</em>&#8220;, qui ci inseriamo:</p>
<pre>echo 1 &#62; /sys/class/leds/asus\:\:mail/brightness</pre>
<p>poi il campo subito sotto &#8220;<em>Comando da eseguire quando non ci sono mail</em>&#8220;, dove invece inseriremo:</p>
<pre>echo 0 &#62; /sys/class/leds/asus\:\:mail/brightness</pre>
<p>Date l&#8217;<em>OK</em> e avete finito. Ogni volta che vi arrivera&#8217; un&#8217;email al vostro account Gmail e CheckGmail lo rilevera&#8217;, ve lo comunichera&#8217; con l&#8217;<strong>accensione del LED</strong> del vostro portatile oltre alla normale notifica a Desktop.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/thunderbird.jpg?w=150" alt="thunderbird" title="thunderbird" width="150" height="149" class="alignleft size-thumbnail wp-image-989" /><strong>THUNDERBIRD/ICEDOVE</strong> &#8211; Adesso vediamo come far fare la <strong>stessa cosa anche con Thunderbird</strong>. Il modo piu&#8217; semplice e&#8217; quello di scaricarvi l&#8217;<strong>apposito add-ons</strong>. Si chiama <a href="https://addons.mozilla.org/en-US/thunderbird/addon/4540">Thunderled</a>, scaricatelo e installatelo con la solita procedura di Thunderbird: <em>Strumenti &#62; Componenti aggiuntivi &#62; Installa&#8230;</em></p>
<p><img src="http://idl3.wordpress.com/files/2009/11/thunderled.png?w=150" alt="thunderled" title="thunderled" width="150" height="103" class="alignright size-thumbnail wp-image-990" />Una volta installato <strong>Thunderled</strong> dovete cercarlo nel vostro <acronym title="Hard Disk">HD</acronym>. Trovandosi in una <strong>directory nascosta</strong>, quando aprite il vostro gestore di file e directory (Nautilus, Konqueror, Thunar, o altro) dovete rendere visibili i file e le directory nascoste con <strong>[Ctrl] + [h]</strong>.</p>
<p>Andiamo ora <strong>alla ricerca del file che ci serve</strong>, solitamente lo trovate in <code>/home/UTENTE/.mozilla-thunderbird/BLABLABLA.default/extensions/</code></p>
<p>A questo punto vi trovate <strong>varie directory</strong> <code>{BLABLABLA-BLABLABLA-BLABLABLA}</code> tante quante sono le <strong>estensioni</strong> del vostro Thunderbird. Se <strong>Thunderled</strong> e&#8217; stata l&#8217;<strong>ultima</strong> estensione ad essere installata con tutta probabilita&#8217; <strong>la directory giusta e&#8217; l&#8217;ultima</strong>. Per esserne certi apriamo la directory e leggiamo il file <code>chrome.manifest</code>.</p>
<p>Una volta <strong>accertato</strong> di trovarci nella giusta directory spostiamoci nella <strong>sottodirectory</strong> <code>chrome</code>. Troveremo il file <code>thunderled.jar</code>, che nonostante l&#8217;estensione e&#8217; un semplice <strong>file ZIP</strong>. Dunque <strong>rinominiamolo</strong> (<code>thunderled.zip</code>) ed <strong>estraiamolo</strong>. Otterremo <strong>tre directory</strong>, entriamo in <code>content/thunderled</code> e <strong>apriamo</strong> il file <code>overlay.js</code> col nostro <strong><em>editor</em> di testo</strong>.</p>
<p>Cerchiamo <strong>queste righe</strong>:</p>
<pre>[...]
else{
        file.initWithPath("/bin/sh");
        if(x==1)
                var args = ["-c","echo 1 \&#62; /proc/acpi/asus/mled"];
        else
                var args = ["-c","echo 0 \&#62; /proc/acpi/asus/mled"];
        }
        var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        process.init(file);
        process.run(false, args, args.length);
        }
[...]</pre>
<p>e <strong>sostituiamole con queste</strong>:</p>
<pre>---8&#60;---
else{
        file.initWithPath("/bin/sh");
        if(x==1)
                var args = ["-c","echo 1 \&#62; /sys/class/leds/asus::mail/brightness"];
        else
                var args = ["-c","echo 0 \&#62; /sys/class/leds/asus::mail/brightness"];
        }
        var process = Components.classes["@mozilla.org/process/util;1"].createInstance(Components.interfaces.nsIProcess);
        process.init(file);
        process.run(false, args, args.length);
        }
---8&#60;---</pre>
<p><strong>Salvate ed uscite</strong>. Adesso dovete <strong>ricreare l&#8217;archivio</strong> <code>thunderled.zip</code> e <strong>rinominarlo</strong> in <code>thunderled.jar</code>.</p>
<p>Finito. Da ora in poi ogni volta che Thunderbird scarichera&#8217; una nuova email vi <strong>si accendera&#8217; il LED del portatile</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/10/tipsntricks-asus-e-il-led-delle-email/&#38;t=TipsnTricks: ASUS e il LED delle email" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/10/tipsntricks-asus-e-il-led-delle-email/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: CheckGmail e l'errore 401]]></title>
<link>http://idl3.wordpress.com/2009/11/09/tipsntricks-checkgmail-e-lerrore-401/</link>
<pubDate>Mon, 09 Nov 2009 13:33:58 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/09/tipsntricks-checkgmail-e-lerrore-401/</guid>
<description><![CDATA[Qualche giorno fa stavo pensando tra me e me che per guardare se mi arriva un&#8217;email sul mio in]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Qualche giorno fa stavo pensando tra me e me che per guardare se mi arriva un&#8217;email <strong>sul mio indirizzo Gmail</strong> e&#8217; un po&#8217; scomodo ogni volta dover <strong>accedere a Gmail</strong>. Mi sono dunque accorto che <strong>non avevo ancora un notificatore per Gmail sul mio desktop</strong>. Mancanza grave di questi tempi a quanto pare (nonostante si possa benissimo farne a meno).</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/screenshot7.png" alt="screenshot7" title="screenshot7" width="450" height="180" class="alignleft size-thumbnail wp-image-980" />Comunque <strong>ho deciso di installarne uno</strong>, ho optato per <strong><a href="http://checkgmail.sourceforge.net/">CheckGmail</a></strong>:<br />
<code># apt-get install checkgmail</code></p>
<p>Poi ho impostato la <strong>varie opzioni</strong> e l&#8217;ho subito messo all&#8217;opera, ma lui per tutta risposta mi ha <strong>scritto</strong>:</p>
<pre>401 Unauthorized</pre>
<p>Ho cercato un po&#8217; in giro per la rete e come <strong>soluzione</strong> davano questa:<br />
<code>$ checkgmail -update</code><br />
che aggiorna il file <code>checkgmail</code>,</p>
<p><strong>oppure</strong> quest&#8217;altra:<br />
<code>$ checkgmail -no_cookies</code><br />
che avvia il programma con l&#8217;opzione <code>no_cookies</code>.</p>
<p>Sono soluzioni che <strong>non mi piacciono molto</strong>, allora ho <strong>cercato un po&#8217;</strong> sul sito del programma e ho deciso di fare cosi&#8217;. Mi sono <strong>scaricato</strong> tutti i file e le directory necessarie in una directory:<br />
<code>$ svn co https://checkgmail.svn.sourceforge.net/svnroot/checkgmail checkgmail</code><br />
poi mi sono <strong>spostato</strong> dentro quella directory:<br />
<code>$ cd checkgmail</code><br />
e ho <strong>copiato</strong> il file eseguibile <code>checkgmail</code> nella directory <code>/usr/bin/</code>:<br />
<code># sudo cp checkgmail /usr/bin/</code></p>
<p>Adesso <strong>funziona alla perfezione</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/09/tipsntricks-checkgmail-e-lerrore-401/&#38;t=CheckGmail e lerrore 401" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/09/tipsntricks-checkgmail-e-lerrore-401/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HowTo: GRUB, abbellirlo e ripristinarlo]]></title>
<link>http://idl3.wordpress.com/2009/11/02/howto-grub-abbellirlo-e-ripristinarlo/</link>
<pubDate>Mon, 02 Nov 2009 10:18:20 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/11/02/howto-grub-abbellirlo-e-ripristinarlo/</guid>
<description><![CDATA[Accendendo il computer la prima cosa che vediamo con una parvenza grafica e&#8217; GRUB, un boot loa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Accendendo il computer la prima cosa che vediamo con una parvenza grafica e&#8217; <acronym title="GRand Unified Bootloader">GRUB</acronym>, un <strong>boot loader</strong> che ci consente di scegliere quale <acronym title="Operating System">OS</acronym> avviare e/o con quale versione del <strong>Kernel</strong>. La sua grafica e&#8217; <strong>spartana</strong>, anche se e&#8217; comunque possibile abbellirlo (inserendo una immagine). Vediamo come.</p>
<p><div id="attachment_753" class="wp-caption alignleft" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/11/giant-grub.png?w=150" alt="larva gigante" title="giant-grub" width="150" height="108" class="size-thumbnail wp-image-753" /><p class="wp-caption-text">Big GRUB, sexy vero?</p></div>Il mio <a href="http://it.wikipedia.org/wiki/GRUB">GRUB</a> e&#8217; stato a lungo <strong>privo di <em>splashimage</em></strong>, ma visto che anche l&#8217;occhio vuole la sua parte, l&#8217;ho accontentato. Senza esagerare. Per prima cosa dobbiamo <strong>scaricarci il <a href="http://packages.debian.org/search?keywords=grub-splashimages">pacchetto</a> contenente le immagini</strong>:<br />
<code># apt-get install grub-splashimages</code><br />
Ora andiamo a vedere <strong>dove</strong> sono state messe:<br />
<code># cd /boot/grub/splashimages/</code><br />
<code># ls</code><br />
ed <strong>eccole li</strong>.</p>
<p>Adesso dobbiamo scegliere quella che vogliamo noi. Io ho scelto questa (<code>debblue.xpm.gz</code>):<br />
<img src="http://idl3.wordpress.com/files/2009/11/debblue.png?w=300" alt="debblue" title="debblue" width="300" height="225" class="aligncenter size-medium wp-image-752" /><br />
ma ce ne sono altre, e potete anche trovarne di migliori in giro per la rete, o <strong>crearvela voi</strong> (state solo <strong>attenti</strong> alle caratteristiche, dimensioni, formato, colori, ecc.).</p>
<p>Comunque abbiate scelto, ora dovete <strong>modificare</strong> il file <code>menu.lst</code> del GRUB per <strong>inserire</strong> il percorso della vostra immagine:<br />
<code># nano /boot/grub/menu.lst</code></p>
<p>Ora <strong>leggete attentamente il file</strong>, dovete capire (se non lo sapete) dove si trova il boot, in quale partizione (hd0,0 o hd0,1 o hd1,1 o altro). Inserite quindi queste righe dove volete:</p>
<pre>---8&#60;---
# Aggiungi Splash Screen a GRUB
splashimage=(hd0,1)/boot/grub/splashimages/debblue.xpm.gz
---8&#60;---</pre>
<p>ad esempio subito dopo l&#8217;indicazione del <em>timeout</em> (al posto di <code>hd0,1</code> mettete quello giusto).</p>
<p>Se avete messo il <code>boot</code> in <strong>una partizione tutta per lui</strong> (diversa da quella di <code>root</code> per intenderci), la riga da inserire sara&#8217; questa:</p>
<pre>---8&#60;---
# Aggiungi Splash Screen a GRUB
splashimage=(hd0,0)/grub/splashimages/debblue.xpm.gz
---8&#60;---</pre>
<p>ovviamente come nel caso di prima sostituite a <code>hd0,0</code> la <strong>giusta partizione</strong> (se differente).</p>
<p>Se doveste avere il nuovo <strong>GRUB2</strong> la procedura cambia leggermente, <strong>scarichiamoci il pacchetto</strong> con:<br />
<code># apt-get install grub2-splashimages</code><br />
che mettera&#8217; le immagini in questa directory: <code>/usr/share/images/grub/</code>.</p>
<p>Una volta scelta l&#8217;immagine che ci piace modifichiamo il file <code>05_debian_theme</code> da terminale col <strong>comando</strong>:<br />
<code># nano /etc/grub.d/05_debian_theme</code><br />
la modifica da fare riguarda questa riga:</p>
<pre>[...]
for i in {/boot/grub,/usr/share/images/desktop-base}/moreblue-orbit-grub
[...]</pre>
<p>da <strong>sostituire</strong> con quest&#8217;altra:</p>
<pre>---8&#60;---
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}
---8&#60;---</pre>
<p>Infine <strong>date</strong> un:<br />
<code># update-grub</code><br />
per completare il tutto.</p>
<p>A cosa serve avere una <em>splashimage</em> nel GRUB? A <strong>niente</strong>, il <em>timeout</em> generalmente viene fatto durare pochissimo, <strong>dai 3 ai 5 secondi</strong> e&#8217; il tempo che preferisco. E&#8217; un tempo <strong>sufficiente</strong> per leggere e scegliere e non dobbiamo attendere troppo se la nostra scelta dovesse ricadere su quella preimpostata. Quindi questo <em>HowTo</em> credo proprio vada messo tra le <strong>inutilita&#8217;</strong>.</p>
<p>Giusto per <strong>aggiungere qualche elemento di utilita&#8217;</strong> in questo post, indico due procedure che potrebbero rivelarsi utili.</p>
<p>La <strong>prima procedura</strong> prevede l&#8217;utilizzo di un CD contenente una <strong>distribuzione Live</strong>. Prima di tutto dobbiamo avere un quadro delle partizioni, usiamo (dalla distro Live) questo comando:<br />
<code>fdisk -l</code><br />
a questo punto dobbiamo <strong>montare</strong> la partizione di <code>root</code> (e se separata anche quella di <code>boot</code>). Per montare la partizione di <code>root</code> <strong>creiamo una directory</strong>:<br />
<code>mkdir /mnt/quivaroot</code><br />
e <strong>montiamo</strong>:<br />
<code>mount -t ext3 /dev/hda2 /mnt/quivaroot</code><br />
ovviamente se il vostro <code>root</code> si trova in una partizione diversa da <code>hda2</code> sostituite con quella <strong>giusta</strong> nel comando.</p>
<p><img src="http://idl3.wordpress.com/files/2009/11/boot.gif?w=150" alt="boot" title="boot" width="150" height="150" class="alignright size-thumbnail wp-image-870" />Se abbiamo il <code>boot</code> in una <strong>partizione a parte</strong> dobbiamo montare anche quella. Dunque creiamo la <strong>directory</strong> per contenere il <code>boot</code> (in una <strong>sottodirectory</strong> di quella creata per il <code>root</code>):<br />
<code>mkdir /mnt/quivaroot/quivaboot</code><br />
e <strong>montiamo</strong>:<br />
<code>mount -t ext3 /dev/hda1 /mnt/quivaroot/quivaboot</code><br />
anche qui, sostituite la <strong>giusta</strong> partizione ad <code>hda1</code>.</p>
<p>Adesso col comando <code>chroot</code> dobbiamo far si che la directory <code>quivaroot</code> diventi la nostra directory di <code>root</code>:<br />
<code>chroot /mnt/quivaroot</code></p>
<p><em>a)</em> A questo punto qualcuno consiglia questa procedura:<br />
<code>grub-install /dev/hda</code><br />
<code>shutdown -r now</code><br />
<em>b)</em> qualcun altro quest&#8217;altra:</p>
<pre>grub
root (hd0,1)
setup (hd0)
quit</pre>
<p><em>c 1)</em> Se dovessimo avere <strong>GRUB2</strong>:<br />
<code>mkdir /mnt/boot</code><br />
<code>mount /dev/hda2 /mnt</code><br />
<code>mount /dev/hda1 /mnt/boot</code><br />
e infine:<br />
<code>grub-install --root-directory=/mnt/ /dev/hda</code><br />
ovviamente sostituite <code>hda?</code> con la giusta partizione (se diversa).</p>
<p><em>c 2)</em> Se dovessimo aver installato o aggiornato una nuova versione di Windows (o altro SO), dobbiamo aggiornare il file di <strong>configurazione di GRUB2</strong>:<br />
<code># os-prober</code><br />
verranno cosi&#8217; <strong>rilevati i SO installati</strong> nel computer, a questo punto vi bastera&#8217; dare questo <strong>comando</strong>:<br />
<code># update-grub</code><br />
per <strong>rigenerare</strong> il file <code>grub.cfg</code>.</p>
<p><em>c 3)</em> Se non dovessimo avere il file di configurazione di GRUB2 (<code>grub.cfg</code>) dobbiamo procedere in questo modo per ricrearlo:</p>
<pre>mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit</pre>
<p>Fatto.</p>
<p>E&#8217; anche possibile utilizzare <strong>Super Grub Disk</strong> al posto di una distribuzione live. Oppure e&#8217; anche <a href="http://www.ubuntugeek.com/how-to-restore-grub-boot-loader-after-installing-windows.html">possibile</a> utilizzare <a href="https://gna.org/projects/grub4dos">GRUB4DOS</a>. Dovete scaricarlo da <a href="http://download.gna.org/grub4dos/">qui</a>, poi dipende da quale sistema Windows avete.</p>
<p>- Per <strong>Windows XP</strong>: nel pacchetto <strong>grub4dos</strong> c&#8217;e&#8217; un file chiamato <code>grldr</code>, dobbiamo prenderlo e copiarlo in <code>C:\.Edit boot.ini</code> aggiungendo questa riga:</p>
<pre>---8&#60;---
c:\grldr=”grub4dos”
---8&#60;---</pre>
<p>- <strong>Windows Vista e Windows 7</strong>: copiate il file <code>grldr</code> e il file <code>grldr.mbr</code> in <code>C:\.Create boot.ini</code> e in questo file scrivete queste righe:</p>
<pre>---8&#60;---
[boot loader]
timeout=0
default=c:\grldr.mbr
[operating systems]
C:\grldr.mbr=”Grub4Dos”
---8&#60;---</pre>
<p>Adesso bisogna creare il file <code>menu.lst</code> con questo contenuto:</p>
<pre>---8&#60;---
timeout 0
default 0
title grub2
find --set-root /boot/grub/core.img
kernel /boot/grub/core.img
boot
---8&#60;---</pre>
<p>Ora riavviamo e scegliamo il boot da Grub4Dos, scegliamo di avviare la nostra distribuzione GNU/Linux e dopo aver effettuato il login diamo questo comando:<br />
<code># grub-install /dev/hda</code><br />
ovviamente sostituite <code>hda</code> con la giusta partizione (se diversa).</p>
<p>Se il vostro <strong>GRUB</strong> si trova nell&#8217;<acronym title="Master Boot Record">MBR</acronym> puo&#8217; essere utile <a href="http://www.edmond.netsons.org/index.php/2007/09/09/mbr-al-sicuro/">fare una copia di sicurezza</a> tramite il comando dd (caso mai per qualche motivo dovesse incasinarsi l&#8217;<a href="http://it.wikipedia.org/wiki/Master_boot_record">MBR</a>):<br />
<code># dd if=/dev/sda of=~/mbr.img bs=512 count=1</code><br />
e quando dovesse servire <strong>ripristinarlo</strong> con questo comando:<br />
<code>dd if=mbr.img of=/dev/sda bs=512 count=1</code></p>
<p><div id="attachment_754" class="wp-caption alignleft" style="width: 298px"><img src="http://idl3.wordpress.com/files/2009/11/format-c.png" alt="Format C" title="format-c" width="288" height="50" class="size-full wp-image-754" /><p class="wp-caption-text">Comando di risoluzione universale dei problemi con Microsoft Windows</p></div>Comunque sono situazioni che capitano generalmente solo se si installa <strong>Windows</strong> dopo aver installato una distribuzione <strong>GNU/Linux</strong>.</p>
<p>Se invece in un computer doveste avere <strong>solo Windows</strong> e vi si rovina l&#8217;MBR come fate? Capita con Windows che improvvisamente <strong>non si avvia piu&#8217;</strong>, resta una triste schermata nera e si riavvia, in un <strong>loop infinito</strong> che per compassione terminate <strong>staccando la spina</strong>. In questo caso dovete <strong>inserire il CD originale di Windows</strong>, e dalla <strong>console di ripristino</strong> digitate:</p>
<pre>FIXMBR
FIXBOOT
BOOTCFG /REBUILD
CHKDSK /R</pre>
<p>questi comandi sono <strong>in ordine di gravita&#8217;</strong>, a volte basta solo il primo, a volte sono necessari i primi due, a volte i primi tre e <strong>spesso sono necessari tutti e quattro</strong>.</p>
<p>Se visto che ci siete volete pure <strong>convertire</strong> la vostra partizione di Windows <strong>in <a title="New Technology File System">NTFS</acronym></strong> diamo anche questo <strong>comando</strong>:<br />
<code>CONVERT C: /FS:NTFS</code><br />
comando che consente la conversione senza perdita dei dati. Il processo inverso (da FAT a NTFS) invece richiede la formattazione con perdita di tutti i dati.</p>
<p>Nel caso il vostro CD di Windows <strong>non fosse originale</strong>, dovete <strong>dare un ultimo comando</strong>:<br />
<code>FORMAT C:</code><br />
al termine della procedura <strong>espellete il CD di Windows</strong>, inserite quello di una <strong>distribuzione GNU/Linux</strong>, infine <strong>riavviate e seguite la procedura di installazione</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/11/02/howto-grub-abbellirlo-e-ripristinarlo/&#38;t=HowTo: GRUB, abbellirlo e ripristinarlo" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/11/02/howto-grub-abbellirlo-e-ripristinarlo/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HowTo: Udev e script in base al dispositivo]]></title>
<link>http://idl3.wordpress.com/2009/10/29/howto-udev-e-script-in-base-al-dispositivo/</link>
<pubDate>Thu, 29 Oct 2009 14:00:58 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/29/howto-udev-e-script-in-base-al-dispositivo/</guid>
<description><![CDATA[Stamattina ho scritto come sia possibile usare le regole di Udev per far si che i dispositivi vengan]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Stamattina ho <a href="http://idl3.wordpress.com/2009/10/29/howto-montare-dispositivo-sempre/">scritto</a> come sia possibile <strong>usare le regole di Udev</strong> per far si che i dispositivi vengano montati in una <strong>directory</strong> piuttosto che in un&#8217;altra a seconda del <strong>dispositivo</strong>. Ora vedremo come aggiungere <strong>regole a Udev</strong> per fargli eseguire un determinato <strong>script</strong> quando si monta una <strong>penna USB</strong> (o quando la si smonta).</p>
<p><img src="http://idl3.wordpress.com/files/2009/10/hd-wd-esterno.jpg?w=150" alt="hd-wd-esterno" title="hd-wd-esterno" width="150" height="150" class="alignleft size-thumbnail wp-image-588" />Prima di tutto dobbiamo ottenere <strong>informazioni sull&#8217;hardware</strong>, quindi diamo questo comando da terminale:<br />
<code># tail -f /var/log/syslog</code><br />
e inseriamo la nostra periferica USB (penna, HD esterno). Otterremo un bel po&#8217; di testo come output, segniamoci il percorso della <em>device</em> (ad esempio <code>/dev/sdb</code>).</p>
<p>Ora che sappiamo <strong>dove trovare la periferica</strong>, possiamo ottenere molte informazioni, facciamolo con questo <strong>comando</strong>:<br />
<code>$ udevinfo -a -p $(udevinfo -q path -n /dev/sdb)</code></p>
<p>Anche in questo caso come output otterremo molte righe di testo, ma tra questi, i dati che ci servono non sono molti, segnateveli, perche&#8217; vi serviranno per scrivere la/e regola/e.</p>
<p>Un file di <strong>regole per Udev</strong> e&#8217; ad esempio questo:</p>
<pre>---8&#60;---
BUS=="scsi", SYSFS{model}=="BLAblabla", KERNEL=="sd?1", NAME="pendatilavoro", OWNER="luca"
SUBSYSTEM=="block", ACTION=="add", RUN+="/etc/udev/dev.d/script/mount.dev"
SUBSYSTEM=="block", ACTION=="remove", RUN+="/etc/udev/dev.d/script/umount.dev"
---8&#60;---</pre>
<p>da salvare <strong>ad esempio</strong> su <code>/etc/udev/rules/10-dam.rules</code> (il numero davanti al nome indica la priorita&#8217; di esecuzione, <strong>piu&#8217; basso e&#8217; il numero prima verra&#8217; eseguita la regola</strong>).</p>
<p>Questo e&#8217; il <strong>significato</strong> dei valori:</p>
<pre>BUS=="scsi" =&#62;                      la penna USB viene riconosciuta come disco scsi
SYSFS{model}=="UMni512MB*IOM2J4" =&#62; un modo per riferirsi a quella specifica penna USB
KERNEL=="sd?1" =&#62;                   la prima partizione della penna
NAME="pendatilavoro" =&#62;                  Udev mettera' la nostra penna nel percorso /dev/pendatilavoro (per la prima partizione)
OWNER="luca" =&#62;                    il percorso /dev/pendatilavoro e' dell'utente luca

SUBSYSTEM=="block", ACTION=="add", RUN+="/etc/udev/dev.d/script/mount.dev" =&#62; quando la periferica viene inserita viene eseguito lo script RUN+="/etc/udev/dev.d/script/mount.dev"

SUBSYSTEM=="block", ACTION=="remove", RUN+="/etc/udev/dev.d/script/umount.dev" =&#62; quando la penna viene estratta viene eseguito lo script RUN+="/etc/udev/dev.d/script/umount.dev"</pre>
<p><img src="http://idl3.wordpress.com/files/2009/09/chiave_chiavetta_penna_usb.jpg?w=150" alt="Penna USB" title="Penna USB" width="150" height="96" class="alignright size-thumbnail wp-image-234" />Aggiungendo <strong>script</strong>, potete ad esempio fare in modo che la penna si <strong>sincronizzi</strong> con una directory del vostro hard disk (potete utilizzare <code>rsync</code>) o quando la inserite, o prima di smontarla. Con <code>rsync</code> il comando e&#8217; una cosa del genere:<br />
<code>$ rsync -a -v --delete /dev/pendatilavoro /home/utente/hddatilavoro</code><br />
quindi con le dovute modifiche fate lo script e inserite il suo percorso nella regola di Udev.</p>
<p>Fonte: <a href="http://dventurin.blogspot.com/2007/04/udev-action-add-remove.html">Udev &#8211; action add &#8211; remove</a></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/29/howto-udev-e-script-in-base-al-dispositivo/&#38;t=HowTo: Udev e script in base al dispositivo" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/29/howto-udev-e-script-in-base-al-dispositivo/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HowTo: montare dispositivo dove voglio]]></title>
<link>http://idl3.wordpress.com/2009/10/29/howto-montare-dispositivo-sempre/</link>
<pubDate>Thu, 29 Oct 2009 06:06:27 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/29/howto-montare-dispositivo-sempre/</guid>
<description><![CDATA[Abbiamo visto qualche tempo fa come montare in automatico i dispositivi USB, in quel caso i disposit]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Abbiamo visto qualche tempo fa come <strong><a href="http://idl3.wordpress.com/2009/10/01/howto-monta-con-linux/">montare in automatico</a> i dispositivi USB</strong>, in quel caso i dispositivi venivano montati in un <strong>percorso casuale</strong>. Insomma, non proprio casuale, veniva montato nella prima directory libera di un elenco (con <code>usbmount</code>). Ma, come faccio a far montare in automatico un determinato dispositivo rimovibile <strong>in una determinata directory</strong>? Mi spiego meglio, se abbiamo due penne USB di diversa marca e un HD USB, come facciamo a fare in modo che la <strong>penna A</strong> venga montata nella <strong>directory A</strong>, la <strong>penna B</strong> nella <strong>directory B</strong> e l&#8217;<strong>HD esterno C</strong> nella <strong>directory C</strong>? Il modo esiste, vediamolo.</p>
<p><img src="http://idl3.wordpress.com/files/2009/09/chiave_chiavetta_penna_usb.jpg?w=150" alt="Penna USB" title="Penna USB" width="150" height="96" class="alignleft size-thumbnail wp-image-234" />Prima di tutto bisogna conoscere qualcosa di <a href="http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html">udev</a>, sapere come <a href="http://guide.debianizzati.org/index.php/Udev_e_Debian">funziona</a> e come <a href="http://www.reactivated.net/writing_udev_rules.html">scriverne le regole</a>. Ho capito, non ne avete voglia.</p>
<p>Le <strong>regole di udev</strong> si trovano nella directory <code>/etc/udev/rules.d/</code>, meglio non modificare le regole gia&#8217; esistenti, creiamo dunque un <strong>nuovo file</strong>, e siccome le regole vengono lette e processate in ordine alfabetico, il file che andiamo a creare per essere letto per primo lo possiamo nominare:</p>
<pre>00_local.rules</pre>
<p><img src="http://idl3.wordpress.com/files/2009/10/hd-wd-esterno.jpg?w=150" alt="hd-wd-esterno" title="hd-wd-esterno" width="150" height="150" class="alignright size-thumbnail wp-image-588" />Ma prima dobbiamo sapere <strong>come vengono identificati i nostri dispositivi</strong>. Diamo dunque il seguente comando:<br />
<code># tail -f /var/log/messages</code><br />
e inseriamo il dispositivo rimovibile.<br />
Oppure, inseriamo il dispositivo e poi diamo questo comando:<br />
<code>$ dmesg</code><br />
Possiamo subito notare il posizionamento (sda ad esempio), il tipo di prodotto e il modello (ad esempio External HDD e Western Digital).</p>
<p>Ora diamo il comando:<br />
<code>$ udevinfo -a -p /sys/block/sda</code><br />
se il dispositivo non si trova in sda, ma sdb, sdc, o quello che e&#8217;, inserite il percorso giusto. Esce un output piuttosto lungo, ma non spaventatevi, le cose che ci interessano sono tre, annotatevi:</p>
<pre>---8&#60;---
KERNEL=="sda"
---8&#60;---
ATTRS{vendor}=="WD"
---8&#60;---
ATTRS{model}=="5000AAV External"
---8&#60;---</pre>
<p>Queste informazioni sono <strong>sufficienti per creare una regola</strong>. Infatti sono informazioni che possono essere <strong>reperite da udev</strong>, che le puo&#8217; utilizzare per <strong>riconoscere</strong> il dispositivo.</p>
<p>Tutto quello che abbiamo visto fin qui e&#8217; <strong>propedeutico</strong> alla scrittura delle regole. Veniamo ora alla scrittura della/e regola/e. Vogliamo che quando inseriamo il nostro Hard Disk Western Digital, venga montato nella directory <code>/media/hdwd</code>.<br />
Creiamo il nostro file:<br />
<code># nano /etc/udev/rules.d/00_local.rules</code><br />
e aggiungiamoci la regola:</p>
<pre>---8&#60;---
KERNEL=="sda", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", NAME="%k", SYMLINK+="usbhdwd"
ACTION=="add", KERNEL=="sda", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", RUN+="/bin/mkdir /media/hdwd"
ACTION=="add", KERNEL=="sda", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", RUN+="/bin/mount -t vfat -o sync,flush,uid=1000,gid=100 /dev/usbhdwd /media/hdwd"
ACTION=="remove", KERNEL=="sda", ENV{ID_VENDOR}=="WD", ENV{ID_MODEL}="5000AAV_External", RUN+="/bin/umount /media/hdwd"
ACTION=="remove", KERNEL=="sda", ENV{ID_VENDOR}=="WD", ENV{ID_MODEL}="5000AAV_External", RUN+="/bin/rmdir /media/hdwd"
---8&#60;---</pre>
<p>Se fosse un Hard Disk partizionato, allora la regola sarebbe questa:</p>
<pre>---8&#60;---
KERNEL=="sd?1", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", NAME="%k", SYMLINK+="usbhdwd"
ACTION=="add", KERNEL=="sd?1", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", RUN+="/bin/mkdir /media/hdwd"
ACTION=="add", KERNEL=="sd?1", ATTRS{vendor}=="WD", ATTRS{model}=="5000AAV External", RUN+="/bin/mount -t vfat -o sync,flush,uid=1000,gid=100 /dev/usbhdwd /media/hdwd"
ACTION=="remove", KERNEL=="sd?1", ENV{ID_VENDOR}=="WD", ENV{ID_MODEL}="5000AAV_External", RUN+="/bin/umount /media/hdwd"
ACTION=="remove", KERNEL=="sd?1", ENV{ID_VENDOR}=="WD", ENV{ID_MODEL}="5000AAV_External", RUN+="/bin/rmdir /media/hdwd"
---8&#60;---</pre>
<p>Quando scrivete le vostre regole, <strong>state attenti</strong> a inserire i dati che corrispondono al <strong>vostro dispositivo</strong>. Ora potete creare in questo modo anche le <strong>regole per la vostra penna USB</strong> di <em>marca x</em> e per quella di <em>marca y</em>. Questo sistema e&#8217; molto utile quando dovete usare piu&#8217; dispositivi rimovibili contemporaneamente, venendo montati sempre nella stessa posizione, <strong>non rischiate di confondervi</strong> tra un dispositivo e l&#8217;altro.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/29/howto-montare-dispositivo-sempre/&#38;t=HowTo: montare dispositivo dove voglio" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/29/howto-montare-dispositivo-sempre/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: Twitter e Identi.ca da terminale]]></title>
<link>http://idl3.wordpress.com/2009/10/27/tipsntricks-twitter-e-identi-ca-da-terminale/</link>
<pubDate>Tue, 27 Oct 2009 06:00:43 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/27/tipsntricks-twitter-e-identi-ca-da-terminale/</guid>
<description><![CDATA[Molti di voi avranno un account su Twitter, qualcuno di voi (spero) avra&#8217; un account su Identi]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Molti di voi avranno un <em>account</em> su <a href="http://twitter.com/">Twitter</a>, qualcuno di voi (spero) avra&#8217; un account su <a href="http://identi.ca/">Identi.ca</a> (che diversamente da Twitter e&#8217; <a href="http://it.wikipedia.org/wiki/Open_source">open source</a>), ma quasi tutti useranno i <strong>metodi tradizionali</strong> per scrivere i messaggi su questi due <em>microblogging</em>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/09/terminale.png?w=150" alt="Terminale" title="Terminale" width="150" height="150" class="alignleft size-thumbnail wp-image-180" />Ossia, andando sul sito, facendo <em>login</em> e scrivendo il <strong>messaggio</strong> che si vuole. Magari qualcuno usera&#8217; <a href="http://www.pidgin.im/">Pidgin</a> (o un altro programma di messaggistica istantanea), che permette <a href="http://identi.ca/doc/im">molto semplicemente</a> di inviare i messaggi su Identi.ca tramite <a href="http://jabber.org/">Jabber</a>. E&#8217; possibile una cosa simile anche con Twitter, ma non tramite Jabber, bensi&#8217; con un <a href="http://code.google.com/p/microblog-purple/">apposito plugin</a> di Pidgin. Ma <strong>a noi non interessano tutti questi metodi</strong>, noi lo vogliamo fare <strong>da terminale</strong>, possibilmente con uno <strong>script</strong>.</p>
<p>Prima di tutto ci occorre <a href="http://en.wikipedia.org/wiki/CURL">cURL</a>, quindi se non lo abbiamo lo dobbiamo <strong>installare</strong>:<br />
<code># apt-get install curl</code><br />
e leggiamoci un po&#8217; il <strong>manuale</strong> (che non guasta mai):<br />
<code>$ man curl</code></p>
<p>Vediamo Twitter per primo, poi vedremo Identi.ca (che e&#8217; un po&#8217; piu&#8217; complesso).</p>
<p><img src="http://idl3.wordpress.com/files/2009/10/twitter-logo1.png?w=150" alt="Twitter-Logo" title="Twitter-Logo" width="150" height="150" class="alignright size-thumbnail wp-image-621" /><strong>TWITTER</strong> &#8211; Ora dobbiamo <strong>aprire un terminale</strong> e scrivere un comando molto semplice:<br />
<code>$ curl -u username:password -d status="Il tuo messaggio." http://twitter.com/statuses/update.xml</code><br />
se avete letto il manuale sapete gia&#8217; cosa fa questo comando. Va alla pagina <code>http://twitter.com/statuses/update.xml</code> e fa login con <code>username</code> e <code>password</code> che gli abbiamo indicato e invia come dati cio&#8217; che e&#8217; contenuto all&#8217;interno delle virgolette. Ad esempio:<br />
<code>$ curl -u Turiddu:Brabalonga -d status="Ciao al Mondo." http://twitter.com/statuses/update.xml</code></p>
<p>Possiamo fare anche <strong>uno script per semplificare</strong> il tutto, lo facciamo in <em>bash</em> [<a href="#teidt1">1</a>]<a name="teidta">:</a></p>
<pre><tt>---8&#60;---
<i><font color="#9A1900">#!/bin/bash</font></i>

<font color="#009900">messaggio</font><font color="#990000">=</font>${<font color="#993399">1</font>}

curl -k --basic --user Turiddu<font color="#990000">:</font>Brabalonga --data <font color="#FF0000">"status=${messaggio}"</font> --output /dev/null http<font color="#990000">:</font>//twitter<font color="#990000">.</font>com/statuses/update<font color="#990000">.</font>xml
---8&#60;---</tt></pre>
<p>Troppo lungo? Possiamo <strong>ridurlo</strong> a:</p>
<pre><tt>---8&#60;---
<i><font color="#9A1900">#!/bin/bash</font></i>

curl -u Turiddu<font color="#990000">:</font>Brabalonga -d <font color="#009900">status</font><font color="#990000">=</font>″$<font color="#993399">1</font><font color="#FF0000">" http://twitter.com/statuses/update.xml</font>
---8&#60;---</tt></pre>
<p>Facile facile. Prendete uno di questi due script, copiateli all&#8217;interno di un file di testo vuoto, rinominatelo come <code>twitter.sh</code> (o come volete voi). Rendete il file <strong>eseguibile</strong>:<br />
<code>$ chmod 777 twitter.sh</code></p>
<p>e <strong>provatelo</strong> subito:<br />
<code>$ .twitter.sh "Ciao caro Mondo."</code></p>
<p><img src="http://idl3.wordpress.com/files/2009/10/identica_1320x1000_rgb.gif?w=150" alt="identica_1320x1000_rgb" title="identica_1320x1000_rgb" width="150" height="113" class="alignleft size-thumbnail wp-image-624" /><strong>IDENTI.CA</strong> &#8211; Devo dirvi la verita&#8217;, pensavo che con identi.ca fosse <strong>uguale</strong> il procedimento, pensavo quindi che fosse sufficiente:<br />
<code>$ curl -u Turiddu:Brabalonga -d status="Il tuo messaggio." http://identi.ca/api/statuses/update.xml</code></p>
<p>Invece in questo modo <strong>non riesce ad autenticarsi</strong>, e quindi (ovviamente) non manda il messaggio.</p>
<p>Cercando la soluzione ho <strong>trovato</strong> <a href="http://thecommandline.net/2008/07/24/scripting-microblogs/">questa possibilita&#8217;</a>, dividere il procedimento in <strong>due parti</strong>, la prima fa il <em>login</em>, la seconda manda il <strong>messaggio</strong> (non l&#8217;ho provata questa soluzione, quindi non garantisco nulla):</p>
<p>In questo caso e&#8217; quasi d&#8217;obbligo lo <strong>script</strong>:</p>
<pre><tt>---8&#60;---
<i><font color="#9A1900">#!/bin/bash</font></i>

<font color="#009900">messaggio</font><font color="#990000">=</font>${<font color="#993399">1</font>}

curl --data <font color="#FF0000">"nickname=Turiddu"</font> --data <font color="#FF0000">"password=Brabalonga"</font> -c <font color="#990000">~/.</font>cookies<font color="#990000">.</font>txt -o /dev/null http<font color="#990000">:</font>//identi<font color="#990000">.</font>ca/main/login

curl --data <font color="#FF0000">"status_textarea=${messaggio}"</font> -b <font color="#990000">~/.</font>cookies<font color="#990000">.</font>txt -c <font color="#990000">~/.</font>cookies<font color="#990000">.</font>txt -o /dev/null http<font color="#990000">:</font>//identi<font color="#990000">.</font>ca/notice/new
---8&#60;---</tt></pre>
<p>Anche in questo caso, copiate il testo dello script in un file vuoto, rinominatelo in <code>identica.sh</code> (o come volete), rendetelo <strong>eseguibile</strong>:<br />
<code>$ chmod 777 identica.sh</code><br />
e <strong>provatelo</strong> subito:<br />
<code>$ .identica.sh "Ciao caro Mondo."</code></p>
<p>Ovviamente <strong>potete modificare gli script</strong> come piu&#8217; vi piace, ad esempio per rendere variabili anche <code>username</code> e <code>password</code>, cosi&#8217; potete inserirle a piacere (se doveste avere piu&#8217; di un account). O mettere un controllo per verificare la lunghezza del messaggio (non deve superare i 140 caratteri) prima dell&#8217;invio.</p>
<p>[<a name="teidt1">1</a>] Ovviamente al posto di Turiddu (<em>username</em>) e Brabalonga (<em>password</em>) dovete mettere i vostri dati. [<a href="#teidta">^</a>]</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/27/tipsntricks-twitter-e-identi-ca-da-terminale/&#38;t=TipsnTricks: Twitter e Identi.ca da terminale" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/27/tipsntricks-twitter-e-identi-ca-da-terminale/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[#3 – (s)Collegamenti]]></title>
<link>http://idl3.wordpress.com/2009/10/24/3-scollegamenti/</link>
<pubDate>Sat, 24 Oct 2009 05:09:05 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/24/3-scollegamenti/</guid>
<description><![CDATA[Leggere file xls con PHP Esiste infatti un progetto su Sourceforge che tramite la classe ExcelReader]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>Leggere file xls con PHP</strong><br />
Esiste infatti un progetto su Sourceforge che tramite la classe ExcelReader rende disponibile tutto ciò che ci occorre.<br />
<a href="http://www.vitruviantux.net/2009/10/programmazione-leggere-file-xls-con-php/">Continua a leggere&#8230;</a></p>
<p><strong>Mount penna usb senza togliere-reinserire</strong><br />
<code>$ eject /dev/sdg; sleep 1; eject -t /dev/sdg</code><br />
<a href="http://www.edmond.netsons.org/index.php/2009/10/18/mount-penna-usb-senza-togliere-reinserire/">Continua a leggere&#8230;</a></p>
<p><strong>Useless Linux Terminal Commands</strong><br />
Here are several useless Linux terminal commands: clear, rev, vdir, ul.<br />
<a href="http://www.junauza.com/2009/10/useless-linux-terminal-commands.html">Continua a leggere&#8230;</a></p>
<p><strong>Simple gui backup tool backerupper</strong><br />
Backerupper not only does a good job of simple backups, it also adds an icon to the GNOME notification area for quick access.<br />
<a href="http://www.ghacks.net/2009/10/09/simple-gui-backup-tool-backerupper/">Continua a leggere&#8230;</a></p>
<p><strong>Scaricare o guardare in un lettore i video di ustream.tv</strong><br />
Su ustream.tv è possibile guardare dei canali in diretta, ma il sito ospita anche delle registrazioni.<br />
<a href="http://www.tuxbay.org/component/content/article/49-hack-attack/422-scaricare-o-guardare-in-un-lettore-i-video-di-ustreamtv.html">Continua a leggere&#8230;</a></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/24/3-scollegamenti/&#38;t=3 – sCollegamenti" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/24/3-scollegamenti/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: manuale comandi su txt o pdf]]></title>
<link>http://idl3.wordpress.com/2009/10/15/tipsntricks-manuale-comandi-su-txt-o-pdf/</link>
<pubDate>Thu, 15 Oct 2009 05:32:46 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/15/tipsntricks-manuale-comandi-su-txt-o-pdf/</guid>
<description><![CDATA[Quando apriamo un terminale per eseguire un comando, ma non siamo sicuri sulle opzioni da dare o su ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Quando apriamo un <strong>terminale</strong> per eseguire un <strong>comando</strong>, ma non siamo sicuri sulle <strong>opzioni</strong> da dare o su altri comandi, l&#8217;unica cosa da fare e&#8217; <strong>cercare nel manuale</strong> del comando (o su internet). Puo&#8217; pero&#8217; risultare <strong>scomodo</strong> (nel primo caso) leggere il manuale sul terminale, potremmo trovare piu&#8217; comodo portare il testo del manuale su di un <strong>file txt</strong> [<a href="#mcstop1">1</a>] o su di un <strong>file pdf</strong>. Vediamo come<a name="mcstopa">.</a></p>
<p><img src="http://idl3.wordpress.com/files/2009/09/terminale.png?w=150" alt="Terminale" title="Terminale" width="150" height="150" class="alignleft size-thumbnail wp-image-180" />Normalmente per <strong>leggere il manuale</strong> di un comando <strong>scriviamo</strong> sul terminale:<br />
<code>$ man COMANDO</code><br />
soprattutto se l&#8217;output e&#8217; &#8220;<em>corposo</em>&#8221; risulta piuttosto scomodo leggerlo sul terminale. Per una comoda lettura bastano <strong>poche righe</strong> sul file <code>~/.bashrc</code>, insomma, una <a href="http://idl3.wordpress.com/2009/09/29/howtotipsntricks-personalizzare-la-bash/">personalizzazione della bash</a>.</p>
<p><strong>MAN SU TXT</strong> &#8211; Apriamo il file di configurazione della <em>bash</em> che si trova nella nostra <em>home</em>:<br />
<code>$ nano ~/.bashrc</code><br />
e <strong>aggiungete</strong> quanto segue:</p>
<pre>---8&#60;---
function mansutxt()
{
man --encoding=ascii $1 &#62;  file.txt
mousepad file.txt
rm file.txt
}
---8&#60;---</pre>
<p>Ovviamente al posto di <em>mousepad</em> mettete il vostro <strong>editor di testo</strong> preferito (<em>kwrite</em>, <em>gedit</em>, ecc.). Ora salviamo e proviamo subito il funzionamento del piccolo script:<br />
<code>$ mansutxt COMANDO</code><br />
ad esempio:<br />
<code>$ mansutxt gpg</code></p>
<p>Se volete scegliere voi caso per caso l&#8217;<em>editor</em> di testo senza dover mettere mano al file <code>.bashrc</code>, basta che al posto di quanto scritto sopra scriviate:</p>
<pre>---8&#60;---
function mansutxt()
{
man --encoding=ascii $1 &#62;  file.txt
$2 file.txt
rm file.txt
}
---8&#60;---</pre>
<p>in questo caso su terminale dobbiamo specificare oltre al comando di cui vogliamo leggere il manuale anche l&#8217;<strong>editor</strong> di testo:<br />
<code>$ mansutxt COMANDO EDITOR</code><br />
ad esempio:<br />
<code>$ mansutxt gpg mousepad</code></p>
<p><strong>MAN SU PDF</strong> &#8211; Se volessimo invece <strong>leggere il manuale su un file pdf</strong>, dobbiamo sempre aprire il file <code>.bashrc</code>:<br />
<code>$ nano ~/.bashrc</code><br />
e questa volta <strong>scrivere</strong>:</p>
<pre>---8&#60;---
function mansupdf()
{
man -t $1 &#62;  file.ps
ps2pdf file.ps &#38;&#38; rm -f file.ps
xpdf file.pdf
rm file.txt
}
---8&#60;---</pre>
<p>Se al posto di <strong>xpdf</strong> vogliamo usare un altro programma basta scriverlo al posto di xpdf (ad esempio <strong>epdfviewer</strong>). Ora salviamo e proviamo subito il funzionamento del piccolo script:<br />
<code>$ mansupdf COMANDO</code><br />
ad esempio:<br />
<code>$ mansupdf gpg</code><br />
Possiamo anche inserire <strong>queste righe</strong> al posto di quelle appena viste:</p>
<pre>---8&#60;---
function mansupdf()
{
man -t $1 &#62;  file.ps
ps2pdf file.ps &#38;&#38; rm -f file.ps
$2 file.pdf
rm file.txt
}
---8&#60;---</pre>
<p>in questo caso dobbiamo specificare il comando del lettore di <strong>pdf</strong>:<br />
<code>$ mansupdf COMANDO EDITOR</code><br />
ad esempio:<br />
<code>$ mansupdf gpg epdfviewer</code></p>
<p>Ovviamente nulla ci vieta di inserire <strong>entrambi gli script</strong> (<code>mansutxt</code> e <code>mansupdf</code>) sul file <code>.bashrc</code>:</p>
<pre>---8&#60;---
function mansutxt()
{
man --encoding=ascii $1 &#62;  file.txt
mousepad file.txt
rm file.txt
}

function mansupdf()
{
man -t $1 &#62;  file.ps
ps2pdf file.ps &#38;&#38; rm -f file.ps
xpdf file.pdf
rm file.txt
}
---8&#60;---</pre>
<p>Fatto, ora quando dovete <strong>controllare il manuale di un comando</strong> potete scegliere di leggerlo su <strong>terminale</strong>:<br />
<code>$ man COMANDO</code><br />
su un editor di <strong>testo</strong>:<br />
<code>$ mansutxt COMANDO</code><br />
o su un lettore di <strong>pdf</strong>:<br />
<code>$ mansupdf COMANDO</code></p>
<p>[<a name="mcstop1">1</a>]Liberamente tratto da: <a href="http://forum.debianizzati.org/generale/risolto-strani-caratteri-reindirizzando-file-txt-t37699.0.html">Strani caratteri reindirizzando file .txt</a> [<a href="#mcstopa">^</a>]</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/15/tipsntricks-manuale-comandi-su-txt-o-pdf/&#38;t=TipsnTricks: manuale comandi su txt o pdf" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/15/tipsntricks-manuale-comandi-su-txt-o-pdf/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: terminale in full screen]]></title>
<link>http://idl3.wordpress.com/2009/10/13/tipsntricks-terminale-in-full-screen/</link>
<pubDate>Tue, 13 Oct 2009 08:50:33 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/13/tipsntricks-terminale-in-full-screen/</guid>
<description><![CDATA[Normalmente il terminale lo utilizziamo in una finestra piccola, oppure la ingrandiamo all&#8217;occ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Normalmente il <strong>terminale</strong> lo utilizziamo in una <strong>finestra piccola</strong>, oppure la ingrandiamo all&#8217;<strong>occorrenza</strong> (<code>F11</code>). Nel caso ci servisse a <strong>tutto schermo</strong> al limite usiamo direttamente <strong>[Ctrl]+[Alt]+[Fn]</strong> per accedere al login senza <strong>server grafico</strong>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/09/terminale.png?w=150" alt="Terminale" title="Terminale" width="150" height="150" class="alignleft size-thumbnail wp-image-180" />Tutte valide possibilita&#8217;, ma se vogliamo che nel <strong>pannello</strong> ci sia direttamente un <strong>lanciatore</strong> per un terminale a pieno schermo dobbiamo aggiungere un elemento nel nostro pannello, e alla <strong>voce comando</strong> inserire questo:</p>
<pre>---8&#60;---
TERMINALE --full-screen
---8&#60;---</pre>
<p>Se vogliamo che il terminale occupi <strong>tutto lo schermo</strong>, senza l&#8217;impedimento del pannello (o dei pannelli), dobbiamo invece <strong>inserire</strong>:</p>
<pre>---8&#60;---
TERMINALE --full-screen --hide-menubar
---8&#60;---</pre>
<p>Ovviamente al posto di <code>TERMINALE</code> dovete inserire <strong>il vostro emulatore</strong> di terminale, che sia <code>gnome-terminal</code>, <code>konsole</code>, <code>xfce4-terminal</code>, o <a href="http://packages.debian.org/stable/virtual/x-terminal-emulator">qualunque altro</a>. Se ad esempio usiamo <strong>Xfce</strong> come <acronym title="desktop environment">DE</acronym>, allora nel lanciatore come comando dobbiamo <strong>inserire</strong> questo:</p>
<pre>---8&#60;---
xfce4-terminal --full-screen --hide-menubar
---8&#60;---</pre>
<p>e semplicemente premendo l&#8217;icona sul pannello vedremo aprirsi <strong>il nostro terminale a pieno schermo</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/13/tipsntricks-terminale-in-full-screen/&#38;t=TipsnTricks: terminale in full screen" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/13/tipsntricks-terminale-in-full-screen/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Pdftk: il manipolatore di pdf]]></title>
<link>http://idl3.wordpress.com/2009/10/08/pdftk-il-manipolatore-di-pdf/</link>
<pubDate>Thu, 08 Oct 2009 07:20:21 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/08/pdftk-il-manipolatore-di-pdf/</guid>
<description><![CDATA[Chissa&#8217; quante volte vi siete trovati per le mani un file pdf da cui volevate togliere alcune ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Chissa&#8217; quante volte vi siete trovati per le mani un file pdf da cui volevate <strong>togliere</strong> alcune pagine, <strong>aggiungerne</strong> altre <strong>spostarlo</strong>, <strong>girarlo</strong>, <strong>inclinarlo</strong>, <em>mangiarlo</em>. Per tutto questo e tanto altro ancora ci viene in aiuto <strong>Pdftk</strong> (<a href="http://www.accesspdf.com/pdftk/">PDF ToolKit</a>), un potente manipolatore di pdf.</p>
<p><div id="attachment_345" class="wp-caption alignleft" style="width: 138px"><img src="http://idl3.wordpress.com/files/2009/10/pdftk.png" alt="Il martello manipolatore" title="pdftk" width="128" height="128" class="size-full wp-image-345" /><p class="wp-caption-text">Il martello manipolatore</p></div>E&#8217; un programma da <strong>linea di comando</strong>, anche se <strong>esiste un&#8217;interfaccia grafica</strong>. Cominciamo dunque con l&#8217;installare <strong>pdftk</strong>:<br />
<code># apt-get install pdftk</code></p>
<p>Proseguiamo <strong>leggendo il manuale</strong> e la panoramica delle <strong>numerose opzioni</strong>:<br />
<code>$ man pdftk</code><br />
<code>$ pdftk --help</code><br />
Si, e&#8217; lungo e noioso, allora <strong>ecco le principali cose che si possono fare con Pdftk</strong> e i comandi per eseguirle.</p>
<p>Se avete piu&#8217; file pdf ma volete <strong>unirli</strong> in un unico file dovete dare questo comando:<br />
<code>$ pdftk cagliari.pdf sassari.pdf oristano.pdf nuoro.pdf cat output sardegna.pdf</code><br />
in questo modo tramite il comando <code>cat</code> i vari file verranno <strong>concatenati</strong> in un unico file.</p>
<p>L&#8217;<strong>ordine</strong> col quale i documenti verranno inseriti nel file finale lo decidete voi, sara&#8217; anche possibile assegnare una lettera (<em>handle</em>) ai vari file:<br />
<code>$ pdftk A=cagliari.pdf B=sassari.pdf C=oristano.pdf D=nuoro.pdf cat A B C D output sardegna.pdf</code><br />
in questo modo cambiare l&#8217;ordine sara&#8217; semplice, dovremmo solo spostare quelle quattro lettere:<br />
<code>$ pdftk A=cagliari.pdf B=sassari.pdf C=oristano.pdf D=nuoro.pdf cat C D A B output sardegna.pdf</code></p>
<p>Grazie agli <em>handle</em> possiamo sbizzarrirci e unire i nostri file pdf nell&#8217;ordine che preferiamo, <strong>anche le singole pagine di ogni file</strong>. Se ad esempio vogliamo che il nostro file finale <code>sardegna.pdf</code> abbia come prima pagina la terza pagina di <code>cagliari.pdf</code>, come seconda pagina la prima pagina di <code>sassari.pdf</code>, come terza quarta e quinta pagina la prima, la seconda e la terza pagina di <code>oristano.pdf</code> poi come sesta, settima, ottava e nona pagina la seconda, terza, quarta e quinta pagina di <code>nuoro.pdf</code> e infine come decima pagina la terza pagina di <code>sassari.pdf</code> daremo <strong>questo comando</strong>:<br />
<code>$ pdftk A=cagliari.pdf B=sassari.pdf C=oristano.pdf D=nuoro.pdf cat A3 B1 C2-3 D2-5 B3 output sardegna.pdf</code><br />
fatto.</p>
<p>Con gli <em>handle</em> possiamo anche <strong>agire su un singolo file</strong> (anche se per un singolo file non e&#8217; obbligatorio utilizzare gli <em>handle</em>), per <strong>prendere alcune pagine</strong> e con queste creare un altro file. Ecco coma fare, se vogliamo prendere le pagine dalla terza alla ventiduesima del file <code>cagliari.pdf</code> per creare il file <code>storia-di-cagliari.pdf</code> allora diamo <strong>questo comando</strong>:<br />
<code>$ pdftk A=cagliari.pdf cat A3-22 output storia-di-cagliari.pdf</code></p>
<p>Possiamo anche usare <strong>varie pagine sparse</strong>:<br />
<code>$ pdftk A=cagliari.pdf cat A2-5 A9 A23 A 35 output cagliari-in-breve.pdf</code><br />
in questo caso il nuovo file avra&#8217; solo otto pagine, dalla prima alla quarta sara&#8217; composto delle pagine 2, 3, 4 e 5 del file originale. Per la quinta pagina viene usata la pagina 9 del file originale e cosi&#8217; via.</p>
<p>Se vogliamo usare le pagine dalla trentesima all&#8217;ultima (che e&#8217; ad esempio la novantesima) del file <code>nuoro.pdf</code> per creare un nuovo file abbiamo due sistemi:<br />
<code>$ pdftk A=nuoro.pdf cat A30-90 output un-pezzo-di-nuoro.pdf</code><br />
<code>$ pdftk A=nuoro.pdf cat A30-end output un-pezzo-di-nuoro.pdf</code></p>
<p>Ora vediamo come <strong>ruotare</strong> alcune pagine di un documento (o anche tutte se volete). Mettiamo il caso che il file <code>sassari.pdf</code> abbia nove pagine (dalla 10 alla 19) che contengono delle foto che per motivi di grandezza sono state messe nel file originale ruotate di 90 gradi. Noi per poterle guardare senza distruggerci il collo in strane evoluzioni circensi vogliamo ruotarle. Lo facciamo con <strong>questo comando</strong>:<br />
<code>$ pdftk A=sassari.pdf cat A1-9 A10-19E A20-50 output sassari-dritta.pdf</code><br />
perfetto, ora le pagine dalla 10 alla 19 sono state ruotate di 90 gradi (<code>E</code>). La rotazione e&#8217; stata eseguita <strong>in senso orario</strong>, se la rotazione necessaria fosse stata <strong>in senso antiorario</strong> allora avremmo dovuto sostituire la <code>E</code> con la <code>W</code>:<br />
<code>$ pdftk A=sassari.pdf cat A1-9 A10-19W A20-50 output sassari-dritta.pdf</code><br />
e se avessimo voluto fare una <strong>rotazione di 180 gradi</strong> (a testa in giu&#8217;) allora avremmo dovuto sostituire <code>E</code> con <code>S</code>:<br />
<code>$ pdftk A=sassari.pdf cat A1-9 A10-19S A20-50 output sassari-dritta.pdf</code><br />
Queste tre opzioni (<code>E</code>, <code>W</code> e <code>S</code>) <strong>mantengono inalterate le dimensioni della pagina</strong>, se nella rotazione vogliamo che le dimensioni della pagina si adattino di conseguenza dobbiamo dare questi comandi: <code>L</code> al posto di <code>E</code>, <code>R</code> al posto di <code>W</code> e <code>D</code> al posto di <code>S</code>.</p>
<p><img src="http://idl3.wordpress.com/files/2009/10/nsew.png?w=145" alt="NSEW" title="NSEW" width="145" height="150" class="alignright size-thumbnail wp-image-346" />Sarebbe piu&#8217; corretto dire che <code>R</code> e <code>L</code> ruotano il foglio di 90° (rispettivamente in senso orario e antiorario, o se preferite R in senso orario di 90° e L sempre in senso orario, ma di 270°), <code>S</code> posiziona il foglio verticale ma invertito (a testa in giu&#8217;), <code>E</code> posiziona il foglio in orizzontale, <code>W</code> posiziona il foglio in orizzontale ma invertito. Poi c&#8217;e&#8217; <code>N</code> che posiziona il foglio in verticale. Se notate <strong>L=left</strong> (sinistra), <strong>R=right</strong> (destra), <strong>N=nord</strong>, <strong>S=sud</strong>, <strong>W=west</strong> (ovest) e <strong>E=est</strong>. E&#8217; dunque tutto <strong>molto intuitivo</strong>.</p>
<p>Se vogliamo creare tanti file pdf (<strong>uno per ogni pagina</strong>) quante sono le pagine del pdf originale il comando da dare e&#8217; <strong>questo</strong>:<br />
<code>$ pdftk cagliari.pdf burst output cagliari_%03d.pdf</code><br />
i cui file saranno <code>cagliari_001.pdf</code>, <code>cagliari_002.pdf</code>, <code>cagliari_003.pdf</code>, ecc. Per una numerazione a due cifre il comando e&#8217; <strong>questo</strong>:<br />
<code>$ pdftk cagliari.pdf burst output cagliari_%02d.pdf</code><br />
i cui file saranno <code>cagliari_01.pdf</code>, <code>cagliari_02.pdf</code>, <code>cagliari_03.pdf</code>, ecc.</p>
<p>Se vogliamo creare un file pdf contenente solo le <strong>pagine dispari</strong> (<code>odd</code>) del file originale, il comando da dare sara&#8217;:<br />
<code>$ pdftk oristano.pdf cat 1-35odd output oristano-dispari.pdf</code><br />
se invece volessimo solo le <strong>pagine pari</strong> (<code>even</code>) allora:<br />
<code>$ pdftk oristano.pdf cat 1-35even output oristano-pari.pdf</code></p>
<p>Se vogliamo <strong>cifrare</strong> i nostri file pdf piu&#8217; <strong>segreti</strong> dobbiamo dare questo comando:<br />
<code>$ pdftk il-mio-file-segreto.pdf output il-mio-file-segreto-cifrato.pdf user_pw blablabla</code><br />
Verra&#8217; dunque cifrato usando <code>blablabla</code> come password.<br />
Per <strong>decifrarlo</strong> basta scrivere:<br />
<code>$ pdftk il-mio-file-segreto-cifrato.pdf input_pw blablabla output il-mio-file-segreto-decifrato.pdf</code></p>
<p>Per <strong>altre opzioni</strong> e possibilita&#8217; di altre manipolazioni e usi (ad esempio potete richiamare <strong>pdftk</strong> in uno <em>script</em> per poterlo utilizzare) guardatevi il <strong>manuale</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/08/pdftk-il-manipolatore-di-pdf/&#38;t=Pdftk: il manipolatore di pdf" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/08/pdftk-il-manipolatore-di-pdf/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: cambiare o impostare i programmi di default]]></title>
<link>http://idl3.wordpress.com/2009/10/07/tipsntricks-cambiare-o-impostare-i-programmi-di-default/</link>
<pubDate>Wed, 07 Oct 2009 06:52:34 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/07/tipsntricks-cambiare-o-impostare-i-programmi-di-default/</guid>
<description><![CDATA[Quando fate doppio &#8216;click&#8216; su un file vi si apre con un programma che non vi soddisfa? S]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Quando fate doppio &#8216;<em>click</em>&#8216; su un file vi si apre con un programma che non vi soddisfa? Siete stanchi di aprire i file con il &#8220;<em>tasto destro del mouse &#62; Apri con un&#8217;altra applicazione&#8230;</em>&#8221; ? Allora vi diro&#8217; come fare per aprire i vostri file con un doppio &#8216;<em>click</em>&#8216; <strong>direttamente col programma che volete</strong> voi.</p>
<p><div id="attachment_327" class="wp-caption alignleft" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/10/usr-share-applications.png?w=150" alt="Contenuto di usr/share/applications" title="Applicazioni" width="150" height="112" class="size-thumbnail wp-image-327" /><p class="wp-caption-text">Contenuto di usr/share/applications</p></div>Il metodo che vi ho <a href="http://idl3.wordpress.com/2009/10/06/tipsntricks-cambiare-o-ripristinare-browser-predefinito/">mostrato ieri</a> con un comando dato come utente <em>root</em> modificava il <strong>browser di <em>defaul</em></strong>, simile a quel comando <a href="http://guide.debianizzati.org/index.php/Alternatives">ce ne sono altri</a>, date questo comando per <strong>richiamare tutte le alternative</strong>:<br />
<code># update-alternatives --all</code><br />
ma venendo eseguito da utente <em>root</em> <strong>modifica le impostazioni per tutti gli utenti</strong>. Se piu&#8217; umilmente volessimo modificare i programmi di <em>default</em> solo per noi comuni utenti mortali ci bastera&#8217; creare o modificare <strong>un piccolo file di testo</strong>.</p>
<p>Il file in questione si chiama manco a dirlo &#8220;<code>defaults.list</code>&#8220;, apritelo pure con nano:<br />
<code>$ nano ~/.local/share/applications/defaults.list</code><br />
o col vostro editor di fiducia (mousepad/kwrite/gedit)<br />
<code>$ mousepad ~/.local/share/applications/defaults.list</code></p>
<p>Se invece <strong>non dovesse esistere</strong> allora scrivete:<br />
<code>$ touch ~/.local/share/applications/defaults.list</code></p>
<p>Il file <strong>comincia</strong> con questa riga:</p>
<pre>[Default Applications]</pre>
<p>e nel mio caso prosegue:</p>
<pre>image/jpeg=ristretto.desktop
application/x-theme=mousepad.desktop
application/pdf=epdfview.desktop
audio/mpeg=xfmedia.desktop
application/x-7z-compressed=xarchive.desktop
application/x-chm=xchm.desktop
application/zip=xarchive.desktop
video/x-flv=xfmedia.desktop
application/vnd.ms-excel=ooo-calc.desktop</pre>
<p>Al posto delle applicazioni di <em>default</em> che avete scritte nel vostro file <code>default.list</code>, potete mettere <strong>quelle che volete</strong>, o meglio potete scegliere tra quelle <strong>presenti nella directory</strong> <code>/usr/share/applications/</code>.</p>
<p>Se ad esempio volete associare i file di testo con <code>mousepad/gedit/kwrite/qualunque editor presente nella directory menzionata sopra</code>, non dovete far altro che <strong>aggiungere questa riga</strong> in fondo al file default.list:</p>
<pre>---8&#60;---
text/plain=mousepad.desktop
---8&#60;---</pre>
<p>Per i <strong>file html</strong>:</p>
<pre>---8&#60;---
text/html=iceweasel.desktop
---8&#60;---</pre>
<p>Se volete cambiare ad esempio il programma col quale <strong>aprire le immagini</strong>, dovete modificare questa riga:</p>
<pre>image/jpeg=ristretto.desktop</pre>
<p>per i <strong>pdf</strong> questa:</p>
<pre>application/pdf=epdfview.desktop</pre>
<p>e cosi&#8217; via.</p>
<p>Potete anche crearvi una <strong>copia di backup</strong> del vostro file <code>default.list</code> prima di modificarlo:<br />
<code>$ cp ~/.local/share/applications/defaults.list ~/.local/share/applications/defaults.list.originale</code><br />
in modo da <strong>ripristinare velocemente l&#8217;originale</strong>:<br />
<code>$ cp ~/.local/share/applications/defaults.list.originale ~/.local/share/applications/defaults.list</code></p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/07/tipsntricks-cambiare-o-impostare-i-programmi-di-default/&#38;t=TipsnTricks: cambiare o impostare i programmi di default" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/07/tipsntricks-cambiare-o-impostare-i-programmi-di-default/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: cambiare o ripristinare browser predefinito]]></title>
<link>http://idl3.wordpress.com/2009/10/06/tipsntricks-cambiare-o-ripristinare-browser-predefinito/</link>
<pubDate>Tue, 06 Oct 2009 07:33:07 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/06/tipsntricks-cambiare-o-ripristinare-browser-predefinito/</guid>
<description><![CDATA[Sulla nostra Debian abbiamo il nostro bel browser IceWeasel, ma potrebbe non soddisfarci pienamente,]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Sulla nostra Debian abbiamo il nostro bel browser <a href="http://it.wikipedia.org/wiki/IceWeasel">IceWeasel</a>, ma potrebbe non soddisfarci pienamente, o giusto per curiosita&#8217; potremmo essere spinti a provare altri browser. Se installiamo un altro browser, mantenendo anche IceWeasel, puo&#8217; succedere che <a href="http://it.wikipedia.org/wiki/IceDove">Icedove/ThunderBird</a>, <a href="http://it.wikipedia.org/wiki/Pidgin_(software)">Pidgin</a> e altri, ci aprano il nuovo browser e non IceWeasel. Come facciamo ad indicare loro di usare il nostro vecchio browser e non il nuovo?</p>
<p><div id="attachment_308" class="wp-caption alignleft" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/10/browser.jpg?w=150" alt="I Browser sono tanti, milioni di milioni... ma non installarne troppi" title="Browser" width="150" height="102" class="size-thumbnail wp-image-308" /><p class="wp-caption-text">I Browser sono tanti, milioni di milioni... ma non installarne troppi</p></div>Niente di piu&#8217; semplice, apriamo un terminale e diamo questo comando:<br />
<code># update-alternatives --config x-www-browser</code></p>
<p>Comparira&#8217; un messaggio simile a questo:</p>
<pre>Ci sono 2 alternative che forniscono `x-www-browser'.

  Selezione    Alternativa
-----------------------------------------------
          1    /usr/bin/iceweasel
*+        2    /usr/bin/opera

Premi invio per mantenere il default[*], o inserisci il numero da selezionare:</pre>
<p>Mi sembra chiaro. Se vogliamo che il browser di default resti <a href="http://it.wikipedia.org/wiki/Opera_(browser)">Opera</a> premiamo invio, se invece vogliamo cambiarlo, premiamo il numero che corrisponde al browser desiderato (in questo caso <code>1</code>). Premuto <code>1</code> i link presenti nelle email su IceDove o nei messaggi su Pidgin <strong>si apriranno su IceWeasel</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/06/tipsntricks-cambiare-o-ripristinare-browser-predefinito/&#38;t=TipsnTricks: cambiare o ripristinare browser predefinito" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/06/tipsntricks-cambiare-o-ripristinare-browser-predefinito/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: rendere GIMP piu' simile a Photoshop]]></title>
<link>http://idl3.wordpress.com/2009/10/03/tipsntricks-rendere-gimp-piu-simile-a-photoshop/</link>
<pubDate>Sat, 03 Oct 2009 05:12:28 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/10/03/tipsntricks-rendere-gimp-piu-simile-a-photoshop/</guid>
<description><![CDATA[GIMP (GNU Image Manipulation Program) e&#8217; un ottimo software libero di foto-ritocco ed e&#8217;]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><strong>GIMP</strong> (<a href="http://www.gimp.org/">GNU Image Manipulation Program</a>) e&#8217; un ottimo software libero di foto-ritocco ed e&#8217; il <strong>programma preferito di tanti grafici</strong> (anche perche&#8217; e&#8217; gratuito e multi-piattaforma). Inoltre ha tante <strong>funzioni</strong>, <strong>plug-in</strong>, <strong>filtri</strong>, <strong>pennelli</strong> ecc. Trovate una completa <strong>documentazione</strong> sia in rete sia assieme al programma. Pur non essendo nato per assomigliare a <strong>Photoshop</strong>, ad ogni <em>relase</em>, gli assomiglia sempre un po&#8217; di piu&#8217;. Ci sono anche una serie di <strong>trucchi che possono aiutarci a rendere GIMP piu&#8217; simile a Photoshop</strong>.</p>
<p><div id="attachment_292" class="wp-caption alignleft" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/10/gimp.png?w=150" alt="GIMP (GNU Image Manipulation Program) e&#39; un programma libero di fotoritocco che permette di creare e modificare immagini bitmap" title="gimp" width="150" height="108" class="size-thumbnail wp-image-292" /><p class="wp-caption-text">GIMP (GNU Image Manipulation Program) e' un programma libero di fotoritocco che permette di creare e modificare immagini bitmap</p></div>Quelli che passano <strong>da Photoshop a GIMP</strong> sentono la mancanza dei pannelli, dei filtri e dei plug-in di Photoshop. Ma allora, perche&#8217; non <strong>portarli su GIMP</strong>? Prima di tutto, dobbiamo sapere dove GIMP ha gli add-on, se andate nella directory della vostra <code>home</code>, e controllate tra le directory nascoste ([Ctrl]+[h]) vedrete la directory <code>.gimp-versione</code> (puo&#8217; essere .gimp-2.7 ad esempio). Ebbene, <strong>per installare un pennello o un plug-in</strong> non dobbiamo fare altro che copiarlo e incollarlo nella giusta directory (ad esempio in <code>/home/UTENTE/.gimp-2.7/giustadirectory</code>).</p>
<p><strong>IL PLUG-IN PSPI</strong> &#8211; Per poter utilizzare i plug-in di Photoshop abbiamo bisogno di <strong>PSPI</strong>, <a href="http://www.gimp.org/~tml/gimp/win32/pspi.html">scarichiamolo</a> dunque, scompattiamo l&#8217;archivio e spostiamo il suo contenuto nella directory <code>plug-ins</code> come abbiamo visto prima. Se adesso avviamo GIMP nel <strong>menu&#8217; dei filtri</strong> in basso vedremo &#8220;<em>Photopshop Filters Plug-In Settings</em>&#8220;. Adesso possiamo aggiungere tutti i plug-in di Photoshop che vogliamo.</p>
<p><strong>GLI STILI DEI LIVELLI</strong> &#8211; Passare da Photosho a GIMP e&#8217; reso difficile anche dalla presenza degli stili dei livelli in Photoshop. In GIMP pero&#8217; abbiamo gli effetti (luci, ombre, smussature, sfumature, rilievi, ecc.), basta <a href="http://registry.gimp.org/node/186">scaricare</a> allora il plug-in <strong>Layer Effects</strong>. Ci sono <strong>due versioni</strong>, quella Script-Fu e quella Python. La versione <strong>Python</strong> permette di vedere immediatamente un&#8217;anteprima degli effetti applicati. Comunque, qualunque versione decidiate di scaricare, dovete posizionarla nella directory <code>/home/UTENTE/.gimp-2.7/scripts</code>) e riavviare GIMP. Ora avviate GIMP, se avete scaricato la versione Python andate in <em>Immagine &#62; Livelli &#62; Effetti</em>, se invece avete scaricato la versione <strong>Script-Fu</strong> andate in <em>Script-Fu &#62; Effetti</em>.</p>
<p><div id="attachment_293" class="wp-caption alignright" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/10/additiva-sottrattiva.png?w=150" alt="Miscelazione additiva e miscelazione sottrattiva" title="additiva-sottrattiva" width="150" height="75" class="size-thumbnail wp-image-293" /><p class="wp-caption-text">Miscelazione additiva e miscelazione sottrattiva</p></div><strong>LA SEPARAZIONE DI COLORI CMYK</strong> &#8211; <a href="http://it.wikipedia.org/wiki/CMYK">CMYK</a> e&#8217; l&#8217;acronimo di ciano, magenta, giallo e nero. Mentre il modello <a href="http://it.wikipedia.org/wiki/RGB">RGB</a> (rosso, verde e blu) e&#8217; additivo, quello CMYK e&#8217; sottrattivo. In parole povere, mentre in RGB si aggiunge il bianco, con il CMYK toglie il bianco. La mancanza di un supporto CMYK in GIMP puo&#8217; disturbare qualche utente. Se avete bisogno della <strong>separazione dei colori CMYK</strong> (che nelle stampe in alta qualita&#8217; delle fotografie ha una resa migliore dell&#8217;RGB) potete <a href="http://cue.yellowmagic.info/softwares/separate.html">scaricare</a> il plug-in Separate+. Da decomprimere e copiare sempre nella solita directory. Una volta riavviato GIMP troverete la nuova funzione in <em>Immagine &#62; Separate</em>. Oppure molto piu&#8217; semplicemente da terminale:<br />
<code># apt-get install gimp-plugin-registry</code></p>
<p><strong>IL RIDIMENSIONAMENTO LIQUIDO</strong> &#8211; Questa tecnica di <strong>riscalatura</strong> permette di ridimensionare le immagini in modo <strong>non uniforme</strong>, evitando pero&#8217; di distorcere le parti piu&#8217; importanti. Potete dunque <a href="http://liquidrescale.wikidot.com/">scaricare</a> il plug-in e metterlo nella solita directory. Oppure molto piu&#8217; semplicemente da terminale:<br />
<code># apt-get install gimp-plugin-registry</code></p>
<p>Si, installando il pacchetto <code>gimp-plugin-registry</code> avrete sia il <strong>ridimensionamento liquido</strong> sia la <strong>separazione dei colori</strong>. Ecco perche&#8217; mi piace <strong>Debian</strong> con i suoi &#8220;<em>millemila</em>&#8221; pacchetti.</p>
<p><div id="attachment_294" class="wp-caption alignleft" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/10/pennelli-cinghiale.png?w=150" alt="Per disegnare con GIMP non serve un pennello grande ma tanti grandi e piccoli pennelli" title="Pennello cinghiale" width="150" height="114" class="size-thumbnail wp-image-294" /><p class="wp-caption-text">Per disegnare con GIMP non serve un pennello grande ma tanti grandi e piccoli pennelli</p></div><strong>I PENNELLI</strong> &#8211; GIMP ha molti pennelli, ma <strong>non sono mai abbastanza</strong>, soprattutto per un utilizzo un po&#8217; piu&#8217; avanzato. Per installarne di nuovi basta metterli nella directory <code>/home/UTENTE/.gimp-2.7/brushes</code>. Li potete <a href="http://www.blendfu.com/">scaricare da qui</a>.</p>
<p><strong>GIMP IN UN&#8217;UNICA FINESTRA</strong> &#8211; Una delle cose piu&#8217; fastidiose in Gimp (soprattutto se avete il <em>compositor</em> abilitato in modo da rendere trasparenti le finestre non in primo piano) e&#8217; la suddivisione di GIMP in <strong>tre finestre</strong>. A quanto pare in una prossima futura versione GIMP dara&#8217; la possibilita&#8217; di scegliere (per chi vuole) di avere GIMP in un&#8217;unica finestra. Fino ad allora posizionate il puntatore del mouse sulla barra del titolo delle finestre di GIMP, premete il tasto destro e selezionate &#8220;<em>sempre in primo piano</em>&#8220;.</p>
<p><strong>LE ANIMAZIONI</strong> &#8211; Il GAP (GIMP Animation Package) permette a tutti di fare facilmente delle <strong>semplici animazioni</strong> con GIMP. Ma consente anche <strong>animazioni piu&#8217; elaborate</strong>. Pero&#8217; non e&#8217; incluso in GIMP, va installato. Da terminale scrivete allora:<br />
<code># apt-get install gimp-gap</code></p>
<p><strong>LA LIBRERIA GRAFICA GEGL</strong> &#8211; A partire da GIMP 2.6 e&#8217; presente GEGL (<a href="http://en.wikipedia.org/wiki/GEGL">Generic Graphical Library</a>). E&#8217; una <strong>nuova funzionalita&#8217;</strong> che promette miglioramenti sia negli effetti dei livelli, sia nei colori. Per <strong>attivare</strong> questa funzionalita&#8217; basta andare nel menu&#8217; <em>Colori &#62; Usa GEGL</em>. Poi in <em>Strumenti&#62; Operazioni GEGL</em> si puo&#8217; scegliere tra varie impostazioni predefinite.</p>
<p>A livello <strong>professionale</strong> non sara&#8217; ancora come Photoshop, ma <strong>gli si avvicina sempre di piu&#8217;</strong>.</p>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/10/03/tipsntricks-rendere-gimp-piu-simile-a-photoshop/&#38;t=TipsnTricks: rendere GIMP più simile a Photoshop" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/10/03/tipsntricks-rendere-gimp-piu-simile-a-photoshop/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[HowTo&amp;Tips'nTricks: personalizzare la bash]]></title>
<link>http://idl3.wordpress.com/2009/09/29/howtotipsntricks-personalizzare-la-bash/</link>
<pubDate>Tue, 29 Sep 2009 10:17:46 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/09/29/howtotipsntricks-personalizzare-la-bash/</guid>
<description><![CDATA[Dopo aver visto come impostare il completamento automatico dei comandi immessi nella bash, vediamo a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Dopo <a href="http://idl3.wordpress.com/2009/09/26/tipsntricks-completamento-automatico-nel-terminale/">aver visto</a> come impostare il <strong>completamento automatico</strong> dei comandi immessi nella <em>bash</em>, vediamo altre personalizzazioni, alcune inutili, altre piu&#8217; utili.</p>
<p><img src="http://idl3.wordpress.com/files/2009/09/terminale.png?w=150" alt="Terminale" title="Terminale" width="150" height="150" class="alignleft size-thumbnail wp-image-180" />Nel pianeta <strong>GNU/Linux</strong> esistono un gran numero di <strong>shell</strong>, se le dovessimo dividere in due gruppi avremmo le shell compatibili con la <strong>shell Bourne</strong> e quelle compatibili con le <strong>shell C</strong>. Comunque in questo post trattero&#8217; la personalizzazione della <strong>bash</strong> (Bourne Again Shell), e&#8217; quasi sicuramente la shell che usate anche voi, ma per esserne certi aprite un terminale e scrivete:<br />
<code>$ echo $SHELL</code></p>
<p>Ora che sappiamo che shell stiamo usando, occorre sapere che a sua volta si divide in:</p>
<ul>
<li><strong>shell di login</strong>, si avvia quando ci loggiamo nel sistema dopo aver inserito username e password;</li>
<li><strong>shell interattiva</strong>, nella quale inseriamo i vari comandi (possiamo anche fare il login);</li>
<li><strong>shell non interattiva</strong>, viene lanciata all&#8217;esecuzione di uno script.</li>
</ul>
<p>Ovviamente ogni shell ha i suoi <strong>file di configurazione</strong>. Ad esempio, la shell di login ha i suoi file di configurazione in <code>~/.bash_login</code> e <code>~/.bash_logout</code> (questo viene letto quando si esce dalla shell). La shell interattiva invece ha il suo file di configurazione in <code>~/.bashrc</code>. E&#8217; in quest&#8217;ultimo file di configurazione che noi apporteremo le modifiche. Per essere certi che queste abbiano effetto se avete il file <code>.bash_profile</code> controllate che al suo interno siano presenti queste righe:</p>
<pre>---8&#60;---
if [ -f ~/.bashrc ]; then
source ~/.bashrc
fi
---8&#60;---</pre>
<p>Vediamo allora <strong>come creare gli alias</strong>. Gli alias permettono di assegnare dei nomi ai comandi, in modo da semplificarne la scrittura, o in modo da lanciare un comando con le opzioni con semplicita&#8217;. Ad esempio se quando usiamo il comando <code>ls</code> vogliamo vedere sempre anche <strong>file e directory nascoste</strong>, dobbiamo digitare <code>ls -a</code>, ma se vogliamo che scrivendo semplicemente ls venga lanciato il comando <code>ls -a</code>, bastera&#8217; usare gli alias, in questo modo (da aggiungere nel file .bashrc):</p>
<pre>---8&#60;---
alias ls='ls -a'
---8&#60;---</pre>
<p>Se vogliamo che ci siano <strong>anche i colori</strong> per distinguere i file e le directory, bastera&#8217; sostituire con questo:</p>
<pre>---8&#60;---
alias ls='ls -a --color=auto'
---8&#60;---</pre>
<p>Un altro utile alias (per chi copia file da terminale) e&#8217; l&#8217;aggiunta dell&#8217;opzione per rendere <strong>interattivo</strong> il comando di copia:</p>
<pre>---8&#60;---
alias cp='cp -i'
---8&#60;---</pre>
<p>in questo modo se stiamo <strong>sovrascrivendo</strong> un file ci viene chiesto se e&#8217; quello che veramente vogliamo fare.</p>
<p>Se veniamo da <strong>Windows</strong> e&#8217; possibile che qualche comando ci confonda, ad esempio il comando per spostarci nella directory superiore in Windows e&#8217; <code>cd..</code>, mentre in GNU/Linux e&#8217; <code>cd ..</code>, basta allora aggiungere questo alias:</p>
<pre>---8&#60;---
alias cd..='cd ..'
---8&#60;---</pre>
<p>Un altro utile alias e&#8217; quello per installare gli <strong>aggiornamenti</strong>. Ovviamente dovremo modificare il file <code>.bashrc</code> di <strong>root</strong> e non quello che si trova nella nostra <code>home</code> utente. Dunque da terminale:<br />
<code># nano /root/.bashrc</code><br />
e <strong>aggiungiamo</strong>:</p>
<pre>---8&#60;---
alias aggiorna='apt-get update &#38;&#38; apt-get upgrade'
---8&#60;---</pre>
<p>In questo modo la prossima volta che dobbiamo aggiornare, nel terminale <strong>bastera&#8217; scrivere</strong>:<br />
<code># aggiorna</code></p>
<p>Gli alias possiamo anche <strong>inserirli in un file a parte</strong> <code>~/.bash_aliases</code>, in questo caso pero&#8217;, all&#8217;interno del file <code>~/.bashrc</code> dobbiamo <strong>de-commentare</strong> alcune righe:</p>
<pre>---8&#60;---
#if [ -f ~/.bash_aliases ]; then
#    . ~/.bash_aliases
#fi
---8&#60;---</pre>
<p>in modo da avere:</p>
<pre>---8&#60;---
if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi
---8&#60;---</pre>
<p>Una volta che abbiamo fatto le nostre aggiunte, da terminale diamo questo comando:<br />
<code>source ~/.bashrc</code><br />
per <strong>abilitare</strong> le modifiche.</p>
<p>Quando apriamo un terminale vediamo una scritta simile a questa:<br />
<code>username@hostname:~$</code><br />
si tratta del <strong>prompt</strong>. Anche questo puo&#8217; essere <strong>personalizzato</strong>, nell&#8217;esempio sopra riportato, all&#8217;interno del file <code>.bashrc</code> ci sarebbe:</p>
<pre>---8&#60;---
PS1=`\H@\u:\w$`
export PS1
---8&#60;---</pre>
<p>Ci sono anche altre <strong>opzioni</strong>, e le <strong>combinazioni</strong> possibili sono tante, trovate tutte le opzioni <a href="http://www.gnu.org/software/bash/manual/bashref.html#Printing-a-Prompt">qui</a>, potete ad esempio mettere l&#8217;<strong>ora</strong> (<code>\t</code>), o la <strong>data</strong> (<code>\d</code>) o tutte e due. Per avere ad esempio un prompt simile a questo:<br />
<code>username@hostname-HH:MM:SS-giorno mese anno:~$</code><br />
dovremo scrivere:</p>
<pre>---8&#60;---
PS1=`\H@\u:\t-\d\w$`
export PS1
---8&#60;---</pre>
<p>Per approfondire e&#8217; utile la lettura del <a href="http://www.gnu.org/software/bash/manual/bashref.html">manuale</a>:<br />
<code>$ man bash</code></p>
<div id="attachment_181" class="wp-caption alignright" style="width: 160px"><img src="http://idl3.wordpress.com/files/2009/09/personal-terminal.png?w=150" alt="Terminale con il logo Debian" title="Terminale personalizzato" width="150" height="70" class="size-thumbnail wp-image-181" /><p class="wp-caption-text">Terminale con il logo Debian</p></div>Ma veniamo alla <strong>personalizzazione inutile</strong>. E&#8217; possibile ad esempio fare in modo che nel terminale all&#8217;apertura appaia una <strong>scritta</strong> o un <strong>disegno</strong> (in ASCII) che renda simpatica la shell [<a href="#plb1">1</a>]<a name="plba">.</a> Apriamo con il nostro editor di testo preferito il file <code>.bashrc</code> (quello che si trova nella nostra home) e <strong>aggiungiamo</strong> alla fine queste righe:</p>
<pre>---8&#60;---
rosso='\e[1;O1O'
NC='\e[0O'

echo -e "        oOOOOOOo                    OOOOo.";
echo -e "     oo OOOOOOOOOo.            ooOOOOOo  Oo";
echo -e "   O oOOOo OOOOOOOOo           oO  OOOOoOOOO o";
echo -e "  O OOO.Oo                               OOOOOo";
echo -e " O  ooOO         .OOOOOo    OOOOOo        OOOO O";
echo -e " o OOOO         O OOOOOO ooO.OOOO ..       OOO  O";
echo -e "O  oo O       O oooooooooo  O OoooooO      Oooo O";
echo -e "O  oo O     .O.ooooooooooo  O OOooooO.     O.oO O";
echo -e "o  ooOO    O OooOO.       O  O  O OOoO.O   .OoO O";
echo -e " O OooO OO.OoO     OoO   o.  O OoO   ooO.C OoO. O";
echo -e " O oooooOOoo      o O OOO o   ooO o   oooOoooO O";
echo -e "  O .Ooooooo    o.     Ooo O  O.OO    oooooOO O";
echo -e "    O .o.Oo       O  o oOo     OOoo    ooo  O";
echo -e "      OOOO       oo      O      O O      Oo";
echo -e "         O       Oo              OO.O    OO";
echo -e "        O      OO O       OOOO    O   oOOO.";
echo -e "        O    Oo          OO    Oo     O";
echo -e "      O  OOO  O.     oo   oOooo  .    O";
echo -e "          oo  oO        oO    .     oO";
echo -e "          oo   O        O        oOOo";
echo -e "           O   .OO       O           O";
echo -e "           o      o        OOOOOCOOO";
echo -e "           .o    oO                O";
echo -e "            O      Oo      oOOoooAO";
echo -e "              O     o oOO      .o";
echo -e "               O    ooooo.    . O";
echo -e "                 .   .OOooo Ooo.";
echo -e "                     O. OoOooooo";
echo -e "                      . OOooooooOO";
echo -e "                          oOOOOOOo";
echo -e "${rosso}Debian GNU/Linux ${NC}" `cat /etc/debian_version`
---8&#60;---</pre>
<p>Si, lo so, e' orribile (dovrebbe essere lo GNU), se volete qualcosa di piu' carino <strong>fatevelo voi</strong>, non e' difficile, basta convertire un'immagine in testo oppure trasformare una parola in <em>ASCIIart</em>, ci sono vari siti che lo fanno. Insomma, le possibilita' non mancano.</p>
<p>[<a name="plb1">1</a>] Per avere il terminale come appare nella figura (il logo Debian) <a href="http://www.edmond.netsons.org/index.php/2009/05/24/debian-bash-personalizzazione/">seguite questa guida</a>. [<a href="#plba">^</a>]<br />
<div id="attachment_181" class="wp-caption alignnone" style="width: 834px"><img src="http://idl3.wordpress.com/files/2009/09/personal-terminal.png" alt="Terminale con il logo Debian" title="Terminale personalizzato" width="824" height="385" class="size-full wp-image-181" /><p class="wp-caption-text">Terminale con il logo Debian</p></div>
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/09/29/howtotipsntricks-personalizzare-la-bash/&#38;t=HowTo-TipsnTricks: personalizzare la bash" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/09/29/howtotipsntricks-personalizzare-la-bash/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Tips'nTricks: completamento automatico nel terminale]]></title>
<link>http://idl3.wordpress.com/2009/09/26/tipsntricks-completamento-automatico-nel-terminale/</link>
<pubDate>Sat, 26 Sep 2009 06:24:57 +0000</pubDate>
<dc:creator>idl3</dc:creator>
<guid>http://idl3.wordpress.com/2009/09/26/tipsntricks-completamento-automatico-nel-terminale/</guid>
<description><![CDATA[Oggi e&#8217; sabato, svegliatevi, non poltrite. Scrivero&#8217; di una cosa che non uso, il complet]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Oggi e&#8217; <strong>sabato</strong>, svegliatevi, non poltrite. Scrivero&#8217; di una cosa che non uso, il <strong>completamento automatico avanzato</strong> dei comandi su terminale. &#8220;<em>Ma esiste gia&#8217;</em>&#8221; direte voi. In effetti, se scrivo <code>$ mpl[TAB]</code> esce fuori <code>$ mplayer</code>, se scrivo <code>$ lspc[TAB]</code> esce fuori <code>$ lspci</code> [certo che per una lettera potevi evitare NdI], ecc. Tuttavia se <strong>provate a scrivere</strong> <code># apt-get upda[TAB]</code> non succede nulla. Perche&#8217;? Perche&#8217; di <em>default</em> vengono risolti solo i <strong>comandi semplici</strong> e i <strong><em>pathname</em></strong> (nome che contiene in forma esplicita informazioni sulla posizione del file all&#8217;interno del sistema [<a href="http://it.wikipedia.org/wiki/Pathname">copincollato da Wikipedia</a>]). Ed e&#8217; qui che <strong>entra in gioco</strong> questo post (o suppost).</p>
<div id="attachment_117" class="wp-caption alignleft" style="width: 154px"><img src="http://idl3.wordpress.com/files/2009/09/poltrone.jpg?w=144" alt="Utilizzatore di personal computer alla ricerca continua e ossessiva di modi per risparmiare tempo e fatica. Ricerca che gli impiega tutto il tempo e le forze." title="Poltrone" width="144" height="150" class="size-thumbnail wp-image-117" /><p class="wp-caption-text">Utilizzatore di personal computer alla ricerca continua e ossessiva di modi per risparmiare tempo e fatica. Ricerca che gli impiega tutto il tempo e le forze.</p></div>Come avrete notato <strong>non e&#8217; una funzione indispensabile</strong>, a meno che non vi siate dimenticati le ultime lettere o sillabe di un comando. Sono &#8220;<em>robe da smanettoni</em>&#8221; vi dira&#8217; qualcuno. In realta&#8217; sono <strong>cose da poltroni cronici o da gente lenta a scrivere</strong>, un <em>TAB</em> ogni tanto velocizza (o rallenta, dipende) [<a href="#cant1">1</a>]<a name="canta">.</a></p>
<p>Abbandonando il &#8220;<em>problema</em>&#8221; e venendo alla <strong>soluzione</strong>, si tratta semplicemente di fare alcune modifiche al <strong>file di configurazione della bash</strong>, da terminale diamo dunque questo comando:<br />
<code># nano /etc/bash.bashrc</code><br />
ehh! quante righe, non spaventatevi, cercate queste tre righe:</p>
<pre>---8&#60;---
#if [ -f /etc/bash_completion ]; then
#    . /etc/bash_completion
#fi
---8&#60;---</pre>
<p>e <strong>de-commentatele</strong> (togliete il <em>number sign</em>, cancelletto, diesis, scacco matto, insomma questo <code>#</code>) in modo da avere questo risultato:</p>
<pre>---8&#60;---
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
---8&#60;---</pre>
<p>Se andate in <code>~/.bashrc</code> e lo de-commentate da li le impostazioni cambieranno <strong>immediatamente</strong> al primo avvio di un terminale. Altrimenti o riavviate (e che esagerazione) o caricate la <code>bash_completion</code> dando questo comando da terminale:<br />
<code>$ source /etc/bash_completion</code><br />
Se de-commentate quelle tre righe su <code>/etc/bash.bashrc</code>, non fatelo su <code>~/.bashrc</code>.</p>
<p>Esistono anche <strong>cose utili</strong> da fare su <code>~/.bashrc</code> per migliorare la vita sul terminale, ad esempio gli <strong><em>alias</em></strong>. Magari la prossima volta pero&#8217;.</p>
<p>[<a name="cant1">1</a>] Sulla continua ricerca di trucchi o metodi vari per velocizzare l&#8217;attivita&#8217; al pc (soprattutto in fase di navigazione) ci tornero&#8217;, e&#8217; interessante capirne le motivazioni, a mio avviso e&#8217; una paura ancestrale (come la paura di essere attaccati di notte dai predatori), comunque ci tornero&#8217;, magari oggi stesso, o domani, cosi&#8217; apro un rubrica &#8220;#n il sociologo della domenica&#8221;. [<a href="#canta">^</a>]
<hr />
<p style="text-align:right;"><a href="#content" title="torna su">[^] torna su</a>&#160;&#124;&#160;<a href="http://postli.com/post?u=http://idl3.wordpress.com/2009/09/26/tipsntricks-completamento-automatico-nel-terminale/&#38;t=TipsnTricks: completamento automatico nel terminale" title="Post to Postli" style="color:blue;text-decoration:none;">post<span style="color:orange;">&#60;</span><span style="color:red;">li</span><span style="color:orange;">&#62;</span></a>&#160;&#124;&#160;<a href="http://www.wikio.it/vote?url=http://idl3.wordpress.com/2009/09/26/tipsntricks-completamento-automatico-nel-terminale/" target="_blank"><img src="http://www.wikio.it/shared/img/vote/wikio2.gif" border="0" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[A list of required Maya 2009 dependancy packages in Linux]]></title>
<link>http://baltazaar.wordpress.com/2009/08/28/a-list-of-required-maya-2009-dependancy-packages-in-linux/</link>
<pubDate>Fri, 28 Aug 2009 07:01:55 +0000</pubDate>
<dc:creator>Baltazaar</dc:creator>
<guid>http://baltazaar.wordpress.com/2009/08/28/a-list-of-required-maya-2009-dependancy-packages-in-linux/</guid>
<description><![CDATA[Many people out there, are doing great after following my tutorial, but those that does not run Ubun]]></description>
<content:encoded><![CDATA[Many people out there, are doing great after following my tutorial, but those that does not run Ubun]]></content:encoded>
</item>

</channel>
</rss>
