<?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/"
	>

<channel>
	<title>Gustavo Lichti</title>
	<atom:link href="http://www.lichti.eti.br/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lichti.eti.br</link>
	<description>Free Software - Networking - Development - Tips - and More</description>
	<lastBuildDate>Tue, 17 Aug 2010 05:55:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Leo obedecendo o comando deita!</title>
		<link>http://www.lichti.eti.br/leo-obedecendo-o-comando-deita/</link>
		<comments>http://www.lichti.eti.br/leo-obedecendo-o-comando-deita/#comments</comments>
		<pubDate>Tue, 17 Aug 2010 05:55:41 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[adestramento]]></category>
		<category><![CDATA[cachorro]]></category>
		<category><![CDATA[dog]]></category>
		<category><![CDATA[pug]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/leo-obedecendo-o-comando-deita/</guid>
		<description><![CDATA[
Esse &#233; o leo, meu cachorro. Fiz um videozinho dele obedecendo o comando &#034;deita&#034;. 
Comentem!
]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B" width="720" height="496" codebase="http://www.apple.com/qtactivex/qtplugin.cab"><param name="scale" value="aspect"><param name="src" value="http://www.lichti.eti.br/wp-content/uploads/2010/08/wpid-2010-08-17_00-58-24_604.mp4" /><param name="autoplay" value="false" /><param name="controller" value="true" /><object type="video/quicktime" data="http://www.lichti.eti.br/wp-content/uploads/2010/08/wpid-2010-08-17_00-58-24_604.mp4" width="720" height="496"><param name="scale" value="aspect"><param name="autoplay" value="false" /><param name="controller" value="true" /></param></object></param></object></p>
<p>Esse &#233; o leo, meu cachorro. Fiz um videozinho dele obedecendo o comando &#034;deita&#034;. <br />
Comentem!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/leo-obedecendo-o-comando-deita/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.lichti.eti.br/wp-content/uploads/2010/08/wpid-2010-08-17_00-58-24_604.mp4" length="9192144" type="video/mp4" />
		</item>
		<item>
		<title>Testando o wordpress para android.</title>
		<link>http://www.lichti.eti.br/testando-o-wordpress-para-android/</link>
		<comments>http://www.lichti.eti.br/testando-o-wordpress-para-android/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 04:29:17 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/testando-o-wordpress-para-android/</guid>
		<description><![CDATA[
Estou testando usar a ferramenta do wordpress para o sistema android.
Para testar o sistema de media, vou adicinar uma foto do leo e da melissa aqui na cozinha de casa.
]]></description>
			<content:encoded><![CDATA[<p><img style="display:block;margin-right:auto;margin-left:auto;" alt="image" src="http://www.lichti.eti.br/wp-content/uploads/2010/08/wpid-2010-08-01_09-48-04_932.jpg" /></p>
<p>Estou testando usar a ferramenta do wordpress para o sistema android.</p>
<p>Para testar o sistema de media, vou adicinar uma foto do leo e da melissa aqui na cozinha de casa.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/testando-o-wordpress-para-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script para baixar e instalar o firfox</title>
		<link>http://www.lichti.eti.br/script-para-baixar-e-instalar-o-firfox/</link>
		<comments>http://www.lichti.eti.br/script-para-baixar-e-instalar-o-firfox/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 08:11:40 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Shell Script]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=220</guid>
		<description><![CDATA[
#!/bin/bash

cd /tmp

# Pegar o link do firefox em:
# http://www.mozilla.com/pt-BR/firefox/all.html
# Fazer o download do firefox
wget &#34;http://download.mozilla.org/?product=firefox-3.6.3&#38;os=linux&#38;lang=pt-BR&#34;

# Descompactar no diretorio /opt
tar xjf firefox-3.6.3.tar.bz2 -C /opt

# /usr/share/applications/
#  firefox.desktop
# Criar uma entrada no menu Aplicativos &#62;&#62; Internet
echo &#34;[Desktop Entry]
Encoding=UTF-8
Name=Firefox Web Browser
Exec=/opt/firefox/firefox
Terminal=false
Type=Application
Icon=/opt/firefox/icons/mozicon128.png
Categories=Network;WebBrowser;&#34; &#62; /usr/share/applications/firefox.desktop

cd -

]]></description>
			<content:encoded><![CDATA[<pre class="brush: bash;">
#!/bin/bash

cd /tmp

# Pegar o link do firefox em:
# http://www.mozilla.com/pt-BR/firefox/all.html
# Fazer o download do firefox
wget &quot;http://download.mozilla.org/?product=firefox-3.6.3&amp;os=linux&amp;lang=pt-BR&quot;

# Descompactar no diretorio /opt
tar xjf firefox-3.6.3.tar.bz2 -C /opt

# /usr/share/applications/
#  firefox.desktop
# Criar uma entrada no menu Aplicativos &gt;&gt; Internet
echo &quot;[Desktop Entry]
Encoding=UTF-8
Name=Firefox Web Browser
Exec=/opt/firefox/firefox
Terminal=false
Type=Application
Icon=/opt/firefox/icons/mozicon128.png
Categories=Network;WebBrowser;&quot; &gt; /usr/share/applications/firefox.desktop

cd -
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/script-para-baixar-e-instalar-o-firfox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script sendEmail + gmail</title>
		<link>http://www.lichti.eti.br/script-sendemail-gmail/</link>
		<comments>http://www.lichti.eti.br/script-sendemail-gmail/#comments</comments>
		<pubDate>Wed, 02 Jun 2010 07:33:26 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programação]]></category>
		<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Shell Script]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=206</guid>
		<description><![CDATA[Eu sempre que estou ministrando os cursos de gnu/linux, vou escrevendo alguns arquivos de texto com um resumo dos comandos e explicações.
O trabalho vinha na hora de enviar os arquivos para os alunos. Tinha que pedir para cada aluno fazer uma cópia remota via ssh ou tinha que abrir o email e digitar o email [...]]]></description>
			<content:encoded><![CDATA[<p>Eu sempre que estou ministrando os cursos de gnu/linux, vou escrevendo alguns arquivos de texto com um resumo dos comandos e explicações.</p>
<p>O trabalho vinha na hora de enviar os arquivos para os alunos. Tinha que pedir para cada aluno fazer uma cópia remota via ssh ou tinha que abrir o email e digitar o email de todo mundo.</p>
<p>Então pedi para fazerem uma pagina na intranet da empresa que recebesse o código da turma via querystring  e me retornasse um aluno por linha da seguinte forma &#034;nome:email&#034;</p>
<p>E então desenvolvi o script a seguir para automatizar o envio de email para os alunos.</p>
<p>E a pedido de alguns alunos estou disponibilizando o script aqui no blog.</p>
<p>A sintaxe do script é<br />
script.sh [codigo] [dir]<br />
<code></p>
<pre class="brush: bash;">
#!/bin/bash

#variaveis de configuração
TMP=/tmp
ALUNOS=${TMP}/alunos.txt
ARQUIVOS=${HOME}/$2
CONFIG=${ETC}/tecmail.conf
ANEXO=${TMP}/$2-ate-aula-$(date +%F).tar.gz

#informações da conta e smtp
SMTP=smtp.gmail.com:587
USER=guest
PASS=guestpass
FROM=&quot;Tecnoponta Curso Linux &lt;guest @gmail.com&gt;&quot;
TO=&quot;Gustavo Lichti&lt;gustavo @apensystem.com&gt;&quot;
OPTIONS=&quot; -o tls=yes -v&quot;

DATA=$(date +&quot;%F - %R&quot;)
TITULO=&quot;Tecnoponta - GNU/Linux $2 - $DATA &quot;
TEXTO=&quot;
Tecnoponta Treinamentos - GNU/Linux $2
www.tecnoponta.com.br/linux
-------------------------------------------------------------------

Arquivos até o dia $(date +%F)
Arquivo em anexo: $ANEXO

Gustavo Lichti Mendonça
gustavo@apensystem.com
www.apensystem.com
&quot;

#faz download do arquivo texto com os dados dos alunos
# nome:email
wget www.intranet.com.br/paginamedo.asp?cod=$1 -O $ALUNOS

# converte o final de linha de CRLF para LF
dos2unix $ALUNOS

#Formata e concatena os emails no formato:
# nome &lt;email&gt;
while read email; do
	NOME=$(echo $email | cut -d: -f1)
	EMAIL=$(echo $email | cut -d: -f2)
	EMAILS=&quot;$NOME &lt; $EMAIL&gt;,$EMAILS&quot;
done &lt; $ALUNOS

#compacta o diretorio
tar czf $ANEXO $ARQUIVOS

#envia o email usando o sendEmail
sendEmail -f &quot;$FROM&quot; -t &quot;$TO&quot; -cc &quot;$EMAILS&quot; -s $SMTP $OPTIONS -xu $USER -xp $PASS -u &quot;$TITULO&quot; -m &quot;$TEXTO&quot; -a &quot;$ANEXO&quot;

#Remove os arquivos temporarios
rm -f $ANEXO
rm -f $ALUNOS

#Fim!
exit 0
</pre>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/script-sendemail-gmail/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Street View em São Vicente</title>
		<link>http://www.lichti.eti.br/google-street-view-em-sao-vicente/</link>
		<comments>http://www.lichti.eti.br/google-street-view-em-sao-vicente/#comments</comments>
		<pubDate>Sat, 20 Mar 2010 04:14:48 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=195</guid>
		<description><![CDATA[Hoje flagrei aqui na cidade de São Vicente o carro do google street view , na rua Jão Ramalho (Atrás da Prefeitura). Tirei algumas fotos do carro conversei com o pessoal que estava com o veiculo e as imagens devem estar disponíveis no serviço do google no mês de Outubro deste ano. Logo em seguida [...]]]></description>
			<content:encoded><![CDATA[<p>Hoje flagrei aqui na cidade de São Vicente o carro do <strong>google street view</strong> , na rua Jão Ramalho (Atrás da Prefeitura). Tirei algumas fotos do carro conversei com o pessoal que estava com o veiculo e as imagens devem estar disponíveis no serviço do google no mês de Outubro deste ano. Logo em seguida o carro saiu e virou na rua Tibiriça e em seguida na rua Frei Gaspar. O carro não estava trabalhando nesse momento.</p>

<a href='http://www.lichti.eti.br/google-street-view-em-sao-vicente/img0025a/' title='Google Street View 1'><img width="150" height="150" src="http://www.lichti.eti.br/wp-content/uploads/2010/03/img0025a-150x150.jpg" class="attachment-thumbnail" alt="Google Street View 1" title="Google Street View 1" /></a>
<a href='http://www.lichti.eti.br/google-street-view-em-sao-vicente/img0026a/' title='Google Street View 2'><img width="150" height="150" src="http://www.lichti.eti.br/wp-content/uploads/2010/03/img0026a-150x150.jpg" class="attachment-thumbnail" alt="Google Street View 2" title="Google Street View 2" /></a>
<a href='http://www.lichti.eti.br/google-street-view-em-sao-vicente/img0028a/' title='Google Street View 3'><img width="150" height="150" src="http://www.lichti.eti.br/wp-content/uploads/2010/03/img0028a-150x150.jpg" class="attachment-thumbnail" alt="Google Street View 3" title="Google Street View 3" /></a>
<a href='http://www.lichti.eti.br/google-street-view-em-sao-vicente/img0029a/' title='Google Street View 4'><img width="150" height="150" src="http://www.lichti.eti.br/wp-content/uploads/2010/03/img0029a-150x150.jpg" class="attachment-thumbnail" alt="Google Street View 4" title="Google Street View 4" /></a>
<a href='http://www.lichti.eti.br/google-street-view-em-sao-vicente/img0030a/' title='Google Street View 5'><img width="150" height="150" src="http://www.lichti.eti.br/wp-content/uploads/2010/03/img0030a-150x150.jpg" class="attachment-thumbnail" alt="Google Street View 5" title="Google Street View 5" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/google-street-view-em-sao-vicente/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Palestra fatec bs 2009</title>
		<link>http://www.lichti.eti.br/palestra-fatec-bs-2009/</link>
		<comments>http://www.lichti.eti.br/palestra-fatec-bs-2009/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 17:00:30 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=191</guid>
		<description><![CDATA[Palestra Fatec Bs 2009
View more documents from lichti.

Download:  palestra-fatec-bs-2009
]]></description>
			<content:encoded><![CDATA[<div id="__ss_2176481" style="width: 425px; text-align: left;"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" title="Palestra Fatec Bs 2009" href="http://www.slideshare.net/lichti/palestra-fatec-bs-2009">Palestra Fatec Bs 2009</a><object width="425" height="355" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=palestra-fatec-bs-2009-091009112605-phpapp01&amp;stripped_title=palestra-fatec-bs-2009" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=palestra-fatec-bs-2009-091009112605-phpapp01&amp;stripped_title=palestra-fatec-bs-2009" /><param name="allowfullscreen" value="true" /></object></p>
<div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;">View more <a style="text-decoration:underline;" href="http://www.slideshare.net/">documents</a> from <a style="text-decoration:underline;" href="http://www.slideshare.net/lichti">lichti</a>.</div>
</div>
<p>Download:  <a href="http://www.lichti.eti.br/wp-content/uploads/2009/10/palestra-fatec-bs-2009.pdf">palestra-fatec-bs-2009</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/palestra-fatec-bs-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Roteamento de pacotes com GNU/Linux -- Parte 1</title>
		<link>http://www.lichti.eti.br/roteamento-de-pacotes-com-gnulinux-parte-1/</link>
		<comments>http://www.lichti.eti.br/roteamento-de-pacotes-com-gnulinux-parte-1/#comments</comments>
		<pubDate>Tue, 22 Sep 2009 05:56:00 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Informática]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Sistemas Operacionais]]></category>
		<category><![CDATA[Software Livre]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Roteamento]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=174</guid>
		<description><![CDATA[Bom hoje eu vou falar sobre roteamento, em GNU Linux. Esta é a primeira parte do artigo. Explicando o básico. Logo logo vem a parte 2
Roteamento é o processo de encaminhamento de pacotes de uma rede para outra, feito sempre por um roteador. Esse roteador pode ser um equipamento profissional, SOHO(Small Office/Home Office) ou um [...]]]></description>
			<content:encoded><![CDATA[<p class="western">Bom hoje eu vou falar sobre roteamento, em GNU Linux. Esta é a primeira parte do artigo. Explicando o básico. Logo logo vem a parte 2</p>
<p class="western"><strong>Roteamento</strong> é o processo de encaminhamento de pacotes de uma rede para outra, feito sempre por um roteador. Esse roteador pode ser um equipamento <em>profissional, SOHO(Small Office/Home Office)</em> ou um <em>computador</em> com um sistema operacional. No nosso caso o foco é utilizar o sistema <strong>GNU/Linux</strong>.</p>
<p class="western">O roteamento também pode ocorrer de duas forma estático ou dinâmico. No <em>roteamento estático</em> o caminho da rota é sempre predefinido, a tabela de roteamento é fixa. No <em>roteamento dinâmico</em> o roteador conhece mais que um caminho para chegar ao destino e age de forma inteligente escolhendo qual rota ele deve utilizar. No nosso caso abordaremos a forma de <strong>roteamento estático.</strong></p>
<p class="western">Irei utilizar para nossos exemplos a comunicação entre dois campus de uma universidade. Então vamos analisar a imagem a baixo.</p>
<p><img class="aligncenter size-full wp-image-181" title="roteamento1" src="http://www.lichti.eti.br/wp-content/uploads/2009/09/roteamento1.png" alt="roteamento1" width="494" height="169" /></p>
<p class="western">Analisando o cenário a cima, podemos perceber que os dois campus estão utilizando a mesma rede(192.168.) já que estamos utilizando uma mascara de 16bits(255.255.0.0) onde os dois primeiros octetos definem a rede e os dois últimos definem o host. No caso a cima a interligação entre os dois campus é apenas o switch do campus01 interligado ao switch do campus02. Com isso temos um grande problema que é um trafego alto entre um campus e outro sem necessidade.</p>
<p class="western">Para solucionar este problema é simples basta mudar a mascara de sub rede de 16 para 24bits e colocar um roteador entre os dois campus. Veja a imagem:</p>
<p><img class="aligncenter size-full wp-image-184" title="roteamento02" src="http://www.lichti.eti.br/wp-content/uploads/2009/09/roteamento02.png" alt="roteamento02" width="493" height="168" /></p>
<p>Viram? agora só ira ter trafego entre os dois campus caso for realmente necessário. Mas <strong>como funciona um roteador</strong>? Um roteador ele tem sempre pelo menos 2 interfaces de rede, que podem ser iguais ou diferentes. Mas sempre conectadas em redes diferentes.</p>
<p>Quando um equipamento vai se comunicar na rede ele verifica se o endereço de destino pertence a mesma rede que ele ou não, caso pertença ele apenas envia a informação para rede em forma de broadcasting e caso não pertença ele encaminha esse pacote para o roteador que vai ficar responsável por distribuir esta informação. Mas para que isso ocorra todos os equipamentos devem conhecer o endereço do roteador da rede, que nas configurações dos equipamentos é visto como <strong>default gateway</strong> ou apenas como <strong>gateway</strong>.</p>
<p>Com base no cenário anterior nós temos: Duas redes, a  192.168.10.0 do campus 01 e a 192.168.20.0 do campus 02, e temos um roteado que faz parte das duas redes. Para isso os equipamentos da rede do campus 01 devem ter configurado como default gateway o endereço 192.168.10.10 e os equipamentos do campus 02 devem ter configurados como  default gateway o endereço 192.168.20.10.</p>
<p>Mas e o  roteador? Bom como já foi dito lá no começo, o roteador poderia ser um cisco, um juniper, até mesmo um linksys ou um delink( Que medo!!! ). Mas no nosso caso vai ser uma CPU com GNU/Linux instalado. Eu utilizo no dia a dia Debian, e por isso vou usar ele como base para os testes sendo que os passos vistos aqui devem funcionar em outras distribuições.</p>
<p>Para esta tarefa precisamos de uma instalação minima do Debian.</p>
<p>Para o GNU/Linux trabalhar como roteador é muito simples, ainda mais quando vamos fazer o roteamento apenas entre 2 redes e só existe um roteador. Para que o roteamento de pacotes funcione o nosso sistema precisa fazer parte das duas redes e ter habilitado o repasse de pacotes para outra rede.</p>
<p><em>Para configurar rede podemos fazer:</em></p>
<p><strong>ifconfig 192.168.10.10 up<br />
ifconfig 192.168.20.10 up</strong></p>
<p><em>E para habilitar o repasse de pacotes de uma rede para outra faça:</em></p>
<p><strong>echo 1 &gt; /proc/sys/net/ipv4/ip_forward</strong></p>
<p class="western">Pronto neste momento esta maquina já esta agindo como um roteador entre as redes <strong>192.168.10.0</strong> e <strong>192.168.20.0</strong></p>
<p class="western">Bom no Debian as configurações das interfaces de rede(ip e mascara) podem ser feitas no arquivo <em>/etc/network/interfaces</em> e a configuração do repasse de pacotes pode ser feita no arquivo <em>/etc/sysctl.conf</em>. Mas estes arquivo podem mudar de distribuição para distribuição, por isso vou falar mais um pouco sobre os comandos anteriores.</p>
<p class="western">O problema dos 3 comandos anteriores é que eles só funcionam enquanto a maquina não for reinicializada, após uma reinicialização tudo é perdido e o sistema não age mais como um roteador. Já imaginou o problema? Então para resolver isto podemos editar o arquivo <strong>/etc/rc.local</strong> e adicionar as 3 linhas de comando lá, antes do <strong>exit 0</strong>, esse arquivo sempre é executado na inicialização do sistema.</p>
<p class="western">Esta é a primeira parte. Introdução a roteamento com GNU/Linux. Espero que tenha sido útil e até a segunda parte.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/roteamento-de-pacotes-com-gnulinux-parte-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSH/SCP sem senha -- Passwordless</title>
		<link>http://www.lichti.eti.br/ssh-scp-sem-senha-passwordless/</link>
		<comments>http://www.lichti.eti.br/ssh-scp-sem-senha-passwordless/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 04:47:35 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[Shell Script]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=164</guid>
		<description><![CDATA[SSH sem senha
Muitas vezes precisamos automatizar um tarefa e essa tarefa envolve o acesso remoto via ssh ou a cópia de um arquivo via scp. Para isso precisamos de um acesso via ssh sem senha, e uma conta sem senha seria uma falta de segurança enorme. Então para isso podemos gerar um certificado e fazer [...]]]></description>
			<content:encoded><![CDATA[<h1 class="western">SSH sem senha</h1>
<p class="western">Muitas vezes precisamos automatizar um tarefa e essa tarefa envolve o acesso remoto via ssh ou a cópia de um arquivo via scp. Para isso precisamos de um acesso via ssh sem senha, e uma conta sem senha seria uma falta de segurança enorme. Então para isso podemos gerar um certificado e fazer uma relação de confiança. Este certificado é baseado em chave publica e chave privada. Onde a chave privada é pessoal e intransferível e a publica você pode distribuir.</p>
<p class="western"><img class="aligncenter size-medium wp-image-168" title="ssh-sem-senha" src="http://www.lichti.eti.br/wp-content/uploads/2009/07/ssh-sem-senha-300x172.png" alt="ssh-sem-senha" width="300" height="172" /></p>
<p class="western">Vamos trabalhar em cima do cenário abaixo, onde temos dois servidores e uma estação. E o problema é que a estação, que na imagem é chamada de cliente, tem a necessidade de fazer conexões com os servidores via ssh, mas sem a utilização de senhas.</p>
<p class="western">Tendo como base a situação descrita logo a cima vamos a solução.</p>
<p class="western"><em>Na maquina cliente siga faça:</em></p>
<pre class="western"><strong>mkdir ~/.ssh</strong>
<strong>cd ~/.ssh</strong></pre>
<p class="western">Muitas vezes o diretório <em>.ssh no home</em> do usuário já existe, mas não tem problema. O importante é estar dentro deste diretório. Em seguida vamos criar o certificado com o comando <em>ssh-keygen</em>, ele ira solicitar para que você digite o nome do arquivo do certificado e em seguida vai solicitar que você digite uma passphase, uma frase de autenticação para o certificado. Nesta hora você não vai digitar nada, senão a frase será solicitada na hora da conexão e aí não vai adiantar nada. Então apenas de enter nas duas vezes que ele te solicitar esta informação. <em>Então faça:</em></p>
<p class="western"><em>(Eu de acordo com a imagem escolhi para nome do arquivo meu sobrenome, lichti)</em></p>
<h1 class="western"><img class="aligncenter size-full wp-image-167" title="captura_de_tela-gustavogustavo-laptop-ssh" src="http://www.lichti.eti.br/wp-content/uploads/2009/07/captura_de_tela-gustavogustavo-laptop-ssh.png" alt="captura_de_tela-gustavogustavo-laptop-ssh" width="506" height="332" /></h1>
<pre class="western"><strong>ssh-keygen</strong></pre>
<p class="western">Pronto esse processo ira gera dois arquivos com o nome escolhido, no meu caso:<br />
lichti e lichti.pub. O arquivo lichti é o que você deve guardar para utilizar para se identificar sempre que for necessário, e o arquivo lichti.pub é o arquivo que enviaremos aos servidores que vamos ter acesso.
</p>
<p class="western"><em>Vamos ao proximo e último passo, enviar as chaves aos servidores. Faça:</em></p>
<pre class="western"><strong>ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.10</strong>
<strong>ssh-copy-id -i ~/.ssh/lichti.pub usuario@10.0.0.11</strong></pre>
<p class="western" style="text-indent: 0cm;">
<p class="western"><em>Pronto, agora já podemos utilizar o ssh para se conectar aos servidores sem a utilização de senha, veja:</em></p>
<pre class="western"><strong>ssh usuario@10.0.0.10 -i ~/.ssh/lichti</strong>
<strong>ssh usuario@10.0.0.11 -i ~/.ssh/lichti</strong></pre>
<p class="western">ou</p>
<pre class="western"><strong>scp /etc/fstab usuario@10.0.0.10 -i ~/.ssh/lichti</strong>
<strong>scp /etc/fstab usuario@10.0.0.11 -i ~/.ssh/lichti</strong></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/ssh-scp-sem-senha-passwordless/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>apt-cacher e conomizando banda e ganhando tempo</title>
		<link>http://www.lichti.eti.br/apt-cacher-e-conomizando-banda-e-ganhando-tempo/</link>
		<comments>http://www.lichti.eti.br/apt-cacher-e-conomizando-banda-e-ganhando-tempo/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 14:35:57 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=158</guid>
		<description><![CDATA[Apt-cacher
Muitas vezes trabalhamos em rede e com vários servidores e/ou desktops GNU/linux, e sempre que é preciso instalar um software ou fazer um upgrade da distribuição utilizando o apt(Advanced Package Tool) mais conhecido como apt-get os downloads são feitos sempre uma vez por maquina, causando um consumo de banda alto. Então pode-se utilizar o apt-cacher [...]]]></description>
			<content:encoded><![CDATA[<h1 class="western">Apt-cacher</h1>
<p class="western">Muitas vezes trabalhamos em rede e com vários servidores e/ou desktops GNU/linux, e sempre que é preciso instalar um software ou fazer um upgrade da distribuição utilizando o <em>apt(Advanced Package Tool) mais conhecido como apt-get </em><span style="font-style: normal;">os downloads são feitos sempre uma vez por maquina, causando um consumo de banda alto. Então pode-se utilizar o </span><em>apt-cacher</em><span style="font-style: normal;"> instalando em uma das maquinas, e configurar o </span><em>apt</em><span style="font-style: normal;"> de todas maquinas da rede para utilizar o esta maquina como um proxy para apt</span></p>
<h2 class="western">Instalando o apt-get</h2>
<pre class="western">	<strong>apt-get install apt-cacher</strong></pre>
<h2 class="western">Configurando o apt-cacher</h2>
<p class="western">Por padrão o apt-cacher vem configurado para não iniciar com o sistema, e quando se tenta iniciar o serviço manualmente ele não é carregando. Para resolver esse problema deve-se editar o <em><span style="text-decoration: underline;"><strong>/etc/default/apt-cacher</strong></span></em><span style="font-style: normal;"><span style="text-decoration: none;">.</span></span></p>
<p class="western"><span style="font-style: normal;"><span style="text-decoration: none;">Neste arquivo deve-se procurar e alterar a linha conforme a seguir:</span></span></p>
<pre class="western"><span style="font-style: normal;"><span style="text-decoration: none;">Achar a linha:
	</span></span><span style="font-style: normal;"><span style="text-decoration: none;"><strong>AUTOSTART=0</strong></span></span>
<span style="font-style: normal;"><span style="text-decoration: none;">e alterar para:
	</span></span><span style="font-style: normal;"><span style="text-decoration: none;"><strong>AUTOSTART=1</strong></span></span></pre>
<p class="western" style="font-weight: normal;"><span style="font-style: normal;"><span style="text-decoration: none;">Feito isso o apt-cacher vai inicializar automaticamente a cada boot, mas para não precisar reinicializar o sitstema agora apenas faça:</span></span></p>
<pre class="western"><span style="font-style: normal;"><span style="text-decoration: none;">	</span></span><span style="font-style: normal;"><span style="text-decoration: none;"><strong>/etc/init.d/apt-cacher start</strong></span></span></pre>
<h2 class="western">Configurando o apt-get</h2>
<p class="western">Agora só falta configurar o <em>apt</em> para utilizar o <em>apt-cacher</em> para fazer o download dos arquivos. Para isso basta configurar o <em>apt</em> para utilizar um proxy. Então deve-se criar um arquivo chamado <em><span style="text-decoration: underline;"><strong>00-proxy</strong></span></em> no diretorio <em><span style="text-decoration: underline;"><strong>/etc/apt/apt.conf.d/</strong></span></em></p>
<pre class="western">	touch /etc/apt/apt.conf.d/00-proxy</pre>
<p class="western">E dentro desse arquivo colocar estas linhas:</p>
<pre class="western">	Acquire{
		HTTP::proxy "http://host:3142";
		FTP::proxy  "http://host:3142";
	}</pre>
<h2 class="western">Configurações avançadas</h2>
<p class="western">Com o que já foi feito até aqui, já funciona tudo direitinho, mas se precisar fazer algumas alterações por algum motivo, como para melhorar a segurança temos um arquivo de configuração onde podemos configurar diversas opções.</p>
<p class="western">Você também pode configurar o apt-cache para ouvir em uma porta diferente da porta 3142, pode proibir ou permitir por ip,  alterar o diretório onde o cache de arquivos são feitos e muito mais. Essas configurações podem ser feitas no arquivo <em><span style="text-decoration: none;"><strong>/etc/apt-caher/apt-cacher.conf. </strong></span></em><span style="font-style: normal;"><span style="text-decoration: none;"><span style="font-weight: normal;">A seguir tem uma lista descrevendo as opções.</span></span></span></p>
<p><strong>cache_dir=/var/cache/apt-cacher</strong><br />
Diretório principal onde serão armazenados os arquivos .deb</p>
<p><strong>admin_email=root@localhost</strong><br />
e-mail do adminstrador da rede</p>
<p><strong>allowed_hosts=*</strong><br />
Lista de IPs, separada por vírgula, que podem acessar o apt-cacher. Por exemplo: allowed_hosts=10.0.0.1-10.0.0.10,10.5.0.1 indica que os IPs permitidos são todos na faixa de 10.0.0.1 à 10.0.0.10 e mais o IP 10.5.0.1. Para permitir que qualquer IP possa acessar, use *</p>
<p><strong>denied_hosts=</strong><br />
Faz o contrário da opção anterior, ou seja, bloqueia os IPs listados de acessarem o apt-cacher</p>
<p><strong>allowed_hosts_6=</strong><br />
Similar à allowed_hosts, mas os IPs são dados seguindo o padrão IPv6 (::ffff:w.x.y.z)</p>
<p><strong>denied_hosts_6=</strong><br />
Similar à denied_hosts, mas os IPs são dados seguindo o padrão IPv6 (::ffff:w.x.y.z)</p>
<p><strong>allowed_locations=ftp.dominio.com.br</strong><br />
Permite que apenas os domínios passados sejam válidos nos Canais de Software do Repositório. Essa opção vem desabilitada padrão.</p>
<p><strong>generate_reports=1</strong><br />
Gera relatórios diários de acesso do apt-cacher. Pode ser visualizado abrindo em um navegador o endereço http://IP.DO.SERVIDOR:3142/apt-cacher/report. Para desabilitar use 0 (zero).</p>
<p><strong>clean_cache=1</strong><br />
Limpa diariamente os pacotes que estão no cache, mas que não estão nas listas dos Canais de Software do Repositório atual. Para desabilitar use 0 (zero).</p>
<p><strong>logdir=/var/log/apt-cacher</strong><br />
Diretório dos logs de acesso ou de erros do apt-cacher</p>
<p><strong>expire_hours=0</strong><br />
Tempo em horas para que as listas dos Canais de Software do Repostiório sejam atualizadas. Caso seja 0 (zero) o apt-cacher irá comparar o pacote requisitado com a versão presente no servidor, daí irá atualizar se necessário.</p>
<p><strong>http_proxy=dominio.proxy.com.br:8080</strong><br />
Faz com que o apt-cacher passe os dados requisitados por um proxy externo. Essa opção vem desabilitada por padrão.</p>
<p><strong>use_proxy=0</strong><br />
Habilita (1) ou desabilita (0) o proxy externo configurado na opção anterior</p>
<p><strong>limit=0</strong><br />
Limitar a quantidade de bytes por segundo permitida para uso. Deixe em 0 (zero) para não fixar limite.</p>
<p><strong>debug=0</strong><br />
Adiciona mais informações aos logs de erro. Habilite com 1 e desabilite com 0.</p>
<h2 class="western">Relatório</h2>
<p class="western">O apt-cacher por padrão vem com um relatório de acesso habilitado, quando habilitado este relatório é gerado diariamente e pode ser acessado no navegador no endereço: <em><strong>http://host:3142/apt-cacher/report</strong></em><span style="font-style: normal;"><span style="font-weight: normal;"> </span></span></p>
<h1 class="western">Referencias:</h1>
<p class="western"><em><span style="font-weight: normal;">man apt-cacher</span></em></p>
<p class="western"><em><span style="font-weight: normal;">http://wiki.ubuntu-br.org/apt-cacher </span></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/apt-cacher-e-conomizando-banda-e-ganhando-tempo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Simulador de Flash Tween e Transitions</title>
		<link>http://www.lichti.eti.br/simulador-flash-tween-transitions/</link>
		<comments>http://www.lichti.eti.br/simulador-flash-tween-transitions/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 05:51:13 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Programação]]></category>
		<category><![CDATA[WEB 2.0]]></category>
		<category><![CDATA[Action Script3]]></category>
		<category><![CDATA[Adobe Flash]]></category>
		<category><![CDATA[Tecnoponta]]></category>
		<category><![CDATA[Transition]]></category>
		<category><![CDATA[Tween]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=148</guid>
		<description><![CDATA[Bom gente, hoje vou mudar um pouco de assunto. Como muitos sabem eu ministro alguns cursos na Tecnoponta Treinamento, nas unidades Santos e São Paulo. E um dos cursos que eu ministro na unidade de santos é Flash action script 3. E então desenvolvi nessa semana dois &#039;aplicativos&#039; web para auxiliar os alunos no entendimento [...]]]></description>
			<content:encoded><![CDATA[<p>Bom gente, hoje vou mudar um pouco de assunto. Como muitos sabem eu ministro alguns cursos na <a href="http://www.tecnoponta.com.br" target="_blank">Tecnoponta Treinamento</a>, nas unidades Santos e São Paulo. E um dos cursos que eu ministro na unidade de santos é Flash action script 3. E então desenvolvi nessa semana dois &#039;aplicativos&#039; web para auxiliar os alunos no entendimento e no aprendizado. Essas duas aplicações são: Simulador de Tween e Simulador de Transitions. Os dois estão disponíveis na internet, são de uso livre e gratuito desde que se mantenham sempre os créditos de Gustavo Lichti e Tecnoponta Treinamentos. Espero que gostem.</p>
<p>Simulador de Tween: <a href="http://labs.lichti.eti.br/tween-simulator/">Online</a> -- <a href="http://labs.lichti.eti.br/tween-simulator/tween.exe">Download</a><br />
Simulador de Transitions: <a href="http://labs.lichti.eti.br/transition-simulador/" target="_blank">Online</a> -- <a href="http://labs.lichti.eti.br/transition-simulador/transitions.exe">Download</a></p>
<p style="text-align: left;">Screens:</p>
<p style="text-align: center;"><img class="size-full wp-image-149 alignnone" title="transition" src="http://www.lichti.eti.br/wp-content/uploads/2009/06/transition.png" alt="transition" width="424" height="323" /></p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-150" title="tween" src="http://www.lichti.eti.br/wp-content/uploads/2009/06/tween.png" alt="tween" width="424" height="324" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/simulador-flash-tween-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Estou vivo</title>
		<link>http://www.lichti.eti.br/estou-vivo/</link>
		<comments>http://www.lichti.eti.br/estou-vivo/#comments</comments>
		<pubDate>Sat, 16 May 2009 18:17:06 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[fisl]]></category>
		<category><![CDATA[flisol]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=145</guid>
		<description><![CDATA[Faz tempo que não posto nada, isto devido a quantidade de serviços e aulas nos últimos meses. Estou com alguns posts guardados aqui, vou terminar para postar para vocês.
Queria dizer que fiquei feliz em perceber o aumento de leitores no Blog. Mesmo sem novos conteúdos.
Em Junho estarei na FISL, quem for estar lá entre em [...]]]></description>
			<content:encoded><![CDATA[<p>Faz tempo que não posto nada, isto devido a quantidade de serviços e aulas nos últimos meses. Estou com alguns posts guardados aqui, vou terminar para postar para vocês.</p>
<p>Queria dizer que fiquei feliz em perceber o aumento de leitores no Blog. Mesmo sem novos conteúdos.</p>
<p>Em Junho estarei na FISL, quem for estar lá entre em contato por Twitter <a href="http://www.twitter.com/lichti">www.twitter.com/lichti</a> ou msn/gtalk: gustavo.lichti@gmail.com</p>
<p>Em breve mais noticias e posts  ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/estou-vivo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Calculo de juros e parcelas</title>
		<link>http://www.lichti.eti.br/calculadora-de-juros-financiamento-carros-imobiliario/</link>
		<comments>http://www.lichti.eti.br/calculadora-de-juros-financiamento-carros-imobiliario/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 17:06:42 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=142</guid>
		<description><![CDATA[Tenho uma página nova no blog, que é uma calculadora para financiamento, muitas vezes na hora de ir comprar um carro ou comprar algo parcelado queremos fazer algumas simulações de financiamento antes de ir a caça. Para isso coloquei a disposição no site esta calculadora.

 Calcula a quantidade de meses necessários para um financiamento com [...]]]></description>
			<content:encoded><![CDATA[<p>Tenho uma página nova no blog, que é uma calculadora para financiamento, muitas vezes na hora de ir comprar um carro ou comprar algo parcelado queremos fazer algumas simulações de financiamento antes de ir a caça. Para isso coloquei a disposição no site esta calculadora.</p>
<ul>
<li> Calcula a quantidade de meses necessários para um financiamento com a parcela pré-estabelecida</li>
<li>Calcula a taxa de juros a partir do valor financiado e do valor das prestações</li>
<li>Calcula o valor da prestação a partir da taxa de juros e do valor a ser financiado</li>
<li>Calcula o valor financiado a partir do valor da prestação e taxa de juros</li>
</ul>
<p style="text-align: center;"><a href="http://www.lichti.eti.br/calculadora-financiamento/"><strong>CALCULADORA PARA FINANCIAMENTOS</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/calculadora-de-juros-financiamento-carros-imobiliario/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Acesso remoto com SSH -- Tunel SSH</title>
		<link>http://www.lichti.eti.br/acesso-remoto-com-ssh-tunel-ssh/</link>
		<comments>http://www.lichti.eti.br/acesso-remoto-com-ssh-tunel-ssh/#comments</comments>
		<pubDate>Wed, 05 Nov 2008 03:04:38 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[VNC]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=139</guid>
		<description><![CDATA[Muitas vezes temos a necessidade de acessar um host que esta atrás de um firewall, porém é um acesso emergencial, que dispensa o redirecionamento de portas, mesmo por que não é uma maquina que necessita estar acessível na internet e neste caso um redirecionamento de portas no firewall seria uma grande falha de segurança.
Muitos alunos [...]]]></description>
			<content:encoded><![CDATA[<p>Muitas vezes temos a necessidade de acessar um host que esta atrás de um firewall, porém é um acesso emergencial, que dispensa o redirecionamento de portas, mesmo por que não é uma maquina que necessita estar acessível na internet e neste caso um redirecionamento de portas no firewall seria uma grande falha de segurança.</p>
<p>Muitos alunos me perguntam em aula, qual é a porta do Terminal Server pois tem uma maquina que esta atrás do firewall e precisa ter acesso a ela externamente, ou como fazer para poder ter acesso pela internet ao vnc de varias maquinas que estão dentro da empresa? São perguntas frequentes, e a resposta nunca é a que estão esperando, pois sempre esperam uma resposta utilizando o redirecionamento de portas no firewall, deixando essas maquinas expostas na grande rede.</p>
<p>E mais, o VNC é um protocolo não seguro e que não utiliza criptografia, mais uma falha de segurança.</p>
<p>Uma forma de fazer esses acessos de forma segura e deixando essas maquinas protegidas é utilizando um recurso de tunelamento do SSH, que é muito simples, e ainda criptografa a conexão.</p>
<p>Este tunelamento permite que se redirecione uma porta local para uma porta de um host remoto atrás do firewall, Imagine:</p>
<p style="text-align: center;"><a href="http://www.lichti.eti.br/wp-content/uploads/2008/11/tunelssh.png"  rel="lightbox"><img class="alignnone size-medium wp-image-140" title="tunelssh" src="http://www.lichti.eti.br/wp-content/uploads/2008/11/tunelssh-300x131.png" alt="" width="300" height="131" /></a></p>
<p style="text-align: left;">De acordo com a imagem a cima, imagine que você esta no host com o IP 200.102.30.22 e queira acessar o VNC que esta no host 192.168.0.10. Para isso abra um terminal e digite como root:</p>
<p><code><br />
</code></p>
<p style="text-align: left;"># ssh usuario@200.201.181.30 -L 5900:192.168.0.10:5900</p>
<p style="text-align: left;">Pronto, agora abra o seu cliente VNC e digite: <strong>localhost:5900</strong></p>
<p style="text-align: left;">Simples assim!</p>
<blockquote>
<p style="text-align: left;">A  opção -L que faz a magica tem a seguinte sintaxe:</p>
<p style="text-align: left;">- L [bind_address:]port:host:hostport</p>
<p style="text-align: left;">[bind_address:] =&gt; por padrão é localhost<br />
port =&gt; porta local que será redirecionada<br />
host =&gt; IP do host interno do firewall<br />
hostport =&gt; porta do serviço do host interno do firewall</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/acesso-remoto-com-ssh-tunel-ssh/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Editando o mapa do teclado -- keymap</title>
		<link>http://www.lichti.eti.br/editando-o-mapa-do-teclado-keymap/</link>
		<comments>http://www.lichti.eti.br/editando-o-mapa-do-teclado-keymap/#comments</comments>
		<pubDate>Mon, 27 Oct 2008 01:01:02 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[console-data]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[keymap]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[X.org]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=138</guid>
		<description><![CDATA[Salve, Salve&#8230;
Domingão, o timão garantiu o retorno a série A do brasileirão, e então decidi que merecíamos um post hoje, só faltava o assunto.
Eu a um ano atrás exatamente, eu estava migrando o Debian do meu notebook para o Ubuntu 7.10, por que eu migrei naquela época? por vários motivos, um deles era, a vontade [...]]]></description>
			<content:encoded><![CDATA[<p>Salve, Salve&#8230;</p>
<p>Domingão, o timão garantiu o retorno a série A do brasileirão, e então decidi que merecíamos um post hoje, só faltava o assunto.</p>
<p>Eu a um ano atrás exatamente, eu estava migrando o Debian do meu notebook para o Ubuntu 7.10, por que eu migrei naquela época? por vários motivos, um deles era, a vontade de testar o ubuntu, legal. a versão 7.10 me deixou bastante feliz, mas versão 8.04 veio cheia de bugs, que fez eu nos últimos 6 meses, pensar pelo menos uma vez por semana em voltar ao Debian, esses pensamentos vinha sempre que o X travava. Bom mas eu fui prorrogando isso, até chegar próximo do lançamento do 8.10, então resolvi esperar, para testar andes de regressar ao Debian. Bom a menos de 5 dias do lançamento do Ubuntu 8.10 eu perdi a paciência com o Ubuntu 8.04 e regressei ao Debian testing.</p>
<p>Neste regresso eu percebi que o bug da minha placa de video foi resolvido, mas um outro problema meu era com o meu teclado, ele é espanhol, e por isso o acento &#039;~&#039;(til) não esta no teclado, e para eu obte-lo preciso fazer a combinação &#039;Atl GR + 4&#039;. Legal, mas acontece que no Debian quando fazemos esta combinação ela já imprimi o acento na tela sem esperar por uma vogal. Não considero isso um bug, já que o acento til no idioma espanhol é utilizado apenas com a letra Ñ , e o Ñ já esta no teclado por padrão no lugar o Ç.</p>
<p>A solução no meu caso que sou brasileiro e falo português e preciso deste acento, é alterar o keymap do console e o keymap do X.org.</p>
<p>Veja a minha solução:</p>
<p>Primeiro vamos acertar o console:</p>
<p><code><strong>$ cd /usr/share/keymaps/i386/qwerty<br />
$ cp es.kmap.gz ~/<br />
# gunzip es.kmap.gz<br />
# nano es.kmap</strong></code></p>
<p>Pronto dentro deste arquivo a seguinte linha:</p>
<blockquote><p><strong>keycode   5 = four             dollar          asciitilde</strong></p></blockquote>
<p>Esta linha representa a tecla 4 do teclado alfanumérico, sendo:</p>
<p><strong>keycode 5</strong> =&gt; o codigo que o teclado envia ao kernel<br />
<strong>four</strong> =&gt; o que vai acontece quando a tecla for simplesmente pressionada, neste caso vai aparecer o numeral 4<br />
<strong>dollar</strong> =&gt; o que vai acontecer quando a tecla for pressionada junto com o shift, neste caso vai aparecer o simbolo $<br />
<strong>asciitilde</strong> =&gt; o que vai acontecer quando a tecla for pressionada junto com o Alt Gr, neste caso vai aparecer o acento ~</p>
<p>certo, o que esta errado ?</p>
<p>O que esta errado é apenas o asciitilde, que tem que ser dead_tilde para aguardar uma nova tecla ser pressionada, para aí sim decidir o que vai fazer.</p>
<p>Então tenho que trocar apenas isso deixando esta linha da seguinte forma</p>
<blockquote><p><strong>keycode   5 = four             dollar          <em>dead_tilde</em></strong></p></blockquote>
<p>Pronto salve o arquivo, saia do editor e finalize com o seguinte comando:</p>
<p><code><strong># gzip es.kmap</strong></code></p>
<p>Temos duas opções para fazer esta alteração entrar em vigor, uma é reiniciar o sistema, a outra, no meu caso que estou usando debian é executar o comando a baixo e escolher o layout de teclado que você acabou de alterar.</p>
<p><code><strong># dpkg-reconfigure console-data</strong></code></p>
<p>Pronto, o &#039;~&#039; já esta funcionando corretamente, mas apenas no modo texto. Agora vamos ao modo gráfico.</p>
<p>Para ajustar o problema no modo gráfico é simples também, quem é responsável por controlar as teclas no modo gráfico é o X.org.</p>
<p>Abra um console e faça:</p>
<p>$ cd /usr/share/X11/xkb/symbols<br />
# nano es</p>
<p>Pronto dentro deste arquivo procure a seguinte linha:</p>
<blockquote><p><strong>key &lt;AE04&gt;  { [         4,     dollar,   asciitilde,       dollar ] };</strong></p></blockquote>
<p>Simplesmente altere o asciitilde para dead_tilde, deixando da seguinte forma:</p>
<blockquote><p><strong>key &lt;AE04&gt;  { [         4,     dollar,   <em>dead_tilde</em>,       dollar ] };</strong></p></blockquote>
<p>Pronto, salve o arquivo e saia.</p>
<p>Para fazer entrar em vigor pode reiniciar o sistema ou apenas reiniciar o X fazendo a seguinte combinação de teclas: <strong>ctrl + alt + backspace</strong></p>
<p>Pronto agora esta tudo redondinho.</p>
<p>Eu utilizava isso já no teclado brasileiro ABNT2, para criar atalhos diretos para as seguintes pontuações &#039;¿&#039; e &#039;¡&#039;.</p>
<p>Para descobrir os keycodes de cada tecla podemos utilizar o showkey, um programinha que acompanha o pacote console-data, um exemplo:</p>
<p><code><strong># showkey -t 2 -k</strong></code></p>
<p>É isso aí pessoal, se divirtam, mas com cuidado!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/editando-o-mapa-do-teclado-keymap/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Dicas aos navegantes de primeira viagem</title>
		<link>http://www.lichti.eti.br/dicas-aos-navegantes-de-primeira-viagem/</link>
		<comments>http://www.lichti.eti.br/dicas-aos-navegantes-de-primeira-viagem/#comments</comments>
		<pubDate>Fri, 24 Oct 2008 15:56:11 +0000</pubDate>
		<dc:creator>Gustavo Lichti</dc:creator>
				<category><![CDATA[Geral]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Shell]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.lichti.eti.br/?p=136</guid>
		<description><![CDATA[Muitos usuários que migram para o linux, ou estão aprendendo a mexer no pinguim, perdem alguns arquivos achando que o sistema vai perguntar se ele realmente deseja apagar um arquivo, ou se ele realmente deseja sobrescrever um arquivo em caso de mover ou copiar arquivos para um outro diretório que contém um arquivo com o [...]]]></description>
			<content:encoded><![CDATA[<p><strong>M</strong>uitos usuários que migram para o linux, ou estão aprendendo a mexer no pinguim, perdem alguns arquivos achando que o sistema vai perguntar se ele realmente deseja apagar um arquivo, ou se ele realmente deseja sobrescrever um arquivo em caso de mover ou copiar arquivos para um outro diretório que contém um arquivo com o mesmo nome do arquivo de origem.</p>
<p><strong>P</strong>ara isso não acontecer temos que passar o parâmetro &#034;-i&#034; aos comandos cp,mv e rm. Porém ficar colocando o &#034;-i&#034; toda hora torna a tarefa mais tediosa além de qualquer hora você esquecer de colocar e perder algo. É legal tornar essa opção um padrão desses comandos para não haver mais erros.</p>
<p><strong>P</strong>ara isso podemos utilizar o comando &#034;alias&#034;, este comando permite que criemos &#039;apelidos&#039; para outros comandos. Por exemplo, você esta acostumado com o prompt do dos, e lá o comando para listar arquivos é o &#034;dir&#034;, e no linux é o &#034;ls&#034;, se você quiser usar o comando &#034;dir&#034; no linux também, você pode fazer:</p>
<p><code><br />
<strong>$</strong> alias dir="ls"<br />
</code></p>
<p><strong>P</strong>ronto, o dir já funciona no linux.</p>
<p><strong>P</strong>ara resolver o problema do inicio do post podemos fazer:</p>
<p><code><br />
$ alias cp="cp -i"<br />
$ alias mv="mv -i"<br />
$ alias rm="rm -i"<br />
</code></p>
<p><strong>P</strong>ronto agora sempre que for necessário, será perguntado o que você realmente deseja fazer</p>
<p><strong>B</strong>om, mas toda felicidade dura pouco, e todos os alias que você criou para deixar a sua vida mais fácil e mais segura, vão para o espaço e viram um astro sempre que você fecha o seu terminal ou finaliza a sua sessão. E agora?</p>
<p><strong>B</strong>om para resolver isso, podemos adicionar esses comandos a um desses dois arquivos( em um OU em outro)</p>
<p>/home/seu-usuário/.bashrc<br />
ou<br />
/home/seu-usuário/.bash_profile</p>
<p><strong>P</strong>ara isso você pode usar o editor de textos nano. Exemplo:<br />
<code><br />
<strong>$</strong> nano /home/gustavo/.bashrc<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.lichti.eti.br/dicas-aos-navegantes-de-primeira-viagem/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
