<?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>Felipph Calado</title>
	<atom:link href="http://felipph.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://felipph.wordpress.com</link>
	<description>Tecnologia, software livre, respostas sobre a vida o universo e tudo mais.</description>
	<lastBuildDate>Fri, 25 Nov 2011 15:06:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='felipph.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Felipph Calado</title>
		<link>http://felipph.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://felipph.wordpress.com/osd.xml" title="Felipph Calado" />
	<atom:link rel='hub' href='http://felipph.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Instalando e configurando o Oracle 10GR2 no Ubuntu 10.04LTS Server</title>
		<link>http://felipph.wordpress.com/2011/11/25/instalando-e-configurando-o-oracle-10gr2-no-ubuntu-10-04lts-server/</link>
		<comments>http://felipph.wordpress.com/2011/11/25/instalando-e-configurando-o-oracle-10gr2-no-ubuntu-10-04lts-server/#comments</comments>
		<pubDate>Fri, 25 Nov 2011 15:06:41 +0000</pubDate>
		<dc:creator>Luiz Felipph</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://felipph.wordpress.com/?p=18</guid>
		<description><![CDATA[Olá a tods, neste post explico de manera resumida como fazer a instalação do Oralce 10GR2 No Ubuntu 10.04LTS server. Porquê a versão server? Tentaremos manter o sistema o mais enxuto possível, só por isso. Mas de qualquer forma funciona também na versão desktop. O sinal &#8220;$&#8221; significa que os comando são rodados como usuário [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=18&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá a tods, neste post explico de manera resumida como fazer a instalação do Oralce 10GR2 No Ubuntu 10.04LTS server.</p>
<p>Porquê a versão server? Tentaremos manter o sistema o mais enxuto possível, só por isso. Mas de qualquer forma funciona também na versão desktop.</p>
<p>O sinal &#8220;$&#8221; significa que os comando são rodados como usuário normal e &#8220;#&#8221; indica que são rodados como root.</p>
<p>O primeiro passo é baixar o Oracle 10G. Você pode baixar do site oficial o arquivo 10201_database_linux32.zip(precisa se registrar, etc, etc&#8230;)</p>
<p>Antes de instalar é necessário preparar o ambiente(assumo que você já instalou o sistema base):</p>
<p>$sudo su</p>
<p>#apt-get update&amp;&amp;apt-get dist-upgrade&amp;&amp;apt-get install lxdm lxde</p>
<p>O comando acima atualiza o sistema e instala o LXDE(Desktop leve) pois o instalador requer interface gráfica(a instalação silenciosa não será abordada aqui).</p>
<p>#mkdir /opt/oracle_install</p>
<p>#mv pasta_do_download/10201_database_linux32.zip /opt/oracle_install</p>
<p>#cd /opt/oracle_install</p>
<p>#nano -w prepara_oracle.sh</p>
<p>cole esse conteúdo no arquivo:</p>
<blockquote><p><em>#!/bin/bash</em></p>
<p><em>#VARIAVEIS##################################</em><br />
<em>GRUPO=&#8217;oinstall&#8217;</em><br />
<em>SENHA_USUARIO_ORACLE=&#8217;senha001&#8242;</em><br />
<em>ORACLE_BASE=/oracle</em><br />
<em>ORACLE_HOME=$ORACLE_BASE/db/10g</em><br />
<em>ORACLE_SID=ORCL ##SUBSTITUA PELO SID DESEJADO</em><br />
<em>CRYPT_PASS=$(perl -e &#8220;print crypt($SENHA_USUARIO_ORACLE,\&#8221;password\&#8221;)&#8221; $password)</em><br />
<em>############################################</em><br />
<em>#Checando se é o root rodando&#8230;.</em><br />
<em>if [ `whoami` != 'root' ]; then</em><br />
<em>    echo &#8220;Esse script precisa ser rodado como root&#8221;</em><br />
<em>    exit 0;</em><br />
<em>fi;</em></p>
<p><em>apt-get install gcc libaio1 make rpm libc6 libstdc++6  binutils lesstif2 lesstif2-dev build-essential libdb1-compat unzip rlwrap -y</em></p>
<p><em>addgroup oinstall</em><br />
<em>addgroup dba</em><br />
<em>addgroup nobody</em><br />
<em>useradd -g oinstall -G dba -p $SENHA_USUARIO_ORACLE -d /home/oracle -s /bin/bash oracle</em><br />
<em>usermod -g nobody nobody</em><br />
<em>cp /etc/skel /home/oracle -R</em><br />
<em>chown oracle:dba /home/oracle -R</em></p>
<p><em>echo &#8220;</em><br />
<em>##CONFIGURAÇÂO PARA O ORACLE####################</em><br />
<em>  kernel.shmall = 2097152</em><br />
<em>  kernel.shmmax = 2147483648</em><br />
<em>  kernel.shmmni = 4096</em><br />
<em>  kernel.sem = 250 32000 100 128</em><br />
<em>  fs.file-max = 65536</em><br />
<em>  net.ipv4.ip_local_port_range = 1024 65000</em><br />
<em>################################################</em><br />
<em>&#8221; &gt;&gt; /etc/sysctl.conf</em></p>
<p><em>/sbin/sysctl -p</em></p>
<p><em>echo &#8220;</em><br />
<em>##CONFIGURAÇÂO DO ORACLE###</em><br />
<em>  * soft nproc 2047</em><br />
<em>  * hard nproc 16384</em><br />
<em>  * soft nofile 1024</em><br />
<em>  * hard nofile 65536</em><br />
<em>###########################</em><br />
<em>&#8221; &gt;&gt; /etc/security/limits.conf</em></p>
<p><em>ln -s /usr/bin/awk /bin/awk</em><br />
<em>ln -s /usr/bin/rpm /bin/rpm</em><br />
<em>ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so</em><br />
<em>ln -s /usr/lib/libstdc++.so.6 /usr/lib/libstdc++.so.5</em><br />
<em>ln -s /usr/bin/basename /bin/basename</em><br />
<em>mkdir -p $ORACLE_HOME </em><br />
<em>chown -R oracle:oinstall $ORACLE_BASE</em><br />
<em>chmod -R 775 $ORACLE_BASE</em></p>
<p><em>echo &#8220;Red Hat Enterprise Linux AS release 3 (Taroon)&#8221; &gt; /etc/redhat-release</em></p>
<p><em>echo &#8220;</em><br />
<em>    ORACLE_BASE=$ORACLE_BASE</em><br />
<em>    ORACLE_HOME=$ORACLE_HOME</em><br />
<em>    ORACLE_HTTPSERVER_HOME=$ORACLE_HTTPSERVER_HOME</em><br />
<em>    APEX_HOME=$APEX_HOME</em><br />
<em>    ORACLE_SID=$ORACLE_SID</em><br />
<em>    ORATAB=/etc/oratab</em><br />
<em>    LD_LIBRARY_PATH=$ORACLE_HOME/lib</em></p>
<p><em>    export ORACLE_BASE ORACLE_HOME ORACLE_HTTPSERVER_HOME APEX_HOME ORACLE_SID ORATAB LD_LIBRARY_PATH</em></p>
<p><em>    PATH=${PATH}:$ORACLE_HOME/bin</em><br />
<em>&#8221; &gt;&gt; /home/oracle/.bashrc</em></p>
<p><em>echo &#8220;Se tudo deu certo basta logar como usuário do oracle e iniciar a instalcao&#8221;;</em></p></blockquote>
<p>Subistitua o ORACLE_SID pelo nome desejado.<br />
Agora é descompactar em iniciar a instalação:</p>
<p>#unzip  10201_database_linux32.zip</p>
<p>#chown oracle:oinstall /opt/oracle_install -R</p>
<p>#chmod 777 /opt/oracle_install -R</p>
<p>#su &#8211; oracle</p>
<p>$cd /opt/oracle_install/database</p>
<p>$./runInstaller</p>
<p>Você pode aceitar o padrão sem medo de ser feliz. Ele fará uma instalação padrão da versão Enterprise. Demora um pouco e você terá o oracle instalado e já com listener e base criados.</p>
<p>Há um bug no script dbstart que precisa ser corrigido para que possamos utilizar essa ferramenta para iniciar a instância. Ainda do o usuário do oracle:</p>
<p>$nano -w $ORACLE_HOME/bin/dbstart</p>
<p>Substitua a linha</p>
<pre>ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle</pre>
<p>por</p>
<pre>ORACLE_HOME_LISTNER=$ORACLE_HOME</pre>
<p>Salve e feche.</p>
<p>Agora o script de inicialização:</p>
<pre>#!/bin/bash
#
# /etc/init.d/oracle
#
# Run-level Startup script for the Oracle Listener, Instances, EM DB Console, and HTTP Server# It relies on the information on /etc/oratab
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/db/10g
ORACLE_OWNR=oracle
ORACLE_SID=ORCL
ORATAB=/etc/oratabLD_LIBRARY_PATH=$ORACLE_HOME/lib

export ORACLE_BASE ORACLE_HOME ORACLE_HTTPSERVER_HOME APEX_HOME ORACLE_OWNR ORACLE_SID ORATAB LD_LIBRARY_PATH
PATH=${PATH}:$ORACLE_HOME/bin
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo " * Oracle startup error: cannot start"
exit 1
fi
case "$1" in
start)
# Startup
echo -n " * Starting the Oracle listener... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
echo " [ OK ]"
echo -n " * Starting the Oracle database server... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
echo " [ OK ]"
echo -n " * Starting the Enterprise Manager DB Console... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo " [ OK ]"
echo -n " * Starting iSQL*Plus... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/isqlplusctl start"
echo " [ OK ]"
touch /var/lock/oracle
;;
stop)
# Shutdown
echo " [ OK ]"
echo -n " * Shutting down iSQL*Plus... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/isqlplusctl stop"
echo " [ OK ]"
echo -n " * Shutting down the Enterprise Manager DB Console... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo " [ OK ]"
echo -n " * Shutting down the Oracle database server... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"
echo " [ OK ]"
echo -n " * Shutting down the Oracle listener... "
su $ORACLE_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
echo " [ OK ]"
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: `basename $0` start|stop|restart"
exit 1
esac
exit 0</pre>
<p>Pronto, reinicie e teste.</p>
<p>Assim que eu tiver algum tempo eu posto como instalar o APEX e o OC4J junto com os patchs.</p>
<p>Abraço a todos!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipph.wordpress.com/18/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipph.wordpress.com/18/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipph.wordpress.com/18/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=18&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://felipph.wordpress.com/2011/11/25/instalando-e-configurando-o-oracle-10gr2-no-ubuntu-10-04lts-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/244a0e3a00faea61c571f336af3acde9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">felipph</media:title>
		</media:content>
	</item>
		<item>
		<title>Compartilhando sua banda larga móvel no Ubuntu 8.10</title>
		<link>http://felipph.wordpress.com/2009/04/14/compartilhando-sua-banda-larga-movel-no-ubuntu-810/</link>
		<comments>http://felipph.wordpress.com/2009/04/14/compartilhando-sua-banda-larga-movel-no-ubuntu-810/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 04:57:09 +0000</pubDate>
		<dc:creator>Luiz Felipph</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[vivozap]]></category>
		<category><![CDATA[banda larga móvel]]></category>
		<category><![CDATA[lunix]]></category>

		<guid isPermaLink="false">http://felipph.wordpress.com/?p=8</guid>
		<description><![CDATA[Gostaria de compartilhar meu sucesso em compartilhar a internet do meu notebook pela a wifi com meu outro notebook e meu celular, ou seja, de mim para mim mesmo, comigo mesmo =P. O procedimento foi executado com sucesso em 3 notebooks bem distintos: um com wifi broadcom(meeedo =P) BCM4311, um com wifi intel PRO/Wireless 4965 [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=8&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Gostaria de compartilhar meu sucesso em compartilhar a internet do meu notebook pela a wifi com meu outro notebook e meu celular, ou seja, de mim para mim mesmo, comigo mesmo =P.  O procedimento foi executado com sucesso em 3 notebooks bem distintos: um com wifi broadcom(meeedo =P) BCM4311, um com wifi intel PRO/Wireless 4965 AG or AGN e outro com com intel 3945abg(mais comum). Todos rodando ubuntu 8.10 ou Linux Mint 6(igual só que diferente).<span id="more-8"></span></p>
<p>O primeiro passo é configurar sua banda larga móvel. Eu tenho somente o VivoLag, ops, zap e é o único que não aparece na lista de provedores do brasil =/. Mas, não se preocupe, é fácil de configurar.  Ao conectar seu modem, o Ubuntu vai detectar e solicitar configuração. Como falei anteriormente, Vivo não está na lista, mas pra facilitar(ou não), escolha TIM na lista e vá apertando em avançar. Voilá conexão criada&#8230;Não? É, precisa configurar.</p>
<p>Clique com botão no applet do networkmanager e selecione &#8220;Editar conexões&#8221;;</p>
<p>Selecione a aba Banda Larga Móvel. Lá está nossa conexão TIM. Selecione e clique em editar. Se ele perguntar sobre o acesso ao chaveiro, clique no botão &#8220;sempre&#8221;.</p>
<p>Essa versão do Networkmanager possui um bug: ele não salva nada, mas eu achei um meio de fazer com que ele salve as configurações, mas antes vamos configurar:</p>
<p>Na primeira tela, em <strong>Básico</strong> preencha dessa forma:</p>
<p>Numero: *99#</p>
<p>Login: vivo</p>
<p>Senha: vivo</p>
<p>Em <strong>Avançado</strong>:</p>
<p>apn: zap.vivo.com.br</p>
<p>Ok, vá para a aba Protocolo Ponto-a-ponto(ppp)</p>
<p>Aqui está o pulo do gato para fazer a conexão da vivo funcionar:</p>
<p>Em <strong>Autenticação</strong> desmarque:</p>
<p>CHAP</p>
<p>MSCHAP</p>
<p>MSCHAPv2</p>
<p>EAP</p>
<p>Agora o macete para que ele salve as configurações:</p>
<p>Em baixo do nome da conexão, tem um checkbox(aquelas caixinhas de marcar) com a opção:</p>
<p><strong>Conectar automaticamente</strong></p>
<p>Marque, e  clique no botão OK.</p>
<p>Pronto, sua conexão está configurada.</p>
<p>Agora compartilhar:</p>
<p>Instale o pacote dnsmasq que é um mini servidor dhcp e dns forwarder(hã?). No console:</p>
<p>$sudo apt-get install dnsmasq &lt;enter&gt;</p>
<p>Depois de instalar voce precisa parar o serviço e fazer que ele não seja executado automaticamente no proximo reboot:</p>
<p>$sudo /etc/init.d/dnsmasq stop &lt;enter&gt;</p>
<p>$sudo chmod -x /etc/init.d/dnsmasq &lt;enter&gt;</p>
<p>ok feito isso, vamos criar a nossa rede para compartilhar a internet:</p>
<p>Clique com o botão <strong>esquerdo</strong> do mouse<strong> uma vez</strong> em cima do ícone do networkmanager e selecione a opção<strong> criar nova rede sem fios </strong>digite um SSID para a sua rede e aperte ok.</p>
<p>Pronto, o resto o próprio networkmanager faz incluindo as configurações no firewall, agora é só conectar e navegar =)</p>
<p>Abraço a todos e espero que tenha sido útil</p>
<p><strong><br />
</strong></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipph.wordpress.com/8/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipph.wordpress.com/8/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipph.wordpress.com/8/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=8&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://felipph.wordpress.com/2009/04/14/compartilhando-sua-banda-larga-movel-no-ubuntu-810/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/244a0e3a00faea61c571f336af3acde9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">felipph</media:title>
		</media:content>
	</item>
		<item>
		<title>Multiterminal com Ubuntu 6.10 Edgy</title>
		<link>http://felipph.wordpress.com/2006/12/08/multiterminal-com-ubuntu-610-edgy/</link>
		<comments>http://felipph.wordpress.com/2006/12/08/multiterminal-com-ubuntu-610-edgy/#comments</comments>
		<pubDate>Fri, 08 Dec 2006 14:33:58 +0000</pubDate>
		<dc:creator>Luiz Felipph</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://felipph.wordpress.com/2006/12/08/multiterminal-com-ubuntu-610-edgy/</guid>
		<description><![CDATA[Olá a todos hoje inicio uma série de posto ensinado como montar um sistema de multiterminal com o Ubuntu 6.10. Esse documento é baseado em um how-to escrito pela UFPR, que foi melhorado pelo Professor Ronald Costa e pelo que foi descrito no blog Netpatia ensinando como fazer a monstagem. Bem, vamos comecar com o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=3&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Olá a todos hoje inicio uma série de posto ensinado como montar um sistema de multiterminal com o Ubuntu 6.10. Esse documento é baseado em um how-to escrito pela UFPR, que foi melhorado pelo Professor <a href="http://www.ronaldcosta.com.br" target="_blank">Ronald Costa</a> e pelo que foi descrito no blog <a href="http://netpatia.blogspot.com/2006/09/multiseat-computer-with-ubuntu.html" target="_blank">Netpatia</a>  ensinando como fazer a monstagem.</p>
<p>Bem, vamos comecar com o básico: o que eu utilizei</p>
<ul>
<li> Uma CPU, no meu caso e utilizei um Semprom 2200+ com 512mb de Ram que tem som, video, rede onboard;</li>
<li>Duas (ou mais) placas de vídeo. Bem a placa mãe que utilizei tem uma pequena particularidade: quando uma placa de vídeo AGP é instalada, ela desativa automaticamente a onboard(chip via), acreditem, não tem qualquer configuração da placa onboard no setup(nem mesmo o tamanho da memória reservada);</li>
<li>Dois conjuntos teclado e mouse sendo um USB;</li>
<li>Dois monitores.</li>
</ul>
<p>A experiencia foi feita de N formas. Uma utilizando somente uma placa de vídeo(com saídas VGA e DVI) e conjunto teclado e mouse USB e PS2, uma utilizando duas placas de vídeo offboard(uma AGP e uma PCI) com o mesmo conjunto de teclados e mouses, outra com duas placas de vídeo (uma a onboard e uma PCI) com o mesmo conjuto de teclados e mouses e todas as formas a cima utilizando um adaptador USB para teclado e mouse PS2. Com todas as formas obtive sucesso.</p>
<p>Primeiramente vou descrever como fazer com duas placas de vídeo, um conjunto teclado e mose PS2 e outro conjunto USB. Por enquanto ligue somente o segundo monitor.</p>
<p>Começe ativando a segunda placa de vídeo no /etx/X11/xorg.conf:</p>
<p>pege o endereço físico das placas de vídeo :</p>
<p>#lspci |grep VGA</p>
<p><strong>01:00.0</strong> VGA compatible controller: nVidia Corporation NV34 [GeForce FX 5200] (rev a1)<br />
<strong>01:0a.0</strong> VGA compatible controller: nVidia Corporation TnT1<br />
.<br />
.</p>
<p>aqui temos um problema: o X não entede valores hexademais então converta-os para decimais: o &#8220;a&#8221; equivale a 10 então <strong>01:0a.0 </strong>equivale a<strong> </strong><strong>01:010.0</strong>. Os zeros na frente não fazem diferença entaõ fica:<strong>1:10.0.</strong></p>
<p>Faça um backup do arquivo de configuração existente em caso de problemas:</p>
<p>#cp /etc/X11/xorg.conf /etc/X11/xorg.conf.orig</p>
<p>Abra o arquivo:</p>
<p>#nano -w /etc/X11/xorg.conf</p>
<p>Na sessão &#8220;Devices&#8221; duplique a entrada que você tem pra sua placa de vídeo configurada:</p>
<pre>Section "Device"

  Identifier  "Card0" # Geforce Fx5200

  Driver      "nv"

  BusID       "PCI:<strong>1:0:0</strong>"

  Screen      0

EndSection</pre>
<pre>Section "Device"

  Identifier  "Card1" # Tnt1

  Driver      "nv"

  BusID       "PCI<strong>:1:10:0</strong>"

  Screen      0

EndSection</pre>
<p>Agora duplicamos os monitores:</p>
<pre>Section "Monitor"

  Identifier   "Monitor0"

  Option       "DPMS"

  HorizSync    30-70

  VertRefresh  50-160

  DisplaySize  320 240 # CRT 17" (81 DPI @ 1024x768)

EndSection</pre>
<pre>Section "Monitor"

  Identifier   "Monitor1"

  Option       "DPMS"

  HorizSync    30-70

  VertRefresh  50-160

  DisplaySize  320 240 # CRT 17" (81 DPI @ 1024x768)

EndSection</pre>
<p>Lembre-se de trocar o identificador(Identifier) e de configurar de acordo com o seu monitor.</p>
<p>Agora duplicaremos as telas(Screen):</p>
<pre>Section "Screen"

  Identifier  "Screen0"

  Device      "Card0" #identificador da placa de vídeo Geforce

  Monitor     "Monitor0" #Identificador do monitor 0

  SubSection  "Display"

    Depth  24

    Modes  "1024x768" "800x600" "640x480"

  EndSubSection

EndSection</pre>
<pre>Section "Screen"

  Identifier  "Screen1"

  Device      "Card1" #identificador da placa de vídeo Tnt1

  Monitor     "Monitor1" #Identificador do monitor 1

SubSection  "Display"

    Depth  24

    Modes  "1024x768" "800x600" "640x480"

  EndSubSection

EndSection</pre>
<p>Agora mexemos no layout do servidor X(apage o existente, ou comente):</p>
<pre>Section "ServerLayout"

  Identifier   "Multihead"

  Screen 0     "Screen0" 0 0

  Screen 1     "Screen1" LeftOf "Screen0"

  InputDevice  "Keyboard-base" "CoreKeyboard"

  InputDevice  "Mouse-base" "CorePointer"

EndSection</pre>
<p>temos o nosso arquivo assim a partir do Input Devices:</p>
<pre># ------------------------------------------------------------------------

# Input devices

# ------------------------------------------------------------------------
Section "InputDevice"

  Identifier  "Keyboard-base"

  Driver      "kbd"

EndSection

Section "InputDevice"

  Identifier  "Mouse-base"

  Driver      "mouse"

  Option      "Device" "/dev/input/mice"

EndSection

# ------------------------------------------------------------------------

# Dual head system.

# ------------------------------------------------------------------------

Section "Device"

  Identifier  "Card0" # Geforce Fx5200

  Driver      "nv"

  BusID       "PCI:<strong>1:0:0</strong>"

  Screen      0

EndSectionSection "Device"

  Identifier  "Card1" # Tnt1

  Driver      "nv"

  BusID       "PCI<strong>:1:10:0</strong>"

  Screen      0

EndSection

# ------------------------------------------------------------------------

# Monitor

# ------------------------------------------------------------------------

Section "Monitor"

  Identifier   "Monitor0"

  Option       "DPMS"

  HorizSync    30-70

  VertRefresh  50-160

  DisplaySize  320 240 # CRT 17" (81 DPI @ 1024x768)

EndSectionSection "Monitor"

  Identifier   "Monitor1"

  Option       "DPMS"

  HorizSync    30-70

  VertRefresh  50-160

  DisplaySize  320 240 # CRT 17" (81 DPI @ 1024x768)

EndSection

# ------------------------------------------------------------------------

# Screen section: criando as outras telas

# ------------------------------------------------------------------------

Section "Screen"

  Identifier  "Screen0"

  Device      "Card0"

  Monitor     "Monitor0"

  SubSection  "Display"

    Depth  24

    Modes  "1024x768" "800x600" "640x480"

  EndSubSection

EndSection

Section "Screen"

  Identifier  "Screen1"

  Device      "Card1"

  Monitor     "Monitor1"

  SubSection  "Display"

    Depth  24

    Modes  "800x600" "640x480"

  EndSubSection

EndSection

# ------------------------------------------------------------------------

# Layout section

# ------------------------------------------------------------------------

Section "ServerLayout"

  Identifier   "Multihead"

  Screen 0     "Screen0" 0 0

  Screen 1     "Screen1" LeftOf "Screen0"

  InputDevice  "Keyboard-base" "CoreKeyboard"

  InputDevice  "Mouse-base" "CorePointer"

EndSection

# ------------------------------------------------------------------------

# Aqui temos outras opções

# ------------------------------------------------------------------------

# Xephyr NÃO usa DRI então não é habilitado

# Section "DRI"

#   Mode 0666

# EndSection

Section "ServerFlags"

# se o mouse falhar o X starta

  Option "AllowMouseOpenFail" "yes"

# troca de terminais virtuais desabilitada

  Option "DontVTSwitch" "yes"

# X restart (Ctrl+Alt+Backspace) desabilitado

  Option "DontZap" "yes"

EndSection</pre>
<p>Repare na outras opções que eu coloquei, são úteis para impedir que um usuário &#8220;mate&#8221; o outro ;-P .</p>
<p>Reinicie o X (ainda funciona o Ctrl+Alt+Backspace =D )</p>
<p>Se tudo estiver ok você terá uma grande área de trabalho que se se estende ao 2º monitor.</p>
<p>Vamos agora ao que intereça o Multiterminal:</p>
<p>comece baixando e instalando a versão modificada do Xerphir.</p>
<pre># wget http://www.c3sl.ufpr.br/multiterminal/howtos/xephyr-precompiled.tar.bz2

# tar -xjf xephyr-precompiled.tar.bz2 --directory /usr/local/</pre>
<p>Agora plugue o outro conjuto de teclado e mouse USB.</p>
<p>Um novo problema chega: os números do eventos do teclado e mouse pode muda(acredite muda), para corrigir isso foicriado um script Wrapper para manter a associação de teclado e mouse ao seu respectivo terminal:</p>
<pre># nano -w /usr/sbin/Xephyr.sh</pre>
<pre>cole isso(shift+insert)</pre>
<pre>#!/bin/bash# 20060905 - josean - added get_event() function to obtain eventNN from a physical address

# Original version:

# http://en.wikibooks.org/wiki/Multiterminal_with_Xephyr

# http://www.c3sl.ufpr.br/multiterminal/howtos/Xephyr.sh

trap "" usr1

XEPHYR=/usr/local/bin/Xephyr

get_event()

{

  evento=`grep -A2 $1 /proc/bus/input/devices | grep 'H: Handlers=' | grep --only-matching -e 'event[0-9]*'`

}

args=()

while [ ! -z "$1" ]; do

 if [[ "$1" == "-xauthority" ]]; then

   shift

   if [ ! -z "$1" ]; then

     export XAUTHORITY="$1"

   fi

 elif [[ "$1" == "-display" ]]; then

   shift

   if [ ! -z "$1" ]; then

     export DISPLAY="$1"

   fi

 elif [[ "$1" == "-kbdphys" ]]; then

   shift

   if [ ! -z "$1" ]; then

     get_event $1

     args=("${args[@]}" "-keyboard")

     args=("${args[@]}" "/dev/input/$evento")

   fi

 elif [[ "$1" == "-mousephys" ]]; then

   shift

   if [ ! -z "$1" ]; then

     get_event $1

     args=("${args[@]}" "-mouse")

     args=("${args[@]}" "/dev/input/$evento,5")

   fi

 else

   if ! expr match $1 'vt[0-9][0-9]*' &gt;/dev/null; then

     args=("${args[@]}" "$1")

   fi

 fi

shift

done

# echo $XEPHYR "${args[@]}" &gt;&gt; /tmp/logXephyr

exec $XEPHYR "${args[@]}"</pre>
<p>Ssalve(alt+x depois &#8220;s&#8221; ou &#8220;y&#8221; dependendo da lingua do seu nano) .</p>
<p>Dê permissão de execução para ele:</p>
<pre># chmod +x /usr/sbin/Xephyr.sh</pre>
<p>Agora vamos pegar os endereços físicos do teclado e mouse editar o gdm.conf:</p>
<pre># cat /proc/bus/input/devices

I: Bus=0011 Vendor=0001 Product=0001 Version=ab41

N: Name="AT Translated Set 2 keyboard"

P: Phys=<strong>isa0060/serio0/input0</strong>

S: Sysfs=/class/input/input0

H: Handlers=kbd event0

B: EV=120013

B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe

B: MSC=10

B: LED=7I: Bus=0011 Vendor=0002 Product=0005 Version=0000

N: Name="ImPS/2 Generic Wheel Mouse"

P: Phys=<strong>isa0060/serio1/input0</strong>

S: Sysfs=/class/input/input1

H: Handlers=mouse0 event1 ts0

B: EV=7

B: KEY=70000 0 0 0 0 0 0 0 0

B: REL=103

I: Bus=0010 Vendor=001f Product=0001 Version=0100

N: Name="PC Speaker"

P: Phys=isa0061/input0

S: Sysfs=/class/input/input2

H: Handlers=kbd event2

B: EV=40001

B: SND=6

I: Bus=0003 Vendor=0d62 Product=001c Version=0202

N: Name="Darfon USB Combo Keyboard"

P: Phys=<strong>usb-0000:00:1d.1-1/input0</strong>

S: Sysfs=/class/input/input5

H: Handlers=kbd event4

B: EV=120003

B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe

B: LED=7

I: Bus=0003 Vendor=0d62 Product=001c Version=0202

N: Name="Darfon USB Combo Keyboard"

P: Phys=usb-0000:00:1d.1-1/input1

S: Sysfs=/class/input/input6

H: Handlers=kbd event5

B: EV=3

B: KEY=3078 d801d101 1e0000 0 0 0

I: Bus=0003 Vendor=046d Product=c03f Version=2000

N: Name="Logitech USB-PS/2 Optical Mouse"

P: Phys=<strong>usb-0000:00:1d.1-2/input0</strong>

S: Sysfs=/class/input/input8

H: Handlers=mouse1 event3 ts1

B: EV=7

B: KEY=f0000 0 0 0 0 0 0 0 0

B: REL=103</pre>
<p>Repare que hé uma duplicata do tecldo USB, isso ocorre com os teclados que tem funções especiais, ignore-os use o que tem final 0(zero).</p>
<p>agora vamos ao /etc/gdm/gdm.conf. Apague(ou comente) tudo abaixo de [servers] e coloque o que tem abaixo:</p>
<pre>
[servers]0=Xephyr0

1=Xephyr1

2=Xephyr2

[server-Xephyr0]

name=Xephyr0

command=/usr/bin/X -ac -br

handled=false

flexible=false

[server-Xephyr1]

name=Xephyr1

command=/usr/sbin/Xephyr.sh -display :0.0 -xauthority /var/lib/gdm/:0.Xauth -fullscreen -kbdphys <strong>isa0060/serio0/input0</strong> -mousephys <strong>isa0060/serio1/input0</strong> -use-evdev

handled=true

flexible=false

[server-Xephyr2]

name=Xephyr2

command=/usr/sbin/Xephyr.sh -display :0.1 -xauthority /var/lib/gdm/:0.Xauth -fullscreen -kbdphys <strong>usb-0000:00:1d.1-1/input0</strong> -mousephys <strong>usb-0000:00:1d.1-2/input0</strong> -use-evdev

handled=true

flexible=false</pre>
<p>Pronto, salve.</p>
<p>Um outro problema conhecido é o layout dos teclados, eles ficam faltando teclas ou com um posicionamento incorreto dos botões pra faça o download desse arquivo:<a href="http://www.c3sl.ufpr.br/multiterminal/howtos/xkb-evdev.tar.gz" class="external text" title="http://www.c3sl.ufpr.br/multiterminal/howtos/xkb-evdev.tar.gz" rel="nofollow">xkb-evdev.tar.gz</a>  e descompacte em /etc/X11:</p>
<pre>#tar -xf <a href="http://www.c3sl.ufpr.br/multiterminal/howtos/xkb-evdev.tar.gz" class="external text" title="http://www.c3sl.ufpr.br/multiterminal/howtos/xkb-evdev.tar.gz" rel="nofollow">xkb-evdev.tar.gz</a> --directory /etc/X11/</pre>
<p>Agora crie o arquivo /usr/X11R6/lib/X11/xkb/X1-config.keyboard com o conteúdo:</p>
<pre>rules = "evdev"
model = "abnt2"
layout = "br"</pre>
<p>copie ele para a outra estação trocando o 1 pelo 2:</p>
<pre>#cp /usr/X11R6/lib/X11/xkb/X<strong>1</strong>-config.keyboard /usr/X11R6/lib/X11/xkb/X<strong>2</strong>-config.keyboard</pre>
<p>Isso você faz para N estações.</p>
<p>Agora reinicie o gdm:</p>
<pre>#/etc/init.d/gdm restart</pre>
<p>Se tudo estiver certo vai aparecer uma tela de login em cada monitor verifique se os teclados e mouses estão ok</p>
<p>Pronto você terá dois terminais independentes com bom desempenho.</p>
<p>Bug conhecido: insert. Ele abre o Tocador de Musica. Até agora não conseguir resolver isso, porém, eleminando atalho(Sistema&gt;Preferências&gt;Atlhos do teclado) o insert funciona corretamente.</p>
<p>Em breve postarei fotos do multiterminal funcionnado.</p>
<p>Obrigado a todos que leram, em caso de erros comentem.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/felipph.wordpress.com/3/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/felipph.wordpress.com/3/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/felipph.wordpress.com/3/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/felipph.wordpress.com/3/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/felipph.wordpress.com/3/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=felipph.wordpress.com&amp;blog=599976&amp;post=3&amp;subd=felipph&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://felipph.wordpress.com/2006/12/08/multiterminal-com-ubuntu-610-edgy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/244a0e3a00faea61c571f336af3acde9?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">felipph</media:title>
		</media:content>
	</item>
	</channel>
</rss>
