<?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:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>build-essential</title>
	<atom:link href="http://pauloneves.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://pauloneves.wordpress.com</link>
	<description>Desenvolvimento, admin, curiosidades</description>
	<lastBuildDate>Mon, 21 Mar 2011 11:22:27 +0000</lastBuildDate>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='pauloneves.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>build-essential</title>
		<link>http://pauloneves.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://pauloneves.wordpress.com/osd.xml" title="build-essential" />
	<atom:link rel='hub' href='http://pauloneves.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Postando código fonte no wordpress</title>
		<link>http://pauloneves.wordpress.com/2011/03/21/postando-codigo-fonte-no-wordpress/</link>
		<comments>http://pauloneves.wordpress.com/2011/03/21/postando-codigo-fonte-no-wordpress/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 11:22:22 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/?p=50</guid>
		<description><![CDATA[É possivel postar e formatar código fonte no wordpress para tal pode-se seguir: Posting Source Code &#8211; Suporte WordPress ou em português: Postando Código fonte no WordPress.com<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=50&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>É possivel postar e formatar código fonte no wordpress para tal pode-se seguir:</p>
<h2><a title="Posting Source Code" href="http://en.support.wordpress.com/code/posting-source-code/">Posting Source Code &#8211; Suporte WordPress</a></h2>
<p>ou em português:</p>
<h2><a title="Link Permanente para Postando Código fonte no WordPress.com" rel="bookmark" href="http://barenko.wordpress.com/2010/01/14/postando-codigo-fonte-no-wordpress-com/">Postando Código fonte no WordPress.com</a></h2>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=50&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2011/03/21/postando-codigo-fonte-no-wordpress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>
	</item>
		<item>
		<title>JasperReports &#8211; Exportar para HTML</title>
		<link>http://pauloneves.wordpress.com/2011/03/21/jasperreports-exportar-para-html/</link>
		<comments>http://pauloneves.wordpress.com/2011/03/21/jasperreports-exportar-para-html/#comments</comments>
		<pubDate>Mon, 21 Mar 2011 11:18:19 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/?p=37</guid>
		<description><![CDATA[É necessário também mapear o servlet ImageServlet que vem com o JasperReports, no web.xml: O servlet renderiza os espaços em branco através de imagens.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=37&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><pre class="brush: java;">

package br.com.jm.ss2.servlet;

 import java.io.File;
 import java.io.IOException;
 import java.io.PrintWriter;
 import java.sql.Connection;
 import java.util.HashMap;

 import javax.persistence.EntityManager;
 import javax.persistence.EntityManagerFactory;
 import javax.persistence.Persistence;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;

 import net.sf.jasperreports.engine.JRException;
 import net.sf.jasperreports.engine.JRExporterParameter;
 import net.sf.jasperreports.engine.JasperFillManager;
 import net.sf.jasperreports.engine.JasperPrint;
 import net.sf.jasperreports.engine.JasperReport;
 import net.sf.jasperreports.engine.export.JRHtmlExporter;
 import net.sf.jasperreports.engine.export.JRHtmlExporterParameter;
 import net.sf.jasperreports.engine.util.JRLoader;
 import net.sf.jasperreports.j2ee.servlets.ImageServlet;

 public class GeraRelatorioEmHTML extends HttpServlet {

 private final static long serialVersionUID = 1L;

 @SuppressWarnings(&quot;unchecked&quot;)
 protected void doGet(HttpServletRequest request,
 HttpServletResponse response) throws ServletException, IOException {

 String nomeDoRelatorio = request.getParameter(&quot;nomeRelatorio&quot;);
 //List lista = (List) request.getAttribute(&quot;lista&quot;);
 HashMap&lt;String, String&gt; parametros = (HashMap&lt;String, String&gt;) request
 .getAttribute(&quot;parametros&quot;);

 ServletContext context = this.getServletContext();

 String nomeDoArquivoCompilado = context.getRealPath(nomeDoRelatorio);
 File arquivo = new File(nomeDoArquivoCompilado);
 PrintWriter printWriter = response.getWriter();

 try {
 JasperReport relatorioCompilado = (JasperReport) JRLoader
 .loadObject(arquivo);

 //JRBeanCollectionDataSource ds = new JRBeanCollectionDataSource(
 //      lista);

 IRelatorios rel = new RelatoriosDao();
 Connection con = rel.getConnection();

 JasperPrint relatorioFinal = JasperFillManager.fillReport(
 relatorioCompilado, parametros, con);

 JRHtmlExporter htmlExporter = new JRHtmlExporter();

 response.setContentType(&quot;text/html&quot;);

 response.setCharacterEncoding(&quot;ISO-8859-1&quot;);

 request.getSession().setAttribute(
 ImageServlet.DEFAULT_JASPER_PRINT_SESSION_ATTRIBUTE,
 relatorioFinal);
 htmlExporter.setParameter(JRExporterParameter.JASPER_PRINT,
 relatorioFinal);
 htmlExporter.setParameter(JRExporterParameter.OUTPUT_WRITER,
 printWriter);
 htmlExporter.setParameter(JRExporterParameter.CHARACTER_ENCODING,
 &quot;ISO-8859-1&quot;);
 /*
 * aqui é mapeado para o servlet do JasperReport, para que ao gerar o
 * html não renderize as imagens em branco, pois os espaços em branco,
 * são imagens em branco que ele adiciona!
 * Basta adicionar no web.xml a chamada ao servlet que existe no pacote:
 *
 &lt;servlet&gt;
 &lt;servlet-name&gt;ImageServlet&lt;/servlet-name&gt;
 &lt;servlet-class&gt;net.sf.jasperreports.j2ee.servlets.ImageServlet&lt;/servlet-class&gt;
 &lt;/servlet&gt;

 &lt;servlet-mapping&gt;
 &lt;servlet-name&gt;ImageServlet&lt;/servlet-name&gt;
 &lt;url-pattern&gt;/image.servlet&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
 *
 */
 htmlExporter.setParameter(JRHtmlExporterParameter.IMAGES_URI,
 request.getContextPath() + &quot;/image.servlet?image=&quot;);
 htmlExporter.exportReport();
 // printWriter.println(&quot;Passou por aqui&quot;);
 } catch (JRException e) {
 e.printStackTrace(printWriter);
 }
 }
 }

</pre></p>
<p>É necessário também mapear o servlet ImageServlet que vem com o JasperReports, no web.xml:<br />
<pre class="brush: xml;">&lt;/pre&gt;
&lt;servlet&gt;
&lt;servlet-name&gt;ImageServlet&lt;/servlet-name&gt;
 &lt;servlet-class&gt;net.sf.jasperreports.j2ee.servlets.ImageServlet&lt;/servlet-class&gt;
 &lt;/servlet&gt;
 &lt;servlet-mapping&gt;
 &lt;servlet-name&gt;ImageServlet&lt;/servlet-name&gt;
 &lt;url-pattern&gt;/image.servlet&lt;/url-pattern&gt;
 &lt;/servlet-mapping&gt;
&lt;pre&gt;</pre></p>
<p> O servlet renderiza os espaços em branco através de imagens.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/37/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/37/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/37/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=37&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2011/03/21/jasperreports-exportar-para-html/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>
	</item>
		<item>
		<title>Recuperando o Grub</title>
		<link>http://pauloneves.wordpress.com/2008/09/08/recuperando-o-grub/</link>
		<comments>http://pauloneves.wordpress.com/2008/09/08/recuperando-o-grub/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 16:14:07 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[grub]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/?p=30</guid>
		<description><![CDATA[Usando o parâmetro –root-directory, onde você indica a raíz do sistema operacional a ser recuperado: # mount /dev/hda2 /media/root # /sbin/grub-install /dev/hda –root-directory=/media/root<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=30&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Usando o parâmetro –root-directory, onde você indica a raíz do sistema operacional a ser recuperado:<br />
# mount /dev/hda2 /media/root<br />
# /sbin/grub-install /dev/hda –root-directory=/media/root</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=30&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/09/08/recuperando-o-grub/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>
	</item>
		<item>
		<title>VirtualBox utilizando “Interface do Hospedeiro”</title>
		<link>http://pauloneves.wordpress.com/2008/02/11/virtualbox-utilizando-%e2%80%9cinterface-do-hospedeiro%e2%80%9d/</link>
		<comments>http://pauloneves.wordpress.com/2008/02/11/virtualbox-utilizando-%e2%80%9cinterface-do-hospedeiro%e2%80%9d/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 12:31:24 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/?p=29</guid>
		<description><![CDATA[Desde que comecei a utilizar o VirtualBox como solução doméstica para virtualização tenho tentado fazer minhas máquinas virtuais se comunicarem com os demais computadores da rede, até hoje não tinha tido sucesso. Sempre tentei fazer a coisa da maneira mais difícil possível. Tentando sem ler documentação não consegui chegar nem perto da solução desejada. Ontem [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=29&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p> <img src="http://www.ubuntero.com.br/wp-content/uploads/2008/02/logo_vbox.png" alt="logo_vbox.png" align="left" />Desde que comecei a utilizar o VirtualBox como solução doméstica para virtualização tenho tentado fazer minhas máquinas virtuais se comunicarem com os demais computadores da rede, até hoje não tinha tido sucesso. Sempre tentei fazer a coisa da maneira mais difícil possível. Tentando sem ler documentação não consegui chegar nem perto da solução desejada. Ontem em uma inspirada madrugada resolvi ler a documantação do VirtualBox e lá estava um capítulo explicando como fazer isto no Ubuntu e outras distribuições Linux.</p>
<p>Vamos aos passos para fazer tudo funcionar.</p>
<p>A primeira coisa a fazer é instalar o pacote bridge-utils</p>
<ul>   $ sudo apt-get install bridge-utils</ul>
<p>Depois você deve adicionar uma entrada no arquivo /etc/networdk/interfaces que descreva a “ponte”. Abaixo um exemplo de uma ponte chamada br0.</p>
<ul> auto br0<br />
iface br0 inet dhcp<br />
bridge_ports eth0</ul>
<p>No exemplo temos uma rede com endereçamento IP dinâmico mas nada impede que você defina um endereço IP fixo.</p>
<p>Reinicie os serviços de rede com o seguinte comando:</p>
<ul>   $ sudo /etc/init.d/networking restart</ul>
<p>Com isso a ponte será iniciada mesmo reiniciando o sistema.</p>
<p>Agora siga os seguintes passos que são específicos para sistemas Ubuntu e Debian:</p>
<ul>   $ sudo apt-get install uml-utilities</ul>
<p>Para que o VirtualBox tenha acesso a interface, o usuário que rodará a máquina virtual deve ser adicionado ao grupo uml-net. Execute o comando abaixo substituindo  pelo usuário que executará a máquina virtual:</p>
<ul>   $ sudo gpasswd -a &lt;user&gt; uml-net</ul>
<p>Será necessário logar novamente para que as permissões sejam aplicadas.</p>
<p>Agora você deve descrever uma entrada TAP no arquivo /etc/network/interfaces como abaixo:</p>
<ul> auto tap0<br />
iface tap0 inet manual<br />
up ifconfig $IFACE 0.0.0.0 up<br />
down ifconfig $IFACE down<br />
tunctl_user &lt;user&gt;</ul>
<p>Novamente substitua  pelo usuário que executará a máquina virtual. Altere também a linha onde está escrito “bridge_ports eth0″ para que fique “bridge_ports eth0 tap0″ sem as aspas.</p>
<p>Reinicie os serviços de rede e a mágica estará feita.</p>
<p>Como esta empreitada foi realizada durante a madrugada, podem haver algumas falhas neste tutorial. Não exite em reportar meus esquecimentos nos comentários.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=29&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/02/11/virtualbox-utilizando-%e2%80%9cinterface-do-hospedeiro%e2%80%9d/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>

		<media:content url="http://www.ubuntero.com.br/wp-content/uploads/2008/02/logo_vbox.png" medium="image">
			<media:title type="html">logo_vbox.png</media:title>
		</media:content>
	</item>
		<item>
		<title>Virtualbox</title>
		<link>http://pauloneves.wordpress.com/2008/02/11/virtualbox/</link>
		<comments>http://pauloneves.wordpress.com/2008/02/11/virtualbox/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 11:43:15 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/02/11/virtualbox/</guid>
		<description><![CDATA[Creio que muitos aqui já conheçam o excelente software de virtualização VirtualBox. O que muitos desconhecem é o poder que ele tem. Poder que vai muito além do que vemos em sua interface gráfica. Este software contém poderosos utilitários que podem ser utilizados via linha-de-comando, ou até nos seus programas em shell-script. Neste artigo serão [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=28&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Creio que muitos aqui já conheçam o excelente software de virtualização <a href="http://www.virtualbox.org/">VirtualBox</a>.<br />
O que muitos desconhecem é o poder que ele tem. Poder que vai muito além do que vemos em sua interface gráfica.<br />
Este software contém poderosos utilitários que podem ser utilizados via linha-de-comando, ou até nos seus programas em shell-script.<br />
Neste artigo serão abordados os dois principais:<br />
- <b>VBoxManage</b>, que tem por função o gerenciamento das máquinas virtuais, bem como discos e imagens virtuais.<br />
- <b>VBoxSDL</b>, que é uma interface simples para a execução das máquinas Virtuais, mas que não necessita da biblioteca Qt.</p>
<p>Antes de começar, tenha a certeza de já ter o VirtualBox devidamente instalado. Não vou abordar aqui este processo, mas você certamente encontrará vários tutoriais na Internet.</p>
<p>E, antes de começar, dou uma mini-dica para você não ficar com dor-de-cabeça quando atualizar o kernel e perceber que o VirtualBox não funciona mais.</p>
<p>Isto acontece porque para funcionar, o VirtualBox necessita que um módulo especial, chamado vboxdrv. Mas normalmente este módulo não é automaticamente atualizado quando instalamos um novo kernel. Isto não é necessariamente um problema, já que é muito fácil compilar e instalar este módulo. Para isso, tenha a certeza de ter os programas de desenvolvimento (compiladores, etc) corretamente instalados, além do código-fonte da versão do kernel <a href="http://www.linux.org/">Linux</a> que você utiliza também instalados.</p>
<p>Estando satisfeitos estes requerimentos, execute:</p>
<address># /etc/rc.d/rc.vboxdrv setup</address>
<p>Espere uns instantes até que o módulo seja instalado, e corra pro abraço:</p>
<address># /etc/rc.d/rc.vboxdrv start</address>
<p>Lembrando que “/etc/rc.d/rc.vboxdrv” é o script de inicialização VirtualBox no <a href="http://www.slackware.org/">Slackware</a>. Em outras distros, como <a href="http://www.debian.org/">Debian</a> e <a href="http://fedoraproject.org/">Fedora</a>, este script normalmente se chama “/etc/init.d/vboxdrv”. A sintaxe é a mesma.</p>
<p>Também faremos algumas convenções:<br />
Quando um comando inicia com um cifrão ($), significa que o comando pode ser executado como usuário comum. Quando iniciar com um jogo-da-velha (#) &#8211; eu chamo de jogo-da-velha, e daí? <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  -, significa que deve ser executado como root.<br />
Também digo desde já que, para que os comandos sejam executados é necessário que você esteja no diretório onde está instalado o VirtualBox. No meu caso, o diretório em questão é o /usr/lib/virtualbox. É perfeitamente contornar isto (alguns links simbólicos aqui e acolá), mas isto foge do escopo deste tutorial.<br />
Além disso, você deve incluir este diretório na variável de ambiente LD_LIBRARY_PATH:</p>
<address>$ cd /usr/lib/virtualbox</address>
<address>$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/virtualbox/</address>
<p>Outro dia eu explico para que serve esta variável e como utilizá-la.</p>
<p>Feito isto, vamos começar logo o tutorial:</p>
<h3>Criando, modificando e Iniciando</h3>
<p>Para criar uma Máquina Virtual com o nome <a href="http://www.ubuntu.com/">Ubuntu</a> 7.10 Gusty, tecle:</p>
<address>$ ./VBoxManage createvm -name “Ubuntu 7.10 Gusty” -register</address>
<p>E serão ecoados na tela algumas informações sobre a máquina criada.</p>
<p>VirtualBox Command Line Management Interface Version 1.5.4_OSE<br />
(C) 2005-2007 innotek GmbH<br />
All rights reserved.</p>
<p>Virtual machine ‘Ubuntu 7.10 Gusty’ is created and registered.<br />
UUID: 35362bb9-19ef-4ee5-8daf-256cff87146a<br />
Settings file: ‘/home/tenchi/.VirtualBox/Machines/Ubuntu 7.10 Gusty/Ubuntu 7.10 Gusty.xml’</p>
<p>As informações úteis aqui serão o nome da máquina virtual, uma identificação única, por meio de uma sentença composta por números e letras, além do arquivo de configuração da máquina virtual. Sendo um arquivo XML, pode ser modificado manualmente pelo usuário.</p>
<p>A sintaxe deste comando é simples. O parâmetro ‘-name’ serve para você especificar o nome da máquina virtual e o parâmetro ‘-register’ para registrar a máquina virtual nas configurações do VirtualBox.</p>
<p>Mas esta máquina é muito “crua”. Não dizemos para o VirtualBox qual sistema operacional será hospedado na máquina virtual, nem a quantidade de memória ou discos utilizados.</p>
<p>Por isso vamos criar um disco que será utilizado pela máquina:</p>
<address>$ ./VBoxManage createvdi -filename “Disco do Ubuntu” -size 5000 -register</address>
<p>Com este comando, criamos um disco com o nome (-filename) Disco do Ubuntu, tamanho (<i>-size</i>) de 5000MB (~5GB) e o registramos (<i>-register</i>) nas configurações do VirtualBox.</p>
<p>Vamos também registrar uma imagem ISO de CDROM/DVDROM para iniciarmos a máquina virtual.</p>
<address>$ ./VBoxManage registerimage dvd /imagens/Imagem-do-Ubuntu.iso</address>
<p>Com este comando estamos dizendo que estamos registrando uma imagem de DVD (<i>dvd</i>) e, e indicamos o caminho do arquivo da imagem.</p>
<p>Como já temos uma imagem de CDROM e um disco virtual, vamos configurar a máquina virtual.<br />
Precisaremos definir alguns recursos que serão utilizados pelo hospedeiro:<br />
Memória que iremos utilizar: <b>300MB</b>.<br />
Memória de vídeo: <b>8MB</b><br />
Utilizar dispositivos USB nos hospedeiro: <b>Sim</b><br />
Ativar o dispositivo de som no hospedeiro: <b>Sim</b></p>
<p>Precisaremos também da identificação dos discos. Para isso, utilizaremos o comando ‘VBoxManage list’:</p>
<address>$ ./VBoxManage list dvds</address>
<p>VirtualBox Command Line Management Interface Version 1.5.4_OSE<br />
(C) 2005-2007 innotek GmbH<br />
All rights reserved.</p>
<p>UUID:       a8279467-0fa2-4bb8-d6ab-f51706e0c5d4<br />
Path:     /imagens/Imagem-do-Ubuntu.iso<br />
Accessible: yes</p>
<address>$ ./VBoxManage list hdds</address>
<p>VirtualBox Command Line Management Interface Version 1.5.4_OSE<br />
(C) 2005-2007 innotek GmbH<br />
All rights reserved.</p>
<p>UUID:         ca9a8150-8971-4526-deaf-fd84db389fe8<br />
Storage type: Virtual Disk Image<br />
Path:         /home/tenchi/.VirtualBox/VDI/Disco do Ubuntu<br />
Accessible:   yes</p>
<p>Com isso, teremos a identificação da imagem do Ubuntu e do disco.</p>
<p>Assim, finalmente executamos:</p>
<address>$ ./VBoxManage modifyvm “Ubuntu 7.10 Gusty” -memory 300 -vram 8 -hda ca9a8150-8971-4526-deaf-fd84db389fe8 -dvd a8279467-0fa2-4bb8-d6ab-f51706e0c5d4 -boot1 dvd -usb on -audio alsa -ostype linux26</address>
<p>Agora vamos destrinchar cada “palavrinha” deste comando:<br />
* <b>modifyvm</b> é o comando para que indica que queremos modificar a máquina virtual. Seguido dele vem o nome ou o <i>UUID</i> da máquina virtual que está sendo modificada.<br />
* <b>-memory</b> define a quantidade de memória dedicada à máquina. A unidade utilizada é o megabyte.<br />
* <b>-vram</b> define a quantidade de memória de vídeo dedicada à máquina. A unidade utilizada é o megabyte.<br />
* <b>-hda</b> define qual vai ser o disco utilizado como HD principal. Você pode utilizar como argumento o UUID do dispositivo ou o nome do arquivo. No exemplo foi utilizado o UUID. O mesmo vale para ‘-hdb’, se desejar utilizar uma imagem como disco secundário.<br />
* <b>-dvd</b> define qual imagem será utilizada como HD principal<br />
* <b>-usb</b> define se utilizaremos (<i>on</i>) ou não (<i>off)</i> dispositivos usb no sistema hospedado<br />
* <b>-audio</b> define qual será o método utilizado para executarmos áudio no sistema hospedado. As possíveis opções são alsa, null, oss ou none.<br />
* <b>-ostype</b> define qual sistema operacional irá rodar na máquina virtual. Para saber as possíveis opções, execute “./VBoxManage list ostypes”. No exemplo foi utilizado linux26, que significa linux-2.6.<br />
* <b>-boot1</b> diz qual será o primeiro dispositivo na ordem de boot. O mesmo vale para o segundo, que seria <b>-boot2</b>, e assim sucessivamente. As possíveis opções são: <b>none floppy dvd disk ne</b>t.</p>
<p>Com a máquina virtual configurada, podemos utiliza-la sem problema. Vamos inicialmente iniciá-la:</p>
<address>$ ./VBoxManage startvm “35362bb9-19ef-4ee5-8daf-256cff87146a” -type gui</address>
<p>Vamos esmiuçar de novo o comando:<br />
* <b>startvm</b> é o comando para iniciar uma máquina virtual. Ele vem seguido do nome ou UUID da máquina em questão<br />
* <b>-type</b> define como será executada a máquina. As possíveis opções são: <i>gui</i> e<i> vrdp</i>. Com a opção gui, a máquina visualmente será executada numa janela, como a que estamos acostumados no VirtualBox, com menus e necessitando da biblioteca Qt3. Já com a opção vrdp, ela será executada “em plano-de-fundo”, não sendo exibida nenhuma janela. Desta forma a máquina pode ser acessada remotamente numa rede. Deixo claro que eu ainda não testei este método, portanto não posso dizer ao certo qual é o comportamento do sistema nesta condição.</p>
<p>Estes não são todos os recursos do VirtualBox, mas somente o suficiente para colocar uma máquina virtual para funcionar. Ainda pretendo abordar, quem sabe num outro texto, neste mesmo batpost, neste mesmo batblog, mais alguns recursos, como configurar a rede e controlar a máquina virtual.</p>
<p>Mas isto não significa que este texto pare por aqui. Não senhor (ou senhora <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).</p>
<h3>Compartilhando arquivos</h3>
<p>É perfeitamente possível acessar, da máquina virtual, arquivos do hospedeiro. Este processo não é lá muito simples &#8211; utilizei dois bonequinhos de vudu e meio -, mas no final do processo ninguém chega a sair ferido <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>A única coisa que precisaremos é instalar um módulo especial na máquina virtual, para que ela enxergue uma ou mais pastas configuradas no hospedeiro como compartilháveis.</p>
<p>Vamos começar neste ponto: definir as pastas compartilháveis.</p>
<p>Para isso, vamos ao comando:</p>
<address>$ ./VBoxManage sharedfolder add “Ubuntu 7.10 Gusty” -name “Pasta HTDOCS” -hostpath /var/www/htdocs/</address>
<p>* <b>sharedfolder</b> indica a configuração de pastas compartilhadas<br />
* <b>add</b> indica que estamos adicionando uma pasta<br />
* <i>Ubuntu 7.10 Gusty</i> é o nome da máquina virtual<br />
* <b>-name</b> é como a pasta em questão será reconhecido na máquina virtual, como um volume próprio<br />
* <b>-hostpath</b> define a pasta que será compartilhada, na máquina real</p>
<p>Para remover uma pasta compartilhada,</p>
<address>$ ./VBoxManage sharedfolder remove “Ubuntu 7.10 Gusty” -name “Pasta HTDOCS”</address>
<p>Acho que não é preciso explicar como funciona o comando <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Feito isto, inicializaremos a máquina virtual. Mas vou fazer algo diferente aqui. É que para que o módulo poder ser instalado no sistema da máquina virtual, é necessário que você tenha o código-fonte do kernel (linux) instalado no sistema virtual. Como atualmente eu estou com uma relativa preguiça para instalá-lo no Ubuntu, utilizarei uma máquina virtual com o Slackware 12.0 já pronto para o processo.</p>
<p>Também precisaremos da imagem ISO com os utilitários do VirtualBox para a máquina Virtual, que normalmente faz parte do pacote do VirtualBox, mas pode ser obtido separadamente no link:</p>
<p><a href="http://www.virtualbox.org/download/1.5.4/VBoxGuestAdditions_1.5.4.iso">http://www.virtualbox.org/download/1.5.4/VBoxGuestAdditions_1.5.4.iso</a></p>
<p>No meu caso, ele está no arquivo /usr/lib/virtualbox/VBoxGuestAdditions.iso. Verifique na sua distro onde está este arquivo. Feito isto, iremos registrar esta imagem nas configurações do VirtualBox:</p>
<address>$ ./VBoxManage registerimage  dvd /usr/lib/virtualbox/VBoxGuestAdditions.iso</address>
<p>É possível que você receba uma mensagem de erros justamente pela imagem já estar registrada no VirtualBox. Ignore.</p>
<p>Modificaremos a máquina Virtual para utilizar a imagem acima como CDROM:</p>
<address>$ ./VBoxManage modifyvm Slackware-Test -dvd  58e8fa4f-b93a-4a85-f2b5-c199ec035f3e -memory 64</address>
<p>Onde 58e8fa4f-b93a-4a85-f2b5-c199ec035f3e é a UUID da imagem, e Slackware-Test é a máquina onde o Slackware já está instalado, e ‘-m 64′ é para eu utilizar somente 64MB de memória na máquina Virtual, o que é o suficiente para o Slackware rodar bem.</p>
<p>Iniciando…</p>
<address>$ ./VBoxManage startvm Slackware-Test -type gui</address>
<p>Já dentro da máquina Virtual, monte a imagem:</p>
<address># mount /dev/cdrom /mnt/cdrom -t iso9660</address>
<p>Em seguida, execute o arquivo /mnt/cdrom/VBoxLinuxAdditions.run:</p>
<address># /mnt/cdrom/VBoxLinuxAdditions.run</address>
<address> </address>
<address> </address>
<div style="text-align:center;"><a href="http://farm3.static.flickr.com/2017/2253163041_b3f73c0c3c_o.jpg" title="VBox Build Module por Leandro Santiago, no Flickr"><img src="http://farm3.static.flickr.com/2017/2253163041_b3f73c0c3c_o.jpg" alt="VBox Build Module" height="435" width="544" /></a></div>
<p>Se tudo ocorrer bem, reinicie a máquina virtual:</p>
<address># reboot</address>
<p>Nesta máquina eu coloquei a pasta <i>/home/</i> do hospedeiro correspondente ao volume ‘<i>masaki</i>‘ da máquina virtual. Vamos agora montar esta imagem:</p>
<p>Na máquina virtual, execute…</p>
<address># modprobe vboxsf</address>
<p>… para carregar o módulo.</p>
<p>Para montar a pasta compatilhada:</p>
<address># mount masaki /mnt/masaki -t vboxsf</address>
<p>A partir deste ponto, todos os arquivos da pasta compartilhada estarão em /mnt/masaki</p>
<p>Mas todos sabemos que é bem chato ficar montando manualmente o volume a cada inicialização. Para contornar isto, podemos agir de duas formas: colocar os comandos acima num arquivo de inicialização, ou fazer do método tradicional, pelo arquivo /etc/fstab.</p>
<p>Confesso que a primeira maneira é meio “porca”, por isso utilizaremos a segunda.</p>
<p>Mas vejam que, se simplesmente adicionarmos uma linha no arquivo fstab, o volume não será montado, basicamente porque ele necessita de um módulo especial, que é carregado somente depois que o kernel monta os volumes definidos no arquivo fstab.</p>
<p>Para consertar isto, execute:</p>
<address># echo /sbin/modprobe vboxvfs &gt;&gt; /etc/rc.d/rc.modules</address>
<p>Depois abra para edição o arquivo /etc/rc.d/rc.S, e localize a linha (padrão no Slackware 12: 299)</p>
<address>/sbin/mount -a -v -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts</address>
<p>E deixe-a da seguinte forma:</p>
<address>/sbin/mount -a -t nonfs,nosmbfs,nocifs,noproc,nosysfs,nodevpts</address>
<p>Feito isto, vamos editar o arquivo /etc/fstab. Adicione a seguinte linha no arquivo:</p>
<address>masaki /mnt/masaki vboxsf rw,auto 0 0</address>
<p>Onde masaki é o nome do volume e /mnt/masaki é onde eu quero que ele seja montado; vboxsf é um sistema de arquivos próprio do virtualbox. Nas opções de montagem eu coloquei rw,auto, para que a partição funcione em modo leitura-escrita e seja montada durante o boot. Personalize estas opções a seu gosto.</p>
<p>Salve e feche o arquivo.</p>
<p>Pronto, agora reinicie a máquina virtual rezando para que o volume seja montado durante o boot <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Neste modo, as mudanças feitas na pasta compartilhada são aplicadas na pasta real. Num próximo texto explico como fazer para que tais mudanças sejam “esquecidas” depois que a máquina virtual for desligada (modo transiente). Também explicarei como utilizar um disco ou partição real numa máquina virtual.</p>
<p>E eu fiz o teste de compartilhamento somente utilizando Linux como hospedeiro e sistema virtualizado. Mais informações sobre como proceder em outros sistemas operacionais são encontrados na <a href="http://www.virtualbox.org/wiki/Documentation">documentação do Virtualbox</a>.</p>
<h3>Utilizando uma interface mais simples: VBoxSDL</h3>
<p>Como disse lá no início, a Interface em Qt não é obrigatória. Existe uma interface bem mais simples para o VirtualBox, chamada VBoxSDL. Você verá que ela lembra muito o QEMU, tanto no seu uso quanto na aparência.</p>
<p>Aqui serei breve.</p>
<p>Para iniciar uma máquina Virtual, utilize o comando:</p>
<address>$ ./VBoxSDL -vm Slackware-Test</address>
<p>Cito aqui os parâmetros mais comuns para este comando:<br />
<b> -vm</b> &lt;Nome ou UUID da Máquina&gt;, define qual máquina virtual inicializaremos<br />
<b> -fullscreen</b>, para iniciar em modo tela-cheia<br />
<b> -m</b> define a quantidade de memória a ser utilizada. Esta quantidade será utilizada somente durante esta execução da máquina virtual<br />
<b> -boot</b>, define o dispositivo inicialização. As possíveis opções são: ‘<i>a</i>‘, para disquete; ‘<i>c</i>‘, para HD; e ‘<i>d</i>‘, para CD-ROM/DVD-ROM.</p>
<div style="text-align:center;"><a href="http://farm3.static.flickr.com/2323/2253163037_6151f644ee_b.jpg" title="VBoxSDL por Leandro Santiago, no Flickr"><img src="http://farm3.static.flickr.com/2323/2253163037_6151f644ee_b.jpg" alt="VBoxSDL" height="419" width="669" /></a></div>
<p>Para mais informações, utilize o parâmetro <i>–help</i></p>
<h3>Conclusão</h3>
<p>Acredito que, depois do exposto, o VirtualBox passe a ser visto como uma solução profissional &#8211; e livre &#8211; para quem necessitar deste maravilhoso recurso chamado virtualização.<br />
O que este artigo abordou foi somente uma gota perto de todos os recursos que esta ferramenta nos apresenta. Mas deixo para um outro dia um maior aprofundamento destes recursos, em parte por este texto já ter ficado demasiado grande <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Observações: este texto demorou mais de uma semana para ser escrito. Aconselho vocês a não terem irmã(o)(s) chatos que te interrompam toda hora <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /><br />
Ele também foi feito à base de muita bolacha de água e sal com geléia de acerola (receita da minha mãe, outro dia posto) e <a href="http://www.lastfm.com.br/user/lordmasaki">ao som</a> de <a href="http://pt.wikipedia.org/wiki/Legi%C3%A3o_Urbana">Legião Urbana</a>, <a href="http://pt.wikipedia.org/wiki/Radiohead">Radiohead</a> e <a href="http://www.osseminovos.com.br/">Os Seminovos</a>!</p>
<h3>Referência</h3>
<p>Documentação do VirtualBox: <a href="http://www.virtualbox.org/wiki/Documentation">http://www.virtualbox.org/wiki/Documentation</a></p>
<p>E aqui também vai um link interessante sobre redes no VirtualBox:<br />
<a href="http://www.ubuntero.com.br/?p=450">http://www.ubuntero.com.br/?p=450</a></p>
<p>Até próxima!</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/28/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/28/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/28/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/28/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/28/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=28&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/02/11/virtualbox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2017/2253163041_b3f73c0c3c_o.jpg" medium="image">
			<media:title type="html">VBox Build Module</media:title>
		</media:content>

		<media:content url="http://farm3.static.flickr.com/2323/2253163037_6151f644ee_b.jpg" medium="image">
			<media:title type="html">VBoxSDL</media:title>
		</media:content>
	</item>
		<item>
		<title>Salvando a MBR &amp; Partition Table</title>
		<link>http://pauloneves.wordpress.com/2008/01/25/salvando-a-mbr-partition-table/</link>
		<comments>http://pauloneves.wordpress.com/2008/01/25/salvando-a-mbr-partition-table/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 11:05:17 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/01/25/salvando-a-mbr-partition-table/</guid>
		<description><![CDATA[September 3rd, 2007 by Joel Teixeira Recentemente publiquei esta matéria, onde explico uma maneira simples e eficaz de realizar backups e restores utilizando o programa Partimage. Apesar de extremamente prático, o partimage não oferece a opção de realizar um backup completo do disco, apenas de partições. Muitas vezes não é prático, nem muito esperto, realizar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=27&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3 class="entry-header"><a href="http://joelteixeira.net/archives/salvando-a-mbr-partition-table/" rel="bookmark"><br />
</a></h3>
<div class="entry-date"> September 3rd, 2007 by Joel Teixeira</div>
<div style="text-align:justify;"><a href="http://www.networks-by-design.com/img/hdd.gif"><img src="http://www.networks-by-design.com/img/hdd.gif" style="float:right;cursor:pointer;width:320px;margin:0 0 10px 10px;" border="0" /></a>Recentemente publiquei <a href="http://www.joelteixeira.net/2007/08/backup-com-partimage-e-slax-no-pendrive.html">esta matéria</a>, onde explico uma maneira simples e eficaz de realizar backups e restores utilizando o programa Partimage. Apesar de extremamente prático, o partimage não oferece a opção de realizar um backup completo do disco, apenas de partições.</div>
<div style="text-align:justify;">Muitas vezes não é prático, nem muito esperto, realizar backups de todo o seu disco. Se você seguiu meu conselho no post citado, lembra? aquele de separar dados e sistema… Então seus dados, incluindo a foto da tia Genoveva e todo aquele arsenal de músicas e vídeos estão em uma partição distinta, que não a do sistema. Logo, se você corrompeu de alguma forma seu sistema, para quê restaurar 60, 80, 120GB de dados quando seu sistema tem, digamos, apenas 10Gb?Você já tentou compactar uma Mp3 por exemplo? Você pode tentar, mas adivinha só… não dá. A razão é simples, a estrutura de dados dentro de uma Mp3 já é extremamente compacta. Você pode usar RAR, ZIP, 7z, BZ2 o que quiser, não dá mesmo. É simplesmente inútil, a redução no tamanho total é insignificante. Conclui-se então que a compactação oferecida pelo partimage apenas consumirá tempo no backup de arquivos deste tipo, tornando o processo de backup/restore destas partições algo enfadonho.Essa introdução foi apenas para enfatizar que você não deve esperar horas a fio pela finalização de um backup/restore full quando a única partição envolvida é a de sistema. Mas lembre-se que um backup full é importante, com uma frequência bem mais esporádica, mas importante.Nesta manhã, um amigo ligou-me com a seguinte situação: por alguma razão, ele instalou o Windows XP em uma das partições disponíveis que tinha em sua máquina que até então possuia instalado o Kurumin Linux. O problema é que o Windows normalmente não está nem aí para as opiniões do usuário e não perguntou se deveria ou não sobrescrever a MBR (Master Boot Record &#8211; os primeiros 512 bytes do disco &#8211; local onde normalmente ficam guardadas as informações de inicialização do(s) sistema(s) e simplesmente passou por cima da mesma arbitrariamente). O resultado foi que apesar do Kurumin estar lá no disco, em uma das partições, ele simplesmente perdeu a opção de ser inicializado. É claro que com algum trabalho isso pode ser revertido, mas aqui vai uma solução simples de como fazer backups e restores não apenas da MBR mas também da tabela de partições do disco.</p>
<p>Em alguns casos peculiares, de nada adianta ter apenas um backup da partição. Mas se você tem um backup da MBR, tabela de partições e lógico as próprias, pode-se dizer que você realmente você clonou o HD inteiro. Abaixo explico como salvar sua MBR e Tabela de Partições.</p>
<p><span style="font-weight:bold;">Este comando salvará aqueles primeiros 512 bytes onde fica instalado o gerenciador de boot. Acesse o diretório onde você deseja salvar a imagem da MBR e execute:</span></p>
<p><span style="font-family:courier new;">dd if=/dev/hda of=hda.mbr count=1 bs=512</span></p>
<p><span style="font-weight:bold;">Este segundo comando faz uma cópia da “partition table” do disco. Esta inforação contempla o inicío e fim de todas as partições do disco, logo se você restaurar este arquivo em um outro HD, ele ficará particionado exatamente como o original, lembrando que ele tem de ser do mesmo tamanho ou maior (ficando o espaço excedente disponível). </span></p>
<p><span style="font-family:courier new;">sfdisk -d /dev/hda &gt; hda.sf</span></p>
<p><span style="font-weight:bold;">Para restaurar os backups, na pasta onde estão salvos os arquivos, inverta os comando deixando-os assim:</span></p>
<p><span style="font-family:courier new;">dd if=hda.mbr of=/dev/hda</span></p>
<p><span style="font-family:courier new;">sfdisk –force /dev/hda &lt;&gt;</span></div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=27&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/01/25/salvando-a-mbr-partition-table/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>

		<media:content url="http://www.networks-by-design.com/img/hdd.gif" medium="image" />
	</item>
		<item>
		<title>Turbinando o Kubuntu 7.10 &#8211; Gutsy Gibbon</title>
		<link>http://pauloneves.wordpress.com/2008/01/25/turbinando-o-kubuntu-710-gutsy-gibbon/</link>
		<comments>http://pauloneves.wordpress.com/2008/01/25/turbinando-o-kubuntu-710-gutsy-gibbon/#comments</comments>
		<pubDate>Fri, 25 Jan 2008 11:00:59 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/01/25/turbinando-o-kubuntu-710-gutsy-gibbon/</guid>
		<description><![CDATA[October 18th, 2007 by Joel Teixeira Vou explicar aqui os passos a serem seguidos pós instalação para que você transforme o seu franzino Kubuntu 7.10 post install em um “Mister Muscle Exterminator Penguin Mega Play ALL Universo Transcendental” =) adicionando os recursos abaixo: Java Flash Streaming Reproduzir arquivos Mp3 Reproduzir DVD’s Reproduzir arquivos Quicktime e [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=26&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h3 class="entry-header"><a href="http://joelteixeira.net/archives/turbinando-o-kubuntu-710-gutsy-gibbon/" rel="bookmark"><br />
</a></h3>
<div class="entry-date"> October 18th, 2007 by Joel Teixeira</div>
<p align="justify">Vou explicar aqui os passos a serem seguidos pós instalação para que você transforme o seu franzino Kubuntu 7.10 post install em um “Mister Muscle Exterminator Penguin Mega Play ALL Universo Transcendental” =) adicionando os recursos abaixo:</p>
<ul>
<li> Java</li>
<li>Flash</li>
<li>Streaming</li>
<li>Reproduzir arquivos Mp3</li>
<li>Reproduzir DVD’s</li>
<li>Reproduzir arquivos Quicktime e RealVideo</li>
<li>Converter arquivos de áudio para outros formatos</li>
<li>Ripar CD’s de áudio</li>
<li>Ripar DVD’s</li>
<li>Fontes populares do MS Windows</li>
<li>Suporte a 3D para placas ATI / NVidia</li>
<li>Wireless para placas Broadcom 43xx (bem populares em notes)</li>
</ul>
<p><b>1 &#8211; Introdução:</b></p>
<p align="justify">Não é de hoje que a maioria absoluta das distribuições de renome internacional deixam de oferecer suporte nativo a determinados tipos de arquivo. A razão? Basicamente para evitar problemas com patentes. Exemplos de distribuições que seguem esta linha: [*]Ubuntu, Suse, Red Hat, Fedora entre tantos outros.</p>
<p><b>2 &#8211; Preliminares!</b></p>
<p>2.1- Descomentando o Sources.list</p>
<p align="justify">           O fundamental no início, é editar o arquivo “<font color="#ff6600">/etc/apt/sources.list</font>” e remover as tralhas “<font color="#ff6600">#</font>” do início de algumas linhas neste arquivo. Quando este símbolo está no começo da linha, o sistema entende que é um comentário e simplesmente ignora, note que as que tem que ser removidas são as tralhas seguidas por “<font color="#ff6600">deb http…</font>” quando for realmente um comentário deixe ela sussegada. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Para editar o arquivo execute em uma janela de terminal o comando “<font color="#ff6600">sudo nano /etc/apt/sources.list</font>“.</p>
<p>    2.2 &#8211; Atualizando a Base de Dados do APT</p>
<p align="justify"> Agora que você descomentou as linhas, é necessário atualizar a base de dados do APT para que os novos pacotes fiquem disponíveis. Simplesmente execute “<font color="#ff6600">sudo apt-get update</font>“.</p>
<p><b>3 &#8211; Fazendo a roda girar…</b></p>
<p>3.1 &#8211; Adicione o pacote “<font color="#ff6600">kubuntu-restricted-extras</font>”</p>
<p align="justify"> Essa é uma boa novidade do Gutsy, ele já adiciona várias pacotes diferentes neste “meta-pacote” facilitando a vida do usuário que não terá de instalar uma a uma. Este “meta” adiciona suporte a Mp3 (reprodução e deconding), Java, Flash, Reprodução de DVD’s (não encriptados) e LAME (ripper de Mp3). Cerifique-se em seguida que o pacote “<font color="#ff6600">libxine1-ffmpeg</font>” está instalado, ele é essencial para a reprodução de arquivos Mp3 no Amarok.</p>
<p>    3.2 &#8211;  Codecs Diversos e DVD’s encriptados</p>
<p align="justify"> Neste passo será necessário adicionar o repositório Medibuntu, é um procedimento extremamente simples. Execute em uma janela de terminal o seguinte comando “<font color="#ff6600">sudo wget http://www.medibuntu.org/sources.list.d/gutsy.list -O /etc/apt/sources.list.d/medibuntu.list</font>” e em seguida este comando para importar a chave do repositório e atualizar o sources.list “<font color="#ff6600">wget -q http://packages.medibuntu.org/medibuntu-key.gpg -O- | sudo apt-key add &#8211; &amp;&amp; sudo apt-get update</font>“.</p>
<p align="justify">            Para suporte a DVD’s encriptados, instale o pacote libdvdcss2 com o comando “<font color="#ff6600">sudo apt-get install libdvdcss2</font>” e para ter acesso a reprodução de inúmeros codecs e formatos de audio e vídeo instale o w32codecs, agora com o comando “<font color="#ff6600">sudo apt-get install w32codecs</font>“.</p>
<p>    3.3 &#8211; Ripando DVD’s no Linux</p>
<p align="justify"> Apesar de termos soluções bem mais profissionais e completas como o dvd:rip, um programa na mesma linha que é bastante simples e eficiente é o K9Copy. Com alguns cliques você salva de modo compacto todo um DVD no seu HD. Para instalá-lo, proceda com o mesmo esquema, “<font color="#ff6600">sudo apt-get install k9copy</font>“.</p>
<p>    3.4 &#8211; Ripando CD’s de Audio</p>
<p align="justify"> Para ripar CD’s, instale o “KAudioCreator” apesar de sua simplicidade, este programa esconde recursos bem avançados. comando: “<font color="#ff6600">sudo apt-get install kaudiocreator</font>“.</p>
<p>    3.5 &#8211; Convertendo arquivos de audio</p>
<p>Instale o SoundKonverter, “<font color="#ff6600">sudo apt-get install soundkonverter</font>“.</p>
<p>3.6 &#8211; Fontes populares do MS Windows</p>
<p align="justify"> Neste caso você deverá instalar dois pacotes, o msttcorefonts e o ttf-xfree86-nonfree. Neste exemplo basta repetir o modelo acima separando os pacotes com um espaço. “<font color="#ff6600">sudo apt-get install msttcorefonts ttf-xfree86-nonfree</font>“</p>
<p><b>4 &#8211; Suporte a Hardware</b></p>
<p>4.1 &#8211; ATI, NVidia &amp; Wireless Cards</p>
<p align="justify"> Esta talvez tenha sido a mais significante atualização do Kubuntu, pois não é mais necessário ficar editando arquivos na mão, carregando e dropando módulos do kernel e etc. Simplesmente vá em “Configurações do Sistema &gt; Avançado &gt; Drivers Restritos” e dê alguns cliques. O que você tiver de hardware que necessite de drivers proprietários estará nesta lista. No meu caso, em um notebook “HP ZV6201CL” utilizo drivers proprietários da ATI e Broadcom mas para outros dispositivos o procedimento é idêntico, apenas selecionar a caixa de texto e o programa é instalado automaticamente após o download.</p>
<p><b>5 &#8211; Problemas</b></p>
<p>5.1 &#8211; Reprodução de DVD’s</p>
<p align="justify">Como nem tudo é perfeito, esta última versão do Kubuntu vem apresentando para muitos usuários problemas com a reprodução de DVD’s mesmo após a instalação dos pacotes necessários. Ao que tudo indica trata-se de uma falha na execução automática do comando ldconfig, uma ferramenta do sistema responsável por registrar novas bibliotecas após instalação. Felizmente algo que o (K)Ubuntu tem de mais presente é sua comunidade, e certamente os usuários que estiverem tendo este problema logo encontrarão um fix.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=26&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/01/25/turbinando-o-kubuntu-710-gutsy-gibbon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>
	</item>
		<item>
		<title>Permission ntfs-3g</title>
		<link>http://pauloneves.wordpress.com/2008/01/19/permission-ntfs-3g/</link>
		<comments>http://pauloneves.wordpress.com/2008/01/19/permission-ntfs-3g/#comments</comments>
		<pubDate>Sat, 19 Jan 2008 19:34:16 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/01/19/permission-ntfs-3g/</guid>
		<description><![CDATA[1º Crear en /etc/fuse.conf Después poner dentro Código: user_allow_other 2ºSi se quiere que el usuario tenga privilegios para montar la partición, aplicar estos comandos por orden: Código: sudo chown root $(which ntfs-3g) Código: sudo chmod 4755 $(which ntfs-3g)<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=25&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>1º Crear en /etc/fuse.conf</p>
<p>Después poner dentro</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">Código:</div>
<pre style="border:1px inset;overflow:auto;width:640px;height:34px;margin:0;padding:6px;">
<div dir="ltr" style="text-align:left;">user_allow_other</div>
</pre>
</div>
<p>2ºSi se quiere que el usuario tenga privilegios para montar la partición, aplicar estos comandos por orden:</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">Código:</div>
<pre style="border:1px inset;overflow:auto;width:640px;height:34px;margin:0;padding:6px;">
<div dir="ltr" style="text-align:left;">sudo chown root $(which ntfs-3g)</div>
</pre>
</div>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">Código:</div>
<pre style="border:1px inset;overflow:auto;width:640px;height:34px;margin:0;padding:6px;">
<div dir="ltr" style="text-align:left;">sudo chmod 4755 $(which ntfs-3g)</div>
</pre>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/25/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/25/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/25/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/25/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/25/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=25&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/01/19/permission-ntfs-3g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>
	</item>
		<item>
		<title>SUSE Menu no Kubuntu Edgy Eft</title>
		<link>http://pauloneves.wordpress.com/2008/01/16/suse-menu-no-kubuntu-edgy-eft/</link>
		<comments>http://pauloneves.wordpress.com/2008/01/16/suse-menu-no-kubuntu-edgy-eft/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 23:56:33 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/01/16/suse-menu-no-kubuntu-edgy-eft/</guid>
		<description><![CDATA[O Suse menu é um novo paradigma de menu de aplicativos para o KDE. Esse novo menu possibilita acesso aos programas favoritos, recentemente utilizados, itens de meu computador, todos os programas (interno ao menu, sem expansão do mesmo) e saída do sistema através das abas presentes no menu dispostas horizontalmente. Outra de suas facilidades é [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=24&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><span class="date_year"></span></p>
<div style="float:left;width:220px;vertical-align:middle;"><img src="http://viruscg.files.wordpress.com/2007/04/kicker-kickoff.png?w=510" alt="Suse Menu" /></div>
<p>O Suse menu é um novo paradigma de menu de aplicativos para o KDE. Esse novo menu possibilita acesso aos programas favoritos, recentemente utilizados, itens de meu computador, todos os programas (interno ao menu, sem expansão do mesmo) e saída do sistema através das abas presentes no menu dispostas horizontalmente. Outra de suas facilidades é a busca de aplicativos no campo acima que a realiza instantaneamente e também serve de lançador, pois os aplicativos digitados no campo são exibidos (quando existem) com o caminho e o executável e funcionam como o “Executar Comando…”. Por exemplo, se digito “cfdisk” ele exibe “Run /sbin/cfdisk” pois não existe no menu, mas está no PATH.</p>
<p>Para que se tenha uma idéia de como é seu funcionamento veja o vídeo abaixo onde mostro a busca de aplicativos, as abas do menu e abro o aplicativo <b>xterm</b> no fim.</p>
<p>E ainda tem este vídeo onde mais recursos são demonstrados.</p>
<blockquote><p>&gt; <a href="http://home.kde.org/%7Ebinner/kickoff/sneak_preview.ogg">Download do Vídeo (Ogg)</a></p></blockquote>
<p>&gt;&gt; <b>Instalando o Suse Menu (kicker-Kickoff)</b></p>
<blockquote><p> Para instalar o kicker-kickoff siga os passos abaixo.1º) Precisa fazer o download do pacote DEB. Use o link abaixo para isso. Este link é do repositório do 3v1ñ0 (Treviño) para o kubuntu Edgy Eft.</p>
<blockquote><p>&gt; <a href="http://download.tuxfamily.org/3v1deb/pool/gutsy/3v1n0/">Download do Menu Suse (kicker-kickoff)</a></p></blockquote>
<p>2º) Agora devemos instalar o pacote. Abra o terminal e siga para a pasta onde fez o download do arquivo (pode também abrir o konqueror e pressionar F4 na pasta desejada para que o terminal se abra nela).</p>
<p>3º) Na pasta onde foi feito o download, digite o comando abaixo para instalar o novo menu.<br />
<code>$ sudo dpkg -i kicker-kickoff_1_i386.deb</code>4º) Reinicie a interface gráfica para que as alterações tenham efeito, feche seus programas e pressione CTRL + ALT + BACKSPACE.</p>
<p>Pronto! O menu deve ter mudado automáticamente para o novo. Se isto não acontecer, clique com o botão direito do mouse sobre ele e escolha a opção “Swtch to Suse Menu Style”. Caso não goste do menu e queira voltar ao clássico (antigo) clique com o botão direito sobre o menu e escolha a opção “Swtch to KDE Menu Style”.</p></blockquote>
<p>&gt;&gt; <b>Abrir Menu quando clicar sobre ele apenas</b></p>
<blockquote><p>Muita gente não gosta que o menu se abra apenas porque o mouse passou sobre ele (eu, por exemplo), mas isso é muito simples de acertar, siga os passos abaixo para isso.1º) Clique com o botão direito sobre a barra de tarefas (barra do menu K) e escolha a opção “Configurar Painel…”.</p>
<p>2º) Na janela que se abre, escolha a opção “Menus” que aparece à esquerda.</p>
<p>3º) Agora desmarque a opção “open menu on mouse hover” (veja a figura abaixo).</p>
<table align="center" border="0">
<tr>
<td><a href="http://viruscg.files.wordpress.com/2007/04/painel.jpg"><img src="http://viruscg.files.wordpress.com/2007/04/painel.jpg?w=400" alt="Configurar Painel" style="width:400px;vertical-align:middle;" width="400" /></a></td>
</tr>
</table>
<p>4º) Pressione <b>Ok</b> e pronto!</p></blockquote>
<p>&gt;&gt; <b>Alterar ícone do Suse Menu</b></p>
<blockquote><p>Para alterar o ícone do Suse Menu é muito simples, basta trocar as imagens que estão localizadas no diretório mostrado abaixo por outras de sua escolha:<br />
<code>/usr/share/apps/kicker/pics/kmenu_active.png<br />
/usr/share/apps/kicker/pics/kmenu_basic-vertical.mng<br />
/usr/share/apps/kicker/pics/kmenu_basic.mng</code>A minha troca foi essa:</p>
<blockquote><p> <i>kmenu_active</i> &#8211; botão pressionado<br />
<img src="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png?w=510" alt="Kmenu Active Original" /> [Antigo] » [Novo] <img src="http://viruscg.files.wordpress.com/2007/04/pressed.png?w=510" alt="Kmenu Pressed" /><i>kmenu_basic</i> &#8211; botão não pressionado<br />
<img src="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png?w=510" alt="Kmenu Basic Original" /> [Antigo] » [Novo] <img src="http://viruscg.files.wordpress.com/2007/04/normal.png?w=510" alt="Kmenu Normal" /></p>
<p><i>kmenu_basic-vertical</i> &#8211; mouse sobre o botão<br />
<img src="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png?w=510" alt="Kmenu Basic Original" /> [Antigo] » [Novo] <img src="http://viruscg.files.wordpress.com/2007/04/hover.png?w=510" alt="Kmenu Hover" /></p></blockquote>
<p>Para trocar estas imagens é muito simples, siga os passos abaixo para fazê-lo pelo terminal de texto.</p>
<p>1º) Abra o terminal de texto na pasta onde salvou a imagens que deseja utilizar no menu (as novas imagens).</p>
<p>2º) Use os comandos abaixo para copiar cada uma das imagens.</p>
<blockquote><p> Imagem do menu (sem pressionar ou manter o mouse em cima):<br />
<code>$ sudo cp NOME_DA_IMAGEM.png /usr/share/apps/kicker/pics/kmenu_basic.mng</code>Imagem quando pressionado:<br />
<code>$ sudo cp NOME_DA_IMAGEM.png /usr/share/apps/kicker/pics/kmenu_active.png</code>Imagem quando o mouse estiver em cima:<br />
<code>$ sudo cp NOME_DA_IMAGEM.png /usr/share/apps/kicker/pics/kmenu_basic-vertical.mng</code></p></blockquote>
<p>3º) Agora use o comando abaixo para reiniciar e atualizar o menu.<br />
<code>$ dcop kicker Panel restart</code></p></blockquote>
<p>&gt;&gt; <b>Imagens de Menu do Kbfx</b></p>
<blockquote><p> Eu usei uma imagem de menu feita para o Kbfx, para os interessados vou disponibilizar algumas abaixo, inclusive a que uso. As ultimas 8 imagens fui eu quem fez no Gimp. As duas primeiras foram encontradas por nosso amigo <a href="http://ubuntuforum-pt.org/index.php?action=profile;u=95"><b>Galactus</b></a>.<img src="http://viruscg.files.wordpress.com/2007/04/kmenu_basic.png?w=510" alt="Kmenu Estático Vista" /> <img src="http://viruscg.files.wordpress.com/2007/04/kmenu_active1.png?w=510" alt="Kmenu Ativo Vista" /> <img src="http://viruscg.files.wordpress.com/2007/04/normal.png?w=510" alt="Kmenu Normal" /> <img src="http://viruscg.files.wordpress.com/2007/04/pressed.png?w=510" alt="Kmenu Pressed" /> <img src="http://viruscg.files.wordpress.com/2007/04/hover.png?w=510" alt="Kmenu Hover" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-black.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-blue.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-darkblue.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-darkgrey.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-green.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-grey.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-red.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-violet.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-yelow.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_blue.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_black.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_dark_green.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_dark.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_gold.png" /> <img src="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_green.png" /> <img src="http://viruscg.files.wordpress.com/2007/04/kubuntu-52.png?w=510" /> <img src="http://viruscg.files.wordpress.com/2007/04/kubuntu-52-2.png?w=510" alt="Menu de 52px ativo" /></p></blockquote>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/24/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/24/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=24&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/01/16/suse-menu-no-kubuntu-edgy-eft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kicker-kickoff.png" medium="image">
			<media:title type="html">Suse Menu</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/painel.jpg" medium="image">
			<media:title type="html">Configurar Painel</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png" medium="image">
			<media:title type="html">Kmenu Active Original</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/pressed.png" medium="image">
			<media:title type="html">Kmenu Pressed</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png" medium="image">
			<media:title type="html">Kmenu Basic Original</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/normal.png" medium="image">
			<media:title type="html">Kmenu Normal</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kmenu_active.png" medium="image">
			<media:title type="html">Kmenu Basic Original</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/hover.png" medium="image">
			<media:title type="html">Kmenu Hover</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kmenu_basic.png" medium="image">
			<media:title type="html">Kmenu Estático Vista</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kmenu_active1.png" medium="image">
			<media:title type="html">Kmenu Ativo Vista</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/normal.png" medium="image">
			<media:title type="html">Kmenu Normal</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/pressed.png" medium="image">
			<media:title type="html">Kmenu Pressed</media:title>
		</media:content>

		<media:content url="http://viruscg.files.wordpress.com/2007/04/hover.png" medium="image">
			<media:title type="html">Kmenu Hover</media:title>
		</media:content>

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-black.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-blue.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-darkblue.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-darkgrey.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-green.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-grey.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-red.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-violet.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/K-menu-yelow.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_blue.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_black.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_dark_green.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_dark.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_gold.png" medium="image" />

		<media:content url="http://img.photobucket.com/albums/v170/Virus_cg/Blog/kubuntu_green.png" medium="image" />

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kubuntu-52.png" medium="image" />

		<media:content url="http://viruscg.files.wordpress.com/2007/04/kubuntu-52-2.png" medium="image">
			<media:title type="html">Menu de 52px ativo</media:title>
		</media:content>
	</item>
		<item>
		<title>fusermount: failed to open /dev/fuse: Permission denied</title>
		<link>http://pauloneves.wordpress.com/2008/01/16/fusermount-failed-to-open-devfuse-permission-denied/</link>
		<comments>http://pauloneves.wordpress.com/2008/01/16/fusermount-failed-to-open-devfuse-permission-denied/#comments</comments>
		<pubDate>Wed, 16 Jan 2008 23:06:46 +0000</pubDate>
		<dc:creator>pauloneves</dc:creator>
				<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://pauloneves.wordpress.com/2008/01/16/fusermount-failed-to-open-devfuse-permission-denied/</guid>
		<description><![CDATA[Bug description fuse (sshfs, encfs, &#8230; ) fails reporting: fusermount: failed to open /dev/fuse: Permission denied This is because /dev/fuse is group root, when it should be group fuse Workaround: sudo chgrp fuse /dev/fuse and all is well. This is a perennial problem: Dapper, Edgy and now Feisty.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=23&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div class="report">
<h2>Bug description           <a href="https://bugs.launchpad.net/ubuntu/+source/fuse/+bug/114212/+edit"><img src="https://bugs.launchpad.net/@@/edit" alt="[edit]" /></a></h2>
<div>fuse (sshfs, encfs, &#8230; ) fails reporting:</p>
<p>fusermount: failed to open /dev/fuse: Permission denied</p>
<p>This is because /dev/fuse is group root, when it should be group fuse<br />
Workaround:</p>
<p>sudo chgrp fuse /dev/fuse</p>
<p>and all is well.</p>
<p>This is a perennial problem: Dapper, Edgy and now Feisty.</p></div>
</div>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/pauloneves.wordpress.com/23/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/pauloneves.wordpress.com/23/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/pauloneves.wordpress.com/23/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/pauloneves.wordpress.com/23/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/pauloneves.wordpress.com/23/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=pauloneves.wordpress.com&amp;blog=94436&amp;post=23&amp;subd=pauloneves&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://pauloneves.wordpress.com/2008/01/16/fusermount-failed-to-open-devfuse-permission-denied/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/fa5a4ba935ebc11e3acff07b4d61c269?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">pauloneves</media:title>
		</media:content>

		<media:content url="https://bugs.launchpad.net/@@/edit" medium="image">
			<media:title type="html">[edit]</media:title>
		</media:content>
	</item>
	</channel>
</rss>
