<?xml version="1.0" encoding="UTF-8"?>
<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/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>...:::&#124; paper0k &#124;:::...</title>
	<atom:link href="http://paper0k.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://paper0k.wordpress.com</link>
	<description>Un altro blog su Ubuntu e GNU/Linux</description>
	<pubDate>Thu, 06 Mar 2008 12:46:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=MU</generator>
	<language>it</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>OpenSSH - Autenticazione&#8230;. lenta :-(</title>
		<link>http://paper0k.wordpress.com/2008/03/02/openssh-autenticazione-lenta/</link>
		<comments>http://paper0k.wordpress.com/2008/03/02/openssh-autenticazione-lenta/#comments</comments>
		<pubDate>Sun, 02 Mar 2008 10:46:55 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[DNS]]></category>

		<category><![CDATA[Rete]]></category>

		<category><![CDATA[ssh]]></category>

		<category><![CDATA[openssh]]></category>

		<category><![CDATA[sshd]]></category>

		<category><![CDATA[sshd_config]]></category>

		<category><![CDATA[UseDNS]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/?p=120</guid>
		<description><![CDATA[Tempo fa mi sono accorto che il mio server SSH ci metteva un po a richiedermi la password, e dopo vari tentativi (iptables, pam, &#8230;) ho scoperto finalmente cosa il realtà lo &#8220;rallentava&#8221;&#8230;. i DNS&#8230;


In pratica, di default, per ogni richiesta di accesso, il demone SSHD controlla se l&#8217;hostname richiedente corrisponda realmente al suo IP [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Tempo fa mi sono accorto che il mio server SSH ci metteva un po a richiedermi la password, e dopo vari tentativi (iptables, pam, &#8230;) ho scoperto finalmente cosa il realtà lo &#8220;rallentava&#8221;&#8230;. i DNS&#8230;</p>
<p align="center"><img src='http://paper0k.files.wordpress.com/2008/03/ssh.png' /></p>
<p><span id="more-120"></span><br />
In pratica, di default, per ogni richiesta di accesso, il demone SSHD controlla se l&#8217;hostname richiedente corrisponda realmente al suo IP address&#8230; questa gestione viene regolata dal parametro di configurazione UseDNS presente in /etc/ssh/sshd_config del server.<br />
Per disabilitare questa funzionalità:<br />
<code>sudo vi /etc/ssh/sshd_config</code><br />
aggiungere (se non è già presente)<br />
<code>UseDNS no</code><br />
e quindi, per riavviare il demone:<br />
<code>sudo /etc/init.d/ssh restart</code><br />
 <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/120/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/120/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/120/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=120&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2008/03/02/openssh-autenticazione-lenta/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2008/03/ssh.png" medium="image" />
	</item>
		<item>
		<title>gVim TagList</title>
		<link>http://paper0k.wordpress.com/2007/11/29/gvim-taglist/</link>
		<comments>http://paper0k.wordpress.com/2007/11/29/gvim-taglist/#comments</comments>
		<pubDate>Thu, 29 Nov 2007 08:08:42 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[Applicazioni]]></category>

		<category><![CDATA[Programmazione]]></category>

		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/11/29/gvim-taglist/</guid>
		<description><![CDATA[Visto il &#8220;successo&#8221; del post Class Browser per gedit ecco come poter utilizzare la stessa funzionalità con gVim 


Per prima cosa occorre (come visto nel precedente post) installare ctags
sudo apt-get install exuberant-ctags
ed il pacchetto vim-full
sudo apt-get install vim-full
Quindi scaricare il pacchetto taglist di Vim
wget http://vim.sourceforge.net/scripts/download_script.php?src_id=7701
ed installarlo
mkdir $HOME/.vim
cd $HOME/.vim
unzip /path/dove/hai/scaricato/il/file/taglist_45.zip 
Ora non resta altro che modificare [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Visto il &#8220;successo&#8221; del post <a href="http://paper0k.wordpress.com/2007/05/27/class-browser-per-gedit/">Class Browser per gedit</a> ecco come poter utilizzare la stessa funzionalità con gVim <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<img src='http://paper0k.files.wordpress.com/2007/11/vim_taglist.png' /><br />
<span id="more-118"></span><br />
Per prima cosa occorre (come visto nel precedente post) installare ctags<br />
<code>sudo apt-get install exuberant-ctags</code><br />
ed il pacchetto vim-full<br />
<code>sudo apt-get install vim-full</code><br />
Quindi scaricare il pacchetto taglist di Vim<br />
<code>wget http://vim.sourceforge.net/scripts/download_script.php?src_id=7701</code><br />
ed installarlo<br />
<code>mkdir $HOME/.vim<br />
cd $HOME/.vim<br />
unzip /path/dove/hai/scaricato/il/file/taglist_45.zip </code><br />
Ora non resta altro che modificare il file $HOME/.vimrc (o $HOME/.gvimrc) con l&#8217;editor che preferite (gVim ovviamente <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> ) aggiungendo alla fine:<br />
<code>nnoremap &lt;silent&gt; &lt;F8&gt; :Tlist&lt;CR&gt;</code><br />
così premendo <strong>F8</strong> la <em>TagList</em> compare/scompare&#8230;<br />
Buon divertimento <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Per maggiori informazioni vi consiglio di fare un giro su http://vim-taglist.sourceforge.net/</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/118/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/118/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=118&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/11/29/gvim-taglist/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/11/vim_taglist.png" medium="image" />
	</item>
		<item>
		<title>rsync, ssh ed il backup</title>
		<link>http://paper0k.wordpress.com/2007/11/21/rsyncssh-ed-il-backup/</link>
		<comments>http://paper0k.wordpress.com/2007/11/21/rsyncssh-ed-il-backup/#comments</comments>
		<pubDate>Wed, 21 Nov 2007 08:03:32 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[Sistema]]></category>

		<category><![CDATA[rsync]]></category>

		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/11/21/rsyncssh-ed-il-backup/</guid>
		<description><![CDATA[Ce ne sono molti di software che permettono di fare il backup di cartelle/files, con bellissime interfacce grafiche ma&#8230; io preferisco il vecchio metodo&#8230; rsync, ssh ed il gioco è fatto  


Per prima cosa sul Server occorre installare un server SSH, inutile parlare qui di questo aspetto e per questo vi rimando alla pagina [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Ce ne sono molti di software che permettono di fare il backup di cartelle/files, con bellissime interfacce grafiche ma&#8230; io preferisco il vecchio metodo&#8230; rsync, ssh ed il gioco è fatto <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p align="center"><img src='http://paper0k.files.wordpress.com/2007/11/rsync_ssh.png' /></p>
<p><span id="more-116"></span><br />
Per prima cosa sul Server occorre installare un server SSH, inutile parlare qui di questo aspetto e per questo vi rimando alla <a href="http://wiki.ubuntu-it.org/InternetRete/ConfigurazioneRete/OpenSsh">pagina del Wiki</a>, e vi consiglio di seguire soprattutto <a href="http://wiki.ubuntu-it.org/InternetRete/ConfigurazioneRete/OpenSsh#head-22ab531b2567bb662b2ee7b3813d7a006e511249">questo paragrafo</a><br />
Detto questo&#8230; ecco il comando che lancio io per fare il backup della mia home<br />
<code>rsync -vaz -e ssh $HOME/ paper0k@serverone:/Backup/paper0k/</code><br />
dove <em>paper0k@serverone</em> è rispettivamente l&#8217;account remoto (paper0k) sul server remoto (serverone) e <em>/Backup/paper0k</em> è la cartella remota dove scaricare la mia home ($HOME)<br />
Al primo avvio ovviamente ci metterà un pochino, perchè dovrà allineare le due cartelle (locale e remota) ai successivi lanci però, verranno allineati solo i files nuovi/modificati<br />
Se necessitiamo inoltre di cancellare i files sul server non più presenti nella home, allora dobbiamo usare l&#8217;opzione <strong><font>-</font><font>-</font>delete</strong> preferibilmente associata alla <strong><font>-</font><font>-</font>max<font>-</font>delete=NUM</strong> per cancellare al massimo NUM files dalla cartella di destinazione e per ulteriori dettagli vi consiglio di leggere la manpage<br />
<code>man rsync</code><br />
Certo, il server, dovrà avere abbastanza spazio <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/116/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/116/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/116/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/116/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/116/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=116&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/11/21/rsyncssh-ed-il-backup/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/11/rsync_ssh.png" medium="image" />
	</item>
		<item>
		<title>NFS e iptables</title>
		<link>http://paper0k.wordpress.com/2007/11/02/nfs-iptables/</link>
		<comments>http://paper0k.wordpress.com/2007/11/02/nfs-iptables/#comments</comments>
		<pubDate>Fri, 02 Nov 2007 07:13:05 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[Sistema]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/11/02/nfs-iptables/</guid>
		<description><![CDATA[In questi giorni mi sono installato un &#8220;serverino&#8221;, e per condividere i files tra i vari computer, ho usato NFS.
Ma sul &#8220;serverino&#8221; ovviamente c&#8217;era iptables, in configurazione firewall, e visto che era la terza volta che mi cimentavo nella configurazione delle iptables per poter consentire l&#8217;accesso NFS (dimenticandomi ogni volta i passi seguiti, o se [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In questi giorni mi sono installato un &#8220;serverino&#8221;, e per condividere i files tra i vari computer, ho <a href="http://wiki.ubuntu-it.org/Server/Nfs">usato NFS</a>.<br />
Ma sul &#8220;serverino&#8221; ovviamente c&#8217;era <a href="http://wiki.ubuntu-it.org/Sicurezza/Iptables">iptables</a>, in configurazione firewall, e visto che era la terza volta che mi cimentavo nella configurazione delle iptables per poter consentire l&#8217;accesso NFS (dimenticandomi ogni volta i passi seguiti, o se preferite le porte lasciate &#8220;aperte&#8221; sul firewall), ho deciso scriverle e condividerle con voi.<br />
Magari così la prossima volta non ci perdo, nuovamente, troppo tempo! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<code>for P in $(rpcinfo -p|awk '{ if (NR&gt;1) print $4; }'|sort -u)<br />
do<br />
  echo &#8220;NFS port $P&#8221;<br />
  $IPTABLES -A INPUT -p udp -i $IFEXT  &#8211;dport $P -j LOG &#8211;log-level info &#8211;log-prefix &#8220;#NFS-U-${P}#&#8221;<br />
  $IPTABLES -A INPUT -p udp -i $IFEXT  &#8211;dport $P   -j ACCEPT<br />
  $IPTABLES -A INPUT -p tcp -i $IFEXT  &#8211;dport $P -j LOG &#8211;log-level info &#8211;log-prefix &#8220;#NFS-T-${P}#&#8221;<br />
  $IPTABLES -A INPUT -p tcp -i $IFEXT  &#8211;dport $P   -j ACCEPT<br />
done<br />
</code><br />
nella mia configurazione, IPTABLES è uguale a &#8220;/sbin/iptables&#8221; e IFEXT a &#8220;eth0&#8243; </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/115/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/115/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/115/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/115/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/115/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=115&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/11/02/nfs-iptables/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>
	</item>
		<item>
		<title>ubuntu-it&#8230;&#8230; Auguri!!!</title>
		<link>http://paper0k.wordpress.com/2007/10/10/ubuntu-it-auguri/</link>
		<comments>http://paper0k.wordpress.com/2007/10/10/ubuntu-it-auguri/#comments</comments>
		<pubDate>Wed, 10 Oct 2007 08:58:52 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[ubuntu-it]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/10/10/ubuntu-it-auguri/</guid>
		<description><![CDATA[Che dire&#8230;.. Grazie a tutti!!! 

       ]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Che dire&#8230;.. Grazie a tutti!!! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<a href="http://www.ubuntu-it.org"><img src="http://www.ubuntu-it.org/uploads/images/compleanno.png" alt="Auguri!!!" /></a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/114/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/114/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/114/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/114/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/114/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=114&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/10/10/ubuntu-it-auguri/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://www.ubuntu-it.org/uploads/images/compleanno.png" medium="image">
			<media:title type="html">Auguri!!!</media:title>
		</media:content>
	</item>
		<item>
		<title>Mettiamo a nanna il PC :)</title>
		<link>http://paper0k.wordpress.com/2007/10/03/mettiamo-a-nanna-il-pc/</link>
		<comments>http://paper0k.wordpress.com/2007/10/03/mettiamo-a-nanna-il-pc/#comments</comments>
		<pubDate>Wed, 03 Oct 2007 20:18:56 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[Acer]]></category>

		<category><![CDATA[Feisty]]></category>

		<category><![CDATA[Intel Core2 Duo (64bit)]]></category>

		<category><![CDATA[Sistema]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/10/03/mettiamo-a-nanna-il-pc/</guid>
		<description><![CDATA[Come sapete (???) ho un Acer Aspire 5634WLMi con Ubuntu Feisty 64bit e Compiz, e la sospensione non ha mai funzionato, ma era un argomento che poco mi interessava, quindi ho lasciato correre e mi sono detto &#8220;quando avrò un po di tempo lo sistemo&#8221;&#8230; ho avuto quel &#8220;po di tempo&#8221; a disposizione per sistemarlo! [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Come sapete (???) ho un Acer Aspire 5634WLMi con Ubuntu Feisty 64bit e Compiz, e la sospensione non ha mai funzionato, ma era un argomento che poco mi interessava, quindi ho lasciato correre e mi sono detto &#8220;quando avrò un po di tempo lo sistemo&#8221;&#8230; ho avuto quel &#8220;po di tempo&#8221; a disposizione per sistemarlo! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p align="center"><img src='http://paper0k.files.wordpress.com/2007/10/sospendi.png' /></p>
<p><span id="more-112"></span></p>
<blockquote><p><strong>Per gli utenti di Ubuntu 7.10 Gutsy</strong><br />
Non occorre seguire questa procedura, il sistema (almeno sul mio pc) gestisce senza problemi la sospensione <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></blockquote>
<p>La prima cosa che ho fatto è stata modificare il file /etc/X11/xorg.conf da così</p>
<pre name="code" class="css">
Section &quot;Device&quot;
    Identifier     &quot;nVidia Corporation G72M [Quadro NVS 110M/GeForce Go 7300]&quot;
    Driver         &quot;nvidia&quot;
EndSection
</pre>
<p>a così</p>
<pre name="code" class="css">
Section &quot;Device&quot;
    Identifier     &quot;nVidia Corporation G72M [Quadro NVS 110M/GeForce Go 7300]&quot;
    Driver         &quot;nvidia&quot;
    Option         &quot;NvAGP&quot; &quot;1&quot;
    Option         &quot;AddARGBVisuals&quot; &quot;True&quot;
    Option         &quot;AddARGBGLXVisuals&quot; &quot;True&quot;
EndSection
</pre>
<p>quindi ho modificato il file /etc/default/acpi-support portando queste opzioni </p>
<pre name="code" class="css">
POST_VIDEO=true
SAVE_VBE_STATE=true
</pre>
<p>in false, cioè:</p>
<pre name="code" class="css">
POST_VIDEO=false
SAVE_VBE_STATE=false
</pre>
<p>Infine, nelle opzioni di Compiz, ho disabilitato l&#8217;opzione &#8220;Sync to VBlank&#8221; e dopo aver riavviato il PC&#8230;&#8230;. si è finalmente addormentato! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><u><strong>Attenzione</strong></u></p>
<p>1. Ovviamente non è detto che quello sopra riportato vada bene per <strong>tutti</strong>!<br />
2. Prima di fare delle prove di sospensione <strong>salvate/chiudete i files non salvati e le applicazioni critiche</strong>, il sistema non è detto che riparta&#8230;<br />
3. Se l&#8217;interfaccia grafica non riparte, provate (prima di spegnere il PC) a riavviarla (Ctrl-Alt-Backspace) o andare in modalità testo (Ctr-Alt-F1) per riavviare il PC in maniera sicura<br />
4. Alcuni hanno avuto problemi con la tastiera (io per fortuna no&#8230;) dopo il ripristino, in quel caso vedete questo link ( http://sittisal.wordpress.com/2007/05/17/ubuntu-feisty-su-hp-compaq-nx7400/ ), forse potrà aiutarvi </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/112/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/112/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/112/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/112/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/112/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=112&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/10/03/mettiamo-a-nanna-il-pc/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/10/sospendi.png" medium="image" />
	</item>
		<item>
		<title>Glade3 e Gtk&#8230; un primo programmino in C++</title>
		<link>http://paper0k.wordpress.com/2007/09/05/glade3-gtk-un-primo-programmino-in-c/</link>
		<comments>http://paper0k.wordpress.com/2007/09/05/glade3-gtk-un-primo-programmino-in-c/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 06:33:01 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[Cpp]]></category>

		<category><![CDATA[Glade-3]]></category>

		<category><![CDATA[Gtk]]></category>

		<category><![CDATA[Programmazione]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/09/05/glade3-gtk-un-primo-programmino-in-c/</guid>
		<description><![CDATA[
Questa vuole essere una piccola introduzione allo sviluppo in C++ utilizzando Glade3, per la creazione dell&#8217;interfaccia utente, e le librerie Gtk

Per questo programmino, ci faremo aiutare dagli autotools, quindi creiamo una directory, ad esempio &#8220;ex1&#8243;:
mkdir ex1
ed al suo interno creiamo un file configure.ac come il seguente:
AC_INIT(src/main.cc)
AM_INIT_AUTOMAKE(ex1,0.1)
AC_CONFIG_HEADER(config.h)
AC_PROG_CC
AC_PROG_CXX
AC_PROG_INSTALL
AC_PROG_LIBTOOL
PKG_CHECK_MODULES([GTKMM], [gtkmm-2.4 &#62;= 2.8.0])
PKG_CHECK_MODULES([GLADEMM], [libglademm-2.4])
AC_SUBST(GTKMM_CFLAGS)
AC_SUBST(GTKMM_LIBS)
AC_SUBST(GLADEMM_CFLAGS)
AC_SUBST(GLADEMM_LIBS)
AC_OUTPUT(Makefile src/Makefile)

sempre in questa cartella, creiamo [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center"><img src='http://paper0k.files.wordpress.com/2007/09/titolo.png' /></p>
<p>Questa vuole essere una piccola introduzione allo sviluppo in C++ utilizzando Glade3, per la creazione dell&#8217;interfaccia utente, e le librerie Gtk<br />
<span id="more-100"></span><br />
Per questo programmino, ci faremo aiutare dagli autotools, quindi creiamo una directory, ad esempio &#8220;ex1&#8243;:<br />
<code>mkdir ex1</code><br />
ed al suo interno creiamo un file configure.ac come il seguente:<br />
<code>AC_INIT(src/main.cc)<br />
AM_INIT_AUTOMAKE(ex1,0.1)<br />
AC_CONFIG_HEADER(config.h)<br />
AC_PROG_CC<br />
AC_PROG_CXX<br />
AC_PROG_INSTALL<br />
AC_PROG_LIBTOOL<br />
PKG_CHECK_MODULES([GTKMM], [gtkmm-2.4 &gt;= 2.8.0])<br />
PKG_CHECK_MODULES([GLADEMM], [libglademm-2.4])<br />
AC_SUBST(GTKMM_CFLAGS)<br />
AC_SUBST(GTKMM_LIBS)<br />
AC_SUBST(GLADEMM_CFLAGS)<br />
AC_SUBST(GLADEMM_LIBS)<br />
AC_OUTPUT(Makefile src/Makefile)<br />
</code><br />
sempre in questa cartella, creiamo il file Makefile.am, al cui interno mettiamo:<br />
<code>SUBDIRS = src</code><br />
così da avere il codice separato dagli altri files e quindi creiamola:<br />
<code>mkdir src<br />
cd src</code><br />
e dentro inseriamo il file Makefile.am<br />
<code>bin_PROGRAMS=ex1<br />
ex1_SOURCES=main.cc wmain.h wmain.cc<br />
EXTRA_DIST = wmain.glade<br />
INCLUDES = $(GTKMM_CFLAGS) $(GLADEMM_CFLAGS)<br />
LIBS = $(GTKMM_LIBS) $(GLADEMM_LIBS)<br />
</code><br />
Siamo quindi pronti a scrivere il codice, iniziamo dal main.cc:<br />
<code>
<pre>
<font color="#a020f0">#include </font><font color="#ff00ff">&lt;iostream&gt;</font>
<font color="#a020f0">#include </font><font color="#ff00ff">&quot;wmain.h&quot;</font>

<font color="#2e8b57"><b>int</b></font> main(<font color="#2e8b57"><b>int</b></font> argc, <font color="#2e8b57"><b>char</b></font> *argv[])
{
    Gtk::Main kit(argc, argv);

        Glib::RefPtr&lt;Gnome::Glade::Xml&gt; refXml;
        <font color="#a52a2a"><b>try</b></font>    {
                refXml = Gnome::Glade::Xml::create(<font color="#ff00ff">&quot;wmain.glade&quot;</font>);
        }
        <font color="#a52a2a"><b>catch</b></font>(<font color="#2e8b57"><b>const</b></font> Gnome::Glade::XmlError&amp; ex)        {
                std::cerr &lt;&lt; ex.what() &lt;&lt; std::endl;
                <font color="#a52a2a"><b>return</b></font> <font color="#ff00ff">1</font>;
        }

        wMain* W = <font color="#ff00ff">0</font>;
        refXml-&gt;get_widget_derived(<font color="#ff00ff">&quot;wMain&quot;</font>, W);
        <font color="#a52a2a"><b>if</b></font>(W)  {
                kit.run(*W);
        }

        <font color="#a52a2a"><b>delete</b></font> W;

    <font color="#a52a2a"><b>return</b></font> <font color="#ff00ff">0</font>;
}
</pre>
<p></code><br />
questo provvederà a caricare il file .glade (vediamo dopo come crearlo), estrarre il widget wMain, &#8220;associarlo&#8221; ad una nostra classe ed a lanciare l&#8217;applicazione<br />
Vediamo come creare la nostra classe, iniziamo dall&#8217;header wmain.h:<br />
<code>
<pre>
<font color="#a020f0">#ifndef WMAIN_H</font>
<font color="#a020f0">#define WMAIN_H</font>

<font color="#a020f0">#include </font><font color="#ff00ff">&lt;gtkmm.h&gt;</font>
<font color="#a020f0">#include </font><font color="#ff00ff">&lt;gtkmm/button.h&gt;</font>
<font color="#a020f0">#include </font><font color="#ff00ff">&lt;libglademm.h&gt;</font>
<font color="#a020f0">#include </font><font color="#ff00ff">&lt;iostream&gt;</font>

<font color="#a52a2a"><b>using</b></font> <font color="#2e8b57"><b>namespace</b></font> std;

<font color="#2e8b57"><b>class</b></font> wMain : <font color="#a52a2a"><b>public</b></font> Gtk::Window {
<font color="#a52a2a"><b>public</b></font>:
        wMain(BaseObjectType* cobject, <font color="#2e8b57"><b>const</b></font> Glib::RefPtr&lt;Gnome::Glade::Xml&gt;&amp; refGlade);
        <font color="#2e8b57"><b>virtual</b></font> ~wMain();
        <font color="#2e8b57"><b>virtual</b></font> <font color="#2e8b57"><b>void</b></font> btnEsci();
        <font color="#2e8b57"><b>virtual</b></font> <font color="#2e8b57"><b>void</b></font> btnOk();
<font color="#a52a2a"><b>private</b></font>:
        Gtk::Entry *txtNome;
};

<font color="#a020f0">#endif</font>
</pre>
<p></code><br />
Quindi passiamo al wmain.cc:<br />
<code>
<pre>
<font color="#a020f0">#include </font><font color="#ff00ff">&quot;wmain.h&quot;</font>

wMain::wMain(BaseObjectType* cobject, <font color="#2e8b57"><b>const</b></font> Glib::RefPtr&lt;Gnome::Glade::Xml&gt;&amp; refGlade) : Gtk::Window(cobject) {
        Gtk::Button *btn;

        <font color="#0000ff">/*</font><font color="#0000ff">* btnEsci </font><font color="#0000ff">*/</font>
        refGlade-&gt;get_widget(<font color="#ff00ff">&quot;btnEsci&quot;</font>, btn);
        <font color="#a52a2a"><b>if</b></font> (btn) {
                btn-&gt;signal_clicked().connect( sigc::mem_fun(*<font color="#a52a2a"><b>this</b></font>, &amp;wMain::btnEsci) );
        } <font color="#a52a2a"><b>else</b></font> {
                cerr &lt;&lt; <font color="#ff00ff">&quot;btnEsci non trovato!&quot;</font> &lt;&lt; endl;
        }

        <font color="#0000ff">/*</font><font color="#0000ff">* btnOk </font><font color="#0000ff">*/</font>
        refGlade-&gt;get_widget(<font color="#ff00ff">&quot;btnOk&quot;</font>, btn);
        <font color="#a52a2a"><b>if</b></font> (btn) {
                btn-&gt;signal_clicked().connect( sigc::mem_fun(*<font color="#a52a2a"><b>this</b></font>, &amp;wMain::btnOk) );
        } <font color="#a52a2a"><b>else</b></font> {
                cerr &lt;&lt; <font color="#ff00ff">&quot;btnOk non trovato!&quot;</font> &lt;&lt; endl;
        }

        refGlade-&gt;get_widget(<font color="#ff00ff">&quot;txtNome&quot;</font>, txtNome);

}

wMain::~wMain() {
}

<font color="#2e8b57"><b>void</b></font> wMain::btnEsci() {
        cout &lt;&lt; <font color="#ff00ff">&quot;Esci&quot;</font> &lt;&lt; endl;
        Gtk::Main::instance()-&gt;quit();
}

<font color="#2e8b57"><b>void</b></font> wMain::btnOk() {
        Glib::ustring txt;
        txt=<font color="#ff00ff">&quot;Testo [&quot;</font>+txtNome-&gt;get_text()+<font color="#ff00ff">&quot;]&quot;</font>;
        Gtk::MessageDialog dlg(*<font color="#a52a2a"><b>this</b></font>, txt, <font color="#ff00ff">false</font>, Gtk::MESSAGE_INFO,
                               Gtk::BUTTONS_OK, <font color="#ff00ff">true</font>);
        dlg.run();
}
</pre>
<p></code><br />
praticamente abbiamo definito la classe wMain derivata dalla Gtk::Window, nel costruttore abbiamo quindi &#8220;cercato&#8221; i due tasti &#8220;btnEsci&#8221; e &#8220;btnOk&#8221;, collegando l&#8217;evento &#8220;clicked&#8221; ai nostri metodi wMain::btnEsci e wMain::btnOk, e abbiamo memorizzato il puntatore alla GtkEntry txtNome.<br />
Nel metodo wMain::btnOk, andiamo ad estrarre il valore inserito nella entry e visualizzarlo tramite un message box, mentre in wMain::btnEsci lanciamo il Gtk::Main::instance()-&gt;quit() che termina l&#8217;applicazione.<br />
Ora possiamo creare l&#8217;interfaccia grafica usando Glade3, quindi da terminale e dentro la cartella src lanciamo:<br />
<code>glade-3</code><br />
Quello che ci comparirà sarà:</p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade1.jpeg' title='glade1.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade1.thumbnail.jpeg' /></a></p>
<p>dalla tavolozza (dock a sinistra), premiamo il tastino &#8220;Finestra&#8221; </p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade1.jpeg' title='glade2.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade2.thumbnail.jpeg' /></a></p>
<p>sempre dalla tavolozza, selezioniamo il contenitore &#8220;Casella verticale&#8221; ed impostamo il numero di elementi a 2</p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade3.jpeg' title='glade3.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade3.thumbnail.jpeg' /></a></p>
<p>per ogni elemento (il box creato) inseriamo una &#8220;Casella orizzontale&#8221; di 2 elementi</p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade4.jpeg' title='glade4.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade4.thumbnail.jpeg' /></a></p>
<p>Nel box in alto a sinistra inseriamo una GtkLabel selezionando dalla tavolozza, nel riquadro &#8220;Controlli e visualizzazione&#8221; il tastino &#8220;Etichetta&#8221;<br />
Nel box in alto a destra invece inseriamo una GtkEntry (tastino &#8220;Entrata testo&#8221; sempre in &#8220;Controlli e visualizzazione&#8221;)<br />
Nei box sotto inseriamo due GtkButton (tastino &#8220;Pulsante&#8221;)</p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade5.jpeg' title='glade5.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade5.thumbnail.jpeg' /></a></p>
<p>impostando nelle proprietà la tipologia come &#8220;Stock&#8221; (vedi barra evidenziata)</p>
<p><a href='http://paper0k.files.wordpress.com/2007/09/glade6.jpeg' title='glade6.jpeg'><img src='http://paper0k.files.wordpress.com/2007/09/glade6.thumbnail.jpeg' /></a></p>
<p>la prima con &#8220;Pulsante stock&#8221; in &#8220;Applica&#8221;, l&#8217;altra con &#8220;Chiudi&#8221;</p>
<p>Ora non resta che assegnare i nomi come nella seguente figura</p>
<p><img src='http://paper0k.files.wordpress.com/2007/09/nomi.png' /></p>
<p>Salviamo quindi il file nella cartella &#8220;src&#8221; col nome &#8220;wmain.glade&#8221; e, tornando nella cartella principale del progetto diamo i comandi:<br />
<code>touch NEWS README AUTHORS ChangeLog<br />
touch stamp-h<br />
aclocal<br />
autoheader<br />
libtoolize -f<br />
automake -ac <font>-</font><font>-</font>foreign<br />
autoconf<br />
</code><br />
Se tutto è andato bene, diamo un<br />
<code>./configure<br />
make</code><br />
e per lanciare il nostro programmino<br />
<code>cd src<br />
./ex1</code><br />
Buon divertimento! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><u>Pacchetti da installare</u><br />
Ci sono una serie di pacchetti che occorre avere prima di procedere con lo sviluppo:<br />
<code>sudo apt-get install build-essential automake1.9 pkg-config libglademm-2.4-dev libgtkmm-2.4-dev</code><br />
potrebbero mancarne alcuni, in quel caso fatemi sapere cosa mi sono dimenticato <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><u>Link utili</u><br />
Sicuramente vi saranno di aiuto<br />
<a href="http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/index.html">http://www.gtkmm.org/docs/gtkmm-2.4/docs/tutorial/html/index.html</a><br />
<a href="http://sourceware.org/autobook/autobook/autobook_toc.html">http://sourceware.org/autobook/autobook/autobook_toc.html</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/100/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/100/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=100&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/09/05/glade3-gtk-un-primo-programmino-in-c/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/09/titolo.png" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade1.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade2.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade3.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade4.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade5.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/glade6.thumbnail.jpeg" medium="image" />

		<media:content url="http://paper0k.files.wordpress.com/2007/09/nomi.png" medium="image" />
	</item>
		<item>
		<title>Alla ricerca della funzione&#8230;</title>
		<link>http://paper0k.wordpress.com/2007/08/18/alla-ricerca-della-funzione/</link>
		<comments>http://paper0k.wordpress.com/2007/08/18/alla-ricerca-della-funzione/#comments</comments>
		<pubDate>Sat, 18 Aug 2007 08:29:24 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[BASH]]></category>

		<category><![CDATA[Script]]></category>

		<category><![CDATA[Vim]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/08/18/alla-ricerca-della-funzione/</guid>
		<description><![CDATA[
Quante volte vi siete trovati davanti ad una funzione domandandovi: &#8220;ma dov&#8217;è definita? cosa fa esattamente?&#8221;
Non vi siete posti questa domanda? Allora questo post non è per voi! 

Lo script che vi presento oggi, serve proprio a questo, cercare la definizione di una funzione e visualizzarne l&#8217;implementazione
Per prima cosa occorre installare il pacchetto exuberant-ctags, quindi [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src='http://paper0k.files.wordpress.com/2007/08/cercafunzione.png' /><br />
Quante volte vi siete trovati davanti ad una funzione domandandovi: &#8220;ma dov&#8217;è definita? cosa fa esattamente?&#8221;<br />
Non vi siete posti questa domanda? Allora questo post non è per voi! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
<span id="more-98"></span><br />
Lo script che vi presento oggi, serve proprio a questo, cercare la definizione di una funzione e visualizzarne l&#8217;implementazione<br />
Per prima cosa occorre installare il pacchetto exuberant-ctags, quindi come di consueto:<br />
<code>sudo apt-get install exuberant-ctags</code><br />
quindi aprite l&#8217;editor che preferite ed inserite questo codice:<br />
<code><font color="#0000ff">#! /bin/bash</font><br />
<font color="#008b8b">TMPFILE</font>=/tmp/<font color="#a020f0">$$</font><br />
ctags <font color="#6a5acd">-R</font> <font color="#6a5acd">-x</font> <font color="#a52a2a"><b>2&gt;</b></font>/dev/null <font><b>|</b></font> <font color="#a52a2a"><b>grep</b></font> <font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">^</font><font color="#a020f0">${</font><font color="#a020f0">1</font><font color="#a020f0">}</font><font color="#ff00ff"> *function </font><font color="#a52a2a"><b>&quot;</b></font> <font color="#a52a2a"><b>&gt;</b></font> <font color="#a020f0">$TMPFILE</font><br />
<font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>[</b></font> <font color="#a52a2a"><b>!</b></font> <font color="#a52a2a"><b>-s</b></font> <font color="#a020f0">$TMPFILE</font> <font color="#a52a2a"><b>]</b></font><br />
<font color="#a52a2a"><b>then</b></font><br />
        <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font>Funzione </font><font color="#a020f0">${</font><font color="#a020f0">1</font><font color="#a020f0">}</font><font color="#ff00ff"> non trovata</font><font color="#a52a2a"><b>&quot;</b></font><br />
        <font color="#a52a2a"><b>exit</b></font> <font color="#ff00ff">1</font><br />
<font color="#a52a2a"><b>fi</b></font><br />
<font color="#008b8b">SZ</font>=<font color="#a020f0">$(</font><font color="#6a5acd">wc -l </font><font color="#a020f0">$TMPFILE</font><font color="#a52a2a"><b>|</b></font><font color="#6a5acd">cut -d </font><font color="#a52a2a"><b>&quot;</b></font><font> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#6a5acd"> -f </font><font color="#ff00ff">1</font><font color="#a020f0">)</font><br />
<font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>[</b></font> <font color="#a52a2a"><b>!</b></font> <font color="#a020f0">${</font><font color="#a020f0">SZ</font><font color="#a020f0">}</font> <font color="#a52a2a"><b>-eq</b></font> <font color="#ff00ff">1</font> <font color="#a52a2a"><b>]</b></font><br />
<font color="#a52a2a"><b>then</b></font><br />
        <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font>Funzione rilevata più volte</font><font color="#a52a2a"><b>&quot;</b></font><br />
        cat <font color="#a020f0">$TMPFILE</font><br />
<font color="#a52a2a"><b>else</b></font><br />
        <font color="#008b8b">FILE</font>=<font color="#a020f0">$(</font><font color="#6a5acd">cat </font><font color="#a020f0">$TMPFILE</font><font color="#a52a2a"><b>|</b></font><font color="#6a5acd">awk </font><font color="#a52a2a"><b>&#8216;</b></font><font>{ print $4 }</font><font color="#a52a2a"><b>&#8216;</b></font><font color="#a020f0">)</font><br />
        <font color="#008b8b">LINE</font>=<font color="#a020f0">$(</font><font color="#6a5acd">cat </font><font color="#a020f0">$TMPFILE</font><font color="#a52a2a"><b>|</b></font><font color="#6a5acd">awk </font><font color="#a52a2a"><b>&#8216;</b></font><font>{ print $3 }</font><font color="#a52a2a"><b>&#8216;</b></font><font color="#a020f0">)</font><br />
        <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font>Apertura </font><font color="#a020f0">$FILE</font><font color="#ff00ff"> posizione </font><font color="#a020f0">$LINE</font><font color="#ff00ff"> &#8230;</font><font color="#a52a2a"><b>&quot;</b></font><br />
        vim +<font color="#a020f0">${</font><font color="#a020f0">LINE</font><font color="#a020f0">}</font> <font color="#a020f0">$FILE</font><br />
<font color="#a52a2a"><b>fi</b></font><br />
<font color="#a52a2a"><b>rm</b></font> <font color="#6a5acd">-f</font> <font color="#a020f0">$TMPFILE</font><br />
</code></p>
<blockquote><p><em><strong>Attenzione!</strong> L&#8217;apice non viene scritto correttamente nel codice sopra riportato, quindi sostituite <strong>`</strong> (apice inverso) con un <strong>&#8216;</strong> (apice normale)</em></p></blockquote>
<p>Salviamo il file (ad esempio come <strong>cercaFunzione</strong>) e impostiamo i permessi necessari:<br />
<code>chmod +x cercaFunzione</code><br />
Ora per ricercare una funzione (ad esempio myFunction), andiamo nella cartella dei sorgenti e digitiamo:<br />
<code>/path/dello/script/cercaFunzione myFunction</code><br />
(invece di <strong>/path/dello/script/</strong> dovete inserire il path dove avete salvato lo script) automaticamente verrà aperto VIm e sarà posizionato esattamente dove si trova la funzione myFunction <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/98/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/98/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/98/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/98/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/98/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=98&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/08/18/alla-ricerca-della-funzione/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/08/cercafunzione.png" medium="image" />
	</item>
		<item>
		<title>Come ti trovo i files duplicati :)</title>
		<link>http://paper0k.wordpress.com/2007/07/04/come-ti-trovo-i-files-duplicati/</link>
		<comments>http://paper0k.wordpress.com/2007/07/04/come-ti-trovo-i-files-duplicati/#comments</comments>
		<pubDate>Wed, 04 Jul 2007 07:03:21 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[BASH]]></category>

		<category><![CDATA[Script]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/07/04/come-ti-trovo-i-files-duplicati/</guid>
		<description><![CDATA[
Spesso capita di copiare files da una cartella ad un&#8217;altra e dimenticarsi poi di cancellarli, oppure non sapere di aver già quel documento salvato su di un&#8217;altra cartella&#8230;. ed intanto il disco si riempie&#8230;. ecco come faccio io 

Utilizzo questo script:


#! /bin/bash

LSTFILE=$(tempfile)
WRKFILE=$(tempfile)
DUPFILE=$(tempfile)

if [ -z &#34;${#}&#34; ]
then
        D=&#34;.&#34;
else
  [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p align="center"><img src='http://paper0k.files.wordpress.com/2007/07/cerca.png' /></p>
<p>Spesso capita di copiare files da una cartella ad un&#8217;altra e dimenticarsi poi di cancellarli, oppure non sapere di aver già quel documento salvato su di un&#8217;altra cartella&#8230;. ed intanto il disco si riempie&#8230;. ecco come faccio io <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
<span id="more-96"></span><br />
Utilizzo questo script:<br />
<code>
<pre>
<font color="#0000ff">#! /bin/bash</font>

<font color="#008b8b">LSTFILE</font>=<font color="#a020f0">$(</font><font color="#6a5acd">tempfile</font><font color="#a020f0">)</font>
<font color="#008b8b">WRKFILE</font>=<font color="#a020f0">$(</font><font color="#6a5acd">tempfile</font><font color="#a020f0">)</font>
<font color="#008b8b">DUPFILE</font>=<font color="#a020f0">$(</font><font color="#6a5acd">tempfile</font><font color="#a020f0">)</font>

<font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>[</b></font> <font color="#a52a2a"><b>-z</b></font> <font color="#a52a2a"><b>&quot;</b></font><font color="#a020f0">${#}</font><font color="#a52a2a"><b>&quot;</b></font> <font color="#a52a2a"><b>]</b></font>
<font color="#a52a2a"><b>then</b></font>
        <font color="#008b8b">D</font>=<font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">.</font><font color="#a52a2a"><b>&quot;</b></font>
<font color="#a52a2a"><b>else</b></font>
        <font color="#008b8b">D</font>=<font color="#a52a2a"><b>&quot;</b></font><font color="#a020f0">${</font><font color="#a020f0">1</font><font color="#a020f0">}</font><font color="#a52a2a"><b>&quot;</b></font>
<font color="#a52a2a"><b>fi</b></font>

<font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">Ricerca in corso su </font><font color="#a020f0">${</font><font color="#a020f0">D</font><font color="#a020f0">}</font><font color="#ff00ff"> <font>.</font>.<font>.</font></font><font color="#a52a2a"><b>&quot;</b></font>
<font color="#a52a2a"><b>find</b></font> <font color="#a020f0">&quot;$D&quot;</font> <font color="#6a5acd">-type</font> f <font color="#6a5acd">-exec</font> md5sum <font color="#6a5acd">{}</font> \<font color="#a52a2a"><b>;</b></font> <font color="#a52a2a"><b>&gt;</b></font> <font color="#a020f0">$LSTFILE</font> <font color="#a52a2a"><b>2&gt;</b></font>/dev/null

<font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">Analisi files<font>.</font>.<font>.</font></font><font color="#a52a2a"><b>&quot;</b></font>
<font color="#a52a2a"><b>while</b></font><font color="#a52a2a"><b> </b></font><font color="#a52a2a"><b>read</b></font><font color="#a52a2a"><b> SUM FILE</b></font>
<font color="#a52a2a"><b>do</b></font>
        <font color="#0000ff">#echo &quot;Analisi $FILE in corso<font>.</font>.<font>.</font> [${SUM}]&quot;</font>
        <font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>grep</b></font> <font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">^</font><font color="#a020f0">${</font><font color="#a020f0">SUM</font><font color="#a020f0">}</font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font> <font color="#a020f0">$WRKFILE</font> <font color="#a52a2a"><b>&gt;</b></font>/dev/null <font color="#a52a2a"><b>2&gt;&amp;1</b></font>
        <font color="#a52a2a"><b>then</b></font>
                <font color="#008b8b">DUPLICATO</font>=<font color="#a020f0">$(</font><font color="#a52a2a"><b>grep</b></font><font color="#6a5acd"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">^</font><font color="#a020f0">${</font><font color="#a020f0">SUM</font><font color="#a020f0">}</font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#6a5acd"> </font><font color="#a020f0">$WRKFILE</font><font color="#6a5acd"> </font><font color="#a52a2a"><b>|</b></font><font color="#6a5acd"> cut -d </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#6a5acd"> -f </font><font color="#ff00ff">2</font><font color="#6a5acd">-</font><font color="#a020f0">)</font>
                <font color="#008b8b">TIPO</font>=<font color="#a020f0">$(</font><font color="#6a5acd">file </font><font color="#a52a2a"><b>&quot;</b></font><font color="#a020f0">${</font><font color="#a020f0">FILE</font><font color="#a020f0">}</font><font color="#a52a2a"><b>&quot;|</b></font><font color="#6a5acd">cut -d </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">:</font><font color="#a52a2a"><b>&quot;</b></font><font color="#6a5acd"> -f </font><font color="#ff00ff">2</font><font color="#6a5acd">-</font><font color="#a020f0">)</font>
                <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">Errore </font><font color="#a020f0">$FILE</font><font color="#ff00ff"> uguale a </font><font color="#a020f0">$DUPLICATO</font><font color="#ff00ff"> (</font><font color="#a020f0">${</font><font color="#a020f0">TIPO</font><font color="#a020f0">}</font><font color="#ff00ff"> )</font><font color="#a52a2a"><b>&quot;</b></font>
                <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#a020f0">${</font><font color="#a020f0">FILE</font><font color="#a020f0">}</font><font color="#ff00ff"> </font><font color="#a020f0">${</font><font color="#a020f0">DUPLICATO</font><font color="#a020f0">}</font><font color="#ff00ff"> </font><font color="#a020f0">${</font><font color="#a020f0">SUM</font><font color="#a020f0">}</font><font color="#ff00ff"> (</font><font color="#a020f0">${</font><font color="#a020f0">TIPO</font><font color="#a020f0">}</font><font color="#ff00ff"> )</font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&gt;&gt;</b></font> <font color="#a020f0">$DUPFILE</font>
        <font color="#a52a2a"><b>else</b></font>
                <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#a020f0">${</font><font color="#a020f0">SUM</font><font color="#a020f0">}</font><font color="#ff00ff"> \\"</font><font color="#a020f0">${</font><font color="#a020f0">FILE</font><font color="#a020f0">}</font><font color="#ff00ff">\\"</font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&gt;&gt;</b></font> <font color="#a020f0">$WRKFILE</font>
        <font color="#a52a2a"><b>fi</b></font>
<font color="#a52a2a"><b>done</b></font> <font color="#a52a2a"><b>&lt;</b></font> <font color="#a020f0">$LSTFILE</font>

<font color="#a52a2a"><b>rm</b></font> <font color="#6a5acd">-f</font> <font color="#a020f0">$LSTFILE</font> <font color="#a020f0">$WRKFILE</font> <font color="#a52a2a"><b>2&gt;</b></font>/dev/null
<font color="#a52a2a"><b>if</b></font> <font color="#a52a2a"><b>[</b></font> <font color="#a52a2a"><b>-s</b></font> <font color="#a020f0">$DUPFILE</font> <font color="#a52a2a"><b>]</b></font>
<font color="#a52a2a"><b>then</b></font>
        <font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">File con i duplicati: </font><font color="#a020f0">$DUPFILE</font><font color="#a52a2a"><b>&quot;</b></font>
<font color="#a52a2a"><b>else</b></font>
        <font color="#a52a2a"><b>rm</b></font> <font color="#a52a2a"><b>-f</b></font> <font color="#a020f0">$DUPFILE</font>
<font color="#a52a2a"><b>fi</b></font>
<font color="#a52a2a"><b>echo</b></font><font color="#ff00ff"> </font><font color="#a52a2a"><b>&quot;</b></font><font color="#ff00ff">Terminato.</font><font color="#a52a2a"><b>&quot;</b></font>
</pre>
<p></code><br />
basta lanciarlo specificando la cartella da dove iniziare le ricerche, ad esempio:<br />
<code>./filesDuplicati.sh /media/sda1/Multimedia/Foto/</code><br />
per cercare i files duplicati contenuti nel mio HD USB esterno&#8230; ottenendo un output come questo:<br />
<code>Ricerca in corso su /media/sda1/Multimedia/Foto/ ...<br />
Analisi files&#8230;<br />
Errore /media/sda1/Multimedia/Foto/test/pippo.jpg uguale a &#8216;/media/sda1/Multimedia/Foto/test2/P1010244.JPG&#8217; ( JPEG image data, EXIF standard 2.2 )<br />
Errore /media/sda1/Multimedia/Foto/test/pippo paperio.jpg uguale a &#8216;/media/sda1/Multimedia/test2/Enrico/P1010244.JPG&#8217; ( JPEG image data, EXIF standard 2.2 )<br />
File con i duplicati: /tmp/filepIPI5p<br />
Terminato.<br />
</code><br />
Buona ricarca! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=96&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/07/04/come-ti-trovo-i-files-duplicati/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/07/cerca.png" medium="image" />
	</item>
		<item>
		<title>Il terminale e le scorciatorie da tastiera</title>
		<link>http://paper0k.wordpress.com/2007/06/18/il-terminale-e-le-scorciatorie-da-tastiera/</link>
		<comments>http://paper0k.wordpress.com/2007/06/18/il-terminale-e-le-scorciatorie-da-tastiera/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 06:39:05 +0000</pubDate>
		<dc:creator>paper0k</dc:creator>
		
		<category><![CDATA[BASH]]></category>

		<category><![CDATA[Pillole di Tux]]></category>

		<guid isPermaLink="false">http://paper0k.wordpress.com/2007/06/18/il-terminale-e-le-scorciatorie-da-tastiera/</guid>
		<description><![CDATA[Possibile? Ceeeeeerto!  

E&#8217; possibile personalizzando il comportamento della libreria readline, utilizzata di default da bash e da molte applicazioni dal terminale

Per prima cosa, creiamoci il nostro file di configurazione
cp /etc/inputrc .inputrc
quindi usando gedit o l&#8217;editor che preferite
gedit .inputrc
andiamo ad aggiungere alla fine queste righe:
"\C-k\C-u": "sudo apt-get update &#38;&#38; sudo apt-get upgrade\r"
quindi salviamo ed apriamo [...]]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Possibile? Ceeeeeerto! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p align="center"><img src='http://paper0k.files.wordpress.com/2007/06/terminale-shortcut.png' /></p>
<p>E&#8217; possibile personalizzando il comportamento della libreria readline, utilizzata di default da bash e da molte applicazioni dal terminale<br />
<span id="more-93"></span><br />
Per prima cosa, creiamoci il nostro file di configurazione<br />
<code>cp /etc/inputrc .inputrc</code><br />
quindi usando gedit o l&#8217;editor che preferite<br />
<code>gedit .inputrc</code><br />
andiamo ad aggiungere alla fine queste righe:<br />
<code>"\C-k\C-u": "sudo apt-get update &amp;&amp; sudo apt-get upgrade\r"</code><br />
quindi salviamo ed apriamo un nuovo terminale&#8230; tenendo premuto il tasto Control, premiamo <strong>k</strong> e quindi <strong>u</strong>&#8230; cosa accade? Abbiamo evitato di dover scrivere &#8220;sudo apt-get update &amp;&amp; sudo apt-get upgrade&#8221; a terminale, ha fatto tutto lui per noi!!! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Con <strong>\C</strong> viene indicato il tasto Control seguito dalla lettera che vogliamo usare, mentre con <strong>\r</strong> alla fine che deve essere premuto INVIO&#8230;<br />
Questa è una base ovviamente, e molto è possibile fare/personalizzare, quindi, buon divertimento! <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/paper0k.wordpress.com/93/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/paper0k.wordpress.com/93/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/paper0k.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/paper0k.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/paper0k.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/paper0k.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/paper0k.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/paper0k.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/paper0k.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/paper0k.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/paper0k.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/paper0k.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=paper0k.wordpress.com&blog=590204&post=93&subd=paper0k&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://paper0k.wordpress.com/2007/06/18/il-terminale-e-le-scorciatorie-da-tastiera/feed/</wfw:commentRss>
	
		<media:content url="http://a.wordpress.com/avatar/paper0k-128.jpg" medium="image">
			<media:title type="html">paper0k</media:title>
		</media:content>

		<media:content url="http://paper0k.files.wordpress.com/2007/06/terminale-shortcut.png" medium="image" />
	</item>
	</channel>
</rss>