You are on page 1of 299

Linux,

Entendendo o Sistema

Carlos E. Morimoto
Muita gente usa Windows sem utilizar nada muito além das funções básicas. Da mesma forma, muita
gente usa Linux sem entender como o sistema funciona, sem saber como resolver problemas comuns e
sem usar mais do que alguns dos programas pré-instalados.

Até certo ponto, é mais difícil ensinar Linux, pois existem muitas distribuições diferentes, com conjuntos
diferentes de programas e utilitários de configuração. Existem também as diferenças entre o KDE e o
Gnome e as diferenças na instalação dos programas, só para citar alguns fatores.

Mas, na minha opinião, não existe sistema difícil, existem livros e tutoriais mal escritos ;). Este é um livro
dedicado a mostrar como o Linux funciona, que explica as diferenças entre as principais distribuições e se
aprofunda em duas delas: O Kurumin e o Ubuntu. A maior parte das dicas também se aplicam ao Debian
e a outras distribuições derivadas dele, dando-lhe uma boa base para utilizar também outras distribuições.

Normalmente, os usuários Linux acabam adquirindo também conhecimentos sobre hardware,


fundamentos sobre programação e outras áreas relacionadas. Isso acontece pois tradicionalmente as
distribuições Linux sempre foram mais complicadas de usar, obrigando quem usa a resolver mais
problemas e desenvolver mais habilidades.

Hoje em dia isso não é mais correto em todos os casos. Já existem distribuições muito fáceis de usar,
embora distribuições "difíceis" como o Debian (puro) e o Slackware ainda continuem bastante usadas. O
caminho natural é começar usando o Kurumin, Slax, Knoppix ou outro live-CD e, a partir de um certo
ponto, começar a testar as distribuições mais tradicionais.

Um usuário Linux avançado conhece diversos programas e sabe trabalhar em diversas distribuições
diferentes. Apesar de existirem muitas diferenças entre elas, os componentes do sistema continuam
fundamentalmente os mesmos. Por isso, conhecendo as diferenças gerais, é possível dominar várias
distribuições diferentes sem tanto esforço.

Este é um livro para iniciantes, no sentido de que você não precisa de muitos conhecimentos prévios para
acompanhá-lo, mas sem cair no erro de se limitar apenas a explicações superficiais. Este não é um livro
que se destina a fazer propaganda ou mostrar como é fácil usar Linux, mas que mostra o sistema como ele
é, lhe oferecendo uma curva acentuada de aprendizado.

Ele começa do básico, explicando o básico sobre hardware, redes e programação, para depois abordar as
diferenças entre as distribuições e os componentes básicos do sistema partindo em seguida para a parte
prática. Uma das grandes preocupações é explicar de forma clara, lhe tratando como a pessoa inteligente
que é.
Capitulo 1: Introdução

O sistema operacional é o responsável por "dar vida" ao PC, fazer a placa de vídeo
mandar imagens para o monitor, a placa de rede enviar e receber dados e assim
por diante. Ele é o responsável por fazer as coisas funcionarem e rodar os
programas da forma mais estável e rápida possível.

Existem vários sistemas operacionais, que servem às mais diversas aplicações, de


servidores a celulares. O Linux é um sistema livre, o que significa que ele não é
desenvolvido por uma única empresa ou organização, ele é a soma dos esforços de
uma comunidade mundial, que inclui tanto empresas quanto desenvolvedores
autônomos.

O código fonte é aberto, o que permite que qualquer interessado estude e


modifique o sistema. Muitas destas melhorias acabam sendo incorporadas ao
sistema principal, fazendo com que ele evolua muito rápido.

Um pouco sobre a história do Linux

Paralelamente à história da informática que conhecemos, com a IBM lançando seu


IBM PC em 1981, o MS-DOS e as várias versões do Windows, existiram várias
versões dos sistemas Unix, como o Solaris e o AIX que reinaram durante muito
tempo nos servidores.

Mas, o Windows foi o primeiro sistema operacional amigável e acessível, que o


transformou numa espécie de opção default para micros domésticos. A Apple tinha
o Mac OS, outro sistema amigável e superior ao Windows em muitos aspectos, mas
que só rodava nos computadores produzidos pela própria Apple, muito mais caros
que os PCs.

Quem precisava de um sistema robusto e confiável para seus servidores optava por
uma das várias versões do Unix, profissionais da área gráfica usavam Macs e o
resto convivia com os problemas do Windows.

O Linux surgiu de uma forma completamente despretensiosa, como o projeto de


um estudante Finlandês. Muitos sistemas são desenvolvidos como projetos de
conclusão de curso ou apenas por hobby. O que permitiu que o Linux se
transformasse no que é foi uma grande combinação de fatores e alguma dose de
sorte.

Tudo começou em 1983, pouco depois que a IBM lançou seu primeiro PC e a
Microsoft sua primeira versão do DOS. Richard Stallman criava a Free Software
Fundation, que ao longo da década produziu a licença GNU e toda a base filosófica
relacionada a ela e, mais importante, um conjunto de ferramentas, como o editor
Emacs e o compilador GCC.

O Emacs é um editor de texto que combina uma grande quantidade de recursos e


ferramentas úteis para programadores. O GCC é o compilador que permite
transformar o código escrito nele em arquivos executáveis. A idéia era desenvolver
um sistema operacional completo, mas para isso faltava a peça principal: o Kernel.

Imagine o Kernel como o cérebro e o coração de um sistema operacional. Ele


sozinho não serve para nada, mas sem ele o resto do corpo também não vai muito
longe. Em 1991, a Free Software Fundation ainda estava dando os primeiros passos
no desenvolvimento do Hurd (que ainda hoje está muito longe se ser concluído),
enquanto o Linux de Linus Torvalds era utilizável desde suas primeiras versões. O
corpo encontrava o cérebro.

O fato do código fonte estar amplamente disponível e poder ser utilizado de forma
muito liberal permitiu que muitos desenvolvedores passassem a trabalhar no
sistema ainda em sua fase embrionária, adicionando novos recursos num ritmo
muito rápido. Mas, durante os primeiros anos, o Linux ficou restrito a este círculo
técnico, muito longe de ser usado em larga escala.

Isso começou a mudar com o aparecimento da Internet. O Apache foi um dos


primeiros servidores web a ser lançado e tornou-se rapidamente o mais usado
numa época em que existiam poucos concorrentes à altura. O Apache rodava em
várias plataformas, mas o Linux tornou-se a opção mais comum, por ser rápido e
estável.

Pouco tempo depois veio o servidor Samba, que permitia compartilhar arquivos
numa rede Windows, de forma mais estável e mais barata que usando um servidor
Windows. Novamente, o Linux tornou-se a opção preferida. Depois, vieram os
bancos de dados e muitas outras aplicações, mas todas tinham algo em comum:
sempre falávamos de servidores.

Por volta do final de 1994 foi lançada a primeira versão for Linux do Xfree. Ele é um
"servidor gráfico", uma interface gráfica usada em vários sistemas Unix. Antes do
Xfree, o Linux tinha apenas a velha interface de modo texto, o que explicava o fato
de ele ser popular apenas entre programadores e administradores de sistemas. Em
2004, o Xfree passou a ser gradualmente substituído pelo X.org.

Uma coisa interessante sobre o X é que ele fornece a fase para o funcionamento da
parte gráfica, incluindo o suporte à placa de vídeo e mouse, mas não inclui a
interface em si. Graças a isso, não existe uma interface gráfica padrão como temos
no Windows, por exemplo.

Existem no Linux várias interfaces diferentes, conhecidas como gerenciadores de


janelas. No início existiam muitas interfaces diferentes, mas nenhuma chegava
próxima do nível de funcionalidade e integração que existe no Windows. Isto
mudou com o aparecimento do KDE (que é a interface usada por padrão em
diversas distribuições, incluindo o Mandriva, SuSE e o Kurumin) e mais tarde
também com o Gnome.
Ainda por volta de 1994 começaram a surgir as primeiras distribuições Linux, que
eram um jeito mais "fácil" de instalar o sistema. Ao invés de ficar compilando tudo,
começando pelo Kernel e passando por todos os aplicativos da Free Software
Fundation, Xfree e o que mais você pretendesse rodar, você simplesmente passava
alguns dias editando arquivos de configuração com a ajuda de alguns manuais mal
escritos. Para você ter uma idéia do tamanho da encrenca, uma das distribuições
consideradas mais "amigáveis" na época era o Slackware, ainda em suas primeiras
versões.

Se você é algum saudosista desta época em que "homens eram homens e


compilavam seus sistemas do zero", sinta-se livre para pesquisar no Google sobre o
"Linux from Scratch", um passo a passo (com muitos passos...) que ensina como
fazer isso. Pobres mortais como eu, possuem coisas mais urgentes e menos chatas
a fazer... ;-).

Uma distribuição é um conjunto com o Kernel e vários programas, empacotado de


forma que seja fácil de instalar e manter atualizado. Uma das primeiras versões
com foco na facilidade de uso foi o Red Hat, que serviu de base para um grande
número de distribuições, como o Mandrake, SuSE e Conectiva.

O Red Hat trouxe uma idéia nova, que foi rapidamente adotada em todas as outras
distribuições: um sistema de gerenciamento de pacotes. Cada programa incluído
era transformado num pacote compactado, que podia ser instalado através de um
único comando. O sistema guardava as informações dos pacotes instalados
permitindo que você pudesse removê-los depois. Não era tão amigável quanto
clicar num executável e ter um instalador gráfico e, existiam problemas com
dependências (um pacote precisa do outro, que precisa do outro, que precisa do
outro...), mas já era muito melhor que sair compilando as coisas na unha.

Por volta de 1997 já existiam um conjunto de distribuições relativamente fáceis de


usar, com sistemas de instalação relativamente simples, do tipo que um técnico
médio consegue seguir sozinho com a ajuda do manual.

Nesta época algumas empresas passaram a portar seus sistemas e utilizar o Linux
como uma forma de reduzir seus custos com licenciamento e manutenção
(imunidade a vírus, menos travamentos, menos reinstalações do sistema; quem já
usou o Windows 3.11 ou o 95 sabe do que estou falando...). O Linux dava seus
primeiros passos no desktop, mas ainda existiam poucos aplicativos que
rivalizassem em recursos e facilidade de uso com os do Windows.

Nos anos seguintes houve um crescimento espantoso. Aquele sistema feio, difícil de
usar, famoso apenas por ser estável e bom para servidores ganhou o KDE e o
Gnome, finalmente duas interfaces bonitas e fáceis de usar, ferramentas de
configuração automática e um grande número de aplicativos, incluindo
compatibilidade com alguns programas e jogos do Windows através do Wine, o que
levou a um número cada vez maior de desenvolvedores e usuários.

Ao contrário de um sistema comercial, com todo o planejamento e estruturas


envolvidas, o Linux é desenvolvido de forma descentralizada. Qualquer um pode
pegar o código de algum programa, adaptá-lo, acrescentar novos recursos e
transformá-lo em algo diferente do original, com aplicações que o autor original não
seria capaz de sequer sonhar.

Isto cresce em escala geométrica, como uma bola de neve que vai crescendo e
passando por cima de quem se atrever a oferecer resistência.

A licença GPL, pode ser resumida em 4 direitos básicos e uma obrigação:

1- Você tem o direito de usar o programa para qualquer fim. Não existe
discriminação. Um exemplo é que ninguém pode impedir que um programa GPL
seja usado numa clínica de aborto ou numa instalação militar, por exemplo.

2- Você tem o direito de tirar cópias do programa, distribuí-las ou até mesmo


vendê-las a quem tiver interesse. Existe a possibilidade de ganhar algum dinheiro
vendendo CDs gravados, por exemplo, mas como todo mundo pode fazer a mesma
coisa, é preciso vender por um preço relativamente baixo, cobrando pelo trabalho
de gravação e não pelo software em si, que está largamente disponível. A forma
mais eficiente de ganhar dinheiro com software livre é vender suporte e serviços de
personalização sobre os programas e distribuições que você domina. Para o cliente
acaba sendo vantajoso, pois o custo de implantação será o gasto com a consultoria
e treinamentos, enquanto ao implantar um software comercial qualquer ele gastaria
também com as licenças de uso.

3- Direito de ter acesso ao código fonte do programa, fazer alterações e redistribuí-


las. Para um programador este é o principal atrativo, pois você pode criar novos
projetos usando como base o código fonte de programas já existentes ao invés de
ter sempre que começar do zero, sem falar na grande oportunidade de aprendizado
que examinar o código fonte dos programas disponíveis propicia.

4- Direito (e ao mesmo tempo a obrigação) de redistribuir as modificações feitas.


Este é o ponto onde existem mais mal-entendidos. Se você desenvolve um software
por hobby, ou por usá-lo internamente na sua empresa, e não possui interesse em
explorá-lo comercialmente, você pode simplesmente divulgar o código fonte para
todo mundo, o que é o caminho mais lógico se você pretende atrair outros
interessados em ajudá-lo no desenvolvimento. Mas, caso você pretenda receber
pelo seu trabalho de desenvolvimento, existem duas opções:

a) Você pode distribuir o software livremente para aumentar a base de usuários e


ganhar vendendo suporte, treinamentos e personalizações ou:

b) Você só é obrigado a distribuir o código fonte a quem obtém o software, de


forma que você pode trabalhar batendo de porta a porta, vendendo o software para
alguns clientes específicos e fornecendo o código fonte apenas para eles. Não existe
nada de errado com este modelo, mas você perde a possibilidade de ter
contribuições de outros desenvolvedores, o que pode ser ruim a longo prazo.

5- Os softwares distribuídos sob a GPL não "contaminam" softwares comerciais ou


de outras licenças no caso de distribuição conjunta. Por exemplo, uma revista pode
distribuir alguns softwares GPL no meio de um monte de aplicativos fechados na
mesma edição. Os softwares GPL continuam sendo GPL, com todas regras que
vimos acima, enquanto os softwares comerciais continuam sendo fechados. A
revista deve incluir o código fonte dos aplicativos GPL (ou pelo menos a informação
de como obtê-los via internet), mas naturalmente não precisa fazer o mesmo com
os outros aplicativos incluídos no CD.

Você pode também usar algum software GPL em conjunto com o seu aplicativo
comercial, desenvolvendo um aplicativo qualquer que utiliza o Postgree SQL (um
servidor de banco de dados), por exemplo. O Postgree SQL continua sendo GPL e o
seu aplicativo continua sendo fechado; qualquer um pode usar e tirar cópias do
Postgree SQL, mas você controla a distribuição do seu aplicativo. Uma coisa não
interfere com a outra.

Um exemplo: desenvolvi o Kurumin usando como base dois projetos já existentes,


o Knoppix e o Debian. O Knoppix entrou com sistema de detecção de hardware e
configuração automática e o Debian com toda a base do sistema, como os pacotes
e ferramentas de administração como o apt-get. Ao invés de ter que ficar
compilando tudo, posso usar os pacotes do Debian que já estão prontos; e, ao
invés de ficar desenvolvendo mais um ferramenta de detecção, posso usar o
sistema do Knoppix que funciona extremamente bem.

Como a parte funcional do sistema já está pronta, posso trabalhar personalizando o


sistema, desenvolvendo scripts de instalação, ferramentas de configuração,
adicionando novos recursos e corrigindo problemas. Começo do ponto aonde os
outros já chegaram, aproveitando todo o esforço anterior.

Quando alguém desenvolve um projeto derivado, uma outra distribuição Linux


usando o Kurumin como base, como o Kalango ou o Dizinha, ganho novamente,
pois posso utilizar as correções e novos recursos adicionados neles.

Muitas pessoas que utilizam o Kurumin acabam contribuindo com soluções para
problemas e melhorias diversas. Para eles é interessante fazer isso, pois os
problemas são resolvidos nas novas versões, evitando que eles precisem ficar
corrigindo manualmente os novos problemas indefinidamente.
O Linux hoje

Hoje em dia já existem ferramentas suficientes para desenvolver distribuições


muito fáceis de usar. Quase toda a configuração do sistema pode ser feita de forma
automática e não é mais necessário sequer instalar o sistema, pois ele pode rodar a
partir do CD-ROM, como no caso do Kurumin. Existem ainda um grande número de
distribuições especializadas, destinadas a públicos específicos: artistas gráficos,
multimídia, escolas, servidores e assim por diante.

A instalação de novos programas é mais simples na maioria dos casos, pois os


programas são mais acessíveis. Você não precisa gastar um monte de dinheiro, ou
ir até o camelô da esquina e depois ficar zanzando pelos sites de cracks (e pegar
mais vírus...) para conseguir rodar sua cópia ilegal. Na maioria dos casos basta
baixar o programa e instalar.

Gerenciadores como o apt-get são capazes de baixar os pacotes da internet e fazer


toda a instalação automaticamente, de forma bem mais simples que no Windows,
onde você precisa comprar o CD com o programa, instalar, registrar e muitas vezes
ainda perder tempo removendo spywares ou propagandas.

Com exceção de aplicativos muito especializados, como o AutoCAD, Corel e


Premier, existem boas alternativas para quase todas as áreas e existe suporte a
programas nativos do Windows através do Wine (que devagar vai aumentando sua
lista de compatibilidade) ou através do VMware, que aborda o problema de uma
forma diferente, permitindo rodar uma cópia completa do Windows dentro de uma
janela. Ainda existem deficiências, mas por outro lado também vários pontos em
que o Linux já é mais forte.

Existe ainda suporte à quase todo tipo de hardware: mesmo softmodems, scanners
e câmeras digitais não são um problema se você pesquisar um pouco antes de
comprar.

Apesar de todos os progressos em termos de facilidade de uso, notícias sobre vírus,


trojans e pragas em geral para Linux são raras, ao contrário do que vemos no
mundo Windows. Você não precisa sacrificar o desempenho da sua máquina
mantendo um antivírus ativo e atualizando-o religiosamente apenas para ser no
final surpreendido pela última versão do vírus da moda que chegou por e-mail.

É comum ouvir notícias de servidores Linux que estão ligados há vários anos, de
forma contínua, sem nunca serem reiniciados ou invadidos. Ao usar um micro com
componentes de boa qualidade, é possível ter uma amostra desta estabilidade
mesmo num desktop. Uma instalação bem feita pode durar meses ou até anos.
Mesmo muitas pessoas leigas, que usam o micro apenas para navegar e ler e-mails
estão migrando para o Kurumin ou outras distribuições fáceis de usar, a fim de
fugir dos travamentos e vírus.

Como a filosofia Open Source privilegia a troca de informações e a cooperação, é


fácil achar informações na web e, se você for educado, ajuda nos fóruns. Como em
qualquer sociedade é possível encontrar todo tipo de pessoas, existem alguns
grupos elitistas e gente mal-educada, mas em geral eles são as exceções, não a
regra. Como usuário ou como desenvolvedor, você tem acesso a uma grande
quantidade de informação e a chance de aprender mais.

O foco deste livro é explicar a estrutura do sistema, mostrar os programas e


ferramentas de instalação disponíveis e abordar em detalhes a instalação e
configuração. O objetivo é fornecer a base necessária para que você consiga
trabalhar com várias distribuições.

Neste livro abordo três distribuições: o Kurumin, que apesar de ser um projeto
pessoal acabou se tornando uma das mais usadas no Brasil; o Ubuntu, outra
distribuição com foco na facilidade de uso que vem crescendo rapidamente; e o
Slax, uma distribuição derivada do Slackware, que é uma forma mais fácil e
agradável de aprender a trabalhar com ele.

Este é um livro para quem está interessado em entender como o sistema funciona,
aproveitar melhor os muitos recursos disponíveis e aprender a resolver problemas.
É um livro para iniciantes, mas que oferece uma curva acentuada de aprendizado
abordando muitos aspectos avançados e macetes do sistema.

Como um PC funciona

Antes de começar a falar sobre as diferentes distribuições Linux, vamos começar


com algumas noções básicas sobre como um PC atual funciona, para que você
possa começar a entender melhor a coisa do ponto de vista do sistema operacional.

Existem duas maneiras de representar uma informação: analogicamente ou


digitalmente. Uma música é gravada numa fita K7 de forma analógica, codificada
na forma de uma grande onda de sinais magnéticos, que pode assumir um número
ilimitado de freqüências. Um som grave seria representado por um ponto mais
baixo da onda, enquanto um ponto mais alto representaria um som agudo.

O sistema digital, por sua vez, permite armazenar qualquer informação na forma de
uma seqüência de valores positivos e negativos, ou seja, na forma de uns e zeros.
O número 181, por exemplo, pode ser representado digitalmente como 10110101.
Qualquer tipo de informação, seja um texto, uma imagem, um vídeo, um
programa, ou qualquer outra coisa, será processado e armazenado pelo
computador na forma de uma grande seqüência de uns e zeros.

Os computadores são o exemplo claro do cúmulo da burrice, afinal eles só


conhecem dois valores e precisam adaptar tudo a esta concepção limitada que
possuem. Eles também não são capazes de tomar decisões por mais simples que
sejam, pois um e zero não dão margem para interpretação. Um é um, zero é zero e
ponto final.

Sempre existe um ser humano orientando o computador e dizendo a ele o que


fazer a cada passo. Seja você mesmo, teclando e usando o mouse, ou, num nível
mais baixo, o programador que escreveu os programas que você está usando.

Quando o computador trava significa justamente que chegou a uma situação onde
ele não sabe o que fazer. O programador estava com sono e esqueceu de fechar
alguma função ou de verificar alguma variável. Como disse, o computador não sabe
lidar com situações inesperadas: quando não sabe o que fazer, simplesmente
empaca.

Sempre que alguém lhe disser que "não entende nada de computadores", explique
que é impossível ser mais burro que eles. Lembre-se de que você é o ser pensante
que está no comando.
Mas, por outro lado, é justamente o uso do sistema binário que torna os
computadores confiáveis, pois a possibilidade de um valor 1 ser alterado para um
valor 0, o oposto, é muito pequena. Lidando com apenas dois valores diferentes, a
velocidade de processamento também torna-se maior, devido à simplicidade dos
cálculos.

Imagine que os computadores são os funcionários perfeitos: eles não se importam


de ficar fazendo tarefas repetitivas por longos períodos, não reclamam de ficar
trabalhando durante a madrugada baixando um arquivo ou compactando um vídeo,
não tiram férias e ainda por cima não recebem salário! Tudo bem, eles travam de
vez em quando, mas por outro lado fazem tudo o que você manda no resto do
tempo :-P.

Cada um ou zero que é processado ou armazenado é chamado de "bit", contração


de "binary digit" ou "dígito binário". Um conjunto de 8 bits forma um byte, e um
conjunto de 1024 bytes forma um Kilobyte (ou Kbyte).

O número 1024 foi escolhido por ser a potência de 2 mais próxima de 1000. É mais
fácil para os computadores trabalharem com múltiplos de dois do que usar o
sistema decimal como nós. Seja compreensivo com as limitações de nossos pobres
serviçais: lembre-se de que você é mais inteligente do que eles, então como todo
ser superior é seu dever fazer algumas concessões de vez em quando ;).

Um conjunto de 1024 Kbytes forma um Megabyte e um conjunto de 1024


Megabytes forma um Gigabyte. Os próximos múltiplos são o Terabyte (1024
Gibabytes) e o Petabyte (1024 Terabytes), Exabyte, Zetabyte e o Yotabyte, que
equivale a 1,208,925,819,614,629,174,706,176 bytes :).

Não se sabe se algum dia todos estes múltiplos chegarão a realmente ser usados.
Para armazenar um Yottabyte inteiro, usando tecnologia atual, seria necessário
construir uma estrutura colossal de servidores.
Imagine que, para manter os custos baixos, fosse adotada uma estratégia estilo
Google, usando PCs comuns, com HDs IDE. Cada PC seria equipado com 4 HDs de
250 GB, o que resultaria em aproximadamente 1 Terabyte por PC. Estes PCs são
então organizados em enormes racks, onde cada rack tem espaço para 1024 PCs.
Os PCs de cada rack são ligados a um conjunto de switchs e cada grupo de switchs
é ligado a um grande roteador. Uma vez ligados em rede, os 1024 PCs são
configurados para atuar como um enorme cluster, trabalhando como se fossem um
único sistema.

Construímos então um enorme galpão, capaz de comportar 1024 destes racks,


construindo uma malha de switchs e roteadores capaz de ligá-los em rede com um
desempenho minimamente aceitável. Este galpão precisa de um sistema de
refrigeração colossal, sem falar da energia consumida pelo mais de um milhão de
PCs dentro dele, por isso construímos uma usina hidrelétrica para alimentá-lo,
represando um rio próximo.

Com tudo isso, conseguimos montar uma estrutura computacional capaz de


armazenar 1 Exabyte. Ainda precisaríamos construir mais 1.048.575 mega-
datacenters como este para chegar a 1 Yottabyte. Se toda a humanidade se
dividisse em grupos de 6.000 pessoas cada um e cada grupo fosse capaz de
construir um ao longo de sua vida, deixando de lado outras necessidades
existenciais, poderíamos chegar lá :-P.

Voltando à realidade, usamos também os termos Kbit, Megabit e Gigabit, para


representar conjuntos de 1024 bits. Como um byte corresponde a 8 bits, um
Megabyte corresponde a 8 Megabits e assim por diante. Quando você compra uma
placa de rede de "100 megabits" está na verdade levando para a casa uma placa
que transmite 12.5 megabytes por segundo, pois cada byte tem 8 bits.

Quando vamos abreviar, também existe diferença. Quando estamos falando de


Kbytes ou Megabytes, abreviamos respectivamente como KB e MB, sempre com o B
maiúsculo.

Por outro lado, quando estamos falando de Kbits ou Megabits abreviamos da


mesma forma, porém usando o B minúsculo: Kb, Mb e assim por diante. Parece só
um daqueles detalhes sem importância, mas esta é uma fonte de muitas confusões.
Se alguém anuncia no jornal que está vendendo uma "placa de rede de 1000 MB",
está dando a entender que a placa trabalha a 8000 megabits e não a 1000.

Você tem uma boa chance de ficar rico (e ter que fugir pouco tempo depois ;),
anunciando pendrives de 4 Gb (Gigabits), pentes de memória de 8 Gb e HDs de
2000 Tb (Terabits), por preços pouca coisa maiores que os de 512 MB, 1 GB e 250
GB dos concorrentes :-p.

Os componentes básicos

Qualquer PC é composto pelos mesmos componentes básicos: processador,


memória, HD, placa- mãe e placa de vídeo. A partir daí você pode adicionar placas
de rede, modems, placas de som e outros periféricos. Com o micro montado, o
próximo passo é instalar o sistema operacional e programas, que finalmente vão
permitir que ele faça algo de útil. Vamos começar com um overview da função de
cada um destes componentes:
Processador

O processador é o cérebro do sistema, encarregado de processar todas as


informações. Ele também é o componente onde são usadas as tecnologias mais
recentes. Existem no mundo apenas quatro grandes empresas com tecnologia para
fabricar processadores competitivos para micros PC: a Intel (que domina mais de
70% do mercado), a AMD, Via (que comprou a antiga Cyrix e atualmente fabrica os
chips Via C3 e C7) e a IBM, que fabrica processadores para outras empresas, como
a Transmeta.

O processador é o componente mais complexo e freqüentemente o mais caro, mas


ele não pode fazer nada sozinho. Como todo cérebro, ele precisa de um corpo, que
é formado pelos outros componentes do micro, incluindo memória, HD, placa de
vídeo e de rede, monitor, teclado e mouse.

Dentro do mundo PC, tudo começou com o 8088, lançado pela Intel em 1979 e
usado no primeiro PC, lançado pela IBM em 1981. Depois veio o 286, lançado em
1982, e o 386, lançado em 1985.

O 386 pode ser considerado o primeiro processador moderno, pois foi o primeiro a
incluir o conjunto de instruções básico, usado até os dias de hoje. O 486, que ainda
faz parte das lembranças de muita gente que comprou seu primeiro computador foi
lançado em 1989, mas ainda era comum encontrar micros com ele à venda até por
volta de 1997.

Depois entramos na era atual, inaugurada pelo Pentium, que foi lançado em 1993,
mas demorou alguns anos para se popularizar e substituir os 486. Em 1997 foi
lançado o Pentium MMX, que deu um último fôlego à plataforma. Depois, em 1997,
veio o Pentium II, que usava um encaixe diferente e por isso era incompatível com
as placas-mãe antigas. A AMD soube aproveitar a oportunidade, desenvolvendo o
K6-2, um chip com uma arquitetura similar ao Pentium II, mas que era compatível
com as placas antigas.

A partir daí as coisas passaram a acontecer mais rápido. Em 1999 foi lançado o
Pentium III e em 2000 o Pentium 4, que trouxe uma arquitetura bem diferente dos
chips anteriores, otimizada para permitir o lançamento de processadores que
trabalham a freqüências mais altas.
O último Pentium III trabalhava a 1.0 GHz, enquanto o Pentium 4 atingiu
rapidamente os 2.0 GHz, depois 3 GHz e depois 4.0 GHz. O problema é que o
Pentium 4 possui um desempenho por ciclo de clock inferior a outros
processadores, o que faz com que a alta freqüência de operação sirva
simplesmente para equilibrar as coisas. A primeira versão do Pentium 4 operava a
1.3 GHz e, mesmo assim, perdia para o Pentium III de 1.0 GHz em algumas
aplicações.

Quanto mais alta a freqüência do processador, mais ele esquenta e mais energia
consome, o que acaba se tornando um grande problema. Em 2003 a Intel lançou o
Pentium M, um chip derivado da antiga arquitetura do Pentium III, que consome
pouca energia, esquenta pouco e mesmo assim oferece um excelente desempenho.
Um Pentium M de 1.4 GHz chega a superar um Pentium 4 de 2.6 GHz em diversas
aplicações.

O Pentium M foi desenvolvido originalmente para ser usado em notebooks, mas se


mostrou tão eficiente que a arquitetura está sendo adotado como base para o
desenvolvimento dos futuros chips Intel, que combinarão dois ou quatro
processadores no mesmo chip.

Paralelamente a todos estes processadores, temos o Celeron, uma versão mais


barata, mas com um desempenho um pouco inferior, por ter menos cache. Na
verdade, o Celeron não é uma família separada de chips, mas apenas um nome
comercial usado nas versões mais baratas (com metade ou um quarto do cache) de
vários processadores Intel. Existem Celerons baseados no Pentium II, no Pentium
III, no Pentium 4 e agora no Pentium M.

Para efeito de comparação, entre os chips antigos e os atuais, um 486 tinha cerca
de 1 milhão de transistores e chegou a 133 MHz, enquanto o Pentium MMX tinha
4.3 milhões e chegou a 233 MHz. Um Pentium 4 (Prescott) tem 125 milhões e
chega a 4.0 GHz. O transistor é a unidade básica do processador, capaz de
processar um bit de cada vez. Mais transistores permitem que o processador
processe mais instruções de cada vez enquanto a freqüência de operação
determina quantos ciclos de processamento são executados por segundo.

A AMD, por sua vez, começou produzindo processadores 386 e 486, muito similares
aos da Intel, porém mais baratos. Quando a Intel lançou o Pentium, que exigia o
uso de novas placas-mãe, a AMD lançou o "5x86", um 486 de 133 MHz, que foi
bastante popular, servindo como uma opção barata de upgrade. Embora o "5x86" e
o clock de 133 MHz dessem a entender que se tratava de um processador com um
desempenho similar a um Pentium 133, o desempenho era muito inferior, mal
concorrendo com um Pentium 66. Este foi o primeiro de uma série de exemplos,
tanto do lado da AMD, quanto do lado da Intel, em que existiu uma diferença
gritante entre o desempenho de dois processadores do mesmo clock. Embora seja
um item importante, a freqüência de operação não é um indicador direto do
desempenho do processador.
Uma analogia poderia ser feita em relação aos motores de carro. Os motores de 1.6
do final da década de 70, usados nas Brasílias e Fuscas, tinham 44 cavalos de
potência, enquanto os motores 1.0 atuais chegam a mais de 70 cavalos. Além da
capacidade cúbica, existem muitos outros fatores, como a eficiência do sistema de
injeção de ar e combustível, taxa de compressão, refrigeração, etc.

Depois do 5x68 a AMD lançou o K5, um processador similar ao Pentium, mas que
não fez tanto sucesso. Ele foi seguido pelo K6 e mais tarde pelo K6-2, que
novamente fez bastante sucesso, como uma opção barata, e ao mesmo tempo
como uma opção de upgrade para quem tinha um Pentium ou Pentium MMX.

Esta era do K6-2 foi uma época negra da informática, não pelo processador em si
(que excluindo o desempenho em jogos, tinha um bom custo-benefício), mas pelas
placas-mãe baratas que inundaram o mercado. Aproveitando o baixo custo do
processador, os fabricantes passaram a desenvolver placas cada vez mais baratas
(e de qualidade cada vez pior) para vender mais oferecendo PCs de baixo custo. A
época foi marcada por aberrações. Um certo fabricante chegou a lançar uma família
de placas sem cache L2, que pifavam em média depois de um ano de uso.

As coisas voltaram aos trilhos com o Athlon, que foi o primeiro grande processador
(tanto em desempenho, quanto em tamanho :) da AMD. A primeira versão usava
um formato de cartucho (slot), similar ao Pentium II, mas incompatível com as
placas para ele. Ele foi sucedido pelo Athlon Thunderbird, que passou a usar o
formato de soquete utilizado até os dias de hoje pelo Sempron.

Competindo com o Celeron, a AMD produziu o Duron, um processador de baixo


custo, idêntico ao Athlon, mas com menos cache. Em 2005 o Athlon foi
descontinuado e o cargo herdado pelo Sempron, uma versão aperfeiçoada do Duron
(com mais cache e capaz de atingir freqüências mais altas), que passou a ser
vendido segundo um índice de desempenho (em relação ao Pentium 4) e não mais
segundo o clock real.

Por volta de 2000, surgiram as primeiras notícias do "SledgeHammer", um


processador de 64 bits, que foi finalmente lançado em versão doméstica na forma
do Athlon 64, que passou a ser o topo de linha da AMD. Apesar das mudanças
internas, o Athlon 64 continua sendo compatível com os programas de 32 bits, da
mesma forma que os processadores atuais são capazes de rodar softwares da
época do 386, muito embora tenham incorporado diversos novos recursos.
Na prática, o fato de ser um processador de 64 bits não torna o Athlon 64
gritantemente mais rápido, mesmo em aplicativos otimizados (os ganhos de
desempenho surgem mais devido ao controlador de memória integrado e aos novos
registradores). A principal vantagem dos processadores de 64 bits é derrubar uma
limitação inerente a todos os processadores de 32 bits, que são capazes de cessar
apenas 4 GB de memória RAM, um limite que está se tornando cada vez mais uma
limitação grave em várias áreas.

Os 4 GB de memória podem não parecer um obstáculo imediato, mas lembre-se de


que há duas décadas os PCs eram vendidos com 128 KB de memória, há uma
década já vinham com 4 ou 8 MB, e hoje são vendidos com 512 MB ou mais.

Memória

Depois do processador, temos a memória RAM, usada por ele para armazenar os
arquivos e programas que estão sendo executados. Funciona como uma espécie de
mesa de trabalho. A quantidade de memória RAM disponível tem um grande efeito
sobre o desempenho.

Os chips de memória são vendidos na forma de pentes de memória. Existem pentes


de várias capacidades e normalmente as placas possuem dois ou três encaixes
disponíveis. Você pode instalar um pente de 512 MB junto com o de 256 MB que
veio no micro para ter um total de 768 MB, por exemplo.

Ao contrário do processador, que é extremamente complexo, os chips de memória


são formados pela repetição de uma estrutura bem simples, formada por um par de
um transistor e um capacitor. Um transistor solitário e capaz de processar um único
bit de cada vez, e o capacitor permite armazenar a informação por um certo tempo.
Esta simplicidade faz com que os pentes de memória sejam muito mais baratos que
os processadores, principalmente se levarmos em conta o número de transistores.

Um pente de 1 GB é geralmente composto com 16 chips, cada um deles com um


total de 512 megabits, o que equivale a 512 milhões de transistores. Um Athlon 64
X2, que é um dos maiores processadores atualmente, tem "apenas" 233 milhões e
custa absurdamente mais caro que um pente de memória.

Existem basicamente dois tipos de memória em uso: SDR e DDR. As SDR são o tipo
tradicional, onde o controlador de memória faz apenas uma leitura por ciclo,
enquanto as DDR são mais rápidas, pois fazem duas leituras por ciclo. O
desempenho não chega a dobrar, pois o acesso inicial continua demorando o
mesmo tempo, mas melhora bastante.

Os pentes de memória SDR são usados em micros antigos: Pentium II e Pentium


III e os primeiros Athlons e Durons. Por não serem mais fabricados, eles são
atualmente muito mais raros e caros que os DDR, algo semelhante ao que
aconteceu com os antigos pentes de 72 vias, usados na época do Pentium.

É fácil diferenciar os pentes SDR e DDR, pois os SDR possuem dois chanfros e os
DDR apenas um. Essa diferença faz com que também não seja possível trocar as
bolas, encaixando por engano um pente DDR numa placa-mãe que use SDR e vice-
versa (a menos que você use um alicate e um martelo, mas a placa provavelmente
não vai funcionar mais depois ;).

Algumas poucas placas possuem os dois tipos de soquete, permitindo usar os dois
tipos de acordo com a conveniência, mas sem misturar os dois.

Apesar de toda a evolução, a memória RAM continua sendo gritantemente mais


lenta que o processador. Para atenuar a diferença, são usados dois níveis de cache,
incluídos no próprio processador: o L1 e o L2.

O cache L1 é extremamente rápido, trabalhando próximo à freqüência nativa do


processador. Na verdade, os dois trabalham na mesma freqüência, mas são
necessários alguns ciclos de clock para que a informação armazenada no L1 chegue
até as unidades de processamento. No caso do Pentium 4, chega-se ao extremo de
armazenar instruções já decodificadas no L1. Elas ocupam mais espaço, mas
eliminam este tempo inicial. A grosso modo, quanto mais rápido o cache, mais
espaço ele ocupa e menos é possível incluir no processador. É por isso que o
Pentium 4 inclui apenas um total de 20 KB deste cache L1 ultra-rápido, contra os
128 KB do cache um pouco mais lento usado no Sempron.

Em seguida vem o cache L2, que é mais lento tanto em termos de tempo de acesso
(o tempo necessário para iniciar a transferência) quanto em largura de banda, mas
é bem mais econômico em termos de transistores, permitindo que seja usado em
maior quantidade. Um Pentium 4 possui (de acordo com o modelo) 512 KB, 1 MB
ou 2 MB de cache L2, enquanto o Sempron tem 256 KB.

A principal característica da memória RAM é que ela é volátil, ou seja, os dados se


perdem ao reiniciar o micro. É por isso que ao ligar é necessário sempre refazer
todo o processo de carregamento, em que o sistema operacional e aplicativos
usados são transferidos do HD para a memória, onde podem ser executados pelo
processador.

Disco rígido

No final das contas, a memória RAM funciona como uma mesa de trabalho. Os
dados mesmo são armazenados no disco rígido, também chamado de hard disk (o
termo em Inglês), HD ou até mesmo de "disco duro" pelos nossos primos lusitanos.
É nele que ficam guardados programas e dados enquanto não estão em uso, ou
quando o micro é desligado.

O HD armazena os dados em discos magnéticos que mantêm a gravação por vários


anos. Estes discos giram e uma cabeça de leitura móvel faz o trabalho de gravar ou
acessar os dados em qualquer posição nos discos. Junto com o CD-ROM, o HD é um
dos poucos componentes mecânicos ainda usados nos micros atuais e, justamente
por isso, é o que normalmente dura menos tempo (em média dois anos de uso
contínuo) e que inspira mais cuidados.

Na verdade, os discos magnéticos dos HDs são selados, pois a superfície magnética
onde são armazenados os dados é extremamente fina e sensível. Qualquer grão de
poeira que entrasse iria começar a riscar os discos por causa da velocidade em que
eles giram (7200 ou 10000 RPM nos atuais) o que faria com que em poucas horas
quase todos os dados armazenados fossem destruídos. Fotos em que o HD aparece
aberto são apenas ilustrativas, no mundo real ele é apenas uma caixa fechada sem
tanta graça.

Tradicionalmente, o sistema operacional era sempre instalado no HD antes de


poder ser usado. Enquanto está trabalhando, o sistema precisa freqüentemente
modificar arquivos e configurações, o que seria impossível num CD-ROM, já que os
dados gravados nele não podem ser alterados.

Isso mudou com o aparecimento do Demolinux, Knoppix, Kurumin e outras


distribuições Linux que rodam diretamente do CD-ROM. Neste caso, um conjunto
de modificações "enganam" o sistema, fazendo com que ele use a maior parte dos
arquivos (os que não precisam ser alterados) a partir do CD-ROM, e o restante (os
que realmente precisam ser alterados) a partir da memória RAM.

Isto tem algumas limitações: as configurações são perdidas ao desligar (a menos


que você as salve em um disquete ou cartão de memória), pois tudo é armazenado
na memória RAM e o conteúdo dela é sempre perdido ao desligar o micro.
Também é mais complicado (mas não impossível!) instalar novos programas pois é
sempre preciso enganar o sistema fazendo-o gravar tudo na memória RAM. Por
outro lado, a facilidade de uso é imbatível, pois basta inicializar o micro usando o
CD do Kurumin e ele roda alegre e saltitante, sem precisar alterar o que já está
instalado no micro.

Mas, voltando à função do HD, imagine que, como memória RAM é cara, você
compra sempre uma quantidade relativamente pequena, geralmente 512 MB ou 1
GB, de acordo com o seu bolso. Por outro lado, você dificilmente vai encontrar um
HD de menos que 80 ou 120 GB à venda. Ou seja, temos centenas de vezes mais
espaço no HD do que na memória RAM.

Lembre-se de que o computador é burro, quando ele fica sem memória RAM,
simplesmente trava. Não existe negociação com quem só entende uns e zeros.

Bem antigamente, nos anos 80, época dos primeiros PCs, você só podia rodar
programas que coubessem na memória RAM disponível. Naquela época, a memória
RAM era muito mais cara que hoje em dia, então o mais comum era usar 256 ou
512 KB (sim, kbytes, duas mil vezes menos que usamos hoje, tempos difíceis
aqueles, nem existia Linux... :). Os mais abonados tinham dinheiro para comprar
um megabyte inteiro mas parava por aí.

Se você quisesse rodar um programa com mais de 256 KB, tinha que comprar mais
memória, não tinha conversa. Os programadores, coitados, tinham que deixar seus
programas o mais compactos possíveis para que eles rodassem nos micros com
menos memória.

Mais tarde, quando a Intel estava desenvolvendo o 386, um dos engenheiros bem
pagos da empresa, num momento de criatividade despertada por iluminação divina,
teve a idéia de criar um recurso chamado de memória virtual.

O processador (através de uma instrução incluída no microcode e ativada pelo


sistema operacional) é instruído a mover alguns arquivos para o HD sempre que a
memória RAM estiver acabando. Isso faz com que a memória nunca "acabe" e ele
não trave. Enquanto tiver espaço no HD, ele vai caminhando.

O Linux sabe como usar memória virtual desde o comecinho, quando um russo
pediu encarecidamente que Linus Torvalds incluísse o recurso para que ele pudesse
rodar o Linux no seu 386 com 2 MB de RAM (não tente fazer isso em casa! :-).

O problema é que o HD é muito mais lento que a memória RAM. Se você for numa
loja de informática qualquer e perguntar sobre os tipos de pente de memória que
estão à venda, vai encontrar pentes de memória DDR de 2100, 2700 ou até 3200
MB/s (a memória conversa com o processador a até 3200 megabytes por segundo).
Na pior das hipóteses, você vai encontrar um pente antigo de memória PC-100, que
transmite a 800 MB/s.

Existe um comando no Linux que serve para mostrar de forma rápida o


desempenho do HD, o hdparm. Quando o rodo no meu micro, que usa um HD IDE
relativamente recente, ele diz o seguinte:

$ hdparm -t /dev/hda
/dev/hda:
Timing buffered disk reads: 158 MB in 3.03 seconds = 52.20 MB/sec
Ou seja, enquanto na memória RAM falamos de 2 ou 3 gigabytes por segundo, no
HD falamos em algumas dezenas de megabytes. Para piorar as coisas, o tempo de
acesso do HD (o tempo necessário para localizar a informação e iniciar a
transferência) é absurdamente mais alto, em torno de 10 milessegundos, enquanto
na memória RAM falamos em nanossegundos.

Agora você entende por que o Kurumin roda tão lento naqueles micros velhos com
apenas 64 MB. O sistema até consegue trabalhar, com a ajuda da memória virtual,
mas como uma grande parte das coisas acaba indo para o HD, tudo fica leeeeento,
independentemente do clock do processador.

A fórmula é simples: quanto menos memória RAM, mais memória swap (memória
virtual) é usada e mais lento o sistema fica. O processador, coitado, não pode fazer
nada além de ficar esperando a boa vontade do HD em mandar à conta-gotas os
dados de que ele precisa para trabalhar. Ou seja, quando você compra um micro
com um processador de 3 GHz e 256 MB de RAM, você está literalmente jogando
dinheiro no lixo, pois o seu processador super ultra rápido vai ficar boa parte do
tempo esperando pelo HD.

Vender micros novos com 256, ou pior, apenas 128 MB de RAM, é uma atrocidade
que deveria ser classificada como crime contra a humanidade ;).

Por outro lado, quando você tem instalado mais memória do que o sistema
realmente precisa, é feito o inverso. Ao invés de copiar arquivos da memória para o
HD, arquivos do HD, contendo os programas, arquivos e bibliotecas que já foram
anteriormente abertos é que são copiados para a memória, fazendo com que o
acesso a eles passe a ser instantâneo. Os programas e arquivos passam a ser
abertos de forma gritantemente mais rápida, como se você tivesse um HD muito
mais rápido do que realmente é.

Este recurso é chamado de cache de disco e no Linux é gerenciado de forma


automática pelo sistema, usando a memória disponível. Naturalmente, o cache
disco é descartado imediatamente quando a memória precisa ser usada para outras
coisas. Ele é apenas uma forma de aproveitar o excedente de memória, sem causar
nenhum efeito desagradável.

Ironicamente, a forma mais eficiente de melhorar o desempenho do HD, é instalar


mais memória, fazendo com que uma quantidade maior de arquivos possa ser
armazenada no cache de disco. É por isso que servidores de arquivos, proxy e de
banco de dados costumam usar muita memória RAM, em muitos casos 4 GB ou
mais.

Uma outra forma de melhorar o desempenho do HD é usar RAID, onde dois ou


quatro HDs passam a ser acessados como se fossem um só, multiplicando a
velocidade de leitura e gravação. Este tipo de RAID, usado para melhorar o
desempenho é chamado de RAID 0. Existe ainda o RAID 1, onde são usados dois
HDs, mas o segundo é uma cópia exata do primeiro, que garante que os dados não
sejam perdidos no caso de algum problema mecânico em qualquer um dos dois.

O RAID tem se tornado um recurso relativamente popular, pois muitas placas-mãe


já vêm com controladoras RAID onboard.
Placa de vídeo

Depois do processador, memória e HD, a placa de vídeo é provavelmente o


componente mais importante do PC. Originalmente, as placas de vídeo eram
dispositivos simples, que se limitavam a mostrar o conteúdo da memória de vídeo
no monitor. A memória de vídeo contém um bitmap da imagem atual, atualizada
pelo processador, e o RAMDAC (um conversor digital-analógico) lê esta imagem
periodicamente e a envia ao monitor.

A resolução máxima suportada pela placa de vídeo era limitada pela quantidade de
memória de vídeo. Na época, memória era um artigo caro, de forma que as placas
vinham com apenas 1 ou 2 MB. As placas de 1 MB permitiam usar no máximo
800x600 com 16 bits de cor, ou 1024x768 com 256 cores. Estavam limitadas ao
que cabia na memória de vídeo.

Em seguida, as placas passaram a suportar recursos de aceleração, que permitem


fazer coisas como mover janelas ou processar arquivos de vídeo de forma a aliviar
o processador principal. Estes recursos melhoram bastante a velocidade de
atualização da tela (em 2D), tornando o sistema bem mais responsívo.

Finalmente, as placas deram o passo final, passando a suportar recursos 3D. Uma
placa 3D é capaz de gerar, processar e renderizar imagens em 3D, que por sua vez
são formadas por uma quantidade gigantesca de polígonos, posicionados no espaço
tridimensional e texturas aplicadas sobre eles, que os transformam em objetos
mais semelhantes aos reais.

Junto com as placas 3D, surgiu a febre dos games de primeira pessoa, começando
com o Quake 2 e Quake 3 e depois chegando ao Counter Strike, Doom 3 e
companhia. Muitos destes games (incluindo todos os títulos da ID e a série Unreal
Tournament) possuem versões Linux nativas. Em geral você baixa um instalador na
página do desenvolvedor, que instala a partir do CD com a versão Windows.
Outros podem ser executados no Linux usando o Cedega (chamado de WineX nas
versões anteriores), que simula um ambiente Windows, incluindo o DirectX e outros
recursos usados pelos games. Já existem até casos de LanHouses onde todas ou
quase todas as máquinas (os desktops mesmo, não apenas os servidores) rodam
Linux. Você pode ver mais detalhes sobre o projeto aqui:
http://www.guiadohardware.net/artigos/309/.

Para usar todos os recursos da placa de vídeo, do 3D à aceleração de vídeo básica,


é necessário que existam drivers adequados para ela. A maioria das placas
possuem bons drivers para Linux, a maior parte deles incluída no próprio X.org, de
forma que venham pré-instalados no sistema. A lista inclui desde as antigas placas
Voodoo (1, 2, 3, 4 e Banshee) até muitas placas ATI e Via recentes, passando por
quase todas as placas onboard da Intel, encontradas sobretudo em notebooks.

A nVidia desenvolve um driver proprietário de boa qualidade, que é compatível com


toda a linha de placas e pode ser instalado em (praticamente) qualquer distribuição
Linux sem muitas dificuldades. Algumas já até incluem o driver diretamente.

O desempenho é bem similar ao obtido no Windows, variando um pouco para mais


ou para menos de acordo com o game. Alguns chegam a ficar bem mais rápidos no
Linux, enquanto outros (sobretudo os executados através do Cedega) rodam com
perdas significativas por causa da camada de emulação. O driver Linux da nVidia
pode ser baixado no: http://www.nvidia.com/object/unix.html.

A ATI também desenvolve um driver próprio, mas que não possui uma qualidade
tão boa. O desempenho é inferior ao do driver for Windows e o driver não instala
em todas as distribuições. Como o custo das placas não é tão diferente assim, dê
preferência às placas da nVidia ao comprar uma placa 3D para uso no Linux.
Lembre-se de que o driver influencia diretamente o desempenho da placa: uma
placa rápida no Windows pode ser muito lenta no Linux se o driver não tiver
qualidade.

Entre as placas onboard, as com melhor suporte são as com chipset Intel, tanto as
encontradas em notebooks, quanto as usadas em placas para desktop.
Praticamente todas são suportadas no Linux e o driver oferece um bom
desempenho (dentro das limitações do hardware, claro). Alguns dos chipsets
recentes passaram a ser suportados apenas no Kernel 2.6.12, por isso dê
preferência às últimas versões das distribuições.

Temos também as placas com o Via Unicrome, um chipset de vídeo incluído na


maior parte das placas-mãe com chipset Via de fabricação recente. Até pouco
tempo, estas placas não tinham suporte 3D no Linux, mas isso mudou a partir de
julho de 2005, quando a Via passou a patrocinar o desenvolvimento de um driver
open source. Como o projeto é recente, muitas distribuições ainda não incluem o
driver, mas no futuro ele tende a se tornar tão bem suportado quanto os Intel.

Por último, temos as placas SiS (tanto onboard quanto offboard), que são as pior
suportadas no Linux. O fabricante simplesmente não desenvolve nenhum driver,
nem abre as especificações das placas, que permitiriam que outras pessoas o
fizessem. Não apenas as placas de vídeo, mas também as placas-mãe com chipset
SiS de uma forma geral (independente do fabricante da placa-mãe) são as mais
problemáticas no Linux, novamente pela questão da falta de drivers, por isso é
recomendável deixá-las em último na lista de compra. Só considere comprar uma
se a diferença de preço for realmente grande e você achar que a economia
compensa a falta de suporte e dor de cabeça.
Embora funcionem no Linux, o driver "sis" do X.org (que dá suporte às placas com
chipset SiS) não oferece desempenho 3D para nenhum dos modelos, limitando
bastante seu uso. Um número relativamente grande de placas não possui sequer
aceleração 2D, fazendo com que o desempenho fique comprometido mesmo em
tarefas básicas, como assistir vídeos ou usar o VMware. Existe um projeto para
oferecer suporte 3D a algumas placas (embora sem nenhum apoio do fabricante),
mas que não tem feito muito progresso nos últimos tempos, disponível no:
http://www.winischhofer.at/linuxsisvga.shtml.

A principal diferença entre as placas 3D onboard e as offboard é o barramento de


acesso à memória, que nas placas atuais é o principal limitante de desempenho.
Nas placas offboard, a placa inclui uma quantidade generosa de memória de vídeo,
acessada através de um barramento muito rápido. O GPU (o chipset da placa) é
também muito poderoso, de forma que as duas coisas se combinam para oferecer
um desempenho monstruoso. As placas 3D atuais são praticamente um
computador à parte, pois além da qualidade generosa de memória RAM, acessada
através de um barramento muito mais rápido que a do sistema, o chipset de vídeo
é muito mais complexo e absurdamente mais rápido que o processador principal no
processamento de gráficos. O chipset de uma GeForce 7800 GT, por exemplo, é
composto por 302 milhões de transistores, enquanto um Pentium III tem "apenas"
28 milhões.

No caso de uma placa onboard, o chipset de vídeo é bem mais simples e incluído
diretamente no chipset da placa-mãe. Para reduzir ainda mais o custo, o vídeo não
possui memória dedicada, simplesmente compartilha a memória principal com o
processador.

Mesmo uma placa relativamente barata atualmente, como a GeForce 4 Ti4600 tem
10.4 GB/s de barramento com a memória de vídeo, enquanto ao usar um pente de
memória DDR PC 3200, temos apenas 3.2 GB/s de barramento na memória
principal, que ainda por cima precisa ser compartilhado entre o vídeo e o
processador principal. O processador lida bem com isto, graças aos caches L1 e L2,
mas a placa de vídeo realmente não tem para onde correr. É por isso que os
chipsets de vídeo onboard são normalmente bem mais simples: mesmo um chip
caro e complexo não ofereceria um desempenho muito melhor, pois o grande
limitante é o acesso à memória.

O único chipset de vídeo onboard que oferece um desempenho mais próximo do


das placas offboard é o usado nas placas nVidia GeForce, que utilizam um chipset
de vídeo separado e o "twin bank", uma tecnologia que permite que dois pentes de
memória sejam acessados simultaneamente, reduzindo o problema da lentidão do
acesso à memória.

Em compensação, as placas com ele são consideravelmente mais caras, e você


precisa gastar um pouco a mais para comprar dois pentes de memória, o que acaba
anulando grande parte da economia em relação a uma placa off-board.

De uma forma geral, as placas de vídeo onboard (pelo menos os modelos que
dispõe de drivers adequados) atuais atendem bem às tarefas do dia-a-dia, com a
grande vantagem do custo. Elas também permitem rodar os games mais antigos
com um bom desempenho, apesar de naturalmente ficarem devendo nos
lançamentos recentes.
Placa-mãe

A placa-mãe é o componente mais importante do micro, pois é ela a responsável


pela comunicação entre todos os componentes. Pela enorme quantidade de chips,
trilhas, capacitores e encaixes, a placa-mãe também é o componente que, de uma
forma geral, mais dá defeitos. É comum que um slot PCI pare de funcionar (embora
os outros continuem normais), que instalar um pente de memória no segundo
soquete faça o micro passar a travar, embora o mesmo pente funcione
perfeitamente no primeiro, e assim por diante.

A maior parte dos problemas de instabilidade e travamentos são causados por


problemas diversos na placa-mãe, por isso ela é o componente que deve ser
escolhido com mais cuidado.

A qualidade da placa-mãe é de longe mais importante que o desempenho do


processador. Você mal vai perceber uma diferença de 20% no clock do
processador, mas com certeza vai perceber se o seu micro começar a travar ou se
a placa de vídeo onboard não tiver um bom suporte no Linux.

Ao montar um PC de baixo custo, economize primeiro no processador, depois na


placa de vídeo, som e outros periféricos. Deixe a placa-mãe por último no corte de
despesas.

Não se baseie apenas na marca da placa na hora de comprar, mas também no


fornecedor. Como muitos componentes entram no país ilegalmente, "via Paraguai",
é muito comum que lotes de placas remanufaturadas, ou defeituosas acabem
chegando ao mercado. Muita gente compra estes lotes, vende por um preço um
pouco abaixo do mercado e depois desaparece. Outras lojas simplesmente vão
vendendo placas que sabem ser defeituosas até acharem algum cliente que não
reclame. Muitas vezes os travamentos da placa são confundidos com "paus do
Windows", de forma que sempre aparece algum desavisado que não percebe o
problema.

Antigamente existia a polêmica entre as placas com ou sem componentes onboard.


Hoje em dia isso não existe mais, pois todas as placas vem com som e rede
onboard. Apenas alguns modelos não trazem vídeo onboard, atendendo ao público
que vai usar uma placa 3D off-board e prefere uma placa mais barata ou com mais
slots PCI do que com o vídeo onboard que, de qualquer forma, não vai usar.

Quanto aos conectores, temos na placa-mãe dois conectores IDE para conectar o
HD e o CD-ROM, um slot AGP (o marrom) para a placa de vídeo, vários slots PCI
(os brancos) para o modem, placa de som e outras placas, soquetes para conectar
a memória, o soquete para o processador, o conector para a fonte de alimentação e
o painel traseiro, que agrupa os encaixes dos componentes onboard, incluindo o
vídeo, som, rede e portas USB.

O soquete (ou slot) para o processador é a principal característica da placa-mãe,


pois indica com quais processadores ela é compatível. Você não pode instalar um
Athlon 64 numa placa soquete A (que é compatível com os Athlons, Durons e
Semprons), nem muito menos encaixar um Sempron numa placa soquete 478,
destinada aos Pentium 4. O soquete é na verdade apenas um indício de diferenças
mais "estruturais" na placa, incluindo o chipset usado, o layout das trilhas de
dados, etc. É preciso desenvolver uma placa quase que inteiramente diferente para
suportar um novo processador.
Existem ainda dois tipos de portas para a conexão do HD: as portas IDE
tradicionais, de 40 pinos (PATA, de Parallel ATA) e os conectores SATA (Serial ATA),
que são muito menores. Muitas placas recentes incluem um único conector PATA e
quatro conectores SATA. Outras incluem as duas portas IDE tradicionais e dois
conectores SATA e, algumas já passam a trazer apenas conectores SATA, deixando
de lado os conectores antigos. Existem ainda algumas placas "legacy free", que
eliminam também os conectores para o drive de disquete, portas seriais e porta
paralela, incluindo apenas as portas USB. Isso permite simplificar o design das
placas, reduzindo o custo de produção.

Tudo isso é montado dentro do gabinete, que contém outro componente


importante: a fonte de alimentação. A função da fonte é transformar a corrente
alternada da tomada em corrente contínua (AC) já nas tensões corretas, usadas
pelos componentes. Ela serve também como uma última linha de defesa contra
picos de tensão e instabilidade na corrente, depois do nobreak ou estabilizador.

Embora quase sempre relegada a último plano, a fonte é outro componente


essencial num PC atual. Com a evolução das placas de vídeo e processadores, os
PCs consomem cada vez mais energia. Na época dos 486, as fontes mais vendidas
tinham 200 watts ou menos, enquanto as atuais têm a partir de 450 watts. Uma
fonte subdimensionada não é capaz de fornecer energia suficiente nos momentos
de pico, causando desde erros diversos, provocados por falhas no fornecimento (o
micro trava ao tentar rodar um game pesado, ou trava sempre depois de algum
tempo de uso, por exemplo), ou, em casos mais graves, até mesmo danos aos
componentes. Uma fonte de má qualidade, obrigada a trabalhar além do suportado,
pode literalmente explodir, danificando a placa-mãe, memórias, HDs e outros
componentes sensíveis.

Evite comprar fontes muito baratas e, ao montar um micro mais parrudo, invista
numa fonte de maior capacidade.

Não se esqueça também do fio terra, que é outro componente importante, mas
freqüentemente esquecido. O fio terra funciona como uma rota de fuga para picos
de tensão provenientes da rede elétrica. A eletricidade flui de uma forma similar à
água: vai sempre pelo caminho mais fácil. Sem ter para onde ir, um raio vai torrar
o estabilizador, a fonte de alimentação e, com um pouco mais de azar, a placa-mãe
e o resto do micro. O fio terra evita isso, permitindo que a eletricidade escoe por
um caminho mais fácil, deixando todo o equipamento intacto.

O fio terra é simplesmente uma barra de cobre com dois a três metros de
comprimento, que é cravada no solo, no meio de um buraco de 20 cm de largura,
preenchido com sal grosso e carvão. Naturalmente, instalar o terra é trabalho para
o eletricista, até porque cavar o buraco e cravar a barra não é um trabalho nada
fácil :-). Sem o terra, o estabilizador perde grande parte de sua função, tornando-
se mais um componente decorativo, que vai ser torrado junto com o resto, do que
uma proteção real.

Nas grandes cidades, é relativamente raro acontecer dos micros queimarem por
causa de raios, pois os transformadores e disjuntores oferecem uma proteção
razoável. Mas, pequenos picos de tensão são responsáveis por pequenos danos nos
pentes de memória e outros componentes sensíveis, danos que se acumulam,
comprometendo a estabilidade e abreviando a vida útil do equipamento.

A longo prazo, o investimento na instalação do terra e melhorias na instalação


elétrica acabam se pagando com juros, principalmente se você tem mais de um
micro.
Hardware x Software

Toda esta parte física, as coisas tangíveis, que você pode tocar é chamada de
hardware. A parte mais importante vem depois, o Software, os programas que
permitem que o computador faça coisas úteis. É aí que entra o sistema operacional
e, depois dele, os programas que usamos no dia-a-dia.

Um bom sistema operacional é invisível. A função dele é detectar e utilizar o


hardware da máquina de forma eficiente, fornecendo uma base estável sobre a qual
os programas que utilizamos no cotidiano possam ser usados. Como diz Linus
Torvalds, as pessoas não usam o sistema operacional, usam os programas
instalados. Quando você se lembra que está usando um sistema operacional, é
sinal de que alguma coisa não está funcionando como deveria.

O sistema operacional permite que o programador se concentre em adicionar


funções úteis, sem ficar se preocupando com que tipo de placa de vídeo ou placa de
som você tem. O programa diz que quer mostrar uma janela na tela e ponto; o
modelo de placa de vídeo que está instalado e que comandos são necessários para
mostrar a janela são problema do sistema operacional.

Para acessar a placa de vídeo, ou qualquer outro componente instalado, o sistema


operacional precisa de um driver, que é um pequeno programa que trabalha como
um intérprete, permitindo que o sistema converse com o dispositivo. Cada placa de
vídeo ou som possui um conjunto próprio de recursos e comandos que permitem
usá-los. O driver converte estes diferentes comandos em comandos padrão, que
são entendidos pelo sistema operacional.

O driver é como se fosse a chave do carro, sem ela você não entra no carro nem dá
a partida e ele não serve para nada. Comprar uma impressora ou scanner que não
possua driver para o Linux, ou outro sistema operacional que você pretende
utilizar, é como comprar um carro sem a chave. Pesquise antes para não levar gato
por lebre.

Arquiteturas

Nos primórdios da informática, nas décadas de 50, 60 e 70, vários fabricantes


diferentes disputavam o mercado. Cada um desenvolvia seus próprios
computadores, que eram incompatíveis entre si. Tanto o hardware quanto os
softwares para cada arquitetura não funcionavam nas outras. Isso causava uma
ineficiência generalizada, pois cada fabricante tinha que desenvolver tudo, da
placa-mãe ao sistema operacional.

No começo dos anos 80, os fabricantes começaram a se especializar. Surgiu então


o PC que é uma arquitetura aberta, um conjunto de padrões que permite usar
periféricos de vários fabricantes diferentes e roda vários tipos de sistemas
operacionais.
O principal concorrente é a Apple, que produz os Macs. Ao contrário dos PCs, eles
possuem uma arquitetura fechada. A Apple desenvolve tanto os computadores
quando o sistema operacional.

Naturalmente muita coisa é terceirizada e várias empresas desenvolvem programas


e acessórios, mas como a Apple precisa manter o controle de tudo e desenvolver
muita coisa por conta própria, o custo dos Macs acaba sendo bem mais alto que o
dos PCs. Isso faz com que (embora tenham seus atrativos) eles sejam muito menos
populares. Atualmente os Macs possuem menos de 3% do mercado mundial, o que
significa uma proporção de mais de 30 PCs para cada Mac.

No início da década de 80, a concorrência era mais acirrada e muitos achavam que
o modelo da Apple poderia prevalecer, mas não foi o que aconteceu. Dentro da
história da informática temos inúmeras histórias que mostram que os padrões
abertos quase sempre prevalecem. Um ambiente onde existem várias empresas
concorrendo entre si favorece o desenvolvimento de produtos melhores, o que cria
uma demanda maior e, graças à economia de escala, permite preços mais baixos.

Como os micros PC possuem uma arquitetura aberta, ou seja, a possibilidade de


vários fabricantes diferentes desenvolverem seus próprios componentes baseados
em padrões já definidos, temos uma lista enorme de componentes compatíveis
entre si. Podemos escolher entre várias marcas e modelos os componentes que
melhor atendam nossas necessidades e montar nossa própria configuração, de
acordo com o uso.

Qualquer novo fabricante, com uma placa-mãe mais barata ou um processador


mais rápido, por exemplo, pode entrar no mercado, é apenas uma questão de criar
a demanda necessária. A concorrência faz com que os fabricantes sejam obrigados
a trabalhar com uma margem de lucro relativamente baixa, ganhando com base no
volume de peças vendidas, o que é muito bom para nós que compramos.

Um pouco sobre redes

Montar uma rede já foi complicado e caro. Hoje em dia, as redes são algo
onipresente, uma forma barata de trocar arquivos, compartilhar a conexão com a
internet, compartilhar impressoras, CD-ROM e outros periféricos e assim por diante.

O uso mais corriqueiro é compartilhar a conexão com a internet. Você tem apenas
uma linha ADSL ou apenas uma assinatura do serviço de acesso via cabo e pode
acessar, ao mesmo tempo, a partir de todos os micros que tiver em sua casa ou
empresa. Neste caso um dos micros atua como um ponto de encontro, enviando os
pedidos de todos para a internet e devolvendo as respostas. Além de compartilhar
a conexão, este servidor pode compartilhar arquivos, servir como firewall
(protegendo a rede de acessos externos), rodar um proxy (que permite criar um
cache de arquivos e páginas acessados, melhorando a velocidade da conexão),
além de outros serviços.

Outra necessidade comum é compartilhar arquivos. Antigamente (naquela época


em que os micros tinham 512 KB de memória e os homens eram homens e
escreviam seus próprios sistemas operacionais) era usado o protocolo DPL/DPC
(disquete pra lá, disquete pra cá), mas ele não era muito eficiente, principalmente
quando o amigo que estava esperando os arquivos estava em outra cidade...
Os componentes básicos da rede são uma placa de rede para cada micro, os cabos
e o hub ou switch que serve como um ponto de encontro, permitindo que todos os
micros se enxerguem e conversem entre si.

As placas de rede já foram componentes caros, mas como elas são dispositivos
relativamente simples e o funcionamento é baseado em padrões abertos, qualquer
um pode abrir uma fábrica de placas de rede, o que faz com que exista uma
concorrência acirrada que obriga os fabricantes a produzirem placas cada vez mais
baratas e trabalhem com margens de lucro cada vez mais estreitas. As placas de
rede mais baratas chegam a ser vendidas no atacado por menos de três dólares. O
preço final é um pouco mais alto naturalmente, mas não é difícil achar placas por
20 reais ou até menos.

Temos três padrões de redes Ethernet: de 10 megabits, 100 megabits e 1 gigabit.


As placas são intercompatíveis, mas, ao usar placas de velocidades diferentes, as
duas vão conversar na velocidade da placa mais lenta.

As redes 10 megabits já são obsoletas, mas ainda é possível encontrar muitas


instalações antigas por aí. Caso a rede já use cabos de categoria 5 (o número vem
decalcado no cabo), é possível fazer um upgrade direto para 100 megabits,
trocando apenas o hub e placas.

Lembre-se de que a velocidade das placas é calculada em bits e não em bytes. Uma
rede de 100 megabits permite uma taxa de transmissão (teórica) de 12.5 MB/s.
Como além dos dados são transmitidas outras informações (a estrutura dos
pacotes, retransmissões, códigos de correção de erros, etc.), a velocidade na
prática fica sempre um pouco abaixo disso. Normalmente é possível transferir
arquivos a no máximo 10.5 MB/s, com a taxa máxima variando sutilmente de
acordo com a placa e o sistema operacional usado.

A opção para quem precisa de mais velocidade são as redes Gigabit Ethernet, que
transmitem a até 1000 megabits (125 megabytes) por segundo. As placas Gigabit
atuais são compatíveis com os mesmos cabos de par trançado categoria 5, usados
pelas placas de 100 megabits, por isso a diferença de custo fica por conta apenas
das placas e do switch. Elas ainda são muito mais caras, mas pouco a pouco o
preço vai caindo.

Os cabos de rede também são um artigo relativamente barato. Os cabos de


categoria 5 que usamos em redes de 100 ou 1000 megabits geralmente custam em
torno de 80 centavos o metro, com mais alguns centavos por conector.

Você pode comprar quantos metros de cabo quiser, junto com os conectores e fazer
crimpar os cabos você mesmo, ou pode comprá-los já prontos. É no caso dos cabos
já crimpados que o preço começa a variar. Algumas lojas chegam a crimpar os
cabos na hora cobrando apenas o valor do material, enquanto outras vendem os
cabos por preços exorbitantes.

Os cabos devem ter um mínimo de 30 centímetros e um máximo de 100 metros, a


distância máxima que o sinal elétrico percorre antes que comece a haver uma
degradação que comprometa a comunicação. Na verdade, estes valores não são
exatos, principalmente com relação ao comprimento máximo do cabo.

Não é incomum ver gente usando cabos fora do padrão, com 120, 150 ou, em
alguns casos até 200 metros. Dependendo da qualidade das placas de redes, cabos,
conectores, crimpagem e do nível de interferências do ambiente, o sinal pode se
propagar por distâncias bem acima dos 100 metros, mas neste caos sem garantia
nenhuma de estabilidade. Até 100 metros você pode ter certeza de que a rede
funcionará, acima disso começa a depender da sorte.

Existem dois tipos de cabos de rede: os cabos retos (straight), que são os cabos
"normais", usados para ligar os vários micros ao hub ou switch, e os cabos cross-
over, que utilizam um padrão diferente, que permite ligar diretamente dois micros,
sem precisar de um hub.

Todas as placas são ligadas ao hub ou switch, que serve como uma central, de
onde os sinais de um micro são retransmitidos para os demais. Todas as placas de
rede são ligadas ao hub ou switch e é possível ligar vários hubs ou switchs entre si
(até um máximo de 7) caso necessário, formando redes maiores.
A diferença entre um hub é um switch é que o hub apenas retransmite tudo o que
recebe para todos os micros conectados a ele, é um tagarela. Isso faz com que
apenas um micro consiga transmitir dados de cada vez e que todas as placas
precisem operar na mesma velocidade (sempre nivelada por baixo, caso você
coloque um micro com uma placa de 10 megabits na rede, a rede toda passará a
trabalhar a 10 megabits).

Os switchs, por sua vez, são aparelhos mais inteligentes. Eles fecham canais
exclusivos de comunicação entre o micro que está enviando dados e o que está
recebendo, permitindo que vários pares de micros troquem dados entre si ao
mesmo tempo. Isso melhora bastante a velocidade em redes congestionadas, com
muitos micros.

Antigamente, existia uma grande diferença de preço entre os hubs burros e os


switchs, mas os componentes caíram tanto de preço que a partir de um certo ponto
a diferença se tornou insignificante e os fabricantes passaram a fabricar apenas
switchs, que por sua vez dividem-se em duas categorias: os switchs "de verdade",
aparelhos caros, capazes de gerenciar o tráfego de uma quantidade maior de
micros e que possuem várias ferramentas de gerenciamento e os "hub-switchs", os
modelos mais simples e baratos, que usamos no dia-a-dia.

O TCP/IP e a configuração da rede

Tudo o que vimos até agora, sobre placas e cabos representa a parte física da rede,
os componentes necessários para fazer os uns e zeros enviados por um computador
chegarem ao outro. O TCP/IP é o protocolo de rede, o conjunto de regras e padrões
que permite que eles realmente falem a mesma língua.

Pense nas placas, hubs e cabos como o sistema telefônico e no TCP/IP como a
língua falada que você usa para realmente se comunicar. Não adianta nada ligar
para alguém na China que não saiba falar Português. Sua voz vai chegar até lá,
mas ela não vai entender nada. Além da língua em si, existe um conjunto de
padrões, como por exemplo dizer "alô" ao atender o telefone, dizer quem é, se
despedir antes de desligar, etc.
Ligar os cabos e ver se os leds do hub e das placas estão acesos é o primeiro
passo. O segundo é configurar os endereços da rede para que os micros possam
conversar entre si, e o terceiro é finalmente compartilhar a internet, arquivos,
impressoras e o que mais você quer que os outros micros da rede tenham acesso.

Graças ao TCP/IP, tanto o Linux quanto o Windows e outros sistemas operacionais


em uso são intercompatíveis dentro da rede. Não existe problema para as
máquinas com o Windows acessarem a internet através da conexão compartilhada
no Linux, por exemplo.

Independente do sistema operacional usado, as informações básicas para que ele


possa acessar a internet através da rede são:

- Endereço IP:

Os endereços IP identificam cada micro na rede. A regra básica é que cada micro
deve ter um endereço IP diferente e todos devem usar endereços dentro da mesma
faixa.

O endereço IP é dividido em duas partes. A primeira identifica a rede à qual o


computador está conectado (necessário, pois numa rede TCP/IP podemos ter várias
redes conectadas entre si, veja o caso da internet) e a segunda identifica o
computador (chamado de host) dentro da rede. É como se o mesmo endereço
contivesse o número do CEP (que indica a cidade e a rua) e o número da casa.

A parte inicial do endereço identifica a rede e os últimos identificam o computador


dentro da rede. Quando temos um endereço "192.168.0.1", por exemplo, temos o
micro "1" dentro da rede "192.168.0". Quando alguém diz "uso a faixa 192.168.0.x
na minha rede", está querendo dizer justamente que apenas o último número muda
de um micro para outro.

Na verdade, os endereços IP são números binários, de 32 bits. Para facilitar a


configuração e memorização dos endereços, eles são quebrados em 4 números de
8 bits cada um. Os 8 bits permitem 256 combinações diferentes, por isso usamos 4
números de 0 a 255 para representá-los.

Todos os endereços IP válidos na internet possuem dono. Seja alguma empresa ou


alguma entidade certificadora que os fornece junto com novos links. Por isso não
podemos utilizar nenhum deles a esmo.

Quando você se conecta na internet você recebe um (e apenas um) endereço IP


válido, emprestado pelo provedor de acesso, algo como por exemplo
"200.220.231.34". É através deste número que outros computadores na Internet
podem enviar informações e arquivos para o seu.

Quando quiser configurar uma rede local, você deve usar um dos endereços
reservados, endereços que não existem na internet e que por isso podemos utilizar
à vontade em nossas redes particulares. Algumas das faixas reservadas de
endereços são: 10.x.x.x, 172.16.x.x até 172.31.x.x e 192.168.0.x até 192.168.255.x

Você pode usar qualquer uma dessas faixas de endereços na sua rede. Uma faixa
de endereços das mais usadas é a 192.168.0.x, onde o "192.168.0." vai ser igual
em todos os micros da rede e muda apenas o último número, que pode ser de 1 até
254 (o 0 e o 255 são reservados para o endereço da rede e o sinal de broadcast).
Se você tiver 4 micros na rede, os endereços deles podem ser, por exemplo,
192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4.

- Máscara de sub-rede

A máscara é um componente importante do endereço IP. É ela que explica para o


sistema operacional como é feita a divisão do endereço, ou seja, quais dos 4
octetos compõem o endereço da rede e quais contém o endereço do host, ou seja,
o endereço de cada micro dentro da rede.

Ao contrário do endereço IP, que é formado por valores entre 0 e 255, a máscara
de sub-rede é formada por apenas dois valores: 0 e 255, como em 255.255.0.0 ou
255.0.0.0, onde um valor 255 indica a parte endereço IP referente à rede, e um
valor 0 indica a parte endereço IP referente ao host.

Se você está usando a faixa 192.168.0.x, por exemplo, que é um endereço de


classe C, então a máscara de sub-rede vai ser 255.255.255.0 para todos os micros.
Você poderia usar uma máscara diferente: 255.255.0.0 ou mesmo 255.0.0.0,
desde que a máscara seja a mesma em todos os micros.

Se você tiver dois micros, 192.168.0.1 e 192.168.0.2, mas um configurado com a


máscara "255.255.255.0" e o outro com "255.255.0.0", você terá na verdade duas
redes diferentes. Um dos micros será o "1" conectado na rede "192.168.0" e o
outro será o "0.2", conectado na rede "192.168".

- Default Gateway (gateway padrão)

Lembra que disse que quando você se conecta à internet através de um provedor
de acesso qualquer, você recebe apenas um endereço IP válido? Quando você
compartilha a conexão entre vários micros, apenas o servidor que está
compartilhando a conexão possui um endereço IP válido, só ele "existe" na
internet. Todos os demais acessam através dele.

O default gateway ou gateway padrão é justamente o micro da rede que tem a


conexão, que os outros consultarão quando precisarem acessar qualquer coisa na
internet.

Por exemplo, se você montar uma rede doméstica com 4 PCs, usando os endereços
IP 192.168.0.1, 192.168.0.2, 192.168.0.3 e 192.168.0.4, e o PC 192.168.0.1
estiver compartilhando o acesso à internet, as outras três estações deverão ser
configuradas para utilizar o endereço 192.168.0.1 como gateway padrão.

- Servidor DNS

Memorizar os 4 números de um endereço IP é muito mais simples do que


memorizar o endereço binário. Mas, mesmo assim, fora os endereços usados na
sua rede interna, é complicado sair decorando um monte de endereços diferentes.

O DNS (domain name system) permite usar nomes amigáveis ao invés de


endereços IP para acessar servidores, um recurso básico que existe praticamente
desde os primórdios da internet. Quando você se conecta à internet e acessa o
endereço http://www.guiadohardware.net, é um servidor DNS que converte o
"nome fantasia" no endereço IP real do servidor, permitindo que seu micro possa
acessar o site.

Para tanto, o servidor DNS mantém uma tabela com todos os nomes fantasia,
relacionados com os respectivos endereços IP. A maior dificuldade em manter um
servidor DNS é justamente manter esta tabela atualizada, pois o serviço tem que
ser feito manualmente. Dentro da internet, temos várias instituições que cuidam
desta tarefa. No Brasil, por exemplo, temos a FAPESP. Para registrar um domínio é
preciso fornecer à FAPESP o endereço IP real do servidor onde a página ficará
hospedada. A FAPESP cobra uma taxa de manutenção anual de R$ 30 por este
serviço.

Servidores DNS também são muito usados em intranets, para tornar os endereços
mais amigáveis e fáceis de guardar.

Faz parte da configuração da rede informar os endereços DNS do provedor (ou


qualquer outro servidor que você tenha acesso), que é para quem seu micro irá
perguntar sempre que você tentar acessar qualquer coisa usando um nome de
domínio e não um endereço IP. O jeito mais fácil de conseguir os endereço do
provedor é simplesmente ligar para o suporte e perguntar.

O ideal é informar dois endereços, assim se o primeiro estiver fora do ar, você
continua acessando através do segundo. Também funciona com um endereço só,
mas você perde a redundância. Exemplos de endereços de servidores DNS são:
200.204.0.10 e 200.204.0.138.

No Kurumin você encontra a opção de configurar a rede dentro do Painel de Controle, em


"Conectar na internet ou configurar a rede > Configurar conexão via rede local". O
assistente vai perguntando as configurações da rede que vimos.

Um exemplo de configuração de rede completa para um dos micros da rede, que


vai acessar a internet através do micro que está compartilhando a conexão seria:

IP: 192.168.0.2
Máscara: 255.255.255.0
Gateway: 192.168.0.1 (o endereço do micro compartilhando a conexão)
DNS: 200.204.0.10 200.204.0.138

O micro que está compartilhando a conexão por sua vez vai ter duas placas de
rede, uma para a internet e outra para a rede local, por isso vai ter uma
configuração separada para cada uma. A configuração da internet é feita da forma
normal, de acordo com o tipo de conexão que você usa, e a configuração da rede
interna segue o padrão que vimos até aqui.
É possível usar também um servidor DHCP para fornecer as configurações da rede
para os micros, de forma que você não precise ficar configurando os endereços
manualmente em cada um. O configurador do Kurumin pergunta sobre isso logo na
primeira opção: "Configurar a rede via DHCP"?

Respondendo "Sim", o micro simplesmente "pede socorro" na rede e é ajudado pelo


servidor DHCP, que fornece para ele toda a configuração da rede, de forma
automática. Você gasta um pouco mais de tempo configurando o servidor DHCP,
mas em compensação economiza na configuração dos micros.

Redes wireless

Apesar de inicialmente muito mais caras, as redes wireless estão gradualmente


caindo de preço e se popularizando rapidamente. Além da questão da praticidade,
em muitos casos simplesmente não é viável usar cabos. Imagine que você precise
ligar dois escritórios situados em dois prédios distantes, ou que a sua
mãe/esposa/marido não deixa você nem pensar em espalhar cabos pela casa.

O que você precisa prestar atenção na hora de comprar é se o modelo escolhido é


bem suportado no Linux. Caso a placa tenha um driver disponível, a configuração
será simples, quase como a de uma placa de rede normal, mas sem o driver você
fica trancado do lado de fora do carro. Lembre-se, o driver é a chave e você nunca
deve comprar um carro sem a chave :-).

Numa rede wireless, o hub é substituído pelo ponto de acesso (access-point em


inglês). Ele tem basicamente a mesma função: retransmitir os pacotes de dados,
de forma que todos os micros da rede os recebam. Em geral os pontos de acesso
possuem uma saída para serem conectados num hub tradicional, permitindo que
você "junte" os micros da rede com fios com os que estão acessando através da
rede wireless, formando uma única rede.

Ao contrário dos hubs, os pontos de acesso são dispositivos inteligentes, que


podem ser configurados através de uma interface de administração via web. Você
se conecta num endereço específico usando o navegador (que muda de aparelho
para aparelho, mas pode ser encontrado facilmente no manual), loga-se usando
uma senha padrão e altera as configurações (e senhas!) de acordo com as
necessidades da sua rede.
Ao contrário de uma rede cabeada, com um switch, em qualquer rede wireless a
banda da rede é compartilhada entre os micros que estiverem transmitindo dados
simultaneamente. Isso acontece pois não existem cabos independentes ligando o
ponto de acesso a cada micro, mas um único meio de transmissão (o ar), o que faz
com que a rede opere como se todos os micros estivessem ligados ao mesmo cabo.
Enquanto um transmite, os outros esperam. Conforme aumenta o número de
micros e aumenta o tráfego da rede, mais cai o desempenho.

Outra questão é que a potência do sinal decai conforme aumenta a distância,


enquanto a qualidade decai pela combinação do aumento da distância e dos
obstáculos pelo caminho. É por isso que num campo aberto o alcance será muito
maior do que dentro de um prédio, por exemplo.

Conforme a potência e qualidade do sinal se degrada, o ponto de acesso pode


diminuir a velocidade de transmissão a fim de melhorar a confiabilidade da
transmissão. A velocidade pode cair para 5.5 megabits, 2 megabits ou chegar a
apenas 1 megabit por segundo antes que o sinal se perca completamente.

Existem três padrões diferentes de rede wireless em uso. O primeiro (e mais


comum) é o 802.11b, onde a rede opera a uma taxa teórica de 11 megabits.

O seguinte é o 802.11a, que ao contrário do que o nome dá a entender, é mais


recente que o 802.11b. As redes 802.11a são mais rápidas (54 megabits) e são
mais resistentes a interferências, pois operam na faixa de freqüência dos 5 GHz, ao
invés dos 2.4 GHz usados no 802.11b. A desvantagem é que, pelo mesmo motivo
(a freqüência mais alta), o alcance das redes 802.11a é menor, cerca de metade
que numa rede 802.11b. As placas 802.11a são relativamente raras e, como a
maioria é capaz de operar nos dois padrões, muitas delas acabam operando a 11
megabits, juntando-se a redes 802.11b já existentes.

Finalmente, temos o 802.11g, o padrão atual. Ele junta o melhor dos dois mundos,
operando a 54 megabits, como no 802.11a e trabalhando na mesma faixa de
freqüência do 802.11b (2.4 GHz), o que mantém o alcance inicial. Para que a rede
funcione a 54 megabits, é necessário que tanto o ponto de acesso, quanto todas as
placas sejam 802.11g, caso contrário a rede inteira passa a operar a 11 megabits,
a fim de manter compatibilidade com as placas antigas. Muitos pontos de acesso
permitem desativar este recurso, fazendo com que as placas de 11 megabits
simplesmente fiquem fora da rede, sem prejudicar o desempenho das demais.

Existem ainda as placas dual band, que são capazes de transmitir simultaneamente
usando dois canais diferentes, dobrando a taxa de transmissão. Uma placa de "108
megabits" é na verdade uma 802.11g dual-band.

As redes wireless também são redes Ethernet e também usam o TCP/IP. Mas, além
da configuração dos endereços IP, máscara, gateway, etc., feita da mesma forma
que numa rede cabeada, temos um conjunto de parâmetros adicional.

A configuração da rede wireless é feita em duas etapas. Primeiro você precisa


configurar o ESSID, canal e (caso usada encriptação) a chave WEP ou WPA que dá
acesso à rede.

O ESSID é uma espécie de nome de rede. Dois pontos de acesso, instalados na


mesma área, mas configurados com dois ESSIDs diferentes formam duas redes
separadas, permitindo que a sua rede não interfira com a do vizinho, por exemplo.
Mesmo que existam várias redes na mesma sala, indicar o ESSID permite que você
se conecte à rede correta.

Em seguida temos o canal que, novamente permite que vários pontos de acesso
dentro da mesma área trabalhem sem interferir entre si. Temos um total de 16
canais (numerados de 1 a 16), mas a legislação de cada país permite o uso de
apenas alguns deles. Nos EUA, por exemplo, é permitido usar apenas do 1 ao 11 e
na França apenas do 10 ao 13. Esta configuração de país é definida na configuração
do ponto de acesso.

O ESSID sozinho provê uma segurança muito fraca, pois qualquer um que soubesse
o nome da rede poderia se conectar a ele ou mesmo começar a escutar todas as
conexões. Embora o alcance normal de uma rede wireless, usando as antenas
padrão das placas e pontos de acesso normalmente não passe de 30 ou 50 metros
(em ambientes fechados) usando antenas maiores, de alto ganho e conseguindo
uma rota sem obstáculos, é possível captar o sinal de muito longe, chegando a 2 ou
até mesmo 5 KM, de acordo com a potência do seu ponto de acesso.

Como é praticamente impossível impedir que outras pessoas captem o sinal da sua
rede, a melhor solução é encriptar as informações, de forma que ela não tenha
utilidade fora o círculo autorizado a acessar a rede.

Existem atualmente três padrões de encriptação, o WEP de 64 bits, WEP de 128


bits e o WPA, o padrão mais recente e considerado mais seguro.

Embora nenhum dos três seja livre de falhas, elas são uma camada essencial de
proteção, que evita que sua rede seja um alvo fácil. É como as portas de uma casa.
Nenhuma porta é impossível de arrombar, mas você não gostaria de morar numa
casa sem portas.

Ao usar WEP, você define numa chave de 10 (WEP de 64 bits) ou 26 (WEP de 128
bits) caracteres em hexa, onde podem ser usados números de 0 a 9 e as letras A,
B, C, D, E e F. Também é possível usar caracteres ASCII (incluindo acentuação e
todo tipo de caracteres especiais); neste caso as chaves terão respectivamente 5 e
13 caracteres.
A regra básica é que os micros precisam possuir a chave correta para se
associarem ao ponto de acesso e acessarem a rede. Em geral os pontos de acesso
permitem que você especifique várias chaves diferentes, de forma que cada micro
pode usar uma diferente.

Acesso Remoto

Muitos dispositivos, como por exemplo modems ADSL, pequenos servidores de


impressão, roteadores, etc. possuem várias opções de configuração; muitas vezes
rodam o Linux ou outro sistema operacional completo, mas não possuem nem
teclado nem monitor.

Nestes casos toda a configuração é feita remotamente, através de algum utilitário


de configuração. O mais comum é o uso de alguma interface http, que você acessa
de qualquer micro da rede local usando o navegador, ou então o uso do ssh ou
telnet.

Eu, por exemplo, uso um modem ADSL Parks 600, que pode ser configurado como
roteador ou bridge, através de uma interface de administração simples, que acesso
via telnet, a partir de qualquer micro da rede.

O telnet é um protocolo primitivo que permite rodar comandos remotamente


através de uma interface de modo texto. Existem clientes telnet para vários
sistemas operacionais. Tanto no Linux quanto no Windows, você acessa uma
máquina remotamente via telnet usando o comando "telnet" seguido do endereço
IP destino, como em:

$ telnet 192.168.0.1
O grande problema é que o telnet não oferece nenhum tipo de segurança. Todas as
informações, incluindo as senhas são transmitidas em texto puro, de forma legível
pela rede e são fáceis de interceptar. É como se você fizesse suas transações
bancárias gritando pela janela.

O ssh já é mais evoluído. Ele utiliza um sistema de criptografia bastante seguro


para proteger os dados. Alguém pode interceptar as informações, afinal a internet é
uma rede pública, mas os dados capturados não terão utilidade nenhuma. O ssh é a
opção mais usada para administrar servidores remotamente.

Hoje em dia poucas empresas hospedam seus websites "in house" ou seja, em
servidores instalados dentro da própria empresa. Quase sempre os servidores ficam
hospedados em data centers, complexos que oferecem toda a estrutura necessária
para que os servidores fiquem no ar de forma confiável, incluindo links redundantes
(se o link principal cai, existe um segundo de reserva), nobreaks de grande porte,
geradores, refrigeração (a temperatura ambiente mais baixa ajuda os componentes
a trabalhar de forma mais estável) e assim por diante.

Isto significa que, apesar do servidor ser "seu", você não tem nenhum tipo de
acesso físico a ele. Não pode usar o teclado ou mouse por exemplo, tudo precisa
ser feito a distância.

No Linux, toda a configuração do sistema, instalação de novos programas, etc.


pode ser feita a partir do modo texto, o que permite configurar o servidor e mantê-
lo atualizado remotamente, via ssh. Outro ponto interessante é que apesar de ser
nativo do Unix, existem clientes ssh também para Windows e outras plataformas,
permitindo que o responsável administre o servidor a partir de uma estação
Windows, por exemplo.

Outra possibilidade interessante para o ssh é suporte a distância. Você pode se


conectar no micro de um amigo para corrigir algum problema, por exemplo.

Para acessar uma máquina remotamente via ssh, você deve informar o login que
você usará para se conectar, seguido do IP da máquina, que pode estar tanto na
rede local quanto na internet. Se o seu amigo criou o login "suporte" para que você
acesse o micro dele remotamente e o IP é 200.221.34.32, o comando seria:

$ ssh suporte@200.221.34.32

O ssh pede a senha (tudo feito através da conexão segura) e depois você já vê o
prompt da outra máquina:
Embora o uso mais comum seja rodar comandos de modo texto, o ssh também
permite rodar aplicativos gráficos. Se você estiver se conectando a partir do Linux,
geralmente não precisará fazer nada além de chamar o programa pelo nome, como
em:

$ konqueror

O programa roda no servidor, mas a imagem é exibida no seu monitor:


Este recurso de rodar aplicativos gráficos remotamente é mais útil dentro de uma
rede local, pois consome muita banda, deixando as respostas lentas se você acessa
via modem, por exemplo.

Outro programa interessante para acessar outros micros remotamente é o VNC. Ele
permite ver uma extensão do desktop da outra máquina, incluindo o KDE ou outra
interface gráfica. O VNC é dividido em dois módulos, um cliente e um servidor. O
servidor VNC é instalado na máquina que será acessada remotamente, enquanto as
que vão acessar precisam apenas do cliente, um programa pequeno que já vem
pré-instalado na maioria das distribuições. Os dois estão disponíveis tanto para
Linux quanto para Windows, de forma que você pode acessar um micro com o
Windows a partir do Kurumin ou vice-versa.

Finalmente, temos as interfaces de administração via web. Como disse, elas são
usadas por muitos modems ADSL (são mais fáceis de usar que a interface de modo
texto do meu Parks) e também por programas de configuração destinados a
servidores Linux, como o Swat e o Webmin.

O Swat permite configurar o Samba, usado para compartilhar arquivos com


máquinas Windows, enquanto o Webmin é uma ferramenta completa, que permite
configurar vários servidores diferentes. Caso instalados no servidor, ambos podem
ser acessados a partir de outro micro da rede local, ou até mesmo via internet,
usando o navegador:
O Kernel e as distribuições

Nas reportagens sobre o Linux você lerá muito sobre Linus Torvalds, o criador do
Kernel do Linux. Ele (o Kernel) é a peça fundamental do sistema, responsável por
prover a infra-estrutura básica para os programas funcionarem. O Kernel é algo
comum em todas as diferentes distribuições; muda a versão, mas o Kernel do Linus
está sempre ali.

O Kernel é o responsável por dar suporte aos mais diferentes periféricos: placas de
rede, som, e o que mais você tiver espetado no micro. Uma nova versão sempre
traz suporte a muita coisa nova, o que faz diferença principalmente para quem
pretende trocar de PC em breve ou está de olho em algum handheld ou mp3player
exótico. É por isso que o lançamento de uma atualização importante, como o Kernel
2.6, é sempre tão comemorado.

Mas, apesar de toda a sua importância, o grande objetivo dos desenvolvedores é


que o Kernel seja invisível. Ele deve simplesmente fazer seu trabalho sem que você
precise se preocupar com ele. Você só se dá conta que o Kernel existe quando algo
não funciona, de forma que quanto menos você notá-lo melhor, sinal de que as
coisas estão funcionando bem... :-).

Uma distribuição Linux é como uma receita, ao invés de ficar compilando o Kernel e
os programas como faziam os pioneiros, você simplesmente instala um conjunto
que uma equipe desenvolveu e disponibilizou. O bom dos softwares é que uma vez
criados eles podem ser distribuídos quase sem custo. Ao contrário de um objeto
material, que se quebra ao ser dividido, quanto mais pessoas copiarem e usarem
sua distribuição melhor: seu trabalho terá mais reconhecimento e apoio.
Alguns exemplos de distribuições são o Debian, Mandriva, Fedora, SuSE, Slackware
e Gentoo.

Qualquer pessoa ou empresa com tempo e conhecimentos suficientes pode


desenvolver uma distribuição. O mais comum é usar uma distribuição já existente
como ponto de partida e ir incluindo novos recursos a partir daí. No mundo open-
source não é preciso reinventar a roda, os trabalhos anteriores são respeitados e
reutilizados, aumentando radicalmente a velocidade de desenvolvimento de novos
projetos.

A distribuição mais antiga, ainda ativa é o Slackware, que em julho de 2006


completou 13 anos. O Slackware é uma das distribuições mais espartanas, que tem
como objetivo preservar a tradição dos sistemas Unix, provendo um sistema
estável, organizado, mas com poucas ferramentas automatizadas, que te obriga a
estudar e ir mais a fundo na estrutura do sistema para conseguir usar. Muita gente
usa o Slackware como ferramenta de aprendizado, encarando os problemas e
deficiências como um estímulo para aprender.

Pouco depois, em novembro de 1994, foi lançado o Red Hat, que foi desenvolvido
com o objetivo de facilitar a configuração e automatização do sistema, incluindo
várias ferramentas de configuração. Apesar de sua alma comercial, todas as
ferramentas desenvolvidas pela equipe do Red Hat tinham seu código aberto, o que
possibilitou o surgimento de muitas outras distribuições derivadas dele, incluindo o
Mandrake (França) e o Conectiva (Brasil). Devido à sua origem comum, estas
distribuições preservam muitas semelhanças até hoje, sobretudo na estrutura do
sistema e localização dos arquivos de configuração.

A partir de 2003, a Red Hat mudou seu foco, concentrando seus esforços no público
empresarial, desenvolvendo o Red Hat Enterprise e vendendo pacotes com o
sistema, suporte e atualizações.

O Red Hat Desktop foi descontinuado em 2004, pouco depois do lançamento o Red
Hat 9. A partir daí, passou a ser desenvolvido o Fedora combinando os esforços de
parte da equipe da Red Hat e vários voluntários que, com a maior abertura,
passaram a contribuir com melhorias, documentações e suporte comunitário nos
fóruns. O Fedora herdou a maior parte dos usuários do Red Hat Desktop e é
atualmente uma das distribuições mais usadas.

O Mandrake começou de uma forma modesta, como uma versão modificada do


Red Hat, lançada em julho de 1998, cuja principal modificação foi a inclusão do KDE
(ainda na versão 1.0). O Mandrake conquistou rapidamente um número
relativamente grande de usuários e passou a ser desenvolvido de forma
independente, com foco na facilidade de uso. Em 2005 aconteceu a fusão entre o
Mandrake e o Conectiva, que deu origem ao atual Mandriva, que passou a ser
desenvolvido combinando os esforços dos desenvolvedores das duas distribuições.

A história do SuSE é um pouco mais complicada. As primeiras versões foram


baseadas no SLS, uma das primeiras distribuições Linux que se têm notícia. Em
1995 os scripts e ferramentas foram migrados para o Jurix, que por sua vez era
baseado no Slackware. A partir a versão 5.0, lançada em 1998, o SuSE passou a
utilizar pacotes RPM, o formato do Red Hat e passou a incorporar características e
ferramentas derivadas dele. Todas estas ferramentas foram integradas no Yast, um
painel de controle central que facilita bastante a administração do sistema.
Devido a todas estas mudanças, o SuSE é difícil de catalogar, mas atualmente o
sistema possui muito mais semelhanças com o Fedora e o Mandriva do que com o
Slackware, por isso é mais acertado colocá-lo dentro da família Red Hat.

Em 2003, a SuSE foi adquirida pela Novell, dando origem ao Novell Desktop (uma
solução comercial) e ao OpenSuSE, um projeto comunitário, que usa uma estrutura
organizacional inspirada no exemplo do Fedora.

Finalmente, temos o Debian, cuja primeira versão oficial (chamada Buzz) foi
lançada em 1996. O Debian deu origem a uma grande linhagem de distribuições,
que incluem de produtos comerciais, como o Linspire e o Xandros a projetos
comunitários, como o Ubuntu, Knoppix, Mephis e o próprio Kurumin.

As principais características do Debian são a grande quantidade de pacotes


disponíveis (atualmente, quase 25 mil, se incluídas as fontes não oficiais) e o apt-
get, um gerenciador de pacotes que permite baixar, instalar, atualizar e remover os
pacotes de forma automática.

O Debian utiliza um sistema de desenvolvimento contínuo, onde são desenvolvidas


simultaneamente 3 versões, chamadas de Stable (estável), Testing (teste) e
Unstable (instável). A versão estável é o release oficial, que tem suporte e
atualizações de segurança freqüentes. A versão estável atual é o Sarge (3.1),
lançado em junho de 2005; antes dele veio o Woody (3.0), lançado em julho de
2002 e o Potato (2.2), lançado em agosto de 2000. O lançamento da próxima
versão estável (batizada de Etch), está planejada para o final de 2006.

Apesar do longo intervalo entre os lançamentos das versões estáveis, os pacotes


ficam congelados, recebendo apenas correções de segurança. Isso faz com que os
pacotes do Stable fiquem rapidamente defasados em relação a outras distribuições.
Para solucionar este problema, existe a opção de usar o Testing, composto de
pacotes recentes porém menos testados e, como última opção, existe o Unstable,
que é a porta de entrada para as últimas versões e por isso sujeito a mais
problemas. Em algumas épocas, o uso do Unstable é impraticável, pois muitas
alterações são feitas simultaneamente, fazendo com que muitos pacotes fiquem
quebrados e apareçam problemas diversos.

Tipicamente, os pacotes começam no Unstable, onde recebem uma primeira rodada


de testes. Depois de algumas semanas, são movidos para o Testing.
Periodicamente, os pacotes no Testing são congelados, dando origem a uma nova
versão estável. Além destes, existe o Experimental, usado como um laboratório
para a inclusão de novos pacotes.

O Debian em si é bastante espartano em termos de ferramentas de configuração e


por isso reservado a usuários mais avançados. Porém, muitas distribuições
derivadas dele, como Ubuntu, o Mepis e o Kurumin, são desenvolvidas com foco na
facilidade de uso e incluem muitas ferramentas e assistentes de configuração.

Você pode ver uma tabela mais completa com as origens de cada distribuição neste
link do Distrowatch:

http://distrowatch.com/dwres.php?resource=independence

Veja que dentre as distribuições cadastradas no site, a grande maioria é baseada


no Debian (129) ou no Knoppix (50). Naturalmente, as distribuições baseadas no
Knoppix também são indiretamente derivadas do Debian e, de fato, muitas
distribuições são incluídas dentro das duas categorias.
Em seguida temos as distribuições derivadas do Fedora (63), do Slackware (28) e
do Mandriva (14). Até o Kurumin já entrou na lista, com 5 filhos.

Os live-CDs

Tradicionalmente, qualquer sistema operacional precisa ser instalado no HD antes


de ser usado. Você dá boot usando o CD ou DVD de instalação e é aberto um
sistema compacto, que roda o instalador e se encarrega de instalar e configurar o
sistema principal. Depois de algum tempo respondendo perguntas e vendo a barra
de progresso da cópia dos arquivos, você reinicia o micro e pode finalmente
começar a usar o sistema. Isso é válido tanto para o Windows quanto para a maior
parte das distribuições Linux.

Os live-CDs são distribuições Linux que rodam diretamente a partir do CD-ROM,


sem necessidade de instalar. Um dos pioneiros nesta área é o Knoppix (derivado do
Debian), que até hoje é um dos live-CDs de maior sucesso. O Kurumin é um
descendente direto dele, desenvolvido com base no Knoppix 3.1 (a versão mais
recente no início de 2003) e desenvolvido de forma mais ou menos autônoma a
partir daí, utilizando como base os pacotes do Debian, combinados com
atualizações provenientes do Knoppix e várias outras distribuições, além de um
conjunto de scripts e ferramentas de configuração próprias, centralizadas na forma
do Clica-aki.

Para quem já se acostumou com a idéia, pode parecer natural rodar o sistema a
partir do CD e até mesmo instalar novos programas, sem precisar modificar as
informações salvas no HD, mas o aparecimento do Knoppix foi um verdadeiro
marco dentro do mundo Linux.

A base de tudo é um módulo de Kernel chamado cloop, um hack que permite que
o sistema rode a partir de um sistema de arquivos compactado, gravado no CD-
ROM. Os dados são descompactados "on-the-fly", conforme são necessários. É algo
que funciona de forma similar às partições compactadas pelo smartdrive no
Windows 95/98 (ainda lembrado pelos saudosistas :), mas com um desempenho
melhor e otimizado para CD-ROMs.

Graças à compressão, uma distribuição como o Kurumin pode incluir cerca de 1.2
GB de programas, em uma imagem com pouco mais de 400 MB. Além de reduzir o
tamanho do sistema, comprimir os arquivos melhora também a taxa de
transferência do CD-ROM, diminuindo a perda de desempenho causado pela baixa
taxa de leitura.

A idéia é que um CD-ROM de 40X é capaz de ler a em média 4 MB/s, pois como o
CD gira sempre na mesma velocidade, as informações gravadas nas trilhas da parte
externa do CD (mais longas), são lidas a mais ou menos o dobro da velocidade das
do centro (que são mais curtas). Um CD-ROM de 40x lê a 6 MB/s nas trilhas
externas mas a apenas 3 MB/s nas internas. Como o CD-ROM é gravado a partir do
centro, na maior parte do tempo ele lê os dados a 3, 4 ou 5 MB/s.

Mas, ao ler 4 MB/s de dados compactados a uma razão de 3x, ele estará lendo na
prática a quase 12 MB/s, quase a mesma taxa de transferência de um HD de meia
década atrás. Naturalmente ainda existem outros problemas, como o tempo de
busca, que é muito mais alto num CD-ROM, mas o problema principal é bastante
amenizado.

Se não fosse o sistema de compressão, os live-CDs descendentes do Knoppix


seriam três vezes maiores e três vezes mais lentos ao rodar do CD, o que os
tornariam sistemas muito menos atrativos.

Em contrapartida, o trabalho do processador passa a ser maior, pois, além de


processar os dados referentes aos programas, ele tem que ao mesmo tempo
descompactar os dados lidos pelo CD-ROM. Por isso, mais do que em outras
distribuições, o desempenho (ao rodar do CD) aumenta de acordo com o poder de
processamento da máquina. Numa máquina lenta, um Pentium II 300, por
exemplo, o desempenho é cerca de 50% menor do que seria ao rodar uma
distribuição instalada no HD, enquanto num Athlon XP ou Pentium 4 a diferença já
é muito menor.

A primeira etapa do boot é a tela de boas-vindas e uma linha onde você pode
fornecer parâmetros para o boot. Logo depois é carregado o Kernel, que por sua
vez inicializa o hardware, cria um ramdisk usando uma parte (pequena) da
memória RAM onde são armazenados arquivos de configuração e outros dados que
precisam ser alterados durante o uso. Depois disso entra em ação o hwsetup, o
programa de detecção que se encarrega de detectar a placa de vídeo, som, rede,
modem e outros periféricos suportados, desenvolvido por Klaus Knopper com base
no Kudzu do Red Hat.
Este trabalho de detecção é justamente o grande trunfo. Em poucos segundos o
sistema é capaz de detectar, configurar e ativar todos os periféricos suportados na
máquina, baseado nos códigos de identificação dos dispositivos, sem nenhuma
intervenção do usuário.

Claro, sempre existem casos de problemas. Algumas placas-mãe travam durante a


detecção do ACPI, alguns notebooks travam durante a etapa inicial, onde o sistema
procura por placas SCSI e assim por diante. Mas na grande maioria dos casos estes
problemas podem ser resolvidos desativando as partes da detecção que causam
problemas, usando opções de boot. Veremos mais detalhes sobre isso no capítulo
3.

Durante o boot ele tenta sempre configurar automaticamente a rede, obtendo o IP


e outros dados a partir de um servidor DHCP disponível na rede. Se a máquina
acessar a internet através de uma conexão compartilhada dentro da rede local ou
através de um modem ADSL configurado como roteador, ele já será capaz de
acessar a web logo após o boot, caso contrário você pode configurar a rede
manualmente.

Uma questão importante ao usar qualquer live-CD é a questão da memória RAM.


Como o sistema por padrão não utiliza as partições do HD, tudo é feito usando a
memória RAM, incluindo a instalação de novos programas. O ramdisk que é criado
durante o boot vai crescendo conforme são feitas modificações. Em micros com
pouca RAM você verá uma mensagem de "disco cheio" (quando na verdade o que
acabou foi o espaço no ramdisk), ou até mesmo efeitos diversos por falta de
memória RAM disponível.
A instalação de novos programas é possibilitada pelo UnionFS, mais um hack que
monitora tentativas de alterações nos arquivos do CD (originalmente impossíveis,
já que o CD é somente-leitura) e engana os programas, fazendo-as no ramdisk,
permitindo que você altere arquivos e instale novos programas, mesmo ao rodar o
sistema a partir do CD. Este recurso está disponível a partir do Knoppix 3.8 e do
Kurumin 5.0.

A configuração mínima para rodar o Kurumin é um Pentium II com 128 MB de RAM.


Para o Knoppix ou outras distribuições, os requisitos variam de 128 a 256 MB. Para
usar o apt-get e instalar novos programas (UnionFS), você precisa ter 512 MB de
RAM.

Para poder abrir vários programas simultaneamente e para melhorar o desempenho


geral do sistema, é recomendável ter disponível uma partição swap, que pode ser
criada usando o gparted, cfdisk, ou outro programa de particionamento. Muitas
distribuições criam uma partição swap automaticamente ao serem instaladas.

A memória swap (ou memória virtual) é um recurso usado por todos os sistemas
operacionais atuais quando não existe memória RAM suficiente. Ele passa a
armazenar os dados que não "cabem" na memória num arquivo ou partição swap
criada no HD. É o uso da memória swap que permite que o sistema continue
funcionando, mesmo quando não existe memória RAM suficiente.

Como não é possível fazer memória swap no CD-ROM, o sistema é capaz de


detectar e montar automaticamente partições de memória swap de outras
distribuições Linux. Caso você tenha apenas o Windows instalado, ele tentará em
último caso criar um arquivo de swap dentro da partição do Windows, mas isto só é
possível se o HD estiver formatado em FAT32 (o sistema de arquivos usado pelo
Windows 98). Por enquanto ainda não é possível fazer isso em partições NTFS do
Windows XP.

Ou seja, para rodar o Kurumin em micros com pouca memória RAM, você deve
preferencialmente usar um programa de particionamento qualquer para criar uma
partição Linux swap ou pelo menos certificar-se de que o HD está formatado em
FAT32 e não em NTFS, caso contrário ele não terá para onde correr quando a
memória RAM acabar ;-).

Além do Knoppix e do Kurumin, existem muitos outros live-CDs, tanto baseados no Debian quanto
baseados em outras distribuições, como o Slax (baseado no Slackware) e o PcLinuxOS (baseado no
Mandriva).

Como baixar, gravar e dar boot

A forma mais popular de disponibilizar novas versões das distribuições é através de


arquivos ISO, cópias binárias do conteúdo dos CDs ou DVD de instalação, que você
pode gravar usando o Nero, K3B ou outro programa de gravação, obtendo um CD
idêntico ao original.

Gravar um arquivo ISO é diferente de gravar um arquivo qualquer no CD. Um


arquivo ISO é uma imagem binária que deve ser copiada bit a bit no CD-ROM, e
não simplesmente adicionado dentro de uma nova seção. Todos os bons programas
de gravação suportam a gravação de arquivos ISO, veja como gravar o arquivo
usando alguns programas populares.
Ao usar o Easy CD Creator, abra o Easy CD Creator e clique em "File > Menu >
Record CD from CD Image". Aponte o arquivo que será gravado. Marque a opção
"ISO Image Files (*.iso)" na janela de navegação e clique em "Start Recording"
para gravar o CD.

No Nero Burning Rom, clique em File > Burn Image, aponte o arquivo que será
gravado e clique em "Write" para gravar o CD.

Ao usar o K3B (no Linux), clique em Ferramentas > Gravar Imagem ISO (ou
Queimar imagem de CD), aponte o arquivo, escolha a velocidade de gravação e
clique em "Gravar".

Depois de gravado o CD, o próximo passo é configurar o setup da placa-mãe para


dar boot através do CD-ROM. A maioria dos micros vem configurados para dar boot
preferencialmente através do CD-ROM. Neste caso basta deixar o CD na bandeja e
você já cai na tela de boas vindas do sistema. Se não for o seu caso, pressione a
tecla DEL durante o teste de memória para entrar no Setup.

Procure pela seção "Boot" e coloque o CD-ROM como dispositivo primário. Tudo
pronto, agora é só salvar a configuração acessando o menu exit, escolhendo a
opção "Save & Exit setup".
Ao reiniciar o micro sem o CD no drive, ele volta a carregar o Windows ou outro
sistema que estiver instalado no HD. Esta alteração apenas faz com que ele passe a
procurar primeiro no CD-ROM.

Um hábito saudável é verificar a integridade do arquivo .ISO antes de gravar o CD.


Sempre é possível que o arquivo esteja incompleto, ou venha corrompido, seja por
problemas com a conexão ou no gerenciador de download usado. Você pode
detectar este tipo de problema (e evitar gastar mídias à toa), verificando o
MD5SUM do arquivo, um teste que soma todos os bits do arquivo e devolve uma
"assinatura", um código de 32 dígitos que permite detectar qualquer mudança no
arquivo.

Os códigos de assinatura dos arquivos estão quase sempre disponíveis na página


de download, como em:

11479ced7eea505506b5a3314d33ee70 kurumin-5.0.iso

Você precisa apenas rodar o MD5SUM no arquivo baixado e ver se o resultado é


igual ao número da página. No Linux (qualquer distribuição), acesse a pasta onde o
arquivo foi baixado e digite:

$ md5sum kurumin-5.0.iso

Se o número retornado for igual, você pode gravar a imagem sem medo, o arquivo
está ok. Caso o número seja diferente, então o arquivo chegou corrompido ou
incompleto. Uma dica nesta caso é que é possível corrigir arquivos corrompidos
usando o bittorrent (se o arquivo estiver disponível para download através dele).
Para isso, baixe o arquivo .torrent para a mesma pasta do arquivo corrompido e
inicie o download. O bittorrent usa um algoritmo próprio para verificar cada pedaço
do arquivo, descartando os pedaços corrompidos. Isso permite que ele baixe
novamente apenas os pedaços corrompidos, sem precisar baixar novamente todo o
arquivo.

No Windows baixe o programa disponível no


http://www.md5summer.org/download.html. Ele é gráfico, até mais fácil de usar
que a versão Linux.

Uma última dica é com relação aos famosos "Cloop Errors", erros de leitura que
aparecem ao tentar rodar qualquer live-CD (que usa o módulo cloop para
compactar os dados) a partir de uma mídia ruim. O cloop possui um sistema
próprio para verificar as integridade dos dados no CD, detectando e avisando sobre
os erros de leitura.

Nestes casos você verá vários "CLOOP READ erros" durante o boot, que indicam
justamente que o sistema não está conseguindo ler os dados corretamente. Veja
um exemplo:

CLOOP READ ERROR:AT POS 5233960 IN FILE/CDROM/KNOPPIX/KNOPPIX


CLOOP:ERROR-3 UNCOMPRESSING BLOCK 46065536/0/23207/05233960-
I/O ERROR DEV OB:00, SECTOR 17212 LINUXRC CANNOT CREAT/VAN/RUN/VTMP.DIRECTORY
NOEXISTENT

Os cloop erros podem ser causados por três fatores:

a) O arquivo baixado está incompleto ou corrompido.

b) O CD ou CD-RW está riscado/danificado e o sistema não está conseguindo ler os


dados corretamente (o mais comum). Os CD-RW dão esse tipo de problema mais
freqüentemente, pois o índice de refração luminosa da mídia é mais baixa e a
superfície de gravação mais frágil, facilitando o aparecimento de problemas de
leitura.

c) O próprio leitor CD-ROM ou o cabo IDE podem estar com problemas e por isso os
dados não estão sendo lidos corretamente, embora a mídia esteja em bom estado.

Os CLOOP ERRORS são sempre causados direta ou indiretamente por um destes


três fatores; problemas com o CD ou com o hardware do seu micro e não por
problemas do software. O sistema pode apresentar outros tipos de problemas na
sua máquina, como travar durante a detecção de algum componente, mas este erro
específico é justamente um aviso de problemas com a leitura dos dados.

Em muitos casos, o sistema roda normalmente a partir do CD, mas apresenta


problemas estranhos ao ser instalado (o modo gráfico não abre, alguns aplicativos
não funcionam, mensagens de erro diversas reclamando da falta de aplicativos ou
bibliotecas, etc.), causados por problemas de leitura durante a instalação.

Prefira usar mídias CDR normais e depois doar suas cópias antigas para amigos que
ainda não conheçam o sistema, assim você estará evitando dor de cabeça e ainda
fazendo uma boa ação :).

Linguagens de programação

Os computadores são funcionários quase perfeitos. Fazem tudo o que mandamos,


não reclamam, não se importam de trabalhar até tarde da noite, não cobram hora
extra nem tiram férias. Mas, em compensação, também não pensam. Para que
façam qualquer coisa é preciso explicar tudo com os mínimos detalhes e na língua
deles.

Considerando que tudo o que os computadores conseguem entender são


seqüências intermináveis de números binários, fornecer estas "instruções" pode ser
muito penoso para um ser humano. Você consegue se imaginar lendo um manual
de 5.000 páginas e decorando um a um centenas de códigos binários que
representam as instruções do processador?

Se os programadores precisassem programar diretamente em binários, decorando


seqüências como 10111011101101101110110011001010 para cada instrução do
processador e para cada endereço de memória a ser acessado, provavelmente não
teríamos mais programadores; já estariam todos loucos.

Para facilitar as coisas, começaram a ser desenvolvidas as linguagens de


programação, que diferem na sintaxe e recursos, mas têm um ponto em comum,
que é a existência de um compilador. Seja programando em C, ou seja em Kylix,
você usará um editor para escrever seu programa, respeitando as regras da
linguagem escolhida e em seguida rodará o compilador, que interpretará os
comandos que formam o seu programa e os transformará em um arquivo binário,
que contém as instruções binárias que são entendidas pelo processador.

No Windows não temos muito contato com código fonte, pois os programas são
quase sempre distribuídos apenas em formato binário, que você não tem como
alterar. Mas, no caso do Linux, temos a possibilidade de baixar o código fonte de
praticamente todos os programas que usamos no dia-a-dia. Muita gente aprende a
programar fuçando no código fonte de algum programa que conhece bem,
começando com pequenas traduções e mudanças, e acaba entendendo bem a
sintaxe da linguagem e vários dos truques usados. Depois de cada rodada de
alterações, é possível compilar todo o código, abrir o programa e verificar de que
forma elas alteraram o programa final.

A vantagem de usar linguagens de programação é que o desenvolvedor passa a


trabalhar com instruções como "if", "else", etc. além de todas as facilidades
oferecidas pela linguagem ao invés de gigantescos endereços binários. Sem dúvida
muito mais simples.

Existem diversas linguagens de programação. Meu objetivo aqui é dar algumas


noções básicas sobre as peculiaridades e utilidade de algumas delas

Para começar, existe uma linguagem "básica" para quem quer aprender a
programar, ensinada nos cursos de lógica da programação, o pseudocódigo. Ele não
é uma linguagem "de verdade", mas sim uma maneira mais simples para aprender
os fundamentos usados em todas as linguagens de programação.

Podemos começar com um exemplo simples. Vamos fazer um programa capaz de


tomar uma decisão fácil. Ele pergunta a nota do aluno e diz se ele passou ou não.
Para um ser humano isso seria um problema muito elementar, mas para o
computador as coisas não são assim tão simples. Lembre-se de que ele é burro e
precisa ser orientado passo a passo. Nosso programinha em pseudocódigo poderia
ficar assim:

escreva: "Qual é a nota do aluno?"


leia nota

se nota maior ou igual a sete


então:
escreva "Ele passou"
senão:
escreva: "Ele foi reprovado"
fim do se
fim do programa

Este programinha perguntaria a nota e, com base no número que for digitado,
avisaria se o aluno passou ou não.

Ele poderia ser escrito em qualquer linguagem, mas a lógica seria a mesma. De
acordo com os recursos oferecidos pela linguagem escolhida, ele poderia ter uma
interface simples em modo texto, uma interface gráfica mais trabalhada, aparecer
no meio de uma pagina web e assim por diante. O mesmo programinha escrito em
shell script, a linguagem mais elementar que temos no Linux, onde utilizamos
comandos de terminal, poderia ficar assim:

echo "Qual é a nota do aluno"


read nota

if [ "$nota" -ge "7" ]


then
echo "Ele passou"
else
echo "Ele foi reprovado"
fi

As linguagens de programação são conjuntos de padrões e comandos que você


pode usar para dar ordens para nossos amigos burros.

Assim como nas línguas faladas, existem diferenças de sintaxe, gramática e


existem linguagens mais simples ou mais complicadas de aprender e linguagens
mais adequadas para cada tipo de tarefa a realizar. Veja alguns exemplos de
linguagens de programação:

- Assembly: O Assembly foi provavelmente a primeira linguagem de programação


da história, surgida na década de 50, época em que os computadores ainda usavam
válvulas. A idéia do Assembly é usar um comando em substituição a cada instrução
de máquina.

No Assembly, cada uma destas instruções equivale a uma instrução do


processador. Ao invés de usar instruções como 10101011, você pode usar outras
bem mais fáceis de entender e de memorizar, como add, div, mul, and, or, not, etc.
Você também pode criar variáveis, que são pequenos espaços na memória RAM
reservados para guardar algum tipo de informação, que o programa precisará mais
tarde. Você pode usar aquelas instruções que citei para lidar com elas. Por
exemplo, a instrução "add" faz com que o processador some duas variáveis; "add
x, y" por exemplo, soma os valores de x e y.

Apesar de ser exaustivamente trabalhoso, você pode perfeitamente desenvolver


pequenos programas em Assembly. Para isso só vai precisar de um compilador e
bastante paciência para aprender. Um bom ponto de partida é baixar o MenuetOS,
um sistema operacional aberto, inteiramente escrito em Assembly, que inclui todas
as ferramentas e compiladores necessários para começar a programar. Na página
você encontra também alguns tutoriais e exemplos:
http://www.menuetos.net/

O compilador transforma o código escrito em Assembly em linguagem de máquina,


que finalmente poderá ser entendida pelo processador.
Existem também os decompiladores, que fazem o trabalho inverso, de transformar
um programa já compilado em código Assembly. Este recurso é chamado de
engenharia reversa. É assim que conseguem crackear programas, quebrar códigos
de proteção (como o do DVD), etc. Claro que para isso, é preciso alguém que
conheça muito de Assembly e que tenha disposição para ficar estudando o código
até encontrar o que procura.

Por causa desta característica de permitir trabalhar diretamente com as instruções


do processador, o Assembly é uma linguagem de baixo nível. Existem também
linguagens de alto nível, como C++ ou Pascal, onde é possível usar várias funções
já prontas ou mesmo ferramentas visuais, como o Kdeveloper ou o Kylix, que são
ainda mais fáceis.

Em se tratando de programação, o fato de uma linguagem ser "de baixo nível", não
significa que ela é ruim, mas apenas que ela manipula diretamente as instruções e
endereços de memória e, por isso, é mais trabalhosa e voltada para o
desenvolvimento de aplicativos otimizados.

- Fortran: O Fortran foi uma das primeiras linguagens de alto nível da história.
Enquanto o Assembly é chamado de linguagem de baixo nível, por nele utilizarmos
diretamente as instruções e endereços do processador e memória, numa linguagem
de alto nível temos várias funções prontas, o que facilita muito a programação, mas
em compensação torna em muitos casos o programa maior e mais pesado, já que o
compilador jamais conseguirá gerar um código tão otimizado quanto um
programador experiente conseguiria.

Fortran é a contração de "Formula Translator". A primeira versão do Fortran foi


criada no final da década de 50, mas a linguagem começou a ser usada em larga
escala a partir da metade da década de 60, quando surgiram várias versões
diferentes. Atualmente o Fortran é ainda usado em diversos aplicativos
relacionados a engenharia. Ele é também ensinado em várias universidades, como
uma forma mais prática de ensinar lógica da programação.

- Pascal: O Pascal é outra linguagem de alto nível, criada durante a década de 60.
O Pascal é uma linguagem bastante estruturada, com regras bastante rígidas, o
que a torna difícil de usar. Hoje em dia o Pascal original é pouco usado, mas seus
descendentes diretos como o Free Pascal evoluíram muito. O próprio Kylix (junto
com o Delphi) é uma evolução do Pascal.

- Cobol: Cobol significa "Common Business Oriented Language". Esta linguagem foi
desenvolvida no final da década de 50, com o objetivo de ser uma plataforma de
desenvolvimento para aplicações bancárias e financeiras em geral. Comparado com
o Pascal e o Assembly, comuns na época, o Cobol é uma linguagem relativamente
amigável, o que garantiu uma grande aceitação. Até hoje esta linguagem é usada
em muitos sistemas bancários, o que explica a grande procura por programadores
experientes nesta linguagem na época do bug do ano 2000.

- C: O C foi desenvolvido durante a década de 70, mas ainda é largamente


utilizado. A grande vantagem do C é permitir escrever tanto programas
extremamente otimizados para a máquina, como seria possível apenas em
Assembly, e ao mesmo tempo vir com várias funções prontas, como uma
linguagem de alto nível, que podem ser utilizadas quando não for necessário gerar
um código tão otimizado.

A maior parte dos programas Linux e quase todo o Kernel foram escritos em C, o
que explica o porquê do sistema ser tão rápido em algumas tarefas.

- C++: O C++ mantém os recursos do C original, mas traz muitos recursos novos,
como recursos orientados a objetos, sendo também bem mais fácil de utilizar. O
C++ é bastante usado atualmente para desenvolver muitos programas para várias
plataformas. Ele é, por exemplo, a linguagem oficial do KDE e da maioria dos
programas para ele.

- Python: O Python é uma linguagem de programação com uma sintaxe muito


simples e intuitiva e ao mesmo tempo bastante poderosa, que pode ser usada por
toda classe de usuários. É uma boa opção de linguagem para quem está
começando a programar. No Kurumin, você pode abrir o interpretador do Python
em Iniciar > Sistema > Desenvolvimento.

A maior parte das distribuições instalam o Python por default. Basta abrir um
terminal e chamar o comando "python". Existe também uma versão for Windows
que pode ser baixada no: http://www.python.org/download/. Ao abrir um
programa, você verá um prompt como este:

Este é o interpretador do Python, um prompt onde você pode digitar um comando


de cada vez e já ir vendo os resultados. Bom para ir testando os comandos
enquanto você não quiser realmente desenvolver nenhum programa completo.

Vamos começar com uma coisa simples. Que tal ouvir um bom dia? Para isso
podemos usar o "print" que é o comando para escrever coisas na tela. Este
comando é simples de usar, basta escrever a frase entre aspas: print "Bom Dia!".

E você terá um:


Podemos personalizar um pouco isto, fazendo com que ele primeiro pergunte o seu
nome e depois dê bom dia. Para isso, podemos usar o comando "raw_input", que lê
texto digitado no teclado. Este texto precisa ser guardado em algum lugar, para
armazená-lo usamos uma variável, que é um pequeno espaço de memória
reservado e que pode ser usado mais tarde.

Experimente usar a linha abaixo:

nome = raw_input("Olá, qual é o seu nome? ")

Isso faz com que ele pergunte o seu nome e fique esperando você digitar alguma
coisa e dar Enter. Em seguida ele armazena o texto digitado na variável "nome" e
volta para o prompt. O texto entre aspas pode ser substituído por outra coisa se
quiser.

Como disse, a variável armazena dados que podem ser usados mais tarde. Como
agora já temos o seu nome armazenado na variável "nome", podemos completar
nosso bom dia, fazendo com que ele escreva junto o seu nome (ou o que for que
você tenha digitado no passo anterior :-):

print "Bom dia", nome

Ele escreve a frase "Bom Dia" que está entre aspas e em seguida completa com o
texto armazenado na variável "nome". Não se esqueça da vírgula, ela indica que
além de escrever o texto armazenado na variável, o interpretador deve adicionar a
palavra "nome" em seguida.

Experimente agora abrir o kedit (ou outro editor de textos qualquer) e salvar nosso
pequeno programa num arquivo de texto. Ele pode se chamar, por exemplo,
"programa.py" (.py de python). Eu enfeitei um pouco mais o meu. Os "\n" no meio
do texto são quebras de linha:
Este arquivo pode ser executado usando o interpretador do Python. Para isso, abra
um terminal e chame o comando:

$ python programa.py

O programa vai fazer o mesmo que no prompt do Python, a diferença é que agora
ele executa os comandos escritos no arquivo de texto ao invés de ir perguntando.

Podemos agora fazer algo usando uma instrução de tomada de decisão. Que tal
perguntar a idade e com base nela decidir qual será a próxima frase do diálogo? Se
o interlocutor responder que menos de 18 anos, ele pode receber um "Beleza, tem
aula hoje?" e se tiver 18 ou mais recebe um "Ei, você não vai trabalhar hoje?".

Para isso precisamos começar perguntando a idade. De volta ao nosso editor de


textos acrescentamos ao que já tínhamos feito:

idade = input("Quantos anos você tem? ")

Veja que mudamos o "raw_input" para apenas "input". A diferença entre os dois é
que o raw_input pode ser qualquer tipo de dados (letras, números, binários),
enquanto o "input" serve para armazenar números.

Agora chegamos à parte mais importante, que é fazer o programa descobrir se o


número digitado é maior ou menor que 18 e depois decidir qual frase deve
escrever. Para isso, vamos usar a instrução "if" (se) que tem sua companheira
inseparável, a "elif" (então se). Funciona assim:

if idade < 18:


print "Beleza, tem aula hoje?"

elif idade >= 18:


print "Ei, você não vai trabalhar hoje?"

Parece complicado à primeira vista, mas não é. O primeiro if verifica se o número é


menor (<) que 18. Caso seja, ele escreve o "Beleza, tem aula hoje?" e o programa
acaba.

Caso o número seja maior que 18, então o primeiro if não faz nada e ele passa
para o elif que vai verificar se o número é maior ou igual (>=) a 18. Caso seja, ele
imprime a frase "Ei, você não vai trabalhar hoje?". Veja que eu aproveitei pra
colocar mais quebras de linha, que servem para deixar a saída de texto do
programa mais legível.

Como vimos, o Python pode trabalhar com expressões aritméticas, usando números
e os operadores:

+ (mais)
- (menos)
* (multiplicação)
/ (divisão)
== (igual a)
!= (diferente de)
> (maior que)
>= (maior ou igual a)
< (menor que)
<= (menor ou igual a)
** (exponenciação, elevado à)

Podemos usá-los para resolver aquele problema clássico de tirar a média das notas
do aluno e dizer se ele passou de ano. Digamos que sejam 4 provas e a média para
passar seja 7. Precisaríamos perguntar as notas das quatro provas, tirar a média e
depois usar o if e o elif para descobrir se a média é maior ou menor que 7.

O programa poderia ficar assim:

aluno = raw_input("\n Qual o nome do aluno? ")


prova1 = input("\n Nota da primeira prova: ")
prova2 = input("\n Nota da segunda prova: ")
prova3 = input("\n Nota da terceira prova: ")
prova4 = input("\n Nota da quarta prova: ")

media = (prova1 + prova2 + prova3 + prova4) / 4


if media < 7:
print "\n Média", media,". Que vergonha", aluno,". Levou bomba!"
elif media >=7:
print "\n Média", media,".", aluno, "passou. Parabéns!"
Imagine agora que você não queria saber apenas a média de um aluno, mas da
sala inteira. Você precisaria que o programa ficasse perguntando as notas de todos
os alunos, um por vez e depois desse a média geral.

Para isso precisamos usar a instrução "while" (enquanto), que repete uma
seqüência de instruções até que uma condição seja atingida. Podemos começar o
programa perguntando o número de alunos na sala e criar uma variável
"contagem" com o valor zero. Cada vez que são dadas as notas de um aluno, a
variável "contagem" aumenta em 1. Quando ela chegar ao número de alunos da
sala, sabemos que todos foram contados. O programa ficaria assim:

alunos = input("\n Quantos alunos esta sala tem?")


contagem = 0
total = 0

while contagem < alunos:


contagem = contagem + 1
print "\n Notas do aluno ", contagem
prova1 = input(" Nota da primeira prova: ")
prova2 = input(" Nota da segunda prova: ")
prova3 = input(" Nota da terceira prova: ")
prova4 = input(" Nota da quarta prova: ")
total = total + prova1 + prova2 + prova3 + prova4

media = total / alunos / 4


print "\n\n A média geral da sala é", media, "\n\n"

Este já ficou um pouco mais complexo que o anterior. Temos três novas variáveis.
A variável "alunos" armazena o número de alunos da sala. A variável "contagem"
começa com zero mais vai aumentando em 1 a cada vez que o programa roda. O
while vai perguntando as notas e vai somando tudo na variável total. Quando
finalmente o número de alunos é atingido, vamos para a parte final do programa,
onde a média é calculada e escrita na tela.

Ao ser executado, o programa primeiro pergunta o número de alunos da sala e


depois vai perguntando as notas de cada prova até chegar ao resultado.

O Python reconhece a parte do texto que pertence ao while pela indentação do


texto. Quando acaba a indentação, acaba o while. Para indentar uma linha, basta
pressionar espaço quatro vezes. Alguns editores, como o Kwrite e o Kate, possuem
botões para indentar blocos de texto, o que facilita seu trabalho neste caso.

- Java: O Java é uma linguagem de programação multiplataforma, com uma


sintaxe até certo ponto parecida com o C++, porém com bibliotecas diferentes. Os
programas em Java podem ser executados em qualquer sistema operacional, desde
que o interpretador esteja instalado.

A JVM é um programa que converte o código Java em comandos que o sistema


operacional possa executar. Existem máquinas virtuais para vários sistemas
operacionais: o problema é que, devido ao processamento executado pela máquina
virtual, o programa torna-se mais pesado do que seria caso escrito diretamente
para a plataforma.

Um exemplo de programa desenvolvido desta forma é o Mercury (um cliente MSN


com versões para Linux e Windows, um dos primeiros a oferecer suporte a webcam
e por isso bastante famoso). Embora o código fonte do programa seja
relativamente simples e bem escrito, ele é bem mais pesado que outros programas
similares, por causa da máquina virtual.

Explicando de forma mais elaborada, linguagens de programação "tradicionais",


como o C e o C++, utilizam um compilador diferente para cada plataforma ou
sistema operacional em que o programa irá rodar. O código fonte em si pode ser
escrito de forma a ser facilmente portável, ou seja, rodar em diferentes versões do
Unix ou em várias famílias de processadores diferentes sem muitas alterações, mas
ainda assim será necessário recompilar o código fonte, gerando um binário
diferente para cada caso.

Embora o trabalho inicial seja maior, a vantagem desta abordagem é que o


desempenho é o melhor possível, já que sempre teremos um programa binário
otimizado para a plataforma.

O Java utiliza um conceito diferente. Ao invés de gerar um binário diferente para


cada plataforma, é gerado um binário que pode ser executado em qualquer
plataforma, dentro de uma máquina virtual. Este binário "universal" é chamado de
bytecode.

A idéia é criar aplicativos que possam ser escritos uma vez e a partir daí serem
executados em qualquer plataforma, reduzindo os custos de desenvolvimento.
Apenas o software da máquina virtual é que precisa ser reescrito para cada
plataforma, mas isso é problema dos desenvolvedores da linguagem, não do
programador.

Existe ainda a opção de abrir mão da flexibilidade do bytecode em troca de um


maior desempenho, passando a compilar os programas com otimizações para uma
determinada plataforma. Isso é muito útil quando o programa será executado
apenas dentro de computadores de uma certa plataforma, como PCs rodando
Linux, por exemplo.

No caso do Java, a máquina virtual que executa os programas é chamada de Java


Virtual Machine. Muitas páginas web utilizam applets Java, por isso a maioria das
pessoas acaba instalando o suporte a Java. Hoje em dia, além do Java da Sun,
temos versões alternativas, como o Blackdown e o Kofee, que possuem conjuntos
de recursos variados, mas são a princípio compatíveis com o código gerado para o
Java da Sun.
Embora tenha ganhado relevância com o Java, este conceito não é exatamente
novo. Linguagens mais antigas como o LISP e o Prolog já utilizam bytecode e
máquinas virtuais.

- Shell Script: Qualquer distribuição Linux inclui um número absurdo de comandos


e pequenos utilitários de modo texto, que são o terror dos iniciantes, mas a alegria
dos usuários mais avançados. O motivo de utilitários como o "tar", "dump", "dd",
"rsync" e muitos outros terem sobrevivido durante tantas décadas sem muitas
modificações, não é apenas resultado do saudosismo de alguns, mas resultado do
fato de que, ao contrário da maioria dos utilitários gráficos, eles podem ser
combinados com outros comandos e entre si, formando scripts poderosos de
backup, automatização de tarefas diversas e muitas outras coisas.

O shell script é uma espécie de linguagem universal no Linux, pois combina


comandos de terminal com estruturas lógicas, similares às encontradas em outras
linguagens para criar programas de poucas linhas, capazes de executar tarefas
complexas. Via shell script é possível desenvolver em minutos ferramentas que
demandariam horas de trabalho em outras linguagens.

Muitos dos utilitários de configuração usados nas distribuições (embora muitas


vezes não pareçam) são na verdade shell scripts elaborados, que aparentam ser
muito mais complexos do que realmente são.

Um exemplo de uso de shell scripts são os ícones mágicos, painéis e outras


ferramentas que desenvolvi para uso no Kurumin. Uma outra vantagem é que estes
programas não precisam ser compilados. Você simplesmente escreve os comandos
num arquivo de texto e executa diretamente. Quando precisa fazer alguma
alteração você altera o arquivo e pronto, o problema está resolvido.

Um exemplo de shell script, que serve só para mostrar uma janelinha dando olá na
tela seria simplesmente: kdialog --msgbox "Olá, tudo bem?"

Não escrevi errado, ele só tem uma linha mesmo. Na verdade, quando você
escreve um shell script, você simplesmente usa funções de outros programas que
estão instalados, por isso ele é tão simples se comparado às linguagens de
programação "de verdade" que vimos acima.

Você pode encontrar os scripts usados no Kurumin dentro da pasta


"/usr/local/bin/". Para estudá-los, você pode abrí-los em qualquer editor de
texto e começar fazendo pequenas modificações, para ir aprendendo como eles
funcionam.

Os painéis gráficos são desenvolvidos com a ajuda do Kommander, que permite


criar scripts gráficos, usando as funções do KDE. Os arquivos vão na pasta
"/etc/Painel/" e podem ser abertos usando o "kmdr-editor", no "Iniciar > Sistema >
Desenvolvimento".

Um shell script nada mais é do que um arquivo de texto comum, contendo os


comandos que serão executados, em ordem. Basicamente, se você sabe como fazer
alguma tarefa via linha de comando, você não tem problemas em fazer o mesmo
via shell script. Este é um exemplo de script simples, que serve para fazer backup
dos arquivos de uma pasta num segundo HD, usando o rsync:

#!/bin/sh
rsync -av /mnt/hda6/ARQUIVOS/ /mnt/hdb6/ARQUIVOS

Todo shell script deve começar com a linha "#!/bin/sh" (ou "#!/bin/bash", que tem
exatamente a mesma função), que indica quem irá executar os comandos a seguir,
neste caso o próprio bash, o interpretador de comandos do Linux. Na verdade,
estas linhas não são realmente necessárias, pois o bash é o padrão de qualquer
forma, mas não custa nada fazer as coisas de forma elegante ;-).

O rsync é eficiente para este tipo de tarefa, pois ele sincroniza o conteúdo das duas
pastas transferindo apenas as modificações e não os arquivos completos, como
aconteceria se você fizesse uma cópia simples. Para que este arquivo de texto vire
um script, é necessário que ele tenha permissão para ser executado, o que é feito
usando o comando "chmod +x", como em "chmod +x script".

Este é um exemplo de script bem mais complexo, que faz parte do ícone mágico
para instalar o VMware Player no Kurumin. Ele faz download do arquivo, verifica se
foi baixado corretamente e, se necessário, remove o arquivo e começa de novo, até
ter certeza de que ele está ok. Depois, são executados os passos necessários para
instalar o programa via linha de comando. No final, ele verifica se o programa foi
mesmo instalado e exibe a mensagem apropriada. Este exemplo é mais complexo
que os anteriores, pois minha idéia é dar um exemplo de script que é usado na
prática:

#!/bin/sh
cd /packages
md5sum=`md5sum vmware-player-distrib.tar.bz2`

while [ "$md5sum" != \
"9e41fed4b2d15d3f44522e5861b4bf5a vmware-player-distrib.tar.bz2" ]
do

cd /packages
rm -f vmware-player-distrib.tar.bz2
wget -c http://downloads-guiadohardware.net/vmware-player-distrib.tar.bz2
md5sum=`md5sum vmware-player-distrib.tar.bz2`
done

tar -jxvf vmware-player-distrib.tar.bz2


cd vmware-player-distrib/
sudo ./vmware-install.pl
rm -rf vmware-player-distrib/

if [ -e /usr/bin/vmplayer ]; then
kdialog --msgbox "O VMware Player foi instalado com sucesso. Você pode criar novas máquinas virtuais e
alterar suas configurações usando o Kurumin-EMU, encontrado no Iniciar > Escritório e Utilitários."

else
kdialog --msgbox "Aparentemente houve algum problema durante a instalação. Verifique se está conectado
à Internet. Se o servidor do arquivo estiver fora do ar, espere alguns minutos e tente novamente."
fi

À primeira vista, o script não parece tão simples assim, mas sem dúvida é bem
mais simples que programas escritos em outras linguagens. Dentro do código,
podemos notar algumas funções lógicas, como o while (enquanto), o "if" (então) e
o "else" (senão).

O script começa acessando a pasta onde será feito o download e verificando se o


arquivo já não foi baixado. Isso evita que ele baixe de novo se ele já foi instalado
anteriormente. Em seguida temos um while, que faz com que ele execute um
trecho de código repetidamente, até que uma determinada condição seja satisfeita.
No caso, a condição é que o md5sum do arquivo precisa estar correto. Se
necessário, ele deleta o arquivo e começa de novo.

Depois de baixar o arquivo e verificar o md5sum, ele parte para a instalação,


descompactando o arquivo, acessando a pasta que é criada e executando o
programa de instalação. No final ele verifica (if [ -e ) se o executável
"/usr/bin/vmware" existe, um indício de que o programa foi realmente instalado. Se
algo de errado aconteceu e o executável não existe, ele exibe uma mensagem
avisando do problema.

Hoje em dia, muitos programas gráficos podem ser controlados via linha de
comando. Graças a isso, um script pode fazer coisas como abrir e fechar
programas, criar novas janelas, minimizá-las ou maximizá-las, alterar seu conteúdo
e assim por diante. Via script também é possível acessar bancos de dados,
modificar arquivos de configuração de outros programas ou alterar a configuração
do sistema e assim por diante. Você pode ler mais sobre o desenvolvimento de
shell scripts no meu livro Linux, Ferramentas Técnicas.
Capitulo 2: Entendendo o Sistema

Apesar das distribuições estarem cada vez mais fáceis de instalar e existir a opção
de rodar o sistema direto a partir do CD-ROM, o "modus operandi" do sistema é
bem diferente que o do Windows, o que faz com que muitas vezes mesmo tarefas
simples, como instalar novos programas ou configurar a rede, pareçam
complicadas. Existe ainda a famosa linha de comando, um recurso extremamente
poderoso, que não encontra similar no Windows (o prompt do DOS não passa de
uma sombra ridícula e subnutrida que nem entra na conta ;).

Este capítulo é um resumo geral da organização do sistema, uso da linha de


comando, instalação de novos programas e outras dúvidas comuns. Ele é escrito de
forma bem genérica, para que as informações sejam aplicáveis a várias
distribuições.

As interfaces e programas

No Windows, a interface gráfica se confunde com o restante do sistema. Existe uma


interface "tamanho único" e você simplesmente não tem escolha a não ser se
habituar com ela.

No Linux, o conceito de interface gráfica é um pouco diferente. O X.org, ou apenas


X para os íntimos, é o responsável pela infra-estrutura básica. Ele é o responsável
por se comunicar com a placa de vídeo, montar as imagens que serão mostradas
no monitor e fornecer os recursos de que os programas precisam. Mas, assim como
o Kernel, ele é "invisível". Quem você vê não é o X.org, mas sim um gerenciador de
janelas, que é o programa que monta as janelas e menus que você vê na tela.

A vantagem é que você pode escolher qual gerenciador de janelas usar. O KDE,
usado por padrão no Kurumin e muitas outras distribuições, tem um visual mais ou
menos parecido com o do Windows. Se você quiser alguma coisa mais parecida
com o MacOS, pode experimentar o Gnome (usado por padrão em muitas
distribuições, como o Ubuntu); se quiser algo mais geek, pode tentar o Fluxbox, e
assim por diante.

Eu pessoalmente recomendo o KDE como melhor opção para quem está


começando. Ele tem muitas opções de personalização, permitindo que você deixe-o
com praticamente a cara que quiser. Você pode baixar temas, ícones, sons, papéis
de parede, etc. no http://kde-look.org. Como o nome sugere, ele é um site
dedicado a tudo relacionado a "embelezamento" do KDE.

Claro que o Kernel, o X e o KDE são importantes, eles são a base, mas o que
interessa mesmo são os programas. Aqui cai bem uma frase interessante do Linus:
"Uma coisa interessante sobre os sistemas operacionais é que ninguém realmente
usa um sistema operacional, as pessoas usam os programas instalados nele". De
que adiantaria um Kernel rápido e estável e uma interface bonita se você não
pudesse navegar na internet, assistir filmes nem ouvir música?.
Por serem dois sistemas operacionais muito diferentes, não existe a princípio
qualquer compatibilidade entre os programas escritos para o Linux e o Windows.
Disse "a princípio", pois hoje em dia existem alternativas para quem precisa rodar
programas do Windows no Linux, o que acho muito positivo já que aumenta nossa
liberdade de escolha. Não seria muito agradável se você encontrasse vários
recursos interessantes no Linux, mas ficasse preso ao Windows por causa de algum
programa que você não pode viver sem.

Existem basicamente duas opções: o Wine permite executar diretamente


programas Windows no Linux. Ele funciona muito bem em alguns casos e não tão
bem em outros. O Cedega é uma versão do Wine otimizada para jogos, que
permite rodar um grande número de games, como o Counte Strike e Warcraft III, e
o CrossOver Office é uma versão otimizada para rodar o Office e outros
aplicativos de produtividade.

Temos ainda o VMware, que permite rodar o Windows inteiro dentro de uma
janela e conseqüentemente todos os programas que quiser. A grande diferença
entre o Wine e o VMware, é que o Wine executa os programas Windows
diretamente, com compatibilidade limitada, enquanto o VMware permite que você
execute diretamente uma instância completa do Windows dentro de uma janela, e
rode os programas dentro dela.

Mas, voltando ao ponto principal, aqui vai uma pequena amostra de alguns dos
programas incluídos nas distribuições atuais, que dão conta das tarefas mais
comuns. Mais adiante teremos um capítulo inteiro dedicado a mostrar e analisar os
programas disponíveis.
O Konqueror é o navegador incluído no KDE. Ele é bastante rápido e serve
também como um excelente gerenciador de arquivos. O Konqueror é bastante
versátil, pois pode ser usado para acessar compartilhamentos de rede, ripar CDs,
acessar as configurações do KDE e muitas outras funções. Concorrendo com ele
temos o Firefox, que se tornou uma espécie de navegador padrão, roubando até
mesmo o espaço do IE no Windows. O Firefox deu origem a outros navegadores,
como o Epiphany e o Galeon, encontrados em algumas distribuições.

Entre os programas de mensagem instantânea, temos o Gaim, Kopete e Sim, que


combinam acesso a vários protocolos, como o Trillian for Windows. Entre os
programas especializados, que acessam apenas o MSN, temos o Mercury (que
inclui inclusive suporte a webcam) e o Amsn, além do Skype, que possui versão
Linux.

Para assistir filmes e DVDs, você pode contar com o Kaffeine, Xine (e suas
variantes, como o gXine e o Toten) e o Mplayer. O suporte a formatos de vídeo
diversos já foi um problema no Linux, mas hoje em dia a situação é muito mais
confortável que no Windows, com suporte inclusive a vídeos via streaming através
do navegador.

A maior parte dos codecs disponíveis já vem incluídos no sistema, e o suporte aos
formatos de vídeo mais "complicados", como o QuickTime e o WMF, é adicionado
instalando um pacote adicional, o "w32codecs". Para assistir DVDs protegidos, você
precisa do pacote "libdvdcss2". Existe ainda uma versão Linux do RealPlayer, que
completa o time.
Existem algumas exceções a esta regra, como o Fedora, OpenSuSE e o Ubuntu, que
vem por padrão com um conjunto capado de codecs, com o objetivo de eliminar
qualquer possibilidade de problemas relacionados a licenças ou patentes. Nestes
casos, você tem suporte apenas aos formatos mais básicos (muitas vezes sequer a
arquivos MP3) e precisa adicionar os demais manualmente.

Para ouvir música temos o clássico XMMS, que oferece um conjunto de funções
similar ao WinAmp, o próprio Kaffeine e um conjunto de players de "nova geração",
como o Amarok, que seguem a tendência de organizar as músicas na forma de
coleções, inaugurada pelo iTunes da Apple.

Para edição de texto, planilhas e apresentações, a opção mais desenvolvida é o


OpenOffice. Como ele é atualizado muito freqüentemente, recebe correções e
melhorias num ritmo muito acelerado. Ele já está à frente do MS Office em várias
áreas, oferece por exemplo um recurso de salvar qualquer documento como um
arquivo PDF, um formato ideal para mandar por e-mail ou publicar na web por
exemplo. Em outubro de 2005, foi lançado o OpenOffice 2.0, que trouxe melhorias
expressivas na interface e na compatibilidade com os arquivos do Office e o
OpenOffice Base, um aplicativo de banco de dados que concorre com o Access.

Apesar do OpenOffice ser de longe o mais conhecido e aberto, temos outras


opções, como o Koffice, a suíte office do KDE, composta de 11 aplicativos,
incluindo o Kword, Koffice, Kpresenter, Kivio (fluxogramas), Krita (editor de
imagens), Kchart, Kformula e outros. Eles oferecem a vantagem de serem mais
leves que o OpenOffice e possuírem menos funções, o que os torna mais fáceis de
usar para muitos. Mais uma opção é a dupla Abiword (texto) e Gnumeric
(planilhas), que são bem completos mas ainda assim bastante leves em
comparação com o OpenOffice.

Para edição de imagem temos o Gimp, um concorrente direto do Photoshop. Para


desenho vetorial temos o Inkscape, Sodipodi, Karbon14 e o próprio OpenOffice
Draw.

O Mozilla Thunderbird é um cliente de e-mails com muitos recursos, incluindo um


filtro anti-span adaptável, que "aprende" durante o uso, relacionando novas
mensagens de span com outras anteriormente recebidas, enquanto o Evolution é
mais parecido com o Outlook, incluindo compatibilidade com servidores Exchange.
Temos ainda o Kmail, que se diferencia dos dois por ser um cliente mais simples e
leve, integrado ao KDE.

Existem muitos jogos que rodam nativamente no Linux, como o Unreal (2003 e
2004), toda a série Quake (incluindo o 4), vários jogos próprios para a plataforma e
muitos que rodam através do Cedega.

Uma grande diferença entre o Windows e as principais distribuições nesta área é


que o Windows em si traz poucos aplicativos e você precisa baixar ou comprar os
programas adicionais e ir instalando-os posteriormente. No caso das distribuições,
o sistema já vem com um grande conjunto de programas, fazendo com que em
muitos casos o principal trabalho seja remover os que não usa.

Onde estou?? Entendendo os diretórios


O primeiro choque para quem está chegando agora é a estrutura de diretórios do
Linux, que não lembra em nada o que temos no Windows. No Windows temos os
arquivos do sistema concentrados nas pastas Windows e Arquivos de programas, e
você pode criar e organizar suas pastas da forma que quiser.

No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do


sistema e espera-se que você armazene seus arquivos pessoais dentro da sua
pasta no diretório /home.

Mas, as diferenças não param por aí. Para onde vão os programas que são
instalados se não existe uma pasta central como a "Arquivos de programas"? E
para onde vão os arquivos de configuração se o Linux não possui nada semelhante
ao registro do Windows?

A primeira coisa com que você precisa se habituar é que no Linux os discos e
partições não aparecem necessariamente como unidades diferentes, como o C:, D:,
E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz ou
simplesmente "/".

Dentro deste diretório temos não apenas todos arquivos e as partições de disco,
mas também o CD-ROM, drive de disquete e outros dispositivos, formando a
estrutura que você vê no gerenciador de arquivos.
O diretório "/bin" armazena os executáveis de alguns comandos básicos do
sistema, como o su, tar, cat, rm, pwd, etc. Geralmente isto soma de 5 a 7 MB,
pouca coisa.

O grosso dos programas ficam instalados dentro do diretório /usr (de "Unix
System Resources", ou recursos de sistema Unix). Este é de longe o diretório com
mais arquivos em qualquer distribuição Linux, pois é aqui que ficam os executáveis
e bibliotecas de todos os principais programas. A pasta "/usr/bin" (bin de binário),
por exemplo, armazena cerca de 2.000 programas e atalhos para programas numa
instalação típica. Se você tiver que chutar em que pasta está o executável de um
programa qualquer, o melhor chute seria justamente a pasta /usr/bin :-).

Outro diretório "populado" é o "/usr/lib", onde ficam armazenadas bibliotecas


usadas pelos programas. A função destas bibliotecas lembra um pouco a dos
arquivos .dll no Windows. As bibliotecas com extensão ".a" são bibliotecas
estáticas, que fazem parte de um programa específico, enquanto as terminadas em
".so.versão" (xxx.so.1, yyy.so.3, etc.) são bibliotecas compartilhadas, usadas por
vários programas.

Subindo de novo, a pasta "/boot" armazena (como era de se esperar) o Kernel e


alguns arquivos usados pelo Lilo (o gerenciador de boot do sistema), que são
carregados na fase inicial do boot. Estes arquivos são pequenos, geralmente
ocupam menos de 5 MB. Versões antigas do Red Hat e de outras distribuições
criam por default uma partição separada para o diretório "/boot" de cerca de 30
MB, posicionada no início do disco para evitar o limite de 1024 cilindros dos BIOS
de micros antigos. Isto não é necessário hoje em dia, pois nas versões atuais do
Lilo este limite não existe mais. Apesar disso, alguns usuários preferem manter o
"/boot" numa partição separada por questão de hábito.

Se tiver curiosidade, o arquivo "config-2.6.11-kanotix-7" (o número de versão


muda de acordo com a distribuição) é justamente o arquivo compactado com o
Kernel do sistema, que é carregado durante o boot.
Quando se fala em particionamento, as possibilidades são muitas, existem até listas
de discussão dedicadas exclusivamente ao assunto. Afinal, talvez usar o sistema de
arquivos xxx na partição yyy possa melhorar em 0,03% o desempenho do
sistema... Tem gente que realmente se prende aos detalhes. :-).

Logo abaixo temos o diretório "/dev", que é de longe o exemplo mais exótico de
estrutura de diretório no Linux. Todos os arquivos contidos aqui, como, por
exemplo, "/dev/hda", "/dev/dsp", "/dev/modem", etc., não são arquivos
armazenados no HD, mas sim ponteiros para dispositivos de hardware. Por
exemplo, todos os arquivos gravados no "arquivo" "/dev/dsp" serão reproduzidos
pela placa de som, enquanto o "arquivo" "/dev/mouse" contém as informações
enviadas pelo mouse.

Esta organização visa facilitar a vida dos programadores, que podem acessar o
hardware do micro simplesmente fazendo seus programas lerem e gravarem em
arquivos. Não é preciso nenhum comando esdrúxulo para tocar um arquivo em
.wav, basta "copiá-lo" para o arquivo "/dev/dsp", o resto do trabalho é feito pelo
próprio sistema. O mesmo se aplica ao enviar um arquivo pela rede, ler as teclas do
teclado ou os clicks do mouse e assim por diante. O Kernel se encarrega da parte
complicada.

O diretório "/etc" concentra os arquivos de configuração do sistema, substituindo


de certa forma o registro do Windows. A vantagem é que enquanto o registro é
uma espécie de caixa preta, os scripts do diretório "/etc" são desenvolvidos
justamente para facilitar a edição manual. É verdade que na maioria dos casos isto
não é necessário, graças aos vários utilitários de configuração disponíveis, mas a
possibilidade continua aí.

Os arquivos recebem o nome dos programas seguidos geralmente da extensão


.conf. Por exemplo, o arquivo de configuração do servidor DHCP (que pode ser
configurado para atribuir endereços IP aos outros micros da rede) é o
"/etc/dhcpd.conf", enquanto o do servidor FTP é o "/etc/proftpd.conf". Claro, ao
contrário do registro, os arquivos do "/etc" não se corrompem sozinhos e é fácil
fazer cópias de segurança caso necessário.

O diretório "/mnt" (de "mount") recebe este nome justamente por servir de ponto
de montagem para o CD-ROM (/mnt/cdrom), drive de disquetes (/mnt/floppy),
drives Zip e outros dispositivos de armazenamento. O uso do diretório /mnt é
apenas uma convenção. Você pode alterar o ponto de montagem do CD-ROM para
/CD, ou qualquer outro lugar se quiser. Isso é configurável através do arquivo
"/etc/fstab", onde vai a lista de todos os dispositivos usados pelo sistema e as
pastas em que cada um é montado.

Nada impede que você crie mais pastas no diretório raiz para armazenar seus
arquivos. Apesar de ser recomendável em termos de organização e segurança, você
não é obrigado a concentrar seus arquivos dentro do seu diretório de usuário. Nada
impede que você abra o gerenciador de arquivos como root (kdesu konqueror), crie
uma pasta /MP3, abra o menu de permissões para que seu login de usuário tenha
permissão para acessá-la e a utilize para guardar suas músicas, por exemplo.

Usando o terminal

No início, todos os sistemas operacionais usavam apenas interfaces de modo texto.


Antes do Windows, existiu o DOS e, antes do KDE, Gnome e todas as outras
interfaces que temos atualmente, o Linux tinha também apenas uma interface de
modo texto.

A diferença é que no Linux a interface de modo texto evoluiu junto com o restante
do sistema e se integrou de uma forma bastante consistente com os aplicativos
gráficos. Quanto mais você aprende, mais tempo você acaba passando no terminal;
não por masoquismo, mas porque ele é realmente mais prático para fazer muitas
coisas.

Você pode chamar qualquer aplicativo gráfico a partir do terminal; na maioria dos
casos o comando é o próprio nome do programa, como "konqueror" ou "firefox".
Durante o livro você vai notar que, em muitos exemplos, ensino os passos para
executar tarefas através da linha de comando, pois os atalhos para abrir os
programas, itens nos menus, etc., podem mudar de lugar, mas os comandos de
texto são algo mais ou menos universal, mudam pouco mesmo entre diferentes
distribuições. Esta mesma abordagem é adotada de forma geral dentro dos livros
sobre Linux.

Por exemplo, para descompactar um arquivo com a extensão .tar.gz, pelo terminal,
você usaria o comando:

$ tar -zxvf arquivo.tar.gz

Aqui o "tar" é o comando e o "-zxvf" são parâmetros passados para ele. O tar
permite tanto compactar quanto descompactar arquivos e pode trabalhar com
muitos formatos de arquivos diferentes, por isso é necessário especificar que ele
deve descompactar o arquivo (-x) e que o arquivo está comprimido no formato gzip
(z). O "v" é na verdade opcional, ele ativa o modo verbose, onde ele lista na tela os
arquivos extraídos e para onde foram.

Se você tivesse em mãos um arquivo .tar.bz2 (que usa o bzip2, um formato de


compactação diferente do gzip), mudaria a primeira letra dos parâmetros, que
passaria a ser "j", indicando o formato, como em:

$ tar -jxvf arquivo.tar.bz2

Você poderia também descompactar o arquivo clicando com o botão direito sobre
ele numa janela do Konqueror e usando a opção "Extrair > Extrair aqui". Para quem
escreve, é normalmente mais fácil e direto incluir o comando de texto, mas você
pode escolher a maneira mais prática na hora de fazer.

Existe um número muito grande de pequenos aplicativos de modo texto, cada um


deles suportando muitos parâmetros diferentes, por isso é quase impossível
conhecer todos. Aprender a usar o modo texto é parecido com aprender uma
segunda língua, é um processo gradual e constante, onde você sempre está
aprendendo comandos, parâmetros e truques novos. É uma área em que ninguém
pode dizer que sabe tudo.

Existem duas formas de usar o terminal. Você pode acessar um terminal "puro"
pressionando as teclas "Ctrl+Alt+F1", mudar entre os terminais virtuais
pressionando "Alt+F2", "Alt+F3", etc. e depois voltar ao modo gráfico pressionando
"Alt+F7", "Alt+F5" ou mesmo "Alt+F3", dependendo do número de terminais de
texto usados na distribuição em uso.

Estes terminais são às vezes necessários para manutenção do sistema, em casos


em que o modo gráfico deixa de abrir, mas no dia-a-dia não é prático usá-los, pois
sempre existe uma pequena demora ao mudar para o texto e voltar para o
ambiente gráfico, e, principalmente, estes terminais não permitem usar aplicativos
gráficos.

Na maior parte do tempo, usamos a segunda forma, que é usar um "emulador de


terminal", um terminal gráfico que permite rodar tanto os aplicativos de texto,
quanto os gráficos.

No KDE, procure o atalho para abrir o Konsole. Ele possui várias opções de
configuração (fontes, cores, múltiplas janelas, etc.). Se você preferir uma
alternativa mais simples, procure pelo Xterm.

O Xterm é o mais simples, que abre quase instantaneamente. O Konsole por sua vez é bem mais pesado,
mas oferece mais recursos, como abrir vários terminais dentro da mesma janela, fundo transparente, etc.
Dê uma olhada rápida em cada um e veja qual lhe agrada mais. Além destes dois, existem vários
outros, como o Gnome Terminal, Rxvt e Eterm, incluídos ou não de acordo com a
distribuição.

Na maioria dos casos, ao chamar um programa gráfico através do terminal, você


pode passar parâmetros para ele, fazendo com que ele abra diretamente algum
arquivo ou pasta. Por exemplo, para abrir o arquivo "/etc/fstab" no Kedit, use:

$ kedit /etc/fstab

Para abrir o arquivo "imagem.png" no Gimp, use:

$ gimp imagem.png

No começo, faz realmente pouco sentido ficar tentando se lembrar do comando


para chamar um determinado aplicativo ao invés de simplesmente clicar de uma
vez no ícone do menu. Mas, depois de algum tempo, você vai perceber que muitas
tarefas são realmente mais práticas de fazer via terminal.

É mais rápido digitar "kedit /etc/fstab" do que abrir o kedit pelo menu, clicar no
"Arquivo > Abrir" e ir até o arquivo usando o menu. É uma questão de costume e
gosto. O importante é que você veja o terminal como mais uma opção, que pode
ser utilizada quando conveniente, e não como algo intimidador.
Completando com a tecla Tab

Um dos recursos que torna o terminal um ambiente dinâmico é a possibilidade de completar comandos e
nomes de arquivos usando a tecla Tab do teclado. Por exemplo, imagine o comando:

$ md5sum kurumin-6.0alpha1.iso

Um pouco desconfortável de digitar não é mesmo? Nem tanto. Com a ajuda da tecla tab, você pode
digitá-lo com apenas 8 toques: md5<tab> kur<tab>. Prontinho, fica faltando só dar o enter :-).

Se por acaso houver outro comando começado com "md5" ou outro arquivo na mesma pasta começado
com "kur", então o Tab completará até o ponto em que as opções forem iguais e exibirá uma lista com as
possibilidades para que você termine de completar o comando. Por exemplo, se tivesse os arquivos
kurumin-5.1.iso e kurumin-6.0alpha1.iso na mesma pasta, ele completaria até o "md5sum kurumin-",
onde os nomes diferem e deixaria que completasse o comando.

Pressionando <tab> duas vezes, ele exibe uma lista das opções disponíveis. Por exemplo, digitando: apt-
get remove<tab><tab>, ele pergunta:

Display all 826 possibilities? (y or n)

Continuando, ele exibe uma lista de todos os pacotes (atualmente instalados), que poderiam ser
removidos usando o comando. O autocompletar é bem inteligente, entendendo a sintaxe dos comandos
usados e exibindo apenas as possibilidades que se aplicam a eles.

Comandos do prompt

Apesar da interface gráfica ser muito mais fácil de usar, é bom você ter pelo menos uma boa noção de
como as coisas funcionam pelo prompt de comando, isso vai lhe dar um domínio muito maior sobre o
sistema.

Em vários pontos deste livro, sem falar de outros tipos de documentação sobre Linux, você verá receitas
com longas listas de comandos que devem ser dados para configurar ou alterar algo. Na grande maioria
dos casos, existe algum utilitário gráfico que permite fazer o mesmo, mas os autores geralmente preferem
dar a receita de como fazer via linha de comando, pois nem todo mundo terá os utilitários à mão e muitas
vezes existem diferenças entre as opções disponíveis nas diferentes distribuições. Dar simplesmente uma
lista de comandos torna a dica utilizável para um número maior de pessoas.

Outro ponto é que muitas vezes é realmente mais fácil simplesmente dar um comando para abrir um
arquivo e descomentar algumas linhas do que abrir um utilitário que demora 10 segundos para carregar,
navegar por um monte de menus diferentes e marcar algumas opções escondidas. Uma coisa interessante
no Linux é que você não precisa realmente digitar os comandos, basta selecionar a linha e usar o botão do
meio do mouse para colá-la na janela do prompt.

O modo de comando é uma forma de "conversar" com o sistema, com mais opções do que seria possível
através de um utilitário gráfico e obtendo respostas mais rápidas. É claro que o modo de comando pode
assustar no início, mas um pouco de insistência vai facilitar bastante sua vida daqui em diante. Não seja
apressado, o legal é justamente ir aprendendo comandos novos conforme os problemas forem aparecendo.

Aqui estão alguns comandos básicos:

cd: Serve para navegar entre os diretórios. Ao abrir o terminal, você começa dentro do seu diretório home
(como "/home/kurumin"). Para acessar um diretório específico, especifique-o como parâmetro, como em
"cd /etc". Para subir um diretório use "cd .." e, para voltar ao home, digite simplesmente "cd", sem
parâmetro algum. Sempre que quiser confirmar em qual diretório está, use o comando "pwd".

Se você estiver dentro da pasta "/home/kurumin/arquivos/", por exemplo, e quiser ir para a pasta
"/usr/local", não é preciso usar o "cd .." até voltar ao diretório raiz, para só depois abrir a pasta, basta dar
o comando "cd /usr/local", de qualquer lugar, para ir diretamente à pasta desejada. Se, por outro lado,
você quiser acessar a pasta "trabalho", dentro da pasta atual, digite apenas "cd trabalho".

ls: Serve para listar os arquivos e diretórios dentro da pasta atual. Na maioria das distribuições, a listagem
aparece colorida, permitindo diferenciar as pastas e os diferentes tipos de arquivos. As pastas aparecem
em azul, os links em azul claro, os arquivos compactados em vermelho, as imagens em rosa, os
executáveis em verde e os arquivos de texto e outros formatos em preto.

Para incluir os arquivos ocultos (que no Linux começam com "."), use "ls -a". Para ver mais detalhes
sobre cada arquivo, incluindo o tamanho, permissões de acesso e dono, use "ls -lh". Para incluir os
ocultos, adicione o "a", como em "ls -lha".

A ordem dos parâmetros não altera o resultado do comando. Tanto faz digitar "tar -zxvf arquivo.tar.gz",
quando "tar -xzfv arquivo.tar.gz". Acostume-se a sempre usar a tecla Tab para completar os comandos
(principalmente os nomes de arquivos), assim, além de digitar mais rápido, você diminui a possibilidade
de erros.

man: Como disse, ninguém pode dizer que sabe tudo sobre todos os comandos do terminal. Para facilitar
as coisas, cada comando possui um manual, onde são citados todos os parâmetros e vários exemplos.
Todos estes manuais são acessados através de um comando único, o "man". Para ver as (muitas) opções
do "ls", por exemplo, use "man ls". Use as setas para rolar a tela e, para sair do manual, pressione a tecla
"q".

O man acaba sendo um componente essencial para quem usa muito a linha de comando, pois mesmo
comandos simples, como o ls, cat, grep, tail, usados no dia-a-dia possuem mais parâmetros do que é
possível memorizar (pelo menos para uma pessoa normal ;), de forma que o man acaba servindo como
um guia de consulta rápida.

Mas, devido à quantidade de parâmetros disponíveis, os manuais de muitos programas são muito longos e
complicados. Por isso, muitos suportam o parâmetro "--help", que exibe uma ajuda resumida, contendo
apenas os parâmetros mais usados. Experimente, por exemplo, o "ls --help".
Se você quiser apenas uma descrição rápida do que um determinado comando faz, experimente o
comando "whatis" (o que é), como em: "whatis ls".

Mais uma variante do man é o comando "info", que contém manuais alternativos para muitos comandos.
Enquanto os manuais do man são técnicos, desenvolvidos para serem manuais de referência, os do info
normalmente utilizam uma linguagem mais simples, abordando apenas as opções mais comuns. Nem
todos os comandos possuem uma página info, mas o número vem crescendo. Para usá-lo, basta digitar
"info comando", como em "info lsmod".

cp: Este é o comando usado para copiar arquivos de uma pasta a outra. Inclua o nome do arquivo e a
pasta para onde ele vai, como em "cp arquivo.tar.gz /mnt/sda1". Se você quiser copiar um arquivo que
está em outra pasta para o diretório atual, inclua a localização completa do arquivo e em seguida o "./"
(que representa o diretório atual), como em "cp /mnt/cdrom/video.avi ./".

O cp é por padrão um comando bastante chato e difícil de entender. Se você quer copiar uma pasta do CD
para o diretório atual, o mais lógico seria digitar "cp /mnt/cdrom/musicas ./", não é?. Mas, se você fizer
isso, ele responde: "cp: omitindo diretório '/mnt/cdrom/musicas' ".

Para copiar toda a pasta, você precisaria incluir o comando "-r", que explica que ele deve copiar
recursivamente, incluindo todos os arquivos e subdiretórios.

Um parâmetro bastante útil é o "-a", que faz com que o cp sempre copie recursivamente, mantenha as
permissões do arquivo original e preserve os links simbólicos que encontrar pelo caminho. Em resumo,
faz o cp se comportar de uma forma mais simples e lógica. Para copiar a pasta do exemplo original,
experimente usar "cp -a /mnt/cdrom/musicas ./".

Você pode ainda usar o "*" e a "?" como curingas quando quiser copiar vários arquivos. Para copiar todos
os arquivos da pasta atual para a pasta "/mnt/hda6", por exemplo, use "cp * /mnt/hda6".

A "?" por sua vez é mais contida, substituindo um único caractere. Por exemplo, "cp arquivo?.txt
/mnt/hda6", copia o "arquivo1.txt", "arquivo2.txt" e o "arquivo3.txt", mas não o "arquivo21.txt".

Lembre-se da diferença entre usar a barra ou não no início do arquivo. Uma barra especifica que você está
dando o caminho completo a partir do diretório raiz, como em "/mnt/cdrom/musicas", por exemplo. Ao
dar o nome de uma pasta ou arquivo, sem a barra, o sistema entende que ele está dentro do diretório atual.
Por exemplo, se você está no diretório /home e quer acessar a pasta "/home/kurumin/arquivos", você
precisaria digitar apenas "cd kurumin/arquivos".

Outra dica é que existem no shell algumas variáveis de ambiente que podem ser usadas para abreviar
comandos. Por exemplo, o caractere "~" representa seu diretório home (como "/home/kurumin"). Você
pode usá-lo para abreviar comandos: para copiar a pasta "/mnt/cdrom/musicas" para o home, você pode
usar "cp -a /mnt/cdrom/musicas ~", ao invés de digitar "cp -a /mnt/cdrom/musicas /home/kurumin", por
exemplo.

mv: O mv serve tanto para mover arquivos de um lugar para o outro quanto para copiar arquivos. Para
mover o arquivo foto.png para a pasta "/mnt/hda6/", o comando seria "mv foto.png /mnt/hda6". Você
pode usar o mv também para mover e renomear pastas. A diferença entre o mv e o cp é que, ao mover, o
arquivo original deixa de existir.

rm: O rm serve para remover tanto arquivos quanto diretórios, de acordo com os parâmetros usados. Para
remover um arquivo simples, basta usá-lo diretamente, como em "rm arquivo". Para que ele remova sem
pedir a confirmação, adicione o parâmetro "-f", como em "rm -f arquivo". Para remover uma pasta e todos
os arquivos e diretórios dentro dela, adicione o parâmetro "-r", como em "rm -rf arquivos/".

Tome cuidado ao usar o "-rf", pois ele não pede confirmação, deleta os arquivos diretamente, sem escalas.
Respire fundo e verifique se realmente está deletando a pasta certa antes de pressionar Enter.
É possível também usar caracteres curingas na hora de remover arquivos. Para remover todos que
possuírem a extensão ".jpg", use "rm -f *.jpg". Para remover todos os arquivos que começarem com
"img", use "rm -f img*". Lembre-se de que você pode usar também o "?" quando quiser usar o curinga
para apenas um caractere específico. Se você quiser remover os arquivos "doc1.txt", "doc2.txt" e
"doc3.txt", mas sem remover o "doc10.txt" e o "doc11.txt", você poderia usar o comando "rm -f doc?.txt".

mkdir: Este serve para criar novos diretórios, como em "mkdir /mnt/hda6/arquivos". É possível também
criar pastas recursivamente, criando se necessário todas as pastas necessárias até chegar a que você pediu,
adicionando o parâmetro "-p" como em "mkdir -p /mnt/hda6/arquivos/novos/2006". Mesmo que a pasta
"novos" não exista, ela será criada.

rmdir: Esta é uma variação do mkdir, que permite remover diretórios. A diferença entre ele e o "rm -rf" é
que o rmdir só remove diretórios vazios. Acostume-se a usá-lo no lugar do "rm -rf" ao deletar uma pasta
que acha que está vazia, assim você evita acidentes.

locate: Este é um dos comandos mais úteis na minha opinião; ele permite encontrar arquivos de forma
instantânea. Assim como mecanismos de busca, como o Google, o locate não sai procurando em todo o
HD até achar o arquivo que pediu. Ele procura apenas dentro de uma base de dados, que contém os nomes
de todos os arquivos. Esta base é gerada ao rodar o comando "updatedb", sua cara metade.

A vantagem de usar a base de dados é que as buscas são instantâneas, a desvantagem é que você precisa
rodar o updatedb (como root) de vez em quando, a fim de incluir as últimas modificações. Para procurar
um arquivo, simplesmente use "locate arquivo".

Se você está procurando por um programa, experimente o comando "which", uma variante do locate que
mostra apenas executáveis.

find: O find também permite localizar arquivos, mas funciona da forma tradicional, realmente
vasculhando os diretórios em busca dos arquivos, ao invés de usar uma base de dados, como o locate.
Embora seja lento ao procurar em diretórios com muitos arquivos e subdiretórios, o find é eficiente se
você souber previamente onde procurar. Por exemplo, o diretório "/etc" concentra as configurações do
sistema. Se você estiver procurando pelo arquivo "smb.conf" (onde é armazenada a configuração do
Samba), você poderia ir direto à fonte, usando o comando "find /etc -name smb.conf".

Note que além do diretório onde ele vai procurar (/etc no exemplo), você deve usar o parâmetro "-name"
antes de indicar o nome do arquivo que está procurando. Omitindo o diretório, ele simplesmente procura
dentro do diretório atual. Você pode também fazer buscas por todos os arquivos com uma determinada
extensão, como em "find /mnt/hda6 -name *.mp3".

Uma forma mais amigável de procurar arquivos é usar o kfind, o "Procurar arquivos" do KDE, que serve
como uma interface para o find. Através dele você pode procurar pelo nome ou tipo de arquivo (você
pode fazer uma busca incluindo apenas arquivos de imagem, por exemplo), procurar dentro de pastas
específicas ou localizar arquivos pertencentes a um determinado usuário ou grupo do sistema, ou até
mesmo procurar por arquivos modificados recentemente.
su: No Linux, existe uma separação clara entre o root e os demais usuários do sistema. O root é o único
que pode alterar a configuração do sistema e usar a maior parte das ferramentas de configuração. Os
usuários normais, por sua vez, podem usar os programas instalados e modificar arquivos dentro do seu
diretório home. Esta organização permite que várias pessoas usem o mesmo micro (o que é vital no caso
dos servidores), sem que um possa alterar as configurações do outro, nem muito menos mudar as
configurações do sistema.

Por um lado, isso torna o sistema muito mais robusto, mas por outro faz com que algumas tarefas sejam
mais complexas, pois você precisará primeiro se logar como root, para depois executar o comando. O su
permite que você "vire" root a qualquer momento, passando a abrir os programas, modificar arquivos e
usar todas as ferramentas sem limitações.

Digite "su" e forneça a senha de root. O "$" do terminal vira um "#", alertando que a partir daí você tem
plenos poderes. Se ao tentar abrir arquivos gráficos você receber uma mensagem dizendo que não é
possível se conectar ao X, experimente usar o comando "sux" no lugar do su. Ele configura as permissões
corretamente.

Algumas distribuições, como o Kurumin e o Ubuntu incluem uma variação dele, o "sudo", que permite
executar comandos específicos como root. Para abrir o Konqueror (o gerenciador de arquivos), como
root, de forma a conseguir alterar arquivos fora do seu home, digite "sudo konqueror". Dependendo da
configuração, ele abre sem pedir senha, ou confirma sua senha de usuário, uma proteção contra a
possibilidade de outra pessoa estar usando seu micro.

cat: Serve para ver o conteúdo de um arquivo. Por exemplo, "cat carta" mostra o conteúdo do arquivo
"carta". Este comando serve bem para ver o conteúdo de arquivos de texto pequenos, sem precisar abrir
um editor mais sofisticado. Ele também pode ser combinado com outros comandos para realizar tarefas
mais complexas. Por exemplo, se você tem um arquivo "boot.img" com a imagem de um disquete de
boot, não bastaria simplesmente copiar o arquivo para o disquete com o comando cp; você precisaria
fazer uma cópia bit a bit. Existem várias formas de fazer isso, mas uma solução simples seria usar o
comando "cat boot.img > /dev/fd0".

Neste caso, ele lista o conteúdo do arquivo, mas ao invés de mostrar na tela ele o escreve no disquete
(/dev/fd0). No shell existem alguns caracteres especiais, como o ">", ">>" e o "|", que permitem enviar
informações e o texto de resposta de comandos de um lugar para o outro. Você verá muitos usos úteis
para estes recursos especiais ao estudar sobre shell script.

clear: Limpa a tela, uma forma de colocar a ordem na casa antes de executar novos comandos. Ao invés
de digitar, você pode pressionar "Ctrl+L", que é o atalho de teclado para ele.
head: Este é um dos primos do cat, ele permite ver apenas as primeiras linhas do arquivo, ao invés de
exibir a coisa inteira. Basta especificar o número de linhas que devem ser exibidas, como por exemplo
"head -20 texto.txt".

Outro parente distante é o tail (cauda), que mostra as últimas linhas do arquivo. O uso é o mesmo, basta
indicar o número de linhas que devem ser mostradas e o nome do arquivo, como "tail -12
meu_longo_texto.txt".

Este comando é muito usado por administradores de sistemas para acompanhar os arquivos de log de seus
servidores. Como as novas entradas destes arquivos vão sendo inseridas no final do arquivo, o tail permite
verificar rapidamente apenas as novas inclusões, sem precisar perder tempo abrindo o arquivo inteiro.

du: O du permite ver uma lista com o espaço ocupado por cada pasta dentro do diretório atual. É uma
forma rápida de encontrar grandes arquivos ou pastas que estão consumindo muito espaço. Em geral
usamos "du -h", onde o -h faz com que ele exiba o tamanho dos arquivos de forma "humana", escrevendo
"2,8G" ao invés de "2876322", por exemplo.

O Konqueror inclui um modo de visualização que funciona de maneira similar, mostrando os arquivos e
pastas na forma de blocos coloridos, classificados de acordo com o tamanho. Para ativar este modo,
clique no último botão da barra de funções:

| (pipe): Junto com as setas de redirecionamento (> e >>), o pipe ( | ) é muito usado em scripts e
comandos diversos. Ele permite fazer com que a saída de um comando seja enviada para outro ao invés
de ser mostrada na tela. Parece uma coisa muito exótica, mas acaba sendo incrivelmente útil, pois permite
"combinar" diversos comandos que originalmente não teriam nenhuma relação entre si, de forma que eles
façam alguma coisa específica.

Por exemplo, imagine que você quer imprimir o manual de algum dos comandos, ou mandar por e-mail
para alguém que não tem Linux instalado. Uma forma de fazer isso seria usar o comando "man
comando | col -b > arquivo.txt", que copia toda a saída do comando man para o
arquivo.txt, mantendo a formatação e as quebras de linha. Aqui usamos o pipe
para enviar a saída do man, que originalmente seria mostrada na tela, para ser
reformatada pelo comando "col -b" e, a partir daí, para o arquivo. O pipe é um
componente de muitos comandos que veremos ao longo do livro.

grep: O grep permite filtrar a saída de um determinado comando, de forma que ao


invés de um monte de linhas, você veja apenas a informação que está procurando.
Ele é freqüentemente usado em conjunto com o pipe, sobretudo em scripts.

Um exemplo simples: sua placa de rede não está funcionando e você quer saber se
o módulo de kernel "sis900", que dá suporte a ela, está carregado. Você pode ver
os módulos que estão carregados usando o comando "lsmod", mas a lista é um
pouco longa. Você poderia completar o lsmod com "| grep sis900", que vai filtrar
usando o grep, mostrando na tela apenas as linhas contendo "sis900". O comando
ficaria então "lsmod | grep sis900".

Se não aparecer nada na tela, você sabe de antemão que o módulo não está ativo,
Neste caso, você poderia tentar carregá-lo manualmente usando o comando
"modprobe sis900", como root.

split: Esse comando serve para quebrar arquivos em vários pedaços. Muito útil quando você precisa
gravar arquivos grandes em vários disquetes ou CDs, por exemplo. Imagine que você queira quebrar um
arquivo de 3 GB chamado "tenshi.avi" em vários arquivos de 650 MB cada um, de forma a conseguir
gravá-lo em vários CDs. Poderia usar o comando "split -b 650m tenshi.avi".

O "650m" é o tamanho de cada pedaço, no caso 650 MB. Você precisa apenas trocar o tamanho dos
pedaços e o nome do arquivo. Esse comando vai gerar vários arquivos: xaa, xab, xac, xad, etc. que podem
ser transportados. Para juntá-los depois, usamos o comando cat que vimos acima. Basta reunir todos na
mesma pasta novamente e rodar o comando "cat x* > tenshi.avi".

Isso junta todos os arquivos (na ordem) restaurando o arquivo original. Isso funciona porque os
fragmentos de arquivo gerados pelo split sempre começam com "x".

Outro truque é que você pode usar o cat também para juntar diversos arquivos, formando um só. Isto
funciona para músicas e vídeos, por exemplo. Para juntar vários vídeos curtos, num único maior, use "cat
video1.avi video2.avi video3.avi > videozao.avi".

&: Este é um parâmetro que permite rodar aplicativos mantendo o terminal livre. No Linux, todos os
aplicativos, mesmo os gráficos, podem ser chamados a partir de uma janela de terminal. O problema é
que, ao chamar algum aplicativo, o terminal ficará bloqueado até que o aplicativo seja finalizado,
obrigando-lhe a abrir um para cada programa.

Acrescentar o & no final do comando, como em "konqueror /etc &" resolve este problema, mantendo o
terminal livre. Se você esquecer de acrescentar ao "&" ao abrir um programa, ainda pode "destravar" o
terminal pressionando "Ctrl+Z" (que paralisa o programa e te devolve o controle do terminal) e depois
"bg", que reinicia o programa em background.

Note que alguns aplicativos exibem mensagens diversas e avisos depois de serem abertos, o que "suja" o
terminal, mas sem comprometer o que você está fazendo. Se isto te incomodar, você pode adicionar um
"&>/dev/null" ao comando, o que descarta todas as mensagens, como em "konqueror /etc &
&>/dev/null".

startx: Serve para abrir a interface gráfica a partir do prompt, caso você tenha escolhido inicializar o
sistema em modo texto.

Histórico: O terminal mantém um histórico dos últimos 500 comandos digitados. Para repetir um
comando recente, simplesmente pressione as setas para cima ou para baixo até encontrá-lo. Para fazer
uma busca use o comando "history | grep comando" , como em "history | grep cp" para mostrar todas as
entradas onde foi usado o comando "cp".

Ponto e vírgula: Você também pode executar uma fila de comandos de uma vez. Basta separá-los por
ponto e vírgula, como em "ls; pwd" ou "cd /mnt/arquivos; ls"

Lembre-se de que no Linux o terminal distingue entre letras maiúsculas e minúsculas. "ls" é diferente de
"LS". Quando criar novos arquivos e pastas, prefira usar nomes em minúsculas, assim você evita
confusão.

Desligando: Assim como no Windows, você precisa desligar o sistema corretamente para evitar perda de
arquivos e corrompimentos diversos na estrutura da partição. Além das opções nos menus do KDE ou
Gnome, você pode desligar via terminal, usando os comandos abaixo. Não se esqueça que todos eles
precisam ser executados como root. Use primeiro o comando su ou o sudo:

reboot: Reinicia o micro.

halt: Desliga o micro.

shutdown -h now: Também serve para desligar o sistema, mas permite que você especifique um horário.
É muito útil se você deixar o micro ligado à noite fazendo alguma coisa ou baixando um arquivo, mas
quiser que ele desligue sozinho depois de um certo tempo. Substitua now (agora) por um tempo em
minutos que o sistema esperará antes de desligar, usando o parâmetro "+" como em shutdown -h +60.
Você pode ainda especificar um horário, no formato hh:mm como em shutdown -h +06:00 (para desligar
às 6:00 da manhã).

Ctrl+Alt+Del: Este é um atalho de teclado que, dado no terminal de texto, serve para reiniciar o micro.
Não tem tanta utilidade quanto no Windows, mas é mais rápido que fazer o login e rodar o comando
"reboot" ;).

Editando os arquivos de configuração

Complementando os comandos de terminal, existem os arquivos de configuração. Ao contrário do


Windows, onde as configurações são salvas numa caixa preta, o registro, difícil de entender e ainda mais
de editar, no Linux as configurações são salvas sempre dentro de arquivos de texto, na maior parte das
vezes legíveis, que você pode editar manualmente quando necessário.

Na verdade, a maioria dos programas de configuração nada mais são do que assistentes que facilitam a
configuração destes arquivos. O programa lhe mostra as opções de uma forma amigável, mas na hora de
salvá-las eles simplesmente reescrevem os arquivos correspondentes. Eu tenho uma certa experiência no
desenvolvimento destes utilitários, pois ao longo dos anos desenvolvi muitos deles para incluir no
Kurumin, mas, para não alongar muito, vou me limitar a dar uma visão geral sobre os principais arquivos
de configuração do sistema.

Não é realmente necessário que você estude cada um destes arquivos (a menos que você esteja estudando
para alguma prova de certificação), mas é importante ter pelo menos uma idéia geral sobre a função de
cada um, pois ao pesquisar sobre instalação de drivers e programas, pesquisar soluções para problemas
diversos, ou mesmo receber ajuda de alguém através dos fóruns, você vai ver muitas referências a
arquivos de configuração diversos. Eles são o denominador comum entre as diversas distribuições, por
isso a única forma de escrever algum artigo ou howto explicando sobre como instalar um driver de um
modem ou placa wireless, por exemplo, em diversas distribuições diferentes, é explicar o caminho das
pedras através dos arquivos de configuração, que é justamente a abordagem que a maioria dos autores
acaba adotando.
Ou seja, gostando ou não, muitas vezes você precisará editar algum arquivo de configuração, ou talvez
prefira fazer isso algumas vezes para ganhar tempo ou para ter acesso a opções que não estejam
disponíveis nos utilitários de configuração.

Para editar os arquivos, você precisará apenas de um editor de textos. Existem vários exemplos: você
pode por exemplo usar o kedit ou o kwrite no KDE, o gedit no Gnome, ou o mcedit, joe, nano ou
mesmo o antigo e pouco amigável vi, caso esteja em modo texto.

Lembre-se de que em qualquer um deles você pode abrir o editor diretamente no arquivo que quiser
editar, como em "mcedit /etc/fstab".

Tanto o kedit quanto o gedit são editores relativamente simples, que lembram até certo ponto o notepad
do Windows. O kwite já é um editor mais avançado, voltado para quem escreve scripts ou mesmo
programa em linguagens diversas. Ele é capaz de realçar a sintaxe de várias linguagens, diferenciando os
comandos, condicionais, comentários, etc., através de cores. Isso ajuda muito a entender o código e
permite identificar erros muito mais rápido.

Nos editores de modo texto as coisas são um pouco mais complicadas, já que eles são controlados através
de atalhos de teclado, mas você acaba precisando deles para resolver problemas em situações onde o
modo gráfico não está mais abrindo, ou ao usar outras máquinas remotamente, via SSH.

O mais simples é o mcedit. Ele faz parte do pacote "mc", que é encontrado em todas as distribuições. Se
ele não estiver instalado, você resolve o problema instalando o pacote. Nele, as funções são acessadas
usando as teclas F1 a F10, com uma legenda mostrada na parte inferior da tela. Para salvar você pressiona
F2 e para sair, F10.

O joe é um meio termo. Ele é muito parecido com o antigo Wordstar do DOS e usa as mesmas teclas de
atalho que ele. Para salvar o arquivo e sair, você pressiona Ctrl+K e depois X. Para salvar e sair no nano,
pressione Ctrl+X, depois S e Enter.

Finalmente, temos o vi, que por algum motivo conquistou um grupo de usuários fiéis ao longo de seus
quase 30 anos de vida e, graças eles, continua vivo até hoje, muito embora seja um dos editores menos
amigáveis.

O vi tem três modos de operação: comando, edição e o modo ex. Ao abrir o programa, você estará em
modo de comando; para começar a editar o texto, pressione a tecla "i". A partir daí, ele funciona como um
editor de textos normal, onde o Enter insere uma nova linha, as setas movem o cursor, etc.
Quando terminar de editar o arquivo, pressione Esc para voltar ao modo de comando e em seguida "ZZ"
(dois Z maiúsculos) para salvar o arquivo e sair. Para sair sem salvar pressione Esc e digite ":q!"
(exatamente como aqui, dois pontos, quê, exclamação, seguido de Enter). Uma segunda opção para salvar
e sair é pressionar Esc seguido de ":wq". Para apenas salvar, sem sair, pressione Esc seguido de ":w" e
para sair sem salvar use o Esc seguido de ":q!".

Resumindo, o Esc faz com que o vi volte ao modo de comando, o ":" nos coloca no modo ex, onde
podemos salvar e fechar, entre outras funções. O "q" fecha o programa, o "w" salva o arquivo e o "!" é
uma confirmação.

Embora não seja exatamente pequeno (se comparado a editores mais simples, como o joe ou o nano),
muito menos fácil de usar, o vi é praticamente o único editor que pode ser encontrado em qualquer
distribuição. Em muitos casos é usado o elvis, uma versão simplificada, mas que funciona mais ou menos
da mesma forma. O pequeno grupo de usuários forma um bando bem organizado, que urra, balança os
galhos das árvores e atira cocos nas cabeças dos desenvolvedores, sempre que uma distribuição se atreve
a removê-lo :-P.

Ao sair do editor, volta para o terminal. Você pode verificar se o arquivo realmente foi salvo corretamente
usando o cat, como em "cat /etc/fstab". No caso de arquivos longos, acrescente "| more", que permite ler
uma página de cada vez, como em "cat /var/log/syslog | more".

Alguns arquivos particularmente importantes são:

/etc/fstab: Aqui vai uma lista das partições que são acessadas pelo sistema, onde cada uma é montada e
quais delas são montadas automaticamente na hora do boot. Além das partições, o fstab pode ser usado
também para incluir CD-ROMs e até mesmo compartilhamentos de rede.

/etc/modules: Neste arquivo vão módulos que são carregados durante o boot. Em geral, usamos este
arquivo para ativar o carregamento de módulos para placas wireless, modems e placas de som que não
foram instalados manualmente, ou que não foram detectados automaticamente durante a instalação. Você
vai ver muitas referências a este arquivo em tutoriais falando sobre a instalação de drivers diversos.

/etc/lilo.conf: O lilo é o gerenciador de boot, responsável por carregar o sistema. O lilo pode ser
configurado para carregar diversos sistemas operacionais diferentes, onde você escolhe qual usar na hora
do boot. Você pode fazer dual-boot entre Linux e Windows, ou até mesmo instalar diversas distribuições
diferentes no mesmo HD. Sempre que fizer alterações no arquivo, rode o comando "lilo" (como root) para
salvar as alterações.

/boot/grub/menu.lst: Muitas distribuições adotam o grub como gerenciador de boot ao invés de usar o
lilo. No caso do grub, as alterações no arquivo são aplicadas automaticamente.

/etc/X11/xorg.conf: Este é o arquivo onde vai a configuração do vídeo, que inclui o driver usado,
resolução, taxa de atualização e configuração de cores do monitor, além da configuração do mouse. Hoje
em dia, praticamente todas as distribuições (com exceção do Slackware) são capazes de configurar o
vídeo corretamente durante a instalação, mas você pode manter uma cópia do arquivo à mão para poder
restaurar a configuração do vídeo em caso de problemas. Você pode também usar o arquivo gerado em
outras distribuições.

O xorg.conf é usado pelo X.org, que é a versão atual do servidor gráfico. Distribuições antigas usam o
Xfree, que armazena as configurações num arquivo diferente, o "/etc/X11/XF86Config-4".

/etc/passwd, /etc/shadow e /etc/group: Estes arquivos armazenam a base de dados dos usuários, senhas e
grupos do sistema. Naturalmente, você não precisa se preocupar em alterá-los, pois eles são modificados
automaticamente pelo adduser, users-admin e outras ferramentas, mas é interessante saber que eles
existem. Você pode ver o conteúdo dos três apenas como root.

O "/etc/passwd" guarda os logins e outras informações sobre ou usuários. Você notará que além do root e
dos usuários que adicionou, existem vários usuários de sistema, como o cupsys, proxy, sys, etc. Estes
usuários são usados internamente pelos programas, você não pode fazer login através dele. Esta prática de
ter usuários separados para cada programa aumenta bastante a segurança do sistema. Apesar do nome, o
"/etc/passwd" não armazena as senhas, elas vão no arquivo "/etc/shadow" num formato encriptado.

Criando links

O comando ln permite criar links. Existem dois tipos de links suportados pelo Linux, os hard links e os
links simbólicos. Os links simbólicos têm uma função parecida com os atalhos do Windows: eles
apontam para um arquivo, mas se o arquivo é movido para outro diretório, o link fica quebrado. Os hard
links por sua vez são semelhantes aos atalhos do OS/2 da IBM, eles são mais intimamente ligados ao
arquivo e são alterados junto com ele. Se o arquivo muda de lugar, o link é automaticamente atualizado.
Isto é possível porque nos sistemas de arquivos usados pelo Linux cada arquivo possui um código de
identificação (chamado de inode), que nunca muda. O sistema sabe que o arquivo renomeado é o mesmo
do atalho simplesmente procurando-o pelo inode ao invés do nome.

O comando ln dado sem argumentos cria um hard link, como em:

$ ln /home/morimoto/arquivo.txt arquivo

Onde será criado um link chamado "arquivo" no diretório corrente, que apontará para o arquivo.txt dentro
do diretório /home/morimoto.

Para criar um link simbólico, acrescente o argumento "-s", como em:

$ ln -s /home/morimoto/arquivo.txt arquivo

Você pode criar tanto links apontando para arquivos, quanto links apontando para diretórios. Por
exemplo, se você acha muito trabalhoso acessar o CD-ROM através do diretório /mnt/cdrom, você pode
simplesmente criar um link para ele dentro do seu diretório de usuário, ou onde você quiser. Ao clicar
sobre o link no gerenciador de arquivos, você acessará o CD-ROM.

Para criar um link chamado "CD" dentro do seu diretório de usuário apontando para o CD-ROM, o
comando seria:

$ ln -s /mnt/cdrom ~/CD

O interpretador de comandos se encarregará de substituir automaticamente o "~" pela localização correta


da sua pasta de usuário, não importa qual seja.

Você pode ainda criar links que funcionarão em qualquer parte do sistema. Por exemplo, imagine que
você armazene seus arquivos de trabalho na pasta /home/seu_nome/trabalho/arquivos. Ao invés de digitar
o caminho completo, você poderia criar um link simbólico "arquivos" que poderia ser acessado a partir de
qualquer pasta do sistema. Para isto, basta acessar o diretório "/usr/bin" e criar o link por lá, usando os
comandos:

$ cd /usr/bin
$ ln -s /home/seu_nome/trabalho/arquivos arquivos

Você verá muitos links espalhados pela estrutura de diretórios do Linux, um recurso muito usado quando
os arquivos de sistemas mudam de lugar numa nova versão. Mantendo um link na localização antiga,
todos os programas antigos continuam funcionando sem problemas.
Fechando programas travados

Apesar do Kernel do Linux ser extremamente estável, quase impossível de travar, os programas nem
sempre são. Para complicar, o rápido desenvolvimento do sistema e a necessidade por novos aplicativos
acabam fazendo com que muitas vezes as distribuições tragam programas ainda em estágio beta, ou
mesmo alpha, que ainda não estão completamente estáveis. Isto acaba muitas vezes resultando em
travamentos. A vantagem do Linux neste ponto é que você quase nunca precisará reiniciar todo o sistema,
basta matar o aplicativo problemático, ou, no pior dos casos, reiniciar o ambiente gráfico.

A forma mais prática de finalizar aplicativos é usar o xkill. Ao clicar sobre o ícone do programa, ou
chamá-lo pelo terminal (digitando xkill), o cursor do mouse vira um ícone de caveira e basta clicar sobre
o programa travado para matá-lo sem dó. Você pode também chamar o xkill usando o atalho
"Ctrl+Alt+ESC.

Se a coisa for séria e o mouse parar de responder, você pode reiniciar o X, o que reabre toda a parte
gráfica, pressionando "Ctrl+Alt+Backspace". Embora você possa perder arquivos não salvos, esta é uma
solução muito menos radical (e mais rápida) do que reiniciar o micro no botão.

Embora mais trabalhoso, você pode também finalizar os programas através do terminal, usando os
comandos kill e killall. O killall pode ser usado sempre que você souber o comando que inicializa o
programa a ser fechado. Por exemplo, para fechar o xmms, o mesmo do screenshot acima, bastaria
escrever "killall xmms"; para finalizar o konqueror o comando seria "killall konqueror", e assim por
diante.

O problema com o killall é que em muitos casos o comando para fechar o programa não é o mesmo que
seu nome. Para fechar o Firefox, por exemplo, você teria que digitar "killall firefox-bin" e não apenas
"killall firefox", que seria o mais lógico.

Para os casos onde você não souber o nome do programa, existe o comando "ps" que mostra todos os
processos abertos. Existem várias opções para este comando. A que costumo usar mais freqüentemente é
"ps -x | more", que mostra todos os processos iniciados por você, sempre dando uma pausa quando esta
encher a tela:
Na coluna direita da lista você verá os nomes dos aplicativos. Veja que em muitos casos o mesmo
programa aparece várias vezes, seja porque você abriu várias instâncias do programa, seja por ele
realmente ser dividido em vários processos diferentes, mas o killall se encarrega de acabar com todos os
vestígios.

Na coluna da esquerda está o PID de cada processo, um número de identificação que pode ser usado em
conjunto com o comando kill para matar um processo específico, como em "kill 4060".

Além do ps -x, você pode tentar o "ps -aux", que inclui todos os processos ativos. A lista é sempre longa,
pois inclui todos os serviços e componentes do sistema que são carregados automaticamente durante o
boot. Outro programa de texto com a mesma função é o pstree. Ele mostra os processos na forma de uma
árvore, permitindo que você veja como eles se relacionam.

Se você estiver no KDE, pode gerenciar os processos de uma forma muito mais amigável usando o
Ksysguard. Basta procurar por ele no iniciar ou pressionar "Ctrl+Esc" para abri-lo:
Montando e desmontando

Embora cada vez mais as distribuições detectem as partições, CD-ROMs, pendrives e outros dispositivos
automaticamente, criando ícones no desktop ou algo similar, por baixo dos panos é sempre necessário
montar os dispositivos antes de acessá-los. Isto é feito automaticamente quando você clica no ícone do
CD-ROM no desktop, por exemplo, mas, dependendo da distribuição que resolver usar, você acabará
precisando fazer isso manualmente em muitos casos. Vamos então entender como esse processo funciona.

Cada dispositivo ou partição é acessado pelo sistema através de um device, um arquivo especial criado
dentro do diretório "/dev". Para entender a ordem usada para nomear estes dispositivos é preciso usar
algumas noções de hardware.

Na placa-mãe você encontra duas portas IDE (primária e secundária), que são usadas para instalar o HD e
CD-ROM. Cada uma das duas permite conectar dois dispositivos, de forma que podemos instalar um total
de 4 HDs ou CD-ROMs na mesma placa. Os drives IDE "tradicionais", que usam os cabos de 40 ou 80
vias são chamados de "PATA", de "parallel ATA".

Cada par de drives é instalado na mesma porta. Para diferenciar os dois é usado um jumper, que permite
configurar cada drive como master (mestre) ou slave. O mais comum é usarmos apenas um HD e mais um
CD-ROM ou DVD, cada um instalado em sua própria porta e ambos configurados como master. Ao
adicionar um segundo HD, você poderia escolher entre instalar na primeira ou segunda porta IDE, mas de
qualquer forma precisaria configurá-lo como slave, mudando a posição do jumper. Independentemente de
ser um HD, CD-ROM ou qualquer outro tipo de dispositivo, os drives são detectados pelo sistema da
seguinte forma:

IDE primária, master: /dev/hda


IDE primária, slave: /dev/hdb
IDE secundária, master: /dev/hdc
IDE secundária, slave: /dev/hdd

Os HDs Serial ATA (SATA) são vistos pelo sistema da mesma forma que HDs SCSI. Isso também se
aplica a pendrives e outros dispositivos USB. Aqui entra uma história interessante: como o código é
aberto, é muito comum que novos módulos sejam baseados ou utilizem código de outros módulos já
existentes. O suporte a drives SCSI no Kernel é tão bom que ele passou a ser usado (com pequenas
adaptações) para dar suporte a outros tipos de dispositivos. Na época do Kernel 2.4, até os gravadores de
CD eram vistos pelo sistema como drives SCSI.
O primeiro dispositivo SCSI é detectado como "/dev/sda", o segundo como "/dev/sdb" e assim por diante.
Se você tiver um HD SATA ou pendrive, o drive é visto como "/dev/sda" e não como "/dev/hda", como
seria se fosse um drive IDE.

Se você tiver um HD SATA e um pendrive, instalados na mesma máquina, então o HD será visto como
"/dev/sda" (pois é inicializado primeiro, logo no início do boot) e o pendrive como "/dev/sdb". Se você
plugar um segundo pendrive, ele será visto como "/dev/sdc", e assim por diante. Ao contrário dos
dispositivos IDE, os devices são definidos seqüencialmente, conforme o sistema vai detectando os
dispositivos. Quem chega primeiro leva.

Se você tiver um HD IDE e um pendrive, então o HD será visto como "/dev/hda" e o pendrive como
"/dev/sda". Uma observação é que você quase sempre encontrará uma opção dentro do Setup que permite
colocar as portas SATA em modo de compatibilidade (Legacy Mode ou Compatibility Mode,
dependendo da placa). Ao ativar esta opção, seu HD SATA passará a ser visto pelo sistema como "
/dev/hda', como se fosse um HD IDE normal. Esta opção é útil ao instalar distribuições antigas, que ainda
não oferecem um bom suporte a HDs SATA.

Em seguida vem a questão das partições. Ao invés de ser um espaço único e indivisível, um HD é como
uma grande sala comercial, que pode ser dividida em vários escritórios e ambientes diferentes. Ao instalar
o sistema operacional, você tem a chance de particionar o HD, onde é feita esta divisão. É sempre
recomendável usar pelo menos duas partições separadas, uma para o sistema e outra para seus arquivos.
Isto permite reinstalar o sistema sempre que necessário, sem perder seus arquivos e configurações.

No Linux existe ainda a necessidade de criar uma partição separada para a memória swap. Esta partição
utiliza uma organização própria, otimizada para a tarefa. Embora um pouco mais complicada, esta
abordagem faz com que o acesso seja mais rápido que no Windows, onde o swap é feito dentro de um
arquivo, criado na partição de instalação de sistema.

Existem diversos programas de particionamento, os mais usados no Linux são o cfdisk, gparted e o
qtparted. Muitas distribuições incluem particionadores próprios, o Mandriva por exemplo inclui o
diskdrake. Veremos mais detalhes sobre o particionamento e instalação do sistema no próximo capítulo.
Acima temos um screenshot do Gparted. Como pode ver, cada partição recebe um número e é vista pelo
sistema como um dispositivo diferente. A primeira partição do "/dev/hda" é vista como "/dev/hda1" e
assim por diante. O mesmo acontece com os pendrives, que do ponto de vista do sistema operacional são
uma espécie de HD em miniatura.

O sistema nunca acessa os dados dentro da partição diretamente. Ao invés disso, ele permite que você
"monte" a partição numa determinada pasta e acesse os arquivos dentro da partição através dela, o que é
feito usando o comando "mount".

A sintaxe básica inclui o dispositivo e a pasta onde ele será acessado, como em:

# mount /dev/hda2 /mnt/hda2

O mais comum é que as partições "extras" sejam montadas dentro da pasta "/mnt", que é própria para a
tarefa, mas isso não é uma regra; você pode montar as partições em qualquer pasta vazia. Não se esqueça
de criar a pasta desejada, se necessário, usando o comando "mkdir".

No caso do CD-ROM, citamos apenas o dispositivo, sem incluir a partição (já que um CD-ROM não
pode ser particionado, como um HD). Você pode tanto usar o dispositivo correto, como "/dev/hdc" ou
"/dev/hdd", quanto usar o "/dev/cdrom", um link que é criado durante a instalação:

# mount /dev/cdrom /mnt/cdrom

Se quiser trocar o CD que está na bandeja, você deve primeiro "desmontar" o CD-ROM, com o comando
"umount /mnt/cdrom". O mesmo se aplica a pendrives e HDs externos: é sempre necessário desmontar
antes de desplugá-los. No caso dos pendrives e HDs, desmontar é fundamental, pois as alterações não são
necessariamente salvas imediatamente por causa do cache de disco. Removendo sem desmontar, existe
uma probabilidade muito grande das últimas alterações serem perdidas. É muito comum as pessoas
gravarem arquivos no pendrive, desplugarem logo depois (sem desmontar) e, ao tentar usar de novo,
verem que os arquivos simplesmente não foram gravados.

Se por acaso você tiver um drive de disquetes (em que século você vive? :), o comando para montá-lo
manualmente é "mount /dev/fd0 /mnt/floppy" e, para desmontar, "umount /mnt/floppy". Assim como no
caso dos pendrives, é importante desmontar antes de remover o disquete do drive.

Os pontos de montagem, ou seja, as pastas onde as partições serão montadas podem ser configurados
através do arquivo "/etc/fstab". Quase sempre, este arquivo é configurado durante a instalação, incluindo
referências a todas as partições e CD-ROMs disponíveis, de forma que você pode montar as partições
digitando apenas "mount /mnt/hda6" (por exemplo), sem precisar usar o comando completo.

Naturalmente, além da forma manual, existem maneiras mais práticas de acessar o CD-ROM e partições.
Em primeiro lugar, ao usar o KDE, você pode sempre usar o ícone no desktop, clicando sobre ele para
montar e usando a opção "desmontar" (que aparece ao clicar com o botão direito sobre o ícone) para
liberar o CD na hora de remover. Na maioria das distribuições, ao plugar um pendrive é criado
automaticamente um ícone no desktop para acessar os arquivos. Geralmente o ícone inclui uma opção
para desmontar, acessível ao clicar sobre ele com o botão direito.

Ainda no KDE, você pode acessar as demais partições do HD abrindo o Konqueror e acessando a url
"media:/" (ou "devices:/", nas versões antigas). Assim como no caso do CD-ROM, você acessa os
arquivos clicando sobre o ícone. No caso das partições do HD, não é necessário desmontar depois de usar,
pois elas são desmontadas ao desligar o micro.

Muitas distribuições incluem o automount, que faz com que o acesso ao CD-ROM e disquete seja
transparente, como no Windows. Você coloca o CD-ROM na bandeja. Ao acessar a pasta "/mnt/cdrom" o
sistema se encarrega de montá-lo automaticamente. Quando você pressiona o botão para ejetar o CD, o
sinal é interceptado pelo sistema que se encarrega de desmontá-lo e em seguida ejetar o CD.

O clipboard e o terceiro botão

O botão central do mouse, que não tem muita serventia no Windows, permite
copiar e colar entre aplicativos ou até mesmo entre aplicativos gráficos e terminais
abertos dentro da interface gráfica. Isso substitui o Ctrl+C, Ctrl+V, com a
vantagem do comando ser dado com um único clique do mouse. Basta selecionar o
trecho de texto, a imagem, ou o que quiser copiar numa janela e clicar com o botão
central na janela onde quiser colar a seleção. Se você não tiver um mouse de três
botões, pressione simultaneamente os dois botões.
Porém, este modo "padrão" tem algumas deficiências. Ele não funciona muito bem
para copiar grandes quantidades de texto, e o texto a ser copiado precisa ficar
selecionado durante a operação. Basicamente, você consegue copiar o que puder
ser visualizado na tela. Não funciona para copiar 120 páginas de texto do Abiword
para o OpenOffice, por exemplo.

Pensando nisso, os desenvolvedores do KDE e do Gnome se preocuparam em


incluir sistemas de copiar e colar com um funcionamento semelhante ao do
Windows. Você pode selecionar várias páginas de texto do Kword e colar no Kmail,
por exemplo, usando o bom e velho Ctrl+C, Ctrl+V.

O KDE inclui até um Applet, o Klipper (que no Kurumin e em outras distribuições


baseadas no Debian pode ser instalado com o comando "apt-get install klipper"),
que multiplica a área de transferência. Você tem vários slots que armazenam todas
as últimas operações e pode colar qualquer uma das anteriores, selecionando a
desejada através do ícone ao lado do relógio, de forma bem prática.

Trabalhando com permissões

Apesar de toda a evolução em relação aos antigos sistemas Unix, usados nas
décadas de 70 e 80, o Linux mantém suas raízes multiusuário. Isso significa que o
sistema pode ser usado por várias pessoas simultaneamente (imagine o caso de
um servidor de rede), sem que uma atrapalhe o trabalho da outra, nem possa ver e
alterar arquivos que não deveria.

Para isso, é usado um sistema de permissões simples, porém eficiente, que


consiste num conjunto de três permissões de acesso (ler, gravar e executar) e três
grupos (dono, grupo e outros), que combinadas permitem fazer muita coisa. Este
sistema de permissões é bem similar ao usado do Windows 2000 e no Windows XP,
a principal diferença é que no Windows você usa o sistema como administrador
(equivalente ao root) por padrão e muitos programas não funcionam corretamente
quando você tenta usar uma conta sem privilégios especiais. No Linux é o
contrário, você usa o sistema com um login de usuário e os programas são
projetados para funcionar desta forma. Apenas os utilitários de configuração e
alguns programas para tarefas específicas precisam ser executados como root. Isso
faz com que o sistema seja fundamentalmente mais seguro.

Um argumento comum é que não existem muitos vírus, worms e trojans para Linux
porque o sistema é menos popular. Porém, nos servidores, o Linux já é mais usado
que o Windows e mesmo assim os casos de problemas de segurança continuam
sendo mais raros. Segundo a Netcraft, quase 70% dos sites da internet rodam
sobre o Apache, a grande maioria deles sobre o Linux, enquanto apenas 20%
rodam sobre o IIS da Microsoft. Mas, mesmo assim, é muito mais comum termos
notícias de problemas de segurança no IIS do que no Apache:

http://news.netcraft.com/archives/2005/10/04/october_2005_web_server_survey.
html

Voltando às permissões, clicando sobre as propriedades de qualquer arquivo no


Konqueror você verá uma janela com três menus de seleção, que permitem ajustar
individualmente as permissões para o dono do arquivo, para usuários que façam
parte do mesmo grupo e para os outros, que inclui todo mundo que tenha acesso
ao sistema.

Cada um dos campos aceita três possibilidades: "negado", "pode ler" e "pode ler e
escrever". Por default, o dono é o único que pode ler e escrever, os demais (grupo
e outros) podem apenas ler o arquivo, mas sem modificar.
No caso dos arquivos, existe uma quarta permissão que é o campo "É executável".
Esta é uma daquelas diferenças fundamentais entre o Linux e o Windows: o sistema
não decide quais arquivos são programas pela extensão, mas sim pelas permissões.
Isso aumenta bastante a segurança do sistema, mas por outro lado causa um
pouco de dor de cabeça em algumas situações. Sempre que você baixar um
instalador qualquer via web (o driver da nVidia, por exemplo), vai precisar primeiro
marcar o "É executável" nas propriedades do arquivo antes de conseguir instalá-lo.

O "dono" do arquivo é por default o usuário que criou o arquivo. Apenas este
usuário pode alterar as permissões de acesso ao arquivo e pasta. Em seguida vem
a configuração do grupo, que permite que vários usuários tenham acesso a um
arquivo ou pasta, sem ter que apelar para o campo "outros" que daria acesso a
qualquer um.

Imagine que estamos configurando um servidor em uma empresa importante, e


neste servidor temos uma pasta chamada "projeto_apolo" com vários arquivos
confidenciais que deverá ser acessada apenas pelos programadores que estão
trabalhando no projeto.

Desativaríamos de imediato o campo "todos", mantendo marcados apenas os


campos "usuário" e "grupo". O próximo passo seria justamente criar um novo
grupo de usuários ("apolo", por exemplo) e incluir neste grupo todos os usuários
que fazem parte do projeto. A partir daí, todos os programadores passariam a ter
acesso à pasta, já que fazem parte do grupo.

Você pode criar novos grupos e adicionar usuários a eles através do "users-
admin" ou do "kuser", usando o que estiver disponível na distribuição. Basta
chamá-los pelo terminal ou procurar pelo atalho no menu.

No Fedora, o users-admin se chama "system-config-users", e, no Mandriva,


"userdrake". O Kuser é usado em um número menor de distribuições, mas é
também bastante usado.
Para criar um novo grupo, clique em "Grupo > Adicionar grupo". Na janela que será
aberta, especifique o nome do grupo e os usuários que farão parte dele. Um
mesmo usuário pode fazer parte de vários grupos simultaneamente. Muita gente
cria um grupo diferente para cada pasta importante, de forma a poder definir
individualmente quem terá acesso a ela.
Você notará que nesta tela aparecem vários usuários que não são mostrados na
tela principal, como o "bin", "daemon" e "mail". Estes são usuários ocultos do
sistema, contas sem privilégios e que não possuem senhas definidas (é
simplesmente impossível fazer login com qualquer uma delas), que são usadas para
isolar os programas, fazendo com que cada um tenha acesso apenas a seus
próprios arquivos. Isso limita muito os danos que um programa ou servidor com
bugs ou falhas de segurança pode causar quando alguma coisa dá errado.

De fato, a configuração default da maior parte das distribuições Linux atuais é dar
acesso de leitura para a maioria das pastas (com exceção, naturalmente, dos
arquivos de senha e outros arquivos críticos) para todos os usuários, mas ao
mesmo tempo dar acesso de gravação apenas para o diretório home de cada um.

Ou seja, por default você, logado como usuário normal, poderá navegar por quase
todos os diretórios do sistema, mas só poderá criar e alterar arquivos dentro da sua
pasta de usuário. Nos outros lugares receberá sempre um aviso de acesso negado.
Isso impede que os usuários possam fazer besteira no sistema, como por exemplo,
tentar deletar a pasta de módulos do Kernel ;-).

Claro, como todas as regras, as permissões de acesso têm sua exceção: o root. Ele
é o único que não possui restrições: pode alterar, executar ou deletar o que bem
entender. Pode alterar o dono das pastas ou alterar as permissões de acesso. O
root é o deus do sistema.

Você precisará usar o root sempre que for alterar as permissões de acesso a uma
pasta do sistema ou criada por outro usuário, mas não use-o regularmente, a
menos que esteja apenas brincando com o sistema e possa reinstalá-lo a qualquer
momento, pois além de poder destruir facilmente arquivos do sistema, usar o root
abre as portas para várias brechas de segurança ao usar programas de IRC, abrir
anexos em e-mails ou mesmo navegar na web.

A maioria dos problemas de segurança a que os usuários do Windows estão


submetidos decorre justamente do fato de utilizarem contas com privilégios
equivalentes ao do root no Linux. Se você pode fazer o que quiser no sistema, os
programas executados por você (incluindo trojans, scripts incluídos de páginas web
executados pelo navegador, etc.) também poderão não ter restrições.

Se você se pergunta como alguns vírus do Windows, como o Ninda e o Sircan


podem se espalhar tão rapidamente, saiba que o problema é justamente este: a
combinação de um sistema com um fraco controle de segurança, combinado com o
uso de contas administrativas por usuários sem noções de segurança.

Voltando ao tema da criação de usuários, se você não gostou dos utilitários


gráficos, pode adicionar novos usuários também usando os comandos "adduser" e
"passwd" (como root). Por exemplo:

# adduser manuel
(cria o usuário manuel, já definindo a senha)
# passwd manuel
(altera a senha posteriormente)

Para remover um usuário anteriormente criado, utilize o comando "userdel", como


em "userdel manuel". Por questões de segurança o comando remove apenas o
login, preservando o diretório home do usuário. Caso você tenha certeza que não
vá mais precisar de nada, deve deletar o diretório manualmente depois.

Você também pode bloquear temporariamente um usuário, um amigo que vem


jogar Warcraft 3 com você apenas nos fins de semana, por exemplo, e não precisa
ficar com o login ativo no resto do tempo. Neste caso, use o comando "passwd -l
usuário" para bloquear o login e "passwd -u usuário" para desbloqueá-lo.

Para alterar as permissões de acesso de arquivos e pastas via linha de comando,


você deve usar o comando chmod. A sintaxe dele parece um pouco complicada à
primeira vista, mas nada que um pouco de prática não possa resolver:

# chmod 744 arquivo

Temos aqui o comando chmod propriamente dito, o arquivo ou pasta que terá suas
permissões de acesso alteradas e um número de três dígitos que indica as novas
permissões para o arquivo. Note que o "744" é só um exemplo.

Os três números indicam respectivamente:

7: Permissões para o dono do arquivo.


4: Permissões para o grupo.
4: Permissões para os demais usuários.

Você deve lembrar que temos três permissões: leitura, gravação e execução. Como
é possível representar estes três atributos através de um único número?

Bem, os programadores costumam ser muito bons em matemática e, como em


outros casos, usaram um pequeno truque para resolver este problema. Cada
permissão é representada por um número:

4: Ler.
2: Alterar o conteúdo, criar novos arquivos (no caso de uma pasta).
1: Execução (no caso dos arquivos) ou listar os arquivos (no caso das
pastas).

Você simplesmente soma estes números para ter o número referente ao conjunto
de permissões que deseja:

0: Sem permissão alguma. Se for uma pasta, o usuário sequer pode ver o
conteúdo.
1: Permissão apenas para executar (não é possível ler o arquivo ou alterá-lo,
apenas executar um programa). No caso de uma pasta, 1 permite que se liste os
arquivos dentro dela, mas sem ler ou alterar os arquivos.
4: Apenas leitura.
5 (4+1): Ler e executar (no caso de um arquivo) ou ver os arquivos e abri-los, no
caso de uma pasta.
6 (4+2): Leitura + gravação.
7 (4+2+1): Controle total: leitura + gravação + permissão para executar.
Uma observação importante é que ao configurar as permissões de acesso de uma
pasta, você sempre deve usar 5 (4+1) ou 7 (4+2+1), pois, sem permissão para
listar o conteúdo da pasta, você não consegue ver os arquivos dentro dela.

Engenhoso, não é? Se você quer dar controle total do arquivo ou pasta para o dono
e para o grupo, mas permissão de apenas leitura para os demais usuários, usaria o
número 774; se você quisesse que todos os usuários tivessem permissão de leitura
e gravação, mas sem poder executar nada, usaria o número 666; se quisesse dar
controle total para todo mundo, usaria 777 e assim por diante. Como disse, parece
um pouco complicado, mas depois de usar o comando algumas vezes você não vai
esquecer mais.

Para alterar o dono e o grupo do arquivo, você deve usar o comando chown. O uso
dele é simples, basta indicar qual é o novo dono e em seguida indicar o arquivo ou
pasta que mudará de dono, como em:

# chown manuel projeto_apollo/

Se você quiser que a alteração se aplique a todos os arquivos e subpastas do


diretório, use a opção -R (de recursivo) como em:

# chown -R manuel projeto_apolo/

Se você quiser alterar também o nome do grupo, acrescente o nome do novo grupo
após o nome do dono, separando ambos por um ponto:

# chown -R manuel.apolo projeto_apolo/

Agora a pasta "projeto_apolo" passa a ser propriedade do usuário manuel e do


grupo apolo. Fizemos a mesma coisa que no exemplo anterior, mas agora usando o
comando de modo texto. Você escolhe qual forma prefere.

Rodando programas como root

No Linux, o usuário root é o deus do sistema, o único que tem acesso a todos os arquivos e configurações.
Os usuários normais têm acesso apenas a seus arquivos dentro do diretório /home e outros para os quais
você alterar as permissões manualmente.

Todos os programas salvam suas configurações dentro de pastas ocultas (o nome começa com ponto,
como em ".kde"), dentro do home do seu usuário. Isso faz com que cada usuário tenha suas configurações
separadas, sem que possa interferir com as configurações de outros ou alterar as configurações padrão do
sistema.

Isso torna o sistema bastante seguro contra barbeiragens em geral feitas pelos usuários. Como eles podem
apenas alterar suas próprias configurações, na pior das hipóteses você pode deletar o usuário e criar outro.
Você pode criar uma conta de usuário separada para cada pessoa que precisar user seu micro e ter certeza
de que eles não destruirão a instalação do sistema e seus arquivos.

Nas versões recentes do KDE, existe uma opção interessante, que permite abrir uma segunda seção do X,
onde é possível se logar com um usuário diferente. Para usar esse recurso, clique no "Iniciar > Trocar de
Usuário > Bloquear a atual & Iniciar nova sessão".
Como vimos no tópico sobre comandos, é possível também executar programas como root, usando o
comando "su" e suas variantes.

Num terminal de texto, digite simplesmente "su" e forneça a senha de root. O símbolo do terminal muda
de um "$" para um "#", indicando que a partir daí, todos os comandos digitados (apenas nesse terminal
específico) serão executados como root. Use isso sempre que precisar editar arquivos do sistema, mover
arquivos ou mudar permissões, criar novos usuários, etc.

Para abrir os programas gráficos, a melhor opção é usar o "kdesu", que exibe um prompt de senha gráfico
e ajusta todas as permissões e variáveis do sistema de forma que o programa possa rodar sem
sobressaltos.

Use o kdesu num terminal, ou usando o "Executar comando" do KDE (alt+F2), seguido do comando que
será executado como root, como em "kdesu konqueror /etc", o que abrirá uma janela do Konqueror, como
root e já mostrando os arquivos do diretório "/etc".

Muitas distribuições, como o Kurumin e o Ubuntu, usam o "sudo" como uma forma de facilitar o uso do
sistema. O sudo é uma variante do su, que permite criar usuários "administrativos", que podem executar
comandos como root, sem precisar fornecer a senha.

No Kurumin, o usuário padrão, "kurumin", vem configurado com permissão para executar qualquer
comando como root, sem precisar fornecer a senha. Isso permite que os painéis e scripts de configuração
funcionem diretamente, sem que você precise ficar fornecendo a senha de root toda hora, o que facilita
sobretudo ao rodar do CD. Basta adicionar o "sudo" antes do comando, como em "sudo konqueror /etc".

O Ubuntu usa uma abordagem mais conservadora, confirmando sua senha de usuário antes de executar o
comando, mas em ambos os casos a configuração de quais usuários podem usar o sudo vai no arquivo
"/etc/sudoers".

A idéia é que você configure o sistema e instale todos os programas desejados e depois, se desejar,
desative o sudo ou crie um novo usuário sem privilégios para uso normal do sistema.

Para que um determinado usuário tenha permissão para usar o sudo e, conseqüentemente, instalar
programas através dos ícones mágicos e alterar a configuração do sistema, adicione uma nova linha no
arquivo /etc/sudoers:

usuario ALL=NOPASSWD: ALL


... substituindo o "usuário" pelo login desejado. Você pode também comentar a linha referente ao usuário
kurumin para tirar seus superpoderes, ou simplesmente criar outro usuário com seu nome e passar a usá-lo
no dia-a-dia, deixando para usar o user kurumin apenas quando precisar instalar novos programas ou
alterar a configuração do sistema.

Máquinas virtuais

Quase tudo pode ser simulado via software. É possível até mesmo simular um
computador de arquitetura diferente, para que os softwares escritos pare ele rodem
da mesma forma que rodam dentro do seu sistema nativo.

Um dos exemplos mais conhecidos são os emuladores de videogames antigos, que


permitem rodar jogos de Atari, Nintendo 8 bits, Mega-Drive, Super-Nes, Playstation
e outros.

Assim como é possível emular um videogame para rodar os jogos escritos para ele,
é possível simular um PC completo e rodar outros sistemas operacionais, dentro de
uma janela. Isso permite que você rode o Windows dentro do Linux ou vice-versa.
Esse PC "de mentira" é chamado de máquina virtual.

O sistema principal neste caso passa a ser chamado de host (hospedeiro) e o outro
sistema operacional que está rodando dentro da máquina virtual é chamado de
"guest" (convidado). Ele acha que tem um PC completo para si, enquanto na
verdade está rodando dentro de uma "matrix", na máquina virtual.

Naturalmente, este trabalho de simular um PC completo e ainda por cima com um


bom desempenho não é simples, veja o caso dos emuladores de videogame de uma
forma geral, que sempre precisam de um PC muito mais poderoso do que o sistema
original. É preciso um Pentium 200 para emular um Super Nes (que usa um
processador de 3.5 MHz e 128 KB de RAM) com qualidade.

Existem atualmente três softwares que se destacam nesta categoria, o VMware,


Qemu e o Xen, que trabalham de forma ligeiramente diferente, mas com grandes
diferenças práticas.

O VMware usa um conceito de virtualização. Ele tenta sempre que possível


converter os comandos usados pelo sistema dentro da máquina virtual em
comandos que o sistema host entenda e execute diretamente. Por exemplo, se o
Windows dentro da máquina virtual tenta tocar alguma coisa na placa de som, o
VMware simplesmente pega os dados e toca na placa de som "real" do micro, como
se fosse outro programa qualquer. O mesmo se aplica a todo tipo de instruções
básicas, que são executadas diretamente pelo processador principal. O VMware
interpreta e converte instruções o mínimo possível.

O Qemu por sua vez é um emulador. Ele tenta processar todas as instruções, o
que acaba demorando mais tempo e fazendo com que a performance seja menor.
Em geral o VMware (nas versões recentes) consegue fazer com que o sistema guest
rode com 60 a 90% do desempenho que teria se estivesse rodando diretamente,
enquanto o Qemu obtém de 5 a 10%. O Qemu possui um módulo adicional, o
Kqemu, que faz com que ele passe a funcionar de forma mais similar ao VMware,
virtualizando as instruções básicas do processador, ao invés de emular tudo. O
Kqemu melhora consideravelmente o desempenho do Qemu, mas ainda assim o
deixa bem atrás do VMware em questão de desempenho.
O Qemu é um projeto open-source, enquanto o VMware é comercial, disponível em
duas versões. O VMware Workstation é a versão completa, um software
relativamente caro (199 dólares), mas que pode ser usado por 30 dias. O VMware
Player por sua vez é a versão gratuita, com bem menos funções, que pode ser
usada para rodar máquinas virtuais criadas através do VMware Workstation,
praticamente sem limitações, mas sem criar novas máquinas virtuais (VMs). A dica
é que você pode obter a versão trial do VMware Workstation e usá-la para criar as
máquinas virtuais e passar a usar o VMware Player depois que o trial expirar. Você
pode baixar ambas no http://www.vmware.com. Baixe o pacote genérico, que pode
ser instalado em várias distribuições.

No Kurumin (a partir do 5.1) você encontra o VMware Player e um script para criar
e alterar as configurações das VMs, provendo uma solução completa.

Estas máquinas virtuais são extremamente úteis no dia-a-dia, pois permitem que
você rode outros sistemas operacionais dentro de uma janela, tendo acesso a todos
os softwares que precisa. Muita gente utiliza este recurso para manter uma cópia
do Windows à mão para quando precisam de algum programa específico. Muitos
micros (e quase todos os notebooks) vêm com uma licença do Windows de
qualquer forma e esta é uma boa maneira de aproveitá-la sem sair do Linux.

Conforme o Qemu e VMware forem evoluindo e os micros forem ficando cada vez
mais rápidos, a perda de desempenho por rodar o Windows dentro da máquina
virtual será cada vez menos significativo, permitindo que você tenha uma forma
confortável de continuar rodando seus aplicativos antigos mesmo depois de migrar
definitivamente para o Linux.
Outra grande utilidade é que você pode testar outras distribuições e ter um sistema
"sparing", onde você pode testar de tudo sem medo de danificar sua instalação
principal. Todos os arquivos da máquina virtual são salvos num "disco virtual", que
nada mais é do que um arquivo comum, dentro da pasta com a VM, formatado de
uma forma especial. Este arquivo é usado de tal forma que o sistema dentro da VM
realmente acha que está usando um HD real, particionando, formatando e tudo
mais.

Tudo começa com a criação da máquina virtual, que consiste basicamente no


arquivo com o disco virtual e um arquivo de configuração, salvos dentro da pasta
escolhida. No VMware, o tamanho do disco virtual é apenas um limite. O arquivo
começa vazio, ocupando apenas alguns kbytes e vai inchando conforme são
instalados programas dentro da máquina virtual, ocupando sempre um espaço
equivalente ao espaço ocupado pelo sistema instalado.

A instalação do sistema dentro da máquina virtual é feita de forma normal. Você vai
particionar e formatar o "HD" e tudo mais, só que tudo vai sendo feito dentro do
disco virtual, sem que o Windows dentro da máquina virtual tenha acesso direto
aos demais arquivos no HD. Se ele pega um vírus, apenas o que está dentro do
disco virtual é afetado. Na pior das hipóteses você pode deletar o arquivo e
começar de novo. Para todos os efeitos, a VM funciona como um PC real; você pode
até mesmo instalar Windows e Linux em dual boot, ou experimentar a instalação de
várias distribuições Linux no mesmo HD.

O VMware e o Qemu são os mais usados nos desktops, mas existe uma terceira
opção, muito popular nos servidores, o Xen.

O Xen utiliza uma idéia diferente, a paravirtualização, que consiste em dividir de


forma transparente os recursos do hardware, permitindo que o sistema guest rode
com uma redução de performance muito pequena (menos de 5%, na maioria dos
casos). O maior problema é que para rodar dentro do Xen é necessário que o
sistema guest seja modificado. Não é possível rodar qualquer sistema diretamente,
como no caso do VMware e do Qemu.

Isto não é um grande problema no caso das distribuições Linux, mas é no caso do
Windows e outros sistemas de código fechado.

O Xen é muito mais complicado de configurar que o VMware. No caso dos


servidores (onde temos um público da área técnica) isto não chega a ser um
grande problema, mas nos desktops ele é ainda pouco usado. Mesmo assim, é
possível que o Xen evolua em termos de facilidade de uso e, graças ao bom
desempenho, comece a disputar diretamente com o VMware. A página do Xen é a
http://www.xensource.com/.
Capitulo 3: Instalando o Kurumin

A primeira diferença fundamental entre live-CDs, como o Kurumin e o Slax e


distribuições "tradicionais", como o Mandriva, Fedora e Slackware, é a forma como
o sistema é instalado.

Tradicionalmente, os CDs de instalação contém pacotes individuais de instalação


dos programas junto com um programa de instalação. Durante a instalação, você
pode escolher quais pacotes quer instalar e o instalador se encarrega de "montar" o
sistema, instalando individualmente os pacotes marcados, como neste screenshot
do instalador do Mandriva:

Esta abordagem permite um controle maior sobre o que será instalado, mas possui também algumas
desvantagens:

-Torna a instalação mais complexa e confunde os usuários iniciantes (e muitas vezes também os
avançados), já que pouca gente conhece a função de cada pacote e não sabe bem quais instalar.
Nem sempre as descrições dos pacotes dão uma visão clara sobre sua função e importância. Para
amenizar isso, os instaladores adotam um "meio termo", onde você inicialmente escolhe entre
algumas categorias, como "Ferramentas de escritório", "Programação", "Servidores", etc., e
acessa a tela de seleção manual de pacotes apenas se quiser personalizar a instalação.

-Aumenta muito o trabalho dos desenvolvedores, que precisam se preocupar em checar as


dependências de cada pacote, etc. para manter a instalação consistente, independentemente do
que o usuário escolher.

-Neste caso o sistema pode ser apenas instalado, não roda direto do CD.
Nos live-CDs temos um sistema "base", já configurado que roda diretamente do CD. O instalador limita-
se a copiar este sistema para o HD e fazer as alterações necessárias para que ele se adapte ao novo
ambiente.

A instalação no HD mantém as configurações feitas durante o boot. Por isso, primeiro teste o sistema
rodando a partir do CD e certifique-se que o vídeo está corretamente configurado, as placas de som e rede
estão funcionando, etc. antes de iniciar a instalação.

Neste livro abordo a instalação e configuração de três distribuições: Kurumin, Ubuntu e Slax.

Esta não é uma escolha aleatória. O Kurumin é um dos melhores exemplos de distribuição amigável, que
automatiza vários aspectos do uso do sistema, por isso uma das melhores opções para começar. Por baixo
dos scripts e painéis de configuração, você tem uma instalação do Debian, que permite que você aprenda
sobre a estrutura do sistema, sem ter que encarar o próprio logo no começo.

O Slax é um live-CD derivado do Slackware, que mantém a mesma estrutura básica (incluindo os scripts
de configuração e utilitários disponíveis no Slackware), mas roda do CD e é muito mais simples de
instalar.

Finalmente, temos o Ubuntu, o "Debian para desktops", que é oferecido em duas versões: um CD de
instalação tradicional, que utiliza um instalador muito similar ao encontrado no Debian e um live-CD, que
você pode usar para conhecer o sistema e ver se seu PC é compatível antes de instalar. O Ubuntu também
difere do Kurumin e o Slax por utilizar o Gnome por padrão ao invés do KDE.

Depois de abordar os conceitos gerais, vamos começar a abordar temas específicos dentro de cada
distribuição e ver dicas sobre os programas e ferramentas de configuração disponíveis. Este terceiro
capítulo é dedicado à instalação do Kurumin, incluindo o particionamento do HD, dual boot com o
Windows e outras distribuições, uso do home em uma partição separada e solução de problemas. O quarto
capítulo é dedicado à configuração do Kurumin e do KDE, abordando também vários fundamentos sobre
a organização do sistema (das distribuições Linux de uma forma geral), configuração de redes e placas
Wireless e assim por diante. O capítulo 5 é dedicado aos programas Linux de uma forma geral, sem se
prender a uma única distribuição, enquanto o capítulo 6 volta a ser específico, falando sobre a instalação e
configuração do Ubuntu (incluindo dicas sobre o Gnome) e do Slax.

Os temas são abordados com um nível crescente de complexidade, sem repetir assuntos já abordados. O
particionamento do HD e configuração do Lilo, por exemplo, são abordados apenas no capítulo 3, junto
com a instalação do Kurumin, sem ser repetida no capítulo do Ubuntu. O ideal é que você realmente leia
os capítulos seqüencialmente e pratique instalando cada uma no seu no seu micro.

Se você não tem espaço suficiente no HD para criar várias partições, ou não quer arriscar seus arquivos
mexendo no particionamento do HD (lembre-se: Só Jesus salva, o homem faz backup! ;), você pode ainda
treinar usando o VMware Player, um virtualizador que permite instalar as distribuições dentro de
máquinas virtuais, que abordo no capítulo 5. Embora no livro fale apenas sobre a versão Linux, o
VMware também roda sobre o Windows XP ou 2000, com os mesmos recursos.

Opções de boot no Kurumin

Um dos principais atrativos do Kurumin e outros live-CDs é o fato do sistema rodar


diretamente a partir do CD-ROM, sem necessidade de alterar o que está instalado
do HD e detectar o hardware da máquina no boot, dando-lhe um desktop funcional
em poucos minutos.

Mas, ao contrário do que pode parecer à primeira vista, detectar todo o hardware de uma máquina atual e
configurar o sistema para trabalhar sobre ele sem ficar perguntando, não é uma tarefa nada fácil.

Algumas placas-mãe mal projetadas podem travar durante o processo de detecção do ACPI, SCSI ou
RAID, pode ser que a placa de vídeo não tenha um driver específico, ou que use um código de
identificação diferente do padrão, pode ser que o mouse tenha scroll ou outro recurso especial que não
seja possível detectar automaticamente e assim por diante. Além disso, o sistema simplesmente não tem
como adivinhar que resolução de tela e taxa de atualização que você prefere usar, pode no máximo tentar
"adivinhar" baseado nas características do monitor.

Logo no início do boot você verá uma tela gráfica que apresenta algumas opções de boot. Estas opções
permitem alterar o comportamento padrão do sistema, fazendo com que ele dê boot em placas
problemáticas ou que utilize a resolução de vídeo de sua preferência, entre outras configurações, que
podem ser usadas em casas onde o sistema de detecção não dê conta do recado.

O Kurumin é capaz de dar boot diretamente em uns 90% dos micros, enquanto as opções permitem que
ele funcione na maior parte dos 10% restantes. É raro um PC em que realmente não exista como fazer o
Kurumin funcionar. Muitas destas opções são válidas também no Knoppix e nos outros live-CDs
derivados dele, como o Kanotix e Mephis e também nos live-CDs derivados do Kurumin, como o
Kalango e o Kurumin Games. A única mudança é que neles ao invés das opções começarem com
"kurumin", começam com "knoppix", "kalango", ou o nome da distro.

Existem opções de boot para especificar a configuração do vídeo, para desabilitar a detecção de
determinados componentes, opções para copiar a imagem do Kurumin para o HD e dar boot com o drive
de CD livre, dar boot a partir de um arquivo .ISO salvo no HD e até algumas opções específicas, que
variam de uma distribuição para outra.

No canto inferior da tela aparece um prompt (boot:) para digitar as opções. Se você apenas pressionar
Enter, ou esperar 30 segundos, o sistema inicializa no modo default, tentando detectar tudo sozinho. As
opções de boot permitem modificar o comportamento padrão do sistema, desabilitando algum recurso que
está fazendo o micro travar no boot, alterar a resolução do vídeo e assim por diante.
No screenshot acima, estou usando como exemplo uma opção bem longa para configurar vídeo,
especificando a resolução, taxa de atualização e o driver de vídeo e desabilitar o ACPI.

Basta digitar a opção desejada e pressionar Enter. Os parâmetros devem ser digitados exatamente como
descritos abaixo, sempre em minúsculas. Todos estes parâmetros são opcionais, eles foram desenvolvidos
para serem usados em casos de problemas.

Opções de vídeo

As opções mais usadas são as referentes à resolução e taxa de atualização do monitor. Por default, o
Kurumin tenta detectar automaticamente a sua placa de vídeo e utiliza uma resolução compatível com seu
monitor, detectada via DCC.

A configuração do monitor é composta por três parâmetros:

1- O driver de vídeo
2- A resolução e profundidade de cor
3- A taxa de atualização.

O driver de vídeo é o que permite que o sistema se comunique com a placa de vídeo e,
conseqüentemente, envie as imagens para o monitor. Cada placa de vídeo tem um conjunto próprio de
recursos e se comunica numa linguagem diferente. O driver de vídeo é o "intérprete" que permite que o
sistema converse com a sua.

O software responsável por mostrar imagens na tela (o "servidor gráfico" falando em linguagem mais
técnica) é o X.org. É ele quem contém os drivers para todas as placas de vídeo suportadas pelo sistema.
Nas versões atuais do X.org temos um conjunto relativamente pequeno de drivers, um para cada
fabricante (e não um para cada placa de vídeo como antigamente).

O driver "sis", por exemplo, dá suporte a todas as placas de vídeo da SiS, o driver "nv" dá suporte a todas
as placas da nVidia e assim por diante. Temos ainda dois drivers genéricos, o "vesa" e o "fbdev" que
funcionam com quase todas as placas de vídeo. Eles podem ser usados, por exemplo, quando você tiver
alguma placa de vídeo muito recente, que ainda não seja suportada.

A resolução determina a quantidade de pontos mostrados na tela. Os monitores sempre suportam várias
resoluções diferentes, permitindo que você use a que achar mais confortável. Um monitor de 17", por
exemplo, geralmente suportará de 640x480 a até 1280x1024.

O que muda ao usar resoluções diferentes é a taxa de atualização, que determina quantas vezes por
segundo a imagem é atualizada no monitor.

O grande problema é que os monitores atuais utilizam células de fósforo para formar a imagem. Estas
células não conservam seu brilho por muito tempo e por isso precisam ser realimentadas constantemente.

O ideal é usar uma taxa de atualização de 75 Hz (75 atualizações por segundo) ou mais. Usando menos
que isso teremos um fenômeno chamado flicker, onde a tela fica instável, piscando, parecendo tremer,
como se a tela do monitor fosse uma gelatina. É justamente o flicker que causa a sensação de cansaço ao
se olhar para o monitor por muito tempo, e a médio prazo pode até causar danos à visão.

Outra coisa que ajuda e muito a diminuir o flicker é diminuir o brilho do monitor. O ideal é usar a tela o
mais escura possível, dentro do que for confortável, naturalmente. Uma dica é deixar o controle de brilho
no mínimo e ajustar apenas pelo contraste. Quanto maior for a taxa de atualização e quanto menor for a
claridade da imagem menor será o flicker e menor será o cansaço dos olhos.

As taxas de atualização máximas dependem tanto da placa de vídeo quanto do monitor. Quanto mais
baixa for a resolução de imagem escolhida, maior será a taxa de atualização suportada pelo monitor. A
maioria dos monitores de 15" suportam 800x600 com 85 Hz de taxa de atualização ou 1024x768 a 70 Hz.
Os monitores de 17" geralmente suportam 1024x768 a 85 Hz, enquanto os monitores mais caros, como os
Flatron e Trinitron, de 17" (CRT) chegam a suportar 1600x1200 com 60 Hz.

A placas de vídeo também podem limitar a resolução máxima. Uma placa antiga, uma Trident 9680 por
exemplo, não conseguirá trabalhar com mais de 70 Hz de refresh a 1024 x 768 (independentemente do
monitor, é uma limitação da própria placa de vídeo). Muitas placas onboard são capazes de exibir
1024x768 com 85 Hz, mas apenas 70 Hz se você usar 1280x1024. Geralmente, apenas as placas de vídeo
mais caras são capazes de trabalhar a 1600x1200 com 75 Hz de refresh ou mais, uma possibilidade que é
suportada por alguns monitores de 19".

Tudo o que falei até agora sobre taxa de atualização e flicker se aplica apenas aos monitores de CRT (os
grandões que ainda usam tubo de imagem). Hoje em dia temos um segundo tipo de monitores, os
monitores de LCD, aqueles modelos fininhos e com tela 100% plana, usados desde sempre nos
notebooks.

Nos monitores de LCD, cada ponto na tela é como uma lâmpada acesa, eles não possuem problemas com
flicker, a imagem é sólida, independentemente da taxa de atualização usada. Em geral, os monitores de
LCD suportam várias taxas de atualização, o mais comum é de 56 a até 75 Hz. Isto é feito para permitir
que funcionem em conjunto com qualquer placa de vídeo e em várias configurações. Porém, neste caso, a
taxa de atualização não afeta a qualidade da imagem.

Se você fica muito tempo na frente do micro ou, principalmente, se trabalha com um, os monitores de
LCD são a opção ideal. Eles são mais caros, mas se você dividir a diferença de preço por 36 meses (a vida
útil média de um monitor) vai ver que o custo mensal não é tão alto assim. Eles também consomem
menos energia (35 watts em média, contra 100 watts ou mais de um monitor CRT) o que economizará
alguns trocados todo mês na conta de luz, ajudando a amortizar a diferença de preço.

Mas, voltando à configuração do Kurumin, as opções de boot relacionadas com o vídeo permitem
especificar a configuração que deseja usar e resolver os casos em que o sistema não consegue abrir o
modo gráfico.

Basta digitar a opção desejada na tela de boot:

fb1024x768: Esta é uma espécie de opção à prova de falhas, que força a resolução de 1024x768 usando o
driver fbdev (frame buffer). O frame buffer é um recurso suportado pelo kernel que permite exibir
imagens manipulando diretamente o conteúdo da memória de vídeo. A grande vantagem é que não é
preciso um driver de vídeo; este modo vai funcionar mesmo em placas de vídeo que não sejam
oficialmente suportadas pelo Linux. O modo gráfico é aberto a 1024x768 usando 60 Hz de taxa de
atualização, o que permite usar esta opção na grande maioria dos monitores de 14 e 15 polegadas.
Funciona em cerca de 90% das placas de vídeo.

fb800x600: É uma variação da opção acima, que utiliza resolução de 800x600. Algumas placas de vídeo
onboard e algumas placas antigas só funcionam usando esta opção.

kurumin xvrefresh=60: Esta opção força o sistema a utilizar uma taxa de atualização de apenas 60 Hz
para o monitor. Ela é necessária em alguns monitores de LCD que não suportam taxas de atualização
mais altas e em vários monitores antigos. O "60" pode ser substituído por qualquer outra taxa de
atualização desejada, como em: kurumin xvrefresh=75. Você pode verificar qual é a configuração usada
no Windows (ou no sistema atual) e especificar manualmente aqui.

kurumin xdepth=16: Esta opção complementa as outras, permitindo configurar a profundidade de cor. O
"16" indica a quantidade de cores em bits. Lembre que 16 bits equivalem a 65 mil cores, 24 equivalem a
16 milhões de cores e 8 equivalem a apenas 256 cores. Em geral o Kurumin dá sempre boot usando 16 ou
24 bits de cor, de acordo com o suportado pela placa, mas caso você tenha um micro muito antigo, com
uma placa de vídeo com apenas 1 MB, você pode preferir usar 256 cores para que a placa possa trabalhar
a 1024x768.

kurumin desktop=fluxbox: Esta opção faz com que o Kurumin use o fluxbox como gerenciador de
janelas ao invés do KDE. O Fluxbox é bem mais simples e menos amigável, mas permite usar o Kurumin
em máquinas antigas, onde o KDE fica muito lento. Usando o Fluxbox o consumo de memória durante o
boot (ao rodar do CD) cai quase pela metade, permitindo usar o sistema em micros com 64 MB de RAM.
Algumas remasterizações do Kurumin podem incluir outros gerenciadores de janelas, como o Gnome,
IceWM ou o Blanes. Nestes casos, você pode usar esta opção para especificar qual gerenciador usar,
como em "kurumin desktop=gnome".

kurumin screen=1280x1024: Esta opção é dedicada especialmente para quem usa monitores grandes, de
17" ou mais. É preciso que o monitor suporte 1280x1024 com 75 Hz de taxa de atualização.

kurumin screen=1024x768: Força o Kurumin a usar resolução de 1024x768. Este modo é diferente do
"fb1024x768" pois neste a sua placa de vídeo é detectada e são ativados os recursos de aceleração de
vídeo suportados por ela. Aqui você está especificando apenas a resolução e deixando que o sistema
detecte o restante.

A opção "screen=" pode ser usada para especificar qualquer resolução suportada pelo monitor, mesmo
que fora do padrão. Por exemplo, muitos notebooks usam telas wide, com resolução de 1280x800 ou
1280x768, por exemplo. Em muitos deles, o sistema detecta a resolução incorretamente e acaba abrindo
sempre a 1024x768. Para que toda a área útil do monitor seja usada, basta especificar manualmente, como
em: "kurumin screen=1280x800" no boot.

kurumin screen=1024x768 xvrefresh=60: Aqui estamos combinando as duas opções: resolução de


1024x768 e taxa de atualização de 60 Hz.

Em alguns casos raros, pode ser que o problema seja com a detecção do driver de vídeo, como, por
exemplo, o sistema tentando usar o driver "sis" para uma placa recente da SiS que ainda não é suportada
por ele. Neste caso, você pode usar a opção "xmodule=vesa" para especificar o driver de vídeo a ser
utilizado. Lembre-se de que o vesa é um curinga, um driver genérico que funciona com praticamente
todas as placas de vídeo. Você pode combinar esta opção com as outras que já vimos, como em: kurumin
screen=1024x768 xvrefresh=60 xmodule=vesa

É possível também combinar várias opções no mesmo comando, basta ir colocando-as em seqüência,
sempre começando com "kurumin", como em: kurumin screen=1280x1024 xvrefresh=60 xmodule=vesa
desktop=fluxbox.

A configuração do vídeo pode ser também alterada através da opção "Configurar Vídeo", que está
disponível no "Centro de Controle do Kurumin > Suporte a Hardware > Configuração do Vídeo, Som,
Teclado e Joystick".
Aqui você tem acesso às mesmas opções disponíveis na hora do boot. Se não marcar nenhuma opção, o
vídeo simplesmente é redetectado automaticamente. As opções permitem forçar o uso das configurações
desejadas. O utilitário gera o novo arquivo de configuração, permite que você teste a configuração, para
ter certeza que está realmente funcionando e, no final, confirma se você quer usá-la.

Opções para solucionar problemas

Além das opções relacionadas ao vídeo, existem as opções que solucionam problemas durante a detecção
de dispositivos, que é a principal causa de problemas durante o boot do Kurumin. Como disse, muitas
placas-mãe problemáticas travam durante a detecção de alguns periféricos, como as M810 (na detecção
do ACPI) e algumas placas com RAID ou SCSI onboard.

Você pode simplesmente desativar estes recursos (sobretudo o suporte ACPI que é o mais problemático)
no setup da própria placa-mãe. Mas, também é possível fazer isso na linha de boot do Kurumin:

As opções disponíveis são: acpi=off, noapic, noagp, noscsi, noapm, nodma, nopcmcia e nousb.

A opção acpi=off é uma das mais importantes. Muitas placas, especialmente as M810, M812 e outros
modelos do mesmo "famoso" fabricante possuem implementações problemáticas do ACPI que funcionam
de forma errática, fazendo com que a placa trave durante o boot caso o recurso não seja explicitamente
desabilitado no setup ou nas opções de boot.

A opção noapic desabilita o realocamento de endereços de IRQ por parte do BIOS, deixando o serviço a
cargo do sistema operacional. Algumas placas usam BIOS bugados que não gerenciam corretamente este
recurso, fazendo que placas de som, rede e outros periféricos não sejam detectados no boot, embora
perfeitamente suportados pelo sistema.

A opção noagp não desabilita placas de vídeo AGP, apenas o recurso de acesso à memória RAM que é
quem pode causar problemas em alguns casos. Mesmo usando-o sua placa de vídeo AGP continuará
sendo detectada normalmente. O mesmo se aplica à opção nousb, que faz com que mouses e teclados
USB sejam reconhecidos pelo sistema como periféricos PS/2.
Você pode combinar várias opções na mesma linha, começando sempre com "kurumin". Você pode
começar com a linha abaixo, que vai desativar a detecção de quase tudo e depois ir retirando algumas
opções até descobrir qual é exatamente o problema com a sua placa, como em: kurumin noapic acpi=off
noagp noscsi noapm nousb

A partir do Kurumin 4.0, existe uma opção nova, necessária em algumas placas-mãe e notebooks:
kurumin pci=bios. Esta é uma opção de compatibilidade, destinada a burlar problemas com a
controladora PCI da placa. Outras opções menos usadas são:

expert: Esta opção ativa um modo de inicialização alternativa, que vai perguntando passo a passo o que
deve ser detectado ou não pelo sistema durante o boot. Esta opção permite detectar partes da detecção
automática que fazem o sistema travar em algumas placas-mãe e também configurar manualmente sua
placa de vídeo, som, mouse, teclado e placa SCSI. Esta opção faz com que o boot seja bem mais
demorado; deve ser usada apenas para solução de problemas.

kurumin vga=normal: Desabilita o frame-buffer durante a primeira parte da inicialização (onde é


detectado o hardware, etc.). Algumas placas de vídeo antigas não suportam o recurso, o que faz com que
elas exibam uma mensagem de erro durante o boot. Isso não é problema, pois basta pressionar Enter ou
esperar 30 segundos para que o boot prossiga normalmente. Mas, de qualquer forma, a opção permite
desativar isso.

kurumin mem=32M: Esta é uma opção obsoleta, que permite especificar manualmente a quantidade de
memória RAM instalada, mas que parece ser necessária em algumas placas mães antigas. Tive notícias de
duas ou três placas para Pentium 1 e também casos de usuários de placas M810 que travavam no boot
caso esta opção não fosse usada. O "32M" deve ser substituído pela quantidade de memória RAM
presente no sistema, em megabytes (64M, 128M, etc.). O "M" deve ser sempre maiúsculo.

Rodando o Kurumin com o drive de CD livre

Outra limitação dos live-CDs é que depois do boot, o drive de CD-ROM fica ocupado, de forma que você
não pode ouvir um CD de música ou assistir um DVD, por exemplo.

É possível evitar isso copiando os arquivos para uma partição do HD. Neste caso, o drive fica livre o
desempenho do sistema fica melhor, já que passa a rodar a partir do HD, que é muito mais rápido. Para
isso, use a opção:

kurumin tohd=/dev/hda1

Onde o "/dev/hda1" é a partição do HD para onde será feita a cópia dos arquivos. É importante lembrar
que a partição não é formatada, o sistema cria apenas uma pasta "/knoppix" dentro da partição, com uma
cópia do conteúdo do CD. Naturalmente, é preciso existir espaço livre suficiente para receber a cópia do
conteúdo do CD.

Neste caso, o CD é usado apenas na etapa inicial do boot. Depois que o sistema é carregado a partir dos
arquivos na partição, o CD pode ser ejetado. A cópia demora alguns minutos. Mas, depois de fazê-la pela
primeira vez, você pode aproveitá-la nas inicializações seguintes, usando a opção "fromhd=", como em:

kurumin fromhd=/dev/hda1

Isso fará com que o Kurumin use a cópia já feita, sem precisar ficar copiando de novo a cada boot.

A grande limitação é que por enquanto a imagem de boot do Kurumin suporta apenas partições Windows
formatadas em FAT16 ou FAT32 ou partições Linux, formatadas em EXT2, EXT3 ou ReiserFS,
deixando de fora as partições NTFS do Windows XP, que ainda não possuem um driver seguro para
escrita no Linux. Numa máquina com o Windows instalado, onde existe apenas uma partição NTFS
ocupando todo o HD, ainda existe a opção de redimensionar a partição usando o gparted, criando uma
pequena partição Linux no final do HD para fazer a cópia. Veja mais detalhes sobre como usar o gparted
logo a seguir, no tópico sobre instalação do sistema.

Lembre-se de que você pode ver as partições existentes no seu HD e em qual sistema de arquivos cada
uma está formatada abrindo o gparted ou o cfdisk. Se você tem o Windows instalado, então o drive C:
será sempre a partição "/dev/hda1".

É possível ainda usar a opção "bootfrom=", que permite dar boot diretamente a partir do arquivo ISO de
uma nova (ou a mesma) versão do Kurumin, sem precisar queimar o CD. Esta opção funciona de forma
muito similar à "fromhd", com a diferença de que ao invés de procurar pela pasta "knoppix/", o sistema
procura pelo arquivo ISO dentro da partição.

Ao usar esta opção, é preciso indicar a partição e o nome arquivo ISO dentro dela, como em:

kurumin bootfrom=/dev/hda1/kurumin.iso

Note que esta dica funciona apenas entre versões do Kurumin que utilizam o mesmo Kernel, pois você
está usando o Kernel incluído no CD para inicializar o sistema dentro do ISO. A versões 3.x usam o
Kernel 2.4.25, as versões 4.x usam o Kernel 2.6.8, enquanto o 5.0 e 5.1 usa o 2.6.11. Você pode usar um
CD do Kurumin 5.0 para dar boot usando o ISO do 5.1, por exemplo, mas não vai funcionar se você
tentar usar um CD da série 4.x, por exemplo, que usa um Kernel diferente.

A principal vantagem de usar estas opções é o desempenho do sistema, que melhora realmente de forma
brutal. Num notebook HP nx6110, o boot pelo CD (Kurumin 5.1) demora 2:45 minutos, enquanto ao dar
boot usando um ISO gravado no HD, demora apenas 55 segundos, 3 vezes menos! Outra vantagem é que
o sistema não fica dando aquelas "travadinhas", causadas pelo modo de economia de energia do drive.

Fora isso, o sistema continua se comportando exatamente da mesma forma que ao dar um boot "normal" a
partir do CD, você pode inclusive instalar a partir daí.

Salvando suas configurações

A partir do Kurumin 5.1 foram incluídas duas opções que permitem salvar arquivos e novos programas
instalados, mesmo ao rodar o Kurumin do CD. Estas opções são destinadas principalmente a quem usa
pendrives, mas você pode usar uma partição no HD, complementando a opção de copiar os arquivos do
sistema para a partição.

A primeira opção salva os arquivos e configurações armazenados no diretório "/home/kurumin", enquanto


a segunda permite salvar todas as alterações feitas no sistema (como novos programas instalados usando o
UnionFS). Ambas utilizam um recurso especial do sistema, as famosas imagens de loopback, que são
arquivos especialmente formatados, que podem ser armazenados em qualquer tipo de partição (mesmo
uma partição FAT do Windows), mas são acessados pelo sistema como se fossem partições separadas.

Para salvar as configurações, criando as imagens de loopback, use as opções encontradas no Iniciar >
Configuração do Sistema:
O utilitário mostra as partições disponíveis (incluindo o pendrive, detectado pelo sistema como /dev/sda
ou /dev/sdb) e o espaço disponível em cada uma, em qual partição o arquivo será criado e qual será seu
tamanho. Ao salvar o home, é criado um arquivo "kurumin.img" e ao salvar as modificações no sistema é
criado o arquivo "union.img".

Para usá-los no boot, use as opções:

kurumin home=/dev/hda1/kurumin.img
(para o arquivo com o home), ou:

kurumin union=/dev/hda1/union.img
(para o arquivo com a imagem do UnionFS)

Você pode também combinar as duas opções, como em:

kurumin home=/dev/hda1/kurumin.img union=/dev/hda1/union.img

Isto fará com que o arquivo seja montado no diretório apropriado, fazendo com que as configurações e
arquivos salvos fiquem disponíveis. Todas as alterações feitas são salvas diretamente nos arquivos de
imagem, permitindo que você instale novos programas e salve arquivos, de uma forma similar ao que
faria com o sistema instalado no HD.

Instalando

A opção de instalar o Kurumin está bem visível dentro da tela inicial do Painel de Controle, você pode
também chamar o instalador usando o comando "sudo kurumin-install" num terminal. No Painel estão
organizadas também outras funções que usamos para configurar o sistema, que examinaremos com mais
cuidado adiante.

O instalador é na verdade um script, localizado dentro da pasta "/usr/local/bin/". Você pode estuda-lo e
até alterá-lo caso necessário, usando um editor de textos qualquer. Assim como o instalador, muitas
ferramentas aparentemente complexas, são na verdade scripts relativamente simples, que trabalham
executando em ordem os comandos de texto necessários para realizar cada tarefa. Uma característica
importante no Linux é que apesar de todas as ferramentas gráficas, toda configuração do sistema pode ser
feita através do terminal, desde que você saiba os passos necessários.
Antes de instalar, vamos revisar alguns passos importantes:

As partições no Linux

Temos duas interfaces IDE na placa-mãe, onde cada uma permite a conexão de dois HDs, configurados
como master ou slave. O primeiro HD, conectado à interface IDE primária e configurado como master, é
reconhecido pelo Linux como hda, o segundo HD, slave da IDE primária é reconhecido como hdb,
enquanto os dois HDs conectados à IDE secundária são reconhecidos como hdc e hdd.

Caso você esteja usando um HD Serial ATA, então ele será visto como sda. Caso sejam dois, um será o
sda e o outro sdb. O mesmo acontece ao usar HDs SCSI.

Ao mesmo tempo, cada HD pode ser dividido em várias partições. Podemos ter um total de 4 partições
primárias ou três partições primárias e mais uma partição extendida, que pode englobar até 255 partições
lógicas. É justamente a partição lógica que permite a nós dividir o HD em mais de 4 partições.

Esta limitação das 4 partições primárias, é uma limitação que existe desde o primeiro PC, lançado em
1981. Os projetistas que escreveram o BIOS para ele, precisavam economizar memória e chegaram à
conclusão que 2 bits (4 combinações) para o endereço das partições seriam suficientes, pois na época os
HDs mais vendidos tinham apenas 5 MB e só existia um sistema operacional para PCs, o PC-DOS, de
forma que era raro alguém precisar criar mais de uma partição. As coisas mudaram um pouco de lá pra cá,
mas infelizmente esta limitação continua até os dias de hoje.

Para amenizar o problema, foi criado o recurso da partição estendida e das partições lógicas. A partição
estendida contém uma área extra de endereçamento, que permite endereçar as 255 partições lógicas. É
possível criar até 4 partições extendidas, de forma que (em teoria) é possível dividir o HD em até 1020
partições :).
A primeira partição primária, do primeiro HD (hda) é chamada de hda1. Caso o HD seja dividido em
várias partições, as demais partições primárias são chamadas de hda2, hda3 e hda4. Porém, o mais
comum ao dividir o HD em várias partições é criar apenas uma partição primária e criar as demais
partições dentro de uma partição extendida. É isso que o particionador faz por default.

As partições extendidas recebem números de 5 em diante (hda5, hda6, hda7, etc.) mesmo que as
partições hda2 e hda3 não existam:

Neste mapa temos a partição primária, montada no diretório raiz (/) e uma partição extendida, que
engloba tanto a partição swap quanto a partição montada em /home.

Este é o esquema de particionamento mais usado no Linux: três partições, sendo uma a partição raiz, onde
o sistema fica instalado, a partição swap e uma terceira partição (opcional), montada no diretório /home.

A idéia é a mesma de dividir o HD em C:\ e D:\ no Windows: simplesmente manter seus arquivos
pessoais numa partição diferente da dos arquivos do sistema, para melhorar a segurança e permitir que
você possa tranqüilamente reformatar a partição do sistema quando precisar reinstalá-lo, sem correr o
risco de perder junto seus arquivos pessoais.

Se estiver com dúvidas sobre como o HD está particionado, abra o gparted, que você encontra no Iniciar
> Sistema. Ele mostra um mapa do HD.

Instalando

Ao começar a instalação propriamente dita, o primeiro passo é escolher em qual HD o sistema será
instalado, caso você tenha mais de um:
O particionamento do HD pode ser feito através do cfdisk, um particionador de modo texto que lembra
um pouco o fdisk do Windows 98, ou usando o gparted, um particionador gráfico com uma interface
parecida com o Partition Magic.

O cfdisk é mais prático quando você simplesmente quer formatar o HD todo e criar novas partições,
enquanto o gparted permite que você redimensione partições do Windows e outras distribuições Linux
para liberar espaço para instalar o Kurumin.

Particionando com o cfdisk

O cfdisk é um programa simples, de modo texto. Se você é iniciante, vai se sentir mais confortável
usando o gparted, o Partition Magic (no Windows) ou o particionador oferecido durante a instalação do
Mandriva. Basta dar boot com um CD do Mandriva, ou do Mandrake 9.0 em diante, seguir até o
particionamento do disco e abortar a instalação depois de fazer o particionamento. Ele é bem fácil de usar
e oferece a opção de redimensionar partições Windows.

Caso o HD já esteja particionado basta selecionar a opção "Quit" na janela do cfdisk, ou pressionar a
tecla "q" para prosseguir com a instalação. Para alternar entre as opções dentro do cfdisk, use as setas
para a esquerda e direita no teclado; para selecionar uma opção tecle Enter.
Dentro do cfdisk, use as setas para cima e para baixo para selecionar uma partição ou trecho de espaço
livre e as setas para a direita e esquerda para navegar entre as opções, que incluem:

Delete: Deletar uma partição, transformando-a em espaço livre. Use esta opção para deletar partições já
existentes no HD para poder criar novas.

Create: Cria uma partição usando um trecho de espaço livre. O assistente perguntará sobre o tamanho da
partição, em megabytes. Você terá ainda a opção de criar uma partição primária e uma partição extendida.

Você pode criar no máximo de quatro partições primárias, uma limitação que vem desde o PC-XT. Mas,
por outro lado pode criar até 255 partições extendidas. Todas as versões do Windows e do DOS exigem
que sejam instaladas numa partição primária, mas no Linux não existe esta limitação.

Você pode criar quantas partições for necessário e instalar o Kurumin em qual delas preferir.

Maximize: Redimensiona uma partição, para que ela ocupe todo o espaço disponível no HD. O processo
não é destrutivo, pois o sistema simplesmente adiciona o espaço adicional no final da partição, sem mexer
no que está gravado, mas de qualquer forma é sempre saudável fazer um backup.

Type: Altera o sistema de arquivos da partição (Linux, FAT, Linux Swap, etc.). Lembre-se de que você
deve ter no mínimo uma partição Linux e outra Linux Swap.

Bootable: Esta é mais uma opção necessária para partições do Windows ou DOS, mas não para o Linux.
Mas a regra básica é que ao usar várias partições, a partição onde o sistema operacional está instalado seja
marcada com este atributo.

Write: Salva as alterações.

Quit: Depois de fazer as alterações necessárias e salvar, só falta sair do programa ;-).

Basicamente, ao usar o cfdisk, você deve criar duas partições, uma maior para instalar o sistema e outra
menor, de 500 MB ou 1 GB para a memória swap. Ao deletar uma partição antiga você seleciona o trecho
de espaço livre e acessa a opção Create para criar uma partição Linux para a instalação do sistema. Para
criar a partição swap, você repete o procedimento, criando uma segunda partição Linux, mas em seguida
você acessa a opção Type e pressiona Enter duas vezes para que o cfdisk a transforme numa partição
swap. Criadas as duas partições, é só salvar e sair.
O cfdisk não oferece nenhuma opção para redimensionar partições. Para isso você deve usar o gparted, ou
outro particionador com que tenha familiaridade, como o Partition Magic ou o particionador usado
durante a instalação do Mandrake por exemplo (basta iniciar a instalação até chegar ao particionamento
do disco, alterar o particionamento, salvar e em seguida abortar a instalação).

Lembre-se de que o cfdisk deve ser usado apenas se você deseja deletar ou criar partições no HD. Se
você quer apenas instalar o Kurumin numa partição que já existe (mesmo que seja uma partição do
Windows ou esteja formatada em outro sistema de arquivos qualquer), pode dispensar o cfdisk, basta sair
sem fazer nada. A formatação propriamente dita é feita mais adiante durante a instalação.

Alguns programas de particionamento (como o do instalador do Mandrake) criam tabelas de partição que
não são entendidas pelo cfdisk. Neste caso, ao abrir o cfdisk você receberá uma mensagem de erro sobre a
tabela de partição. Isto não significa necessariamente que exista algo errado com o seu HD, apenas que o
cfdisk não conseguiu entender a tabela de partição atual.

Isto é perfeitamente normal, basta pressionar Enter para fechar o cfdisk e prosseguir com a instalação. O
único problema neste caso é que você terá que recorrer a outro programa para reparticionar o HD. Como
disse acima, você pode usar um CD de instalação do Mandriva, prosseguir até a parte de particionamento
do disco e depois abortar a instalação.

Se você quer apenas usar o cfdisk para reformatar o HD, sem se preocupar com os dados, você pode fazer
o cfdisk eliminar a tabela de partição do HD, criando uma nova tabela em branco. Esta opção é perigosa
(vai apagar todos os dados), por isso não foi incluída no instalador. Se você quiser usá-la, abra o Root
Shell encontrado em Iniciar > Configuração do Sistema e chame o comando "cfdisk -z" e particione o
disco a seu gosto. Lembre-se, esta opção vai destruir todos os dados do HD.

Particionando com o gparted

O gparted é um particionador gráfico, bem mais amigável. Ao usá-lo, é importante observar que todas as
partições do HD devem estar desmontadas, ou seja, elas não devem estar em uso. Ao dar boot com o CD
do Kurumin, todas as partições ficam por padrão desativadas. Elas são montadas quando você clica sobre
os ícones das partições dentro do "Meu Computador" para ver os arquivos. Para desmontá-las, clique com
o botão direito sobre o ícone e acione a opção "Desmontar".

Na tela principal, você verá um "mapa" do HD, com todas as partições disponíveis e pode criar, deletar e
redimensionar partições a partir dele. Neste exemplo, tenho uma partição Windows de 6 GB, formatada
em NTFS, onde apenas 1.4 GB estão usados (a parte que aparece em amarelo no
"mapa"). É possível redimensionar a partição reduzindo seu tamanho para algo
próximo do espaço ocupado, 2 ou 3 GB por exemplo.
Você pode usar o gparted para redimensionar a partição do Windows e liberar espaço para o Kurumin.
Ele é capaz de redimensionar tanto partições FAT32 quanto partições em NTFS. A única exigência é que
antes de redimensionar você deve primeiro desfragmentar a partição alvo (reinicie e use o defrag do
próprio Windows). Caso a partição não esteja desfragmentada ele aborta a operação para evitar qualquer
possibilidade de perda de dados.

Para redimensionar, clique na partição e em seguida sobre a opção "Redimensionar/Mover", onde


você pode ajustar o novo tamanho da partição.

As alterações não são feitas automaticamente. Depois de revisar tudo clique no "Aplicar" para que as
modificações sejam aplicadas. O gparted utiliza vários outros programas para checar as partições e fazer o
trabalho pesado. Clique no botão "Details" para ver os passos que estão sendo executados.

O gparted tem como principal objetivo evitar perda de dados, de forma que sempre que ele encontra
algum problema na partição, a operação é abortada. O problema mais comum ao redimensionar partições
Windows é o fato da partição estar fragmentada. O gparted não tenta mover arquivos dentro da partição,
ele apenas altera seu tamanho. Se houver arquivos gravados no final da partição, ele se recusará a tentar
redimensioná-la, para evitar que estes arquivos sejam perdidos. Para corrigir o problema, volte ao
Windows e desfragmente a partição.

Depois de concluído, você ficará com um bloco cinza, que representa espaço livre, não particionado. Para
criar uma nova partição, clique com o botão direito sobre ele e em seguida sobre o botão "Novo". Na tela
seguinte você pode escolher o sistema de arquivos em que a partição será formatada, seu tamanho e
também se ela deve ser criada como uma partição primária, ou uma partição lógica. Lembre-se de que
você só pode criar quatro partições primárias, ou até três primárias e uma extendida, com várias partições
lógicas dentro dela. Ao terminar, clique no "Adicionar" para concluir a alteração.

Note que as alterações são realmente aplicadas apenas ao clicar sobre o "Aplicar". Se mudar de idéia,
basta usar o botão "Desfazer".

Para instalar, você precisa de uma partição Linux, formatada em ReiserFS, EXT2 ou EXT3, e uma
partição swap. A partição swap não é realmente obrigatória, você até pode passar sem ela se tiver 512 MB
de RAM ou mais. Porém, mesmo com bastante memória RAM, é recomendável usar uma partição swap,
pois ela permite que o sistema remova bibliotecas e arquivos que não estão sendo usados da memória, em
caso de necessidade, deixando mais memória livre para rodar os aplicativos nos momentos em que você
estiver rodando muita coisa ao mesmo tempo e o PC estiver sofrendo para acompanhá-lo :-).

Muita gente tem uma imagem errada do uso da memória swap por causa da forma burra como ela é
gerenciada no Windows 98. Nele, mesmo com muita memória disponível, o sistema insiste em fazer
swap, prejudicando o desempenho e tornando o sistema menos responsivo.

No caso do Linux, principalmente ao usar uma distribuição recente, com o Kernel 2.6, o gerenciamento é
feito de forma muito mais inteligente. O sistema leva vários fatores em conta na hora de decidir se usa
swap ou não, usando-a apenas em casos de real necessidade, ou quando seu uso vai melhorar o
desempenho do sistema.

Usar swap para melhorar o desempenho parece paradoxal. Afinal, a swap é centenas de vezes mais lenta
que a memória RAM e tudo que é colocado nela demora muito tempo para ser reavido. Porém, quando
você abre muitos aplicativos e a memória RAM começa a acabar, mover para a swap arquivos e
bibliotecas que possuem pouca chance de serem usados novamente faz sentido, pois libera memória para
uso dos aplicativos que você realmente está usando.

Outra coisa a levar em consideração é o cache de disco, espaços de memória que são usados para copiar
informações que são freqüentemente lidas no HD, de forma a agilizar o acesso a elas. Você pode ver isso
funcionando na prática: abra uma janela do OpenOffice ou o Firefox. Da primeira vez demora um pouco
para carregar. Feche a janela e abra novamente. Da segunda vez já demorou bem menos, não é?
Isto acontece justamente porque na segunda abertura o sistema acessou boa parte das informações a partir
do cache, ao invés de ter de ler tudo novamente a partir do HD ou CD. O cache de disco é um recurso que
acelera absurdamente o tempo de carregamento dos programas e arquivos. Com mais memória
disponível, o sistema pode fazer mais cache, melhorando perceptivelmente o desempenho.

A terceira questão é que sem swap o sistema não tem para onde correr em situações onde você precisa
abrir muitos programas ou executar alguma tarefa que realmente use toda a memória disponível. Sem
memória, o sistema vai começar a ficar lento e, em situações mais extremas, os aplicativos começarão a
fechar por falta de memória.

Se você tiver bastante espaço disponível no HD, crie uma partição swap de 1 GB ou 2 GB. Se o espaço
estiver racionado, crie uma partição menor, de 300 ou 500 MB. O ideal é que a partição swap seja maior
em micros com pouca RAM e menor em micros com mais memória.

Para criar a partição swap no gparted, escolha "linux-swap" no campo "Sistema de Arquivos".

Uma dica é que o gparted também pode ser usado para criar partições FAT32 e NTFS do Windows. Ou
seja, você pode usá-lo também para particionar um HD para a instalação do Windows ao invés daqueles
ultrapassados disquetes de boot do Windows 98. Basta dar um boot com o Kurumin :).

Lembre-se de que o Kurumin ocupa cerca de 1.2 GB ao ser instado, mas você precisará de espaço para
guardar seus arquivos e instalar outros programas. O ideal é reservar pelo menos 2 GB para o sistema e
mais uns 500 MB (ou mais) de espaço para a partição swap.

Se você tiver mais espaço disponível, aproveite para criar também uma partição extra para armazenar o
diretório /home, que veremos como configurar a seguir. Esta partição separada permitirá reinstalar o
sistema posteriormente sem perder seus arquivos, que ficarão protegidos numa partição separada.

Em muitos micros é preciso reiniciar depois de modificar o particionamento do HD para que o sistema
seja capaz de perceber as alterações. A limitação neste caso é o BIOS da placa-mãe, que em muitos casos
só é capaz de ler a tabela de partições do HD durante o boot. Se o instalador reclamar que não existem
partições Linux disponíveis, mesmo que você tenha feito tudo corretamente, é provável que seja este seu
caso. Reinicie e comece novamente a instalação, dessa vez passando batido pela parte de particionamento.

Copiando os arquivos

Depois de particionar o HD, chegamos à parte mais crucial da instalação, que é a cópia dos arquivos
propriamente dita. O instalador pergunta se você deseja usar uma partição swap e em qual partição o
sistema deve ser instalado. Note que a lista inclui apenas partições formatadas em sistemas de arquivos do
Linux, para evitar o clássico acidente de formatar por engano a partição do Windows. Lembre-se de que a
sua partição C:\ do Windows é a "/dev/hda1" no Linux.

O Linux suporta vários sistemas de arquivos diferentes. A função do sistema de arquivos é organizar o
espaço disponível no HD, criar estruturas que permitem gravar e ler arquivos de forma organizada. Os
primeiros sistemas de arquivos suportados pelo Linux, bem no começo do desenvolvimento, eram o
Minix e o EXT. Ambos possuíam limitações graves com relação ao desempenho e o tamanho máximo das
partições, de forma que ambos foram substituídos pelo EXT2, que continua em uso até hoje.

O EXT2 é um sistema similar à FAT32 do Windows. Os arquivos são organizados de uma forma
simples, com o HD dividido em vários clusters (que no EXT2 chamamos de blocos), onde cada cluster
armazena um arquivo ou um fragmento de arquivo. Um índice no início do HD guarda uma tabela com os
endereços de cada arquivo no HD.

Muita gente gosta desta simplicidade e por isso continua usando o EXT2 até hoje. O problema é que,
assim como o FAT32, o EXT2 tem uma grande tendência a perder dados quando o micro é desligado
incorretamente (o que num desktop é muito comum). Nestes casos entra em ação o fsck, que vasculha
todos os arquivos da partição, de forma a detectar e corrigir erros, da mesma forma que o scandisk do
Windows. Os dois problemas fundamentais com o fsck são que:

1- O teste demora muito.


2- Ele só corrige erros simples. Sempre que um problema mais grave é detectado, o carregamento do
sistema é abortado e você cai num prompt de recuperação (herança da época em que o Linux era feio,
estranho e complicado), onde você precisa conhecer e saber usar os comandos necessários para reparar os
erros manualmente.

Ou seja, a menos que você tenha um nobreak e seu micro nunca seja desligado no botão, não use o EXT2.
Ele é um sistema obsoleto, assim com o FAT32 no Windows.

Temos em seguida o EXT3, uma evolução do EXT2, que inclui um sistema de journaling. O journal
(diário) consiste numa espécie de log, que armazena todas as alterações que são feitas nos arquivos e
quando elas foram concluídas.

Quando o micro é desligado incorretamente, o fsck consulta este jornal para corrigir os erros, sem
precisar executar o teste completo. Isso diminui bastante o problema, mas não o corrige completamente,
pois o journal é na verdade um arquivo, que assim como os outros pode ser perdido. Quando isso
acontece, o fsck precisa realizar o teste completo e, caso encontre algum problema, te joga novamente no
estúpido prompt de recuperação. Um terceiro problema é que o journal precisa ser atualizado conforme as
alterações são feitas, um trabalho extra que reduz o desempenho de leitura e gravação de dados em até
30% em relação ao EXT2.

Finalmente, temos o ReiserFS, que está para o EXT2 e o EXT3 da mesma forma que o NTFS está para o
FAT32 no Windows. Ele é um sistema mais moderno, que inclui muitos recursos para a proteção dos
dados e do próprio sistema de arquivos no caso de problemas diversos e desligamentos incorretos. O
ReiserFS também aproveita melhor o espaço, agrupando arquivos pequenos, de forma que eles sejam
gravados de forma contínua. Isso acaba fazendo uma grande diferença, pois no Linux temos uma
quantidade muito grande de pequenos executáveis, bibliotecas e arquivos de configuração.

O ReiserFS é um sistema bastante robusto, bem melhor adaptado para suportar os maus-tratos típicos de
um desktop, por isso é o sistema recomendado. Você pode ver uma descrição técnica dos recursos do
sistema e alguns benchmarks no: http://namesys.com/.

- Corrigindo problemas em partições ReiserFS:

Problemas de corrupção de dados no ReiserFS são bastante raros. Mas, caso chegue ao ponto do sistema não dar boot por
causa de um problema grave, causado por um desligamento no botão, é possível reparar a partição dando boot com um
CD do Kurumin.

Comece (a partir do CD) abrindo um terminal e logando-se como root, usando o comando "sudo su". A partir daí, rode o
comando:

# reiserfsck --check /dev/hda1

Ele exibe um aviso: Do you want to run this program?[N/Yes] (note need to type Yes if you do):

Ou seja, você precisa digitar "Yes" para continuar; caso apenas dê Enter, ele aborta a operação. Ele vai verificar toda a
estrutura do sistema de arquivos e indicar os erros encontrados. O próximo passo é usar a opção "--fix-fixable":

# reiserfsck --fix-fixable /dev/hda1

Este segundo comando efetivamente corrige todos os erros simples, que possam ser corrigidos sem colocar em risco as
demais estruturas do sistema de arquivos. Em 90% dos casos isto é suficiente.

Se for encontrado algum erro grave, ele vai abortar a operação. Estes erros mais graves podem ser corrigidos com o
comando:

# reiserfsck --rebuild-tree /dev/hda1

Este comando vai reconstruir do zero todas as estruturas do sistema de arquivos, vasculhando todos os arquivos
armazenados. Esta operação pode demorar bastante, de acordo com o tamanho e quantidade de arquivos na partição.
Nunca interrompa a reconstrução, caso contrário você não vai conseguir acessar nada dentro da partição até que
recomece e realmente termine a operação.

O --rebuild-tree vai realmente corrigir qualquer tipo de erro no sistema de arquivos. Ele só não vai resolver o problema
caso realmente exista algum problema físico, como, por exemplo, um grande número de setores defeituosos no HD.

Outros sistemas "modernos" são o XFS e o JFS, que são otimizados para uso em servidores. Eles também
são relativamente populares, mas não são usados no instalador para não aumentar muito o número de
opções.
Depois de selecionar a partição e o sistema de arquivos, o instalador confirma mais uma vez se você
realmente quer formatar a partição para instalar o sistema. Existe aqui uma opção de atualização
escondida, que foi incluída a partir do Kurumin 4.2. Se você responder "Não", o instalador vai copiar os
arquivos sem formatar a partição, atualizando uma versão anterior do Kurumin instalada, sem apagar seus
arquivos e configurações.

Assim como no Windows, esta opção de atualização é mais propensa a problemas, pois é difícil preservar
todos os programas instalados e todas as modificações que foram feitas. Embora a atualização funcione
bem na maioria dos casos, alguns programas podem deixar de funcionar (o que pode ser resolvido
simplesmente reinstalando-os). Os arquivos e configurações, que são o mais importante, são sempre
preservados.
A cópia dos arquivos propriamente dita é muito rápida, de 4 minutos (num PC atual) a 12 minutos (num
Pentium II com 128 MB e um CD-ROM de 32x). Embora o sistema fique carregado durante a cópia, nada
impede que você navegue ou faça alguma outra coisa enquanto o sistema está sendo instalado. Os dados
são copiados diretamente a partir do CD-ROM (que é somente leitura) para dentro da partição, de forma
que a cópia não é perturbada mesmo que você crie ou modifique alguns arquivos durante a instalação,

Concluindo a instalação

Depois de copiar o sistema, o instalador faz algumas perguntas, usadas para concluir a configuração. A
primeira é sobre a configuração da rede, onde você pode definir um nome para a máquina e depois a
opção de configurar a rede automaticamente via DHCP ou especificar manualmente o endereço IP,
gateway e servidor DNS.

Uma observação importante é que o nome da máquina não pode conter espaços nem caracteres especiais.
Usar um nome como "Dandão #$@" vai causar sérios problemas, pois o sistema não conseguirá atualizar
o nome da máquina durante o boot e vários programas deixarão de funcionar corretamente. Use um nome
simples, contendo apenas letras e números, ou mantenha o padrão.
Até o Kurumin 5.0, era perguntado se você queria configurar a rede durante a instalação. Se você conecta
via ADSL com autenticação (Speedy, Velox, etc.) usando o pppoeconf, você deveria responder "Não" e
deixar para configurar depois de concluída a instalação.

Para simplificar as coisas, a partir do 5.1, a configuração da rede passou a ser feita no primeiro boot
depois da instalação, como parte do assistente de boas-vindas.

Claro, não poderíamos nos esquecer de escolher uma senha para o root e também para o usuário kurumin,
que será usado depois de concluída a instalação. O instalador não aceita senhas em branco. É importante
usar boas senhas ao acessar a internet, pois a senha é a última linha de proteção caso você mantenha o
SSH ou outros servidores ativos. Senhas fáceis são a principal causa de invasões em sistemas Linux.

O usuário kurumin (ou knoppix nas versões antigas) é uma espécie de power-user, criado com o objetivo
de facilitar o uso do sistema para novos usuários. Ele tem acesso aos utilitários de configuração,
permissão para instalar novos programas e configurar programas como o K3B, de modo que você não
precise ficar toda hora fornecendo a senha de root.

O usuário kurumin possui privilégios suficientes para usar o sistema sem sobressaltos, mas sem abrir as
várias brechas de segurança de usar o usuário root diretamente. É um meio termo entre segurança e
praticidade. O Ubuntu adota um sistema similar, onde a conta de root é desativada e você usa o comando
"sudo" (como no Kurumin) quando precisa executar comandos como root. A principal diferença é que o
Ubuntu confirma a senha (da conta de usuário, não do root) periodicamente.

Se você é um usuário com mais experiência, pode preferir criar um novo usuário, este sim um usuário
"comum", sem privilégios especiais. Para criar mais usuários depois da instalação, use o comando
"adduser" (como root) como em "adduser joao". Os novos usuários aparecem automaticamente na tela
de login.

Se preferir um utilitário gráfico, você pode usar o "users-admin", que pode ser executado pelo terminal,
ou pelo ícone no "Iniciar > Sistema > Gnome System Tools". Ele pode ser encontrado também no Fedora
(onde se chama "system-config-users") e no Mandriva (onde se chama "userdrake").

Você pode ativar ou desativar o uso do sudo, que é o responsável pelos privilégios administrativos a
qualquer momento, usando as opções dentro do painel dos ícones mágicos. Estas opções
fazem as alterações necessárias no arquivo "/etc/sudoers" e a alteração passa a valer imediatamente. Não
é preciso reiniciar o KDE.

Naturalmente, para ativar o sudo para um novo usuário, é preciso fornecer a senha de root.
Configurando o Lilo

A última etapa da instalação é a configuração do Lilo, o gerenciador de boot usado para inicializar o
sistema, e pode ser configurado para inicializar também o Windows e outras distribuições Linux
instaladas no HD.

Você tem a opção de instalar o Lilo na trilha MBR do HD, fazendo com que o Kurumin passe a ser o
sistema default (respondendo "Sim" à pergunta), ou instalar o Lilo na partição (respondendo "Não").
Quando você liga o micro, o BIOS da placa-mãe detecta o HD, CD-ROM, disquete e
outros periféricos instalados. Depois de terminar seu trabalho, o BIOS procura por
algum sistema operacional para carregar, seja no HD, CD-ROM, disquete ou mesmo
via rede, de acordo com o configurado no setup.

No caso do HD, o BIOS lê apenas os primeiros 512 bytes, que são justamente a
trilha 0, ou trilha MBR do HD. Neste pequeno espaço vai a tabela de partição e o
gerenciador de boot.

Cada sistema operacional utiliza um gerenciador de boot próprio. Como o espaço no


MBR é muito reduzido, apenas um pode ser instalado no MBR de cada vez. Quando
um sistema grava seu gerenciador no MBR, automaticamente apaga o do anterior.

Ao ter mais de um sistema instalado, a solução é gravar apenas um deles no MBR e gravar dos demais no
primeiro setor da partição onde cada sistema está instalado. Com isso, o gravado na MBR pode ser
configurado para carregar os demais.

Se o Kurumin for o único sistema instalado, basta responder Sim e seus problemas acabaram. Se por
outro lado você está instalando o Kurumin em dual-boot com o Windows ou outra distribuição do Linux,
siga os seguintes passos para configurar os dois sistemas em dual-boot:

1) Windows + Kurumin: Se o Windows já está instalado, responda "Sim" para que o lilo seja gravado na
MBR. O Windows grava seu gerenciador de boot tanto na MBR quanto no primeiro setor da partição, por
isso é o mais fácil de configurar. Por ser gravado na MBR, o lilo será carregado primeiro e oferecerá a
opção de escolher entre carregar o Kurumin ou o Windows a cada boot.

Isso é feito adicionando duas linhas no arquivo de configuração do lilo, que explicam para ele que existe
outro sistema instalado. A partir do Kurumin 5.0 esta configuração é feita automaticamente, nas versões
antigas é necessário adicionar as linhas manualmente:

other = /dev/hda1
label = Windows
2) Kurumin + Outra distribuição Linux: Ao instalar o Kurumin em dual boot com outra distribuição, é
necessário que você configure um para gravar na MBR e o outro para gravar na partição. Instale a outra
distribuição primeiro, responda que não quer gravar o gerenciador de boot na MBR durante a instalação e,
ao instalar o Kurumin, adicione as mesmas duas linhas na configuração do lilo, dizendo a partição onde a
outra distribuição está instalada e dando um nome para ela, como em:

other = /dev/hda2
label = Mandriva

Uma observação importante: Os nomes não podem ter mais de 14 caracteres e não podem conter espaços
ou caracteres especiais.

O arquivo de configuração do lilo é o "/etc/lilo.conf". O instalador lhe dá a chance de revisar a


configuração do arquivo, onde você pode incluir as linhas caso necessário:

Os comentários no arquivo são auto-explicativos. Tudo o que você precisa fazer é retirar os comentários
(#) das linhas referentes à partição onde está instalado o outro sistema operacional (caso ele não tenha
sido detectado automaticamente pelo instalador) e salvar o arquivo.

No screenshot abaixo, por exemplo, o Kurumin está sendo instalado em dual-boot com o Windows XP. O
instalador detectou o dual-boot e colocou as linhas referentes ao Windows automaticamente. O único erro
é que o label ficou "WinNT(hda1)", mas, fora a questão estética isso não faz diferença. Você pode mudar
o label para "WinXP" ou qualquer coisa do gênero se quiser:
Depois de salvar o arquivo, basta fechar a janela para continuar a instalação.

A partir daí você tem a opção de escolher qual sistema operacional será carregado durante o boot. Você
pode configurar o lilo do Kurumin para inicializar vários sistemas diferentes se for o caso, basta ir
descomentando os pares de linhas correspondentes. Para modificar a configuração do lilo depois de
concluída a instalação, abra o arquivo "/etc/lilo.conf" (como root) e, depois de salvar as alterações,
execute o comando "lilo" (novamente como root) para que elas sejam gravadas no HD.
Depois de instalado no HD, o desempenho do Kurumin fica melhor, pois o processador não precisa mais
ficar descompactando os dados do CD, além de que um HD sempre oferece um tempo de busca bem
menor.

Usando uma partição separada para o diretório /home

Desde o Kurumin 2.0, existe a opção de instalar o diretório "/home" numa partição separada do restante
do sistema, opção que é dada no final da instalação. Naturalmente, para usar este recurso, é preciso que
você tenha criada uma partição adicional ao particionar o HD.

O mais comum neste caso é criar uma partição menor, de 4 a 8 GB para instalar o sistema (de acordo com
a quantidade de programas adicionais que você pretende instalar), uma partição swap de 1 ou 2 GB e uma
partição maior, englobando o restante do HD, para ser usada como "/home". A partição home deve ser
maior, pois é nela que serão guardados seus arquivos, músicas, e-mails, trabalhos, filmes, etc., coisas que
normalmente ocupam bem mais espaço que os arquivos do sistema.
Usar uma partição separada permite que você possa reinstalar o sistema sem perder seus arquivos e
configurações, o que é especialmente interessante no caso do Kurumin, que é atualizado freqüentemente.

Usando um diretório home separado, as reinstalações tornam-se mais transparentes, você ainda precisa
reinstalar os programas (o que não é tão complicado assim se você usar os ícones mágicos), mas todas as
configurações dos aplicativos são preservadas.

Cada programa armazena suas configurações dentro de uma pasta oculta dentro do seu diretório de
usuário, como ".mozilla", ".kde", etc. Mesmo ao reinstalar o sistema, estas pastas são reconhecidas e as
configurações antigas preservadas. Basta tomar o cuidado de guardar também todos os seus arquivos
dentro do diretório home e você não perderá quase nada ao reinstalar.

O primeiro passo é indicar a partição que deseja usar. Como já vimos, no Linux as partições aparecem
como dispositivos dentro do diretório /dev/, como "/dev/hda1" (para a primeira partição, o C: no
Windows) ou "/dev/hda2". Em caso de dúvidas, você pode ver um mapa mostrando como o HD está
formatado dentro do gparted.
Preste atenção quando o instalador perguntar se a partição já está formatada. A legenda nesse caso é auto-
explicativa; responda que "sim" se você tem dados na partição e quer usá-la da forma como está, ou
responda "não" apenas se você acabou de criar a partição e quer formatá-la para usar.

Caso você esteja usando uma partição home de uma instalação anterior, responda "sim" e indique em qual
sistema de arquivos a partição está formatada. O instalador suporta partições home formatadas em
ReiserFS, EXT2 e EXT3. Lembre-se de que o ReiserFS é a opção recomendada.

Em seguida o instalador abre uma janela do kedit com o arquivo "/etc/fstab", onde vão as informações
sobre todas as partições e outros sistemas de arquivos que são montados durante o boot. Esta janela é
apenas "um extrato para simples conferência"; você não precisa se preocupar em alterar mais nada. As
linhas adicionadas pelo instalador vão no final do arquivo, como em:

# Monta a partição /home, adicionado pelo instalador do Kurumin


/dev/hda2 /home reiserfs notail 0 2

Veja que a sintaxe não é tão complicada assim. Traduzindo para o Português, a linha diz: "Monte a
partição /dev/hda2 no diretório /home. Esta partição está formatada em ReiserFS e você deve montá-la
usando a opção notail (que melhora o desempenho no acesso à partição)".

Ao reinstalar o sistema, você deve apenas repetir o processo, indicando a partição, dizendo que ela já está
formatada e indicando o sistema de arquivos. O resto é automático.

Outra opção para usar o diretório home numa partição separada (que muitos acham mais simples) é
simplesmente copiar a pasta home para dentro da outra partição e criar um link para ela, substituindo a
pasta home do sistema.

Imagine que você tem o sistema instalado e algum tempo e agora quer reinstalar sem perder os arquivos
do home. Você tem uma partição livre, a "/dev/hda2" disponível.

O primeiro passo seria montar a partição livre e em seguida copiar o home atual para ela. É importante
fazer isso como root, usando o comando "cp -a", que faz uma cópia exata, mantendo todas as permissões
dos arquivos. Se a sua pasta home é "/home/joao", o comando seria:

# cp -a /home/joao /mnt/hda2

Depois de reinstalar o sistema, crie novamente o usuário "joao" e edite o arquivo "/etc/fstab", para que a
partição "/dev/hda2" (onde está o home) seja montada automaticamente durante o boot. A linha referente
a ela ficará algo como "/dev/hda2 /mnt/hda2 reiserfs notail 0 2".

Monte a partição ou reinicie o micro para verificar se a configuração está correta. Se a partição estiver
montando corretamente, falta apenas o último passo que é criar o link. Mova o home vazio criado ao
cadastrar o usuário no sistema e o substitua por um link apostando para o home dentro da partição:

# mv /home/joao /home/joao-old
# ln -s /mnt/hda2/joao /jome/joao

Embora possa ser um pouco mais trabalhosa, esta segunda receita tem um efeito similar à primeira. Você
escolhe qual prefere usar ;).

Depois de reiniciar o micro, você tem a opção de configurar a conexão com a internet, atualizar a lista de
pacotes do apt-get (apt-get update) e de ativar o firewall. Os dois passos são opcionais; atualizar a lista de
pacotes do apt é necessário para poder instalar novos programas usando o apt-get ou os ícones mágicos, e
ativar o firewall é sempre uma boa idéia se seu micro está diretamente conectado à internet.
Capitulo 4: Configurando e
resolvendo problemas

No Linux quase tudo é configurado através de arquivos de texto. Usuários avançados geralmente
preferem editar muitos destes arquivos diretamente para configurar o sistema, mas existem muitos
programas de configuração que facilitam as coisas.

O Kurumin inclui uma quantidade muito grande de scripts e pequenos programas de configuração que são
agrupados num painel de controle central que batizei de Clica-Aki. Você encontra o ícone para abri-lo no
"Iniciar > Configuração do Sistema" ou dentro da pasta "Meu Computador", no Desktop.

A idéia é que as opções incluídas no Painel sejam auto-explicativas, por isso uma grande parte do
desenvolvimento se concentra em adicionar instruções e textos de ajuda. O objetivo é criar uma
ferramenta simples de usar, mas ao mesmo tempo bastante poderosa.

As opções estão agrupadas em categorias. Até o Kurumin 4.2, as opções para instalar novos programas e
instalar servidores só funcionavam com o Kurumin instalado no HD, por causa da limitação óbvia de não
ser possível instalar novos programas com o sistema rodando a partir do CD-ROM, já que ele é somente-
leitura.

Mas, a partir do Kurumin 5.0, esta última limitação foi derrubada, com a inclusão do UnionFS. Graças a
ele, passou a ser possível usar o apt-get e os ícones mágicos para instalar novos programas e mexer em
todos os arquivos de configuração do sistema, mesmo com o sistema rodando do CD.

Isto permite testar os recursos do sistema com muito mais liberdade, sem precisar instalar. Você pode dar
boot, instalar um servidor Apache e Squid, os drivers da nVidia, o VMware e outros programas que
quiser testar e reiniciar o micro, como se nada tivesse acontecido.

O UnionFS funciona de uma forma bastante engenhosa, uma daquelas idéias aparentemente simples, que
resolvem problemas complexos.

Com o Kurumin rodando a partir do CD, os arquivos armazenados no diretório home e alguns arquivos de
configuração, que precisam ser alterados durante o boot, são armazenados num ramdisk (um disco virtual,
criado usando uma parte da memória RAM); mas, fora isto, tudo é acessado dentro do arquivo
/cdrom/KNOPPIX, que, além de fazer parte do CD, está compactado num formato que não permite
alterações, completamente selado.

Para permitir esta "mágica", o UnionFS permite juntar dois (ou mais) diretórios em um, estabelecendo
uma hierarquia entre eles. O "Union" vem justamente de "união".

Temos então o arquivo compactado do CD num nível hierárquico mais baixo, montado como somente
leitura e um ramdisk, que originalmente está quase vazio, mas que vai armazenando todas as alterações.
Os dois são montados numa única pasta, a /UNIONFS, que contém o conteúdo do arquivo compactado e
do ramdisk. Os links que tradicionalmente apontariam para a pasta "/KNOPPIX", onde fica montado o
arquivo compactado, são todos recriados apontando para ela.

Na hora de ler um arquivo, o sistema verifica se existe uma versão mais recente armazenada no ramdisk,
caso contrário lê no arquivo principal. Na hora de gravar, as alterações são sempre armazenadas no
ramdisk, de forma automática e transparente.

No final, você acaba podendo instalar programas e fazer qualquer tipo de alteração no sistema, da mesma
forma que se ele estivesse instalado. As limitações neste caso são que todas as modificações são salvas no
ramdisk. Para conseguir instalar programas grandes com o sistema rodando a partir do CD, você precisa
ter 512 MB de RAM. Caso contrário, você pode instalar alguns programas pequenos de cada vez e ir
reiniciando o micro para testar outros, conforme a memória for sendo ocupada.
O UnionFS é ativado por padrão durante o boot, quando é exibida a mensagem "UnionFS: União do
CD/DVD (ro) com o ramdisk (rw) realizada com sucesso". Não é preciso usar nenhuma opção de boot,
basta atualizar a lista do apt-get, executando o comando "sudo apt-get update" e começar a instalar
programas.

Configuração do som

Existem dois conjuntos de drivers de som disponíveis no Linux: o OSS é o mais antigo, com uma
arquitetura mais simples e suporte a um número menor de placas de som, usado desde as primeiras
versões do Kernel. O Alsa é mais moderno, com suporte a mais placas e drivers com mais recursos.

O Alsa é o sistema padrão no Kernel 2.6 e nas versões recentes do Kurumin, baseados nele.

O utilitário padrão para detectar a placa de som ao usar o Alsa é o alsaconf (que deve ser executado como
root, num terminal). Você pode usá-lo sempre que quiser redetectar a placa de som, ou em casos em que
ela não seja detectada automaticamente durante o boot. Você pode também acioná-lo usando a opção
dentro da seção "Suporte a Hardware" no Painel de Controle.

O alsaconf roda em modo texto justamente para que seja compatível com qualquer distribuição
independente do ambiente gráfico instalado. Ele é uma das ferramentas padrão, que você encontra em
qualquer distribuição.

Ao ser executado, ele fecha todos os programas que estejam usando o som, por isso tome sempre o
cuidado de salvar seus trabalhos. Depois de ativar a placa, ajuste os volumes usando o kmix (o ícone do
alto-falante ao lado do relógio). Se preferir, você pode usar também o aumix ou o alsamixer. Em
muitas distribuições, o som fica mudo por padrão, até que você ajuste o volume.
Outra observação importante sobre o suporte a placas de som é que ao contrário de
placas mais caras, como as SB Live e Audigy, muitas placas de som onboard e os modelos PCI baratos
não suportam múltiplos fluxos de som simultâneos via hardware. Ou seja, a placa originalmente não é
capaz de reproduzir um MP3 e tocar os sons de sistema ao mesmo tempo.

No Windows este recurso é implementado via software, através de funções incluídas nos drivers das
placas. No Linux, isto é feito através de um servidor de som, o Kurumin usa o Arts, o servidor
de som do KDE. A função do servidor de som é processar os eventos de som e
mandar tudo mastigado para a placa de som. Ele serve como um intermediário
entre os programas e o hardware.

O problema é que muitos aplicativos e jogos só sabem utilizar os drivers OSS antigos. O Alsa oferece
uma camada de compatibilidade que permite que estes aplicativos funcionem na maioria dos casos e o
Arts vem configurado para fechar automaticamente depois de 4 segundos sem uso. Ou seja, se você
fechar todos os programas que usam o som e contar até 4, a sua placa de som vai estar livre para ser
utilizada por programas antigos.

Programas baseados na biblioteca do Gnome, como o XMMS e o gMplayer incluídos no Kurumin,


podem ser configurados tanto para acessar a placa de som diretamente, seja usando os drivers Alsa quanto
os drivers OSS, quanto para usar o Arts.

Em muitos programas, o default é utilizar o Arts sempre que possível, mas caso você esteja tendo
problemas com o som em algum aplicativo em particular, experimente dar uma olhada na configuração e
ver se não existe uma opção para mudar o servidor de som usado. Veja por exemplo a configuração do
gMplayer:

Você pode experimentar mudar para a opção "alsa 1x". Isso faz com que o programa passe a acessar a
placa diretamente, sem passar pelo Arts.
O XMMS oferece uma opção semelhante em Preferências > Plugins E/S de Áudio > Plugin de saída:

Na maioria das distribuições, o Arts vem desativado por padrão, permitindo que os programas acessem a
placa de som diretamente. Caso você esteja tendo problemas para usar o som simultaneamente em mais
de um aplicativo por vez, ou alguns programas estiverem "travando" a placa de som, impedindo que
outros usem o som mesmo depois de finalizados, experimente ativar o Arts, marcando a opção "Habilitar
o Sistema de Som", dentro do Painel de controle do KDE, seção "Som & Multimídia > Sistema de Som":

Configuração da impressora

Antigamente, configurar uma impressora no Linux era muito mais complicado.


Existiam vários sistemas de impressão diferentes, era preciso pesquisar qual deles
suportava sua impressora e depois sair configurando cada programa para utilizá-lo.

Hoje em dia, configurar uma impressora no Linux é até mais fácil que no Windows.
O KDE vem com o kaddprinterwizard, um utilitário bem fácil de usar e o
kprinter, um servidor de impressão que unifica os drivers disponíveis e permite
que as impressoras instaladas no kaddprinterwizard sejam usadas em qualquer
programa do KDE.

Você pode abri-lo através da opção "Instalar uma Impressora" dentro da seção
"Suporte a Hardware" do Painel de controle ou chamá-lo diretamente pelo terminal.
Ao contrário da maioria dos programas de configuração, você não precisa abrir o
kaddprinterwizard como root.

Note que no Painel estão disponíveis também opções para compartilhar a impressora com a rede (as
impressoras compartilhadas podem ser instaladas também nas máquinas Windows), rodar o printconf
(um utilitário simples, que tenta detectar e configurar a impressora automaticamente) e também gerenciar
as impressoras já instaladas.

Na tela principal do kaddprinterwizard estão disponíveis várias opções. Ele permite instalar tanto
impressoras locais quanto impressoras de rede. Servem impressoras compartilhadas em máquinas
Windows, em outras máquinas Linux da rede, etc.:
- Local Printer (parallel, serial, USB): Esta opção é a mais usada, permite
configurar uma impressora local, ligada na porta paralela ou USB. Na segunda tela
ele mostra a porta e o modelo das impressoras encontradas e, em seguida, você
pode escolher o driver, configurar o tipo de papel e qualidade de impressão.

Em muitos casos serão oferecidas várias opções de drivers de impressão. A menos


que você tenha alguma preferência por um driver em particular (sempre existem
pequenas diferenças entre os recursos), o ideal é simplesmente aceitar a opção
recomendada.

- SMB shared Printer (Windows): Permite instalar uma impressora compartilhada


no Windows ou num servidor Linux rodando o Samba. Você deve especificar o
endereço IP do servidor e o nome do compartilhamento.

- Remote Cups server (IPP/HTTP): Instalar uma impressora compartilhada num


servidor Linux através do Cups. Em geral os clientes configuram estas impressoras
automaticamente, mas esta opção permite configurar manualmente caso a
autodetecção falhe.

Na segunda tela você deve indicar a localização da impressora. Se você está


instalando uma impressora local, indique se a impressora está conectada na porta
paralela ou numa porta USB. Em geral ele acha a impressora sozinho e só pede sua
confirmação. Caso você esteja instalando uma impressora de rede, ele pedirá o IP
ou nome do servidor e o nome da impressora compartilhada.
O próximo passo é indicar a marca e modelo da impressora, ou, em outras
palavras, indicar o driver de impressão que será usado.
Existe um ícone mágico na seção de suporte a Hardware que instala um driver
adicional para impressoras Lexmark. Ao instalá-lo, os novos drivers aparecem
dentro do kaddprinterwizard, na seção de impressoras da Lexmark.

Como de praxe, depois de instalar a impressora você pode também configurar o


tipo de papel, qualidade de impressão, etc.:

Como disse no início, existem vários conjuntos de drivers para impressora no Linux,
como o Gimp-Print, Hpijs, Foomatic, etc. O kaddprinterwizard unifica todos estes
drivers, permitindo configurar a impressora num só lugar.

Em muitos casos, a mesma impressora pode ter vários drivers disponíveis


diferentes. Neste caso, ele pergunta qual você deseja usar, mas sempre colocando
um deles, o melhor testado ou com melhores recursos como "[recommended]".
Se por acaso este driver recomendado não funcionar corretamente ou não oferecer
algum recurso de que você precisa, você pode voltar e testar os outros.
Os programas do KDE sempre usam o kprinter como padrão, mas outros
programas vêm pré-configurados para usar o lpr ou outro sistema. Nestes casos a
solução mais fácil é simplesmente configurar o programa para usar o kprinter
como comando de impressão.

Por exemplo, no Mozilla Firefox vá em Arquivo > Imprimir > Propriedades e coloque
o kprinter como comando de impressão:

Assim, ao imprimir qualquer coisa, o Firefox passa a chamar o menu de impressão


do KDE ao invés de tentar imprimir diretamente:
Suporte a scanners

O suporte a scanners no Linux, de uma forma geral, é provido por dois programas,
o Sane (a biblioteca que contém os drivers) e o Xsane, a ferramenta que detecta e
configura os scanners conectados. Ele é capaz de detectar scanners USB e alguns
scanners paralelos suportados. Chame-o com o comando xsane, ou use o ícone no menu.
Depois de configurar o scanner no Xsane, você pode usar o Kooka para escanear
as imagens. Ele inclui também um software de OCR e outros recursos:
O manual do Kooka está disponível no:
http://www.kde.org/apps/kooka/doc/manual.php.

Você pode ver uma lista de scanners suportados pelo Sane no:
http://sane-project.org/sane-mfgs.html

Veja mais informações sobre o suporte a scanners no Linux em:


http://www.buzzard.org.uk/jonathan/scanners-usb.html
http://orbita.starmedia.com/~neofpo/

Mais uma observação é que muitos scanners USB utilizam um arquivo de firmware
que deve ser transferido para o scanner antes que ele comece a funcionar. O
firmware é o software responsável por fazer o hardware funcionar. Sem ele nada
funciona.

O arquivo binário pode ser encontrado dentro do CD de drivers do scanner,


geralmente um arquivo com a extensão .bin, como por exemplo "u34v101.bin".

Estes scanners são suportados pelo snapscan, mais um front-end para o sane, que
pode ser encontrado em: http://snapscan.sourceforge.net/.

Configuração do mouse

No Linux, a configuração do mouse faz parte da configuração do vídeo, que vai no arquivo
"/etc/X11/xorg.conf". Em 99% dos casos o mouse é detectado automaticamente, mesmo que você tenha
mais de um, como ao usar um mouse USB num notebook que já possui um touchpad. Mas, existem
algumas dicas que podem ser usadas em caso de problemas.

Se você está tendo problemas com seu mouse ou teclado USB, reinicie e desative a opção "USB
LEGACY SUPPORT" no Setup do micro. Esta opção ativa uma camada de compatibilidade, destinada a
fazer o teclado e mouse funcionarem no MS-DOS, que em algumas placas faz com que o sistema deixe de
detectar os dispositivos e ativar os drivers necessários durante o boot. Pressione a tecla "DEL" durante a
contagem de memória para acessar o setup.

Caso você realmente precise revisar a configuração do mouse manualmente, abra o arquivo
"/etc/X11/xorg.conf" num editor de textos. Se você estiver no KDE (e sem mouse), pressione Alt+F2 para
abrir o "executar comando" e chame o "kdesu kedit /etc/X11/xorg.conf" (para abrir o kedit como root), ou
uma janela de terminal. Se estiver no modo texto, logue-se como root e rode o comando "mcedit
/etc/X11/xorg.conf".

A configuração do mouse, dentro do arquivo, é dividida em duas seções. Na primeira você especifica o
tipo de mouse que está usando e, em seguida, existe uma seção maior com a configuração de cada tipo.

O arquivo do Kurumin vem comentado, o que facilita a configuração. Este mesmo arquivo pode ser usado
em outras distribuições, já que todas usam o mesmo servidor gráfico, o X.org ou (nas mais antigas) o
Xfree. Basta copiar o arquivo, substituindo o arquivo padrão da outra distribuição para que o vídeo e
mouse fiquem configurados da mesma maneira que estão no Kurumin.

Logo no começo do arquivo, procure a linha com a configuração do mouse, como em:

InputDevice "USB Mouse" "CorePointer"

O "USB Mouse" indica o tipo de mouse usado. Você pode substituí-lo por "PS/2 Mouse" ou "Serial
Mouse", no caso de um mouse serial. Nas versões do Kurumin que usam o Kernel 2.6 (a partir do 4.0), a
opção para mouses USB funciona também com mouses PS/2 e touchpad, de forma que normalmente você
só precisará alterar esta opção caso use um antigo mouse serial.
O restante da configuração, como a sensibilidade do cursor, comportamento da roda, intervalo do clique
duplo, etc. é feita no Painel de Controle do KDE, na seção Periféricos > Mouse.

Alguns mouses PS/2 utilizam uma taxa de leitura diferente da padrão e por isso o cursor fica muito "leve"
e difícil de controlar. Nos casos em que alterar a aceleração e sensibilidade do mouse através do painel de
controle do KDE não resolver, você pode corrigir o problema alterando diretamente a configuração do X.
Procure a seção referente a seu mouse dentro do arquivo "/etc/X11/xorg.conf" e adicione a linha Option
"Resolution" "800", como em:

Section "InputDevice"
Identifier "PS/2 Mouse"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "ZAxisMapping" "4 5"
Option "Device" "/dev/input/mice"
Option "Emulate3Buttons" "true"
Option "Emulate3Timeout" "70"
Option "Resolution" "800"
Option "SendCoreEvents" "true"
EndSection

Reinicie o X (pressionando Ctrl+Alt+Backspace) para que a alteração entre em vigor. Em geral esta
configuração funciona melhor combinada com um valor baixo para a opção "Aceleração do ponteiro"
(uso geralmente "1,2x" neste caso) e "0" na opção "Limite do Ponteiro".

Configurando o teclado

O KDE oferece um utilitário bem prático para configurar o teclado: o kxkb. Ele é o responsável pelo
iconezinho da bandeira do Brasil ao lado do relógio, que indica que o sistema vem configurado para usar
um teclado ABNT2.

Para configurar o teclado, clique com o botão direito sobre o ícone e acesse a opção "Configurar...". Você
também tem acesso à mesma configuração dentro do Painel de Controle do KDE, na seção Regional &
Acessibilidade > Configuração do teclado:
A configuração do teclado é feita pela combinação de duas configurações: o modelo do teclado e o layout
do teclado (as opções na coluna da esquerda), que indica como as teclas serão mapeadas.

Se você usa um teclado ABNT2, então a configuração correta é o modelo do teclado como "ABNT2
Brasileiro" e o layout do teclado como "Brasileiro".

Se você usa um teclado padrão Americano, então a configuração seria: modelo do teclado: "Genérico –
105 teclas (intl) PC" e layout "Inglês Norte-Americano com deadkeys (us_intl)",
que equivale ao "US Internacional" do Windows.

O kxkb também suporta o uso de layouts múltiplos. Por exemplo, os teclados usados em notebooks
japoneses possuem uma disposição de teclas muito semelhante à dos teclados ABNT2, apenas mapeadas
de forma diferente. É comum que os Brasileiros que moram por lá configurem o teclado como sendo um
ABNT2, para escrever em Português, mas deixando disponível também o layout japonês. Neste caso, é
possível chavear entre os dois layouts clicando sobre o ícone ao lado do relógio.
Existem algumas combinações que permitem chavear entre teclados diferentes como, por exemplo, a
combinação de um teclado ABNT2 com o layout "Inglês Norte Americano com deadkeys" que fica
disponível como layout alternativo no Kurumin.

Esta configuração permite que quem tem um teclado US Internacional possa trocar o layout do teclado no
Kurumin com apenas um click na bandeirinha ao lado do relógio. Não fica perfeito, pois os dois layouts
são diferentes (a tecla "\" não funciona, por exemplo), mas é um quebra galho que poupa tempo em
muitos casos.

Para usar as teclas de terceiro nível, ou seja, símbolos como "º", "ª", "£", "¬", "¢" ou "§", mantenha
pressionada a tecla "Alt" direita (Alt GR) e pressione a tecla desejada. Para o "€", por exemplo, você
pressiona Alt e 5. Você pode mudar a tecla usada para ativar o terceiro nível no Painel de Controle do
KDE, em "Regional e Acessibilidade > Layout do Teclado > Opções Xkb > Terceiro nível".

Naturalmente, a configuração do kxkb só é válida enquanto ele está ativo, ou seja, apenas dentro do KDE.
Se você quiser alterar a configuração "de baixo nível", pode alterar diretamente a configuração do teclado
no arquivo "/etc/X11/xorg.conf", onde vai a configuração do X. Lembre-se de que em distribuições
antigas, que ainda utilizam o Xfree, o arquivo será o "/etc/X11/XF86Config-4".

Procure a seção referente ao teclado. Normalmente ela aparece logo depois da seção referente ao mouse.
Para um teclado ABNT2, a seção fica:

Section "InputDevice"
Identifier "Keyboard0"
Driver "keyboard"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
Option "XkbVariant" "abnt2"
Option "XkbOptions" "abnt2"
EndSection

Para um teclado Americano, a seção fica:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "abnt2"
EndSection

Mais uma dica é que em casos de necessidade é possível usar o teclado como mouse. Embora seja raro,
em alguns casos o Kurumin pode não conseguir detectar o mouse durante o boot. Pode acontecer ainda do
mouse parar de funcionar caso você tente alterar a configuração e acabe fazendo alguma besteira, ou
ainda que o seu mouse simplesmente pare de funcionar por falta de limpeza :-).

Seja qual for a causa, o KDE oferece um recurso de mouse virtual, que permite usar o micro mesmo sem
o mouse. O movimento do mouse passa a ser controlado pelas teclas do teclado numérico.

Para ativar o mouse virtual, pressione a tecla Shift junto com a tecla NumLock do teclado numérico. A
partir, daí as teclas 1, 2, 3, 4, 6, 7, 8 e 9 ficam responsáveis pela movimentação do mouse, enquanto a
tecla 5 simula o clique do botão esquerdo, pressionando a tecla 5 duas vezes você simula um duplo
clique.

Para arrastar arrastar e soltar pressione a tecla 0 para prender e depois a tecla 5 para soltar.

Por padrão a tecla 5 simula o botão esquerdo do mouse. Para simular os outros botões você usa as teclas /
(botão direito), * (botão central) e - (para voltar ao botão esquerdo), que funcionam como teclas
modificadoras.

Para desativar o mouse virtual, pressione Shift + NumLock novamente.

Usando joysticks

Existem basicamente três tipos de joysticks para PC em uso: Os antigos joysticks analógicos, ligados na
saída da placa de som, joysticks USB e joysticks artesanais (controles de Playstation ou Super Nes
adaptados para serem ligados na porta paralela do micro).

A tendência é que os joysticks USB caiam de preço cada vez mais, se popularizem e eliminem
definitivamente os analógicos. Eles possuem algumas vantagens importantes: são mais precisos, não
precisam ser calibrados e não degradam o desempenho da máquina ao serem usados.

Os joysticks USB são também os que funcionam melhor no Linux. O joystick é detectado ao ser plugado
na porta USB, graças ao hotplug que fica ativo por padrão no Kurumin e na grande maioria das
distribuições atuais.

Se estiver curioso, rode o comando "dmesg" e você verá uma entrada como esta, avisando da detecção do
joystick:

usb 1-2: new low speed USB device using address 6


input: USB HID v1.10 Joystick [Logitech WingMan Precision USB] on usb-0000:00:1d.0-2

No caso dos joysticks analógicos, não existe detecção automática, é preciso carregar o módulo que ativa o
suporte ao joystick para que ele seja visto pelo sistema. No Kurumin você encontra um script que testa os
módulos disponíveis até carregar o correto no menu "Jogos > Joystick > Habilitar joystick analógico
ligado na placa de som".

Você pode checar o joystick na seção "Periféricos > Joystick" do Centro de Controle do KDE. Ele inclui
uma opção para calibrar o joystick, que só é necessária em joysticks analógicos.

A maioria dos games inclui suporte a joysticks. Se o joystick funciona no módulo do


painel de controle, ele também funcionará nos programas. Se por acaso o joystick
USB não foi detectado automaticamente, experimente reiniciar o hotplug com o
comando:

# service hotplug restart

Para usar o joystick no Zsnes (o emulador de SuperNes, disponível no "Iniciar >


Jogos"), vá em "Config > Input #1", marque a opção "Keyb/Joystick" e clique em
"Set". Agora é só definir a função de cada botão. O Generator não inclui a opção
de configurar os botões, mas detecta o joystick automaticamente.

Nem todos os games nativos oferecem suporte a joystick. O Froze Bubble e o


Ltris, por exemplo, não oferecem nenhuma opção para usar o joystick, enquanto o
Supertux e o Xgalaga ativam-no automaticamente.
É possível também usar um joystick de Playstation ou Super Nes adaptado para ser
ligado na porta paralela. Esta é a opção preferida por quem gosta de emuladores.

Você já deve ter visto destes pra vender nos sites de leilão e até mesmo em
algumas lojas de informática. Eles não são caros, em média uns 20 reais. Se você
tiver um ferro de solda, pode até mesmo tentar fazer o seu, seguindo as instruções
desta página:
http://www.emulatronia.com/reportajes/directpad/psx/index.htm

Estes joysticks funcionam no Linux usando dois módulos de kernel, chamados


jaydev e gamecom e o Xjoypad, um programinha que converte os sinais recebidos
do joystick em teclas do teclado.

Quando você pressionar o botão "X" do controle, o sistema acha que você
pressionou a tecla "3" do teclado numérico, por exemplo. Ele é interessante pois
pode ser usado não apenas nos emuladores, mas também em qualquer jogo que
utilize o teclado. Basta configurá-los para usar as teclas emuladas pelo controle.

A desvantagem de utilizar um joystick adaptado é que a utilização do processador é


muito alta, pois ele precisa ficar monitorando os sinais recebidos na porta paralela.
Mesmo num processador relativamente rápido, um Athlon de 1.5 GHz, por
exemplo, a diminuição do desempenho chega a 20% enquanto o joystick está em
uso. Usando um joystick ligado na placa de som, a perda é bem menor, cerca de
3% a 5%, enquanto ao usar um joystick USB ela é próxima de zero, pois os sinais
são processados pelo próprio joystick.

O Kurumin já inclui o Xjoypad e um ícone mágico, que você encontra em "Jogos >
Joystick > Habilitar Joystick de Playstation ligado na porta paralela" que cuida de tudo. Mas, se você
precisar habilitar o joystick manualmente em outra distribuição, os passos são os seguintes:

1- Ativar os módulos "joydev" e o "gamecon", que geralmente já vêm nas


distribuições usando o comando "modprobe". Antes de carregá-los, você deve
verificar também se os dispositivos do joystick já estão criados dentro do diretório
"/dev". A lista completa dos comandos é um pouco extensa, então eu recomendo
que você simplesmente faça um shell script e execute quando precisar.

É bem simples, crie um arquivo de texto e copie os comandos para ele. Depois de
salvar, marque a permissão de execução nas propriedades do arquivo ou use o
comando "chmod +x arquivo". A partir daí é só chamá-lo com o comando
"./arquivo" para que todos os comandos sejam executados de uma vez só.
Normalmente, você precisa executar apenas os últimos três comandos. Os demais
servem apenas para checar se os links dos dispositivos do joystick existem e
apontam para as localizações corretas.
cd /dev
rm js*
mkdir input
mknod input/js0 c 13 0
mknod input/js1 c 13 1
mknod input/js2 c 13 2
mknod input/js3 c 13 3
ln -s input/js0 js0
ln -s input/js1 js1
ln -s input/js2 js2
ln -s input/js3 js3
mknod input/event0 c 13 64
mknod input/event1 c 13 65
mknod input/event2 c 13 66
mknod input/event3 c 13 67

modprobe -r lp
modprobe joydev
modprobe gamecon map=0,7

Ao usar uma distribuição antiga, que ainda use o Kernel 2.4, o comando para
carregar o módulo gamecon é: "modprobe gamecon gc=0,7" (o parâmetro "map"
muda para "gc"). Você pode checar qual é a versão do Kernel usada com o
comando "uname -r".

2- Depois de ativar o joystick, falta ativar o Xjoypad. Você pode baixar o arquivo
no:
http://downloads-guiadohardware.net/xjoypad.zip

Descompacte o arquivo (use o comando "unzip" se quiser fazer via terminal),


acesse a nova pasta que será criada e copie o arquivo "xjoypad" para a pasta
/usr/local/bin, assim ele se transformará num comando do sistema e você terá
mais facilidade para chamá-lo.

Feito isso você só precisa deixar o comando residente. Adicione mais este comando
no seu script:

# xjoypad -device /dev/js0 &

Configurando a conexão

Hoje em dia é possível acessar a Web de (basicamente) 7 maneiras diferentes:

1- Via modem discado.


2- Através de uma conexão compartilhada, dentro da rede local.
3- Via ADSL, com IP fixo ou usando um modem ADSL configurado com roteador.
4- Via ADSL com autenticação via PPPoE, usando um modem configurado com bridge.
5- Via rádio (a modalidade oferecida em condomínios).
6- Via cabo.
7- Via wireless.

No Kurumin, os ícones de configuração podem ser acessados dentro do Iniciar > Internet, ou dentro do
menu "Conectar na internet ou configurar a rede" no Painel de Controle.
Conectando via modem

Se você acessa via modem, existem duas possibilidades. Se você usa um softmodem, que são de longe o
tipo de modem mais comum hoje em dia, o primeiro passo é ativar o suporte ao seu modelo. Nem todos
os modelos são suportados no Linux, simplesmente porque nem todos os fabricantes desenvolvem
drivers, mas os drivers incluídos no Kurumin dão suporte à maior parte dos modelos.

Você pode ver várias informações sobre os dispositivos da sua máquina, incluindo o modelo do modem
no Centro de Informações do KDE, que pode ser encontrado em "Iniciar > Sistema > Centro de
Informações".

Caso você não faça a mínima idéia de qual é o modelo do seu modem e esteja com preguiça de descobrir,
pode apelar para técnica da tentativa e erro. Simplesmente vá testando todos os drivers. Clique em um,
tente discar com o Kppp, tente outro e assim por diante, até achar o que funcione no seu modem.

Os scripts foram feitos para serem "resistentes a cliques múltiplos". Ao ativar um dos drivers, ele
primeiro desativa o anterior, de modo a evitar qualquer problema. Depois de ativar o driver correto, o
modem já estará pronto para o uso. Você pode discar e efetuar a conexão usando o kppp, incluído no
Kurumin. Ele oferece várias opções de configuração, incluindo um recurso para calcular o gasto com
telefone baseado no tempo e horários de uso:
Os drivers disponíveis nas versões recentes são:

- Intel 537 AC'97: Este é um modem Intel encontrado em muitos notebooks, como o HP nx6110. Ele
funciona graças a uma combinação de um driver open-source, que faz parte do Alsa e o executável do
driver da Smartlink. Ao usar o comando "lspci" o modem é identificado como "Modem: Intel Corp.
82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller".

Note que existe um modelo anterior de modem Intel AC'97, encontrado em alguns notebooks Toshiba e
também em versão PCI que ainda não possui driver no Kernel 2.6.

- Intel 537 e 537ep: Estes são os modems Intel Ambient (geralmente encontrados em versão PCI)
vendidos atualmente. Você pode diferenciar os dois usando o comando "lspci" que retorna os códigos de
identificação dos componentes do micro. O 537 aparece como "Intel Tigerjet" enquanto o 537ep aparece
como "Intel Ambient".

- Lucent e Agere: Este driver parou de ser desenvolvido em 2002 e não funciona com os modelos novos,
vendidos atualmente, que usam o chipset SV92 (o código vem decalcado no chip do modem). Estes novos
modems não são suportados, por isso evite comprá-los.

PC-Tel AMR ou onboard: Este driver é uma espécie de "curinga", um driver desenvolvido pela
Smartlink que funciona com os modems PC-Tel onboard (ele consegue ativar simultaneamente o modem
e o som onboard, ao contrário do driver antigo), Modems PCI LG Netodragon e até mesmo com alguns
modelos de modems Intel.

PC-Tel PCI antigo (HSP Micromodem): Este driver dá suporte aos modems PC-Tel antigos,
encontrado em versão PCI, que não são suportados pelo driver da Smartlink. É o driver do Jan's PCTel
Resources compilado com a opção "pct789".

PC-Tel USB: Esta é uma versão diferente do driver da Smartlink, que dá suporte a alguns modems PC-
Tel USB, vendidos no Brasil pela LG.

Existe ainda um driver para os modems Conexant HCF e HSF. O Conexant HCF é um modem PCI que
foi um dos mais comuns à venda por volta do final de 2001, mas depois deixou de ser produzido pois era
mais caro que os PC-Tel e Lucent. O Conexant HSF é um modem encontrado onboard em alguns
modelos de notebooks e desknotes, mas não é tão comum quanto os PC-Tel, por exemplo. Estes drivers
não são incluídos no Kurumin, pois são drivers comerciais (e pagos), desenvolvidos pela Linuxant, que
desenvolve os drivers e dá suporte a eles, sem apoio do fabricante. Honestamente, não acho que vale à
pena pagar US$ 19 pelo driver, nem estimular o desenvolvimento de drivers pagos, mas você pode baixar
um trial de 30 dias ou comprar o driver completo no http://www.linuxant.com.

Os Winmodems da US Robotics não possuem suporte no Linux, são uma espécie de peso de papel de
luxo. Mas, alguns modelos de Winmodem não usam chipset da US Robotics, mas sim um chipset da
Conexant, que funciona com o driver para modems Conexant HSF.

Os modems Motorola não possuem um bom suporte no Linux. O fabricante patrocina o desenvolvimento
de um driver proprietário, que é mais um exemplo de incompetência que de boa vontade. Ele dá suporte a
apenas umas poucas versões do Kernel e não pode ser adaptado para outras. Existe uma receita disponível
na web para fazê-lo funcionar no Kernel 2.4, que envolve modificar o código fonte de dois módulos e
recompilar tudo para que o driver funcione. Existe ainda uma versão disponível no site da Motorola que
em teoria dá suporte ao Mandrake 10, mas na prática simplesmente não funciona.
Se você dá valor ao seu tempo, recomendo que troque seu Motorola por um modem melhor suportado, ao
invés de ficar perdendo seu tempo fazendo gambiarras para tentar fazê-lo funcionar no Linux.

Por outro lado, se você possui um hardmodem o trabalho é bem mais simples, você precisa apenas
indicar a porta do modem na aba "dispositivo" do kppp e discar. Embora raros, é ainda possível encontrar
alguns modems externos, que são ligados a uma das portas seriais do micro. Estes modens custam
normalmente por volta de R$ 200, mas possuem uma qualidade muito boa. Se você tiver um micro
antigo, é possível ainda usar um hardmodem ISA, que (usados) são muito baratos hoje em dia.

Os hardmodems são caros, pois são modems completos, que fazem todo o trabalho de modulação e
correção de erros. Eles são controlados pelo sistema operacional através de comandos AT simples,
entregando de volta os dados "limpos", recebidos através da linha. Os softmodems por outro lado são
apenas uma interface entre o processador e a linha telefônica. Um software de controle que faz parte do
driver fica encarregado de fazer todas as demais tarefas, usando o processador como burro de carga.

Os softmodems começaram a se popularizar por volta de 1999, a partir do ponto em que os micros
passaram a vir com processadores poderosos o suficiente para manter o modem funcionando sem que
houvesse uma degradação muito grande no desempenho. A única vantagem dos softmodems é mesmo o
fato de serem mais baratos.

Acessando via ADSL, cabo, rádio ou rede local

Os modems já foram a forma mais popular de acesso à Web, mas hoje em dia os serviços de banda larga
têm uma relação custo-benefício bem melhor; pois você não gasta com telefone e, por ser ininterrupta, a
conexão pode ser compartilhada entre vários micros dentro da rede local. O próprio Kurumin permite
compartilhar a conexão muito fácil.

O ícone "Configurar Rede Local, Ip Fixo, cabo ou modem roteador" chama o netcardconfig, que
permite configurar a rede. Ele lhe dá a opção de configurar a rede automaticamente via DHCP ou
especificar os endereços manualmente. Na verdade, o Kurumin já tenta configurar a rede
automaticamente via DHCP durante o boot, em muitas redes você já vai sair navegando.

Se a sua rede não possui um servidor DHCP, a configuração manual fica assim:

Endereço IP: Qualquer endereço dentro da faixa de endereços usada na sua rede, como em: 192.168.0.3.

Servidor DNS: Os endereços dos servidores DNS do seu provedor, ou o DNS da rede local, como em:
200.177.250.10 .

Gateway Padrão: O endereço do modem ou servidor que está compartilhando a conexão dentro da rede,
como: 192.168.0.1.

Nos serviços de acesso via cabo, o modem funciona como um bridge, conectando seu micro à rede do
provedor. Para acessar, você precisa apenas obter o endereço IP via DHCP. Compre sempre um modem
que se conecta diretamente à placa de rede, isso facilita muito a configuração. Os modems que são ligados
à porta USB precisam de um driver adicional e nem todos os modelos são suportados no Linux.
Os serviços de acesso via rádio usam uma conexão wireless, geralmente uma placa 802.11b (Wi-Fi) com
um servidor, antena e amplificador instalados no topo dos prédios e cabos de rede tradicionais até os
apartamentos e casas próximas. Este servidor compartilha a conexão e os assinantes precisam apenas
configurar a rede com os endereços fornecidos pelo provedor de acesso.

Se você acessa via ADSL, existem duas possibilidades:

As instalações antigas e os planos empresariais usam IP fixo ou configuração via DHCP, onde a conexão
é configurada como se fosse uma conexão de rede local. Uma segunda forma de conectar desta
forma é configurar o modem ADSL como roteador, onde o modem funciona como um servidor de
conexão, efetuando a conexão e compartilhando com os micros da rede local. Você obtém a configuração
via DHCP e pronto.

Pesquise sobre a configuração do seu modem, a maioria oferece esta função. A configuração pode ser
acessada através do navegador ou via telnet, de acordo com o modelo.

Nas instalações atuais a conexão é autenticada via PPPoE, uma forma dos provedores exigirem
autenticação, terem controle sobre a banda consumida e tempo de conexão. Neste caso use a opção:
"Configurar ADSL/PPPoE".

Esta opção chama o pppoeconf, o utilitário que permite ativar a conexão com a Web casa você utilize
algum serviço de banda larga que exija autenticação. Naturalmente, o utilitário só funciona se a sua placa
de rede tiver sido detectada durante o boot. Lembre-se de que você só precisa se autenticar ao manter o
modem configurado como bridge. Configurando o modem como roteador o problema é resolvido.

Uma última possibilidade são as conexões via ISDN. O Kurumin suporta vários modems ISDN, através
do isdn-config. A lista inclui também alguns modelos internos. Basta indicar o modelo do modem e
fornecer os dados do provedor de acesso. O ISDN utiliza um tipo especial de modem, que estabelece uma
conexão de 64k ou 128k usando uma linha telefônica comum. Porém, além da taxa mensal, você continua
pagando pulsos (conectando a 128k você paga dois pulsos, como se estivesse usando duas linhas
telefônicas simultaneamente) e a mensalidade do provedor. Embora o ISDN seja um pouco mais rápido e
mais estável que o acesso via modem, ele nunca foi muito popular por causa do custo. Hoje em dia está
caindo em desuso por causa da concorrência do ADSL, cabo, rádio e wireless.

Se o "isdn-config" não estiver disponível na sua instalação, você pode instalá-lo via apt-get, usando o
comando:

# apt-get install isdn-config

Usando uma placa wireless

As placas Wireless também estão se tornando cada vez mais comuns. Existem várias placas suportadas no
Linux, como por exemplo as Atheros e Orinoco, que são detectadas automaticamente durante o boot.
Para as placas que ainda não possuem drivers para Linux, existe o ndiswrapper, um utilitário que
permite carregar o driver da placa para Windows. Ele não funciona com todas as placas, mas oferece bom
resultados com a maioria.

O Kurumin inclui um pequeno utilitário para configurar redes Wireless, que você encontra dentro do
"Centro de Controle > Conectar na Internet ou Configurar a redes > Wireless > Configurar uma placa de
rede Wireless". Aqui estão disponíveis as opções para configurar a rede e também para ativar placas
ACX100 ou ACX111, ADM8211 e Realtek8180, que não são detectadas automaticamente. Lembre-se de
que você pode identificar sua placa Wireless usando o comando "lspci".

O sinal de que a placa foi ativada é o led de comunicação aceso. A partir daí, falta configurar os
parâmetros da rede para que seu micro possa finalmente se conectar a ela.

Além da configuração com o IP, máscara, gateway, etc., uma rede wireless inclui mais alguns parâmetros
definidos no ponto de acesso, que incluem o ESSID (o nome da rede), o canal (de 0 a 16) e a chave de
encriptação, caso tenha sido ativado o WEP ou WPA, que são configurados ao clicar sobre o "Configurar
os parâmetros da rede Wireless" ou chamar o "wlcardconfig" (como root) no terminal.

Você pode ver uma lista das redes disponíveis na área clicando sobre o "Verificar pontos de acesso
disponíveis" (que executa o comando "iwlist wlan0 scan") e monitorar a conexão e a qualidade do sinal
usando o Kwifimanager.

Uma vez conectado ao ponto de acesso, falta ainda configurar os endereços da rede, como em uma rede
tradicional. Para isso, use a opção "Configurar rede local", ou chame o "netcardconfig" no terminal.

Se a sua placa wireless não é suportada, ainda existe uma boa chance de colocá-la para funcionar usando
o Ndiswrapper. Para isso, use a opção "Ativar placa de rede Wireless usando o Ndiswrapper".

Para usar o Ndiswrapper, você deve fornecer o driver for Windows da placa. O Ndiswrapper usa uma
camada de compatibilidade para que estes drivers possam se comunicar com o Kernel do Linux. O driver
acha que está instalado no Windows e o Kernel acha que está conversando com uma placa compatível
com o Linux. Os dois lados são enganados, mas no final a placa funciona, que é o que nos interessa. A
cada versão do Ndiswrapper, mais placas são suportadas.
Dentro da pasta com os drivers da placa, você encontrará um arquivo .inf, o mesmo que você indicaria ao
instalar a placa no Windows.

Você pode começar tentando usar o driver para Windows XP que veio no CD de instalação da placa. Se
ele não funcionar, pesquise na lista de placas compatíveis com o Ndiswrapper disponível no:
http://ndiswrapper.sourceforge.net/mediawiki/index.php/.

Embora na maioria dos casos você possa usar diretamente o driver incluído no CD de instalação, algumas
placas só funcionam com algumas versões específicas do driver. No site você encontra informações sobre
o nível de compatibilidade da sua placa e links para baixar os drivers que foram testados com ela.

O script do Kurumin se encarrega de fazer uma configuração básica, de uma forma simples e rápida. Se
você quiser se aprofundar mais no funcionamento do Ndiswrapper, pode encontrar informações gerais
sobre como configurá-lo manualmente a seguir, no capítulo sobre o Ubuntu, ou no:
http://ndiswrapper.sourceforge.net/wiki/index.php/WirelessCardSetup.

Compartilhando a conexão e ativando o firewall

Dentro do Painel de Controle, na seção de configuração da rede, você encontra opções para compartilhar
a conexão e configurar o firewall.
Para compartilhar a conexão, seu micro deve ter duas placas de rede, uma conectada à internet e outra
conectada à rede local. Também é possível compartilhar uma conexão via modem ou wireless.

Comece conectando-se à internet normalmente e em seguida configure a rede local, usando o "configurar
rede". Verificar se o servidor consegue enxergar os outros micros da rede e vice-versa e só depois ative o
compartilhamento.

O script mostra uma lista com as placas de rede instaladas e pergunta qual delas está conectada à internet
e se oferece para instalar e configurar os servidores DHCP e DNS, que são opcionais. O DHCP permite
que o servidor forneça a configuração da rede para os outros micros automaticamente e o DNS permite
que o próprio servidor seja o DNS da rede, dispensando o DNS do provedor.
Ao compartilhar a conexão, o servidor passa a ser o gateway da rede. Ao configurar os clientes, use
endereços dentro da mesma faixa do servidor (como em: 192.168.0.2) e use o IP do servidor como
gateway.

No quesito firewall, você tem duas opções, usar o Kurumin Firewall, um script que faz algumas
perguntas e em seguida gera um script com as regras para o IPtables, que passa a ser carregado
automaticamente na hora do boot, ou usar o Firestarter, um configurador gráfico, estilo Zone Alarm, que
monitora as conexões e permite que você abra ou redirecione portas conforme necessário.

A diferença básica entre os dois é que as regras geradas pelo Kurumin Firewall são estáticas, ou seja, o
firewall é configurado uma vez e fica ativo fazendo o que mandou sem fazer perguntas. O Firestarter por
sua vez fica residente ao lado do relógio e lhe permite ver as tentativas de conexão ao seu micro e ir
alterando a configuração conforme necessário. Veremos mais dicas sobre o Firestarter no capítulo sobre o
Ubuntu.

Acessando celulares e palmtops via bluetooth

O Bluetooth é um padrão aberto de comunicação sem fios, desenvolvido pelo SIG (Bluetooth Special
Interest Group) que inclui diversas empresas, entre elas a Sony, IBM, Intel, Toshiba e Nokia.

Ao contrário do padrão Wi-Fi, que inclui os padrões 802.11.b, 802.11a e 802.11g, usados nas redes sem
fio, o Bluetooth tem como principal objetivo substituir os cabos, permitindo que celulares, palmtops,
mouses, headsets, entre outros troquem dados entre sí e com o PC, sem precisar de cabos. Uma rede
Bluetooth é chamada de "piconet" e é composta por um dispositivo "master" e até 8 "slaves", que se
conectam a ele.

Existem duas classe de dispositivos Bluetooth. Os dispositivos "classe 2" (que são os usados em quase
todos os celulares e aparelhos portáteis) trabalham com um transmissor de apenas 2.5 mW e por isso
possuem um alcance de apenas 10 metros (em campo aberto). Na hora de comprar um adaptador
Bluetooth para o PC, você tem a opção de também comprar um transmissor tipo 2 (que são os mais
compactos e baratos), ou comprar um adaptador com um transmissor classe 1, que possuem um alcance
teórico de 100 metros (bem menos na prática, já que você nunca está num ambiente livre de obstáculos).
Atualmente, cada vez mais notebooks já vem com transmissores Bluetooth de fábrica, dispensando o
adaptador.
A velocidade de transmissão no Bluetooth é de apenas 1 megabit (721 kbits reais), o que inviabiliza a
transmissão de grandes arquivos. Isso faz com que, na prática, o uso mais comum para o Bluetooth seja
transferir fotos, pequenos arquivos e (com um pouco de paciência) músicas em MP3 entre o PC e o
celular ou palmtop.

Fazer isso no Linux já foi uma tarefa ingrata (mesmo no Windows, só existe um suporte maduro a partir
do XP SP2), mas atualmente as coisas estão bem mais simples :).

O primeiro passo é instalar os pacotes necessários. Tudo começa com o "bluez-utils", que faz o trabalho
pesado. Ele é complementado pelo pacote "bluez-libs", que em muitos casos é integrado ao pacote
principal. Em seguida temos os pacotes "kdebluetooth" e "kmobiletools", que compõem a interface de
acesso.

O primeiro passo é instalar os pacotes. No Kurumin e no Ubuntu você pode instalar diretamente via apt-
get:

# apt-get install bluez-utils kmobiletools kdebluetooth dbus


(em outras distribuições, você pode precisar instalar também os pacotes "bluez-libs" e "bluetooth")

Serão criados ícones no "Iniciar > Internet":

Reinicie os serviços para ter certeza de que realmente estão carregados:

# /etc/init.d/dbus restart
# /etc/init.d/bluetooth restart

Depois de instalar tudo, verifique se seu adaptador Bluetooth foi detectado corretamente, usando o
comando:

# hciconfig

Se ele responder algo similar a:


hci0: Type: USB
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0

... significa que o adaptador foi detectado, mas está desativado. Neste caso, rode o comando que ativa o
transmissor:

# hciconfig hci0 up

Rode de novo o hciconfig e ele deve retornar algo como:

hci0: Type: USB


BD Address: 00:11:67:32:95:23 ACL MTU: 678:8 SCO MTU: 48:10
UP RUNNING PSCAN ISCAN
RX bytes:77 acl:0 sco:0 events:9 errors:0
TX bytes:34 acl:0 sco:0 commands:9 errors:0

Aproveite para adicionar o comando no final do arquivo "/etc/init.d/bootmisc.sh" ou "/etc/rc.d/rc.local",


para que o transmissor seja ativado automaticamente durante o boot.

Aqui vai um pequeno truque. Ao invés de abrir o arquivo e adicionar a linha manualmente, você pode
usar o comando abaixo (como root) para fazer o trabalho automaticamente. Ele simplesmente cria uma
nova linha no final do arquivo, contendo o que colocamos entre aspas:

# echo "hciconfig hci0 up" >> /etc/init.d/bootmisc.sh

Rode agora o comando "hcitool scan". Ele deverá mostrar o ID do seu celular. Em caso de problemas
neste ponto, verifique se o transmissor do celular está realmente ativado (acontece nas melhores famílias
;).

$ hcitool scan
Scanning ...
00:07:E0:18:9A:02 treo

Agora vem a parte potencialmente mais problemática é que é fazer o "pairing", ou seja, fazer a conexão
inicial entre o PC e o celular, de forma que ele aceite as conexões.

No caso do meu Treo, clico na opção "Trusted Devices" dentro da configuração do Bluetooth e escolho o
meu desktop na lista. Ele solicita a passkey e em seguida a conexão é estabelecida:
A passkey é um código de segurança, que você precisa fornecer na hora de conectar seu celular, ou
qualquer outro dispositivo ao seu PC. Por default, a passkey será "1234", ou "BlueZ", de acordo com a
versão instalada e o nome será "BlueZ" ou o nome do micro, definido na configuração da rede.

Depois de conectar seu celular, é interessante mudar esta configuração, sobretudo a passkey. Para isso,
edite o arquivo "/etc/bluetooth/hcid.conf".

As opções importantes aqui são as linhas "passkey" (também chamada de pin) e "name" (determina o
nome com o qual seu PC aparecerá na piconet). As demais já vêm configuradas por padrão, permitindo a
conexão de qualquer dispositivo. Altere-as adicionando sua configuração, como em:

passkey "minhasenhasecreta";

name "MeuPC";

Reinicie (novamente) os serviços, para que a nova configuração entre em vigor. O fato de alterar a
configuração, não desativa o pairing já feito com seu celular, apenas impede que outros aparelhos se
conectem ao seu PC utilizando a senha default (o que seria um problema de segurança).

# /etc/init.d/dbus restart
# /etc/init.d/bluetooth restart

Depois de fazer o pairing, abra o Kbluetoothd, usando o ícone no menu. Ele ficará residente na forma de
um ícone ao lado do relógio. Ao clicar sobre ele, você abre uma lista com os aparelhos disponíveis e os
recursos suportados por cada um. Muitos celulares suportam o "Obex File Transfer", que permite
transferir arquivos (incluindo músicas em MP3) diretamente para o cartão de memória.
Ao ser aberto pela primeira vez, o Kbluetoothd sugere que você use o "kbluepin" como verificador do
código PIN, ao invés da configuração manual que usamos até aqui. Ele é um pequeno programa que abre
uma janela no PC sempre que o celular tenta se conectar, perguntando qual PIN será usado. Na verdade, é
uma perfumaria, que você pode usar ou não.

Se preferir mudar, edite novamente o arquivo "/etc/bluetooth/hcid.conf" e substitua a linha:

passkey "minhasenhasecreta";

Por:

pin_helper /usr/lib/kdebluetooth/kbluepin;

Para os casos em que o celular não usa um cartão de memória, ou não suporta a transferência direta de
arquivos, abra o Kbtobexclient (também disponível no iniciar), que permite transferir arquivos para a
memória do aparelho usando o protocolo padrão.

Para transferir, selecione o seu celular na lista da esquerda e arraste o arquivo a ser transferido para o
campo "file to send". Clique no "Send" e a transferência é iniciada:
É mostrada uma tela no celular perguntando o que fazer com o arquivo. Os formatos de arquivos
suportados variam muito de acordo com o celular, mas a maioria suporta imagens em jpg. Você pode
começar transferindo uma imagem pequena para testar.

É possível também transferir arquivos do celular para o PC. No meu Treo 650, por exemplo, posso
transferir desde imagens e músicas, até anotações feitas no MemoPad, que são recebidas como arquivos
de texto. Na maioria dos celulares, você pode transferir fotos e vídeos gerados com a câmera.

Para isso, selecione a opção de envio no celular e mantenha o Kbluetoothd aberto no PC. Será mostrada
uma janela de confirmação:

Mude a opção "Future policy for this device and service" para "allow" se quiser que as próximas
transferências sejam aceitas automaticamente, sem que seja aberta a tela de conformação. Depois é só
decidir onde salvar o arquivo :).
Completando o time, temos o Kmobiletools, que permite acessar a agenda do celular, discar e atender
chamadas através do PC, ler e enviar mensagens SMS, entre outros recursos.

Ele pode ser usado para acessar o celular tanto através de um cabo USB, quanto via Bluetooth. A
configuração para acessar via cabo é mais simples: dentro das configurações, indique a porta
"/dev/ttyACM0" e deixe que ele detecte o celular. Como o Kmobiletools ainda está em fase de rápido
desenvolvimento, aparelhos que não são suportados, ou operam com recursos limitados numa versão,
podem passar a ser bem suportados na seguinte e também existem casos de regressões, ou seja, aparelhos
que deixam de funcionar numa versão e voltam na seguinte. Segundo os desenvolvedores, os celulares
melhor suportados são os Motorola e SonyEricsson, enquanto os piores no estágio atual são os Nokia.

Para acessar o celular via Bluetooth, existem alguns passos adicionais. Comece usando o comando
"hcitool scan" para descobrir o endereço do seu aparelho:

$ hcitool scan
Scanning ...
00:07:E0:18:9A:02 treo

Precisamos agora editar o arquivo "/etc/bluetooth/rfcomm.conf", onde associaremos o celular a uma


porta serial, permitindo que ele seja acessado pelo Kmobiletools. Edite o arquivo, deixando-o como este
exemplo. Note que você deve mudar o endereço e o nome do aparelho, deixando-os igual ao informado
pelo "hcitool scan":

rfcomm0 {
bind yes;
device 00:07:E0:18:9A:02;
channel 1;
comment "treo";
}

Depois de salvar, reinicie os serviços:

# /etc/init.d/dbus restart
# /etc/init.d/bluetooth restart

Terminado, configure o Kmobiletools para acessar o celular através da porta "/dev/rfcomm0", que foi
criada no passo anterior. A partir daí, o celular passa a ser acessado da mesma forma que seria através do
cabo USB. Note que antes de fazer tudo isso, você deve ter feito os passos anteriores, ou seja, instalar o
BlueZ, fazer o pairing entre o PC e o Celular e testar a conectividade.

Solucionando problemas

Caso você não consiga criar a associação a partir do celular, também é possível fazê-lo a partir do PC.
Neste caso, use os comandos abaixo. Isso abrirá um diálogo no celular, pedindo para inserir a passkey do
desktop. Note que novamente é preciso especificar o ID do celular, que você descobre usando o comando
"hcitool scan":

# hcitool cc 00:07:E0:18:9A:02
# hcitool auth 00:07:E0:18:9A:02

Assim como qualquer software, o BlueZ teve seus altos e baixos ao longo de sua história. Uma das
versões mais problemáticas foi a 3.1, com problemas relacionados à definição do PIN e comportamento
errático em muitas situações.

Infelizmente, o 3.1 foi uma versão muito usada. Ele é a versão usada por padrão no Ubuntu Dapper (e nos
primeiros betas do Edgy), no Debian Etch e em várias outras distribuições. Ou seja, a possibilidade de
você estar utilizando-a é bastante grande.

Se você está encontrando problemas estranhos, vale à pena atualizar o pacote bluez-utils para a versão
mais recente. Comece verificando se não existe uma atualização disponível via apt-get:

# apt-get update
# apt-get bluez-utils

Como último recurso, você pode experimentar instalar a versão mais atual a partir do código fonte,
disponível no http://www.bluez.org/download.html.

A instalação em sí é mecânica. O maior problema é que você precisa ter instalado um conjunto de
bibliotecas e compiladores, para que instalação seja bem sucedida. Comece instalando o pacote "bluez-
utils", disponível no site. No meu caso, baixei o arquivo "bluez-utils-3.5.tar.gz".
O primeiro passo é instalar os compiladores e bibliotecas. Numa versão recente do Kurumin ou Ubuntu,
você pode instalar os pacotes necessários usando o apt-get:

# apt-get install build-essential libbluetooth2-dev libdbus-1-dev

Em seguida, chegamos à instalação, que é feita em três passos:

1- Descompacte o arquivo (você pode fazê-lo através do Konqueror, mas já que estamos com o terminal
aberto... ;)

$ tar -zxvf bluez-utils-3.5.tar.gz

2- Acesse a pasta que será criada e execute o comando "./configure". Se houver mais alguma instalação
pendente, ele mostra um erro, informando o nome do compilador ou biblioteca que está faltando.

$ cd bluez-utils-3.5/
$ ./configure

3- Concluindo, rode os comandos "make" e "make install", que compilam e instalam o programa. Você
pode rodar o comando "make" usando seu login de usuário, mas o "make install" precisa ser executado
como root. No Ubuntu e no Kurumin você pode fazê-lo usando o sudo. Em outras distribuições, use o
"su" para virar root:

$ make
$ sudo make install
(ou su <senha>, make install)

Depois de terminar, faça o mesmo com o pacote "bluez-libs", disponível na mesma página.

Para evitar problemas, sempre que precisar reinstalar estes pacotes, apague manualmente o conteúdo do
diretório "/var/lib/bluetooth", onde são armazenadas as chaves de encriptação dos dispositivos que já
efetuaram conexões. Limpando a pasta, você pode começar de novo, definindo o PIN e fazendo o pairing
com o celular:

# rm -rf /var/lib/bluetooth/*

Acessando partições do Windows

Ao usar o Kurumin, as partições existentes no HD são detectadas durante o boot, não importa qual seja o
sistema de arquivos em que estejam formatadas. São criadas entradas no arquivo "/etc/fstab" (que
orientam o sistema a usar as partições) e ícones dentro do "Meu Computador", que permitem acessar as
partições com facilidade. Clicando sobre os ícones, você monta a partição correspondente.
Até aqui você está acessando a partição em modo somente-leitura, sem riscos de danificar qualquer
arquivo. Se você quiser ativar a escrita, clique com o botão direito sobre o ícone da partição e ative a
opção "Ações > Mudar para modo de leitura e escrita ou voltar para somente leitura".

Outra opção é clicar sobre o ícone "Montar as partições em leitura e escrita", que muda as propriedades
de todos os ícones, fazendo com que as partições passem a ser montadas em modo leitura e escrita por
padrão.

Mesmo depois de instalado, o sistema continua se comportando da mesma forma, montando as partições
apenas quando você clica sobre os ícones. Para fazer com que as outras partições sejam montadas
automaticamente durante o boot depois de instalar o Kurumin no HD, edite o arquivo "/etc/fstab" (como
root) e retire o parâmetro "noauto" da linha referente à partição.

Se você tem o Windows instalado na partição "/dev/hda1", por exemplo, você encontraria uma linha
como:

/dev/hda1 /mnt/hda1 vfat noauto,users,exec 0 0

O "/dev/hda1" indica a partição, o "/mnt/hda1" é a pasta onde ela será montada, o "vfat" indica o sistema
de arquivos (no exemplo temos uma partição FAT32) e o restante da linha indica as opções de montagem.
O "noauto" faz com que a partição não seja montada durante o boot, ficando acessível apenas ao clicar
sobre o ícone ou montar manualmente. Removendo a opção, a linha fica:

/dev/hda1 /mnt/hda1 vfat users,exec 0 0

Você pode ainda montar as partições manualmente usando o comando mount, como em:
# mount /dev/hda1 /mnt/hda1

Isso faz com que a partição "/dev/hda1" fique acessível na pasta "/mnt/hda1". Embora a tradição seja
montar as partições dentro da pasta /mnt, isto não é uma regra: você pode montar a partição em qualquer
pasta vazia.

No caso das partições do Windows, é necessário usar um parâmetro adicional, o "-o umask=000", caso
contrário, a partição ficará disponível apenas ao abrir o gerenciador de arquivos como root:

# mount -o umask=000 /dev/hda1 /mnt/hda1

A possibilidade de acessar as partições do HD permite que você use o Kurumin também como um sistema
de emergência, para quanto o Windows ou outra distribuição Linux instalada no HD derem qualquer
problema. Você pode dar um boot com o CD do Kurumin, acessar as partições, salvar os arquivos em
algum lugar (gravar um CD, salvar num outro micro da rede, copiar para um segundo HD, etc.) e assim
poder reinstalar o sistema sem riscos.

O Linux suporta praticamente todos os sistemas de arquivos existentes. Você conseguirá acessar os
arquivos do HD mesmo que tenha instalado o BeOS, Solaris ou outro sistema pouco usado.

A única exceção importante fica por conta do sistema NTFS usado pelo Windows 2000, XP e Vista.

O suporte a escrita em partições NTFS sempre foi um problema no Linux. Por ser um sistema de arquivos
proprietário, não documentado e bastante complexo, desenvolver um driver capaz de escrever em
partições Windows formatadas em NTFS, sem risco de corromper os dados gravados, é um desafio
formidável.

Isto era um grande problema para quem mantinha o Windows em dual-boot, pois era possível apenas ler
os arquivos da partição. Como o Windows também não suporta nenhum dos sistemas de arquivos usados
no Linux, você acabava sendo obrigado a instalar o Windows em uma partição FAT32 (o que tem suas
desvantagens, já que ele é um sistema muito mais propenso a problemas), ou pelo menos manter uma
partição FAT32 disponível, para servir como uma "área de troca" entre os dois sistemas.

Até hoje, o driver que havia chegado mais perto era o Paragon, um software comercial, caro e que ainda
por cima tinha a desvantagem de ser bastante lento. Num distante segundo lugar, tínhamos o Captive, que
modificava partições NTFS usando o próprio driver do Windows, executado sobre uma camada de
emulação. Apesar de ser aberto, o Captive era complicado de instalar, ainda mais lento que o Paragon e
ainda por cima pouco estável, corrompendo com freqüência os dados da partição.

Mas, felizmente tudo isso é coisa do passado. O NTFS-3g pode ser considerável o primeiro driver de
escrita em partições NTFS for Linux que é realmente utilizável, finalmente oferecendo uma solução
simples para o antigo problema.

Ao invés de ser um driver complexo, incluído no Kernel, o NTFS-3g roda através do Fuse, um módulo
que permite criar drivers para sistemas de arquivo que rodam como programas comuns. Outro bom
exemplo de driver que roda sobre o Fuse é o GmailFS (http://richard.jones.name/google-hacks/gmail-
filesystem/gmail-filesystem.html), que permite "montar" sua conta do Gmail, acessando-a como se fosse
um HD externo e usando o espaço para fazer backup e guardar arquivos. Graças ao Fuse, você não
precisa se preocupar com headers e patches do Kernel, como ao instalar outros drivers, o que simplifica
muito a instalação.

Depois desta ladainha toda, você deve estar achando que usar o NTFS-3g deve ser muito complicado,
mas na verdade usá-lo é muito simples.

O Kurumin inclui o suporte ao ntfs-3g a partir dos primeiros betas da versão 7.0. Ao clicar sobre o ícone
"Montar as partições em leitura e escrita", dentro do "Meu Computador", o script detecta que uma
partição NTFS está disponível e pergunta se você deseja usar o NTFS-3g para acessá-la em modo leitura
e escrita:
Como diz o aviso, nunca é possível ter 100% de certeza de que acessar a partição usando um driver "não
oficial" não vai causar problemas (você pode perder arquivos até mesmo usando o próprio Windows, por
panes diversas no sistema), mas, embora o ntfs-3g ainda seja considerado um software em estágio beta,
problemas de corrupção de dados são bastante raros.

Forcei uma série de situações potencialmente perigosas durante os testes, movendo pastas com mais de
1000 arquivos e subpastas, interrompendo operações no meio e até desligando o micro no botão durante
uma cópia, sem conseguir causar problemas sérios na partição. Dentro da minha experiência, o máximo
que poderia acontecer em casos mais extremos seria você precisar passar um scandisk através do próprio
Windows para corrigir algum eventual problema na estrutura do sistema de arquivos. De qualquer forma,
lembre-se sempre do velho ditado: "Só Jesus salva, o homem faz backup". :)

Outra coisa que chama a atenção é o desempenho. O ntfs-3g obtém taxas de transferência absurdamente
maiores que o Captive e o Paragon, se aproximando do desempenho que seria oferecido por um sistema
de arquivos "nativo".

No Captive, dificilmente obtinha mais do que irrisórios 300 kb/s de taxa de transferência, enquanto o ntfs-
3g consegue manter entre 5 e 11 MB/s (oscilando de acordo com o tamanho dos arquivos copiados):

No Kurumin é muito simples usar o NTFS-3g por que ele já vem pré instalado no sistema e o script de
detecção automatiza seu uso. Mas, por ainda ser considerado um driver experimental, ele não é incluído
por padrão em muitas distribuições. Vamos então ao caminho das pedras de como instalá-lo manualmente
em outras distribuições e também em versões anteriores do Kurumin.

O primeiro passo é carregar o módulo do Fuse (um driver do Kernel), usando o modprobe. Ele está
disponível em qualquer distribuição minimamente atual:

# modprobe fuse

Use o comando abaixo para adicioná-lo no arquivo "/etc/modules" (como root), de forma a garantir que
ele vai ser carregado durante o boot:

# echo "fuse" >> /etc/modules

A partir daí, você precisa instalar os pacote "libfuse" (ou "libfuse2") e "fuse-utils", necessários para que o
ntfs-3g funcione. Se você usa uma distribuição baseada no Debian Etch (incluindo o Kurumin 6.0 e 6.1),
ou o Ubuntu 6.6, pode instalar diretamente via apt-get:

# apt-get install libfuse2 fuse-utils

Em outras distribuições, procure pelos pacotes "libfuse" e "fuse-utils, responsáveis pela instalação do
Fuse. Por ser um lançamento recente, o ntfs-3g não está disponível em muitas distribuições. Nestes casos,
você pode instalá-lo através do código fonte, disponível no:
http://mlf.linux.rulez.org/mlf/ezaz/ntfs-3g-download.html

O pacote é relativamente simples de compilar. Com o Fuse e os compiladores básicos instalados, basta
descompactar o arquivo e rodar os tradicionais "./configure", "make" e "make install", este último como
root.

Enquanto escrevo, o ntfs-3g não está disponível nos repositórios do Debian, nem do Ubuntu, mas é
possível instalá-lo (sem precisar recorrer ao código fonte) através do repositório do Kanotix, que inclui
pacotes compilados para o Debian Sid.

Para usá-lo, adicione a linha abaixo no final do arquivo "/etc/apt/source.list" e rode o comando "apt-get
update":

deb http://kanotix.com/files/debian sid main contrib non-free

Instale agora o pacote "ntfs-3g" via apt-get. Preste atenção neste passo (sobretudo se estiver instalando
sobre o Ubuntu). Caso o apt-get solicite a remoção de outros pacotes, ou proponha baixar um grande
número de dependências, aborte a operação (pressionando Ctrl+C) e pesquise no google sobre a
disponibilidade de versões atualizadas dos pacotes.

Com os pacotes instalados, falta só montar a partição do Windows, usando o comando "ntfs-3g". Se o
Windows está instalado no driver C:, visto pelo sistema como "/dev/hda1" e você deseja acessar os
arquivos através da pasta "/mnt/hda1", o comando seria:

# ntfs-3g /dev/hda1 /mnt/hda1


(o "/mnt/hda1" pode ser substituído por qualquer outra pasta de sua preferência)

Por padrão, o comando monta a partição com permissão de acesso apenas para o root, o que leva ao
problema clássico de você só conseguir acessar ao abrir o gerenciador de arquivos como root. Para
corrigir o problema, dando permissão de acesso para todos os usuários, adicione a opção "-o umask=0"
ao rodar o comando:

# ntfs-3g -o umask=0 /dev/hda1 /mnt/hda1

Agora você consegue acessar e escrever na partição usando seu login de usuário. Porém, ao copiar
arquivos para dentro da partição você recebe uma mensagem chata (para cada arquivo copiado) dizendo
que não é possível modificar as permissões do arquivo. Isso é perfeitamente normal, já que o NTFS não
suporta as permissões de acesso do Linux, mas é extremamente chato se você precisa copiar um grande
número de arquivos.

Para desativar as mensagens, adicione a opção "silent", como em:

# ntfs-3g -o umask=0,silent /dev/hda1 /mnt/hda1

Um último problema, apontado Pelo Cláudio Loureiro é a falta de suporte a caracteres acentuados, que
faz com que arquivos e pastas contendo cedilhas e acentos fiquem ocultos. Felizmente, isso é facilmente
contornável. Rode o comando "locale -a" no terminal para verificar qual é a linguagem e conjunto de
caracteres usado na sua instalação. Normalmente, ao instalar o sistema em Português do Brasil, será
usado o "pt_BR.iso88591". Adicione o parâmetro "locale=pt_BR.iso88591" no comando, para que o ntfs-
3g use a linguagem e o conjunto de caracteres corretos. A partir daí, os arquivos acentuados passam a
aparecer normalmente:

# ntfs-3g -o umask=0,silent,locale=pt_BR.iso88591 /dev/hda1 /mnt/hda1

Segundo o Szakacsits Szabolcs, desenvolvedor do ntfs-3g, as próximas versões serão capazes de detectar
isso automaticamente, de forma que este parâmetro pode não ser mais necessário no momento em que
estiver lendo esta dica.

Concluindo, caso você queira que a partição do Windows seja montada automaticamente durante o boot,
existe a opção de adicionar o ponto de montagem no arquivo "/etc/fstab", que é lido durante o boot. Abra
o arquivo (como root) e adicione a linha:

/dev/hda1 /mnt/hda1 ntfs-3g silent,locale=pt_BR.iso88591,umask=0 0 0

Note que a ordem dos parâmetros mudou, mas os argumentos usados continuam os mesmos. É importante
notar que você deve tomar cuidado ao editar o fstab, pois ele é um arquivo essencial para o carregamento
do sistema. Revise a alteração antes de reiniciar o micro e deixe sempre uma linha em branco no final do
arquivo, caso contrário vai receber uma mensagem de erro chata durante o boot ;). Ao adicionar esta linha
no fstab, você não precisa mais se preocupar com o acesso à partição, pois ela passará a ser
automaticamente montada durante o boot.

Outra opção ao adicionar o ntfs-3g no /etc/fstab é usar a opção "noauto", que faz com que a partição não
seja montada automaticamente durante o boot. Isso seria mais recomendável do ponto de vista da
segurança, pois a partição seria montada apenas quando fosse realmente acessar, evitando danos
acidentais. Para acessar a partição, você usaria o comando "mount /dev/hda1" (onde o "hda1" é a
partição). No KDE você pode criar ícones para acesso às partições clicando com o botão direto sobre o
desktop e acionando a opção "Criar novo > Link para Dispositivo".

Ao adicionar o "noauto", a linha no fstab ficaria:

/dev/hda1 /mnt/hda1 ntfs-3g noauto,silent,locale=pt_BR.iso88591,umask=0 0 0

Graças ao NTFS-3g, mais uma grave deficiência do sistema foi corrigida. Agora é só questão de tempo
para que as principais distribuições passem a oferecer suporte de gravação em partições NTFS por
padrão, facilitando a vida de quem mantém o Windows em dual boot, ou trabalha com manutenção.
Imagine a praticidade de dar boot através de um live-CD, montar a partição do Windows e usar o
ClamAV para remover os vírus ;).

Acesso a redes Windows

Mesmo no Linux, você pode acessar compartilhamentos de rede nas máquinas Windows da rede e criar
novos compartilhamentos usando o Samba. Ele é dividido em dois módulos: o cliente, usado para acessar
os compartilhamentos, e o servidor, usado para compartilhar arquivos com as outras máquinas da rede.

O cliente Samba pode ser encontrado pré-instalado na maioria das distribuições (incluindo o Kurumin).
Nas demais, ele pode ser instalado através do pacote "smbclient" ou "samba-client". O servidor por outro
lado tem uma configuração mais complicada e em geral não é instalado por padrão, para evitar qualquer
possibilidade de problemas de segurança.

O smbclient é uma espécie de biblioteca, que pode ser usada por outros programas. Existem diversos
clientes Samba, escritos nas mais variadas linguagens, mas o funcionamento de todos é muito similar.

O próprio Konqueror pode ser usado para acessar os compartilhamentos. Para isso, use o endereço
"smb://ip_do_servidor", como em: smb://172.20.0.2. Ao acessar um compartilhamento no Windows XP e
2000 você precisa fornecer uma conta e senha de usuário para acessar. Será aberta uma janela pedindo o
login e senha do servidor. Opcionalmente, você pode especificar o login de acesso diretamente no
endereço, como em "smb://guest@172.20.0.2".

Uma particularidade do Konqueror é que ele não monta os compartilhamentos acessados, ele
simplesmente os acessa como se estivesse mostrando uma página web ou ftp. Você transfere arquivos
simplesmente arrastando, mas, ao clicar sobre um arquivo, ele pergunta se você quer salvá-lo no HD, ao
invés de abri-lo diretamente. Ou seja, para alterar um arquivo você precisa primeiro copiá-lo para uma
pasta do HD, editá-lo e em seguida copiá-lo de volta para o servidor. Devido a isso, o Konqueror serve
mais como uma solução rápida para transferir arquivos.

Se você quer uma solução mais completa, a melhor opção é o Smb4K, também encontrado em diversas
distribuições. No Kurumin você encontra o ícone para ele no "Iniciar > Redes e Acesso remoto > Redes
Windows".

Ele usa uma interface bastante simples. O frame do lado esquerdo mostra os grupos, micros e
compartilhamentos disponíveis. Ao clicar sobre um dos compartilhamentos, ele é montado numa pasta
dentro do seu diretório home, de forma que você possa abrir e modificar os arquivos (e não apenas copiar,
como no Konqueror).
Os compartilhamentos montados são mostrados no frame do lado direito. Clicando sobre eles, é aberta
uma janela do gerenciador de arquivos, exibindo os arquivos. Na parte inferior da tela, você encontra um
conjunto de abas que mostram as propriedades do compartilhamento.

Novamente, temos a questão da autenticação. Por padrão, o Smb4K tenta usar o mesmo login e senha que
você usou para fazer login no seu micro. Se a máquina Windows tiver este mesmo login cadastrado, você
acessa diretamente, caso contrário é mostrada uma janela pedindo login e senha.

Se você usa senhas diferentes para acessar diferentes micros da rede, clique com o botão direito sobre o
compartilhamento ou o micro e use a opção "Autenticação". Isso permite definir e salvar um login e
senha distintos para cada um, sem precisar digitar de novo a cada acesso.
Numa redes Windows, os clientes se comunicam através de pacotes de broadcast (pacotes enviados
simultaneamente para todos os micros da rede), que são usados para descobrir quais micros e servidores
estão ativos e quais compartilhamentos cada um está disponibilizando. Para agilizar a tarefa, existe o
"master browser", um cargo assumido automaticamente por um dos micros, que passa a escanear a rede e
gerar uma lista dos compartilhamentos ativos, que é enviada aos demais micros da rede. Quando o master
browser está disponível, os clientes Windows pegam a lista dos compartilhamentos com ele, caso
contrário usam os pacotes de broadcast.

Se você tiver um servidor Samba ou um servidor Windows NT/2000/2003 disponível na rede, ele
assumirá automaticamente o papel de master browser. Você pode então configurar o Smb4K para pegar a
lista dos compartilhamentos diretamente com ele, ao invés de usar o processo tradicional. Para isso,
acesse o "Configurações > Configurar Smb4K > Rede > Lista de Navegação" e indique o IP do servidor
na opção "Consultar um master browser para obter a lista de navegação".

Caso tenha problemas para ver a lista dos compartilhamentos, experimente a opção "Usar smbclient" ao
invés da "Usar nmblookup" dentro da seção "Busca na rede".

Sempre que é aberto, o Smb4K fica residente na forma de um ícone ao lado do relógio. Se quiser que ele
seja aberto automaticamente junto com o KDE, arraste o ícone para ele que está no iniciar para dentro da
pasta "/home/$USER/.kde/Autostart/". Todos os ícones colocados dentro desta pasta são iniciados
automaticamente durante a abertura do KDE. Você pode digitar o endereço assim mesmo no Konqueror.
O "$USER" é uma variável de sistema que é substituída automaticamente pelo login de usuário que você
está usando.

Para simplificar ainda mais as coisas, você pode configurá-lo (o Smb4K) para lembrar os
compartilhamentos acessados e montá-los automaticamente ao ser aberto. Para isso, acesse novamente o
menu de configuração e marque a opção "Remount recently used shares on program start".
Uma terceira opção de cliente é o LinNeighborhood. Ele é um programa bem mais antigo e menos
amigável que o Smb4K, mas ainda assim usado como programa cliente padrão em muitas distribuições.
Já que estamos com a mão na massa, não custa aprender a trabalhar com ele também.

Ele não vem pré-instalado nas versões recentes do Kurumin, mas você pode instalá-lo via apt-get:

# apt-get install linneighborhood

O comando para chamá-lo via terminal é novamente "linneighborhood".


Se ao abrir ele não mostrar a lista dos compartilhamentos da rede, clique em "editar > outros browsers
mestre" e adicione o endereço de algumas das outras máquinas da rede.

Se os compartilhamentos estiverem disponíveis com controle de acesso por usuário


(o que é o default no Windows NT/2000/XP), os compartilhamentos não aparecerão
imediatamente, clique com o botão direito sobre o grupo e acesse a opção "scan
group as user". Assim como no Smb4K, você pode utilizar um login diferente em
cada host ou em cada compartilhamento se necessário.

Depois de devidamente identificado, você será capaz de ver os compartilhamentos


disponíveis na rede. Toda a configuração do linneighborhood é feita com o seu
próprio login de usuário, não há necessidade de usar o root.
Para que os compartilhamentos fiquem acessíveis, falta apenas montá-los. Clique
sobre um compartilhamento e selecione a opção "mount". A opção "Mount point"
determina em qual pasta os arquivos ficarão disponíveis (ele usa por padrão uma
pasta dentro do seu home) e as opções "SMB User" e "SMB Password" especificam
o login e senha que serão usados para montar o compartilhamento.
A opção "Run File Manager after Mounting" faz com que ele abra uma janela do
gerenciador de arquivos depois de montar, assim como faz o Smb4K. Para que esta
última opção funcione, é preciso configurar qual gerenciador de arquivos será
usado nas preferências.

Para que os compartilhamentos sejam montados automaticamente, clique em "Edit


> Preferences" na tela principal do linneighborhood para acessar o menu de
configuração e, na aba "Miscellaneous", marque a opção "Memorize Mounted
Shares / Remount on Next Startup".

Na aba "Scan" você pode editar mais algumas opções caso necessário. Você pode,
por exemplo, indicar manualmente o IP ou nome do servidor com a função de
master browser, o que agiliza um pouco a navegação na rede. Se você estiver
tendo problemas para visualizar os compartilhamentos da rede, coloque o endereço
do servidor de arquivos da rede (Samba ou Windows, tanto faz) neste campo e
provavelmente o problema será resolvido.
Criando compartilhamentos

Ao contrário do cliente, que é relativamente simples de usar, o servidor Samba é um software bem mais
complexo, destinado não apenas a oferecer todos os recursos dos servidores de arquivos Windows, mas a
superá-los em vários aspectos, incluindo opções pouco comuns, melhor segurança e desempenho. Isso faz
com que a configuração do Samba não seja nenhum exemplo de simplicidade, com vários macetes e
opções pouco conhecidas. É por isso que existem tantos livros dedicados a ele ;).

Mas, para não perdermos o fio da meada, vou me limitar a ensinar como criar uma configuração básica,
suficiente para compartilhar arquivos com a rede local, sem muita segurança. Abordo a configuração do
Samba com mais detalhes no livro Redes e servidores Linux.

O primeiro passo é instalar o servidor Samba propriamente dito. No Kurumin e em outras distribuições
derivadas do Debian, basta instalar o pacote "samba" através do apt-get. Em outras distribuições, o pacote
pode ser chamar "samba-server".

# apt-get install samba

O Samba é originalmente configurado através do arquivo "/etc/samba/smb.conf". O configurador mais


"tradicional" é o swat, mas o KDE oferece um utilitário muito mais simples, incluído no "Centro de
Controle > Internet e Rede > Configuração do Samba". Se a opção não estiver disponível, verifique se o
pacote "kdenetwork-filesharing" (ou apenas "kdenetwork", em outras distribuições) está instalado.

Clique no "Modo Administrador" e forneça a senha de root. Isto é necessário, pois ele precisa das
credenciais para fazer as alterações necessárias no sistema.

Na aba "Configuração Base", defina o grupo de trabalho usado na rede e o nome do seu micro na rede
(Nome NetBIOS). Você pode também editar a descrição do servidor, que será visto pelos clientes como
parte do nome.
A configuração mais importante vai na opção "Nível de Segurança", que determina a forma como o
Samba controlará o acesso aos compartilhamentos.

Se você quer apenas criar alguns compartilhamentos públicos, para permitir que outros micros da rede
acessem alguns arquivos, sem se preocupar com permissões e logins de acesso, use a opção
"Compartilhamento" (Share), que simplesmente permite que todos os micros da rede local acessem os
compartilhamentos, como se estivesse usando uma máquina com o Windows 98.

Se quiser mais segurança, use a opção "Usuário" (user), que utiliza um nível de segurança similar ao do
Windows 2000 e XP, onde apenas usuários autorizados podem acessar os compartilhamentos. Neste caso,
você vai ter o trabalho de cadastrar todos os logins e senhas que serão usados para acessar os
compartilhamentos e depois ativá-los no Samba.

Comece criando os logins usando o "users-admin" ou manualmente através do comando "adduser".


Depois de criar os usuários no sistema, acesse a aba "usuários" do painel e adicione os usuários criados no
campo "Usuários Samba". A lista "Usuários UNIX" mostra todos os usuários cadastrados no sistema,
incluindo os usuários ocultos (por isso que é tão grande), mas você só precisa se preocupar com os
usuários que adicionou.
Quando alguém tentar acessar seus compartilhamentos a partir de uma máquina Windows, o Samba
verificará se o login que está sendo usado no Windows bate com alguma das contas cadastradas. Se bater,
ele autoriza o acesso aos arquivos, caso contrário a pessoa verá o prompt para inserir um usuário e senha
válidos.

Finalmente, falta criar os compartilhamentos propriamente ditos, usando a aba "Compartilhamentos". No


campo "Localização" vai o caminho completo da pasta que está sendo compartilhada, e no "Nome", o
nome do compartilhamento na rede. Se quiser que os outros possam alterar o conteúdo da pasta e
adicionar novos arquivos, desmarque a opção "Somente Leitura".

A opção "Público" permite que todo mundo tenha acesso à pasta, o que é o padrão ao usar o nível de
segurança no nível "Compartilhamento". Ao usar o nível de segurança "Usuário", configure as permissões
de acesso na aba "Usuários". Você pode definir individualmente quem pode acessar, quem não pode e
quem pode acessar em modo somente leitura. Na aba "Segurança" você pode também especificar
individualmente máquinas que terão ou não acesso ao compartilhamento, baseado no nome ou no
endereço IP.

Combinando as permissões de acesso baseadas nos logins de acesso e nomes das máquinas, você pode ter
um controle bastante estrito de quem pode ou não acessar cada pasta.

Naturalmente, quanto mais estritas as permissões, mais trabalhosa fica a configuração e maior é a
possibilidade de erros. Uma coisa que você deve prestar atenção, sobretudo ao usar o nível de segurança
em modo compartilhamento, são as permissões de acesso da pasta no sistema.

O Samba é um programa que roda com privilégios limitados. Quando alguém tenta acessar um arquivo, o
Samba decide entre autorizar ou não o acesso com base nas suas configurações, e depois tenta acessar o
arquivo no sistema. Como o Samba está sujeito às permissões de acesso dos arquivos, podem acontecer
casos em que esteja tudo correto nas configurações do Samba, mas você não consiga acessar, ou não
consiga alterar os arquivos num compartilhamento porque as permissões de acesso da pasta não
permitem. Antes de mais nada, experimente abrir as permissões da pasta compartilhada, dando permissão
de leitura e escrita para todo mundo. Se resolver, vá restringindo novamente as permissões, até que
fiquem da maneira como você quer, mas sem comprometer o acesso do Samba.

Ao terminar, clique no "Aplicar" para salvar as configurações no arquivo "/etc/samba/smb.conf". Na


verdade, o painel serve simplesmente como uma interface para editar este arquivo e cadastrar os usuários.

O Samba atualiza as configurações em relação ao arquivo de configuração periodicamente, a cada 30


segundos. Para acelerar as coisas, fazendo com que as alterações entrem em vigor imediatamente, você
pode reiniciar o Samba manualmente, usando o comando:

# /etc/init.d/samba/restart

Compartilhamentos em NFS

Uma forma fácil de compartilhar arquivos com outras máquinas Linux é utilizar o protocolo NFS, muito
mais simples de trabalhar que o Samba. O Kurumin inclui dois ícones, para ativar ou desativar o servidor
NFS e para acessar compartilhamentos de outras máquinas, disponíveis no menu "Redes e Acesso
Remoto > NFS".

Imagine que você tenha duas máquinas, uma com o IP 192.168.0.1 e a outra com o 192.168.0.2. A
192.168.0.1 tem uma partição no HD cheia de filmes em Divx que você quer assistir na máquina
192.168.0.2.

Em primeiro lugar você monta a partição com os vídeos, clicando sobre o ícone no desktop. Depois clica
no "NFS (Configurar um servidor de arquivos NFS)".

Preencha os campos com a pasta que será compartilhada, os endereços IP que terão acesso a ela (o * é um
curinga, que diz que todos os micros dentro da faixa 192.168.0.x terão acesso) e se o compartilhamento
será apenas leitura, ou leitura e escrita.
No final, o script vai abrir o arquivo "/etc/exports", onde fica a lista das pastas compartilhadas com a
rede, de forma que você possa conferir a entrada adicionada. Você pode compartilhar várias pastas
diferentes e com permissões diferentes, basta criar vários compartilhamentos.

Você pode substituir o "*" pelo IP da máquina que acessará o compartilhamento e o "ro" por "rw" que
compartilhará a pasta com permissão de escrita. Basta salvar o arquivo e a pasta estará compartilhada até
que você clique no "NFS - Desativar servidor"

No cliente (a máquina 192.168.0.2, no exemplo), você precisa apenas clicar no "NFS (Acessar um
compartilhamento NFS)". Preencha os campos com o endereço IP do servidor, a pasta que ele está
compartilhando (/mnt/hda6 no exemplo) e a pasta local onde este compartilhamento ficará disponível,
como por exemplo "/mnt/nfs/".
Pronto, agora é só acessar a pasta e você poderá assistir seus filmes através da rede. O NFS é um
protocolo bastante simples e leve, por isso ele quase não degrada o desempenho da máquina ao acessar
arquivos pela rede.

O script monta o compartilhamento e abre uma janela do Konqueror mostrando os arquivos. Ao fechar a
janela, o compartilhamento é desmontado automaticamente. Marcando a opção "Criar um ícone no
desktop e adicionar uma entrada no fstab", é criado um ícone no desktop, que permite montar o
compartilhamento posteriormente, mesmo reiniciando o micro. Para desmontar, clique com o botão
direito sobre ele e use a opção "desmontar".

Se o seu servidor de arquivos fica sempre ligado e você prefere que o compartilhamento seja montado
automaticamente durante o boot (só faça isso se o servidor vá ficar sempre ligado), abra o arquivo
"/etc/fstab" (como root) e modifique a linha referente ao compartilhamento, retirando a opção "noauto".
A linha originalmente será como esta:

# Acessa compartilhamento de rede nfs, adicionado pelo nfs-montar:


192.168.1.100:/mnt/hda6 /mnt/nfs nfs noauto,users,exec 0 0

E depois da alteração ficará assim:

# Acessa compartilhamento de rede nfs, adicionado pelo nfs-montar:


192.168.1.100:/mnt/hda6 /mnt/nfs nfs users,exec 0 0

Utilitários de Sistema
O menu de utilitários de sistema (Iniciar > Sistema) reúne um conjunto de utilitários úteis, incluindo
ferramentas de particionamento, backup e um conjunto de scripts e ferramentas de configuração. Alguns
podem ser encontrados também dentro do Painel de Controle, outros estão disponíveis somente aqui.

Na pasta "Particionamento", você encontra os atalhos para o Gparted e o Cfdisk, que comentei durante o
capítulo de instalação. Na pasta "Impressora", você encontra atalhos para o kaddprinterwizard (adicionar
impressora), o printmgr, o kjobviewer, onde você pode gerenciar as impressoras instaladas e gerenciar os
trabalhos de impressão (e remover aquele livro de 200 páginas que você mandou imprimir por engano ;),
e o printconf, um script que detecta automaticamente novas impressoras instaladas.

Na aba "Backup", você encontra o Partition Image e o Konserve, dois utilitários de backup. O Partition
Image permite fazer imagens das partições, de forma a salvar, recuperar ou clonar as partições atuais. Ele
é extremamente útil tanto nos momentos em que quiser fazer um backup completo do sistema, quanto
quando precisar clonar a instalação do sistema, instalando-o em vários micros.

Ele pode ser usado com o Kurumin rodando direto do CD. O backup com a imagem da partição pode ser
salvo tanto numa outra partição do HD (você deve montá-la antes, ativando a permissão de escrita)
quanto via rede, numa pasta compartilhada via NFS. São copiados apenas os dados dentro da partição que
em seguida são comprimidos em gzip ou bzip2 (o bzip2 comprime um pouco mais, mas é mais lento).
Uma partição de 5 GB, com 3 GB ocupados vai gerar um arquivo de em média 1 GB. Não o subestime
por causa da interface em modo texto, o Partition Image é um dos programas mais usados na área,
competindo diretamente com o Norton Ghost.

O Konserve por sua vez é um utilitário bem mais simples, que permite fazer backup de pastas específicas.
Você define as pastas, aonde será feito o backup e sua periodicidade, e ele faz o resto.

A pasta "Ferramentas do KDE" agrupa um conjunto de pequenos utilitários e plugins do Konqueror que
são úteis em várias situações. O "Gerenciar e Instalar Novas Fontes" (fonts:/System/truetype no
Konqueror) permite gerenciar e instalar novas fontes TrueType, simplesmente colocando os arquivos
dentro da pasta. Você pode instalar as fontes do Windows (que ficam na pasta C:\Windows\Fonts) ou
fontes incluídas em programas diversos. As fontes são um componente importante, pois permitem que
páginas web e documentos sejam exibidos corretamente. Ter as fontes necessárias instaladas melhoram
bastante o nível de compatibilidade do OpenOffice com os arquivos do Office, por exemplo.

Para administração remota, você pode utilizar o "Compartilhamento de Desktop" (krfb), que pode ser
acessado pelo "Conexões em Ambiente de Trabalho Remoto" ou por qualquer cliente VNC, seja no
Linux, Windows ou OS X. Ao contrário do servidor VNC for Linux, que cria uma nova seção do X, o
Compartilhamento de desktop compartilha a tela local, a que o usuário está vendo, servindo como uma
boa opção para quem trabalha com suporte ou em situações onde você precisa ajudar algum amigo
remotamente.

O "Guarda do Sistema KDE" (ksysguard) mostra uma lista com os programas que estão rodando, junto
com a quantidade de memória utilizada por cada um e outras informações. Você pode usá-lo também para
finalizar programas.

O "Centro de Informações" (kinfocenter) mostra várias informações sobre o hardware da máquina,


desde coisas básicas como a quantidade de memória, partições do HD e processador, até os canais de I/O
e IRQ usados e a identificação de todos os componentes instalados. Através dele, você vai saber que o
micro tem uma placa de vídeo GeForce4 MX 400, uma placa de som Sound Blaster Live, rede Realtek
8139C e um Modem Agere SV92, por exemplo.

Se você quiser ver uma lista dos pacotes instalados no Kurumin, abra o "Gerenciador de Pacotes"
(kpackage). Se o Kurumin estiver instalado no HD e você já tiver rodando o comando "apt-get update" ou
clicado no ícone "Atualizar lista de pacotes" ele também mostrará uma lista com todos os pacotes
disponíveis no repositório do Debian, que podem ser instalados via apt-get. Outro utilitário útil para
gerenciar os programas instalados é o "kmenuedit", que permite editar o menu iniciar do KDE.

Na pasta Scripts você encontra um utilitário que pode se revelar o mais útil, o "remasterizar-kurumin".
Ele permite remasterizar o CD do Kurumin, adicionando mais programas e arquivos, alterando as
configurações e assim por diante. Ele é uma ferramenta valiosa para desenvolver soluções personalizadas
utilizando o Kurumin como base. Que tal um firewall ou um sistema para os quiosques que a sua empresa
vai implantar no Shopping, que roda direto do CD?

Você também pode usá-lo para fazer pequenas modificações no seu CD do Kurumin, incluindo
programas como o Gimp, Mozilla, OpenOffice ou o que mais você precisar usar no dia-a-dia.

O script descompacta o conteúdo da imagem do sistema numa pasta do HD, permite que você faça
alterações (como instalar ou remover programas através do apt-get, ou alterar as configurações do
sistema) e depois gera um novo ISO com as alterações. Naturalmente, a qualidade do resultado final
depende unicamente de você, o script apenas automatiza as partes mecânicas do processo.

No menu "Gnome System Tools", você encontra um conjunto de utilitários que originalmente foram
desenvolvidos no Red Hat, depois incluídos no Fedora e (com modificações) no Mandriva, até finalmente
serem portados para o Debian. O conjunto inclui:

network-admin (configuração da rede): Esta é uma ferramenta alternativa para configurar a rede. Ao ser
aberto, ele detecta as placas de rede (incluindo placas wireless) e modems instalados, e mostra um menu
separado para cada um. Note que ele se limita a exibir as placas e modems que já foram detectados e
ativados, ele não é capaz de detectar sua placa wireless ou modem por si só.

boot-admin (configuração do lilo): Facilita a configuração do lilo, permitindo trocar o sistema padrão e
incluir novas entradas. A configuração é automaticamente salva no arquivo "/etc/lilo.conf".

disks-admin (disks): Permite ver e montar as partições disponíveis no HD, substituindo os ícones no
"Meu Computador" ou a montagem manual. Ele se limita a mostrar as partições existentes; para fazer
alterações você deve usar o Gparted.
time-admin (data e hora): É uma forma alternativa de ajustar a hora e fuso horário do sistema. Você pode
fazer isso também usando o "kcmshell --clock" do KDE, clicando com o botão direito sobre o relógio.

shares-admin (pastas compartilhadas): Permite criar e desativar compartilhamentos de rede.


Originalmente, ele permite apenas criar compartilhamentos NFS, mas passa a incluir também
compartilhamentos do Samba, caso o servidor esteja instalado. Você pode instalar o servidor Samba no
Kurumin usando o ícone mágico.

users-admin (usuários e grupos): Este é provavelmente o utilitário mais útil do conjunto, o utilitário para
gerenciar usuários e grupos que comentei no capítulo sobre a instalação do sistema.

Lembre-se de que o Linux é um sistema multiusuário, sempre que permitir que alguém use seu micro,
você pode criar um usuário separado, impedindo que o visitante danifique seus arquivos ou a
configuração do sistema. O mesmo se aplica quando quiser dar acesso via SSH para alguém ou criar
compartilhamentos usando o Samba. Utilize um usuário separado também quando precisar executar
algum problema suspeito, assim você limita os danos caso ele contenha qualquer código malicioso.

Configurando o KDE

O KDE não é apenas uma interface gráfica, mas sim o que podemos chamar de
"desktop", um conjunto de bibliotecas, aplicativos, além de ferramentas de
configuração e desenvolvimento que oferecem um ambiente completo, tanto para
quem quer apenas usar o sistema, quanto para quem desenvolve aplicativos.

O KDE é baseado na biblioteca Qt, desenvolvida pela TrollTech. Em 1997, quando o


KDE começou a ser desenvolvido, a biblioteca Qt era de uso gratuito, mas não tinha
o código aberto, o que gerou uma grande polêmica e levou ao surgimento do
Gnome, baseado na biblioteca GTK, a mesma usada por programas como o Gimp.

Com o crescimento do KDE e a possibilidade de formar uma grande comunidade de


desenvolvedores, que impulsionariam o desenvolvimento e o uso da sua biblioteca,
a Qt resolveu liberar o Qt sob a GPL em Setembro de 2000, o que removeu este
entrave inicial. O Gnome continuou sendo desenvolvido, mas agora com o objetivo
de ser uma interface mais fácil de usar, e não como um concorrente "livre" ao KDE,
já que agora ambos são :).

Quanto ao número de usuários, não existem muitas estatísticas confiáveis, mas o


KDE parece ter um número bem maior de usuários. Uma pesquisa realizada pelo
desktoplinux.com no início de 2005
(http://www.desktoplinux.com/articles/AT2127420238.html) fala em 61% para o
KDE e 21% para o Gnome. O Gnome é aparentemente mais usado nos EUA, pela
predominância de distribuições como o Fedora e o Ubuntu, enquanto o KDE parece
ser mais popular no restante do mundo, incluindo o Brasil.

As configurações do KDE são organizadas num programa central, o Kcontrol


(Centro de Controle do KDE). À primeira vista, o Kcontrol parece simples. Do lado
esquerdo da tela temos uma lista dos módulos disponíveis, organizados em
categorias. Clicando em qualquer um, você tem acesso às opções no frame do lado
direito.

Caso tenha dúvidas sobre um determinado módulo, você pode clicar na aba "Help"
que exibe a ajuda. Os módulos mais simples possuem apenas um texto curto
explicando para que servem, mas alguns possuem manuais bem completos. Vale a
pena dar uma olhada.
Este é um tópico "light" dentro deste capítulo, onde vou falar sobre algumas
configurações disponíveis. O Kcontrol tem vários quartos escuros e passagens
secretas, então, mesmo que você já use o sistema a algum tempo, é provável que
você não conheça muitas das opções.

Por exemplo, existem dois modos de exibição para as opções dentro do Painel, em
Árvore ou em Ícones, que você define na opção "Ver > Modo", na janela principal.
Como são muitas opções, muita gente prefere o modo de exibição em ícones, onde
ao clicar sobre uma seção você passa a ver apenas as opções referentes a ela. Você
pode definir também o tamanho dos ícones e definir atalhos de teclado para estas
opções.

Aqui vai um resumo de algumas opções importantes:

Administração do Sistema: Algumas partes desta seção podem ser acessadas


apenas pelo root, já que alteram aspectos sensíveis do sistema. Para ter acesso a
elas, clique no botão "Modo Administrador".

A seção "Gerenciador de Login" permite configurar a tela de login do sistema,


alterando as cores, papel de parede, etc. É aqui que você pode também ativar ou
desativar o auto-login, o recurso usado no Kurumin para que o KDE seja aberto
diretamente durante o boot. Se preferir, você pode desativar isso, fazendo com que
o Kurumin passe a pedir login e senha, como em outras distribuições e vice-versa.

A seção "Data e Hora" permite ajustar a hora e o fuso horário do sistema, a mesma
função que pode ser acessada clicando com o botão direito sobre o relógio. O
módulo "Instalador de Fontes" permite que você instale fontes truetype que
passam a ser usadas automaticamente pelos programas instalados. Ele é bem
simples de usar, clique no "Adicionar Fontes", indique a pasta e onde estão as
fontes, selecione os arquivos e clique no botão de ok.

Você pode tanto instalar as fontes logado como usuário normal, de modo que elas
fiquem disponíveis apenas para o seu login, ou como root, tornando-as disponíveis
para todos os usuários. Não é difícil encontrar vários sites que disponibilizam fontes
por aí. Você também pode copiar as pastas de fontes do Windows
(c:\Windows\Fonts) ou de programas como o Corel Draw.

Instalar as fontes do Windows permite que os documentos escritos no Microsoft


Office sejam exibidos com formatação perfeita no OpenOffice, por exemplo, pois
você terá instaladas as mesmas fontes que o autor original usou.

As fontes ficam automaticamente disponíveis para os navegadores e também para programas como o
OpenOffice (caso esteja instalado). Você pode também usar as novas fontes para personalizar o visual do
sistema, acessando a seção Aparência > Fontes do Centro de Controle do KDE.

A partir do KDE 3.3 existe uma forma ainda mais simples de instalar novas fontes. Abra uma janela do
Konqueror e digite "fonts:/" na barra de endereços. Você verá duas pastas: "Pessoal" e "System". Para
instalar novas fontes, você só precisa arrastar os arquivos para dentro de uma das pastas para que elas
sejam automaticamente reconhecidas pelo sistema, como você faz no Windows ao copiar novas fontes
para a pasta "c:\Windows\Fonts".

Copiando as fontes para a pasta Pessoal, você faz uma instalação particular, válida apenas para o seu
usuário. Copiando para a pasta System, você instala de uma vez para todos os usuários cadastrados no
sistema. Neste caso, o Konqueror vai pedir a senha de root.
Para que as fontes fiquem disponíveis também dentro do OpenOffice, copie os arquivos para dentro da
pasta "System/truetype/openoffice".

Aparência & Temas: Esta é provavelmente a área mais acessada do kcontrol.


Parece que todo mundo gosta de personalizar o seu desktop e o KDE oferece uma
grande flexibilidade neste sentido. Você pode alterar a decoração das janelas, o
tamanho da barra de tarefas, o conjunto de ícones do sistema e assim por diante.

Lembre-se de que existem centenas de conjuntos de ícones, papéis de parede,


conjuntos de sons de sistema, etc. que você pode baixar no http://www.kde-
look.org.

Para instalar um conjunto de ícones, baixe o arquivo .tar.gz (neste caso um simples
arquivo compactado contendo os ícones e não um pacote com código fonte), acesse
a seção "Ícones" e clicar no "Instalar Tema". A partir daí você pode escolher qual
tema usar na lista. A maioria das distribuições usa o tema "Crystal SVG", um
conjunto de ícones bonito e neutro, que agrada a maioria. Outros temas populares
são o Crystal Clear, o Nuvola e o Noia. No kde-look existe até um tema que imita
os ícones do Windows 2000 (gosto não se discute, se lamenta ;).

O Wallpaper é a personalização mais simples. Para alterar vá em "Fundo de Tela > Papel de Parede". O
KDE suporta imagens em vários formatos, incluindo jpg, gif, png e bmp. Você pode usar também a opção
"show de slides", onde você aponta uma pasta com várias imagens e ele troca periodicamente. Você pode
ter um papel de parede diferente a cada minuto, por exemplo.

Nos menus Cores, Fontes, Estilo, Painéis e Decoração de Janela, você pode configurar várias opções
relacionadas ao visual do sistema. A "Decoração da Janela" é a moldura com a barra de arrastar e os
ícones para maximizar, minimizar e fechar usada em todas as janelas abertas. Você pode trocar essa
moldura por outra com ícones parecidos com os do Windows ou MacOS X, por exemplo. O estilo
determina a aparência dos botões, barras de rolagem e outros componentes da tela. Os dois mais usados
são o Plastik e o Lipstik. Existe até um tema particularmente feio, que tenta imitar o visual do Windows
9x ;).
Por padrão, o Kurumin vem com apenas dois protetores, o Flux e o Show de Slides (que exibe as imagens
de uma pasta escolhida por você), mas você pode obter um conjunto mais completo instalando o pacote
"kscreensaver", pelo apt-get.

A "Tela de Apresentação", aquela tela com o logo do Kurumin que aparece durante a abertura do KDE, é
na verdade um conjunto de imagens que fica na pasta "/usr/share/apps/ksplash/pics/". Assim como no
caso dos ícones, você pode baixar novos temas no kde-look e instalá-los usando a opção "Tela de
Apresentação > Adicionar".

Área de Trabalho: Nesta seção estão opções relacionadas à barra de tarefas,


menu iniciar e ao comportamento das janelas. Por exemplo, no Windows, um clique
duplo sobre uma janela faz com que ela seja maximizada, enquanto, no Konqueror,
o padrão é ocultar a janela, deixando apenas a barra de títulos, um comportamento
natural para quem está acostumado com outros gerenciadores de janela, mas bem
estranho para quem vem do Windows. Você pode alterar isso na opção
"Comportamento de Janela > Ações". Para ficar como no Windows, configure a
opção "Clique duplo na barra de títulos:" como "Maximizar".

Veja que você pode definir funções para os outros botões. Na configuração padrão,
o botão do meio serve para minimizar a janela.
Um recurso interessante oferecido não apenas pelo KDE, mas pelas interfaces do
Linux em geral são os desktops virtuais. Cada desktop funciona como uma área
independente e você pode alternar entre eles usando atalhos de teclado.

No KDE você pode alternar entre as áreas de trabalho virtuais pressionando Ctrl +
uma das teclas de função, da F1 à F12, como em Ctrl+F2 (para mudar para o
segundo desktop), Ctrl+F1 (para voltar para o primeiro), etc. Para enviar um
programa aberto para outro desktop virtual, clique sobre a barra com o botão
direito do mouse e use a opção "Para o ambiente...".

Os desktops virtuais permitem organizar melhor os programas abertos e alternar


entre eles com mais facilidade. Você pode organizar os programas "por tema", por
exemplo, deixar todas as janelas do navegador no primeiro desktop, as janelas do
editor de textos e o leitor de e-mails no segundo e assim por adiante.

Você pode ajustar o número de desktops virtuais através da opção "Múltiplas Áreas
de Trabalho". Uma observação é que cada desktop virtual faz com que o sistema
passe a consumir entre 2 e 4 MB a mais de memória RAM (de acordo com a
resolução de vídeo usada), o que pode ser um problema em micros com 256 MB ou
menos.
Como um complemento, você pode incluir o pager na barra de tarefas. Ele é um
applet que permite alternar entre as áreas de trabalho. Para incluí-lo, arraste o
campo onde aparece a lista de janelas um pouco para a direita e clique com o botão
direito sobre a área vazia. No menu, clique no "Adicionar > Mini aplicativo >
Pager".

Existem um conjunto de outros applets que podem ser adicionados da mesma


forma. Vale à pena perder um pouco de tempo testando as opções disponíveis :).
Um que acho particularmente interessante é o Kweather (apt-get install kweather),
que mostra a temperatura, velocidade do vento e outras informações
meteorológicas e um ícone que mostra se o tempo está nublado ou chuvoso na sua
cidade.

Voltando ao Kcontrol, você encontra mais opções de personalização da barra de


tarefas, incluindo seu tamanho, pano de fundo (a barra pode ficar transparente, ou
usar uma imagem qualquer como fundo), entre várias outras configurações na
opção "Painéis". Você pode até mesmo ativar uma segunda barra de tarefas,
exibida no topo da tela, como usado no Gnome e no MacOS.

Componentes do KDE: Esta seção concentra algumas opções "Avançadas"


relacionadas ao funcionamento do KDE. A mais importante é provavelmente a
seção "Associações de Arquivos", onde você define quais programas serão usados
para abrir quais extensões de arquivos. Você pode atribuir a mesma extensão para
dois ou mais programas e definir uma ordem de prioridade, onde o primeiro abre os
arquivos por default, mas você pode escolher um dos outros clicando com o botão
direito sobre o arquivo.

Muitos programas alteram as associações padrão ao serem instalados assumindo a


posse dos formatos de arquivos que suportam, mas você pode sempre alterar as
configurações, além de criar novas associações de arquivos através do Painel.

O KDE usa o Ispell como corretor ortográfico. O mesmo corretor é usado em vários
programas do KDE, incluindo o Konqueror, Kedit, Kword e outros. O corretor entra
em ação até mesmo ao postar uma mensagem num fórum ou blog, grifando em
vermelho as palavras incorretas.

Se esta opção não estiver habilitada por padrão, clique com o botão direito sobre o
texto escrito, dentro do Konqueror e marque a opção "Verificar ortografia
automaticamente". A grande limitação é que o corretor não é integrado ao
OpenOffice, de forma que você fica com dois corretores diferentes, cada um usando
uma lista de palavras própria.

Na opção "Gerenciador de arquivos" existem algumas opções referentes ao


Konqueror, como as fontes usadas e os tipos de arquivos para os quais ele exibe
previews. Na opção "Performance do KDE" existe um item importante, relacionado
ao uso de memória. Selecione a opção "Minimizar uso de memória > Nunca" se
você tem 256 MB de RAM ou mais, isso melhora o desempenho geral do KDE e
evita alguns problemas esporádicos.

Controle de Energia: Esta seção é especialmente útil para quem usa um


notebook, pois permite ativar o medidor de bateria e configurar várias opções
relacionadas à economia de energia, como ajustar a freqüência do processador e
brilho da tela, de acordo com o status da bateria. A maioria das opções só ficam
habilitadas depois de clicar no "Bateria do Laptop > Configurar ACPI > Definir
Aplicação Auxiliar". Esta opção ativa o suporte a ACPI, carregando os módulos de
Kernel apropriados.

Ao usar um notebook, é importante usar uma distribuição atual, com um Kernel


recente, pois esta é uma área em que o sistema tem evoluído rapidamente nos
últimos meses. Por exemplo, o HP nx6110 é, a partir do Kernel 2.6.13, um dos
notebooks melhor suportados no Linux: tudo funciona, incluindo o suporte a 3D, a
placa wireless (usando o Ndiswrapper), o ajuste da freqüência do processador,
suspender, e até mesmo o softmodem que vem onboard. Porém, ao usar uma
distribuição com um Kernel apenas um pouco mais antigo, nem o 3D, nem o
modem, nem o suspender funcionam corretamente.

Internet & Rede: Esta seção concentra opções relacionadas à configuração da


rede. A opção "Compartilhamento de Arquivos" permite criar compartilhamentos de
rede Samba e NFS (os dois simultaneamente) de uma forma simples.
Naturalmente, para compartilhar arquivos com máquinas Windows, é preciso que o
servidor Samba esteja instalado.

A opção "Compartilhamento do desktop" abre a tela de configuração do krfb, que


permite compartilhar a imagem do desktop com outras máquinas da rede, para fins
de suporte, enquanto a "Rede sem fio" mostra a configuração do kwifimanager,
ambos disponíveis através do iniciar.

As opções "Navegador Web", "Navegação em Rede Local" e "Proxy" estão


relacionadas ao Konqueror. A primeira contém opções diversas relacionadas ao
navegador, incluindo as opções de cache e relacionadas à segurança. A segunda
permite configurar um usuário e senha padrão para serem usados ao visualizar os
compartilhamentos de outras máquinas da rede ao usar o módulo "smb:/" do
Konqueror. A última contém a configuração de proxy, caso você esteja dentro de
uma rede que utilize um.

Periféricos: Nesta seção você encontra configurações relacionadas ao mouse,


joystick e monitor, além de poder ver e gerenciar as impressoras instaladas. Ao
contrário do que seria de se esperar, a maioria das configurações do teclado por
outro lado vão na seção "Regional e Acessibilidade". Aqui você encontra apenas as
opções de ajustar a taxa de repetição e o comportamento da tecla NumLock.

As opções para economia de energia do monitor estão escondidas dentro da opção


"Tela > Controle de Energia", onde você configura a economia de energia para o
monitor entre as opções Standby, Suspend e Power Off. Estas opções podem
desligar também o HD, caso você tenha configurado isso no setup do micro.

Um monitor de 15" consome cerca de 90 Watts de energia, então é sempre


importante fazer com que ele desligue quando o PC não estiver em uso.
Antigamente se recomendava que o monitor só deveria ser desligado quando o
micro fosse ficar sem uso por mais de uma hora, mas os modelos fabricados de uns
três anos para cá podem ser desligados mais freqüentemente sem prejuízo para a
vida útil. Você pode configurar o suspend para 5 minutos de inatividade e o Power
Off para 15 minutos, por exemplo.

No caso dos monitores de LCD, os desligamentos depois de 15 minutos de


inatividade ajudam a prolongar a vida útil do aparelho. Basicamente, a tela de um
monitor de LCD é como um chip, ela não tem vida útil definida, pode trabalhar
durante décadas sem problemas. O que queima depois de alguns anos de uso são
as lâmpadas de catodo frio que iluminam a tela. Elas têm uma vida útil estimada
pelos fabricantes em 10 mil horas (cerca de 3 anos caso fiquem ligadas 10 horas
por dia). Estas lâmpadas podem ser substituídas, mas não é exatamente um
conserto barato, então o ideal é fazê-las durar o máximo possível.

Na opção "Tela > Tamanho e Orientação", você encontra um pequeno utilitário que
permite alterar rapidamente entre as resoluções e taxas de atualização suportadas
pelo monitor. Esta opção depende da distribuição em uso ter detectado
corretamente o monitor e ter configurado corretamente o arquivo
"/etc/X11/xorg.conf". Na opção "Gama" você pode ajustar via software o brilho do
monitor, complementando as funções dos botões.

Regional & Acessibilidade: O KDE possui um projeto bastante abrangente de


internacionalização, que consiste não apenas em traduzir a interface para as mais
diversas línguas, mas também incluir suporte a diversos layouts de teclado e outras
particularidades de cada região. O suporte ao português do Brasil está entre os
mais completos, concentrado no pacote "kde-i18n-ptbr". Existem dezenas de outros
pacotes de internacionalização, você pode inclusive instalar vários e configurar a
língua padrão do sistema no "País/Região & Idioma > Localização".

Esta seção inclui também a configuração do teclado (que já vimos no começo do


capítulo) e também a configuração dos atalhos de sistema, feita através do
"Atalhos de teclado".

O KDE permite associar atalhos de teclados para a maioria das funções do sistema,
o que você configura na seção "Atalhos de Teclado". Se você é da velha guarda e
tem saudades da época do modo texto, onde tudo era feito através de atalhos de
teclado, se sentirá em casa.

Além dos atalhos de teclado relacionados às janelas e ao uso do sistema, você pode
definir atalhos para abrir programas ou executar comandos diversos na seção
"Teclas de Atalho" (ou "Ações de Entrada", dependendo da versão do KDE que
estiver utilizando). Parece estranho ter duas seções separadas para definir teclas de
atalho, mas esta divisão até que faz um certo sentido, separando os atalhos do KDE
dos atalhos "gerais" definidos para outros comandos e programas.
Por exemplo, no Windows a tecla "Print Screen" serve para tirar um screenshot da tela. No Linux você
pode usar o Ksnapshot, que não apenas oferece várias opções, mas também pode salvar diretamente a
imagem no formato de sua preferência, sem ter que colar num programa de edição de imagens e salvar
através dele. Para configurar o KDE para abrir o Ksnapshot ao pressionar a tecla Print Screen, acesse o
"Teclas de Atalho > Entradas do Editor de Menus > Nova Ação".

Dê um nome à nova ação, como "screenshot". Na aba "Gatilhos", clique em "Novo > Disparo de Atalho"
e, na janela que define o atalho de teclado, pressione a tecla Print Screen. Na aba "Ações", clique em
"Novo > Comando/URL" e coloque o "ksnapshot" como comando a ser executado.

Este utilitário permite definir atalhos bastante sofisticados, inclusive transmitindo comandos para outros
aplicativos abertos (como fazer o XMMS avançar ou retroceder a música, por exemplo). Veja a categoria
"Examples" dentro da janela para ver mais exemplos de uso.

Som & Multimídia: O KDE possui seu próprio servidor de som, o Arts. Ele
coordena o acesso à placa de som, permitindo que vários programas toquem sons
simultaneamente, mesmo que a placa de som não ofereça esse recurso via
hardware, entre outros recursos.

Apesar de ter sido um "mal necessário" durante muito tempo, o Arts é atualmente
pouco usado, pois o Alsa e consequentemente os drivers de som do Linux de uma
forma geral evoluíram bastante nos últimos anos e passaram a oferecer suporte a
múltiplos fluxos de áudio e outros recursos nativamente. O arts vem desativado por
padrão na maioria das distribuições, deixando com que os programas acessem a
placa de som diretamente. Se você tiver problemas relacionados à reprodução em
alguns programas específicos, experimente ativá-lo e marcar a opção "Suspensão
automática se ocioso por..." (configurada com "3 segundos"). Isso faz com que o
Arts fique ativo apenas quando algum programa tentar usá-lo, sem ficar
bloqueando a placa de som o tempo todo.

Ao ativar o Arts, você pode ajustar a prioridade do servidor de som e também o


tamanho do buffer de áudio (opção Buffer de Som). Você pode diminuir bastante a
utilização do processador ao ouvir música e de quebra ganhar imunidade contra
eventuais falhas nos momentos de atividade simplesmente aumentando o buffer
para 400 ms ou mais. Assim o sistema passa a contar com uma reserva maior e
pode utilizar melhor os tempos ociosos do processador para decodificar o áudio.

O KDE é capaz de ripar CDs de música nativamente. Experimente colocar um CD de


música no drive e acessar o endereço "audiocd:/" no Konqueror. Ele exibe as faixas de um CD
de áudio na forma de arquivos .mp3, .ogg e .wav, em pastas separadas. Arraste a pasta com o formato
desejado para o desktop e o CD de música é ripado e convertido automaticamente. O mesmo pode ser
feito através do Kaudiocdcreator, que oferece uma interface mais parecida com um ripador de CDs.

Em qualquer um dos dois casos, você pode ajustar a qualidade dos arquivos .mp3 ou .ogg gerados através
da opção "CDs de Áudio".

Na seção "Notificações do Sistema" estão disponíveis também as opções de avisos


sonoros e visuais do sistema de uma forma geral.

Componentes do KDE

Embora à primeira vista pareça ser um pacote único, o KDE é na verdade composto por um conjunto de
aplicativos mais ou menos independentes. O componente que mostra a barra de tarefas, onde vai o
relógio, iniciar e outros applets é o kicker. O componente que mostra os ícones, papel de parede e outros
componentes do desktop é o kdesktop, enquanto o kwin é responsável pelo gerenciamento e exibição das
janelas dos programas.

Você pode brincar um pouco com estes componentes experimentando ver o que acontece ao desativar
cada um. Pressione Alt+F2 para abrir o "Executar Comando" do KDE e execute o comando "killall
kicker".

Você vai notar que a barra de tarefas sumiu. Você não tem mais a lista de janelas e os programas
desaparecem ao serem minimizados. Pressione Ctrl+F2 novamente e execute o comando "kicker". Tudo
volta à normalidade.

Experimente fazer o mesmo com o kwin. Ao fechá-lo, as janelas ficam "grudadas" na tela, você não
consegue mais minimizar nem movê-las, mas ao reabri-lo tudo volta ao normal. Fazendo o mesmo com o
kdesktop, você vai perceber que os ícones e papel de parede do desktop desaparecem.

Às vezes acontece de um destes componentes travar (principalmente o kicker), causando os mesmos


sintomas que você acabou de ver. Nestes casos, ao invés de reiniciar o X, ou pior, reiniciar o micro, você
pode simplesmente pressionar Alt+F2 e reabrir o componente, sem prejudicar o que estava fazendo.

Você pode ver mais detalhes sobre os componentes e arquivos de inicialização do KDE aqui:
http://www.kde.org/areas/sysadmin/

Configurando teclados multimídia

Existem no mercado muitos teclados com teclas especiais, que permitem abrir o media player, ajustar o
volume, abrir o leitor de e-mails e assim por diante. Estes teclados quase sempre acompanham algum
driver ou utilitário de configuração, que naturalmente está disponível apenas para Windows. Mas, você
pode definir ações para as teclas especiais do seu teclado também no Linux, com algumas configurações
simples.

A idéia central é que todo teclado utiliza um processador de 8 bits para ler as teclas digitadas. Ele suporta
256 teclas diferentes, mas os teclados possuem apenas 104 ou 105 teclas, deixando um monte de
endereços livres. Os "teclados multimídia" aproveitam esta característica para adicionar algumas teclas
extras. Ao configurar estes teclados no Linux, você precisa verificar quais são os códigos gerados pelas
teclas adicionais e atribuir funções a elas, usando o Painel de controle do KDE.

Você pode usar o xev, um pequeno utilitário que monitora as teclas digitadas e lhe mostra todas as
informações. Ele permite que você veja a forma como o sistema vê cada uma.

Abra um terminal e execute-o usando seu login de usuário:

$ xev

Pressione agora cada uma das teclas especiais. Na saída exibida no terminal, o xev exibe dois eventos
para cada tecla pressionada (um ao pressionar, outro ao soltar). O volume de informações é grande, mas o
que nos interessa é apenas o código numérico de cada tecla, exibido depois do "keycode" na terceira linha
de cada evento:
Anote o código de cada tecla e abra o arquivo ".xmodmap", dentro do seu diretório de usuário:

$ kedit ~/.xmodmap

Vamos agora relacionar cada código com uma tecla de função. No teclado temos as teclas F1 até F12,
podemos então relacionar as teclas especiais com, por exemplo, as teclas F18 em diante (que na verdade
não existem), como em:

keycode 144 = F18


keycode 164 = F19
keycode 162 = F20
keycode 153 = F21
keycode 174 = F22
keycode 176 = F23
keycode 160 = F24
keycode 130 = F25
keycode 236 = F26
keycode 234 = F27
keycode 233 = F28
keycode 223 = F29

Aqui eu coloquei todas as teclas, mas você pode adicionar apenas as que for realmente utilizar :). Para
que a alteração entre em vigor sem precisar reiniciar o X, rode o comando:

$ xmodmap ~/.xmodmap

A partir daí, você pode configurar ações para elas no "Ações de entrada", no "Painel de Controle do KDE
> Regional & Acessibilidade".
Você pode tanto definir ações "simples", para que seja aberto um determinado programa quando a tecla é
pressionada, quanto ações mais complexas. Neste caso vale a criatividade.

Caso esteja em dúvida sobre qual comando abre determinado programa, clique com o botão direito sobre
o botão "K" na barra de tarefas e acesse o "Editor de menus". Nele você pode ver o comando
correspondente a cada ícone no menu.

Você não está restrito apenas a aplicativos, pode usar qualquer comando de terminal. Quanto maiores
seus conhecimentos sobre o tema, mais coisas interessantes você vai conseguir fazer. Por exemplo, o
KDE oferece um recurso chamado "dcop", que permite controlar funções dos aplicativos gráficos via
linha de comando. Estas funções podem ser usadas nos atalhos, aumentando brutalmente o leque de
opções. Cada aplicativo suporta um número diferente de funções. Se você usa o Kmix (o ícone do auto
falante ao lado do relógio), pode aumentar o volume usando o comando "dcop kmix Mixer0
increaseVolume 0" e reduzir usando "dcop kmix Mixer0 decreaseVolume 0".

Você pode criar dois atalhos, usando os passos normais e usar estes comandos, criando teclas que ajustam
o volume. Mesmo que você não tenha um teclado multimídia, pode fazer isso usando teclas que não são
usadas, como por exemplo as teclas "Scroll Lock" e "Pause Break".

Para os casos mais complicados, onde a tecla não gere nenhuma resposta no xev, existe um procedimento
um pouco mais trabalhoso, que "ensina" o sistema o que fazer com cada tecla.

Mude para um terminal de texto puro (pressione Ctrl+Alt+F1), e pressione as teclas especiais. Elas não
farão com que apareça nada na tela, mas se o sistema estiver recebendo algum sinal do teclado, ele
incluirá uma entrada no log, falando sobre a tecla "não identificada".

Rode o comando "dmesg", que mostra o log do sistema:

# dmesg

Você verá uma entrada para cada tecla, contendo um código em hexa para cada tecla, como em:
atkbd.c: Unknown key pressed (translated set 2, code 0x9e on isa0060/serio0).
atkbd.c: Use 'setkeycodes e01e <keycode>' to make it known.

Precisamos agora achar um código livre para associar a tecla a ele. Isto é bem simples, pois os códigos de
121 a 255 estão geralmente livres. Para verificar, use o comando abaixo, substituindo o "122" por um
número até 255. Se ele não retornar nada, significa que o código não vago e você pode utilizar sem medo:

# getkeycodes | grep 122

Falta agora associar o código em hexa da tecla com o keycode, o que é feito usando o comando
"setkeycodes", como em:

# setkeycodes e01e 122

Para que o comando torne-se definitivo, abra o arquivo "/etc/init.d/bootmisc.sh" num editor de textos
(como root) e adicione o comando no final do arquivo. Todos os comandos dentro do arquivo são
executados a cada boot:

# kedit /etc/init.d/bootmisc.sh

A partir daí, volte ao arquivo ".xmodmop", associe a nova tecla com o "F18" e defina uma ação para ela
no "Ações de entrada". Repita o processo para cada tecla que desejar ativar :).

Uma observação é que alguns teclados especiais, como os usados nos notebooks Toshiba A70 e A75
realmente não funcionam, pois utilizam um sistema proprietário para o mapeamento das teclas especiais,
que não é suportado pelo sistema. Nestes casos, realmente não existe muito o que fazer.

Os ícones mágicos

O Kurumin é baseado no Debian e utiliza o apt-get como ferramenta padrão de instalação de novos
programas, sempre baixando os arquivos a partir dos repositórios do Debian. Existe uma grande
preocupação em manter o sistema compatível com o Debian original, de forma que quase todos os
tutoriais sobre instalação de programas e configurações diversas que servem para o Debian, servem
também para o Kurumin, quase sempre sem modificações.

Mas, o Kurumin inclui diversas ferramentas que facilitam muitas tarefas, incluindo a instalação de vários
programas comuns e até mesmo de servidores, os "Ícones mágicos".

Eles nada mais são do que scripts que automatizam os passos necessários para
realizar a instalação e a configuração inicial dos programas.
Estes scripts estão sempre sendo atualizados, já que sempre saem versões novas
dos programas, arquivos mudam de endereço, etc. Use o "Atualizar listas de
pacotes do apt-get" e o "Atualizar scripts de instalação dos ícones mágicos"
disponíveis na aba "Ativar o apt-get" periodicamente para baixar estas
atualizações. É recomendável fazer isso uma vez por semana, ou sempre que for
instalar uma grande quantidade de programas de uma vez.

Se você está curioso para ver como os ícones mágicos funcionam, dê uma olhada
nos scripts que estão dentro da pasta "/usr/local/bin".

Um script nada mais é do que um arquivo de texto, com uma seqüência de


comandos que são interpretados e executados pelo sistema. Cada ícone mágico é
uma "receita" de como instalar um determinado programa ou configurar alguma
coisa.

Você pode abrir os arquivos num editor de texto, estudá-los, adicionar novas funções, corrigir eventuais
problemas ou adicionar qualquer personalização que ache interessante.

Instalando servidores

O Linux já é o sistema operacional mais usado em servidores. Em muitas situações, configurar um


servidor Linux pode ser mais fácil do que configurar um micro doméstico, instalando plugins, suporte a
vários formatos de vídeo e DVDs, jogos do Windows através do Cedega, e todos os outros recursos de
que um usuário doméstico normalmente precisa.

Você pode encontrar mais informações sobre a configuração de servidores Linux no meu livro Redes e
Servidores Linux. Mas, mesmo que você não tenha intenção de se tornar um administrador de redes
Linux, pode instalar muita coisa de forma fácil usando os ícones mágicos incluídos no Kurumin. Para
isso, acesse a opção "Instalar e configurar Servidores" dentro do Centro de Controle:

Este é um dos painéis com mais opções dentro do Centro de Controle. Vamos a um resumo das opções
disponíveis.

Já falei sobre as opções para configurar a rede, compartilhar a conexão e ativar o firewall, mas o menu
principal inclui mais duas opções interessantes. A primeira é a opção de instalar o Squid, um servidor
Proxy que permite incrementar o compartilhamento da conexão, adicionando um cache que armazena os
arquivos mais acessados, o que melhora a velocidade de acesso e, ao mesmo tempo, permite que você
acompanhe as páginas acessadas a partir dos outros micros da rede, usando o Sarg.

Originalmente, ao usar um proxy é necessário configurar manualmente cada micro da rede para usá-lo,
mas no caso do Squid é possível configurar um proxy transparente, que funciona de forma automática.
Você pode configurar o tamanho do cache e outras opções dentro do arquivo "/etc/squid/squid.conf",
exibido durante a instalação.

Numa rede com muitos micros, pode ser útil monitorar o tráfego gerado por cada um, o que permite
descobrir quem está baixando filmes e prejudicando o desempenho da rede. Você pode fazer isso usando
o Netprobe.

Na aba "Web e FTP" você encontra as opções de instalar um servidor Web Apache, com suporte a PHP e
MySQL, que você pode usar para estudar sobre servidores web e testar os vários chats, fóruns e sistemas
de gerenciamento de conteúdo de páginas que temos disponíveis. O próprio script instala como exemplo o
PHPbb, um script de fórum bastante poderoso. A configuração do Apache vai no arquivo
"/etc/apache/httpd.conf", os arquivos da página vão na pasta "/var/www/" e o fórum pode ser acessado
localmente através do endereço "http://127.0.0.1/forum/".
No mesmo menu está a opção para instalar um servidor FTP, usando o Proftpd. Ele pode ser utilizado
para compartilhar arquivos, dentro da rede ou na internet. É possível usá-lo para criar um simples FTP
anônimo, ou liberar o acesso apenas a pessoas autorizadas. Para que o FTP fique disponível na internet, é
necessário manter a porta 21 aberta no firewall. Se você acessa através de um modem ADSL configurado
como roteador, é necessário redirecionar (port forwarding) a porta 21 para o seu micro. O Proftpd é
configurado através do arquivo "/etc/proftpd.conf" e os arquivos que ficarão disponíveis para o FTP
anônimo (que você pode ativar descomentando as linhas no final do arquivo) vão na pasta "/home/ftp".

Na aba seguinte, "Arquivos e Impressoras", você encontra o script para configurar um servidor Samba,
que pode ser usado para compartilhar arquivos com outras máquinas da rede, tanto Windows quanto
Linux. Anteriormente, aprendemos como acessar os compartilhamentos usando o Kurumin como cliente;
através desta opção, ele pode se tornar servidor.

Ao instalar o servidor Samba, é necessário cadastrar os logins dos usuários que terão acesso aos
compartilhamentos. Não é necessário que os logins e senhas sejam iguais aos usados nas máquinas
Windows, mas ao usar senhas diferentes será necessário fornecer um dos logins cadastrados ao acessar os
compartilhamentos. Você pode configurar o servidor e criar novos compartilhamentos usando o Swat, ou
diretamente no arquivo "/etc/samba/smb.conf".

Caso muita gente vá usar o servidor para guardar arquivos, você pode usar a opção de configurar quotas
de disco, limitando o espaço que poderá ser usado por cada um.

A opção de compartilhar impressoras permite compartilhar as impressoras na rede usando o próprio Cups.
Estas impressoras podem ser usadas tanto nas outras máquinas Linux, quanto nas máquinas Windows.

Na aba "Acesso Remoto" você encontra o script para instalar um servidor LTSP, batizado de "Kurumin
Terminal Server". O LTSP combina o NFS, DHCP, XDMCP, TFTP e um conjunto de scripts próprios
para criar um servidor de terminais, que permite aproveitar micros antigos, ou com processadores lentos
como terminais, executando via rede os aplicativos instalados no servidor.

Ao contrário do que pode parecer à primeira vista, o desempenho das estações é muito bom. Mesmo
usando um Pentium 100 como terminal, os aplicativos rodam com praticamente a mesma velocidade que
rodam ao serem executados localmente no servidor. Esta solução é adotada nos Telecontros e em diversas
empresas, como uma forma de aproveitar máquinas antigas e reduzir custos.
A configuração de um servidor LTSP está longe de ser trivial, tanto que ele consome quase 50 páginas do
livro Redes e Servidores Linux. Mas, o script automatiza a maior parte da instalação, permitindo que você
consiga colocar o servidor para funcionar apenas lendo cuidadosamente as opções de instalação. A parte
mais trabalhosa é a edição do arquivo de configuração do DHCP, onde você deve cadastrar os endereços
MAC das placas de rede usadas nos clientes, de forma que o servidor possa diferenciar cada um. No
arquivo "/opt/ltsp/i386/etc/lts.conf" você pode incluir opções específicas para cada terminal, incluindo a
resolução de vídeo e tipo de mouse usado em cada um.

Na mesma aba você encontra também as opções para ativar o servidor SSH e instalar o FreeNX e o
VNC. Embora sirvam para basicamente a mesma coisa: acessar sua máquina remotamente, de forma a
executar comandos ou rodar aplicativos pela rede, os três funcionam de forma bem diferente.

O SSH é a ferramenta mais básica de administração de rede. Ao ativar o servidor, você pode se conectar a
ele a partir das outras máquinas da rede usando o comando "ssh login@servidor", fornecendo um login de
acesso válido e o IP ou domínio do servidor (como em: ssh kurumin@192.168.0.1). É possível ainda usar
o SSH para transferir arquivos. Para isso, abra uma janela do Konqueror e acesse a URL
"fish://login@servidor" (como em: fish://kurumin@192.168.0.1). Depois de fornecer a senha de acesso,
você vê os arquivo do servidor e pode transferi-los simplesmente arrastando-os para outra janela.

O FreeNX usa o SSH como base, mas vai mais longe, implementando várias camadas de compressão e
cache, que permitem rodar aplicativos gráficos com um excelente desempenho, mesmo via internet. Ao se
conectar, você vê o desktop do servidor e pode usar qualquer aplicativo instalado nele. O FreeNX é
composto de um módulo servidor e um cliente.

Finalmente, o VNC é o sistema mais tradicional, também usado para abrir um desktop remoto do servidor
e usar os aplicativos instalados nele. O VNC não é tão eficiente quanto o FreeNX, mas é mais fácil de
instalar e configurar.
Recuperando o sistema

Acontece nas melhores famílias. Ao reinstalar o Windows, originalmente instalado em dual-boot, ele
subscreve a MBR, removendo o lilo e fazendo com que a instalação do Linux na outra partição fique
indisponível. Algum serviço ou programa configurado para ser inicializado durante o boot está travando o
sistema e você não consegue completar o boot para desativá-lo. O X não está funcionando e você não
consegue configurá-lo manualmente, etc.

Quando um problema "insolúvel" aparece, a maioria opta por simplesmente reinstalar o sistema, como
fariam no Windows. Mas, na maioria dos casos, é possível arrumar a bagunça de uma forma muito mais
rápida, usando um CD do Kurumin ou outro live-CD como um sistema de recuperação. Através dele você
pode acessar os arquivos na partição da instalação principal, restaurar o lilo ou modificar os arquivos de
configuração e até mesmo abrir o X (do sistema instalado) e assim ter acesso às ferramentas gráficas.

Comece dando boot pelo CD e montando a partição onde o sistema principal está instalado. Neste caso,
precisamos montar usando o caminho completo, incluindo o sistema de arquivos em que a partição está
formatada, pois precisaremos usar o chroot. Se você vai recuperar a distribuição instalada na partição
"/dev/hda2", que está formatada em ReiserFS, o comando seria:

# mount -t reiserfs /dev/hda2 /mnt/hda2

Se a partição estivesse formatada em EXT3, o comando seria:

# mount -t ext3 /dev/hda2/mnt/hda2

O próximo passo é abrir um terminal e logar-se como root. No Kurumin e na maioria dos live-CDs, você
pode fazer isso usando o comando "sudo su" ou (se você tiver definido a senha de root depois do boot),
com o comando "kdesu konsole".

A partir do terminal, use o comando "chroot" para obter um prompt do sistema instalado, indicando a
pasta onde a partição foi montada, como em:

# chroot /mnt/hda2

A partir daí, você tem um prompt de comando da distribuição instalada, que pode ser usado para
recuperar o sistema. Para trocar a senha de root, por exemplo, use o comando:

# passwd

Para modificar o arquivo de configuração do lilo, a fim de corrigir algum erro de configuração que está
impedindo o sistema de inicializar, use um editor de texto de terminal, como o mcedit ou o joe, como em:

# mcedit /etc/lilo.conf

Depois, como de praxe, rode o comando "lilo" (como root) para regravar o MBR, salvando as alterações.
Isso faz com o lilo volte a ser aberto durante o boot (substituindo o bootloader do Windows), permitindo
que você escolha o sistema.

O terminal pode ser usado para editar outros arquivos de configuração, desabilitar serviços que estão
sendo carregados durante a inicialização e assim por diante. Você pode executar praticamente qualquer
comando de texto dentro dele, e as alterações vão sendo feitas no sistema instalado.

A principal limitação deste terminal de recuperação é que não é possível rodar ferramentas gráficas. Ele
sempre volta um erro, dizendo que não é possível acessar o servidor X.

Embora um pouco trabalhoso, é possível abrir o X e rodar programas gráficos usando o Xnest, uma
espécie de servidor X "de mentira", que é aberto dentro de uma janela e pode ser acessado pelo sistema
dentro da partição. Rodar os programas deste modo é mais lento e você notará algumas estranhezas
diversas, mas é suficiente para rodar os programas de configuração.

Isso é feito em duas partes. Para começar, abra outro terminal de texto, desta vez como usuário normal (e
não como root, como no primeiro) e rode os comandos:

$ xhost +
$ Xnest :1

O primeiro afrouxa o sistema de permissões do X, permitindo que o sistema dentro da partição consiga
usar a janela do Xnest que abrimos em seguida. Note que o comando para abrir o Xnest é "Xnest", com o
X maiúsculo, enquanto o ":1" é o número da seção que está sendo aberta.

Com a janela do Xnest aberta, volte ao terminal do chroot e rode os comandos:

# export DISPLAY=localhost:1
# startkde

O "export DISPLAY" explica que o sistema deve passar a usar a janela do Xnest para rodar aplicativos
gráficos, enquanto o "startkde" carrega o KDE dentro da janela. Você pode substituir o último comando
por "gnome-desktop" (para abrir o Gnome) ou por um simples "xterm", para abrir uma janela de terminal
e chamar diretamente os aplicativos através dela.

Para que os programas gráficos funcionem, é necessário que a distribuição instalada e o live-CD usem
versões parecidas do X. Funciona bem ao usar um CD do Kurumin para recuperar uma instalação do
Kurumin, ou um CD do Slax para recuperar uma instalação do Slackware, mas nem sempre funciona ao
usar distribuições diferentes ou ao usar versões diferentes da mesma distribuição. Nestes casos você terá
que se contentar com os comandos de texto.

Mais uma dica é que você pode também copiar arquivos de configuração do live-CD para a instalação
principal, o que é útil sobretudo para solucionar problemas relacionados à configuração do vídeo. Os
arquivos de configuração do X são praticamente universais; um arquivo gerado no Kurumin vai funcionar
perfeitamente no Mandriva ou Slackware instalado no HD em 98% dos casos, fazendo com que o vídeo
volte a funcionar, usando a mesma configuração que está sendo utilizada ao rodar do CD.

Neste caso, você precisa apenas copiar o arquivo "/etc/X11/xorg.conf" (ou "/etc/X11/XF86Config-4", se
você estiver usando uma versão antiga do Kurumin), substituindo o arquivo dentro da partição, como em:

# cp /etc/X11/xorg.conf /mnt/hda2/etc/X11/xorg.conf

Lembre-se de que o arquivo de configuração pode ser o xorg.conf ou o XF86Config-4 (dependendo da


distribuição instalada usar o X.org ou o Xfree), mas os dois arquivos são intercompatíveis, basta
renomear caso necessário.

Kurumin em micros antigos

A configuração recomendada para rodar o Kurumin a partir do CD, rodar o OpenOffice e assistir a vídeos
em Divx é um Pentium II 266 com 256 MB de RAM. A configuração mínima para rodar o sistema com
qualidade é um Pentium II com 128 MB.

Ao instalar o sistema no HD, o desempenho melhora e o consumo de memória cai um pouco, pois o
sistema não precisa mais criar o ramdisk nem descompactar os dados do CD. Mesmo assim, não espere
milagres, o sistema não vai ficar rápido no seu 486 só por ser instalado no HD.

Embora o Kurumin possa "dar boot" até mesmo num Pentium 100 com 32 MB (caso exista memória
swap suficiente), esta com certeza não será uma experiência muito agradável.
Uma dica importante é que o sistema precisa de no mínimo 128 MB de RAM para dar boot e carregar os
aplicativos corretamente. Se você tem menos memória, apenas 96 MB ou menos, você vai precisar
obrigatoriamente ter uma partição Linux Swap no HD.

O sistema precisa de uma certa quantidade de memória, dados que precisam ir para algum lugar. Se você
não tem nem memória RAM suficiente, nem memória swap, o sistema simplesmente não tem onde
armazenar os dados e acaba travando durante o boot. Você pode criar uma partição swap usando o
gparted ou cfdisk incluídos no Kurumin, ou mesmo usar o CD de instalação de outra distribuição Linux
que ofereça algum utilitário de particionamento.

Mesmo que você não tenha o Linux instalado no HD, é recomendável deixar uma partição swap, mesmo
que pequena reservada, pois não apenas o Kurumin, mas também outras distribuições que rodam a partir
do CD são capazes de detectar e ativar a partição swap no boot. Usando swap, o desempenho do sistema
fica melhor (pois ele pode mover arquivos e bibliotecas que não estão em uso para a swap, mantendo
mais memória livre para os programas).

Caso você tenha pouca RAM e ainda por cima não tenha uma partição swap disponível, o sistema se
oferecerá para usar o arquivo de swap do Windows (se o HD estiver formatado em FAT 32). Esta é uma
medida desesperada para permitir que o sistema pelo menos consiga dar boot, mas como o arquivo de
swap do Windows oferece um desempenho muito inferior ao de uma partição Linux Swap, o desempenho
do sistema ficará muito abaixo do normal.

Apesar disso, mesmo usando a partição swap, o sistema vai ficar bem lento num micro com 64 MB de
RAM ou menos. Existe uma forma mais rápida de dar boot pelo CD e instalar do que ficar esperando o
KDE abrir. Inicie o sistema usando a opção "kurumin 2" abaixo na tela de boot.

Isso fará o Kurumin dar boot em modo texto (já logado como root), o que consome cerca de 18 MB de
memória, dando boot pelo CD. Isso vai permitir que você consiga dar boot em um micro com 64 MB,
mesmo antes de criar a partição swap.

O primeiro passo é particionar o HD, criando a partição onde o sistema será instalado, a partição swap e
opcionalmente também a partição /home:

# cfdisk

Você pode ativar a partição swap sem precisar reiniciar com os comandos:

# mkswap /dev/hda2
# swapon /dev/hda2
(onde o /dev/hda2 é a partição swap criada)

Com a swap ativa, você pode começar a instalação. Ao invés de esperar o KDE carregar, você pode abrir
um X "pelado", sem gerenciador algum e por isso bem mais rápido de carregar, usando o comando:

# xinit

Com o X aberto, chame o instalador do Kurumin com o comando:

# kurumin-install

Depois de terminar a instalação, você pode aproveitar para desativar a abertura do KDE durante o boot.

Para fazer isso antes de reiniciar, monte a partição onde o sistema foi instalado e use o comando "chroot"
para abrir um terminal dentro dela:

# mount /dev/hda1 /mnt/hda1


# chroot /mnt/hda1
(onde o /mnt/hda1 é a partição onde o sistema está instalado)

Dentro do terminal do chroot, chame o:


# wmconfig

Use a opção que desativa o KDM e escolha o gerenciador de janelas padrão. Ao reiniciar, o login será
feito em modo texto, tornando o boot mais rápido. Para abrir o modo gráfico, use o comando "startx".

Naturalmente, ao deixar de usar o KDE, você abre mão de muitas funcionalidades, fazendo com que o
sistema deixe de ser muito amigável. Se você quer uma interface simples, num micro para seu próprio
uso, pode experimentar o Fluxbox, que já vem pré-instalado no Kurumin. Você pode usá-lo direto do CD,
usando a opção de boot "kurumin desktop=fluxbox".

Se você precisa de uma interface que, além de leve, seja amigável, adequada para o usuário final, devo
alertar que ela simplesmente não existe. Você pode obter resultados razoáveis personalizando o IceWM,
mas depois de uma boa dose de trabalho. Uma opção um pouco mais desenvolvida seria o Blanes, que no
Kurumin pode ser instalado através do script "instalar-wm".

O Blanes é uma espécie de "clone" da interface do Windows 98 (apenas a interface, sem os utilitários de
configuração). Ele não é tão leve quanto o IceWM e o Fluxbox, mas com um pouco de trabalho pode
oferecer resultados interessantes. Um alerta é que (embora originalmente desenvolvido com base no
IceWM) o Blanes é um pacote proprietário, que pode não ser gratuito em versões futuras e não possui
garantias de continuidade. Pense duas vezes antes de basear algum projeto importante nele.

Mas, o conselho geral em se tratando de uso de micros muito antigos, para atender usuários finais, é usar
o LTSP, ou outro sistema de acesso remoto, ao invés de tentar rodar os aplicativos localmente. É
possivelmente a única solução que oferece uma solução realmente utilizável e relativamente rápida de
instalar mesmo ao usar micros Pentium 100 ou 486.

No Kurumin, você pode instalar o LTSP através do ícone mágico do Kurumin Terminal Server. Ele
automatiza a maior parte de instalação, transformando-a em um procedimento muito simples. Use um
micro novo, ou pelo menos um micro com uma configuração razoável, como servidor e você terá um bom
desempenho em todos os terminais.

Existe uma lenda dentro do mundo Linux, que diz que o Gnome é uma opção mais leve que o KDE e
pode ser usado mesmo em micros antigos. Isto era mais ou menos verdade na época do Gnome 1.4, mas é
completamente falso atualmente. O Gnome 2.10 ou 2.12 consome mais memória que o KDE, a única
vantagem é que o carregamento é um pouco mais rápido.

O Kurumin usa uma configuração bastante otimizada para o KDE, o que aumenta a diferença. Entre as
distribuições atuais, que usam o KDE ou Gnome como padrão, as únicas que rivalizam com o Kurumin
em termos de consumo de memória são o Slackware (e derivados) e o próprio Debian.

Você pode instalar o Gnome no Kurumin através do comando "apt-get install gnome-core". Muita gente
acha a interface do Gnome mais simples e mais fácil de aprender, mas, do ponto de vista do desempenho,
o KDE leva vantagem.
Capitulo 5: Os programas

Depois de instalado e configurado, o sistema operacional passa a ser uma espécie de coadjuvante, que
você só nota quando surgem problemas. No dia-a-dia, você não usa o sistema operacional, usa os
programas que rodam sobre ele. No final das contas, podemos dizer que o mais importante são justamente
eles: os programas.

Ninguém usaria Linux se não existissem bons programas disponíveis para a plataforma. É justamente este
o tema principal deste capítulo.

A instalação de novos programas no Linux não é tão complicada como pode parecer à primeira vista. Pelo
contrário, muitas vezes é até mais simples que no Windows, pois raramente você precisará perder tempo
comprando e registrando o programa, retirando banners de propaganda, desativando spywares, e coisas do
gênero. O tempo de instalação do Office Professional pode chegar a mais de dois meses, se você incluir o
tempo que precisaria trabalhar para comprá-lo ;).

Aplicativos do Linux

Você não encontrará no Linux o Internet Explorer, o Outlook, o Photoshop ou muito


menos o Microsoft Office. Porém, se você tiver paciência, vai encontrar programas
que substituem a maior parte das funções destes, além de outros programas que
podem ser úteis para outras tarefas. Além da grande quantidade de programas
nativos, é possível executar a maior parte dos aplicativos e jogos for Windows
através do VMware, Wine, Qemu e Cedega.

Esta é mais uma diferença importante entre o Windows e as distribuições atuais do


Linux. O Windows traz apenas alguns aplicativos básicos, para acessar a Web (IE),
ouvir músicas (Media Player), um editor de textos básico (Wordpad) e, no XP,
também um firewall básico, um editor de vídeos, um programa de gravação de CDs
integrado entre alguns outros acessórios.

Depois de instalar o sistema, você ainda precisará adquirir softwares de terceiros


para realizar tarefas mais elaboradas. A chance de a próxima versão do Windows já
vir com o Photoshop e o Corel Draw, por exemplo, é muito remota.

No Linux temos um cenário oposto. As distribuições trazem geralmente centenas de


aplicativos diferentes. O mais complicado acaba sendo selecionar os aplicativos
mais adequados às tarefas do dia-a-dia.

Nesse processo é importante mudar um pouco a mentalidade, não procurar


programas "iguais" aos que você usa no Windows, que serão muito raros (até
porque ninguém pode simplesmente clonar um programa da Microsoft ou da Adobe
e sair impune, e nem este é objetivo dos desenvolvedores), mas sim pensar nas
tarefas que você deseja realizar e procurar programas que ofereçam um conjunto
de recursos o mais próximo possível do que você utiliza. O Office pode ser
substituído pelo OpenOffice, o Photoshop pelo Gimp, o Corel pelo Inkscape, o
Illustrator pelo Scribus, o IE pelo Firefox, o MSN pelo Kopete ou pelo Mercury, o
Outlook pelo Evolution, o Media Player pelo Kaffeine, o Nero pelo K3B, o iTunes
pelo Amarok, o WinAmp pelo XMMS e assim por diante.
Se tantos desenvolvedores dedicam seu tempo para desenvolver aplicativos tão
elaborados com o Gimp ou o OpenOffice, nada mais justo do que você também
dedicar algum tempo para aprendê-los, não é mesmo?

Um ponto importante é que também existem muitos softwares comerciais para


Linux. É possível rodar muitos aplicativos Windows através do Wine ou do Cedega,
e existe até mesmo a possibilidade de rodar uma instância completa do Windows
dentro de uma máquina virtual do VMware, permitindo rodar lado a lado os
programas das duas plataformas.

Mas, apesar de nem sempre terem os mesmos recursos, os softwares open-source


trazem a vantagem de serem utilizáveis por qualquer um, não apenas por quem
pode comprar o software. A lista inclui programas poderosos como o Gimp,
OpenOffice, Mozilla e tantos outros. Aliás, estes três estão disponíveis também em
versão Windows, com todos os recursos. Começar a utilizá-los, mesmo no
Windows, é um excelente passo, pois você passará a dispor das mesmas
ferramentas nos dois sistemas.

A questão dos pacotes

No começo existia o código fonte. Você baixava um pacote .tar.gz, contendo o


código fonte do programa, e a instalação consistia em compilar e instalar os
executáveis gerados na sua máquina. Esta forma de distribuição faz sentido em se
tratando de aplicativos abertos, pois permite que você veja e até adapte o código
fonte se necessário, para que ele rode na sua máquina. Em muitos casos, é
possível instalar o programa em outro sistema operacional (a maior parte dos
programas do Linux podem ser instalados no BSD, com pequenas adaptações) ou
até mesmo numa outra plataforma.

O problema é que instalar programas a partir dos fontes é demorado e nem sempre
simples, já que você precisa ter instalados os compiladores e bibliotecas
necessários para compilar muitos programas. Existem incontáveis pequenas
bibliotecas e ferramentas de desenvolvimento por aí e não é muito viável tentar
manter todas elas instaladas.

Compilar significa transformar o código fonte, escrito pelo programador, nos


arquivos binários que são executados pelo sistema. Ao compilar um programa, são
gerados vários executáveis, bibliotecas e arquivos de configuração, que são
copiados para pastas específicas do sistema. Os executáveis vão para a pasta
"/usr/bin/", as bibliotecas para a "/usr/lib/", os arquivos de configuração para o
"/etc/" e assim por diante.

Alguém chegou então a uma conclusão obvia: ao invés de cada um ter que ter o
trabalho de compilar o programa na sua própria máquina, seria mais simples se
alguém compilasse e distribuísse um arquivo ponto, com os componentes já
compilados, num formato simples de instalar. Nasciam então os pacotes pré-
compilados :).

Os pacotes são uma idéia muito simples. Você cria um arquivo compactado
contendo a mesma estrutura de pastas e arquivos que seria criada ao instalar o
programa manualmente. Ao instalar o pacote, os arquivos são descompactados no
diretório raiz, fazendo com que todos os arquivos sejam colocados nos diretórios
corretos. Ao desinstalar o pacote, os arquivos são removidos, deixando o sistema
da forma como estava inicialmente. Uma forma rápida e limpa de instalar
programas.

Existem basicamente três formatos de pacotes diferentes: os pacotes .deb, usados


pelas distribuições derivadas do Debian, os pacotes .rpm, usados pelas
distribuições derivadas do Red Hat e os pacotes .tgz, usados pelo Slackware e
derivados. Não existe nada de fundamentalmente diferente entre os três formatos e
é inclusive possível transformar um pacote .rpm num pacote .deb, mas, devido às
diferenças que existem entre uma distribuição e outra, não existe garantia de que
um pacote do Fedora funcionará no Debian, por exemplo.

O próximo passo foi a criação dos gerenciadores de pacotes, programas que


permitem baixar e instalar novos programas de forma automática, verificando as
dependências e, caso necessário, baixando outros programas e bibliotecas de que o
programa inicial precisa.

Já vimos alguns exemplos do uso do apt-get, o gerenciador usado nas


distribuições derivadas do Debian. Além dele, temos também o urpmi, usado no
Mandriva, o yum, usado no Fedora e o emerge, usado no Gentoo.

Você pode perguntar por que não fazem como no Windows, onde cada programa
tem seu instalador. Na verdade, muitos programas são distribuídos desta forma,
como Java, OpenOffice, Firefox, Thunderbird, VMware e diversos jogos. Nestes
casos, você simplesmente executa o arquivo e o instalador se encarrega do resto
da instalação. O inconveniente é que estes pacotes são desenvolvidos para
funcionarem em qualquer distribuição, por isso incluem todo tipo de bibliotecas e
módulos de que o programa possa precisar, sem reaproveitar os componentes que
você já tem instalados. Isso faz com que os pacotes sejam práticos de instalar, mas
em compensação bem maiores (e mais pesados), assim como muitos dos
programas do Windows.

Em resumo, podemos dizer que existem três formas de instalar programas no


Linux:

1- Usar o apt-get ou outro gerenciador de pacotes para instalar pacotes próprios da


distribuição em uso. Esta é a forma mais simples e menos passível de problemas,
que você usa sempre que possível.

2- Programas com instaladores próprios, destinados a funcionarem em várias


distribuições. Eles também são simples de instalar, mas não tão simples quanto
usar o apt-get. Muitos programas são distribuídos apenas desta forma, como o
VMware.

3- Instalar o programa a partir do código fonte, o que pode ser necessário no caso
de aplicativos pouco comuns, que não estejam disponíveis de outra forma.

Instalando programas com o apt-get

O apt-get é uma ferramenta extremamente poderosa e prática de usar depois que você aprende os
conceitos básicos. Ele pode ser encontrado não apenas no Debian, Ubuntu e no Kurumin, mas em outras
distribuições baseadas no Debian, como o Lycoris, Libranet e até mesmo no Linspire. Ferramentas como
o urpmi do Mandrake, o synaptic do Conectiva e o yum do Fedora também são baseados nele.
Em primeiro lugar, o apt-get utiliza um conceito de fontes de atualização. Ele pode obter pacotes de
praticamente qualquer lugar, incluindo CD-ROMs do Debian, unidades de rede, etc. Mas, o meio mais
usado é justamente baixar os pacotes via internet, o que permite obter sempre as versões mais recentes
dos programas.

Para usar o apt-get, o primeiro passo é rodar o comando "apt-get update", que faz com que o apt-get
verifique todos os repositórios disponíveis e baixe a lista com os pacotes disponíveis em cada um. Isso
permite que ele crie uma espécie de banco de dados, com os pacotes disponíveis, onde cada um pode ser
encontrado e qual endereço contém a versão mais recente. Este comando deve ser executado
periodicamente. O ideal é que você o use uma vez por semana, ou sempre que for fazer alguma instalação
importante:

# apt-get update

Lembre-se de que para virar root, basta digitar "su" no terminal e fornecer a senha configurada durante a
instalação.

Terminado, você pode começar a instalar os programas, usando o comando "apt-get install", seguido do
pacote desejado. Para instalar o Abiword (o processador de textos), por exemplo, use o comando:

# apt-get install abiword

Veja que o apt-get cuida de toda a parte chata. No meu caso, por exemplo, é preciso instalar também os
pacotes "abiword-common", "libenchant1" e "libmyspell3", que o apt-get instala automaticamente junto
com o pacote principal, depois de pedir uma confirmação.

Terminada a instalação, o Abiword já está pronto para usar. Você vai encontrar o ícone dentro do menu
"Escritório e utilitários" no iniciar. Alguns programas podem não criar corretamente os ícones no iniciar,
mas você sempre pode chamá-los via terminal, ou criar o ícone manualmente, usando o kmenuedit.

Isto se repete para qualquer um dos mais de 20.000 pacotes atualmente disponíveis nos repositórios que
vêm ativados por padrão no Kurumin. Basta saber o nome do programa e você pode instalá-lo
rapidamente a qualquer momento. Você pode ver uma lista dos pacotes disponíveis nos FTPs oficiais do
Debian no: http://www.debian.org/distrib/packages.
Além de instalar, é possível usar o apt-get para atualizar qualquer pacote do sistema. Para isso, repita o
comando de instalação, como em:

# apt-get install abiword


# apt-get install mozilla-firefox
# apt-get install mplayer-586

E assim por diante. O comando faz com que ele verifique se existe uma versão nova do programa e, em
caso afirmativo, já a baixa e instalada automaticamente. Caso contrário, ele simplesmente avisa que a
versão mais recente já está instalada e não faz nada.

Quando você não se lembrar do nome completo do programa, digite apenas as primeiras letras e pressione
a tecla TAB duas vezes, assim você verá uma lista com as alternativas possíveis.

Em casos onde o programa realmente "desapareça" depois de instalado, sem rastros aparentes, você pode
procurá-lo usando o comando "whereis" (onde está), como em:

$ whereis realplay
realplayer: /usr/bin/realplay

Em muitos casos, o programa pode ser instalado em uma pasta fora do PATH (as pastas /bin, /usr/bin,
/usr/local,bin, etc.), e por causa disso o sistema não encontre o comando. Nestes casos, chame-o
indicando o caminho completo, ou crie um link para ele (usando o comando "ln -s") dentro da pasta
"/usr/bin", ou "/usr/local/bin", onde o sistema consiga localizá-lo diretamente, como em:

# ln -s /usr/lib/realplayer10/realplay /usr/bin/realplay

Lembre-se de que em muitos casos o nome do executável do programa pode ser diferente do nome do
programa. Por exemplo, o executável do Realplayer é "realplay" e o do VMware Player é "vmplayer".

Um detalhe interessante é que, mesmo ao atualizar um programa, as suas configurações são mantidas. Ao
atualizar o Firefox ou o Konqueror, por exemplo, você não perde seus bookmarks. Isso acontece porque
as configurações e arquivos referentes aos programas são armazenados em pastas ocultas dentro do seu
diretório de usuário. Os bookmarks, cache, cookies e outros arquivos do Firefox, por exemplo, vão para a
pasta ".mozilla/firefox", dentro do seu home.

O apt-get nunca altera estes arquivos, de forma que sua preferências sempre são preservadas durante os
upgrades.

Um segundo tipo são os arquivos de configuração do sistema, que também fazem parte dos pacotes.
Quando um pacote traz uma nova versão de um determinado arquivo de configuração, mas o apt-get
percebe que o arquivo anterior foi alterado por você, ele pergunta se você quer manter o arquivo atual ou
se você quer substituí-lo pela nova versão. O conselho geral nestes casos é responder não à substituição
(que é o default). Isso mantém o arquivo atual, que afinal está funcionando. Autorize a substituição
apenas quando você souber do que se trata.

Lembre-se de rodar o "apt-get update" periodicamente, de preferência uma vez por semana, ou antes de
instalar qualquer programa ou atualização importante, assim você terá certeza que o apt instalará sempre
as versões mais recentes dos programas.

O apt não apenas torna a instalação de novos programas bem mais simples, mas diminui também a
necessidade de estar sempre instalando versões mais recentes da distribuição, já que você pode ir
atualizando os programas mais usados sempre que souber de uma versão mais nova.

É possível também remover pacotes instalados, neste caso usando o parâmetro "remove", como em:

# apt-get remove abiword


Caso os arquivos referentes ao programa tenham se corrompido de alguma maneira (desligamentos
incorretos, problemas de BIOS, etc. ;), você pode forçar sua reinstalação, usando o parâmetro "--
reinstall".

Normalmente o apt-get avisa que o programa já está em sua versão mais recente e não faz nada:

# apt-get install bluefish


Lendo Lista de Pacotes... Pronto
Construindo Árvore de Dependências... Pronto
bluefish já é a versão mais nova.

Adicionando o "--reinstall" ele prossegue a instalação, mesmo que o pacote já seja a versão mais recente,
substituindo todos os arquivos referentes a ele e resolvendo o problema.

# apt-get install --reinstall abiword

Naturalmente, existem programas gráficos que facilitam (?) as coisas, como o Synaptic, que abordo no
capítulo sobre o Ubuntu. A questão de facilitar ou não é na verdade polêmica, pois muita gente acha mais
fácil trabalhar com o Synaptic, enquanto outros acham sua interface muito complicada e preferem
continuar usando os comandos. Mas, de qualquer forma, ele não deixa de ser uma opção interessante.

Configurando os repositórios

O apt-get procura por pacotes em todos os endereços (chamados de repositórios) listados no arquivo
"/etc/apt/sources.list". Este é um simples arquivo de texto, onde os endereços são colocados um por
linha. As linhas iniciadas com "#" são comentários, observações gerais que são ignoradas pelo programa.

No Kurumin ele já vem configurado com os endereços dos repositórios do Debian e mais alguns
programas disponíveis nos ícones mágicos, mas você pode editar o arquivo manualmente caso queira
incluir algum endereço adicional, ou trocar o endereço de algum repositório que está fora do ar.
Por exemplo, um dos repositórios usados por padrão no Kurumin é o Marillat, que contém diversos
pacotes, com codecs que oferecem formatos a diversos formatos de vídeo, programas para ripar CDs e
DVDs e assim por diante. Depois que o Debian Sarge (o atual stable) foi lançado, renomearam a pasta
onde estão os pacotes do testing de "testing" para "etch" (o nome da nova versão). Isso foi avisado no site
do projeto, mas naturalmente o apt-get não tinha como adivinhar a mudança sozinho. Como não
encontrava mais a pasta antiga, passou a dar um erro ao rodar o "apt-get update", avisando do problema:

W: Não foi possível checar a lista de pacotes fonte ftp://ftp.nerim.net testing/main Packages
(/var/lib/apt/lists/ftp.nerim.net_debian-marillat_dists_testing_main_binary-i386_Packages) - stat (2 Arquivo ou diretório
não encontrado)

W: Você terá que executar apt-get update para corrigir esses arquivos faltosos

E: Alguns arquivos de índice falharam no download, eles foram ignorados ou os antigos foram usados em seu lugar.

A solução neste caso foi simplesmente abrir o arquivo "/etc/apt/sources.list" e corrigir a linha, mudando
de:

deb ftp://ftp.nerim.net/debian-marillat/ testing main

Para:

deb ftp://ftp.nerim.net/debian-marillat/ etch main

No Kurumin o arquivo vem comentado, permitindo que você veja a função de cada linha. O arquivo vai
sendo atualizado conforme os endereços mudam ou conforme aparecem novos repositórios. Você pode
baixar estas atualizações atualizando os scripts dos ícones mágicos, usando a opção "Ícones Mágicos >
Ativar o apt-get > Atualizar scripts dos ícones mágicos".
Normalmente, você não precisa se dar o trabalho de alterar este arquivo, mas não custa entender melhor
como ele funciona. Vamos a um resumo rápido dos repositórios usados por padrão no Kurumin 5.1 e a
função de cada um:

# Testing
deb http://ftp.us.debian.org/debian testing main contrib non-free

# Unstable
deb http://ftp.us.debian.org/debian unstable main contrib non-free

Estas duas linhas contém os repositórios padrão do Debian, ao usar o Testing/Unstable. É recomendável
manter as duas linhas ativas, mesmo que o padrão seja o Testing, pois em muitas situações o Testing fica
com dependências quebradas (pacotes que precisam de outros que ainda não foram atualizados) e o apt
resolve o problema automaticamente baixando a partir do Unstable.

Lembre-se de que o Debian é composto de três versões, desenvolvidas simultaneamente. Além do Testing
e Unstable, existe a opção de usar o Stable.

Usar o Stable parece uma boa idéia à primeira vista, afinal, tratam-se de pacotes "estáveis". Porém, o
Stable recebe apenas correções de segurança, os pacotes não são atualizados, fazendo com que fiquem
velhos. Com o tempo, isso começa a causar problemas, já que você passa a querer atualizar alguns
programas e as novas versões exigem pacotes que só estão disponíveis no Testing. O Stable é uma opção
apenas se você é adepto da filosofia do "se não está quebrado, não mexa" e realmente não faz questão de
instalar versões recentes dos programas.

Para usar o Stable, você substituiria as linhas acima por estas:

# Stable
deb http://ftp.us.debian.org/debian sarge main contrib non-free
deb http://security.debian.org/ sarge/updates main

A primeira linha contém o repositório principal e a segunda contém atualizações de segurança. Como
pode ver, aqui estamos usando o Debian Sarge, que foi lançado em junho de 2005. A próxima versão
estável será o Etch (o atual testing), que está planejado para o final de 2006.

Ao alterar a versão usada por padrão no "/etc/apt/sources.list", você deve alterar também o arquivo
"/etc/apt/apt.conf", mudando a primeira linha de:

APT::Default-Release "testing";

Para:

APT::Default-Release "stable";

Isso explica ao apt que ele deve passar a utilizar os pacotes do Stable ao invés do Testing. Não se esqueça
de rodar o comando "apt-get update" sempre que fizer alterações nos dois arquivos.

Embora não seja recomendável, você pode manter descomentadas simultaneamente as linhas referentes
ao Stable e o Testing simultaneamente. Neste caso, o apt-get vai usar por padrão o que estiver
configurado no arquivo "/etc/apt/apt.conf", mas você fica com os dois repositórios disponíveis e pode
instalar um determinado pacote a partir do outro, usando o parâmetro "-t testing" (ou -t stable), como em:

# apt-get install -t testing abiword

Esta é uma forma de instalar versões recentes dos programas, a partir do Testing ou Unstable, sem
precisar mudar o repositório padrão, mas nem sempre é uma boa idéia, já que misturar pacotes das duas
versões pode levar a problemas se você não souber o que está fazendo. Muitos programas, como o
OpenOffice, Firefox, Thunderbird, Java, Skype e outros são relativamente independentes de outros
pacotes instalados e quase sempre funcionam, independentemente da versão. Mas, os programas do KDE,
Gnome e as bibliotecas base do sistema, possuem uma forte interdependência entre si, fazendo com que,
muitas vezes, a única forma de instalar a versão mais recente de um programa simples, como o kedit ou o
ksplash seja atualizar todo o KDE, como neste exemplo:

Veja que algo aparentemente inocente está prestes a se transformar num desastre de proporções bíblicas.
Neste caso, estou usando o stable por padrão, mas estou pedindo para que o apt-get instale a versão mais
recente do kedit a partir do unstable. O kedit precisa das novas versões das bibliotecas do KDE, que por
sua vez possuem um conjunto próprio de dependências e conflitos. Para fazer a atualização, o apt-get
precisaria não apenas atualizar todo o KDE e outros pacotes relacionados, mas também remover um
conjunto de programas aparentemente inocentes, incluindo o Amarok e o OpenOffice.

Como disse, forçar a instalação de pacotes de outras versões nem sempre é uma boa idéia. Preste atenção
nas mensagens do apt-get e aborte em caso de problemas iminentes.

Outra configuração comum é com relação ao mirror do Debian que será usado. Existem vários mirrors
disponíveis, diferenciados pelo código de país. A linha "deb http://ftp.us.debian.org/debian testing main
contrib non-free", por exemplo, especifica que deve ser usado o mirror dos Estados Unidos
(us.debian.org). Para usar o do Brasil, você substitui a sigla por "br", para usar o da Alemanha por "de",
para usar o da Inglaterra por "uk" e assim por diante.

Não existe uma regra fixa para qual mirror será mais rápido. Pela lógica, o do Brasil seria sempre mais
rápido, mas isso depende muito do horário, de qual operadora você usa, e assim por diante. Em muitos
casos, o dos EUA ou da Alemanha podem ser mais rápidos. O melhor é testar os três em diferentes
horários e ver qual apresenta melhores resultados. Não se esqueça de rodar o "apt-get update" depois de
cada alteração.

Outros repositórios, que complementam os repositórios oficiais do Debian (e são usados por padrão no
Kurumin) são:

# Debian Unofficial
deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted

O Debian Unofficial contém uma grande quantidade de pacotes "não livres", porém importantes, como o
Java, Acrobat Reader, Real Player e outros.

deb ftp://ftp.nerim.net/debian-marillat/ sarge main

Como comentei anteriormente, o Marillat contém uma série de pacotes relacionados à multimídia,
incluindo o pacote w32codecs (necessário para assistir vídeos .wmf, quicktime e outros formatos), o
Mplayer, o DVDrip e outros.

deb http://wine.sourceforge.net/apt/ binary/

Este repositório contém as versões mais recentes do Wine, que permite rodar aplicativos do Windows.
Em outubro de 2005 ele entrou finalmente em fase beta (depois de quase 12 anos em estágio alpha! :o), o
que marcou uma grande mudança na qualidade dos pacotes, que passaram a ser mais estáveis e com
atualizações mais previsíveis. Acabaram os tempos em que uma versão funcionava e a seguinte não.

Usando o dpkg

O dpkg complementa o apt-get, permitindo instalar pacotes .deb baixados manualmente. Digamos que
você tenha baixado, por exemplo, o arquivo "skype_1.2.0.18-1_i386.deb", o pacote com o Skype,
disponível no http://skype.com.

Para instalá-lo, você usaria o comando:

# dpkg -i skype_1.2.0.18-1_i386.deb

Lembre-se de usar a tecla <TAB> para completar o nome do arquivo depois de digitar as primeiras letras.

Se você tiver uma pasta com vários pacotes (como o OpenOffice 2.0, por exemplo), pode instalá-los de
uma vez usando o comando "dpkg -i *.deb".

Se você receber erros de dependências mas quiser forçar a instalação do pacote (geralmente não é uma
boa idéia...), pode usar o comando "dpkg -i --force-all pacote.deb". Neste caso, tome cuidado com versões
antigas, pois este último comando não checa dependências nem conflitos, apenas instala tudo de uma vez,
na marra, causando os mais diversos problemas.

Sempre, depois de instalar qualquer pacote usando o dpkg, rode o comando "apt-get -f install" para que o
apt-get possa verificar o que foi feito e corrigir qualquer problema que tenha aparecido durante a
instalação. Em casos de pacotes quebrados ou conflitos, o apt-get sempre vai sugerir alguma solução,
mesmo que ela seja simplesmente remover o novo pacote.

Pense no dpkg como uma espécie de ajudante do apt-get. Ele faz o trabalho braçal, mas não é bom em
resolver problemas. É o apt-get que cuida das situações mais delicadas.
O ideal é que você instale todos os programas através do apt-get. Apele para a instalação manual de
pacotes apenas como último recurso, para o caso de programas específicos, que não estejam disponíveis
no apt-get.

O cache do apt-get

O apt-get salva uma cópia de todos os pacotes baixados, para uso posterior dentro da pasta
"/var/cache/apt/archives/". A lista dos pacotes disponíveis (gerado ao executar o apt-get update) é salva
dentro da pasta "/var/lib/apt/lists/".

No Debian, é muito comum fazer backup destas duas pastas de forma a preservar o cache do apt-get
depois de reinstalar o sistema, ou mesmo instalar os pacotes já baixados em outras máquinas. Pense no
caso de alguém que tem banda larga no trabalho, mas acessa via modem em casa, por exemplo.

Por outro lado, o cache tende a ficar grande com o passar do tempo e ocupar muito espaço no HD. Se
você acessa via banda larga, este pode ser um gasto desnecessário. Existem duas opções para limpar a
casa. A primeira, mais contida, é usar a opção:

# apt-get autoclean

Ela remove apenas pacotes antigos ou duplicados, mantendo só as versões mais recentes, que realmente
têm chance de serem usadas. Para realmente eliminar todos os arquivos do cache, use o comando:

# apt-get clean

No caso do Kurumin, existe uma forma mais conveniente de fazer o backup e instalá-lo em outras
máquinas, que é gerar um CD do Kokar. Você encontra esta opção dentro do "Painel de controle > Ícones
Mágicos > Instalar ou gerar o CD do Kokar".
O Kokar nada mais é do que um arquivo .iso, uma imagem com o conteúdo das duas pastas (junto com
outros arquivos que os scripts dos ícones mágicos baixam para dentro da pasta "/packages/"), que pode
ser gravada num CD ou DVD (de acordo com o tamanho) e instalada em outros micros.

Uma observação importante é que ao instalar o Kokar ou restaurar o backup do cache em outro micro,
você não deve rodar o "apt-get update" até ter terminado de instalar todos os programas desejados a partir
do cache. O motivo é simples: o apt-get sempre instala as versões mais recentes dos programas. Ao
instalar o Kokar, são restaurados os arquivos da pasta "/var/lib/apt/lists/" da forma como estavam na outra
máquina, fazendo com que o apt use os pacotes do cache. Ao rodar o apt-get update, você atualiza as
listas, fazendo com que ele volte a baixar os pacotes mais recentes da Internet.

Documentação

Depois de instalar um pacote que você não conheça, muitas vezes você vai ficar se perguntando: "o que
faço agora"? Afinal, a instalação é feita de uma forma quase automática pelo apt-get, muitas vezes ele já
cuida também da configuração básica, mas o conhecimento necessário para usar o programa em questão
já depende de você.

Depois de instalar qualquer pacote estranho, a sua primeira parada deve ser a página do desenvolvedor,
onde você geralmente encontrará o manual e instruções de uso.

Outra opção é a pasta "/usr/share/doc/", onde cada pacote instala uma cópia da documentação
disponível. Por exemplo, ao instalar o pacote raidtools (um conjunto de ferramentas para configurar um
sistema Raid via software), é criada a pasta "/usr/share/doc/raidtools/" onde fica disponível o howto, um
read-me, um quickstart e alguns exemplos de configuração.
Caso os arquivos estejam compactados, basta clicar com o botão direito sobre o arquivo e usar a opção
"Extrair aqui" do Konqueror.

Aproveite também para fazer uma pesquisa no Google. Como ele indexa vários grupos de discussão e
grupos da usenet, você sempre encontrará uma grande quantidade de mensagens com problemas e
soluções.

Resolvendo problemas com o apt-get

O apt-get é uma ferramenta desenvolvida para ser usada em servidores e outras aplicações importantes.
Isto significa que ele foi desenvolvido para ser o mais confiável possível e nunca realizar nenhuma
modificação potencialmente perigosa para o sistema, a menos que autorizado por você.

Quando qualquer coisa inesperada acontece, ele pára e fica esperando sua confirmação antes de fazer
qualquer outra coisa.

O problema desta abordagem é que às vezes um defeito em algum pacote ou um download corrompido
pode fazer com que o apt fique "travado", sem concluir a instalação de um determinado pacote por causa
de um erro qualquer e sem aceitar instalar outros antes que o problema inicial seja resolvido.

Este tipo de problema é relativamente raro, mas pode acontecer. Veja um caso particularmente feio que
aconteceu certa vez ao tentar atualizar o k3b usando o comando "apt-get install k3b".

Neste caso ele precisou atualizar algumas bibliotecas do KDE antes de atualizar o programa, mas uma
delas estava com um defeito bobo que fazia ela tentar substituir duas associações de arquivos do K3B.
Isto passaria despercebido se o apt-get não entrasse em pânico:

Descompactando substituto kdelibs-data ...


dpkg: erro processando /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb (--unpack):

tentando sobrescrever `/usr/share/mimelnk/application/x-cue.desktop',


que também está no pacote k3b

dpkg-deb: subprocesso paste morto por sinal (Broken pipe)


Erros foram encontrados durante processamento de:
/var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

A partir daí o apt-get se recusava a instalar qualquer outro pacote, pois sempre tentava terminar a
instalação do pacote "kdelibs-data" o que sempre acabava no mesmo erro.

Como o tal arquivo a ser substituído não tem importância nenhuma, é apenas uma associação de arquivos,
a solução foi simplesmente forçar a instalação do pacote kdelibs manualmente, usando a opção do dpkg
que ignora erros:

# dpkg -i --force-all /var/cache/apt/archives/kdelibs-data_4%3a3.1.4-2_all.deb

Depois disso, bastou usar o comando "apt-get -f install" que conclui a instalação de todos os pacotes
pendentes, incluindo a atualização do K3B que era meu objetivo inicial. Lembre-se de que você pode usar
o botão do meio para colar a localização do arquivo a partir da mensagem de erro, sem precisar ficar
digitando tudo.

Dependendo da situação, você pode remover o pacote com problemas ao invés de forçar sua instalação.
Isso é útil em casos de pacotes que realmente estão com problemas mais graves e estão bloqueando a
instalação de outros. Neste caso, use o comando "dpkg -r" , como em:
# dpkg -r k3b

Basicamente, quando encontrar este tipo de problema você deve:

a) Rodar o "apt-get update" para ter certeza que a lista de pacotes do apt está atualizada.

b) Rode o comando "apt-get -f install" para usar o sistema de resolução de problemas do apt.

c) Caso ele não resolva, experimente usar o "dpkg -i --force-all" para forçar a instalação do pacote com
problemas, como no meu exemplo, ou use o "dpkg -r pacote" caso prefira desistir da instalação.

d) Rode o comando "dpkg --configure -a", que verifica pendências na configuração dos pacotes.

d) Rode novamente o "apt-get -f install". Caso ele não resolva, experimente o "apt-get -f remove", que
tem uma função similar à do "-f install", mas dá preferência a remover os pacotes com problemas, ao
invés de tentar corrigir a instalação.

Chaves de autenticação

O GPG é um sistema de encriptação composto de duas chaves, uma chave pública, que é distribuída
abertamente e uma chave privada, que é secreta. A cache privada pode ser utilizada para encriptar
arquivos, que podem ser desencriptados apenas usando a chave pública. Isto é feito através de um truque
matemático: a chave privada é uma espécie de equação extremamente complexa, que embaralha o
conteúdo dos arquivos. A chave pública é um antídoto para ela, que permite reverter os dados a seu
estado original. Porém, é impossível descobrir o conteúdo da chave privada usando a chave pública e é
também impossível fazê-lo via força bruta.

A partir da versão 0.6, incluída no Debian Etch, o apt-get passou a operar em modo seguro, onde o
desenvolvedor usa sua chave GPG privada para assinar seus pacotes e o apt-get usa a chave pública para
verificar se o pacote que está sendo instalado não sofreu modificações.

Este processo extremamente seguro, que visa ter certeza de que o pacote que está sendo instalado na sua
máquina é exatamente o mesmo que foi disponibilizado pelo desenvolvedor, eliminando qualquer
possibilidade de alguém de má fé alterar o conteúdo pelo caminho.

Este é um nível se segurança que não possui similar no mundo Windows. Mesmo que alguém consiga
invadir o servidor onde os pacotes estão hospedados, ou consiga dar upload de pacotes falsos usando uma
senha roubada, não terá como falsificar também a assinatura dos pacotes, fazendo com que você seja
avisado ao tentar instalar e o problema seja detectado instantâneamente.

A desvantagem é que isto tornou o uso do apt um pouco mais complexo, já que agora, além de rodar o
"apt-get update", para atualizar a lista dos pacotes, você precisará muitas vezes atualizar também a lista
com as chaves públicas, usadas para verificar os pacotes.

Ao atualizar a partir de uma versão antiga do apt-get, no Kurumin 5.1 ou anterior, ou em qualquer
distribuição derivada do Debian que venha com uma versão antiga do apt-get, você passará a receber
erros como estes ao rodar o "apt-get update":

W: GPG error: http://ftp.us.debian.org etch Release: Could not execute /usr/bin/gpgv to verify signature (is
gnupg installed?)

O primeiro passo é instalar o pacote "gnupg", usado pelo apt-get para fazer a verificação:

# apt-get install gnupg


Como o sistema de autenticação ainda não está funcionando, ele vai exibir o aviso padrão, pressione "s"
para continuar a instalação:

AVISO : Os pacotes a seguir não podem ser autenticados !


gnupg
Instalar estes pacotes sem verificação [s/N]?

Com o gnupg instalado, falta baixar as chaves públicas, que serão usadas para verificar os pacotes. Cada
repositório listado no arquivo "/etc/apt/sources.list" possui uma chave diferente. Sem instalar as
respectivas chaves, você continuará recebendo erros, como em:

W: GPG error: ftp://ftp.nerim.net etch Release: Couldn't access keyring: Arquivo ou diretório não
encontrado.

Para baixar a chave para o repositório principal, use o comando abaixo (como root):

# wget http://ftp-master.debian.org/ziyi_key_2006.asc -O - | apt-key add -

Esta chave será atualizada anualmente. Em Janeiro de 2007, 2008, 2009, etc., atualize-a com o mesmo
comando, mudando apenas o ano, como em:

# wget http://ftp-master.debian.org/ziyi_key_2007.asc -O - | apt-key add -

Para baixar a chave do repositório Marillat (de onde são instalados o mplayer, o w32codecs e vários
outros pacotes ligados a multimídia, de uma forma geral), que é usado por padrão no Kurumin e em
diversas outras distribuições, use os comandos:

# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys 1F41B907


# gpg --armor --export 1F41B907 | apt-key add -

Para o Debian Unofficial, também usado por padrão no Kurumin, use:

# gpg --keyserver subkeys.pgp.net --recv-keys 4B2B2B9E


# gpg --armor --export 4B2B2B9E | apt-key add -

Concluindo, baixe também a chave para o repositório com as atualizações de segurança do Etch:

# wget http://secure-testing.debian.net/ziyi-2005-7.asc -O - | sudo apt-key add -

Estes comandos para baixar as chaves podem ser encontrados nas páginas iniciais dos respectivos
projetos, ou através do Google. Faça uma pesquisa por "gpg", mais o endereço do repositório dos pacotes,
como em "gpg ftp://ftp.nerim.net"

Depois de adicionar todas as chaves, rode novamente o "apt-get update" e os erros desaparecerão.

Se você precisar adicionar endereços extras, cujos pacotes não estejam assinados no "sources.list" e
quiser desabilitar os avisos do apt-get, adicione a linha "APT::Get::AllowUnauthenticated 1 ;" no arquivo
"/etc/apt/apt.conf".
Usando o Alien

O Alien permite converter pacotes .rpm, que originalmente seriam destinados a outras distribuições, como
o Fedora, Mandriva, etc. Usar pacotes destinados a outras distribuições nem sempre funciona, pois eles
foram compilados para trabalhar em outro ambiente, com bibliotecas e componentes diferentes dos que
estão realmente instalados no seu micro. Mas, em muitos casos, pode ser a única opção.

Um exemplo clássico é o antigo pacote de drivers 3D para as placas ATI Radeon. Digo antigo, pois nas
novas versões ele adotou um sistema similar ao do VMware, onde existe um instalador genérico, que se
encarrega da instalação.

O driver antigo era distribuído apenas em versão .rpm, muito embora pudesse (com algumas adaptações),
ser usado em outras distribuições.

O Alien pode se instalado usando o próprio apt-get:

# apt-get install alien

Para converter um pacote, simplesmente use o comando "alien", seguido pelo arquivo, como em:

# alien fglrx_4_3_0-8.10.19-1.i386.rpm

fglrx-4-3-0_8.10.19-2_i386.deb generated

Note que ele gera um arquivo de mesmo nome, mas com a extensão .deb, que
pode ser instalado usando o comando "dpkg -i".

Converter pacotes de um formato para outro é bem mais simples do que pode
parecer à primeira vista. O principal não é o formato do pacote em si, mas o que
existe dentro dele. Atualmente, está em desenvolvimento um gerenciador de
pacotes universal, o "smart", que é capaz de converter e instalar automaticamente
pacotes de diferentes formatos. Ele pode vir a ser o sucessor do apt-get, urpmi,
yum e outros gerenciadores que usamos hoje em dia.

Instalando a partir do código fonte

Os pacotes com código fonte, distribuídos na forma dos famosos pacotes .tar.gz ou .tar.bz2, são o formato
mais universal, porém ao mesmo tempo o mais complicado de instalar, que você deixa como um último
recurso a lançar mão quando não encontrar um pacote atualizado do programa que precisa instalar.

Em primeiro lugar, é necessário ter instalado um conjunto de compiladores, incluindo o gcc e g++, e
ferramentas como o make, autoconf, diff e patch e bibliotecas, como o binutils-dev, libc6-dev. Este "kit
básico" é instalado ao marcar a categoria "desenvolvimento" (ou development) durante a instalação. No
caso do Kurumin, use o script "instalar-compiladores".

Uma dica é que todos os pacotes cujo nome termina com "-dev" são justamente bibliotecas de
desenvolvimento, que podem ser necessários ao compilar determinados programas. Quando o instalador
reclama da falta de bibliotecas ou arquivos do X, provavelmente ele está dando falta do pacote "xlibs-
dev", quando reclamar da falta de arquivos do KDE, provavelmente está pedindo o pacote "libqt3-dev" e
assim por diante. A maior dificuldade em compilar programas complexos está justamente em localizar e
instalar o conjunto de bibliotecas de que ele precisa.
Se os pré-requisitos estiverem em ordem, a compilação em si é feita descompactado o arquivo (usando o
comando "tar -zxvf pacote.tar.gz" ou "tar -jxvf pacote.tar.bz2" ou descompactando pelo próprio
Konqueror), acessando a pasta que será criada e rodando três comandos básicos:

$ ./configure
$ make
# make install

O "./configure" executa um script (dentro da pasta do programa), que verifica o sistema, em busca dos
componentes de que precisa. Ele avisa caso algo esteja faltando, como neste erro que apareceu ao tentar
compilar o Qemu:

ERROR: QEMU requires SDL or Cocoa for graphical output


To build QEMU with graphical output configure with --disable-gfx-check
Note that this will disable all output from the virtual graphics card.

Neste exemplo, está faltando a biblioteca de desenvolvimento do SDL. Quase sempre, os pacotes que
contém bibliotecas começam com "lib" e os pacotes de desenvolvimento terminam com "-dev".
Procurando no http://www.debian.org por um pacote que comece com "lib", termine com "-dev" e tenha
"sdl" no meio, você chega ao "libsdl1.2-dev", que é justamente o pacote que estava faltando neste caso :).
Em casos onde a solução parecer mais difícil, a melhor opção é fazer uma busca no Google, usando parte
da mensagem de erro.

O "make" cuida do trabalho pesado, fazendo a compilação propriamente dita. Ele se baseia nas
informações deixadas pelo configure para encontrar os componentes de que precisa.

Finalmente, temos o "make install", que finalmente instala o programa, copiando os arquivos gerados
pelo make para as pastas corretas do sistema. Ao contrário dos dois primeiros comandos, ele precisa ser
executado como root, já que envolve fazer alterações no sistema.

Apesar destes três comandos serem um padrão adotado na maioria dos pacotes, eles não são
necessariamente uma regra. Muitos programas usam sistemas simplificados de instalação ou mesmo
scripts próprios, por isso é sempre bom dar uma olhada no arquivo "INSTALL" ou "README" dentro da
pasta, que explica os passos necessários.

Em geral, os programas instalados a partir dos fontes não criam os ícones no menu. Você precisa chamar
o programa via linha de comando ou criar os ícones manualmente.

Uma dica com relação às dependências e bibliotecas é usar o auto-apt, um programa que verifica as
mensagens de erro geradas durante a compilação e procura instalar via apt-get os componentes
necessários para concluir a compilação. Ele não é perfeito: muitas vezes se perde ou tenta instalar pacotes
desnecessários, mas realmente ajuda em muitos casos. Você pode instalá-lo via apt-get:

# apt-get install auto-apt

Depois de instalado, execute (nesta ordem) os comandos "auto-apt update", "auto-apt updatedb" e
"auto-apt update-local", que geram a base de dados que ele usa para fazer seu trabalho.

Depois de tudo pronto, você passa a executar os comandos de compilação dos pacotes através dele,
usando o comando "auto-apt run" seguido pelo comando, como em:

# auto-apt run ./configure


# auto-apt run make

Programas com instalador


Como comentei, muitos programas usam instaladores próprios e são desenvolvidos de forma a
funcionarem sem modificações em várias distribuições. Alguns exemplos são o Java, RealPlayer, Acrobat
Reader, os drivers 3D da nVidia e ATI, versões antigas do OpenOffice (anteriores ao 2.0), versões do
Firefox e Thunderbird baixadas do mozilla.org ou mozilla.org.br e muitos jogos (como o Quake 3,
Unreal, Medal of Honour e outros), que utilizam um instalador gráfico desenvolvido pela saudosa Loki.

Estes programas quase sempre usam a extensão ".sh" e são fáceis de instalar, já que basta executar o
arquivo num terminal para iniciar a instalação.

Ao baixar o arquivo, ele sempre virá com a permissão de execução desmarcada, uma medida de
segurança para prevenir acidentes com possíveis arquivos infectados com vírus e trojans. Apesar de
parecer perda de tempo, esta é uma das medidas que mais contribui para a segurança geral do sistema
num desktop, pois você não corre o risco de executar um arquivo simplesmente por clicar por acidente
num link no navegador ou no leitor de e-mails: precisa realmente salvá-lo no HD, marcar a permissão de
execução e finalmente executá-lo. Um vírus que se propagasse via e-mail encontraria um terreno muito
menos fértil no Linux; ele teria que vir com manual de instruções ;).

Para ativar a permissão de execução, use o comando "chmod +x", como em:

$ chmod +x mohaa-lnx-1.11-beta3.run

Muitos instaladores podem ser executados diretamente com seu login de usuário, desde que você instale o
programa numa pasta dentro do seu home. Outros realmente precisam ser executados como root.

Você pode executar o programa diretamente pelo Konqueror, clicando sobre ele (lembre-se de que você
pode abrir o Konqueror como root usando o comando "sudo konqueror" ou ainda "kdesu konqueror"); ou
pelo terminal, usando o "./", como em:

# ./mohaa-lnx-1.11-beta3.run
No caso dos games, o instalador pede os CDs de instalação do Windows, da onde
copia os arquivos necessários (mapas, sons, etc.). Mas, depois de instalado, o
game roda realmente como um aplicativo nativo.

No caso de games compostos por vários CDs, você por usar os comandos "umount
/mnt/cdrom" e "mount /mnt/cdrom" para trocar o CD durante a instalação. A dica
neste caso é que você não pode estar dentro da pasta "/mnt/cdrom" ao tentar
desmontar o CD, caso contrário o sistema percebe que o diretório está em uso e
retorna um erro. Dê os comandos a partir de outro diretório qualquer e você
consegue desmontar normalmente.

Além das páginas dos respectivos desenvolvedores, você pode baixar os


instaladores (e demos) for Linux de muitos dos games portados no:
http://darkstar.ist.utl.pt/pub/games/.

Outras ferramentas de instalação

O apt-get é atualmente quase que uma ferramenta universal. Além de ser usado
nas muitas distribuições derivadas do Debian (incluindo o Ubuntu), ele foi portado
para distribuições derivadas do Red Hat pela Equipe da Conectiva. Embora ainda
não seja a opção padrão, ele pode ser instalado no Mandriva, Fedora e em outras
distribuições.

Mas, além do apt-get em si, existem outras ferramentas de instalação, particulares


de cada distribuição.

No Mandriva é usando o "rpmdrake", um utilitário gráfico (disponível dentro do


Mandriva Control Center) que permite instalar, remover e atualizar programas.
Também é possível instalar programas via linha de comando usando os comandos
"urpmi programa" (para instalar) e "urpme programa" (para remover). Por
padrão, o urpmi simplesmente instala os pacotes a partir dos CDs de instalação,
mas é possível adicionar fontes adicionais, como no apt-get. Um site que ajuda
nesta tarefa é o: http://easyurpmi.zarb.org/.

No Fedora é usado o "yum", que funciona de forma bem similar ao apt-get,


baixando os pacotes da Internet, junto com as dependências. Use o comando "yum
install pacote" para instalar novos programas e "yum remove pacote" para
remover. Existe ainda o comando "yum update" que atualiza de uma vez todos os
pacotes do sistema, de forma similar ao "apt-get upgrade". No yum não existe
necessidade de baixar uma lista de pacotes, como no "apt-get update", pois ele faz
isso automaticamente no início de cada operação.

Assim como no urpmi, é possível adicionar repositórios extras, adicionando-os no


arquivo "/etc/yum.conf".

Programas de escritório

Ao longo dos anos, o MS Office conquistou uma espécie de hegemonia dentro da


plataforma Windows, como a suíte de escritório mais usada. Grande parte disto se
deve ao formato de arquivos usado. A partir do momento em que a maioria começa
a usar o Office e começa a lhe mandar documentos criados nele, gostando ou não
você acaba sendo obrigado a também ter o Office instalado para conseguir abri-los.

Ter uma boa suíte de escritório, que ofereça bons recursos e compatibilidade com
os arquivos do Office e ter um bom navegador são pré-requisitos para qualquer
sistema operacional ter condições de competir com o Windows. Felizmente, já
temos no Linux programas tecnicamente superiores tanto ao Office quanto ao
Internet Explorer: o OpenOffice e o Firefox, que inclusive rodam nas duas
plataformas.

OpenOffice

O OpenOffice dispensa apresentações. Ele é a segunda suíte de escritório mais


usada no mundo, atrás apenas do MS Office, disponível tanto em versão Linux,
quanto Windows.

O OpenOffice possui algumas vantagens importantes sobre o MS Office, como o


fato de ser compatível com mais formatos de arquivos, ser capaz de salvar
documentos em PDF nativamente (Arquivo > Exportar como PDF) e salvar os
documentos num formato aberto, gerando arquivos muito mais enxutos e
portáveis. Isso é muito importante para empresas e governos e mesmo para muitos
que armazenam grandes quantidades de textos e outros documentos importantes.
Usando o formato do OpenOffice você tem certeza que poderá abrir estes
documentos daqui a 10, 20 ou 30 anos. No caso do MS Office, não existe esta
garantia pois você fica amarrado a um fornecedor específico que controla o
formato, no caso a Microsoft.

Os arquivos gerados pelo OpenOffice são na verdade arquivos compactados,


contendo arquivos separados para o texto, layout e imagens e outros objetos
incluídos. As imagens são mantidas em seu formato original (sem perda, ou
qualquer tipo de alteração) e o texto é salvo na forma de um arquivo .xml,
razoavelmente legível, bem diferente da sopa de bytes gerada pelo concorrente.
Examine você mesmo, descompactando um documento qualquer, como se fosse
um arquivo zip. Via linha de comando você pode usar o comando "unzip", como em
"unzip 1-Intro.sxw":
O fato do formato ser legível, organizado e aberto (o que permite que outros
programas incluam suporte, filtros de conversão e outros tipos de ferramentas que
permitam lidar com os arquivos), não existe nenhuma possibilidade real de você ter
documentos corrompidos, "irrecuperáveis" como acontece no MS Office. Mesmo que
uma tragédia acontecesse, ainda seria possível abrir o arquivo e arrumá-lo
manualmente, corrigindo ou removendo a parte danificada usando um editor de
textos.

O OpenOffice é composto pelo Writer, Calc, Draw, Impress e Math, que são
respectivamente o editor de texto, planilha, programa de desenho vetorial, gerador
de apresentações e editor de equações. Naturalmente, o Writer e o Calc são os
mais conhecidos e usados, mas o Draw e o Impress também surpreendem pelos
recursos.

O OpenOffice 2.0 trouxe um novo componente, o Base, um gerenciador de banco


de dados que oferece recursos similares aos do MS Access, além de muitas
melhorias na interface, novas funções dentro dos demais aplicativos e um melhor
suporte aos documentos do MS Office. Apesar do tamanho do pacote ter
aumentado, o desempenho melhorou em relação ao OpenOffice 1.1.3 e anteriores,
sobretudo o tempo de abertura. Mesmo que você já utilize uma versão anterior do
OpenOffice, é interessante procurar migrar para a nova versão, devido a todas as
melhorias.

Você pode baixar o OpenOffice no http://www.openoffice.org.br mas, na maioria


dos casos, a melhor opção é simplesmente instalar a versão mais recente da sua
distribuição favorita e usar a versão incluída. O Kurumin, por exemplo, passou a vir
com o OpenOffice 2.0 a partir da versão 5.1, usada para escrever este livro.
Existem algumas dicas com relação ao desempenho do OpenOffice (como
desabilitar o Java e aumentar o tamanho dos caches) e dicas para melhorar a
qualidade do corretor ortográfico, que veremos a seguir.

Enquanto escrevo, os manuais do OpenOffice 2.0 ainda não foram traduzidos para
o português. Você pode acompanhar o trabalho de tradução no
http://www.openoffice.org.br/, ou ler os documentos originais, em inglês no
http://documentation.openoffice.org/manuals/index.html.

Outro site com várias dicas é o http://www.tutorialsforopenoffice.org/.

Configurando o OpenOffice

O OpenOffice é um dos aplicativos mais complexos que temos no Linux, com mais
linhas de código que o próprio Kernel e um sem número de componentes e
bibliotecas diferentes. Ele também inclui suporte a diversas línguas e ao Java, o que
torna o conjunto ainda mais complexo :).

É possível obter o OpenOffice a partir de dois lugares. No


http://www.openoffice.org/, você pode baixar o pacote oficial da Sun,
disponibilizado em várias línguas (que é o pacote que vem pré-instalado na maioria
das distribuições), enquanto no http://www.openoffice.org.br/ você encontra o
pacote localizado para o Brasil, mantido pela equipe responsável pela tradução para
o Português do Brasil, ainda na época do StarOffice.
Na pasta de downloads do site, você encontra três pacotes:

OOo_2.0_Win32Intel_install.exe: O pacote com o instalador for Windows.

OOo_2.0_LinuxIntel_install_debs.tar.gz: O pacote compactado, contendo o


OpenOffice empacotado na forma de pacotes .deb.

OOo_2.0_LinuxIntel_install_rpms.tar.gz: Tem o mesmo conteúdo, mas


empacotados na forma de pacotes RPM.

Pela lógica, se você usasse o Ubuntu, Kurumin, ou qualquer outra distribuição


derivada do Debian, você baixaria os pacotes contendo os pacotes .deb. Mas, isto
nem sempre é uma boa idéia, pois este pacote é gerado para trabalhar no Debian
unstable e tem um grande número de dependências, que impedem que seja
instalado em muitas distribuições.

Ao invés disso, a instalação é mais simples se você baixar o pacote com os pacotes
RPM e convertê-los usando o alien. Para isso, comece instalando o alien pelo apt-
get, como em:

# apt-get install alien

Descompacte o pacote e, dentro da pasta contendo os pacotes .rpm, rode o


comando que faz a conversão:

# alien *.rpm

Isso vai gerar um conjunto de pacotes com o mesmo nome, porém com a extensão
.deb. Você pode em seguida instalá-los usando o comando:

# dpkg -i *.deb

Na pasta "desktop-integration" você encontra pacotes contendo os ícones do menu


iniciar para várias distribuições. Lembre-se de que você deve instalar apenas um
deles. O arquivo com os pacotes .deb contém o pacote "openoffice.org-debian-
menus", com os ícones para as distribuições derivadas do Debian.

Na verdade, esta parte da instalação não é necessária na grande maioria dos casos,
pois o OpenOffice já vem pré-instalado na maioria das distribuições. O próximo
passo é o corretor ortográfico, uma peça essencial se você realmente usa o
OpenOffice no dia-a-dia.

O OpenOffice 2.0 é por padrão instalado dentro da pasta "/opt/openoffice.org2.0/".


Em algumas distribuições, que incluem pacotes próprios, a pasta de instalação pode
ser a "/usr/lib/openoffice2/" ou mesmo "/usr/share/openoffice/", mas este é um
daqueles casos em que a ordem não altera o resultado.

Dentro da pasta de instalação, acesse o diretório "share/dict/ooo/", que é onde vão


os dicionários da correção ortográfica. O corretor completo é composto por três
componentes, o corretor propriamente dito, o hifenizador (que entende a divisão
das sílabas) e o dicionário de sinônimos (thesaurus), que inclui uma longa lista com
variações de palavras, que complementa o dicionário principal.

O pacote do OpenOffice da Sun vem apenas com um deles (o corretor). O pacote


do OpenOffice.org.br vinha com os três na época do 1.1.3, mas estranhamente
passou a vir apenas com apenas o corretor na versão 2.0, resultando numa
correção ortográfica bastante pobre.

Você pode verificar o status do seu, em "Ferramentas > Opções > Configurações de
Idioma > Recursos de Correção Ortográfica". Se apenas o "OpenOffice.org MySpell
SpellChecker" estiver disponível, (como neste screenshot do OpenOffice incluído no
Ubuntu 5.10), significa que apenas o corretor está instalado.

Mas, não existe motivo para pânico :). Você pode baixar o restante dos
componentes aqui:

http://guiadohardware.net/kurumin/download/dics-oo2-kurumin.tar.gz

Como o nome sugere, este é o arquivo com os dicionários que reuni para uso no
Kurumin, mas que naturalmente pode ser usado em qualquer distribuição. Para
instalar, descompacte o arquivo e copie seu conteúdo para dentro da pasta
"share/dict/ooo/", dentro do diretório de instalação do OpenOffice, substituindo
os arquivos existentes.

Se você escreve textos técnicos, pode baixar também o meu dicionário pessoal,
que contém uma lista enorme de termos técnicos, que ao ser instalado faz o
corretor deixar de marcar os termos como palavras incorretas. Salve o arquivo na
pasta "share/wordbook/pt-BR/" dentro da pasta de instalação do OpenOffice.
Desculpe pelo link longo ;).

http://www.guiadohardware.net/kurumin/skel/.openoffice.org2/user/wordbook/kur
umin.dic

Depois de salvar os arquivos, feche todas as janelas do OpenOffice e abra-o


novamente. Isso fará com que ele encontre os novos arquivos e ofereça a opção de
usá-los. Volte ao "Ferramentas > Opções > Configurações de Idioma > Recursos de
Correção Ortográfica" e você verá que apareceram mais duas opções no campo
"Módulos de Idiomas Disponíveis" e o dicionário "kurumin" no campo "Dicionários
Definidos pelo Usuário". Marque todas as opções e você ficará com o corretor
completo.

No campo "opções" marque a opção "Verificar em todos os idiomas". O pacote dos


dicionários que disponibilizei contém também os arquivos do corretor em inglês
(en_US), de forma que ao ativar esta opção o corretor passará a entender também
palavras em inglês (simultaneamente com as em português) o que acaba sendo
bastante útil, já que é muito comum usarmos termos e palavras do inglês no dia-a-
dia.

Isso evita que você tenha que baixar e instalar todo o pacote do Openoffice.org.br
só porque os corretores não vieram em ordem. O próximo passo é dar uma olhada
geral nas configurações, para reduzir o tempo de carregamento e uso de memória.

É quase que um consenso que o OpenOffice é pesado e que demora pra abrir. Mas
grande parte do "peso" é devido à configuração padrão, que está longe de ser
otimizada. A maior parte das configurações é definida durante a compilação e por
isso não podem ser alteradas facilmente, mas existem duas configurações simples
que podem ser modificadas rapidamente pelo "Ferramentas > Opções" e geram
resultados interessantes.

A primeira é desativar o Java na opção "OpenOffice.org > Java > Usar um JRE". Na
verdade, o Java foi integrado artificialmente ao OpenOffice, como uma tentativa da
Sun de integrar os dois produtos, fazendo com que a popularidade do OpenOffice
impulsionasse também o uso do Java de uma forma geral. O Java é usado apenas
em macros, algumas funções dentro do Base (o banco de dados incluído no
OpenOffice 2.0) e os assistentes para criação de documentos.

Desativar o Java reduz o tempo de carregamento do OpenOffice quase pela metade


e de quebra diminui o uso de memória em quase 30 MB. Você tem a opção de
reativar o Java ao tentar usar qualquer opção que realmente precise dele, de forma
que você pode desativá-lo com segurança.

Um dos motivos do OpenOffice demorar mais para abrir e salvar documentos do


que o MS Office é o fato de ele salvar todas as imagens e o próprio texto e
formatação do documento num formato compactado, que resulta em arquivos
brutalmente menores que os do Office, mas que exigem muito mais processamento
para serem criados e abertos.

Uma forma de reduzir o tempo de carregamento é aumentar o tamanho do cache


gráfico, na opção "OpenOffice.org > Memória > Cache Gráfico". Usar um cache
maior faz com que o OpenOffice consuma mais memória RAM, mas fique
perceptivelmente mais rápido. Se você tem um micro com 512 MB, vai ter bons
resultados reservando de 80 a 150 MB dentro da opção "Utilização para o
OpenOffice.org". Se, por outro lado, você tem um micro com 256 MB ou menos, vai
ter melhores resultados usando um cache menor, de 20 a 40 MB. Ajuste também a
opção "Memória por Objeto", que deve ser proporcional ao tamanho total do cache.
Ao usar um cache maior, aumente o valor e, ao usar um cache menor, reduza-o.

Desativando o Java, aumentando o tamanho dos caches e fuçando um pouco mais


nas configurações é possível fazer o OpenOffice carregar em cerca 7 segundos num
Sempron 2800 com 512 MB (primeiro carregamento, sem preloading) e em pouco
mais de 3 segundos a partir do segundo carregamento (quando ele já está
armazenado no cache de disco) e consumindo bem menos memória RAM que de
costume.
Koffice

O OpenOffice é o líder disparado em número de usuários e (de uma forma geral)


também em recursos. Mas, isso não significa que não existam alternativas. O
Koffice é a suíte office do KDE, composta de 11 aplicativos. Eles oferecem a
vantagem de serem mais leves que o OpenOffice e possuírem menos funções, o
que os torna mais fáceis de usar para muitos.

Inicialmente, os aplicativos do Koffice utilizavam um formato de arquivos próprio,


com um fraco suporte a documentos criados no MS Office ou OpenOffice. Isso
criava um sério problema de interoperabilidade, pois você tinha que salvar um
texto em .rtf ou no formato do Word 6 para conseguir abri-lo em outro lugar.

A partir da versão 1.4, os aplicativos do Koffice passaram a utilizar o formato


OASIS, o mesmo usado pelo OpenOffice 2.0. Isso tornou as duas suítes muito mais
compatíveis entre si. Os filtros para arquivos do Microsoft Office também receberam
melhorias, o que tornou o Koffice uma alternativa mais promissora.

Em resumo, os pontos fortes do Koffice, de uma forma geral, são a leveza (quando
usado em conjunto com o KDE), facilidade de uso e a boa integração entre os
aplicativos. Os negativos são a falta de muitos recursos avançados e a
compatibilidade com arquivos gerados no MS Office e no OpenOffice, que apesar
das melhorias das últimas versões ainda está longe de ser perfeita.

Os aplicativos que compõe o Koffice (na versão 1.4.2) são:

Kword, Kspread e Kpresenter: Estes são os três aplicativos base,


respectivamente o editor, planilha e gerador de apresentações, correspondentes ao
Word, Excel e Power Point do Office.

Kivio e Kchart: Estes dois adicionam funcionalidades aos aplicativos principais. O


Kivio é um gerador de fluxogramas (similar ao Visio), enquanto o Kchart permite
gerar gráficos e diagramas. Apesar de você poder usá-los de forma autônoma, os
fluxogramas e gráficos gerados por eles podem ser integrados aos documentos do
Kword, Kspread e Kpresenter. Complementando a dupla, temos também o
Kformula, que permite gerar fórmulas matemáticas para uso nos documentos.

Karbon: O Karbon é um programa de desenho vetorial, com uma interface que


lembra um pouco a do Corel Draw. Apesar de trabalhar por padrão com um formato
próprio, ele é compatível com o formato SVG, de forma que é possível editar
arquivos criados no Inkscape e outros programas. O Karbon também é capaz de
importar os arquivos gerados no Kivio e Kchart, permitindo que você aplique efeitos
e faça retoques em geral.

Kugar: É um gerador de relatórios. Ao contrário dos outros programas da suíte, ele


é desnecessariamente complicado de usar e pouco intuitivo. Um dos problemas
fundamentais é que ele não é capaz de importar dados de outros aplicativos, é
necessário criar manualmente um arquivo XML com as informações e criar o layout
do relatório separadamente, usando o comando "kudesigner" (quem inventou este
nome definitivamente não era brasileiro ;). No final você usa o Kugar para carregar
os dois arquivos e, finalmente, ter seu relatório. Essa burocracia toda me faz dar
razão para as pessoas que preferem usar papel e caneta :-/.

Kplato: É um gerenciador de projetos, onde você pode incluir vários objetivos ou


tarefas, pessoas encarregadas de executá-las, além de objetivos ou prazos. Ele
pode ser usado em diversas áreas, de construções a desenvolvimento de projetos.
Ele é um dos componentes mais novos da suíte, e vem passando por grandes
mudanças a cada versão.

Kexi: Um gerenciador de banco de dados (como o Base do OpenOffice ou o MS


Access), mas ainda em estágio inicial de desenvolvimento. Ele pode trabalhar com
uma base de dados local, ou acessar um servidor MySQL ou Postgree. Para
trabalhos sérios, é mais aconselhável usar o OpenOffice Base, incluído a partir do
OpenOffice 2.

Krita: Este é provavelmente um dos componentes mais promissores do pacote. Ele


é um editor de imagens, similar ao Gimp e ao Photoshop em diversos aspectos,
mas surpreendentemente poderoso e fácil de usar.

Koffice-i18n-ptbr: Este pacote contém a tradução para o português do Brasil para


todos os programas. É necessário instalá-lo para ter suporte à nossa língua, mesmo
que você pretenda instalar apenas um dos componentes.

Todos estes pacotes podem ser instalados diretamente via apt-get, como em "apt-
get install kword kspread kpresenter krita koffice-i18n-ptbr". Você encontra a suíte
completa disponível a partir do Debian Sid (o atual testing). Todos os aplicativos do
Koffice compartilham do corretor ortográfico padrão do KDE, configurado no Centro
de Controle.

Abiword

Depois do OpenOffice, o Abiword é provavelmente o melhor substituto para o Word.


Ele possui um conjunto equilibrado de recursos e uma interface bem similar à do
Word, o que o torna familiar para quem vem do Windows.

O Abiword possui dois pontos fortes: ele é leve e independente as bibliotecas do


KDE e do Gnome, o que faz com que rode rápido mesmo em micros antigos, ou ao
usar outras interfaces gráficas, e ele possui uma boa compatibilidade com os
arquivos do Word, que rivaliza em qualidade com os filtros do OpenOffice e estão
bem à frente dos filtros do Kword. O Abiword possui também uma versão Windows
(além de versões para o Mac OS e diversos outros sistemas), que pode ser baixada
no: http://www.abisource.com/.

Assim como o Kword, o Abiword é capaz de abrir documentos gerados no


OpenOffice, mas a compatibilidade está longe de ser perfeita. Pelo contrário, existe
um melhor suporte aos documentos do MS Office (um formato obscuro e
complicado) do que ao formato aberto usado pelo OpenOffice, um paradoxo.

Ao instalar o Abiword via apt-get, instale também os pacotes "abiword-plugins"


(que inclui a maior parte dos filtros de conversão de documentos) e o "aspell-pt-
br", que inclui o corretor ortográfico.

Gnumeric

O Gnumeric faz par com o Abiword, oferecendo uma opção leve (porém poderosa)
de planilha. Ele surpreende pela quantidade de recursos e pela boa compatibilidade
com os arquivos gerados no Excel. Segundo muitos, o Gnumeric supera o
OpenOffice Calc em vários aspectos. Ao instalá-lo via apt-get, instale também o
pacote "gnumeric-plugins-extra".

Scribus

O Scribus é um programa de editoração eletrônica bastante maduro, similar em


muitos aspectos ao Page Maker. Um programa de editoração é bem diferente de
um editor de textos, pois é mais voltado para a produção do layout da página,
oferecendo uma precisão muito maior. Você usa um editor de textos como Abiword
para escrever um livro, mas usa um programa de editoração quando precisa fazer o
layout de uma revista, ou a própria capa do livro :).

Os pontos fortes do Scribus são a facilidade de uso (comparado com outros


programas da área) e o excelente suporte a exportação de arquivos em PDF, um
ponto em que o Scribus é realmente bem superior a outros programas. Ele inclui
suporte a vários recursos incluídos nas últimas versões do formato, como a
possibilidade de criar PDFs "inteligentes", com a inclusão de java scripts, que
permitem incluir botões, formulários e outras funções.

O Scribus foi o primeiro programa a oferecer suporte ao formato PDF/X-3 (um


padrão ISO, aberto, para gerar arquivos PDF de alta qualidade, destinados à
impressão), antes mesmo das ferramentas da Adobe. Ele também suporta CMYK (a
conversão é feita automaticamente ao gerar arquivos PDF) e possui muitas
ferramentas de desenho, incluindo o suporte a arquivos em SVG (um padrão para
desenhos vetoriais), que podem ser incluídos diretamente no documento e
modificados dentro do próprio Scribus, sem necessidade de ficar importando e
exportando.

Ele pode também ser expandido através de plugins, escritos em C++, ou scripts,
escritos em Python. Veja mais detalhes aqui:
http://docs.scribus.net/index.php?&page=plugin_howto. Você pode encontrar
vários tutoriais sobre o uso do Scribus no http://docs.scribus.net/.

Assim como o OpenOffice, o Scribus utiliza um formato de arquivo aberto e


bastante limpo, baseado em arquivos XML. Isto surpreende, pois os arquivos
gerados pelo PageMaker, Quark e outros programas da área são extremamente
complexos e ilegíveis, praticamente impossíveis de recuperar quando algo dá
errado. No caso do Scribus, é muito mais raro perder trabalhos por causa de
arquivos corrompidos e, mesmo nestes raros casos, existe sempre a possibilidade
de abrir o arquivo num editor de textos e remover a parte danificada.

Por ser um programa bastante popular atualmente, o Scribus é bem simples de


instalar na maioria das distribuições, basta instalar o pacote "scribus" usando o apt-
get, urpmi ou yum. Caso ele esteja aparecendo em inglês, experimente chamá-lo
via linha de comando, usando o comando "scribus --lang br".

O Scribus se beneficia dos avanços feitos pelo Linux em outras áreas, como no
suporte a fontes truetype, as brutais melhorias no sistema de impressão, as
melhorias nas bibliotecas gráficas e assim por diante. É a combinação de tudo isso
que tem possibilitado o aparecimento de tantos programas profissionais para a
plataforma, que realmente podem ser utilizados em ambientes de produção.

Imagem e desenho
O Gimp é o programa de edição de imagens for Linux mais conhecido, mas ele não
é mais o único. Atualmente temos também programas como o Krita e o
Kolourpaint, que também são editores de imagens, além do Inkscape, Sodipodi e
Karbon, que são editores vetoriais. O Blender e o Blender e o PovRay
complementam as duas turmas, oferecendo opções para modelagem em 3D. Temos
ainda o Tuxpaint, que é um programa de desenho infantil, muito bonito e bem
feito.

Gimp

O Gimp é sem sombra de dúvida o editor de imagens for Linux mais completo e
maduro disponível atualmente. Mesmo se comparado aos programas do Windows, o
Gimp leva vantagem sobre a grande maioria; apenas o próprio Photoshop concorre
diretamente com ele em recursos. Uma das funções mais interessantes são os
scripts disponíveis em "Extras > Script-Fu", que permitem criar logotipos e efeitos
diversos de forma muito simples, como este, criado usando a função "Logos >
Brilhante".

A maior dificuldade tem a ver mais com a disposição das funções e a interface em
geral. Embora o Gimp seja muito similar ao Photoshop em recursos, a interface é
organizada de forma diferente e muitos efeitos são obtidos através do uso de duas
ou mais ferramentas. O Gimp também não é um programa especialmente fácil de
usar para quem não tem uma boa noção sobre o uso de programas gráficos. O
programa exige uma certa curva de aprendizado.

O Gimp pode ser encontrado em praticamente todas as distribuições. Se ele não


vier instalado por padrão, você pode instalá-lo usando o apt-get, yum ou urpmi,
chamando diretamente pelo nome, como em "apt-get install gimp", "urpmi gimp"
ou "yum gimp".

Existem diversos sites em Português com dicas sobre o Gimp, dois dos mais
conhecidos são o http://www.ogimp.com.br/ e o http://www.gimp.com.br/. Você
também vai encontrar uma grande quantidade de tutoriais e exemplos no site
oficial: http://www.gimp.org/docs/.

Se você estiver à procura de um programa mais simples, mais no estilo "paint",


pode experimentar o Kolourpaint, que faz parte KDE e também está disponível via
apt-get, ou mesmo o Krita, que vimos no tópico sobre o Koffice.

O Tuxpaint é um misto entre editor de imagens e programa educativo. Ele é um


programa de desenho para crianças (de todas as idades), que conta com vários
efeitos sonoros e animações, que tornam o programa muito colorido e atraente.
Você pode baixá-lo via apt-get (apt-get install tuxpaint) ou ver mais detalhes no:
http://www.newbreedsoftware.com/tuxpaint/.

Inkscape

O Inkscape é um programa de desenho vetorial, similar em muitos aspectos ao


Corel e ao Illustrator. O principal atrativo do Inkscape é que, apesar do programa
conter muitas funções e ser bastante poderoso, a interface e as funções são bem
simples de usar, com as ferramentas fazendo o que são projetadas para fazer, sem
esquisitices.

Ele utiliza por padrão o formato SVG, uma espécie de padrão entre os programas
vetoriais. Você pode abrir os arquivos criados no Inkscape diretamente no
Illustrator, ou importá-las no Corel. Eles também oferecem a opção de exportar em
SVG, de forma que existe um bom nível de intercompatibilidade.
Clicando em "Ajuda > Tutoriais" você tem acesso aos arquivos de ajuda do
Inkscape, que são documentos editáveis, em SVG. Esta é uma idéia bem
interessante, pois todos os campos e exemplos podem ser editados através do
próprio Inkscape, permitindo que você realmente coloque a mão na massa
enquanto está lendo, editando os exemplos e testando as funções.

Se os arquivos não estiverem disponíveis, simplesmente reinstale o Inkscape. Você


pode fazer isso via apt-get usando o comando "apt-get install --reinstall inkscape".

Você pode encontrar uma quantidade muito grande de cliparts e desenhos editáveis
e de livre distribuição (a maior parte em SVG), bem úteis para treinar e usar no
dia-a-dia no: http://www.openclipart.org/.

O Inkscape surgiu em 2003 como uma derivação do Sodipodi. Desde então os dois
programas têm sido desenvolvidos de forma mais ou menos separada, mas a maior
parte das funções são muito similares em ambos. A principal diferença é que o
Inkscape utiliza uma interface "estilo corel", com as barras de ferramentas incluídas
na janela principal, enquanto o Sodipodi é baseado em menus flutuantes. O
Sodipodi também pode ser instalado via apt-get: "apt-get install sodipodi".
Blender

Originalmente, o Blender utilizava uma licença mista, com algumas partes do


programa cobertas pela GPL, enquanto a maior parte era proprietária. Apesar disso,
o Blender era gratuito, tanto na versão Linux quanto na versão Windows.

Porém, a empresa que desenvolvia o Blender passou pro problemas financeiros e


acabou sendo comprada. Acontece que os compradores estavam mais interessados
na propriedade intelectual e no quadro de funcionários e demonstraram pouco
interesse em continuar o desenvolvimento do Blender.

O Blender já tinha então muitos fãs. Um grupo se uniu e propôs a compra dos
direitos sobre o Blender por 100.000 euros. A proposta foi aceita e o dinheiro foi
arrecadado através de uma campanha feita via Web. O resultado é que depois de
resolvida toda a papelada, o Blender passou a ser licenciado integralmente sob a
GPL e a ser desenvolvido num ritmo muito rápido.

A página oficial é a http://www.blender.org, onde você encontra uma grande


quantidade de tutoriais e trabalhos desenvolvidos nele. Existe também uma página
em português no http://blender.com.br.

A instalação via apt-get é bem simples, basta usar o comando "apt-get install
blender".

Outra opção é o PovRay é um programa profissional de modelagem em 3D,


concorrente do Blender. Além da versão for Linux, existem ports para o Windows e
OSX. Na página oficial você pode encontrar uma grande quantidade de
documentação e vários projetos de exemplo: http://www.povray.org.

Ao instalar via apt-get, baixe também o kpovmodeler, que é uma interface para
ele. O comando fica: "apt-get install povray kpovmodeler".

Ksnapshot

No Windows, a forma mais comum de tirar um screenshot é apertar a tela print


screen, colar a imagem em algum programa de edição de imagem e finalmente
salvá-la num arquivo. No KDE, você pode fazer isso de uma forma muito mais
simples usando o Ksnapshot.

O Ksnapshot é um programa extremamente prático. Ao chamá-lo, ele


automaticamente tira um screenshot da tela atual. Você pode salvar este
screenshot diretamente, basta escolher um nome de arquivo. O melhor de tudo é
que ele salva as imagens já em .png (compactadas de uma forma extremamente
eficiente, mas sem perda de qualidade), com a opção de gerar imagens em .gif,
.jpg ou outros formatos. Você pode criar um atalho de teclado no Painel de Controle
do KDE, de forma que ele seja executado ao pressionar a tecla print screen.

Além de tirar screenshots da tela inteira, ele permite também tirar screenshots de
janelas. Para isso, basta marcar a opção "Janela sob o cursor". Você pode
estabelecer também um tempo de espera, 5 segundos, por exemplo, dando tempo
de chegar até algum menu ou opção. Existe também uma função para imprimir
diretamente o screenshot.
Não é preciso dizer que ele é uma ferramenta extremamente prática para quem
deseja desenvolver apostilas e tutoriais. Você pode tirar rapidamente uma grande
quantidade de screenshots mostrando todos os menus de um determinado
programa e já salvá-los num formato compactado, pronto para o uso.

Junto com o OpenOffice, o Ksnapshot é um dos programas que mais estou


utilizando no desenvolvimento deste livro, por isso não poderia deixar de indicá-lo
aqui :).

Navegadores

O Navegador é provavelmente a ferramenta mais importante hoje em dia, um


recurso básico que damos como garantido em qualquer sistema que se preze.
Existem três grandes navegadores disponíveis no Linux: o Firefox, Konqueror e
Opera, seguidos por projetos menores, de navegadores especializados, como o
Epiphany (um navegador baseado no Firefox, que usa as bibliotecas do Gnome) e
até navegadores leves, destinados a micros antigos e dispositivos embarcados,
como o Dillo.

Firefox

No começo existia o Mosaic, que é considerado o primeiro navegador web moderno.


Depois veio o Netscape, que foi durante muito tempo uma espécie de navegador
padrão, até ser desbancado pelo IE, que passou a vir integrado no Windows. O
Netscape teve então seu código aberto e se tornou a base para o projeto Mozilla,
que além de navegador, tinha um cliente de e-mails, editor html e até um cliente
de IRC.

Justamente por conter tantos componentes, o Mozilla era grande e pesado.


Surgiram então versões especializadas, que contém apenas um dos componentes
do pacote e por isso são mais rápidas.
O primeiro foi o Phoenix, que depois mudou de nome para Firebird e finalmente
Firefox, o nome definitivo. O cliente de e-mail do Mozilla se transformou no
Thunderbird e o antigo Composer, que vinha sem muitas modificações desde o
Netscape 4.5, ganhou vida própria na forma do NVU, um editor html visual que
tem a equipe de desenvolvimento parcialmente financiada pela Linspire.

O Firefox é uma espécie de "jóia da coroa" entre os aplicativos de código aberto.


Além de ser o navegador mais usado no Linux, ele é usado como navegador padrão
por mais de 10% dos usuários Windows, desafiando a hegemonia do IE.

É bem provável que você já utilize o Firefox no dia-a-dia, então, ao invés de perder
tempo falando sobre os recursos e a configuração básica, vou aproveitar para falar
sobre a instalação de plugins, um recurso muitas vezes negligenciado na maior
parte das distribuições.

Ao contrário do que tínhamos a alguns anos atrás, atualmente temos plugins para
quase todos os formatos de vídeo, animações e outros tipos de arquivos
encontrados na Web. É possível assistir vídeos via streaming, fazer com que
arquivos PDF sejam abertos diretamente ao clicar sobre um link (com a ajuda do
Acrobat Reader) e assim por diante.

Os plugins que comento aqui já vêm instalados por padrão no Kurumin, mas é útil
conhecer os passos para instalá-los manualmente, tanto para instalá-los em
distribuições que não os tragam por padrão, quanto para corrigir problemas.

A configuração que descrevo aqui é uma espécie de "mínimo denominador comum",


escrito de forma genérica, para funcionar em várias distribuições. Em muitos casos,
você pode instalar o Java, Acrobat, ou mesmo o Flash simplesmente instalando um
pacote. Mas, quando tudo mais falhar, siga as dicas abaixo :).

Suporte a Flash: Para instalar o Flash no Firefox, baixe o pacote for Linux (o arquivo
"install_flash_player_7_linux.tar.gz") disponível no:

http://www.macromedia.com/go/getflashplayer.

Apesar da extensão, o pacote contém o programa já compilado. Basta descompactar, usando o comando
"tar -zxvf flash_linux.tar.gz", ou usando o gerenciador de arquivos e, em seguida, copiar os arquivos
"flashplayer.xpt" e "libflashplayer.so" para dentro da pasta de plugins do Firefox, que na maioria das
distribuições é a "/usr/lib/mozilla-firefox/plugins/".

Para habilitar o Flash também no Konqueror, clique em "Configurações > Configurar Konqueror >
Plugins". Veja se a pasta de plugins do Firefox está na lista e a adicione caso necessário. Depois é
só clicar no "Instalar novos plugins" para que ele detecte e ative o plugin.
Suporte a Java: Embora seja gratuito, o Java não é open-source, nem livre. O
desenvolvimento é controlado pela Sun e mesmo a distribuição do pacote está
sujeita a um contrato de licença. Isto faz com que muitas distribuições não incluam
o Java, novamente obrigando-o a instalá-lo manualmente.

Nestes casos, você tem duas opções. A primeira é baixar a JRE da Sun, que ativará
o suporte não apenas no Firefox, mas também em outros programas, como o
OpenOffice. O primeiro passo é baixar o instalador no: http://java.sun.com/j2se/.

Escolha entre o "Linux RPM in self-extracting file" e o "Linux self-extracting


file". Os dois são arquivos executáveis, que exibem o contrato de licença e se auto-
descompactam. A diferença é que o primeiro gera um arquivo RPM instalável da
maneira usual e o segundo um arquivo binário que deve ser executado para
concluir a instalação.

O plugin para o Firefox será instalado na pasta


"/usr/lib/j2re1.5/plugin/i386/ns7/". Para instalá-lo, você precisa criar um
link, dentro da pasta "plugins" no diretório de instalação do Firefox apontando para
o arquivo libjavaplugin_oji.so dentro da pasta de instalação do Java. É
importante ressaltar que você não deve copiar o arquivo (pois ele não funciona fora
da pasta original) mas sim criar um link para ele. Se o Firefox está instalado dentro
da pasta "/usr/lib/mozilla-firefox/", por exemplo, o comando seria:

# ln -sf /usr/lib/j2re1.5/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla-firefox/plugins/

A pasta de instalação do Java ou do Firefox podem mudar de distribuição para


distribuição. Se não estiver encontrando, experimente usar o comando "locate",
como em "locate firefox". Ele retorna os nomes de todas as pastas e arquivos com
"firefox" no nome.

Se você usa alguma distribuição derivada do Debian, existe um pacote extra-oficial


disponível no "ftp.debian-unofficial.org", que facilita a instalação.
Para usá-lo, você precisa primeiro adicioná-lo à lista de fontes do apt-get. Para
isso, abra o arquivo "/etc/apt/sources.list" e adicione a linha:

deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free

Rode o comando "apt-get update" para que o apt-get atualize o banco de dados
dos pacotes disponíveis e instale o Java com o comando:

# apt-get install sun-j2se5.0-jre-binary

O pacote inclui um script que cria automaticamente o link dentro da pasta de


plugins do Firefox durante a instalação.

RealPlayer: Embora pouco divulgado, a Real mantém uma versão do Real Player
for Linux desde os tempos da versão 7. Você pode baixar o arquivo no
"http://www.real.com/linux?".

Baixe o arquivo "RealPlayer10GOLD.bin". Este é um arquivo binário, desenvolvido


para funcionar em qualquer distribuição. Para instalá-lo, você precisa apenas
marcar a permissão de executável para o arquivo e em seguida executá-lo, como
root:

# chmod +x RealPlayer10GOLD.bin
# ./RealPlayer10GOLD.bin

O default do programa de instalação é simplesmente instalar o programa dentro da


pasta onde ele foi executado. Se você executá-lo dentro do seu diretório home, ele
vai criar a pasta "/home/$USER/RealPlayer/". Isto permite fazer uma instalação
particular, dentro do seu home e válida apenas para seu login. Neste caso você
pode executar o arquivo usando seu login de usuário, não existe necessidade de
executá-lo como root.

Para fazer uma instalação válida também para o root e outros usuários, instale-o
numa pasta de sistema, como a "/usr/local/RealPlayer/".

O pacote usa um instalador da velha guarda, um script com uma interface simples,
em modo texto. No final ele pergunta: "Configure system-wide symbolic links?
[Y/n]:". Esta opção cria links que permitem que você chame o programa pelo
nome, sem precisar dar o caminho completo. A maioria dos instaladores fazem isso
sem ficar puxando sua calça pedindo confirmação, mas no RealPlayer isso exige um
"Y" adicional.

O script é tão chato e detalhista que em seguida pergunta: "enter the prefix for
symbolic links [/usr]:". Responda "/usr/bin/" para que ele crie o link na pasta
correta. A partir daí você pode abrir o programa executando o comando "realplay".
Crie um ícone no menu para facilitar.

O próprio instalador se encarrega de instalar o plugin no Firefox, que permite


assistir aos vídeos disponíveis na Web, que consiste em criar os links "nphelix.so" e
"nphelix.xpt" dentro da pasta de plugins do Firefox, apontando para os arquivos
reais, localizados na pasta "mozilla/", dentro do diretório de instalação do
RealPlayer.
Ao clicar sobre o link de um arquivo .RA ou .RAM no Firefox pela primeira vez, ele
perguntará o que fazer com o arquivo. Marque a opção "abrir com: Programa..." e
indique a localização do executável do RealPlayer ("/usr/local/RealPlayer/realplay",
por exemplo) e marque a opção "Memorizar a decisão para este tipo de arquivo".

Alguns links abrem os vídeos dentro de janelas popup e só funcionam se você


desabilitar a opção "Bloquear janelas popup" na configuração do Firefox.

O plugin para o Firefox é a principal aplicação do RealPlayer, pois o suporte a


outros formatos (no RealPlayer) é muito fraco, superado com muitas vantagens por
programas abertos, como o Kaffeine, Xine e Mplayer. Para os vídeos em formato
WMF a melhor solução é usar o kaffeineplugin ou o mplayerplugin (veja mais
detalhes a seguir), com o pacote "w32codecs" instalado.

Nas distribuições derivadas do Debian, você pode instalar a partir do debian-


unofficial, assim como o Java. Depois de adicionar a linha "deb http://ftp.debian-
unofficial.org/debian sarge main contrib non-free" no "/etc/apt/sources.list" e rodar o "apt-get update",
instale o Real Player com o comando:

# apt-get install realplayer10-binary

O RealPlayer em si é proprietário, mas a maior parte do código fonte está disponível na forma do
HelixPlayer, que a Real desenvolve com ajuda da comunidade e usa como base para o RealPlayer
comercial. O HelixPlayer oferece suporte a muitos formatos, mas ironicamente não aos vídeos no formato
RealMedia, que utilizam um conjunto de sistemas anticópia proprietários, que não podem ter o código
fonte divulgado. Você encontra informações sobre o HelixPlayer no https://helixcommunity.org/.

Acrobat Reader: Existem vários leitores de PDF livres, como o Kghostview e o Xpdf e
as distribuições geralmente trazem pelo menos um já instalado e configurado.

O Kghostview, por exemplo, faz parte do pacote KDE e se integra muito bem com o
Konqueror. Ao clicar num link para um arquivo PDF numa página Web qualquer, ele
já o abre automaticamente numa janela dentro do Navegador, como se fosse uma
página html.
Mesmo assim, muita gente prefere instalar o Acrobat Reader for Linux. O principal
motivo é que o Acrobat Reader oferece uma qualidade de visualização melhor que a
dos leitores livres, mantendo a qualidade do texto e imagem ao utilizar vários
níveis de zoom. Alguns arquivos PDF que ficam com as fontes borradas no
Kghostview abrem normalmente no Acrobat Reader for Linux.

Você pode baixá-lo no http://www.adobe.com/products/acrobat/readstep2.html.

Ao contrário das versões anteriores, o arquivo de instalação do Acrobat 7 tem


quase 40 MB, incluindo muitas fontes TrueType adicionais. Para instalar,
descompacte o arquivo, acesse a pasta que será criada, logue-se como root (su) e
inicie a instalação:

$ tar -zxvf AdbeRdr701_linux_enu.tar.gz


$ cd AdobeReader/
$ su <senha>
# ./INSTALL

Por padrão, o Acrobat será instalado na pasta "/usr/local/Adobe/Acrobat7.0/". Em


algumas distribuições, o instalador reclamará da falta de um pacote chamado ed
(um editor de texto, usado pelo instalador para exibir o contrato de licença). Ele faz
parte da maioria das distribuições, por isso não deverá ser problema instalá-lo. No
Debian e derivados, por exemplo, você pode instalá-lo com o comando "apt-get
install ed".

Se você manteve o default do instalador, o comando para chamar o Acrobat Reader


será "/usr/local/Adobe/Acrobat7.0/bin/acroread", o que não é muito prático de
digitar.

Para resolver isso, crie um link com o comando:

# ln -s /usr/local/Adobe/Acrobat7.0/bin/acroread /usr/bin/acroread

A partir daí você poderá chamá-lo simplesmente digitando "acroread" num


terminal. Aproveite para criar também um atalho no menu do KDE.

Existem duas formas de fazer isso. A primeira é chamar o kmenuedit, que é o


editor de menus do KDE. A segunda é criar diretamente o ícone dentro da pasta
"/usr/share/applnk/" (para isso, abra o Konqueror como root).

Para concluir, você pode aproveitar para associar os arquivos PDF com o Acrobat
Reader, isso fará com que os arquivos sejam automaticamente abertos nele quando
você clicar sobre o arquivo ou link no Konqueror ou outro aplicativo do KDE.

Para isso, abra o Centro de Controle do KDE (kcontrolcenter) e vá em Componentes


do KDE > Associações de arquivos > Application > PDF e mude o comando do
aplicativo de "kgohostview" (ou o que estiver configurado) para "acroread".

Para que o Acrobat se integre também com o Firefox, você deve criar um link
dentro do diretório de plugins do Firefox para o arquivo nppdf.so, que fica dentro
da pasta "/usr/local/Adobe/Acrobat7.0/Browser/intellinux/", como em:

# ln -s /usr/local/Adobe/Acrobat7.0/Browser/intellinux/nppdf.so \
/usr/lib/mozilla-firefox/plugins/
Ao usar o debian-unofficial, você pode instalar o Acrobat usando o apt-get:

# apt-get install acroread

Neste caso, o plugin para o Firefox (incluindo o link) é instalado através de um


pacote adicional, o mozilla-acroread:

# apt-get install mozilla-acroread

Kaffeine e Mplayer: O RealPlayer é útil apenas para vídeos em seu próprio


formato. Para assistir a vídeos em QuickTime ou no formato WMF, você pode
escolher entre usar os plugins do Kaffeine ou do Mplayer.

Estes dois plugins detectam tags de abertura de vídeo ou áudio dentro das páginas
e carregam os arquivos no player. Em ambos os casos, você precisará também do
pacote w32codecs, que contém um conjunto de dlls do Windows, que são
executadas com uma mãozinha da biblioteca do Wine, dando suporte a mais
formatos de vídeo, incluindo vídeos em QuickTime e até no formato do Windows
Media Player.

A existência do win32codecs e outros pacotes semelhantes são um indício


interessante de novos tempos. Hoje em dia, existem projetos abertos para suporte
a quase todo tipo de formato e, no caso dos formatos mais secretos ou
complicados, é possível utilizar a biblioteca do Wine para fazer com que a biblioteca
ou o próprio programa for Windows rode no Linux. Isto pode ser feito diretamente,
instalando o Wine na sua máquina ou, de uma forma mais refinada, pelos próprios
desenvolvedores.

O Kaffeine pode ser encontrado na maioria das distribuições que utilizam o KDE. O
kaffeineplugin é um programa relativamente pequeno, que apenas direciona os
arquivos para o Kaffeine propriamente dito. Em algumas distribuições, o plugin é
incluído dentro do próprio pacote "kaffeine" e em outras (como no Debian) temos
dois pacotes separados, com o plugin oferecido na forma do pacote "kaffeine-
mozilla", que precisa ser instalado separadamente.

Com ele instalado, você encontrará o arquivo "kaffeineplugin.so" (junto com


outros dois arquivos) na pasta "/usr/lib/mozilla/plugins/"; eles são colocados nesta
pasta mesmo que o Mozilla não esteja instalado no sistema.

Ao usar outro navegador, como o Firefox, você deve criar um link simbólico dentro
da pasta de plugins do navegador, apontando para a pasta
"/usr/lib/mozilla/plugins/" (assim como no caso do Java) e não tentar copiar o
arquivo diretamente. Para criar o link, use o comando abaixo, prestando atenção na
hora de indicar a pasta onde o Firefox está instalado. Em caso de dúvida, confirme
a localização dos arquivos usando o comando "locate":

# ln -s /usr/lib/mozilla/plugins/kaffeineplugin.so \
/usr/lib/mozilla-firefox/plugins

Uma observação importante é que ao instalar simultaneamente o plugin do


RealPlayer e o Kaffeineplugin, o Kaffeineplugin será o default, pois os plugins são
inicializados em ordem alfabética e o K vem antes do R. Isto faz com que o
Kaffeineplugin passe a sempre tentar abrir os arquivos .RAM (aos quais ele não tem
suporte), ao invés de deixar a tarefa para o RealPlayer.
A solução neste caso é renomear o link para o Kaffeineplugin, de forma que o nome
comece com outra letra. Desta forma, o Firefox primeiro consulta o RealPlayer (que
se oferece para abrir apenas arquivos do seu próprio formato) e consulta o
Kaffeineplugin no caso de outros formatos de arquivos. Um "z" no início no nome
resolve o problema. Para isso, basta remover o link antigo e criar outro, indicando o
novo nome do arquivo:

# ln -s /usr/lib/mozilla/plugins/kaffeineplugin.so \
/usr/lib/mozilla-firefox/plugins/zkaffeineplugin.so

Ao abrir uma página com vídeo, o Kaffeine Starter entra em ação, carregando o
vídeo e abrindo uma janela separada do Kaffeine Player, que se encarrega de exibir
o vídeo.

O grande problema com os formatos de streaming são as chaves de encriptação


usadas para dificultar a cópia dos arquivos. O Kaffeine suporta muitas destas
chaves, o que permite assistir à maior parte dos vídeos.

Em muitos casos, os vídeos são linkados dentro da página usando tags ActiveX que
só funcionam no Internet Explorer (e vão continuar assim, pois o ActiveX é uma
tecnologia insegura e que caminha para se tornar obsoleta). Neste caso é uma
opção do webdesigner, que optou por desenvolver uma página compatível apenas
com um navegador. Você pode retribuir o favor simplesmente acessando outra
página ;).

Konqueror

O Konqueror é o browser nativo do KDE. Além de navegador, o Konqueror também


serve como gerenciador de arquivos e pode ser expandido com novas funções. Na
verdade, o Konqueror em si é composto por apenas algumas poucas milhares de
linhas de código, responsáveis por criar a interface. Todas as funções usadas nele
fazem parte do Kpart, uma biblioteca de componentes que pode ser usada em
qualquer aplicativo do KDE, composta de coisas como funções para abrir menus,
renderizar páginas html e assim por diante.

O Konqueror é intimamente relacionado ao KDE e as novas versões do navegador


acompanham as novas versões do ambiente. É praticamente impossível atualizar o
Konqueror sem atualizar junto as bibliotecas base do KDE e a maior parte do
ambiente, por isso ele é o tipo de aplicativo que já vem pré-instalado e você não
atualiza com tanta freqüência. Todas as distribuições que trazem o KDE, instalam o
Konqueror automaticamente.

Nas primeiras versões o Konqueror era bastante deficiente na parte de java-script e


suporte a plugins, mas isso foi gradualmente mudando e ele tornou-se um browser
bastante maduro a partir do KDE 3.0. Uma curiosidade é que o Safari (o navegador
do MacOS X) é baseado no código fonte do Konqueror.

A partir do KDE 3.1 o Konqueror adquiriu também o suporte a tabs (como no


Firefox) e um corretor ortográfico integrado, que corrige suas barbeiragens ao
postar num fórum ou blog.

A configuração dos plugins vai em "Configurações > Configurar Konqueror >


Plugins". Aqui você configura as pastas onde o Konqueror busca por plugins. Ao
invés de exigir uma configuração específica, o Konqueror é desenvolvido para ser
compatível com os plugins do Firefox ou Mozilla; por padrão ele já vem configurado
para procurar nas pastas de plugins dos demais navegadores.

Ou seja, ao instalar o Flash ou Java no Firefox ou Mozilla, o plugin também será


detectado pelo Konqueror. Ele procura por novos plugins durante a abertura do
KDE ou ao usar o botão de procura manual.

No caso de distribuições que trazem apenas o Konqueror (como o Slax), sem o


Firefox, você pode instalar os plug-ins seguindo as receitas anteriores copiando os
arquivos ou criando os links dentro da pasta "/usr/local/netscape/plugins/" ou
qualquer outra incluída na lista do Konqueror.

Como gerenciador de arquivos, o Konqueror também oferece muitos recursos. Se


você, por exemplo, tem um monte de imagens dentro de uma pasta e quer fazer
um álbum de fotos, vá em "Ferramentas > Criar Álbum de Imagens".

Clicando com o botão direito sobre um arquivo e indo em "Ações", você abre um
menu de contexto com opções relacionadas ao tipo de arquivo, como gravar um
CD, mandar por e-mail, etc. No caso de uma imagem, aparecem opções para
redimensionar, girar, converter para jpg, gif ou png, entre outras opções.
Opera

O Opera é um navegador leve, independente do KDE e Gnome, o que o torna a


opção preferida de muita gente que usa micros antigos. Ele consegue ser um pouco
mais rápido que o Firefox no geral e oferece um bom suporte a páginas
problemáticas, desenvolvidas especificamente para o IE, ou com código mal escrito.
Outro ponto forte é que ele oferece uma quantidade muito grande de opções de
personalização, desde opções para não carregar imagens, ou exibir apenas imagens
incluídas no cache do navegador (útil quando a conexão estiver lenta), até uma
opção de exibir a página como ela seria vista num palmtop (útil para webmasters
que querem oferecer esta opção).

Inicialmente, o Opera era um aplicativo comercial, depois passou a ser oferecida


uma versão gratuita, que exibia um banner de propaganda e, recentemente ele
passou a ser inteiramente gratuito (embora sem ter o código aberto). Você pode
baixar a versão mais recente no http://opera.com/download/.

A empresa faz um trabalho surpreendente de empacotamento, oferecendo pacotes


específicos para várias distribuições (no caso do Kurumin 5.1, por exemplo, você
baixaria o pacote para o Debian Etch) e também um par de pacotes genéricos
(.rmp e .tar.gz), que podem ser usados nas poucas distribuições que não são
diretamente suportadas.
NVU

Junto com o OpenOffice Writer (usado com a opção de salvar em html), o NVU é
um dos melhores editores html visuais. A longo prazo, a idéia é concorrer com o
Dreamweaver, que apesar das deficiências é um dos programas mais usados. A
Macromedia já anunciou que está trabalhando numa versão nativa do
Dreamweaver, portada através da libwine, mas as versões atuais já rodam de
forma aceitável no Linux, através do Wine ou do CrossOver Office.

O NVU está disponível no apt-get a partir do Debian Etch (ou seja, está disponível
apenas ao utilizar o Testing). Para instalá-lo, use o "apt-get install nvu". Também
existe a opção de baixar um pacote genérico, que funciona em várias distribuições
no: http://www.nvu.com/.

E-Mail

Hoje em dia, a maioria das pessoas simplesmente usa algum webmail, que pode
ser acessado de qualquer lugar, ao invés de um cliente dedicado, como nos velhos
tempos. Um dos fatores que apressou esta mudança foram os inúmeros problemas
de segurança no Outlook e Outlook Express. Felizmente, a Microsoft ainda não
resolveu desenvolver uma versão Linux da dupla, de forma que você pode ter um
ambiente muito mais seguro para ler seus e-mails :). Alguns dos leitores mais
usados no Linux são:
Mozilla Thunderbird

O Thunderbird é o primo-irmão do Firefox, que surgiu do desmembramento do


Mozilla. O principal diferencial dele em relação a outros programas é um poderoso
filtro anti-spam, que aprende durante o uso, tornando-se cada vez mais preciso.
Para ativá-lo, marque a opção "Ferramentas > Anti-Spam > Filtro Adaptável >
Identificar Spam ao receber mensagens desta conta". Na aba "Opções" você pode
configurar o que fazer com as mensagens marcadas como spam; o padrão é move-
las para a pasta "Spam".

O filtro é desenvolvido de forma a preservar os e-mails úteis, excluindo mensagens


apenas quando houver certeza. Depois de ativar o filtro, você precisa "treiná-lo",
indicando o que é e o que não é spam, de forma que ele identifique um padrão e
passe a agir de forma autônoma.

Sempre que receber um spam, clique com o botão direito sobre a mensagem e use
a opção "Marcar > Como Spam" ou pressione a tecla "J". Marque também as
mensagens importantes como não Spam, pressionando "Shift+J".

Na aba "Ferramentas > Anti-Spam > Opções" você pode configurar o que fazer
com as mensagens marcadas como spam, onde o padrão é move-las para a pasta
"Spam" e deletá-las depois de alguns dias. É importante que nos primeiros dias
você cheque as mensagens movidas para a pasta e marque manualmente como
não spam qualquer mensagem boa classificada de forma equivocada pelo filtro.

Depois de alguns dias de treinamento, o filtro passará a eliminar o grosso dos


spams e, depois de algumas semanas, passa a eliminar quase tudo. Quanto mais
você o treina, mais ele se torna apurado.

O Thunderbird guard os e-mails e preferências dentro da pasta ".mozilla-


thunderbird", dentro do seu diretório home. Basta conservar esta pasta ao
reinstalar o sistema, e seus e-mails e filtros continuarão intactos.

Por ser um programa bastante popular, é possível encontrar o Thunderbird na


maioria das distribuições. Nas derivadas do Debian, você pode instalá-lo via apt-
get:

# apt-get install mozilla-thunderbird


# apt-get install mozilla-thunderbird-locale-pt-br

Você pode também usar a versão disponível no: http://www.mozilla.org.br/. Esta


versão não precisa ser instalada, basta descompactar a pasta em qualquer diretório
(você pode inclusive instalar dentro do seu diretório home, sem nem precisar usar
a conta de root) e executar o comando "./thunderbird" dentro da pasta.

Uma observação importante é que esta versão armazena os e-mails dentro da


pasta ".thunderbird" e não ".mozilla-thunderbird", como na versão disponível no
apt-get. Isso causa uma certa confusão ao trocar de uma versão para outra, pois
um não consegue encontrar as pastas de e-mails criadas no outro. A solução mais
simples neste caso é simplesmente fazer um link. Se seus e-mails estão na pasta
".mozilla-thunderbird" e você quer usar a versão do mozilla.org.br, que usa a pasta
".thunderbird", use o comando:

$ ln -s ~/.mozilla-thunderbird ~/.thunderbird
Crie o link, não renomeie simplesmente a pasta, pois na configuração de cada conta
vai o caminho completo até a pasta onde estão os arquivos. Ao renomear a pasta, o
Thunderbird reconhece o profile, mas não consegue encontrar os e-mails. Criando o
link, tudo funciona perfeitamente.

Evolution

Enquanto o Thunderbird é mais voltado para o público doméstico, o Evolution é um


cliente de e-mails voltado para o público corporativo, incluindo também funções de
agenda, suporte a Palms e, principalmente, suporte a LDAP e servidores MS
Exchange, o que permite a integração com a estrutura de e-mail e gerenciamento
de tarefas usada em muitas empresas.

Para ativar o suporte a servidores MS Exchange, você deve instalar também o


pacote "ximian-connector", disponível no
http://www.gnome.org/projects/evolution/. Ao usar o Debian Etch (testing), você
pode instalá-lo junto com o Evolution via apt-get: "apt-get install evolution ximian-
connector".
Kmail e Sylpheed

Tanto o Thunderbird quanto o Evolution não são exatamente programas leves. Ao


usar o KDE, uma opção de programa mais simples e leve é o Kmail, que pode ser
instalado via apt-get. Dependendo da distribuição, ele está disponível na forma do
pacote "kmail", ou como um componente incluído no pacote "kdepim".

Um dos pontos fortes do Kmail é a preocupação com a segurança. Em geral, todos


os clientes de e-mail for Linux são bastante seguros, mas a equipe do Kmail se
esforça para ficar um pouco à frente neste quesito. Outro ponto forte é que ele se
integra bem com outros aplicativos do KDE, como o Korganizer (agenda de
compromissos), Konqueror e até mesmo com o Knotes, que permite criar notas
rápidas. O Kmail faz par com o Knode, um leitor de news.

Prosseguindo na categoria dos pesos leves, encontramos também o Sylpheed, cujo


principal objetivo é ser um leitor de e-mails leve, com uma interface simples de
usar. Embora não tenha tantos recursos quanto o Evolution, não seja integrado a
outros aplicativos do KDE, como o Kmail, nem conte com um filtro anti-spam tão
apurado quanto o do Thunderbird, ele é uma boa opção para quem usa o Fluxbox
ou outra interface leve num micro mais antigo. Já cheguei a usar o Sylpheed em
conjunto com o IceWM num 486 com 16 MB de RAM :).

Mensagem e Voz

Me lembro que em 98, quando estava dando minhas primeiras cabeçadas no Linux,
a única opção para usar o ICQ era uma versão em Java, pesada e que travava de
vez em quando.

Felizmente estes tempos passaram. Hoje em dia, praticamente usa algum protocolo
de mensagem instantânea. Em número de usuários, o ICQ e o MSN dominam, mas
existem outros muito usados como o AIM e mais recentemente o Jabber, que é
uma tentativa de criar um protocolo de mensagem instantânea open source.

Devem existir hoje em dia de 100 a 200 clientes diferentes, que variam em
recursos, mas, para poupar tempo, vou comentar apenas os relevantes.

Gaim

O Gaim é um dos mensageiros mais antigos. As primeiras versões tinham poucos


recursos e eram baseadas no GTK 1.x, o que também não ajudava no visual. Mas,
a partir da versão 0.6, o Gaim foi portado para o GTK 2, ganhou muitos novos
recursos e passou a seguir o human interface guidelines, um padrão internacional
de usabilidade. Tudo isso contribuiu para quem o Gaim se tornasse um dos
mensageiros mais usados no Linux, adotado por padrão em diversas distribuições.

A interface do novo Gaim é bem simples e intuitiva para novos usuários. A tela de
abertura tem apenas três opções: Contas, Preferências e Conectar.

A tela de adicionar uma nova conta é novamente bem simples, você apenas escolhe
o protocolo que será usado, usuário, senha e apelido. São suportados o ICQ, AIM,
MSN, Yahoo, IRC e Jabber, além de protocolos mais incomuns como o TOC, Zephyr,
Gadu-Gadu e até o protocolo de conversação usado pelo antigo Napster. Uma das
grandes vantagens do Gaim é que você pode configurar várias contas e usar todas
simultaneamente, uma solução para quem usa ICQ, MSN e outros protocolos ao
mesmo tempo. A página do projeto é a http://gaim.sourceforge.net.

Kopete

O Gaim e o Kopete são similares em muitos aspectos, ambos suportam o uso de


vários protocolos simultaneamente e incluem muitas funções. A principal diferença
é que o Kopete é baseado nas bibliotecas do KDE. Além das diferenças estéticas, o
Kopete oferece mais opções de personalização, embora seja ao mesmo tempo um
pouco menos simples de usar.

Uma observação importante, que se aplica tanto ao Kopete quanto ao Gaim, é que
é sempre recomendável manter uma versão recente instalada. Os protocolos de
mensagem usados pelo ICQ e (principalmente) pelo MSN mudam com uma certa
freqüência, fazendo com que versões antigas dos programas comecem a apresentar
erros estranhos, ou simplesmente deixem de conectar na rede quando passa a ser
usada uma nova versão do protocolo.

Por exemplo, a partir de 15/10/2003 a Microsoft tornou mandatário o uso do MSN


9, a nova versão do protocolo do MSN, que havia sido lançada poucos meses antes.
Depois desta data, mesmo os usuários Windows teriam que atualizar o programa. O
novo protocolo é fechado, não documentado e foram empregadas várias técnicas
para dificultar o uso de engenharia reversa.

Mesmo assim, em 09/09/2003, mais de um mês antes da mudança, já estava


disponível o Kopete 0.7.2, compatível com o novo protocolo. Uma nova mudança
ocorreu em Maio de 2005, novamente precedida pelo lançamento de uma versão
atualizada do Kopete (o 0.10.1), compatível com o novo protocolo.
Para instalar o Kopete use o "apt-get install kopete" (no Debian) ou "urpmi kopete"
(no Mandriva). Muitas distribuições já o trazem instalado por padrão.

Mercury

O Mercury é um cliente MSN escrito em Java, disponível no:


http://www.mercury.to/. Ele se tornou famoso por ser o primeiro a oferecer
suporte a webcam no MSN, embora o suporte ainda seja incipiente. Outro fator
interessante é que o visual e as funções são muito similares ao MSN da Microsoft,
incluindo o suporte a winks animados e outras frescuras. Ele é provavelmente o
cliente mais parecido com o Messenger que existe atualmente no Linux.

A desvantagem é justamente o fato de ele ser escrito em Java, o que acabou


tornando o programa bem maior e mais pesado. Ele não é definitivamente um
programa adequado para ser usado em máquinas antigas.

No site, existem duas versões Linux, a "With JVM" e a "Without JVM". A primeira é
bem maior, mas já vem com o Java incluído, fazendo com que a instalação seja
menos passível de problemas. Basta descompactar o arquivo e executar o
instalador que está dentro. Para usar o segundo arquivo, você deve ter o Java da
Sun instalado. Veja a dica sobre a instalação do Java no tópico sobre a instalação
de plugins no Firefox.

Para instalar o suporte a webcams, você precisa instalar o JMF, um módulo


adicional. Você encontra instruções dentro do Wiki, disponível no:
http://www.mercury.to/.

Para o Mercury 1709, o pacote com os arquivos do JMF pode ser baixado via
bittorrent, através do: http://download.mercury.to/torrents/JMF.torrent.

Depois de descompactar o arquivo, copie os arquivos "VidConf-libs.jar" e "JavaLibs-


linux.jar" para a pasta "lib/", dentro do diretório de instalação do Mercury e
descompacte o arquivo "NativeLibs-linux.zip" na pasta "jni/linux/jmf" (novamente
dentro do diretório de instalação do Mercury). Esta pasta não existe originalmente,
você deve criá-la manualmente.

Copie também o arquivo "libjmutil.so" para dentro da pasta "lib/i386/" no diretório


de instalação do Java. Ele varia de distribuição para distribuição, no Kurumin 5.1,
por exemplo, é a pasta "/usr/lib/sun-j2se5.0-jre/lib/i386/".

Sim

O Sim é outra opção interessante de mensageiro. Além de ser mais leve que o
Kopete, existem vários detalhes na interface que o deixam mais confortável de
usar.

Por exemplo, ao receber uma mensagem o ICQ da Mirabillis simplesmente toca um


som e o ícone ao lado do relógio fica piscando. Você só sabe quem mandou a
mensagem ao abrir a janela do ICQ. No Kopete é mostrado um balãozinho que
mostra o remetente, mas ele é um pouco irritante por ficar esperando por um click
do mouse.
No Sim é mostrada uma mensagem de texto no lado esquerdo da tela que some
depois de alguns segundos. Ela cumpre o papel de avisar sobre quem mandou a
mensagem, mas de uma forma que não perturba caso você esteja ocupado e
resolva ignorar o aviso.

A equipe do Sim tem feito um trabalho muito legal em implementar as sugestões, o


que tem atraído uma legião de usuários fiéis. O Sim oferece suporte ao ICQ, MSN e
outros protocolos. A principal deficiência é que você só pode usar um de cada vez.
A página é: http://sim-icq.sourceforge.net.

Amsn

O Amsn é um "clone" do MSN Messenger escrito em TK, uma biblioteca gráfica que
é muito usada em scripts, mas que não oferece tantos recursos quanto o Qt e o
GTK2 e não possui um visual muito bonito.

Levando em conta estas limitações, o Amsn surpreende. Em primeiro lugar porque


ele é um programa leve que "simplesmente funciona" sem muitas frescuras que
fiquem consumindo memória. Os pontos negativos são o número relativamente
grande de bugs e problemas em geral (uma parte do próprio Amsn, outros da
biblioteca Tk, que ele utiliza ao extremo) e a falta de suporte à suavização de
fontes e outros efeitos visuais, novamente limitações da biblioteca usada.

O visual default do Amsn é um pouco estranho, mas você pode ajustar as fontes e
cores a gosto nas preferências do programa. Você pode instalá-lo via apt-get (apt-
get install amsn). Existe ainda uma versão genérica, disponível no
http://amsn.sourceforge.net, que pode ser usada em diversas distribuições. Basta
descompactar o arquivo e executar o "amsn" dentro da pasta criada.
Skype

Embora seja um programa proprietário, o Skype é bastante popular também no


Linux. Não é comum encontrá-lo pré-instalado nas distribuições (com exceção do
Kurumin), mas você pode baixá-lo no: http://skype.com/products/skype/linux/.

Assim como no caso do Opera, estão disponíveis pacotes para várias distribuições,
incluindo o Debian, Mandriva, Fedora e SuSE. Estão disponíveis também dois
pacotes genéricos, que podem ser usados em caso de problemas de instalação com
os principais, ou no caso de distribuições que não estejam na lista, como o
Slackware, Gentoo e outros.

O "Dynamic binary tar.bz2" é um arquivo compactado, onde você só precisa


descompactar e executar o programa de dentro da pasta. Você pode inclusive
descompactá-lo dentro do seu diretório home e executar o programa a partir daí,
sem nem precisar usar a senha de root. Para funcionar, o Skype precisa da
biblioteca Qt, de forma que você precisa ter o KDE, ou pelo menos as bibliotecas
base do KDE instaladas. A segunda opção, menos passível de problemas, é o
"Static binary tar.bz2 with Qt 3.2 compiled in", um arquivo um pouco maior, que
contém uma cópia interna das bibliotecas necessárias. Esta é a opção "à prova de
falhas", que realmente vai funcionar em praticamente qualquer ambiente.

Naturalmente, além do Skype existem vários outros programas de VoIP for Linux.
Outro bastante usado é o GnomeMeeting, que também suporta o uso de webcam.
Ele utiliza o protocolo do antigo Netmeeting da Microsoft (sem compatibilidade com
o padrão usado pelo MSN), permitindo que você faça contato tanto com outros
amigos usando o GnomeMeeting, quanto com clientes Windows usando o
Netmeeting. Você pode instalar o GnomeMeeting via apt-get (apt-get install
gnomemeeting). A página oficial é a http://www.gnomemeeting.org/.

O Asterix é uma solução profissional, que permite transformar um PC comum em


uma central PBX, capaz de realizar tanto chamadas via internet, quanto através de
uma linha telefônica convencional (usando uma placa adaptadora). Uma vez
configurada a central, você pode fazer chamadas a partir de qualquer um dos
micros da rede local (usando o GoPhone, GnomeMeeting ou outro dos clientes
disponíveis) para micros em outras redes, ou mesmo para telefones fixos ou
celulares. A idéia neste caso é que a chamada seja feita via internet até um outro
servidor Asterix localizado na cidade-destino e deixar que ele realize uma chamada
local para o telefone, economizando o interurbano.

O Asterix está longe de ser uma solução fácil de usar, mas está crescendo
rapidamente, adotado na infra-estrutura de comunicação de inúmeras empresas.
Você pode encontrar mais informações no http://www.asterisk.org.

Vídeo, som, CDs e DVDs

O suporte a formatos de vídeo e áudio já foi um problema no Linux. Mas, esta foi a
área que progrediu mais rápido nos últimos dois ou três anos, chegando a um
ponto em que muitos consideram mais fácil assistir a vídeos de formatos variados
no Linux do que no Windows.
Kaffeine

O Kaffeine é o player de mídia padrão do KDE, capaz de exibir vídeos em diversos


formatos, música, DVDs e até TV, caso você tenha uma placa de captura. O
Kaffeine faz parte da família de players baseados na libxine, uma biblioteca
compartilhada por muitos programas. O primeiro foi o próprio Xine e em seguida
vieram muitos outros, como o gXine, Toten e outros. Estes programas variam em
recursos e opções de interface, mas o nível de compatibilidade com arquivos é
basicamente o mesmo.

A interface do Kaffeine é bem construída, com acesso fácil às funções e suporte a


legendas em filmes em Divx. Ao abrir o filme, ele abre a legenda automaticamente
(caso os dois arquivos tenham um nome parecido), ou pede sua confirmação, caso
exista mais de um. Existe também um recurso de playlist integrado ao Konqueror:
clique com o botão direito sobre o arquivo e você tem a opção de incluí-lo na
playlist do Kaffeine. Também funciona se você simplesmente arrastar o arquivo
para dentro da janela da playlist.

Um pequeno extra é que, ao abrir um MP3 ou outro formato de áudio, ele ativa um
plug-in de visualização, daqueles hipnóticos, algo parecido com o que o Media
Player do Windows faz.

Para ter um suporte completo a formatos de vídeo, você precisa ter instalado o
pacote w32codecs e para ter suporte a DVDs protegidos, o pacote libdvdcss2. Estes
dois pacotes são um pouco problemáticos do ponto de vista legal, pois o w32codecs
é composto por um conjunto de dlls do Windows, retiradas do Windows Media
Player e outros programas e executadas no Linux através da biblioteca do Wine
(incluída no pacote). O libdvdcss2 quebra o sistema de encriptação dos DVDs e é
proibido nos EUA (embora seja perfeitamente legal no Brasil e em outros países).
Estas restrições fazem com que ambos os pacotes não sejam incluídos diretamente
nas distribuições, embora você possa instalá-los manualmente sem muita
dificuldade.

No Debian, adicione as linhas abaixo no arquivo "/etc/apt/sources.list" e rode o


comando "apt-get update":

deb ftp://ftp.nerim.net/debian-marillat/ sarge main


deb ftp://ftp.nerim.net/debian-marillat/ etch main

Em seguida, instale os dois pacotes usando o comando "apt-get install


w32codecs libdvdcss2". No Kurumin, as linhas já vêm adicionadas no arquivo
sources.list por padrão, você só precisa instalar os pacotes ou usar o ícone mágico
para instalar mais suporte de vídeos.

Este repositório possui vários mirrors. Se o endereço principal estiver fora do ar,
você pode encontrar outros pesquisando por "debian-marillat" no Google. Um
exemplo é o:

deb http://www.las.ic.unicamp.br/pub/debian.d/debian-marillat/ sarge main


deb http://www.las.ic.unicamp.br/pub/debian.d/debian-marillat/ etch main

O Kaffeine possui também um plugin para o Firefox, o "kaffeineplugin", que permite


assistir vídeos via streaming, como vimos no tópico sobre o Firefox.
Mplayer

O Mplayer é famoso por ter sido o primeiro player de vídeo "completo" para Linux,
capaz de exibir vídeos na maioria dos formatos e DVDs protegidos. Muito do que
existe hoje na área de suporte a formatos de vídeo e multimídia em geral, no
Linux, surgiu graças ao trabalho feito no Mplayer.

Ainda hoje ele é um dos players mais usados, embora não venha incluído por
padrão na maioria das distribuições, que preferem usar o Kaffeine, Totem e outros
players da família do Xine. O Kurumin traz o Mplayer pré-instalado, de forma que
as instruções de instalação se aplicam apenas a outras distribuições derivadas do
Debian, onde seja necessário instalar manualmente.

Um dos grandes atrativos do Mplayer é que ele oferece um excelente suporte a


vídeos danificados ou incompletos. Isto é muito útil naqueles casos em que você
baixa um Divx pela metade, e quer assistir o que já baixou, sem ter que achar o
resto do arquivo. O Mplayer é esperto o suficiente para reconstruir o mapa de
frames do arquivo (que normalmente fica no final) e exibir o vídeo normalmente. O
índice de sucesso também é muito bom com vídeos danificados, ele consegue
"pular" as partes defeituosas e exibir o restante do vídeo, geralmente sem muitos
problemas. Ele também é eficiente na hora de assistir vídeos em formatos exóticos,
para os quais não existe um codec adequado instalado. Eles simplesmente tenta
exibir usando o codec mais próximo, muitas vezes com bons resultados. A regra é
sempre "fazer o possível" para exibir o vídeo, não importa o quão estranho seja o
arquivo.

O Mplayer está disponível no repositório Marillat, o mesmo que contém os pacotes


w32codecs e libdvdcss. Depois de adicionar as duas linhas no sources.list, você
pode instalar o mplayer via apt-get, com o comando "apt-get install mplayer-586".

O comando para abrir a interface gráfica do Mplayer é "gmplayer". Se você estiver


usando o KDE, clique com o botão direito sobre os arquivos dos vídeos, selecione a
opção "abrir com", escreva "gmplayer" no espaço para o comando e marque a
opção "lembrar da associação de aplicativo para este tipo de arquivo". Assim, os
vídeos passarão a ser abertos automaticamente no Mplayer quando você clicar
sobre eles.

Clique com o botão direito sobre a janela principal e você verá as opções para abrir
vídeos, legendas, DVDs e VCDs:
Acessando o menu "Preferences", você tem acesso a mais algumas opções
importantes. No menu vídeo você escolhe o driver de vídeo que será usado. O
default é o X11, que funciona em todas as placas de vídeo e possui uma qualidade
de imagem muito boa. O problema é que o X11 é todo processado via software, por
isso também é o mais lento, principalmente ao ativar o modo de tela cheia.

A segunda opção é o xv, que já utiliza a interpolação via hardware disponível na


grande maioria das placas modernas. Ele já consegue exibir vídeos em tela cheia
sem perda de desempenho, mas a qualidade da imagem não é a mesma,
principalmente na temperatura de cor. Os resultados variam de acordo com o
modelo da placa de vídeo.

A terceira opção é o xvidix que também oferece aceleração via hardware e uma
qualidade de imagem semelhante à do X11, mas em compensação é compatível
com menos placas. Finalmente, temos o xmga, o driver otimizado para placas
Matrox G200, G400, G450 e G550 e o dxr3, que ativa o suporte a placas dxr3,
vendidas em muitos kit's de DVD da Creative.

A opção "Enable Double Buffering" é importante para a qualidade de exibição,


pois permite que o software processe simultaneamente dois quadros ao invés de
um, permitindo que, enquanto o primeiro quadro está sendo exibido, o seguinte já
esteja pronto para ser exibido, evitando delays e perda de frames. Esta opção exige
mais processamento, por isso pode ser desabilitada para melhorar o desempenho
em micros antigos.

O "Enable Frame Dropping" permite assistir vídeos em alta resolução mesmo em


máquinas lentas. O software simplesmente vai descartando alguns frames, de
acordo com o processamento disponível. O vídeo fica pulado, mas pelo menos você
consegue assistir.
No Kaffeine, a configuração do driver de vídeo que será usado, entre outras opções
relacionadas à decodificação e exibição dos vídeos vai no "Configurações >
Parâmetros do Xine".
Na aba Audio você pode alterar o driver de audio usado. O Alsa é o que oferece
melhor qualidade, mas só vai funcionar caso a sua placa de som seja suportada
pelos drivers Alsa e eles estejam ativados. As outras opções podem ser testadas
em caso de problemas.

Na aba Misc você encontra mais algumas opções que podem melhorar a qualidade
ou desempenho do vídeo. Se você tem um processador muito rápido, ative o
"Enable postprocessing", assim os ciclos livres serão utilizados para melhorar a
qualidade da renderização dos vídeos em Divx.

Ao assistir vídeos a partir de um CD, DVD ou um compartilhamento de rede,


aumente o valor da opção Cache. Ela permite determinar a quantidade de vídeo já
processado que será armazenado na memória. Quanto maior o valor, maior será a
"reserva" a ser exibida em casos de interrupções temporárias no fornecimento de
dados. O cache grande vai ser muito útil ao assistir um filme gravado num CD
riscado por exemplo.

Os valores do DVD device e CD-ROM device precisam estar corretos, caso


contrário você não conseguirá assistir nada a partir deles. Em caso de problemas
com os links padrão, experimente fornecer diretamente o device do drive, como
em: "/dev/hdc" (mestre da segunda IDE) ou "/dev/hdd" (slave da segunda IDE).

Os leitores e gravadores de CD USB também são detectados como se fossem


dispositivos SCSI, por isso também aparecem como "/dev/sr0" ou "/dev/sr1". Em
geral eles são detectados automaticamente pelo hotplug, encontrado em
praticamente todas as distribuições atuais. Você precisa apenas plugar o drive e
aguardar alguns instantes.

Uma curiosidade é que existe também a opção de chamar o Mplayer via linha de
comando, mesmo a partir de um terminal de texto puro, usando o driver svga,
frame-buffer ou mesmo exibindo o vídeo usando caracteres de modo texto.
Algumas mini-distribuições, como por exemplo o emovix, utilizam estas opções
para exibirem vídeos mesmo sem ter o X instalado. Alguns exemplos de comandos
para assistir os vídeos a partir do modo texto são o "mplayer -vo svga filme.avi"
(usa o driver svga, que funciona na maioria das placas, exibindo o filme em tela
cheia) "mplayer -vo vesa filme.avi" (que funciona em algumas placas onde o
svga não roda), "mplayer -vo fbdev filme.avi" (usa frame-buffer, só funciona se
o frame buffer estiver ativo na configuração do lilo). Abra o arquivo /etc/lilo.conf e
procure pela linha "vga=" deixe em "vga=788" para 800x600 ou "vga=791" para
1024x768) e "mplayer -vo aa filme.avi" (a mais curiosa de todas exibe o filme
usando caracteres de texto. Dá um efeito interessante, mas a qualidade não é lá
essas coisas. O legal é que funciona mesmo usando um monitor CGA ;).

No manual você encontra as opções para ativar legendas, assistir DVDs, VCDs,
frameskipping, etc. ao usar o player de modo texto. São realmente muitas opções,
você pode dar uma garimpada no manual: man mplayer.

K3B

Por ser bastante intuitivo e possuir muitos recursos, o K3B se tornou rapidamente
uma espécie de programa padrão para gravação de CDs e DVDs no Linux. Ele
oferece uma interface bastante prática, com todas as opções para gravar CDs e
DVDs de dados, copiar CDs (incluindo uma função para clonar CDs e DVDs), ripar
CDs de música, ripar DVDs, converter músicas e vídeos em diversos formatos,
limpar CDs regraváveis e até mesmo gravar CDs mistos, onde são misturadas
faixas de áudio e dados, como nos CDs de alguns games. A página oficial é a:
http://k3b.org.

A interface lembra a do Nero, com as funções bem acessíveis. O ponto forte do K3B
é que ele tenta ser o mais intuitivo possível. Por exemplo, ao criar um CD de
música, você vai arrastando os arquivos de áudio para a janela de gravação. O K3B
se encarrega de converter arquivos em .mp3 ou .ogg para o formato nativo do CD
automaticamente, durante e gravação.

Existe funções do K3B incluídas no menu de contexto do KDE. Ao clicar com o botão
direito sobre uma pasta ou arquivo, aparece a opção de gravá-los num CD de
dados, dentro do menu "ações":
Caso o K3B exiba um erro, dizendo que não foi possível encontrar um driver
cdrdao, acesse as preferências em Configurações > Configurar K3B... >
Dispositivos e altere o "Driver cdrdao" para Generic-MMC (compatível com a
maioria dos drivers) ou um adequado ao seu gravador:

O K3B é na verdade uma interface para diversos programas de linha de comando,


que ficam encarregados do trabalho pesado. Caso você note a falta de alguma
funcionalidade no K3B, verifique se todos estes pacotes estão instalados:
"cdparanoia" (necessário para ripar e copiar CDs de audio), "transcode"
(necessário para ripar DVDs, salvando os filmes em Divx), "libvorbisenc2"
(biblioteca necessária para criar CDs de música a partir de arquivos .ogg),
"vcdimager" (necessário para criar VCDs), "normalize" (permite normalizar o
volume das faixas ao gravar CDs de música), "sox" (esta é uma biblioteca que
permite converter arquivos de áudio, necessária para criar CDs de áudio a partir de
arquivos .mp3 ou .ogg), "liblame0" (necessária para gravar CDs de música a partir
de arquivos .mp3), "libmusicbrainz4c2" (outra biblioteca, que permite que o K3B
inclua corretamente as informações sobre as faixas (CD-Text) ao criar CDs de
música a partir de arquivos .mp3 ou .ogg) e emovix (o K3B inclui uma opção para
criar CDs ou DVDs bootáveis, contendo músicas ou filmes usando o emovix; veja
mais detalhes sobre como instalá-lo a seguir).

Uma opção mais antiga de gravação de CDs é o Xcdroast, um programa bem mais
simples, com menos funções que o K3B, mas por outro lado bastante robusto. Ele
pode ser instalado via apt-get (apt-get install xcdroast), ou encontrado no
http://www.xcdroast.org/.

eMovix

Muitos CDs com filmes em Divx que tenho visto ultimamente estão vindo com os
executáveis de algum player ou os codecs de alguma versão do Divx. Muitas
pessoas não possuem estes arquivos instalados, e não saberiam como exibir o filme
sem eles.

O Movix é uma mini distribuição que permite resolver este problema. Ao invés de
ficar adicionando executáveis no CD, você pode transformá-lo num CD bootável,
que inicializa em poucos segundos e já começa a exibir o arquivo automaticamente.
É algo parecido com o que temos no Kurumin, só que menor e otimizado para esta
tarefa específica.

O eMovix é uma variação dele, que possui apenas 8 MB e é usado para criar CDs
"híbridos". Ao abrir o CD no Windows, ou qualquer distribuição Linux, você vê um
CD "comum" com algum filme ou músicas dentro. A única pista de que o CD
contém algo a mais é uma pasta "movix" perdida no raiz. Porém, ao dar boot
através do CD, o eMovix automaticamente detecta o vídeo e placa de som e depois
de alguns segundos começa a exibir os arquivos de vídeo ou áudio que estão
dentro do CD sem que seja necessário fazer absolutamente nada. É uma solução
ideal para poder transportar seus filmes e músicas, sem se preocupar se o PC que
vai usar tem ou não os codecs necessários para exibi-lo e também para quando
você quiser mandar alguma coisa para aquele seu(ua) amigo(a) completamente
leigo(a) que não saberia o que fazer com o arquivo. É um exemplo de aplicação que
transforma o PC numa espécie de eletrodoméstico, que não precisa de muitas
instruções para ser usado.

Originalmente, criar CDs incluindo o eMovix era um processo trabalhoso, mas o K3B
oferece uma opção no menu "Arquivo > Novo Projeto", que automatiza o processo.
Clique no "Novo Projeto de DVD (ou CD) eMovix" e arraste os arquivos com os
filmes ou músicas que quiser, como se estivesse gravando um CD de dados normal.

Para que esta opção funcione, é necessário instalar o pacote com os arquivos do
eMovix. Ele pode ser instalado via apt-get, ou baixado manualmente no:
http://sourceforge.net/projects/movix/.
Enquanto escrevo, a versão mais recente é o arquivo "emovix_0.9.0-1_all.deb".
Depois de baixar o arquivo, instale-o com o comando:

# dpkg -i emovix_0.9.0-1_all.deb

Para usar legendas, inclua o arquivo junto com o filme no CD e ela será aberta
automaticamente. Existem duas pequenas regras aqui:

a) A legenda deve ter exatamente o mesmo nome do arquivo (observe maiúsculas


e minúsculas), mudando apenas a extensão. O "filme-12345REC.avi" vai usar um
arquivo de legenda "filme-12345REC.src", por exemplo.

b) Todos os arquivos que serão exibidos devem ficar no raiz do CD-ROM. Arquivos
dentro de sub-pastas são ignorados pelo eMovix.

Os arquivos do eMovix ocupam 8 MB no CD-ROM. Para gravar um CD de 80


minutos, o filme deve ter no máximo 692 MB. Se você precisar gravar arquivos
maiores, procure uma mídia de 90 minutos ou use um DVD.

Depois de terminar de selecionar os arquivos, clique no botão de gravação e você


verá a janela com as opções do projeto. Além das opções normais de gravação
(velocidade, gravador, DAO, TAO, etc.), aparecerá uma aba "eMovix".
A opção "Loop playlist" determina quantas vezes os arquivos serão exibidos. Se
você está fazendo um CD com um monte de músicas, pode querer colocar um
número alto aqui para que ele fique tocando indefinidamente, mas, no caso de um
filme, você provavelmente só vai querer ver uma vez.

Por default, o eMovix vai exibir os arquivos incluídos no CD em ordem alfabética.


Você pode mudar isso ativando a opção "Play files randomily. A opção "Do not use
DMA" desabilita o DMA do CD-ROM. É apenas para a solução de problemas, caso o
micro trave durante o boot, por exemplo. Esta opção deteriora muito a qualidade
da exibição dos filmes, por isso deve ser usada apenas como último recurso.
Aproveite para ajustar também a opção "eMovix boot messages language", o
português está disponível :).

DVDrip

O DVDrip permite fazer "backups" de DVDs, salvando os filmes em MPEG2 (o


formato original), ou convertendo-os para Divx ou outros formatos.

Ele é capaz de ripar tanto DVDs sem proteção, quanto títulos protegidos, utilizando
o libdvdcss2 que também deve estar instalado. Ele oferece vários filtros de cor e
som (ajuste de temperatura de cor, filtro de eliminação de ruído e assim por
diante) e é capaz de ripar também as legendas (tanto como arquivos separados
quanto mescladas com o filme).

O DVDrip em si é uma interface, que reúne as funções disponíveis em diversos


outros programas, de uma forma similar ao K3B. Para ter o conjunto completo,
você deve instalar todos os pacotes a seguir, usando o apt-get: dvdrip (o
programa propriamente dito :), libdvdcss2 (suporte a DVDs protegidos), avifile-
xvid-plugin, avifile-vorbis-plugin, avifile-mad-plugin, toolame, transcode
(este é um dos pacotes principais, permite converter vídeos em diversos formatos),
subtitleripper (para extrair as legendas), ogmtools (opcional, permite salvar o
áudio em .ogg, reduzindo um pouco o tamanho final) e vcdimager (também
opcional, necessário para criar VCDs).

Muitos destes pacotes fazem parte dos repositórios do Marillat (as duas linhas que
adicionamos no sources.list no tópico sobre o Kaffeine).

Amarok

O Amarok é um player de audio de "nova geração", que trabalha com um conceito


de organização de arquivos diferente do usado em programas mais antigos com o
XMMS e o WinAMP. Ao invés de simplesmente colocar alguns arquivos ou pasta
numa playlist, você cria uma "coleção" contendo todas as suas músicas. O Amarok
utiliza um banco de dados para armazenar todas as informações sobre as músicas,
incluindo o artista, o CD do qual cada uma faz parte, gênero e assim por diante.
Parte das informações são retiradas das tags ID3 dos arquivos, outras são obtidas
através de uma base de dados online. Graças à combinação das duas coisas, o
Amarok é capaz de reunir músicas que fazem parte de um CD, mesmo que elas
estejam espalhadas em várias pastas diferentes. Se você tiver muitas músicas
espalhadas, vai acabar percebendo que na verdade tem faixas de muitos CDs que
nem imaginava que existiam :).
O processo inicial de criação da coleção e catalogação das músicas pode demorar
alguns minutos, caso você tenha muitas músicas, mas depois você notará que ele
oferece muitos recursos interessantes, como exibir as letras das músicas que estão
tocando e mostrar imagens das capas dos CDs (tudo baixado da web). Conforme
vai usando o programa, ele começa a reunir uma série de estatísticas, como as
músicas que são mais ouvidas, o número de vezes que ouviu cada uma e assim por
diante. Ele também oferece recursos para ouvir rádios online (ele já vem com uma
lista bastante completa), podcasts, suporte a iPods e outros MP3 Players e até
opções para gravar músicas da coleção direto em CD.

A interface do Amarok possui muitas funções, por isso demora um pouco para se
acostumar com ele, mas o conjunto de todas as funções faz com que ele seja
atualmente um dos melhores programas da área, embora naturalmente não agrade
todo mundo. A grosso modo, a organização das músicas por artistas e por CD faz
sentido se a sua coleção de músicas realmente é composta predominantemente por
álbums completos, com as tags ID3 dos arquivos criadas corretamente. Se você
tem um monte de arquivos soltos, a coleção dentro do Amarok vira uma bagunça.

Justamente por ser um programa complexo, o Amarok possui uma grande lista de
dependências, que além da versão correspondente do KDE e vários plugins e
bibliotecas, incluem até o pacote "mysql-common", usado para criar a base de
dados local, onde ficam armazenadas as informações sobre as músicas. Isso faz
com que a facilidade de instalação dependa do fato de ele fazer parte ou não dos
pacotes incluídos na distribuição que está usando. No Debian Etch (testing), por
exemplo, você pode instalá-lo simplesmente usando o "apt-get install amarok". O
site oficial é o: http://amarok.kde.org/.

Outro programa com recursos similares é o Rhythmbox (também disponível via


apt-get), que utiliza as bibliotecas do Gnome. Ele se integra ao Nautilus e à barra
de tarefas do Gnome, fazendo com que ele seja mais usado em distribuições que
utilizam o Gnome por padrão, como o Ubuntu e o Fedora. A página oficial é a:
http://www.gnome.org/projects/rhythmbox/.

XMMS

O XMMS é um dos players de audio for Linux mais antigos. A primeira versão foi
lançada em 1997 e ele é até hoje o player mais popular. Ele não oferece tantos
recursos quanto o Amarok e está há vários anos numa fase de manutenção,
recebendo apenas pequenas melhorias. Ele oferece uma interface simples, similar à
do WinAMP, onde você adiciona algumas músicas na playlist e escuta, sem rodeios.

Existem alguns plugins, que permitem adicionar recursos extras, como vários tipos
de filtros de áudio e até suporte a alguns modelos de controle remoto (útil para
quem usa o PC como aparelho de som), mas o principal ponto positivo do XMMS é
justamente a simplicidade.

Kaudiocreator

Existem vários programas para ripar CDs de música no Linux, inclusive o próprio Konqueror. Acessando
o endereço "audiocd:/" na barra de endereços, ele exibe um conjunto de pastas contendo várias opções de
formatos para as músicas do CD. Arrastando qualquer uma das pastas para o HD, o CD é ripado
automaticamente, no formato escolhido.

A principal vantagem do Kaudiocreator é que ele é capaz de baixar as informações sobre as faixas (nome,
artista, álbum, etc.) via web, a partir do freedb.org. Isso permite que os arquivos MP3 sejam gerados com
as tags ID3 criadas corretamente.

Para ripar as faixas bastam dois cliques: "Selecionar todas as faixas" e "Ripar faixas selecionadas" (o
botão com o ícone da engrenagem). Os arquivos gerados vão para a pasta "mp3", dentro da pasta home, já
convertidas em MP3 e divididas por artista e disco. Você pode acompanhar o status da ripagem na aba
"trabalhos":
Nas preferências você pode escolher o padrão de compressão dos arquivos. É possível gerar arquivos
MP3, Ogg, Flac ou arquivos Wav sem compressão.

Outra boa opção é o Grip, um programa especializado em ripar CDs, que permite ripar os arquivos
diretamente em MP3 e também serve como CD-player. Você pode instalá-lo via apt-get (apt-get install
grip).

Na tela principal, marque as faixas a serem ripadas clicando sobre elas com o botão direito. Depois,
acesse a aba "Extrair" e em seguida em "Extrair e Codificar" para ripar direto em MP3 ou Ogg Vorbis ou
em "Rip only" para extrair as faixas em formato Wav. Assim como no caso do Kaudiocreator, as músicas
são salvas na pasta "mp3/", dentro da sua pasta home.
O default do Grip é encodar as músicas no formato Ogg Vorbis, não em MP3. O Ogg é um formato de
áudio com uma qualidade e capacidade de compressão semelhantes à do MP3, mas que traz a vantagem
de ser completamente aberto, enquanto o MP3 é um formato proprietário, cuja patente pertence ao
Instituto Fraunhofer. Você pode alterar a configuração na "Configuração > Encode > Codificador".
Troque o "oggenc" (que gera arquivos .ogg) pelo "lame" (que gera arquivos .mp3).

Audacity

O Audacity é um gravador e editor de áudio que inclui diversos efeitos, filtros e


ferramentas de edição bastante simples de usar. Ele é um programa sem
equivalentes, pois é ao mesmo tempo muito fácil de usar, mas ao mesmo tempo
tão poderoso quanto muitos programas de edição mais profissionais. Ele é ideal
para quem não é profissional da área, mas precisa de um programa de edição para
uso no dia a dia.

Ao abrir o programa, você pode gravar diretamente a partir do microfone (não


existe limite para o tamanho da gravação, ele simplesmente vai gravando enquanto
houver espaço no HD, o que é útil ao gravar palestras e concertos) ou importar um
arquivo de áudio em .mp3, .ogg, .wav ou qualquer um dos outros formatos
suportados.

Usando a ferramenta de seleção (Selection Tool) você pode selecionar trechos, que
podem ser removidos (tecla DEL), copiados (Ctrl+C) ou colados em outro lugar
(Ctrl+V). Você pode editar os canais de áudio simultaneamente, inclusive juntando
múltiplas faixas. Se você tem uma banda de garagem, por exemplo, pode gravar
voz e instrumentos separadamente (usando um metronomo) e depois juntar tudo
usando o Audacity. Isso vai gerar uma gravação muito mais próxima da feita em
estúdio, onde você pode ajustar individualmente o volume de cada instrumento,
remover trechos ruins, ajustar o tempo e assim por diante.

Você pode instalar o audacity via apt-get (apt-get install audacity) ou baixá-lo
manualmente no http://audacity.sourceforge.net/download/linux. Ele não tem
muitas dependências externas, por isso é um programa bem fácil de instalar.

Outro programa similar, porém voltado mais para o público profissional é o


Rezound, disponível via apt-get ou no http://rezound.sourceforge.net.

Usando o VMware Player

Ao começar a usar Linux, a maioria opta por conservar o Windows em dual boot, a fim de ir se
habituando gradualmente ao sistema, sem perder o acesso aos programas e ao ambiente que está
acostumado a usar. Com o passar do tempo, alguns conseguem passar a usar apenas Linux, com algum
sacrifício, enquanto outros conservam o dual boot, perdendo tempo entre os resets.

Mas, hoje em dia existe uma opção muito mais interessante que o dual boot, que é a possibilidade de
manter o Windows instalado dentro de uma máquina virtual. Isso permite rodar o Windows dentro de
uma janela, usando simultaneamente os aplicativos dos dois sistemas.
Todos os arquivos referentes à máquina virtual são salvos dentro de uma pasta, de forma que você não
precisa ter uma partição separada. Também é muito mais fácil fazer backups e reinstalações, já que você
só precisa salvar a pasta em outro lugar e restaurá-la quando qualquer coisa der errado. Usando uma VM,
você não precisa mais perder tempo reinstalando o sistema cada vez que o Windows pegar vírus ou
começar a travar.

Além do Windows, é possível rodar outras distribuições Linux ou mesmo outros sistemas operacionais
para micros PC, permitindo que você teste diversos sistemas sem precisar ficar formatando o HD.

Naturalmente, dois sistemas rodando simultaneamente são mais pesados do que um, por isso você precisa
ter um PC relativamente potente (a partir de um Duron de 1.0 GHz), com de preferência 512 MB de
memória RAM.

Como citei no capítulo 2, existem diversas opções de emuladores e virtualizadores, incluindo o Qemu e o
Xen, mas o VMware (pelo menos do ponto de vista de um usuário doméstico) é de longe o mais prático
de usar. Ele está disponível no http://www.vmware.com.

O grande problema do VMware era o fato de ser um software caro. Você podia se cadastrar no site para
obter um trial de 30 dias mas, para usá-lo definitivamente (pelo menos legalmente), você precisava pagar
US$ 199 pela versão completa.

Isso mudou com o lançamento do VMware Player, em outubro de 2005. O Player é uma versão gratuita
do VMware, cuja grande limitação é o fato de não possuir as opções que permitem criar e modificar a
configuração da máquina virtual. Isso não impede que ele seja usado no dia-a-dia, pois você pode usar a
versão trial do VMware Workstation para criar e configurar a máquina virtual e depois ficar usando-a
indefinidamente no Player.

A licença de uso do VMware Player permite explicitamente o uso de máquinas virtuais distribuídas por
outras pessoas ou criadas usando o VMware Workstation, mesmo a versão trial. Você pode inclusive
distribuir máquinas virtuais com distribuições Linux (ou qualquer outro sistema de livre distribuição) pré-
instaladas.

Ao usar o Kurumin, você pode usar o Kurumin-EMU, um conjunto de script que desenvolvi para instalar
o VMware Player, além de criar e modificar as máquinas virtuais, eliminando a necessidade de usar o
VMware Workstation. Inicialmente, tinha desenvolvido o Kurumin-EMU como uma interface para o
Qemu, o emulador open-source, que concorre com o VMware, pois na época ele era melhor solução
gratuita. Depois do lançamento do VMware Player, modifiquei os scripts para utilizá-lo no lugar do
Qemu, dando origem à versão atual, que você encontra nas versões recentes do Kurumin, a partir do 5.1:
Ao usar outras distribuições, você pode baixar o arquivo de instalação do VMware Player no:
http://www.vmware.com/download/player/.

Existem duas versões Linux disponíveis, um pacote .rpm e um pacote .tar.gz genérico, que pode ser
instalado em qualquer distribuição. Para instalá-lo, descompacte o arquivo e execute (como root) o
arquivo "vmware-install.pl" dentro da pasta.

Via terminal, os comandos seriam os seguintes:

$ tar -zxvf VMware-player-1.0.0-16981.tar.gz


$ cd vmware-player-distrib/
$ su <senha>
# ./vmware-install.pl

A fim de ser compatível com todas as distribuições, o VMware usa um instalador bem simples, em modo
texto. A instalação é basicamente automática, mas ele confirma as pastas de instalação de uma série de
arquivos. Você pode simplesmente ir pressionando enter, aceitando as opções padrão.

Dependendo da distribuição em uso, ele pergunta num certo ponto sobre a compilação de um módulo de
Kernel. Este módulo é necessário pois ele precisa de acesso direto ao hardware. No Kurumin, a instalação
prossegue automaticamente, pois o sistema já vem com os headers do Kernel e os compiladores
necessários, mas em outras distribuições você pode precisar instalar estes componentes manualmente.
Procure pelos pacotes "kernel-headers", "kernel-source", "gcc" e "g++". No capítulo seguinte, veremos
um passo a passo de como instalá-los no Ubuntu.
Depois de instalado, você pode executá-lo usando o ícone criado no menu, ou via terminal, usando o
comando "vmplayer". Execute-o usando seu login de usuário; o root só é necessário para a instalação.

Ao abrir, você só precisa indicar a pasta com a máquina virtual que será usada. Se tiver memória RAM
suficiente, você pode inclusive abrir duas ou mais instâncias simultaneamente, cada uma rodando um
sistema diferente.
Aqui chegamos ao primeiro problema: ainda não temos nenhuma máquina virtual criada :). Você poderia
voltar ao http://www.vmware.com e preencher o formulário para baixar o trial do VMware Workstation,
instalá-lo, usá-lo para criar as VMs e, depois de 30 dias voltar a usar o VMplayer. A segunda opção é usar
o próprio Kurumin-EMU, que oferece a mesma opção de forma bem mais descomplicada.

Ao criar uma nova máquina virtual, você deve definir o sistema operacional que será instalado, a
quantidade de memória RAM que será reservada e o tamanho do disco virtual.

Se você tem 512 MB, por exemplo, pode reservar 256 MB para a máquina virtual. O sistema dentro da
máquina virtual (chamado de guest) fica limitado a usar a quantidade reservada, sem prejudicar o sistema
principal.

Em termos de hardware, a memória RAM é justamente o principal requisito para um bom desempenho,
mais importante que o processador. Quando existe pouca memória disponível, o VMware começa a usar
swap, reduzindo brutalmente o desempenho. Se as coisas estiverem lentas, experimente antes de mais
nada adicionar mais um pente de memória.

No caso dos discos virtuais, o tamanho definido é apenas uma espécie de limite. Inicialmente, o disco
virtual é um arquivo vazio, que ocupa poucos kbytes. Dentro da máquina virtual, o sistema guest pensa
que está formatando e usando um HD de verdade, mas todas as mudanças são mascaradas e feitas dentro
do arquivo. Conforme você instala o sistema e outros programas, o arquivo vai aumentando de tamanho,
até o limite definido. Enquanto ele não é atingido, o arquivo do disco virtual ocupa um espaço equivalente
à quantidade de espaço realmente ocupado.

Se você criou um disco virtual de 20 GB, mas apenas 2 GB estão em uso, você verá um arquivo de apenas
2 GB dentro da pasta da máquina virtual.

Este é o wizard de criação de uma nova máquina virtual do VMware Workstation:


E este é o script usado pelo Kurumin-EMU. Lembre-se de que a máquina virtual é simplesmente uma
pasta criada no HD, de forma que você pode usar o Kurumin-EMU para criar e modificar suas VMs,
mesmo que você pretenda usar outra distribuição. Basta dar boot pelo CD:

Depois de criada a VM, o próximo passo é instalar o sistema. A máquina virtual se comporta da mesma
forma que um PC normal, com setup e tudo mais. A única diferença é que tudo acontece dentro de uma
janela. Como de praxe, a instalação consiste em dar boot através do CD de instalação do sistema, fazer o
procedimento normal de instalação e depois reiniciar dando boot pelo HD.
Para configurar o "setup" da máquina virtual, pressione a tecla "F2" na tela inicial. Nele você pode
escolher entre dar boot pelo CD-ROM ou pelo HD, e até mesmo acertar a hora do setup. A máquina
virtual tem até mesmo um relógio de CMOS próprio! :-).

Você pode tanto usar um CD-ROM físico, dentro do drive, quanto usar diretamente um arquivo ISO, útil
para testar outras distribuições Linux sem precisar queimar o CD. Isso é definido dentro da configuração
da máquina virtual:

O sistema dentro da VM realmente acha que está sendo instalado dentro de um PC real. Você particiona e
formata o "HD" e tudo mais, porém tudo é feito dentro dentro da pasta, sem afetar o sistema principal:

Espiando dentro da pasta onde foi criada a VM, você verá uma estrutura como esta. O arquivo .vmdk
contém o disco virtual (dependendo da configuração ele pode ser dividido em vários arquivos), o .nvram
contém a configuração do "setup" e o .vmx contém a configuração da máquina virtual:
O arquivo de configuração possui uma estrutura relativamente simples, permitindo que você edite
algumas opções diretamente no arquivo, sem precisar usar o Kurumin-EMU ou o VMware Workstation.

A quantidade de memória RAM reservada à máquina virtual pode ser ajustada diretamente pelo
VMplayer, em "Player > Troubleshot > Change Memory Allocation".

Depois de instalar o sistema, vem outro passo importante, que é instalar o VMware Tools, um conjunto de
drivers que faz o sistema guest rodar com um melhor desempenho e de forma mais transparente,
sobretudo com relação ao vídeo. Isso é necessário, pois, de dentro da máquina virtual, o sistema guest não
enxerga o hardware real da sua máquina, mas sim um conjunto de dispositivos virtuais criados por ele. É
por isso que você pode usar a mesma VM em vários micros diferentes, sem precisar ficar instalando
drivers nem modificando o sistema guest.

O VMware Tools é especialmente importante se você estiver usando o Windows 98 ou 2000 como guest,
pois ambos não possuem drivers para a placa de vídeo virtual do VMware, fazendo com que o vídeo fique
a 640x480, sem qualquer tipo de aceleração.
Outra grande vantagem em instalar o VMware Tools é que o mouse não fica mais "preso" dentro da
janela da VM (normalmente você clica na janela para usar a VM e pressiona Ctrl+Alt para liberar o
mouse), o cursor passa a movimentar-se livremente, como se a máquina virtual fosse apenas mais uma
janela.

Ao usar o VMware Workstation, você pode instalar o VMware Tools dando um boot na máquina virtual e
usando a opção "Settings > VMware Tools Install". Isso simula a inserção de um CD-ROM dentro da
máquina virtual, o que (no Windows) faz com que o instalador seja aberto automaticamente. O VMware
Tools é simplesmente um conjunto de drivers, instalado de forma rápida.

Naturalmente, também é possível instalar o VMware Tools manualmente. Aqui vai o caminho das pedras:

Baixe o arquivo de instalação do VMware Workstation. Ao contrário do player, ele inclui as imagens do
VMware Tools. Descompacte o arquivo e, dentro da pasta criada, acesse a pasta "lib/isoimages/". Ela
contém quatro arquivos ISO, contendo o VMware Tools pra Linux, Windows, Netware e BSD.
Para usá-los, você pode tanto queimar um CD-ROM, quanto configurar a máquina virtual para usar
diretamente o arquivo ISO como CD. O importante é que o conteúdo da imagem esteja acessível dentro
da VM.

Para instalar o VMware Tools no Windows, basta dar boot na VM e abrir o programa de instalação
dentro do CD. Ele detecta a versão do Windows em uso e instala os drivers adequados.

Para instalar o VMware Tools for Linux, copie o arquivo "VMwareTools-5.0.0-13124.tar.gz" de dentro
do CD para uma pasta qualquer do HD, descompacte-o e execute o arquivo "vmware-install.pl" dentro
da pasta.

Será aberto um instalador em modo texto, bem similar ao usado para instalar o VMware Player. Confirme
as pastas de instalação e no final escolha a resolução de vídeo que deseja usar. Ele oferece instruções para
usar um driver de rede alternativo, mas você não precisa se preocupar com isso, pois a rede virtual do
VMware é bem suportada no Linux. O mais importante é o novo driver de vídeo, que é muito mais rápido
e não prende o cursor do mouse.

Ao instalar o Kurumin como guest dentro da máquina virtual, você pode usar o script "instalar-vmware-
tools", que automatiza o processo.

Uma configuração importante relacionada ao desempenho do vídeo é sempre configurar o sistema guest
para usar a mesma profundidade de cores que o sistema host. Se você está usando 16 bits de cor em um,
use igual no outro.

Finalmente, temos a questão da configuração da rede, bem simples na verdade, pois a máquina virtual
simplesmente acessa sua rede local como se fosse um PC à parte. Se você tem um servidor DHCP ativo, o
sistema guest vai configurar a rede automaticamente e até navegar na internet usando a conexão
compartilhada. Caso contrário, você pode configurar a rede manualmente, de forma que o sistema host e o
guest façam parte da mesma rede, e até mesmo usar os scripts que compartilham a conexão.

O VMware Workstation inclui um recurso que permite compartilhar pastas entre o sistema host e o guest,
uma forma simples de trocar arquivos entre os dois. Este recurso não está disponível no VMware Player,
mas você pode usar o Samba, NFS ou mesmo um servidor FTP para compartilhar arquivos entre os dois,
usando a rede virtual.

Ao rodar o Windows dentro da VM, crie um compartilhamento de rede e tente acessá-lo no Linux usando
o SMB4K ou o "smb:/" do Konqueror. Ao rodar outra distribuição Linux dentro da VM, você pode usar o
NFS para compartilhar arquivos, colocando as pastas compartilhadas dentro do arquivo "/etc/exports".
Em caso de problemas, você pode usar um servidor FTP para acessar os arquivos. Um servidor FTP for
Windows muito fácil de usar é o Filezilla, disponível no: http://filezilla.sourceforge.net/.
Outra idéia é usar um pendrive. Ao conectá-lo na porta USB, aparece um botão na janela do VMware
Player, que permite compartilhá-lo com a máquina virtual. Usando este recurso, ele pode ser acessado nos
dois sistemas, servindo como uma área de transferência de arquivos.

Este mesmo recurso funciona também com impressoras, scanners, palms e outros dispositivos USB, que
podem ser usados dentro da máquinas virtual, mesmo que não estejam configurados no Linux. O VMware
Player simplesmente permite que o sistema guest acesse diretamente o dispositivo.

Note que este recurso só funciona com periféricos USB. Não adianta tentar usar o Windows dentro da
VM para ativar seu softmodem que não possui suporte no Linux, pois o VMware não oferece acesso
direto a dispositivos PCI.

Uma última dica é que o vmplayer pode ser chamado via linha de comando, carregando diretamente a
máquina virtual desejada. Basta indicar o arquivo .vmx dentro da pasta, como em:

$ vmplayer /mnt/hda6/winxp/VM.vmx

Isto permite criar ícones no desktop, ou até mesmo fazer que uma determinada máquina virtual seja aberta
automaticamente durante a inicialização do KDE. Neste caso você só precisa colocar o ícone com o
comando dentro da pasta ".kde/Autostart", dentro do seu diretório home.

Usando o Wine

Enquanto o VMware cria um ambiente virtual, que permite executar uma cópia do Windows e rodar os
programas sobre ela, o Wine usa uma abordagem mais direta: simplesmente rodar os programas
diretamente.

Como disse no início, não existe originalmente qualquer compatibilidade entre os programas do Windows
e Linux. Os dois sistemas não possuem sequer uma base comum, são realmente duas coisas bem
diferentes.

A equipe do Wine faz um trabalho de formiguinha, incluindo suporte às funções usadas no Windows,
uma a uma. O conjunto destas funções é chamado de API (application programing interface). O Wine é
justamente uma implementação da API do Windows, que permite executar os programas no Linux como
se fossem aplicativos nativos.

O problema reside justamente no fato da API do Windows ser fechada e existirem muitas chamadas
escondidas e até mesmo bugs que são usados pelos programas. A única forma de descobri-las é na base da
tentativa e erro, o que faz com que o desenvolvimento do Wine seja bem lento.

O Wine foi provavelmente o maior alpha da história. Foram 12 anos, desde o anúncio das primeiras
versões, em 1993. Em 25/10/2005 foi finalmente lançada a primeira versão beta, que indicou uma
mudança de rumos no projeto.

Até então, mudanças estruturais aconteciam a cada novo release, fazendo com que muitos programas que
rodavam em uma versão não funcionassem mais na seguinte. Isso dificultava muito o uso do wine, pois a
única forma de ter certeza que um determinado software iria funcionar seria usar a mesma versão e
distribuição que o autor da dica estava usando. Você pode ver mais detalhes sobre esta fase negra neste
tutorial que publiquei no Guia do Hardware: http://www.guiadohardware.net/tutoriais/098/.

A entrada no estágio beta indicou que o software passou a ser muito mais estável e previsível, fazendo
com que as novas versões simplesmente incluam novos recursos, e não novos problemas. Vale lembrar
que mesmo em estágio alpha, o Wine já rodava uma quantidade muito grande de aplicativos, como o
Office, AutoCAD, Photoshop, IE, Lotus Notes e um sem número de pequenos programas. Daqui pra
frente a lista tende a aumentar.

Note que o Wine não é perfeito. Mesmo programas que são considerados compatíveis rodam muitas
vezes com pequenos defeitos ou pequenas diferenças em relação ao Windows e muitos programas
simplesmente não rodam.

Você pode encontrar uma lista de alguns programas testados no: http://www.frankscorner.org/.
Naturalmente, esta lista está longe de ser completa, de forma que a melhor forma de saber se um
determinado programa roda ou não é simplesmente testando.

O melhor lugar para baixar a última versão do Wine é na própria página do projeto, onde você encontra
pacotes para várias distribuições: http://www.winehq.org/site/download.

Para instalá-lo no Ubuntu, Kurumin e outras distribuições derivadas do Debian, adicione a linha abaixo
no arquivo "/etc/apt/sources.list":

# Wine
deb http://wine.sourceforge.net/apt/ binary/

Depois de rodar o "apt-get update", instale o Wine usando o apt-get:

# apt-get install -t binary libwine wine

A maioria das distribuições incluem pacotes próprios do Wine. No Ubuntu, por exemplo, ele está
disponível no repositório "Universe". O "-t binary" no comando faz com que o apt-get instale a versão
disponível no repositório que adicionamos, ao invés de instalar o pacote disponível no repositório
principal do Debian ou Ubuntu.

Depois de instalado, rode o "winecfg" (desta vez usando seu login de usuário, não o root). Ele se
encarrega de criar as pastas e arquivos de configuração usados pelo Wine:

$ winecfg

Dentro do painel de configuração, clique em "Drives > Autodect", isso faz o winecfg criar a configuração
que permite que os programas Windows acessem arquivos dentro do seu diretório home e em outras
pastas do sistema. O diretório home é geralmente visto dentro dos programas Windows com o drive "H:"
e o diretório raiz aparece como o drive "Z:", mas isso pode variar de acordo com a configuração da sua
máquina.

Na aba "Applications" você pode escolher qual versão do Windows será simulada. A maior parte dos
programas roda melhor escolhendo "Windows 98", que é a opção recomendada. Mas, alguns programas
só instalam no Windows 2000 ou XP. Nestes casos, você pode experimentar abrir novamente o winecfg e
trocar a versão.
Se você pretende usar o som dentro dos aplicativos Windows, acesse a aba "Audio" e marque a opção
"Alsa", no lugar do "OSS" que vem marcado por padrão. Se preferir desativar o som, basta desmarcar
ambas as opções.

Depois de salvar a configuração no winecfg, o Wine já está pronto para uso. Um passo importante é
instalar o "dcom98" dentro do Wine. Ele é uma atualização importante, necessária para que vários
programas rodem corretamente sob o Wine. O arquivo de instalação pode ser baixado no:

http://download.microsoft.com/msdownload/dcom/98/x86/en/dcom98.exe

Para executar programas do Windows, você chama o comando "wine", seguido do programa Windows
que vai ser executado dentro dele. Para instalar o dcom98, use o comando:

$ wine dcom98.exe

Você pode associar os arquivos ".exe" com o Wine no Konqueror, de forma a executá-los simplesmente
clicando sobre eles no gerenciador de arquivos.

Para isso, clique com o botão direito sobre um arquivo ".exe" qualquer. Nas propriedades, acesse a opção
"Abrir Com" e, no campo para indicar o programa, escreva "wine" e marque a opção "Lembrar da
associação de aplicativo para este arquivo":
A partir daí, ao clicar sobre qualquer executável do Windows, ele será executado automaticamente
através do Wine.

Todos os programas instalados através do Wine vão para dentro da pasta ".wine/drive_c" dentro do seu
diretório de usuário. Dentro dela, você verá as pastas "Windows", "Arquivos de programas" e outras
usadas pelos programas. Nas versões recentes, o Wine se encarrega também de incluir ícones para os
programas instalados no menu:

Aqui estou rodando o Flash MX, um dos programas bem suportados, que instala e roda sem problemas
visíveis:
Uma observação é que os programas executados pelo Wine podem (na configuração padrão) ler e
modificar arquivos dentro do seu diretório home. Isto significa que, em algumas situações, como ao
executar um arquivo infectado através do Wine, o vírus pode apagar ou modificar seus arquivos.

Para evitar essa possibilidade, você pode executar o Wine usando um usuário separado. Crie um novo
usuário usando o "adduser" ou o "users-admin" e use o "sux" ou o "su" para logar-se como ele, como em:

$ sux joao

Qualquer programa executado usando este usuário separado poderá no máximo modificar arquivos dentro
do home dele, sem risco para seus arquivos.

Vamos a um exemplo prático de uso do Wine, instalando o DVDShrink, que permite fazer backups de
DVDs de vídeo. Ele é muito útil, pois os DVDs são caros e ao mesmo tempo frágeis, e você não ganha
outro caso o DVD que comprou risque.

O DVDShrink é um dos programas mais simples de usar. Ele extrai o vídeo, junto com legendas, menus e
faixas de áudio do DVD original e comprime (caso necessário) de forma que possa ser gravado numa
única mídia DVD+R ou DVD-R. Isso permite inclusive fazer backup de DVDs dual-layer numa única
mídia, embora com uma pequena perda de qualidade. Você pode também remover as faixas extras de
áudio, extras e outros recursos, de forma a deixar mais espaço para o filme.

O único problema é que ele é um programa Windows, um detalhe que o Wine ajuda a resolver.

O primeiro passo é instalar os pacotes libwine e wine, como vimos a pouco. Ao rodar o winecfg, não se
esqueça de detectar os drives da máquina, clicando no "Drives > Autodetect". Você precisa ter instalado
também o pacote "libdvdcss2", disponível via apt-get no repositório Marillat ou via urpmi no plf.
Na aba "Applications", defina a versão do Windows como "Windows 2000". O DVDShrink não roda
caso o Wine simule o Windows 98.

O próximo passo é baixar o instalador do DVDShrink no http://www.dvdshrink.org/. O ideal é que você


rode a versão 3.2 do DVDShrink sobre o Wine 0.9.8, que é um conjunto bastante testado e que funciona
seguindo apenas as instruções que reporto aqui. Se não for possível, use uma versão mais atual do Wine,
mas nunca uma versão antiga.

Você pode baixar a versão correta do DVDSrink também no link abaixo:


http://www.mrbass.org/dvdshrink/dvdshrink32setup.zip.

Para instalar, descompacte o arquivo e execute-o através do Wine. O instalador roda sem problemas
visíveis, como se estivesse rodando diretamente sobre o Windows.

$ unzip dvdshrink32setup.zip
$ wine dvdshrink32setup.exe

Aproveite para instalar também o DVD Decrypter, que permite quebrar sistemas diversos de proteção,
gerando um arquivo .iso que pode ser posteriormente processado através do DVDShrink:
http://www.mrbass.org/dvdrip/SetupDVDDecrypter_3.5.4.0.exe.

Nas versões anteriores do Wine, era necessário copiar manualmente algumas dlls para dentro da pasta
".wine/drive_c/Windows/System" e criar um link para o CD-ROM dentro da pasta ".wine/dosdevices",
mas atualmente nada disso é necessário. Basta instala-lo diretamente.

Outra melhoria do Wine 0.98 sobre as versões anteriores é que agora são criados (corretamente) ícones no
desktop para os aplicativos instalados através do Wine. Isso torna o uso muito mais confortável, pois
basta clicar no ícone, como no Windows.

De qualquer forma, se você tem algum problema pessoal com eles, nada impede que execute os
programas instalados da forma antiga, especificando o executável e caminho de instalação, como em:

$ wine /home/joao/.wine/drive_c/Arquivos\ de\ programas/DVD\ Shrink/DVD\ Shrink\ 3.2.exe

Veja que nas versões recentes, o Wine usa a pasta ".wine/drive_c" como drive C:, ao invés da
".wine/fake_windows", usada nas primeiras versões.

Para que qualquer aplicativo executado via Wine consiga acessar o DVD ou CD-ROM no drive, é preciso
que ele esteja montado. Ao usar uma distribuição que não faça isso automaticamente via automount,
monte-o usando o ícone no desktop, ou o tradicional:

$ mount /mnt/cdrom

Uma coisa que me chamou a atenção ao rodar o DVDShrink pela primeira vez foi definir a região do meu
drive de DVD. No Linux, não importa para qual região seu drive está ajustado, pois os aplicativos lêem o
disco usando o libdvdcss2, que decodifica o filme diretamente, sem utilizar o chip decodificador incluído
no drive.

É por isso que usei meu drive por meses, sem sequer perceber que ele não estava com a região definida:
Ao abrir, clique no botão "Open Disk" para que ele leia o DVD no drive. Se neste ponto você receber
uma mensagem de erro "Failed to open file \d:", abra as permissões do "/dev/cdrom" e do dispositivo do
seu drive de DVD, como "/dev/hdc" ou "/dev/hdd", usando o comando chmod, de forma que o Wine
tenha permissão para acessar o disco:

# chmod 666 /dev/cdrom


# chmod 666 /dev/hdc

No caso de DVDs com algum dos sistemas de proteção recentes (onde o DVD Shrink reporta um erro
similar), existe a possibilidade de usar o Mplayer para quebrar a proteção, permitindo que o DVD Shrink
acesse o DVD já sem a proteção ativa. Para isso, você precisa ter o Mplayer instalado, junto com o pacote
libdvdcss.

Com o DVD no drive, chame o Mplayer (via linha de comando), como se fosse assistir o DVD:

$ mplayer dvd://1

Caso necessário, especifique o driver de vídeo a ser usado, como em:

$ mplayer -vo xv dvd://1

Feche a janela pouco depois de começar o filme, monte o "/mnt/cdrom" e abra o DVD Shrink. Você
notará que apenas por previamente abrir o filme no Mplayer, ele conseguirá acessar o conteúdo do DVD
normalmente. Isso acontece por que uma vez quebrado o sistema de proteção, o DVD fica disponível para
qualquer aplicativo. Você precisa chamar o Mplayer novamente para cada novo DVD, mas é ainda bem
mais prático do que ter que usar o DVD Decrypter, como seria necessário no Windows.

Na tela principal do DVDShrink você tem a opção de eliminar as trilhas e áudio e legendas de que não
precisa. Nas configurações, desmarque a opção "Enable Burning with Nero", já que vamos gravar o DVD
usando o K3B.

Ao clicar no "Backup!" você tem a tela final, onde você escolhe em qual pasta salvar o arquivo final (é
preciso ter pelo menos 4.4 GB livres) e mais algumas opções relacionadas à qualidade do arquivo gerado.
No meu caso, estou salvando no "drive" E:, que corresponde à pasta "/mnt/hda6" no Linux.
Depois de extraídos os arquivos, falta gravar o DVD, usando o K3B. Crie um "Novo Projeto de DVD de
Vídeo", arraste os arquivos das pastas "AUDIO_TS" e "VIDEO_TS" (de dentro da pasta gerada) para
dentro do projeto e clique no "Queimar". Note que a pasta "AUDIO_TS" fica vazia quando você
desmarca as faixas de áudio extras.
Se você prefere utilizar um programa nativo, experimente o k9copy, que embora não seja tão completo
quanto o DVDShrink, é bem simples de usar e oferece os recursos mais básicos. A página do projeto é a
http://k9copy.free.fr/ e você pode instala-lo via apt-get através do pacote "k9copy", disponível no
repositório Marillat.

You might also like