Transcript
Prefácio Capítulo 1: Uma introdução:
o Um pouco sobre a história do Linux o O Linux hoje o Como um PC funciona o Os componentes básicos
Processador Memória Disco Rígido Placa de vídeo Placa-Mãe Hardware x Software
Arquiteturas o Um pouco sobre redes
O TCP/IP e a configuração da rede Redes wireless Acesso Remoto
o O Kernel e as distribuições Os live-CDs Como baixar, gravar e dar boot
o Linguagens de programação Capítulo 2: Entendendo o Sistema
o As interfaces e programas o Onde estou?? Entendendo os diretórios o Usando o terminal
Completando com a tecla Tab Comandos do prompt Editando os arquivos de configuração Criando links Fechando programas travados Montando e desmontando O clipboard e o terceiro botão Trabalhando com permissões Rodando programas como root
o Máquinas virtuais Capítulo 3: Instalando o Kurumin
o Opções de boot no Kurumin Opções de vídeo Opções para solucionar problemas Rodando o Kurumin com o drive de CD livre Salvando suas configurações
o Instalando o sistema As partições no Linux Instalando Particionando com o cfdisk Particionando com o gparted Copiando os arquivos Concluindo a instalação Configurando o Lilo
Usando uma partição separada para o diretório /home Capítulo 4: Configurando e Resolvendo Problemas
o Configuração do som o Configuração da impressora o Suporte a scanners o Configuração do mouse o Configurando o teclado
o Usando joysticks
o Configurando a conexão Conectando via modem Acessando via ADSL, cabo, rádio ou rede local Usando uma placa wireless Compartilhando a conexão e ativando o firewall
o Acessando celulares e palmtops via bluetooth Solucionando problemas
o Acessando partições do Windows o Acesso a redes Windows
Criando compartilhamentos o Compartilhamentos em NFS o Utilitários de Sistema
o Configurando o KDE Componentes do KDE Configurando teclados multimídia
o Os ícones mágicos o Instalando servidores o Recuperando o sistema o Kurumin em micros antigos
Capítulo 5: Os Programas
o Aplicativos do Linux o A questão dos pacotes o Instalando programas com o apt-get
Configurando os repositórios Usando o dpkg O cache do apt-get Documentação Resolvendo problemas com o apt-get Chaves de autenticação Usando o Alien Instalando a partir do código fonte Programas com instalador Outras ferramentas de instalação
o Programas de escritório
OPENOFFICE Configurando o OpenOffice Koffice Abiword Gnumeric Scribus
o Imagem e desenho Gimp Inkscape Blender Ksnapshot
o Navegadores Firefox Konqueror Opera
NVU o E-Mail
Mozilla Thunderbird Evolution Kmail e Sylpheed
o Mensagem e Voz Gaim
Kopete
Mercury Sim Amsn Skype
o Vídeo, som, CDs e DVDs Kaffeine Mplayer K3B eMovix DVDrip Amarok XMMS
Kaudiocreator Audacity
o Usando o VMware Player o Usando o Wine
Capítulo 6: Instalando e configurando outras distros o Instalando o Ubuntu o Instalando programas
Usando o Synaptic
o Configurando o Gnome o Mais configurações
KDE Impressora Pendrive e CD-ROM Root, sudo e terminal Drivers adicionais e VMware Wireless e ADSL Driver 3D da nVidia Firewall
o Instalando o Slax
Prefácio
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 é.
Capítulo 1: Uma 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.
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.
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.
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.
Capítulo 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/.
Capítulo 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.
Capítulo 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.
Capítulo 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/kurumin.
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/.
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 instalá-lo via apt-get
através do pacote "k9copy", disponível no repositório Marillat.
Capítulo 6: Instalando e configurando
outras distros
Por ser um sistema aberto, o Linux é personalizável ao extremo. Ele pode ser usado
tanto em servidores de alto desempenho, extremamente seguros e incrivelmente
complicados de configurar, quanto em desktops ou celulares.
De acordo com o público a que se destina e as convicções dos desenvolvedores, uma
distribuição Linux pode ser extremamente fácil de usar, detectando o hardware da
máquina automaticamente e oferecendo várias ferramentas e assistentes de
configuração, ou extremamente complicada e antiquada. Existem ferramentas
disponíveis para atingir os dois tipos de público.
Em geral, para se tornar fácil de usar, uma distribuição precisa automatizar mais tarefas
e incluir mais assistentes de configuração, o que acaba fazendo com que você aprenda
menos sobre a estrutura e comandos do sistema ao usá-la, enquanto as distribuições
mais difíceis lhe obrigam a dominar a linha de comando, conhecer diversos arquivos de
configuração e saber como compilar drivers e programas diversos para conseguir
realmente fazer todos os componentes do micro e os programas que usa no dia-a-dia
funcionarem. Elas são muito mais trabalhosas e por isso acabam lhe obrigando a passar
mais tempo configurando o sistema (e menos tempo efetivamente fazendo seu trabalho
;), mas por outro lado lhe obrigam a estudar mais e a dominar melhor o sistema.
A maioria das pessoas acaba testando várias distribuições superficialmente até encontrar
uma que instale corretamente e em que consiga trabalhar sem muitos sustos e acaba
permanecendo nessa distribuição indefinidamente. É aí que surgem os religiosos de
plantão, que defendem uma distribuição em particular, mesmo sem conhecer bem as
outras.
Se você tem por objetivo aprender "Linux", acaba sendo inevitável conhecer e aprender
a trabalhar com várias distribuições diferentes. Eleja uma distribuição "principal" para
realmente trabalhar e usar no dia-a-dia, mas mantenha uma partição separada para ir
testando outras distribuições.
Instale, estude e fuce até conseguir fazer tudo que consegue fazer na sua distribuição
principal, depois passe para a seguinte. Você notará que cada nova distribuição que
testar lhe trará um conjunto diferente de problemas, que vão fazer você estudar e se
aprofundar em diferentes partes do sistema. Em muitos casos tudo pode funcionar de
primeira, mas você notará que muitas configurações são feitas de forma diferente, e
assim por diante. Outra boa opção para testar outras distribuições é usar o VMware
Player, que vimos no capítulo anterior.
Depois de aprender a usar o Kurumin, nossa próxima parada é o Ubuntu, o primo de
segundo grau que também é baseado no Debian, mas apresenta uma série de diferenças
nos programas incluídos e configuração. Em seguida falarei um pouco sobre o Slax, um
live-CD baseado no Slackware, que abordo com mais detalhes no livro Distribuições
Linux, Dominando o Sistema, uma espécie de continuação deste, onde abordo o
Slackware, Mandriva, Fedora, OpenSuSE e Debian, aprofundando o que estamos
aprendendo aqui.
Instalando o Ubuntu
O Ubuntu vem rapidamente ganhando popularidade. Ele é desenvolvido pela Ubuntu
Foundation, uma organização sem fins lucrativos, que por sua vez é patrocinada pela
Canonical Inc., que ganha dinheiro vendendo suporte, treinamentos e customizações do
Ubuntu. Esta combinação de ONG e empresa tem dado muito certo, combinando os
esforços de um sem número de voluntários e um grupo de desenvolvedores bem pagos
que trabalham em tempo integral no desenvolvimento do sistema.
Ao invés do tradicional 1.0, 2.0, 3.0, etc., o Ubuntu usa um sistema de numeração das
versões bastante incomum. Os releases são numerados com base no mês e ano em que
são lançados e recebem um codenome. A primeira versão oficial foi Ubuntu 4.10
(lançado em outubro de 2004), apelidado de "Warty Warthog", seguido pelo 5.04
(lançado em abril de 2005), apelidado de "Hoary Hedgehog" e pelo 5.10 (outubro de
2005), batizado de "Breezy Badger". O próximo será o 6.04 (Dapper Drake), agendado
para abril de 2006. Como pode perceber, as novas versões do Ubuntu são lançadas de 6
em 6 meses, sempre com um nome mais esquisito que a anterior ;-).
Além de fazer download no http://www.ubuntu.com, existe a opção de pedir um CD
gravado no https://shipit.ubuntu.com/.
Os CDs do shipit são inteiramente gratuitos, incluindo a postagem. Na verdade, eles não
mandam apenas um CD, mandam um pacote com 10 conjuntos com o CD de instalação
e um live-CD, onde um é pra você e os outros nove para distribuir entre amigos. Não se
sabe até quando a verba para os CDs gratuitos vai durar, mas até o momento tem sido
um fator importante para a popularização do Ubuntu.
O Ubuntu é um meio termo entre o Debian "puro" e distribuições amigáveis como o
Kurumin. Ele tem foco no uso em desktop, mas sem perder os recursos úteis para uso
em servidor.
Ao invés de incluir várias ferramentas de configuração, ele utiliza apenas as ferramentas
básicas encontradas no Debian, combinadas com um bom sistema de detecção de
hardware durante a instalação. Visualmente, ele é mais agradável de usar (que o
Debian), mas ao configurar você tem que lidar diretamente com arquivos de
configuração. Essa combinação de instalação simples, mas configuração relativamente
complicada faz com que ele seja uma opção bem interessante para estudar e entender
melhor a estrutura do sistema.
Além do Debian, a maioria das dicas que dou aqui sobre o Ubuntu servem também para
o Kurumin. No caso do Kurumin, a maior parte destes passos não são necessários, pois
as configurações já vêm prontas, ou são automatizadas pelos ícones mágicos, mas é
importante estudá-los para entender como o sistema funciona por baixo dos panos.
O Ubuntu usa um instalador em modo texto, uma versão simplificada do instalador do
Debian Sarge. Devido à simplicidade, o instalador é bastante robusto e faz poucas
perguntas durante a instalação. Em geral, mesmo os mais iniciantes não têm muitos
problemas para colocar o Ubuntu para trabalhar. O ponto fraco do instalador é o fato de
possuir uma ferramenta de particionamento bastante deficiente.
Antes de começar a instalação, use o Gparted (que pode ser usado a partir de um CD do
Kurumin) ou outra ferramenta de particionamento para redimensionar a partição do
Windows, criar a partição para a instalação do sistema e swap e outras modificações
necessárias antes de inicializar a instalação. Deixe tudo pronto para apenas definir a
partição onde o sistema será instalado.
Ao invés do KDE, o Ubuntu usa o Gnome como desktop padrão, incluindo um conjunto
de programas que se integram bem com ele. Isso acaba sendo uma deixa para falar mais
sobre ele, já que até agora só falamos do KDE.
Assim como no caso do Kurumin, você pode especificar opções na tela de boot do CD.
Como disse, o instalador é bastante simples e robusto, por isso os casos de problemas
durante a instalação são raros. Mesmo assim, em alguns casos pode ser necessário
desabilitar o ACPI ou APCI ou mesmo especificar o modelo da controladora SCSI, caso
você esteja usando uma. Você pode ver as opções de boot disponíveis pressionando as
teclas F5, F6 e F7.
Para desabilitar o APIC, por exemplo, use a opção "linux noapic". Na verdade, o
instalador não roda em texto puro, ela usa frame buffer. Em algumas poucas situações, a
placa de vídeo pode não ser compatível com o modo usado, neste caso experimente a
opção "linux vga=771", que usa 800x600 com 256 cores, um modo compatível com
praticamente todas as placas.
Existe ainda uma opção de instalação enxuta, onde é instalado apenas o sistema base,
sem o X, Gnome ou qualquer outra ferramenta gráfica, ativada usando a opção "server"
no boot. Esta opção pode ser usada mais tarde como um desafio: que tal tentar instalar
manualmente, via linha de comando, os pacotes necessários para completar a instalação
do sistema, até chegar ao ponto de abrir o Firefox e assistir uma animação em Flash no
http://www.charges.com.br? :-).
A instalação propriamente dita começa com a escolha da língua, escolha "Portuguese
(Brasil)". Em seguida, vem a escolha do teclado, onde o padrão (ao escolher o português
como língua) é o ABNT2. Se você tiver um teclado padrão Americano, acesse a opção
"Selecionar de uma lista completa de teclados" e escolha "Português Brasileiro (Layout
Americano)".
Dentro do instalador, use as setas e a tecla <TAB> para navegar entre as opções,
<Espaço> para selecionar e <Enter> para confirmar.
Apesar de oferecer suporte a muitas linguagens diferentes, o Ubuntu inclui um número
relativamente pequeno de pacotes de internacionalização nos CDs de instalação, que
não inclui o suporte a português do Brasil. Para instalar na nossa língua, o instalador se
oferece para baixar os pacotes necessários via internet no final da instalação.
Para que isso funcione, o instalador detecta a placa de rede e em seguida tenta
configurar a rede via DHCP. Você pode também configurar os endereços manualmente,
mas o instalador não possui suporte a conexões via modem, ADSL com autenticação,
nem à maioria das placas wireless. Só é possível baixar os pacotes durante a instalação
se você estiver usando uma conexão de rede local, compartilhada no modem ADSL, ou
num outro micro da rede.
O próximo passo é o particionamento. Como disse, o particionador usado durante a
instalação está longe de ser intuitivo e a opção padrão é "Apagar todo o disco". Preste
atenção ao selecionar as opções, pois é muito fácil destruir o particionamento do HD
com ele. Respire fundo e conte até dez ;).
Ao instalar num HD já particionado, escolha a opção "Editar manualmente a tabela
de partições". Aponte a partição onde o sistema será instalado e, na tela seguinte, onde
são mostradas as propriedades da partição, indique o seguinte:
O mais importante aqui é o "Ponto de montagem", que diz ao instalador o que fazer
com a partição. Dizer que o ponto de montagem é "/" explica a ele que esta é a partição
onde o sistema será instalado. Não se esqueça de ativar a opção "sim, formatar" e de
indicar o sistema de arquivos no qual a partição será formatada, na opção "Usar como".
Ao terminar, selecione a opção "Finalizar a configuração da partição".
Caso você tenha uma segunda partição que queira usar como home, repita o mesmo
procedimento para ela, dizendo que o ponto de montagem é "/home".
A opção "Opções de montagem" permite incluir opções que serão usadas ao montar a
partição. Cada sistema de arquivos possui opções específicas, que o fazem de forma
diferente ou melhoram o desempenho em situações específicas. No ReiserFS, por
exemplo, é comum usar as opções "noatime" e "notail". A primeira faz com que o
sistema não atualize as propriedades dos arquivos quando eles são acessados (passa a
atualizar apenas quando são realmente alterados), o que melhora bastante o desempenho
em servidores web e bancos de dados. A opção notail desabilita o agrupamento de
arquivos, o que causa um pequeno desperdício de espaço em disco, mas melhora um
pouco o desempenho. Naturalmente, estas opções são apenas opções, você pode
simplesmente manter o "defaults" se não precisar de nada específico.
Caso você tenha dois ou mais HDs, o instalador oferece a opção de usar RAID via
software, onde duas partições (uma de cada HD) são combinadas (RAID 0) e o sistema
passa a acessá-las como se fosse uma partição só, dividindo os dados entre elas. Isso
aumenta o desempenho, mas diminui a confiabilidade, pois qualquer problema com um
dos dois HDs faz com que todos os dados sejam perdidos.
Existe também a opção de usar RAID 1, onde a partição no segundo HD simplesmente
guarda uma cópia dos dados do primeiro. Neste caso não existe ganho nenhum de
desempenho (pelo contrário, temos uma pequena perda), mas você ganha em
confiabilidade, já que o segundo HD passa a armazenar um backup automático. Este
sistema de RAID via software funciona da mesma forma que o RAID feito usando uma
controladora dedicada, porém funciona usando as portas IDE ou SATA da placa-mãe,
sem precisar de hardware adicional.
Para usar as partições em RAID você precisa mudar o sistema de arquivos para "volume
físico para RAID". Depois de combinadas, as duas partições passam a ser vistas como
uma única partição, que pode ser finalmente formatada usando o sistema de arquivos
que preferir.
Por padrão, o instalador monta as outras partições que encontrar no HD (incluindo as
partições do Windows e de outras distribuições), na pasta "/media", mas você pode
mudar para a pasta "/mnt" ou outra pasta que preferir. No screenshot abaixo você tem
um exemplo de configuração mais complexa, numa máquina com dois HDs e várias
partições. Note que o instalador detecta e usa as partições swap automaticamente,
mesmo que você tenha mais de uma.
Ao terminar, selecione a opção "Finalizar o particionamento e gravar as mudanças no
disco" (no final da lista), para continuar com a instalação.
Você notará que ao contrário de outras distribuições mais tradicionais, o Ubuntu não
oferece uma opção para selecionar os pacotes que serão instalados. O CD simplesmente
contém um sistema base, com os programas mais usados, que é instalado diretamente.
Isso reduz a flexibilidade, mas em compensação simplifica bastante a instalação do
sistema e permite que ele seja composto de apenas um CD, ao invés de vários, como no
caso do Mandriva ou Fedora.
Os programas adicionais podem ser baixados posteriormente via internet. Assim como o
Kurumin, o Ubuntu usa o apt-get como ferramenta de instalação, baixando os pacotes a
partir de um conjunto de repositórios próprios.
Depois da cópia dos pacotes, o instalador pergunta sobre o download dos pacotes com
as traduções. Embora seja mais fácil deixar que o instalador se encarregue disso, é
possível instalar manualmente depois, usando o apt-get ou o Synaptic.
Outra pergunta que levanta dúvidas é sobre a configuração do horário. No Linux, a hora
do relógio é calculada segundo o GMT, uma espécie de horário universal, da onde o
sistema subtrai o fuso horário para chegar ao horário na sua região. Quando ele pergunta
se "O relógio de hardware está configurado para GMT", ele está perguntando se o
relógio do micro está mostrando a hora certa (independente do fuso horário), ou se ele
está mostrando o horário GMT, da onde ele ainda vai subtrair três horas para chegar ao
horário de Brasília.
Basicamente, se você usa o Windows em dual boot, responda não, pois o Windows não
calcula o horário baseado no GMT, simplesmente mostra o horário atual do relógio. Em
caso de dúvida, veja se o horário do relógio que ele exibe está certo (neste caso
responda "não", pois ele está usando o horário local) ou se está três horas adiantado
(sintoma de que está ajustado para GMT)
Em seguida, ele pede para você escolher um nome e senha para a sua conta de usuário.
Um detalhe interessante sobre o Ubuntu é que a conta de root vem por padrão
desabilitada. Você utiliza o sudo para abrir programas como root e executar tarefas
administrativas. Para editar o "/etc/fstab" como root, usando o gedit, por exemplo, você
usaria o comando:
$ sudo gedit /etc/fstab
A senha que é solicitada no caso não é a senha de root (lembre-se, a conta de root é
desativada por padrão, não existe sequer uma senha definida), mas sim a senha da sua
conta de usuário. Como você pode ver, o usuário criado durante a instalação pode
executar qualquer comando como root, apenas adicionando "sudo" no início do
comando, assim como no Kurumin. O fato do sudo solicitar a senha de usuário é apenas
uma precaução contra a possibilidade de alguém executar comandos na sua máquina
aproveitando-se da sua ausência.
Voltando à instalação, o passo final é configurar o gerenciador de boot. O Ubuntu usa
do grub ao invés do lilo. Caso você esteja instalando ele sozinho, ou em dual-boot com
o Windows, basta instalar o grub no MBR, respondendo "sim" quando ele pergunta
"Instalar o carregador de inicialização GRUB no registro de inicialização principal?". O
instalador é capaz de detectar outros sistemas operacionais instalados e já inclui as
entradas no menu de boot automaticamente.
Mas, se você está instalando o Ubuntu junto com outras distribuições Linux, essa etapa
inspira mais cuidados. Uma das distribuições deve instalar o gerenciador na MBR e as
demais no primeiro setor da partição. Se você simplesmente for mandando todas
instalarem na MBR, uma vai substituir a outra e no final vai conseguir inicializar apenas
a última.
Para instalar o grub no primeiro setor da partição, responda "não" na pergunta. Ele
perguntará onde o grub deve ser instalado. O problema é que ele usa uma notação
diferente do padrão para nomear as partições. Se você está instalando na partição
"/dev/hda2", por exemplo, responda "hd0,1", se estiver instalando na partição
"/dev/hda5", responda "hd0,4" e, se estiver instalando no "/dev/hdb1", responda
"hd1,0".
Eu ainda pretendo dar umas bolachas em quem inventou essa nomenclatura ;), mas a
lógica é a seguinte:
Os dois números indicam o HD e a partição dentro dele. Ambos são nomeados a partir
do zero, de forma que o "/dev/hda" vira "0", o "/dev/hdb" vira "1", o "/dev/hdc" vira "2"
e o "/dev/hdd" vira "3". As partições também são nomeadas a partir do zero, de forma
que a "/dev/hda1" é "0,0" e a "/dev/hda5" é "0,4", sempre subtraindo 1.
Este primeiro estágio da instalação serve para copiar instalar um sistema base, os
pacotes para o HD e colher as informações necessárias. A instalação mesmo começa
depois de remover o CD e reiniciar a máquina, quando finalmente são instalados o
grosso dos pacotes e os pacotes de internacionalização são baixados via web.
Embora um pouco demorada, esta segunda etapa é automática. Depois de mais um
reboot, você finalmente cai na tela de login.
Uma última dica sobre a instalação é que além da instalação do sistema em si, o
instalador copia cerca de 300 MB de pacotes, que podem ser instalados posteriormente
pelo apt-get, sem que você precise ficar fornecendo o CD de instalação. Para desabilitar
esta cópia, economizando espaço e tornando a instalação mais rápida, use a opção
"linux archive-copier/copy=false" na tela de boot.
Instalando programas
Assim como o Kurumin, o Ubuntu também usa o apt-get como ferramenta de instalação
de pacotes e a configuração das fontes de atualização vai no arquivo padrão, o
"/etc/apt/sources.list". A principal diferença é que o Ubuntu utiliza um repositório
próprio e não os repositórios oficiais do Debian.
No caso do Ubuntu isto é necessário, pois, ao contrário do Debian padrão, novas
versões estáveis do Ubuntu são lançadas de 6 em 6 meses. Se utilizassem diretamente os
repositórios do Debian, teriam que utilizar o testing ou o unstable, o que exporia os
usuários a problemas diversos de instabilidades e pacotes quebrados ao tentar instalar
programas extras, como muitas vezes acontece no Kurumin, que utiliza os repositórios
oficiais.
Como não haveria mãos suficientes para manter versões separadas de todos os mais de
20.000 pacotes do Debian, os desenvolvedores do Ubuntu optaram por manter um
número relativamente pequeno de pacotes, contendo o Kernel, as bibliotecas base do
sistema, o Gnome e os programas mais usados, formando o conjunto que recebemos nos
CDs de instalação, chamado de "Main". Os demais pacotes vão num repositório
separado, o "Universe", que contém basicamente uma cópia "congelada" dos pacotes do
Debian Unstable, testados e atualizados periodicamente. Como estamos falando de um
número muito grande de pacotes, não é possível garantir que não existam falhas, mas,
em geral, os problemas são relativamente raros.
Por padrão, o apt-get vem configurado para usar apenas o main e os repositórios com as
atualizações e correções de segurança. Para ativar o uso do Universe, abra o arquivo
"/etc/apt/sources.list" e descomente as linhas:
deb http://archive.ubuntu.com/ubuntu breezy universe
deb http://security.ubuntu.com/ubuntu breezy-security universe
O "breezy" no caso corresponde à versão do Ubuntu em uso. No meu caso estou usando
o 5.10.
Complementando os dois, temos o "Backports", um repositório que contém
atualizações e novos pacotes vindos da versão de desenvolvimento do Ubuntu, uma
forma de ter acesso às atualizações sem precisar esperar o lançamento da versão
seguinte. Ele é uma espécie de "Unstable" do Ubuntu, ativado ao descomentar a linha:
deb http://archive.ubuntu.com/ubuntu breezy-backports main restricted universe multiverse
As linhas que começam com "deb-src" ativam os repositórios que contém o código
fonte dos pacotes. Elas só são necessárias se você quiser experimentar compilar os
pacotes localmente para tentar ativar opções diversas. Lembre-se de que o Ubuntu é
baseado no Gnome, então, ao invés de usar o kedit ou o kwrite, você usa o gedit para
editar arquivos.
Depois de alterar o arquivo, atualize a base de dados do apt, rodando o:
$ sudo apt-get update
Assim como no Debian, os repositórios do Ubuntu possuem vários mirrors espalhados
pelo mundo. Para usar o mirror do Brasil, por exemplo, acrescente "br." no inicío das
urls, como em: deb http://br.archive.ubuntu.com/ubuntu breezy universe.
O repositório backports contém a categoria "restricted" que inclui alguns pacotes "não
livres", ou seja, programas que possuem algum tipo de restrição quanto ao seu uso ou
distribuição, ou simplesmente possuem o código fechado, como o Java. Muitos
programas e bibliotecas que usamos no dia-a-dia, incluindo drivers, flash, codecs para
vários formatos de áudio e até mesmo o suporte a músicas em MP3 se enquadra nesta
categoria. É muito difícil ter um sistema "100% livre", pois você vai precisar do suporte
a MP3 (por exemplo), mesmo se quiser apenas converter suas músicas para outro
formato.
Você pode complementar a lista incluindo mais dois repositórios, o Marillat e o Debian-
Unofficial, incluindo também as linhas:
deb ftp://ftp.nerim.net/debian-marillat/ etch main
deb http://ftp.debian-unofficial.org/debian sarge main contrib non-free restricted
No Ubuntu 5.10 em diante, você verá um aviso ao instalar qualquer pacote através
deles, relacionado à ausência de chaves de autenticação nos pacotes. Ele é normal e vai
continuar por algum tempo, até que todos os repositórios adotem o uso de chaves PGP.
Note que é preciso responder "s" para continuar a instalação:
AVISO : Os pacotes a seguir não podem ser autenticados !
w32codecs
Instalar estes pacotes sem verificação [s/N] ? s
Note que aqui estou adicionando os repositórios do "etch", que é a atual versão Testing
do Debian. Estes pacotes podem ser usados na última versão do Ubuntu, que é baseada
justamente no unstable, mas seja cauteloso ao usá-los. Caso o apt-get reclame de
dependências quebradas ao tentar instalar algum pacote ou disser que ele conflita com
pacotes já instalados, aborte a instalação e pesquise nos fóruns do Ubuntu
(http://www.ubuntuforums.org/) uma forma alternativa de instalá-los.
Alguns pacotes importantes, que vale a pena instalar depois de ativar os dois
repositórios, a fim de ter uma instalação mais completa, são:
- w32codecs: suporte a vídeos em WMF, Quick Time e outros formatos.
- sun-j2se5.0-jre-binary: suporte a Java, incluindo o plugin para o Firefox.
- flashplugin-nonfree e gsfonts-x11: Suporte a Flash no Firefox. O segundo pacote
contém algumas fontes de tela necessárias para o Flash funcionar corretamente.
- gstreamer0.8-mad, sox e lame: Suporte a músicas em MP3, incluindo a possibilidade
de converter para outros formatos e gravar CDs de música, usando os programas
apropriados.
- totem-xine, gstreamer0.8-plugins, gstreamer0.8-plugins-multiverse e
gstreamer0.8-ffmpg, faad, mjpgtools e ffmpeg: Suporte a formatos diversos de vídeo,
incluindo vídeos em Divx4 e Divx5. Depois de instalar os dois pacotes, rode o comando
"gst-register-0.8" para ativá-los.
- msttcorefonts: Instala fontes do Windows, como a Verdana, Times e Arial, úteis em
alguns programas e para a criação de documentos em geral. Na verdade, este pacote é
apenas um script que baixa as fontes da internet. A partir do Ubuntu 5.10, estas fontes já
vêm pré-instaladas.
- libdvdcss2: Adiciona suporte a DVDs protegidos. Este é o polêmico pacote que é
proibido nos EUA, mas é legal em quase todos os demais países.
- realplayer: Embora não sirva para muita coisa atualmente, o Realplayer completa o
time do suporte a vídeo, permitindo assistir aos vídeos no formato Realvideo.
Assim como no caso do Debian, é possível atualizar para novas versões do Ubuntu via
apt-get, sem precisar reinstalar. Por exemplo, para atualizar do Ubuntu 5.04 (hoary) para
o 5.10 (breezy), abra o arquivo "/etc/apt/sources.list" e substitua todas as instâncias de
"hoary" por "breezy" e rode o "apt-get update". Isso fará com que o apt-get passe a
utilizar os repositórios da nova versão.
Como a atualização consiste numa quantidade muito grande de arquivos, é interessante
primeiro baixar tudo, se necessário ao longo de mais de uma madrugada, e atualizar
tudo de uma vez, quando o download estiver completo e você estiver na frente do micro
para acompanhar o processo. Para baixar os pacotes necessários (sem instalar), rode o
comando:
# apt-get -d dist-upgrade
Para fazer a instalação, rode o:
# apt-get dist-upgrade
Usando o Synaptic
Além de instalar diretamente os programas usando o apt-get, o Ubuntu inclui um
gerenciador de atualizações, que por padrão fica ao lado do relógio, avisando sempre
que existem atualizações de segurança disponíveis e o "gnome-app-install" (Aplicações
> Adicionar aplicações), que serve como um gerenciador simples, para instalar
aplicativos comuns.
Este é um programa destinado a iniciantes, que permite instalar os programas mais
usados com dois cliques. Para quem procura uma opção mais avançada, está disponível
o Synaptic (Sistema > Administração > Gerenciador de Pacotes Synaptic), uma
ferramenta originalmente desenvolvida pela equipe da Conectiva, mas que hoje pode ser
encontrada em diversas distribuições. Ele também é incluído no Kurumin (Iniciar >
Sistema > Synaptic) e pode ser instalado em outras distribuições derivadas do Debian
via apt-get.
Uma dica é que apenas um deles pode ser aberto de cada vez, pois o primeiro trava o
acesso à base de dados do apt, fazendo com que o segundo reclame dizendo algo como
"Impossível obter trava exclusiva".
O Synaptic parece muito complexo à primeira vista e até certo ponto realmente é, mas
ele permite instalar e atualizar pacotes e alterar todas as principais configurações do apt
(incluindo as fontes de atualização), sem precisar se preocupar com os arquivos de
configuração.
A parte que mais assusta ao abri-lo pela primeira vez é a quantidade de pacotes
disponíveis, já que ele mostra todos os pacotes disponíveis em todos os mirrors ativados
no "/etc/apt/sources.list", incluindo o Universe, Backports, Marillat e outros. Os pacotes
estão, naturalmente, divididos em categorias. Clicando sobre os pacotes, você vê a
descrição e, nas propriedades, pode ver mais detalhes, como os arquivos que fazem
parte do pacotes e suas dependências, ou seja, quais outros pacotes serão instalados
junto, caso resolva adicioná-lo.
Os pacotes com o quadrado em branco são os disponíveis para instalação, os com o
quadrado verde são os já instalados e os com o quadrado verde com a estrelinha são os
que estão instalados, porém possuem atualizações disponíveis.
O Synaptic permite marcar várias ações (instalar, remover e/ou atualizar vários pacotes
de uma vez), por isso é interessante principalmente para quem gosta de deixar o micro
ligado à noite baixando e instalando coisas. Assim como no Gparted, as modificações
são realizadas de uma vez ao clicar no "Aplicar".
Clicando no "Marcar Todas as Atualizações", você instala de uma vez todas as
atualizações, o que inclui não apenas as atualizações de segurança, mas também todas
as atualizações gerais, para todos os programas instalados.
É possível também usar o próprio Synaptic para adicionar e remover fontes de
atualizações, ao invés de ter de editar manualmente o "/etc/apt/sources.list". Para isso,
clique no "Configurações > Repositórios".
Inicialmente, você tem acesso aos repositórios ativados. Para adicionar um novo, clique
no "Adicionar".
Ao invés de simplesmente permitir que você inclua a linha que iria no sources.list, o
Synaptic usa uma sintaxe um pouco diferente. No campo "URL" vai o endereço do
repositório, como em "ftp://ftp.nerim.net/debian-marillat/". No campo "Distribuição"
vai o nome da versão do Ubuntu ou Debian, como em "etch". Finalmente, no terceiro
campo vai a lista de pastas dentro do repositório que serão usadas, como "main".
A linha pata adicionar o repositório do Marillat, que no sources.list seria "deb
ftp://ftp.nerim.net/debian-marillat/ etch main", na configuração do Synaptic fica:
Configurando o Gnome
Assim como o KDE, o Gnome não é um simples gerenciador de janelas, mas sim um
desktop, com um conjunto de bibliotecas, ferramentas de desenvolvimento e vários
programas que facilitam o uso e configuração do sistema. Com exceção do Kernel e
drivers, tanto o Gnome quanto o KDE são praticamente sistemas operacionais
completos.
As principais diferenças entre os dois são a biblioteca usada e a filosofia de
desenvolvimento. O Gnome é baseado na biblioteca GTK2, quanto o KDE usa a Qt. O
KDE segue uma filosofia "mais é mais", onde temos um ambiente com muitas opções
de configuração e o máximo de recursos possível, que agrada a usuários avançados. O
Gnome por sua vez utiliza uma filosofia "menos é mais", onde os aplicativos e menus
conservam apenas as opções mais usadas e mais importantes, de forma a facilitar o uso,
o que por sua vez faz torna o uso inicial do sistema mais simples, o que agrada muitos
iniciantes.
As limitações da filosofia do KDE se tornam óbvias quando você começa a encontrar
opções duplicadas (na verdade opções com o mesmo nome, mas que servem para coisas
diferentes) e a se perder no meio das opções do Centro de Controle, enquanto no caso
do Gnome as limitações surgem quando você quer fazer algo e simplesmente percebe
que não existe uma opção para isso.
Um exemplo no caso do KDE é o menu "Configurações" do K3B, onde você encontra
duas opções aparentemente idênticas "Configurar K3B..." e "Configurar K3B", onde
uma abre a janela principal de configuração e a outra abre o K3Bsetup, que verifica as
permissões dos executáveis de sistema usados pelo K3B.
Um exemplo clássico no caso do Gnome é a ausência de uma ferramenta para editar o
menu iniciar. Apenas no Ubuntu 5.10 foi incluído um aplicativo externo para isso, o
smeg (veja a seguir). Muitas coisas que são simples no KDE tornam-se complicadas no
Gnome, pois sem uma opção de configuração disponível você acaba tendo que se virar
com o gconf-editor, ou sair procurando nos arquivos de configuração. A simplicidade
acaba sendo uma faca de dois gumes.
Nada impede que você use aplicativos do KDE no Gnome ou vice-versa, mas existe
uma certa penalidade em termos de desempenho ao fazer isso. Misturando aplicativos
dos dois ambientes o sistema precisa manter as duas bibliotecas carregadas, o que
consome mais memória RAM e processamento. Os próprios aplicativos demoram mais
para carregar "fora de casa", pois é preciso primeiro carregar as bibliotecas e outros
componentes necessários para depois começar o carregamento do aplicativo em si. Um
exemplo clássico é o Konqueror, que abre quase que instantaneamente no KDE, mas
pode demorar de 10 a 20 segundos para carregar no Gnome. Outra questão é o aspecto
visual: os aplicativos do KDE e do Gnome possuem uma aparência bem diferente, o que
faz com que os programas de um fiquem um tanto quanto desfocados ao serem abertos
no outro.
Devido a tudo isso, a maior parte das distribuições adota um dos dois ambientes como
padrão e centraliza o desenvolvimento em torno dele, dando preferência aos aplicativos
e ferramentas de configuração desenvolvidas para ele. O Ubuntu é baseado no Gnome,
daí a necessidade de falarmos um pouco sobre sua configuração :).
Barras e Applets: Assim como no KDE, é possível alterar a posição da barra de tarefas,
criar uma segunda barra, no topo ou canto da tela (é possível ter até 4) e incluir applets
diversos. A configuração do Gnome é feita através do menu "Administração", que
centraliza as opções mais básicas e através do "gconf-editor", uma espécie de "editor de
registro", que centraliza um conjunto de opções "avançadas", que ficam escondidas por
padrão.
Enquanto o KDE adota por padrão um visual mais "Windows", o Gnome diferencia-se
por usar um visual mais estilo "MacOS", com a barra de menu no topo da tela e uma
segunda barra com as janelas abertas na parte inferior. Alguns usuários preferem assim,
mas outros estranham bastante.
Naturalmente, nada é fixo. O Gnome permite que você utilize múltiplas barras de
tarefas, você pode ter até quatro barras fixas (uma em cada canto da tela) e mais um
número indefinido de barras flutuantes, que podem incluir applets diversos. Os applets
são pequenos aplicativos que se integram à barra, permitindo que você tenha as funções
que acha mais úteis à vista.
Clicando sobre uma das barras existentes, você verá um menu como o do screenshot a
seguir. Aqui você pode adicionar applets à barra de tarefas (relógio, monitor de sistema,
lista de janelas, menu, etc.), adicionar atalhos para aplicativos do menu, além de
configurar a largura da barra, criar novas barras ou simplesmente deletá-la, caso você
não queira a barra no topo da tela por exemplo. A barra em si é apenas um espaço para
incluir os applets que você usa.
Uma configuração comum é mover todos os componentes úteis da barra do topo para a
de baixo e em seguida desativá-la, deixando apenas uma barra ativa, como no KDE.
Muita gente prefere desta forma, pois aumenta a área útil da tela. Em geral os
desenvolvedores usam monitores grandes, a 1280x1024 ou mais, enquanto muito
usuários ainda estão nos 800x600. O visual padrão do Gnome é confortável para quem
usa monitores grandes, mas não necessariamente para quem usa o desktop a 1024x768
ou menos.
Além dos applets mais conhecidos, é possível adicionar um conjunto muito grande de
outros applets, incluindo monitores de sistema, monitores de rede e modem, utilitários
para trocar o layout do teclado e besteirinhas diversas. Você tem acesso a eles usando o
botão "Adicionar ao Painel":
O conjunto básico, usado por 8 em cada 10 usuários inclui o Relógio (Acessórios >
Relógio), o menu do Gnome que faz as vias de iniciar ("Menu Principal" no Ubuntu), a
lista de janelas abertas (Área de Trabalho e Janelas > Lista de Janelas) e o controle de
volume (System & Hardware > Controle de Volume).
Clicando sobre qualquer um dos componentes adicionados à barra de tarefas você tem
acesso a mais um menu, que permite mover ou editar as propriedades. Quase todos os
applets oferecem algumas opções que podem ser editadas aqui.
Gerenciador de arquivos: O gerenciador de arquivos default do Gnome é o Nautilus.
Ele oferece um conjunto de recursos bastante interessante, com preview de arquivos,
opções de filtros, comentários para pastas e assim por diante. Ao contrário do
Konqueror, que também é navegador, o Nautilus se concentra na tarefa de gerenciador
de arquivos, deixando a parte de navegação em aberto para que você escolha entre o
Firefox, Epiphany (um Firefox adaptado para se integrar ao Gnome) ou algum dos
outros navegadores disponíveis.
Você notará que, mesmo como gerenciador de arquivos, ele oferece uma quantidade
muito menor de opções e recursos que o Konqueror, fazendo com que muita gente que
vem do KDE, ou mesmo do Windows estranhe bastante. Novamente, caímos na questão
do "mais" ou do "menos": o Nautilus oferece menos opções mas em geral é mais
simples de usar, o que faz com que algumas pessoas sejam mais produtivas com ele. É
mais uma questão de escolha pessoal neste caso.
O Nautilus possui um conjunto de plugins, que são acessados através de endereços (algo
parecido como o "fish://" ou o "fonts:/" do Konqueror, por exemplo). Pressione Ctrl+L
para que ele mostre a barra de endereços. A partir daí, você pode usar uma das
localizações a seguir. Muitas delas são acessíveis também através do menu ou de outros
atalhos espalhados pelo sistema.
fonts:///: Mostra as fontes true-type instaladas no sistema. Você pode instalar outras
fontes (fontes do Windows ou do Corel Draw, por exemplo), arrastando os arquivos
para dentro da pasta. Lembre-se de que no Windows as fontes vão na pasta
C:\Windows\Fonts.
network:///: Mostra e acessa compartilhamentos de rede. Para acessar
compartilhamentos do Windows, verifique se o pacote "smbclient" está instalado.
computer:///: Mostra as partições, CDs, DVDs, disquetes e outras unidades de
armazenamento do micro. É similar ao "devices:/" do Konqueror.
burn:///: Muita gente reclama que o Gnome não possui uma ferramenta de gravação de
CDs, como o K3B. Na verdade, o Nautilus inclui um gravador de CD embutido,
acessado através desta url. Basta arrastar os arquivos que serão gravados para dentro da
janela e clicar no "Gravar no disco".
themes:///: Por aqui você pode alterar o tema visual do Gnome. Entre os pré-instalados
no Ubuntu 5.10, o meu favorito é o "ClearLooks", usado na maioria dos screenshots que
está vendo. O tema padrão do Ubuntu, baseado em tons de marrom e bege, não agrada
todo mundo.
Preferências: Como disse, o Gnome tem suas preferências divididas em dois grupos.
As opções mais básicas estão concentradas no menu "Sistema > Preferências", onde
você configura as associações de arquivos no Nautilus, os atalhos de teclado, fontes,
temas e outras opções visuais do sistema, opções do mouse e som, e assim por diante.
O restante das configurações ficam escondidas no gconf-editor (Aplicações >
Ferramentas do sistema > Editor de Configurações), que funciona como uma espécie de
"editor de registro" exibindo todo tipo de configuração escondida, não apenas para o
Gnome em si, mas para a maior parte dos aplicativos baseados nele.
Atalhos de teclado: O Gnome suporta a maior parte dos atalhos de teclado do KDE.
Pressionando Alt+F1, você abre o menu iniciar, Alt+F2 abre o "Executar uma
aplicação", Alt+Tab alterna entre as janelas abertas e Ctrl+Alt+D minimiza todas as
janelas abertas. Ele inclui também alguns atalhos próprios: pressionando a tecla
PrintScreen você abre o gnome-screenshot, que tira screenshots da tela e os salva em
.png (de forma bem similar ao Ksnapshot do KDE).
Para alternar entre os desktops virtuais, você pressiona Ctrl+Alt+seta (usando as setas
do teclado, para a direita ou esquerda), enquanto no KDE você pressionaria Ctrl+F1,
Ctrl+F2, etc. Para mandar uma janela para outro desktop, clique com o botão direito
sobre a barra de título e use a opção "Mover para outra área de trabalho".
Existem ainda alguns atalhos para lidar com as janelas abertas: Ctrl+F9 minimiza a
janela atual, Ctrl+F10 maximiza, Ctrl+F4 fecha a janela e Ctrl+Espaço abre o menu
"Arquivo" do programa. Estes atalhos podem ser alterados no "Sistema > Preferências >
Atalhos de teclado".
Além dos atalhos relacionados à interface, a maior parte dos aplicativos (tanto do
Gnome, quanto do KDE), suportam também Ctrl+C para copiar e Ctrl+V para colar,
Ctrl+Z para desfazer a última ação, Ctrl+N para criar um novo documento e Ctrl+S
para salvar.
Editor de menus: Para editar o menu iniciar, use o smeg. Ele é instalado por padrão no
Breezy e nas versões anteriores estava disponível via apt-get. Você pode usar o menu,
ou chamá-lo pelo terminal, rodando o comando "smeg".
Ele funciona de uma forma similar ao kmenuedit. Ao criar uma nova entrada no menu,
você escolhe um ícone e inclui o comando de terminal que executa o programa. Ao
incluir entradas para programas de linha de comando, como o mcedit ou o partimage,
inclua o comando "xterm -e", como em "xterm -e mcedit". Isso faz com que, ao clicar
sobre o ícone, ele abra uma janela de terminal com o programa.
Mais configurações
Por também ser baseado no Debian, a configuração do Ubuntu é muito similar à do
Kurumin em muitos aspectos. As principais diferenças é que ele utiliza o Gnome por
padrão, usa um conjunto diferente de programas e, naturalmente, você não poderá
contar com os ícones mágicos ao trabalhar com ele. Mas, por outro lado, nada impede
que você instale mais drivers e aplicativos ou até mesmo substitua o Gnome pelo KDE.
É tudo uma questão de abrir o terminal e usar o apt-get :).
KDE
O Ubuntu é inteiramente desenvolvido em torno do Gnome. O resultado é um conjunto
bem integrado, mas sem aplicativos como o K3B, Konqueror, Kaffeine & cia., que
muita gente gosta e usa.
Os aplicativos do KDE fazem parte do universe, e podem ser instalados
individualmente, como em "apt-get install k3b", onde são baixadas todas as bibliotecas
necessárias. Note que muitas vezes o volume é considerável, pois será necessário
instalar uma grande parte das bibliotecas base do KDE para instalar um único
aplicativo.
Se você preferir instalar o KDE completo, a melhor opção é instalar o meta-pacote
"kubuntu-desktop", que instala um conjunto completo (cerca de 120 MB), contendo o
KDE e aplicativos. O Kubuntu é uma personalização do Ubuntu que usa o KDE por
padrão. Este pacote instala a personalização sobre o Ubuntu, permitindo até mesmo que
você passe a usar o KDM (o gerenciador de login do KDE), no lugar do GDM:
$ sudo apt-get install kubuntu-desktop
Se preferir um conjunto menor, apenas com os pacotes base do KDE, experimente
instalar o pacote "kdebase". Acrescente sempre o pacote "kde-i18n-ptbr" na atualização,
para que os aplicativos fiquem em português:
$ sudo apt-get install kdebase kde-i18n-ptbr
Uma vez instalados, os programas do KDE passam a aparecer também no iniciar do
Gnome e vice-versa. Por mais que você goste mais de um dos ambientes, você vai
acabar sempre misturando programas dos dois no dia-a-dia. Uma dúvida comum é como
fazer os aplicativos do KDE ficarem mais parecidos com os do Gnome, quando
executados dentro do Gnome, e vice-versa, já que o visual padrão dos programas do
KDE quando abertos no Gnome é duro de engolir ;).
Para "gnomizar" os programas do KDE, precisamos instalar dois pacotes, o "qt3-config"
e o "polymer", que os deixam com um visual bem parecido com o do tema
"ClearLooks" do Gnome.
Para isso, comece instalando o pacote qt3-config que está disponível no Ubuntu via apt-
get:
$ sudo apt-get install qt3-qtconfig
Em seguida, precisamos adicionar a linha:
deb http://www.informatik.tu-cottbus.de/~mkrause/debian sid main
... onde está disponível o pacote do Polymer no "/etc/apt/sources.list". Vamos aproveitar
para treinar um pouco o uso do terminal, fazendo isso do jeito mais difícil, direto pela
linha de comando com a ajuda do comando "echo".
Especificando os endereços entre aspas simples e usando o ">>" fazemos com que ele
escreva a linha direto no final do arquivo, sem precisar abri-lo no editor. Para isso,
precisamos primeiro usar o comando "sudo su" para virar root, pois o echo não aceita
escrever em arquivos do sistema se executado pelo sudo:
$ sudo su
# echo 'deb http://www.informatik.tu-cottbus.de/~mkrause/debian sid main' \
>> /etc/apt/sources.list
Depois de adicionar o novo repositório, rode o "apt-get update" e instale o pacote
"polymer":
# apt-get update
# apt-get install polymer
Até aqui você ainda está logado como root. Use o comando "exit" ou pressione Ctrl+D
para voltar a ser um reles mortal e rode o comando "polymer-config", para ativar a
configuração.
# exit
$ polymer-config
Para fazer o contrário, "kdeizar" os aplicativos do Gnome, abra o "Painel de Controle do
KDE > Aparência e Temas > GTK styles and fonts" e marque as opções "Use my KDE
style in GTK applications" e "Use my KDE fonts in GTK applications". Esta é uma
opção padrão do KDE a partir do 3.3.4, pode ser usada em outras distribuições, não
apenas no Ubuntu.
Impressora
Para instalar uma nova impressora, você tem duas opções. A primeira é usar o "gnome-
cups-add", o utilitário para instalar novas impressoras que pode ser encontrado no
"Sistema > Administração > Impressoras". A função dele é detectar a impressora e
apenas confirmar as configurações antes de adicioná-la. Se isso não acontecer,
experimente reiniciar o hotplug, para que os periféricos USB sejam redetectados:
$ sudo /etc/init.d/hotplug restart
O gnome-cups-add permite também instalar impressoras de rede, tanto as
compartilhadas por máquinas Windows, quanto as compartilhadas por outras máquinas
Linux através do Cups e pode ser instalado no Kurumin e outras distros derivadas do
Debian via apt-get:
# apt-get install gnome-cups-manager
Caso a impressora não seja detectada automaticamente, mesmo depois de reiniciar o
hotplug, ainda resta a opção de especificá-la manualmente, como no kaddprinterwizard.
Se o modelo não aparecer na lista de impressoras suportadas, experimente usar algum
outro modelo próximo, do mesmo fabricante. Em alguns casos, a impressora pode
aparecer na lista com um nome diferente, a Lexmark E230, por exemplo, funciona com
o driver "Lexmark Optra E+".
Você pode ver algumas dicas sobre a configuração de impressoras "difíceis" no
https://wiki.ubuntu.com/HardwareSupportComponentsPrinters.
Nos casos mais complicados, você pode pesquisar sobre a impressora no banco de
dados do http://www.linuxprinting.org/.
A segunda opção é usar o printconf (como no Kurumin) para que ele tente detectar e
instalar a impressora automaticamente. Instale-o via apt-get e depois execute-o como
root:
$ sudo apt-get install printconf
$ sudo printconf
Pendrive e CD-ROM
O Ubuntu utiliza uma combinação de scripts do hotplug e funções do Nautilus (o
gerenciador de arquivos do Gnome) para detectar pendrives e oferecer uma forma
simples de gravar CDs/DVDs de dados.
Assim que você pluga um pendrive na porta USB, o hotplug detecta o novo dispositivo
e dispara um script que cria um ícone no desktop, monta e abre uma janela do Nautilus
mostrando os arquivos. Antes de remover o pendrive, você precisa clicar sobre o ícone
no desktop e usar a opção "Desmontar Volume de Dados" para sincronizar os dados.
Não remova o pendrive diretamente, caso contrário você sempre vai perder as últimas
alterações.
Ao colocar um CD ou DVD virgem no gravador, é automaticamente aberta uma janela
do Nautilus perguntando o que deseja fazer com ele. Ao escolher "Gravar um CD de
dados", abre-se uma janela do Nautilus, para onde você arrasta os arquivos e pastas que
serão gravados e clica no botão "Gravar no disco" para iniciar a gravação.
Um recurso similar, que você encontra no Kurumin e em outras distribuições baseadas
no KDE é um menu de contexto do K3B. Clique com o botão direito sobre uma pasta e
selecione a opção "Ações > Gravar um CD de dados usando o K3B". Isso dispara um
script que abre o K3B já com um seção criada, contendo todo o conteúdo da pasta, onde
você só precisa clicar no botão "Queimar..." para iniciar a gravação.
Embora não venha instalado por padrão, o K3B faz parte do repositório Universe, junto
com outros aplicativos e ferramentas do KDE. Depois de incluir a linha no
"/etc/apt/sources.list", você pode instalá-lo pelo apt-get. Instale junto o pacote "k3b-
mp3", que permite gravar CDs de música a partir de arquivos em MP3:
$ sudo apt-get install k3b k3b-mp3
A partir da versão 5.10, o Ubuntu também oferece suporte a vários dos botões de
funções encontrados em notebooks, como os para ajustar o brilho da tela, ativar ou
desativar o som, etc., que dependem de suporte por parte do sistema operacional.
Boa parte das melhorias com relação ao suporte a hardware foram desenvolvidas com
ajuda dos usuários. No "Aplicações > Ferramentas de Sistema > Banco de Dados de
Dispositivos do Ubuntu" você encontra um utilitário que permite enviar feedback sobre
o suporte ao hardware do seu micro. Ele vai executando testes de som, rede, vídeo, etc.
para detectar dispositivos que não estejam funcionando e envia tudo na forma de um
relatório, que permite aos desenvolvedores trabalhar em adicionar suporte aos
dispositivos que não estão funcionando corretamente.
Root, sudo e terminal
Muita gente estranha a conta de root desabilitada no Ubuntu. Se você é um deles, pode
ativar a conta de root e passar a usar o sistema da forma usual de uma forma bem
simples:
# sudo passwd
Sim, é só isso ;). Ao definir a senha, a conta de root é ativada e você passa a poder usá-
la normalmente, como em outras distribuições. O sudo continua ativo, de forma que
você pode usar o su ou sudo para executar comandos como root, de acordo com sua
preferência. Se resolver travar o root novamente, use o comando "sudo passwd -l root".
Se preferir que o sudo não peça a sua senha de usuário ao executar comandos (como no
Kurumin), abra o arquivo "/etc/sudoers" (como root), onde vai a configuração do sudo
e substitua a linha:
%admin ALL=(ALL) ALL
por:
%admin ALL=NOPASSWD: ALL
O "%admin" indica que todos os usuários que fizerem parte do grupo "admin" (que
originalmente inclui apenas o usuário criado durante a instalação) poderão usar o sudo.
Você pode também especificar o login diretamente, como em:
tux ALL=NOPASSWD: ALL
As alterações neste arquivo entram em vigor automaticamente, por isso mantenha a
janela do editor aberta até testar e ver que está tudo ok. Assim, no caso de algum
problema, você pode desfazer a alteração rapidamente.
Se você usa bastante o terminal, outra configuração importante é o autocompletar. Por
padrão, o autocompletar no terminal vem desativado para o root, o que atrapalha
bastante se, como eu, você está acostumado a completar os comandos usando a tecla
TAB. Para ativar, abra o arquivo "/etc/bash.bashrc" e descomente as linhas:
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Drivers adicionais e VMware
Para conseguir instalar drivers adicionais (como os drivers de softmodems, drivers da
nVidia e outros) ou mesmo aplicativos como o VMware, que precisam de um módulo
de Kernel para trabalhar, você precisa ter instalado um conjunto básico de compiladores
e também os headers do Kernel, que contém um conjunto de arquivos e endereços
necessários para que o compilador consiga gerar um módulo adequado para o Kernel
que está em uso.
No caso do Ubuntu, tudo começa com a instalação do pacote "build-essential", que
contém um conjunto básico de ferramentas e scripts:
$ sudo apt-get install build-essential
Este pacote base precisa ser complementado com (pelo menos) o gcc e o g++, os dois
compiladores principais. Um problema aqui é que para compilar os módulos sem erros,
é preciso instalar as mesmas versões do gcc e g++ que foram usadas para compilar o
Kernel em uso. Diferentes versões do gcc freqüentemente possuem incompatibilidades
entre si.
A forma mais simples de descobrir isso é através do arquivo "/proc/version":
$ cat /proc/version
Se você estiver usando o Ubuntu 5.10, por exemplo, vai receber como resposta:
Linux version 2.6.12-9-386 (buildd@rothera) (gcc version 3.4.5 20050809)
Por aqui podemos ver que está sendo usado o Kernel 2.6.12-9 (compilado sem
otimizações para os processadores atuais, daí o "386"), que por sua vez foi compilado
usando o gcc 3.4.
O próximo passo é instalar os dois pacotes pelo apt-get, informando a versão do gcc que
foi usada para compilar o Kernel , como em:
$ sudo apt-get install gcc-3.4 g++-3.4
Aproveite para criar também os links "/usr/bin/gcc" e "/usr/bin/g++", apontando para os
dois executáveis instalados. Isso faz com que eles passem a ser usados por padrão,
mesmo que a versão seja diferente da instalada junto com o pacote "build-essential".
# cd /usr/bin
$ ln -sf gcc-3.4 gcc
$ ln -sf g++3.4 g++
Finalmente, você precisa instalar o pacote com os headers do Kernel, novamente
informando a versão, como em:
$ sudo apt-get install linux-headers-2.6.12-9-386
Neste ponto, você pode testar seu "suporte à compilação", instalando o VMware Player.
Apesar de não parecer, ele precisa de todos estes componentes, pois o instalador precisa
compilar um módulo adequado ao Kernel em uso para que o VMware possa funcionar.
Baixe o instalador for Linux (a versão .tar) no:
http://www.vmware.com/download/player/.
Descompacte o arquivo e, dentro da pasta "vmware-player-distrib" que será criada, rode
o comando "vmware-install.pl", como root:
$ sudo vmware-install.pl
Caso ao instalar você receba um erro dizendo que a versão do gcc em uso é diferente da
diferente da usada para compilar o Kernel (sintoma de que o instalador está tentando
usar a versão errada), indique manualmente a versão, usando o comando:
$ export CC=/usr/bin/gcc-3.4
... e rode novamente o comando "sudo vmware-install.pl".
Depois de instalado, você vai precisar de alguma máquina virtual previamente criada
para usar dentro do vmplayer. Uma solução simples é dar boot com um CD do Kurumin
(Do 5.1 em diante) e usar o script dentro do Kurumin-EMU para criar ou editar a VM e
salvá-la dentro da partição do Ubuntu.
Lembre-se de que dentro do VMware o ambiente visto pelo sistema guest, instalado
dentro da VM é sempre o mesmo, independentemente da configuração real do micro.
As máquinas virtuais funcionam perfeitamente mesmo quando abertas em outro micro
ou em outro sistema operacional. Não existe problema nem mesmo em usar uma VM
criada no Linux numa cópia do VMware instalada no Windows XP e vice-versa.
Wireless e ADSL
Assim como no Kurumin, o Ubuntu inclui um conjunto de drivers nativos para várias
placas wireless suportadas, que são automaticamente detectadas durante a instalação e
também o Ndiswrapper, que serve como uma segunda opção para ativar placas que não
são originalmente suportadas, usando o driver do Windows.
No caso das placas ativadas durante a instalação, você pode configurar os parâmetros da
rede usando o network-admin (Sistema > Administração > Rede).
Selecione a placa wireless no menu, clique no "Propriedades", defina o ESSID da rede,
chave e a configuração dos endereços e clique no "ok" para salvar. De volta ao menu
principal, selecione a placa e clique no "Ativar".
Na opção "Dispositivo padrão de gateway" mude de "eth0" (a placa de rede cabeada)
para a placa wireless, como "wlan0" ou "ath0".
Fazendo isso, a sua conexão wireless já deve estar funcionando. Mas, em caso de
problemas com o network-admin, você também pode configurar os parâmetros da rede
wireless manualmente, usando os comandos abaixo. Lembre-se de substituir o "wlan0"
pelo dispositivo correto da placa wireless, caso diferente:
$ sudo ifconfig eth0 down
(desativa a placa de rede cabeada antes de ativar a placa wireless, evitando problemas
com a rota padrão, ou seja, evitando que o sistema continue tentando acessar a rede
através da placa cabeada, mesmo depois de ativar a wireless)
$ sudo iwconfig wlan0 essid minharede
(configura ESSID, ou seja, o nome da rede)
$ sudo iwconfig wlan0 channel 10
(define o canal usado pelo ponto de acesso)
$ sudo iwconfig wlan0 key restricted s:minhachavewep
(aqui vai a chave de encriptação da rede. Se a rede não estiver com a encriptação
ativada, pule este passo)
$ sudo ifconfig wlan0 up
(ativa a placa wireless, com as configurações definidas)
$ sudo dhclient wlan0
(configura a placa wireless via dhcp)
Depois de ativada, você pode checar os parâmetros da rede, incluindo a velocidade da
rede (1, 2, 5, 11, 22, 54 ou 108 megabits), qualidade do sinal, etc. usando o comando:
$ iwconfig wlan0
Se você precisa se conectar a várias redes diferentes, experimente usar o kwifimanager,
disponível via apt-get depois de ativar o repositório universe.
No caso do Ndiswrapper, é preciso instalar o pacote "ndiswrapper-utils". Embora não
seja instalado por padrão, ele faz parte do CD de instalação, de forma que você não
precisa estar conectado para fazer a instalação:
$ sudo apt-get install ndiswrapper-utils
Por padrão, o Ubuntu não inclui nenhum assistente de configuração, de forma que a
configuração do Ndiswrapper precisa ser feita manualmente, via terminal. Comece
acessando a pasta com o driver e use o comando "ndiswrapper -i" para indicar o arquivo
.inf que será usado, como em:
$ sudo ndiswrapper -i neti2220.inf
Em seguida carregue o módulo usando o comando:
$ sudo modprobe ndiswrapper
Se o led da placa acendeu, experimente configurá-la da forma usual, utilizando o
network-admin. Lembre-se de que além dos parâmetros da rede wireless, você deve
configurar o IP, máscara e outros parâmetros da rede.
Ao ser ativada através do Ndiswrapper, ela é vista pelo sistema como "wlan0". Se não
funcionar, teste com uma versão diferente do driver for Windows. Acesse o
http://ndiswrapper.sourceforge.net/mediawiki/ e veja se não existe uma versão do driver
recomendada para a sua placa.
Uma vez que a conexão esteja funcionando, salve a configuração usando o comando:
$ sudo ndiswrapper -m
Depois de entender como o Ndiswrapper funciona, você pode passar a usar o Ndisgkt,
um pequeno programa de configuração que automatiza o processo de instalar o driver
do Windows e configurar a rede. Ele está disponível no Universe, basta instalá-lo pelo
apt-get ou Synaptic:
$ sudo apt-get install ndisgtk
Depois de instalado, será incluído o ícone "Windows Wireless Drivers" no menu
"Sistema > Administração". Na verdade, o único motivo de não indicar o ndisgtk desde
o início, é fazer com que você primeiro lesse sobre a configuração manual do
ndiswrapper ao invés de ir diretamente para ele ;).
Completando, o Ubuntu também oferece suporte a conexões via ADSL com
autenticação, utilizando o pppoeconf, o mesmo script usado no Kurumin. Este é o script
padrão em todas as distribuições derivadas do Debian, incluído sem modificações.
Antes de abrir o pppoeconf, abra o network-admin e desative a placa onde o modem
está conectado (caso necessário). Em muitas situações, ele não consegue detectar o
modem corretamente caso a placa onde ele está conectado estiver configurada como
conexão de rede local. Lembre-se de que ao invés de ficar discando através do
pppoeconf, você pode configurar seu modem ADSL como roteador, de forma que o
próprio modem faça a autenticação e compartilhe a conexão com o seu micro.
Driver 3D da nVidia
O Ubuntu inclui uma versão pré-compilada do driver 3D da nVidia, que pode ser
instalado usando o apt-get. Instalar o driver desta forma é mais prático, pois você não
precisa de compiladores nem dos headers do Kernel, como precisaria ao instalar
manualmente o pacote baixado no www.nvidia.com.
$ sudo apt-get install nvidia-glx
Depois de instalar o driver, falta mudar a configuração do vídeo para que ele seja usado.
Aqui você poderia usar a receita tradicional e editar o arquivo "/etc/X11/xorg.conf",
trocando o driver "nv" (o driver 2D que vem com o X) por "nvidia" (o driver 3D), ou
usar o comando:
$ sudo dpkg-reconfigure xserver-xorg
Ele refaz a configuração do vídeo, pedindo várias confirmações. Como tudo é
autodetectado, você pode simplesmente ir pressionando <Enter> em todas. Preste
atenção apenas para escolher "nvidia" na segunda pergunta, referente ao driver de vídeo
que será usado.
Firewall
Uma questão polêmica em torno do Ubuntu é o fato do sistema não incluir nenhum
script ou utilitário de configuração de firewall por padrão. Segundo os desenvolvedores,
o firewall não é necessário, pois na configuração padrão o sistema não mantém nenhum
servidor ativo, fazendo com que a possibilidade de existir qualquer brecha de segurança
seja pequena.
Mesmo assim, é sempre interessante manter um firewall ativo num micro conectado
diretamente à internet. Você pode fazer isso escrevendo um script simples de firewall,
que simplesmente bloqueie o acesso a todas as portas, ou utilizar o Firestarter, o mesmo
firewall gráfico incluído no Kurumin.
Um exemplo de firewall manual, que simplesmente fecha todas as portas, permitindo
que você consiga acessar a rede e a internet, mas impedindo que outros micros acessem
serviços ativos na sua máquina seria:
iptables -A INPUT -p tcp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
Estes são na verdade dois comandos de terminal, que ativam o Iptables (o firewall
nativo do sistema, incluído no próprio Kernel), permitindo que programas se
comuniquem internamente usando a interface de loopback, mas bloqueando qualquer
acesso externo. Pra desativar as regras, use o comando:
$ sudo iptables -F
Para permitir acessos provenientes dos micros da rede local, você inclui mais uma regra
(antes das outras duas), especificando os micros dentro da faixa de endereços usada na
rede local. Substitua o "192.168.0.0" pela faixa de endereços usada na sua)
iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 -j ACCEPT
iptables -A INPUT -p tcp -s 127.0.0.1/255.0.0.0 -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
Estes comandos podem ser executados diretamente no terminal. Para que a mudança
torne-se definitiva, inclua-os no final do arquivo "/etc/init.d/bootmisc.sh", antes do
"exit 0".
Naturalmente, configurar as regras manualmente só é necessário se você realmente
gosta da linha de comando. O Firestarter é bem mais simples de usar e inclui mais
funções. Ele faz parte do Universe, e (uma vez ativado o repositório) pode ser instalado
via apt-get:
$ sudo apt-get install firestarter
Você pode executá-lo usando o comando "sudo firestarter" ou usando o ícone no
"Aplicações > Ferramentas de Sistema > Firestarter". Ele precisa ser sempre executado
através do sudo, pois precisa de permissões de root para modificar as regras do IPtables
e criar o serviço de sistema onde salva sua configuração.
Ao abrir o Firestarter pela primeira vez, é aberto um assistente que pede algumas
informações básicas sobre a configuração da rede e oferece opções para compartilhar a
conexão e ativar o firewall sob demanda, ao conectar via modem ou ADSL PPPoE.
Por padrão, uma vez aberto, o Firestarter bloqueia todas as portas e loga todas as
tentativas de conexão, uma configuração bastante segura.
Sempre que alguém tenta abrir alguma conexão, seja a partir de outro micro da rede
local ou via internet, o ícone ao lado do relógio fica vermelho. Clicando sobre ele, a
Interface do Firestarter é aberta, mostrando detalhes sobre a tentativa de acesso.
Digo tentativa, pois por padrão o Firestarter vai bloquear a conexão, fazendo com que a
outra pessoa dê com a cara na porta. Mas, clicando sobre a entrada, você tem a opção de
autorizar futuros acessos.
Usando a opção "Permitir serviço de entrada para a origem" faz com que daí em diante
o endereço possa acessar o SSH, sem disparar novamente o alarme. Como a regra fica
vinculada ao IP, esta opção é útil apenas para micros dentro da rede local que estejam
configurados para usar IP fixo.
A opção "Permitir conexões a partir da origem" faz com que o endereço em questão
possa acessar qualquer serviço disponível na sua máquina, em qualquer porta, sem
disparar o alarme, uma opção interessante para micros da rede local.
Finalmente, a opção "Permitir serviço de entrada para todos" abre a porta do SSH para
todo mundo, incluindo micros da internet, o que naturalmente deve ser usada com
cautela.
Esta natureza "interativa" é justamente o grande diferencial do Firestarter, que faz com
que ele seja atualmente a melhor opção de firewall para desktops em geral. Todas as
regras adicionadas entram em vigor imediatamente e ficam acessíveis para modificação
ou consulta na aba "Política".
Uma vez ativado o firewall, as regras ficam ativas, mesmo que você feche a interface
principal, mas você perde a possibilidade de monitorar as tentativas de acesso e aceitar
conexões. O Firestarter fica residente na forma do serviço de sistema "firestarter".
Para desabilitar o Firewall, não basta fechar a janela, nem mesmo o ícone ao lado do
relógio. Fazendo isso você fecha a interface, mas o serviço continua ativo, com as
regras ativas. Para desabilitar o Firewall você precisa realmente clicar no "Parar
Firewall" dentro da janela principal.
Instalando o Slax
O Slax é um live-CD baseado no Slackware, uma boa forma de conhecer a distribuição
sem precisar passar pela etapa inicial de configuração e configuração do sistema. O Slax
roda diretamente a partir do CD-ROM e inclui um conjunto de scripts que automatizam
a configuração do sistema, detectando o vídeo, som e outros periféricos. O sistema de
autodetecção do Slax não é tão desenvolvido quanto o de distribuições como o Ubuntu,
Knoppix ou Mandriva, mas ajuda bastante.
Você pode baixar a última versão no: http://slax.linux-live.org/.
Além do "Slax Standard Edition", que é a versão principal, que abordo aqui, estão
disponíveis algumas versões específicas, como o KillBill (que vem com o wine pré-
instalado) e o PopCorn (uma versão reduzida, que pode ser instalado num pendrive de
128 MB).
O Slax configura o vídeo durante o boot, mas não abre o modo gráfico
automaticamente. Na tela de login, você deve se logar como root, senha toor e rodar o
comando "startx" para abrir o KDE. Você pode também usar a opção "slax gui" na tela
de boot, para que ele abra o KDE automaticamente, como no Kurumin.
Embora seja raro, existem casos em que o sistema trava na hora do boot por causa de
problemas com a detecção de algum periférico. Nestes casos, você pode experimentar as
opções "slax noagp", "slax nopcmcia", "slax nodma" ou "slax acpi=off".
Ao abrir o modo gráfico, você verá uma versão personalizada do KDE, com um visual
simpático e um menu limpo, com poucos programas instalados por padrão. Devido à
simplicidade, o tempo de boot também é perceptivelmente mais baixo.
Para configurar o som, use o comando "alsaconf", e para configurar a rede, use o
"netconfig" (o mesmo script usado no Slackware). Se você acessa via ADSL com
autenticação (PPPoE), use o comando "adsl-setup" para configurar a conexão e depois
o "adsl-start" para conectar. Estes dois comandos podem ser encontrados também no
Mandriva, Fedora e em outras distribuições derivadas do Red Hat.
O Slax não inclui suporte a nenhum softmodem, mas se por acaso você utilizar um
hardmodem, pode conectar usando o Kppp, como em outras distribuições.
O suporte a placas wireless também não conta com todos os drivers disponíveis mas ele
já vem com o Ndiswrapper pré-instalado, que permite configurar muitas placas usando
os drivers do Windows. A configuração é igual à que fizemos no Ubuntu: você primeiro
carrega o arquivo .inf de driver, com o comando "ndiswrapper -i neti2220.inf" e, em
seguida, ativa o Ndiswrapper usando o comando "modprobe ndiswrapper".
Com a placa ativa, você pode configurar os parâmetros da rede wireless e monitorar a
conexão através do Kwifimanager, que está dentro do menu internet.
O Slax não oferece nenhuma opção de alterar o particionamento durante a instalação.
Você precisa criar as partições previamente, usando o cfdisk e formatá-las através do
comando "mkreiserfs", como em "mkreiserfs /dev/hda2". Outra opção, é particionar
usando um CD do Kurumin, ou o CD de instalação do Mandriva e voltar ao Slax para
instalar. Mesmo ao particionar a partir do próprio Slax, usando o cfdisk, é sempre
necessário reiniciar, para que o instalador detecte as alterações.
O instalador está disponível no "Iniciar > System > Slax Installer". Ele é provavelmente
o instalador mais simples de todas as distribuições que já vi. Você precisa apenas
indicar a partição onde o sistema será instalado e no MBR de qual drive o lilo será
gravado (caso tenha mais de um). Não existe a opção de instalar o lilo na partição, caso
você esteja instalando-o em dual boot com o Windows ou outra distribuição. Ele sempre
se gravará na MBR e você precisará configurar o "/etc/lilo.conf" para que ele lhe dê a
opção de inicializar os outros sistemas instalados.
Existem duas formas de instalação. A opção "Live" simplesmente copia o conteúdo do
CD para a partição, ocupando apenas 200 MB. Esta opção é mais uma opção para poder
dar boot sem usar o CD-ROM do que uma instalação propriamente dita, algo similar a
usar a opção "tohd" no Kurumin. A opção "Real" ocupa quase o triplo de espaço, pois
nela os arquivos são realmente descompactados, criando uma instalação real do sistema,
onde você pode instalar novos programas e fazer qualquer tipo de alteração.
Mesmo depois de instalado, o Slax continua usando o root como usuário padrão.
Enquanto você estiver brincando e explorando o sistema isto é até interessante, pois
permite que você mexa onde quiser, sem ser perturbado por problemas com as
permissões. Se alguma coisa der errado, basta reinstalar e começar de novo.
Mas, a partir do momento em que você resolver navegar na web ou fazer qualquer
trabalho mais sério, o uso do root torna-se um grave problema de segurança por dois
motivos: como root você tem permissão para fazer tudo, então acaba sendo muito fácil
destruir o sistema e, ao mesmo tempo, abrindo todos os programas como root, fica
muito mais fácil explorar brechas de seguranças nos programas para obter acesso à sua
máquina remotamente. Esta segunda possibilidade não é tão grande assim, mas vale a
pena evitar.
Você pode criar um novo usuário usando o comando adduser, como em:
# adduser tux
São feitas muitas perguntas, que permitem incluir informações diversas no cadastro do
usuário (que seriam úteis numa grande rede), mas, no caso de um humilde desktop, as
únicas que realmente interessam são o nome em si (login) e a senha.
Depois de instalado, o Slax nada mais é do que uma versão customizada do Slackware.
O que você aprender a fazer no Slax pode ser feito também no Slackware e vice-versa.
Um dos grandes atrativos do Slax é ser um sistema bem simples e limpo, com poucos
programas instalados por padrão. Isto é uma faca de dois gumes, pois também significa
que ao usar o sistema por mais tempo, você acabará precisando investir mais tempo
baixando e instalando programas adicionais.
O Slax é compatível com os pacotes da versão correspondente do Slackware. O Slax
5.06, por exemplo, usa os pacotes do Slackware 10.2. Normalmente, a última versão do
Slax usa os pacotes da última versão do Slackware.
Você pode instalar programas adicionais a partir dos CDs de instalação (do Slackware)
ou ir baixando individualmente os programas desejados a partir de um dos mirrors
listados no http://www.slackware.com/getslack/.
Para instalar o suporte a português do Brasil no KDE, por exemplo, baixe o pacote kde-
i18n-pt_BR, que está disponível na pasta "slackware/kdei/" do CD ou mirror. Os
pacotes do Slackware usam a extensão ".tgz". Junto com cada pacote, existe sempre um
arquivo ".txt", com uma descrição curta e um arquivo ".asc", usado pelo instalador para
verificar a integridade do pacote principal.
Para instalar o pacote baixado, use o comando "installpkg", seguido pelo nome do
pacote, como em:
# installpkg kde-i18n-pt_BR-3.4.2-noarch-1.tgz
Use a tecla TAB para completar o nome do arquivo depois de digitar as primeiras letras.
O installpkg é uma ferramenta simples de instalação, que funciona de uma forma similar
ao "dpkg -i" do Debian. Ele permite instalar pacotes que você já baixou, mas não é
capaz de baixar os pacotes por si só, como o apt-get. O installpkg também não checa
dependências ao instalar os pacotes: mesmo que exista algum problema, você só saberá
depois de tentar abri-lo.
Esta forma simplificada de instalar programas é a principal característica do Slackware.
A vantagem é que você literalmente pode fazer o que quiser, sem que ele te perturbe
com mensagens de erro e dependências desencontradas. A desvantagem é que ele não
faz nada sozinho; a única maneira de descobrir que o pacote x precisa do pacote y para
funcionar é pesquisando.
Depois de instalado o pacote, acesse o Painel de Controle do KDE, Regional &
Accessibility > Contry, Region & Language e, dentro dela marque a opção Add
Language > Brazil Portuguese. Clique no "Apply" e reinicie o KDE para que os
aplicativos passem a usar nossa língua.
Para instalar o Gimp, baixe o pacote "gimp", que está na pasta "slackware/xap"; para
instalar o Firefox, baixe o pacote "mozilla-firefox" que está na mesma pasta; e assim
por diante. O Slax já vem com o plugin do Flash pré-instalado; experimente instalar
também o Java e Real Player, seguindo as instruções do capítulo 5 depois de instalar o
Firefox.
Para instalar o OpenOffice 2.0, baixe o pacote para o Slackware, disponível no:
http://www.openoffice.org.br/ e instale-o usando o comando:
# installpkg openoffice.org.br-2.0-i586-4.tgz
Depois de instalado, você pode completar a instalação do corretor ortográfico e usar as
otimizações que vimos no capítulo 5.
O Slackware utiliza uma estrutura de scripts diferente da das outras distribuições. No
Debian e na maioria das outras distribuições, você usaria o comando "/etc/init.d/ssh
start" para inicializar o servidor SSH e permitir que sua máquina possa ser acessada a
partir de outros micros da rede local. No Slackware, isso funciona de forma similar, mas
os scripts mudam de lugar, vão na pasta "/etc/rc.d/".
Para instalar o servidor SSH no Slax, por exemplo, instale o pacote "openssh-4.2p1-
i486-1.tgz" que está dentro da pasta "slackware/n/" do CD ou mirror de instalação do
Slackware. Ao instalar o pacote, será criado o arquivo "/etc/rc.d/rc.sshd", o script que
permite inicializá-lo. Para usá-lo, você precisa primeiro transformá-lo num executável,
usando o comando:
# chmod +x /etc/rc.d/rc.sshd
E, em seguida, inicializar o servidor SSH, usando o comando:
# /etc/rc.d/rc.sshd
O fato de ser uma distribuição minimalista, com tamanho reduzido e rápida de instalar,
faz com que o Slax seja uma forma muito prática de se familiarizar com o Slackware, já
que você pode testar a instalação de vários programas, testar várias configurações e
reinstalar o sistema rapidamente sempre que alguma coisa der errada.
top related