Você está na página 1de 677

ESCLARECIMENTOS

Este ebook não é oficial, porém, seu conteúdo foi retirado na íntegra do livro online ‘Linux, Guia
Prático’.
O conteúdo deste ebook foi atualizado em 10/03/2014.
SUMÁRIO

INTRODUÇÃO: UMA BREVE HISTÓRIA DO LINUX ..................................................................... 9


COMO BAIXAR, GRAVAR E DAR BOOT ......................................................................................12
RODANDO O LINUX, SEM SAIR DO WINDOWS......................................................................15
CAPÍTULO 1: ENTENDENDO O SISTEMA.......................................................................................24
A ÁRVORE GENEALÓGICA DAS DISTRIBUIÇÕES .................................................................24
As primeiras distribuições Linux..........................................................................................................24
A família Red Hat ...................................................................................................................................25
O Debian .................................................................................................................................................28
Knoppix e os live-CDs ..........................................................................................................................29
O Ubuntu ................................................................................................................................................32
Juntando as peças ...................................................................................................................................33
Gentoo, BSD e Solaris...........................................................................................................................33
A QUESTÃO DOS APLICATIVOS .....................................................................................................35
Pacotes e instaladores ............................................................................................................................36
ENTENDENDO O SISTEMA ..............................................................................................................39
O Kernel ..................................................................................................................................................39
Entendendo os diretórios......................................................................................................................43
Usando o terminal ..................................................................................................................................45
Comandos do prompt ...........................................................................................................................49
O su, o sux e o sudo ..............................................................................................................................53
A questão das permissões .....................................................................................................................54
Uma introdução ao shell-script ............................................................................................................58
Montando e desmontando ....................................................................................................................65
Usando o Gparted ..................................................................................................................................71
O X E AS INTERFACES ........................................................................................................................75
Gerenciador de login .............................................................................................................................78
Xkill e processos .....................................................................................................................................79
BOOT, SERVIÇOS E ARQUIVOS DE INICIALIZAÇÃO ...........................................................83
OPÇÕES PARA SOLUCIONAR PROBLEMAS ...............................................................................86
CAPÍTULO 2: APROFUNDANDO OS ESTUDOS COM O SLACKWARE ................................88
AS ORIGENS .............................................................................................................................................88
INSTALANDO O SLACKWARE.........................................................................................................89
Boot e particionamento .........................................................................................................................90
O instalador .............................................................................................................................................93
Selecionando as partições......................................................................................................................95
Seleção dos pacotes ................................................................................................................................98
Gerenciador de boot ............................................................................................................................102
Passos finais...........................................................................................................................................106
SOBREVIVENDO AO PRIMEIRO BOOT.....................................................................................110
CONFIGURANDO O X .......................................................................................................................117
Drivers 3D da nVidia e ATI ...............................................................................................................124
CONFIGURANDO O KDE 3.X.........................................................................................................126
Opções do Kcontrol ............................................................................................................................127
Barra de tarefas e dicas ........................................................................................................................134
Arquivos de configuração ...................................................................................................................139
INSTALAÇÃO DE PROGRAMAS ....................................................................................................141
Repositórios adicionais ........................................................................................................................144
Instalando a partir do código-fonte ...................................................................................................145
CONFIGURANDO O SLACKWARE COMO DESKTOP .........................................................146
CONFIGURANDO PLACAS WIRELESS NO SLACKWARE ...................................................152
CONFIGURANDO O LILO................................................................................................................157
ATIVANDO E DESATIVANDO SERVIÇOS ................................................................................160
APLICATIVOS EM MODO TEXTO ................................................................................................163
GERENCIADORES DE PACOTES NO SLACKWARE .............................................................170
Usando o Slackpkg ...............................................................................................................................170
Usando o Slapt-get ...............................................................................................................................172
CAPÍTULO 3: MANDRIVA, KDE 4 E APLICATIVOS ....................................................................176
DICAS DE INSTALAÇÃO ...................................................................................................................176
Particionamento ....................................................................................................................................177
Seleção de pacotes e dependências ....................................................................................................183
Contas, serviços e gerenciador de boot ............................................................................................186
ADICIONANDO REPOSITÓRIOS EXTRAS ................................................................................193
Entendendo o urpmi............................................................................................................................195
MANDRIVA CONTROL CENTER...................................................................................................198
Suporte a hardware...............................................................................................................................199
Configuração da rede ...........................................................................................................................203
Sistema e serviços .................................................................................................................................207
Compartilhamentos de rede................................................................................................................212
Partições e pontos de montagem .......................................................................................................214
Segurança e firewall ..............................................................................................................................216
Wizards para servidores.......................................................................................................................218
DUAL-BOOT COM O WINDOWS ...................................................................................................220
BLUETOOTH..........................................................................................................................................222
REMAPEANDO TECLAS....................................................................................................................224
VMWARE PLAYER NO MANDRIVA .............................................................................................226
ENTENDENDO O KDE 4 .................................................................................................................227
Opções do Systemsettings ..................................................................................................................232
Opções gerais ........................................................................................................................................233
Opções avançadas ................................................................................................................................237
Usando o Dolphin................................................................................................................................241
DICAS DE APLICATIVOS ..................................................................................................................244
Dicas para o Firefox.............................................................................................................................244
Navegando em conexões lentas .........................................................................................................251
Leitores de PDF ...................................................................................................................................254
Editores e visualizadores de imagem.................................................................................................255
Comunicadores e e-mail ......................................................................................................................258
VoiP ........................................................................................................................................................260
Players de áudio e servidores de som ................................................................................................263
Players de vídeo ....................................................................................................................................268
K3B e Brasero .......................................................................................................................................274
Dicas para o OpenOffice/BrOffice ..................................................................................................276
Outras opções de aplicativos de escritório .......................................................................................283
Descompactação de arquivos .............................................................................................................285
CAPÍTULO 4: OPENSUSE E O YAST ..................................................................................................287
DOWNLOAD E INSTALAÇÃO VIA REDE..................................................................................288
MAIS DICAS DE INSTALAÇÃO .......................................................................................................290
Particionamento, pontos de montagem e opções ...........................................................................294
Entendendo o LVM .............................................................................................................................297
As opções finais ....................................................................................................................................298
YAST2 E A ORGANIZAÇÃO DO SISTEMA.................................................................................302
Gerenciamento de pacotes ..................................................................................................................303
Usando o Zypper..................................................................................................................................305
Apt-get no OpenSUSE ........................................................................................................................308
Hardware e drivers ...............................................................................................................................309
Sistema ...................................................................................................................................................313
Configuração da rede ...........................................................................................................................315
Serviços de rede ....................................................................................................................................320
AppArmor .............................................................................................................................................323
Segurança e outros ...............................................................................................................................325
Acesso remoto ......................................................................................................................................328
USANDO O XEN...................................................................................................................................331
CAPÍTULO 5: UBUNTU ...........................................................................................................................337
OPÇÕES DE INSTALAÇÃO ..............................................................................................................338
Sudo e o gerenciador de boot.............................................................................................................342
CONFIGURANDO O UNITY ............................................................................................................343
O Unity usado no 11.04 ......................................................................................................................345
Dash........................................................................................................................................................347
O MyUnity e o CCSM .........................................................................................................................349
Usando o Ubuntu Tweak ....................................................................................................................350
Ubunto mais familiar com o gnome-panel ou Cinnamon .............................................................355
CONFIGURAÇÃO DO SISTEMA E ATUALIZAÇÕES .............................................................356
Configuração da rede ...........................................................................................................................359
Usando múltiplos monitores ..............................................................................................................363
CONFIGURANDO O GNOME.........................................................................................................367
Configuração das fontes ......................................................................................................................372
Usando o gconf-editor.........................................................................................................................374
Dicas para o Nautilus...........................................................................................................................375
Múltiplas áreas de trabalho .................................................................................................................379
Usando o Ubuntu Tweak ....................................................................................................................380
Mais opções de configuração .............................................................................................................382
GERENCIAMENTO DE PACOTES E REPOSITÓRIOS ..........................................................387
Atualizações do sistema .......................................................................................................................392
Usando o apt-get e o aptitude ............................................................................................................394
Entendendo o cache do apt e transportando os arquivos .............................................................398
Usando o dpkg e solucionando problemas ......................................................................................399
Synaptic, gnome-app-install e outros gerenciadores .......................................................................401
Codecs, plugins, drivers e outros pacotes adicionais ......................................................................404
CONFIGURAÇÃO DE IMPRESSORAS ..........................................................................................409
USANDO O KDE NO UBUNTU ......................................................................................................412
MAIS OPÇÕES DE ADMINISTRAÇÃO .........................................................................................413
CRIANDO UM DIRETÓRIO ENCRIPTADO ...............................................................................417
FIREWALL NO UBUNTU ...................................................................................................................421
CONFIGURANDO O GRUB..............................................................................................................427
UPSTART E A CONFIGURAÇÃO DOS SERVIÇOS ...................................................................432
INSTALANDO ATRAVÉS DO ALTERNATE CD.......................................................................435
INSTALANDO A PARTIR DO WINDOWS...................................................................................441
INSTALANDO EM UM PENDRIVE ...............................................................................................442
LIVE-CD DO UBUNTU COMO SISTEMA DE RECUPERAÇÃO ..........................................445
A FAMÍLIA UBUNTU ...........................................................................................................................449
LINUX MINT ..........................................................................................................................................453
CRIANDO SUA PRÓPRIA VERSÃO COM O UBUNTU BUILDER ......................................455
GERANDO UMA IMAGEM PERSONALIZADA COM O CLONEZILLA ..........................457
CAPÍTULO 6: DEBIAN COMO DESKTOP .......................................................................................459
INSTALANDO O LENNY ..................................................................................................................460
Download dos pacotes, instalação e gerenciador de boot .............................................................464
CONFIGURAÇÃO BÁSICA ................................................................................................................467
Configurando os repositórios .............................................................................................................469
Configuração da rede ...........................................................................................................................470
Terminal e sudo ....................................................................................................................................473
Iceweasel x Firefox ...............................................................................................................................474
NTFS-3g ................................................................................................................................................475
USANDO O KVM (QEMU) NO DEBIAN ......................................................................................476
MIGRANDO PARA O SQUEEZE ....................................................................................................480
ATUALIZANDO O KURUMIN 7 PARA O LENNY ...................................................................481
INSTALANDO DRIVERS ADICIONAIS NO DEBIAN.............................................................486
INSTALANDO O DEBIAN EM NETBOOKS ..............................................................................489
Dicas de configuração..........................................................................................................................492
Conexão 3G e Bluetooth ....................................................................................................................495
Liberando espaço no SSD...................................................................................................................498
USANDO O DEBIAN EM PCS ANTIGOS.....................................................................................499
Usando o LXDE ..................................................................................................................................499
Dicas de aplicativos leves ....................................................................................................................501
ATUALIZANDO O KERNEL NO DEBIAN .................................................................................503
GERANDO UM KERNEL PERSONALIZADO ...........................................................................505
Compilando e instalando.....................................................................................................................510
Compilando no Debian .......................................................................................................................512
USANDO O HDPARM .........................................................................................................................514
GERENCIAMENTO DE ENERGIA ................................................................................................517
PowerTOP e outras dicas ...................................................................................................................520
Monitorando com o lm-sensors .........................................................................................................525
USANDO O NOTEBOOK COMO SEGUNDO MONITOR ....................................................528
USANDO DOIS MONITORES EM PLACAS NVIDIA ...............................................................533
CAPÍTULO 7: FEDORA............................................................................................................................540
AS CARACTERÍSTICAS BÁSICAS ....................................................................................................540
INSTALAÇÃO E O ANACONDA.....................................................................................................542
Live-CDs e instalação via rede ...........................................................................................................550
MULTIMÍDIA E REPOSITÓRIOS ADICIONAIS ........................................................................552
GERENCIAMENTO DE PACOTES ................................................................................................554
Usando o yum .......................................................................................................................................556
CONFIGURANDO O FEDORA .......................................................................................................559
Dicas gerais ............................................................................................................................................560
Configuração da rede ...........................................................................................................................561
Módulos adicionais...............................................................................................................................563
Firewall e SELinux ...............................................................................................................................564
CAPÍTULO 8: VIRTUALIZAÇÃO E WINE ........................................................................................568
USANDO O VIRTUALBOX................................................................................................................569
As opções básicas .................................................................................................................................574
Criando as máquinas virtuais ..............................................................................................................576
Instalando os extras para o convidado..............................................................................................582
Mais configurações ...............................................................................................................................585
Usando o VirtualBox via linha de comando ....................................................................................590
Configuração da rede virtual...............................................................................................................593
VMWARE SERVER EM DESKTOPS ...............................................................................................595
Instalando o VMware Server ..............................................................................................................596
Usando a interface de administração.................................................................................................598
Usando as VMs .....................................................................................................................................603
USANDO O WINE ................................................................................................................................606
Instalação e uso.....................................................................................................................................609
Dicas para o Winecfg ...........................................................................................................................613
Winetricks ..............................................................................................................................................615
PlayOnLinux .........................................................................................................................................617
CrossOver, Bordeaux e Cedega .........................................................................................................619
APLICATIVOS OPEN-SOURCE PARA O WINDOWS ..............................................................621
CAPÍTULO 9: OUTRAS DISTRIBUIÇÕES .........................................................................................624
KNOPPIX .................................................................................................................................................624
SIDUX ........................................................................................................................................................626
DREAMLINUX .......................................................................................................................................631
LINUXMINT............................................................................................................................................634
BIG LINUX ..............................................................................................................................................638
PCLINUXOS ............................................................................................................................................640
VECTOR LINUX ....................................................................................................................................644
ARCH LINUX ..........................................................................................................................................645
SABAYON ................................................................................................................................................652
DISTRIBUIÇÕES `PRA INGLÊS VER` ...........................................................................................656
DISTRIBUIÇÕES MINIMALISTAS ..................................................................................................657
Puppy Linux ..........................................................................................................................................658
Slax..........................................................................................................................................................663
GoblinX .................................................................................................................................................667
Tiny Core ...............................................................................................................................................669
SliTaz ......................................................................................................................................................672
INTRODUÇÃO: UMA BREVE HISTÓRIA DO LINUX

O sistema operacional é o responsável por ativar todos os periféricos e criar o ambiente sobre o qual
todos os outros programas rodam. É ele o responsável por reservar processamento suficiente para que o MP3
que você está ouvindo em background continue sendo tocado mesmo quando você precisa abrir outro
aplicativo pesado, ou por transferir programas e bibliotecas sem uso para a memória virtual quando a
memória principal está quase toda ocupada, por exemplo. Isso faz com que o trabalho do sistema operacional
seja uma atividade inglória, já que você só se lembra dele quando alguma coisa dá errado. :)

Para tristeza de alguns e alegria de outros, o Windows é o sistema operacional mais usado em
desktops, o que faz com que ele seja a plataforma mais familiar para a maioria. Muitas tarefas são complicadas
(experimente tentar encontrar drivers para alguma placa-mãe antiga, por exemplo), mas, como muita gente
usa e muitos passam pelos mesmos problemas, acaba existindo uma rede de suporte em torno do sistema.

O domínio da Microsoft na área de sistemas operacionais começou em 1981, com o lançamento do


primeiro PC e da primeira versão do MS-DOS. Embora não tivesse nada de especial com relação a outros
sistemas da época, o DOS cresceu em popularidade junto com os PCs, seguido pelas diversas versões do
Windows. Apesar disso, a Microsoft é uma página recente na história da informática. Enquanto o MS-DOS
ainda dava seus primeiros passos, o Unix já era um sistema maduro, usado na maioria dos computadores de
grande porte e em estações de trabalho. A história do Unix começou em 1969, na frente de um computador
igual a este:

Este é um PDP-7, um "minicomputador" da década de 1960 que possuía apenas 8 kbytes de memória
RAM e utilizava fitas magnéticas para o armazenamento de dados. Hoje em dia, qualquer agenda eletrônica
ou celular possui muito mais memória e poder de processamento do que ele, mas na época era um
equipamento relativamente poderoso, que custava US$ 72.000.

Devido às pesadas limitações da máquina, o sistema operacional deveria ser extremamente enxuto e
otimizado, de forma a extrair o máximo de desempenho e consumir o mínimo possível de memória. A
combinação da criatividade dos desenvolvedores, a necessidade e as limitações impostas pelo equipamento,
resultou em um sistema bastante otimizado e elegante. Muitas das idéias surgidas nessa época continuam
sendo usadas até hoje.

O Unix evoluiu durante a década de 1970, passando a ser usado em cada vez mais equipamentos e
ganhando mais recursos. Quase sempre ele era usado em aplicações "sérias", incluindo instalações militares,
bancos e outras áreas onde não existe margem para falhas. Devido a tudo isso, o sistema se tornou muito
robusto e estável.

9
Os primeiros sistemas Unix foram desenvolvidos de forma colaborativa, dentro de universidades e
centros de pesquisa. Embora naquela época ainda não existisse a Internet como a conhecemos hoje, existia
uma grande colaboração entre os desenvolvedores. Isso mudou na década de 1980, quando empresas como a
AT&T, Sun e SCO, que detinham os direitos sobre o sistema, passaram a desenvolver versões proprietárias e
a concorrerem entre si. A colaboração deixou de acontecer e a plataforma foi fragmentada em versões
incompatíveis.

Outro fator importante foi a falta de investimento em versões destinadas a micros PCs. Na época, os
PCs eram vistos como computadores muito limitados, incapazes de rodar sistemas Unix completos (lembre-
se de que estou falando do início da década de 1980, quando ainda eram usados micros XT e 286). Somados,
estes dois fatores fizeram com que a plataforma definhasse, deixando o caminho livre para o crescimento da
Microsoft e das diferentes versões do Windows. Chegamos, então, ao Linux.

Tudo começou em 1991, quando Linus Torvalds começou a trabalhar no desenvolvimento de um


sistema Unix para rodar em seu 386. Na época, o único sistema similar era o Minix, um sistema operacional
para uso acadêmico, que era bastante limitado. No início, Linus usava o Minix para rodar o editor,
compiladores e outras ferramentas de desenvolvimento que utilizava para desenvolver o kernel Linux, mas, a
partir de um certo ponto, ele passou a usar o próprio Linux. Ou seja, depois de um breve período de
encubação dentro do Minix, o Linux passou a ser desenvolvido dentro do próprio Linux. :)

De início, o kernel Linux era um projeto muito pequeno, o hobby de um único programador.
Entretanto, ele tinha uma grande vantagem em relação aos sistemas UNIX que o precederam: o simples fato
de ser disponibilizado sob a licença GPL. Isso permitiu que outros programadores adotassem o projeto,
passando a contribuir com melhorias e correções. Subitamente, toda a demanda acumulada em relação a um
sistema Unix para micros PC foi canalizada em torno do Linux, fazendo com que o sistema passasse a crescer
em um ritmo cada vez mais acelerado, chegando ao que temos nos dias de hoje.

A licença GPL, tão comentada, mas ao mesmo tempo tão mal-compreendida, pode ser resumida em 4
direitos básicos e uma obrigação:

1- Aplicativos disponibilizados sob a GPL podem ser usados por qualquer um e para qualquer fim,
sem limitações. Mesmo que eventualmente os criadores mudem de ideia e resolvam passar a distribuir novas
versões do programa sob outra licença, as versões que foram distribuídas sob a GPL continuam disponíveis,
o que permite que outros desenvolvedores criem uma derivação e continuem o desenvolvimento. Isso traz
uma boa dose de segurança para quem usa o aplicativo, já que reduz a chance de ele ser descontinuado e ficar
indisponível. Enquanto houver um volume considerável de usuários interessados no aplicativo, é bem
provável que o desenvolvimento continue, de uma forma ou de outra.

2- 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.

Isso faz com que a forma mais eficiente de ganhar dinheiro com os softwares seja prestar suporte e
vender serviços de personalização e não com a venda direta, como no caso dos softwares comerciais. 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, já que permite 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 de outros programas 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 para 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.

10
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 em 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.

Os softwares distribuídos sob a GPL também 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 proprietários na mesma edição. Os softwares GPL continuam sendo GPL,
com todas regras que vimos acima, enquanto os softwares proprietários 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.

Ou seja, muito embora alguns vejam a GPL como algum tipo de licença comunista, que diz que todos
os programadores devem fazer voto de miséria e passar a trabalhar de graça em nome do bem comum, ela é
na verdade apenas uma licença que estimula a colaboração e o reaproveitamento de softwares e componentes,
e que vem nos trazendo diversas mudanças positivas. De certa forma, podemos dizer que a GPL é uma
licença até bastante capitalista (no bom sentido), pois estimula a concorrência entre projetos e empresas e
dificulta a criação de monopólios, que são ruins para o sistema econômico.

Voltando à história, embora o kernel seja o componente mais importante do sistema (e também o
mais complexo), ele não é o único. Qualquer sistema operacional moderno é a combinação de um enorme
conjunto de drivers, bibliotecas, aplicativos e outros componentes. O kernel é apenas uma base sobre a qual
todos eles rodam.

Além do período de incubação dentro do Minix, o Linux se beneficiou de diversos outros projetos
anteriores, tais como o X (responsável pela interface gráfica) e inúmeros utilitários, bibliotecas, linguagens de
programação, compiladores e assim por diante. A eles se soma uma grande lista de interfaces e aplicativos que
surgiram nos anos seguintes, tais como o GNOME, o KDE, o Firefox e o OpenOffice.

Entre as ferramentas usadas desde os primeiros dias, estão o Emacs e o GCC, desenvolvidos pela Free
Software Fundation, como parte do projeto GNU. O Emacs é um editor de texto que combina uma grande
quantidade de recursos e ferramentas úteis para programadores, enquanto o GCC é o compilador que permite
transformar o código escrito nele em arquivos executáveis.

Isso deu origem a uma das maiores flame-wars da história da informática, com Richard Stallman
passando a exigir o uso do termo "GNU/Linux" (que é pronunciado como "guí-nuu issléchi Linux") para
designar o sistema, em vez de simplesmente "Linux", argumentando que o projeto GNU foi iniciado antes e
que por isso merece crédito.

Este é um caso em que as opiniões se dividem, com alguns dando razão à ele e realmente usando o
"guí-nuu issléchi Linux" (ou "guínû barra Linux", que é a versão aportuguesada), e outros argumentando que
os componentes do projeto GNU correspondem a apenas uma pequena parte do sistema e que por isso se
fosse para dar o crédito devido a todos os inúmeros componentes que formam uma distribuição atual, seria
preciso chamar o sistema de X/Qt/KDE/GTK/GNOME/Mozilla/Firefox/OpenOffice/...longa-
lista.../GNU/Linux.

O fato é que, excluindo qualquer discussão filosófica, o nome "Linux" puro e simples é muito mais
fácil de pronunciar, o que faz com que o "GNU/Linux" não seja usado fora de alguns círculos específicos.

Continuando a história, embora o Linux tenha sido originalmente desenvolvido para ser usado em
micros PC (mais especificamente no 386 que Linus Torvalds usava em 1991), a modularidade do sistema, o
fato de ele ter sido escrito inteiramente em C e as boas práticas empregadas no desenvolvimento permitiram
que ele ganhasse versões (ou ports) para outras plataformas. Hoje em dia, o Linux roda em praticamente todo
o tipo de sistemas: de PCs domésticos equipados com chips de 32 ou 64 bits, a equipamentos especializados,
usados em maquinário industrial.

11
Existe até mesmo um fork do kernel Linux que é capaz de rodar em processadores 8088 e 286 (o
ELKS), como os usados nos primeiros micros PC. Embora estejam obsoletos nos PCs a mais de duas
décadas, versões modernizadas desses chips são relativamente populares em sistemas embarcados,
concorrendo com chips Z80 e outros processadores de 8 ou 16 bits, que, embora desconhecidos do grande
publico, são produzidos e usados em quantidades gigantescas nos mais diversos tipos de dispositivos. É
justamente essa versatilidade que faz com que o Linux seja usado em tantas áreas diferentes, de celulares a
supercomputadores.

Ao ver micros com Linux em exposição nas lojas e em mercados, tenha em mente que esta é apenas a
ponta do iceberg. O uso do Linux em micros domésticos, pelo grande público, é uma coisa relativamente
recente. Antes de chegar aos desktops, o Linux cresceu entre os desenvolvedores e usuários avançados,
dominou os servidores, invadiu o mundo dos dispositivos embarcados (celulares, roteadores, pontos de
acesso wireless e até mesmo modems ADSL) e se tornou o sistema dominante no mundo dos
supercomputadores.

Segundo o http://www.top500.org/ (que mantém um rank atualizado dos 500 supercomputadores


mais poderosos do mundo), em novembro de 2008 nada menos do que 439 dos 500 supercomputadores mais
poderosos rodavam diferentes versões do Linux (http://www.top500.org/stats/list/32/osfam). Dos
restantes, 25 rodavam outros sistemas Unix e apenas 5 rodavam Windows, um deles com o HPC Server 2008
e quatro com o Windows Computer Cluster Server 2003, duas versões do Windows especialmente otimizadas
para a tarefa.

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 DVDs de instalação, que você pode gravar usando o Nero, K3B ou
outro programa de gravação, obtendo um CD idêntico ao original.

Um dos sites mais conhecidos com notícias sobre os lançamentos de novas versões e links para baixar
até mesmo as distribuições menos conhecidas é o http://distrowatch.com/, que além dos links e notícias,
mantém um abrangente banco de dados sobre as distribuições Linux ativas e também as inativas ou
descontinuadas. Outra opção é o http://www.hardware.com.br/press/cd/, que abriga nossa pequena lista de
distribuições recomendadas.

Como pode imaginar, disponibilizar ISOs de distribuições Linux para download exige muita banda, o
que faz com que muitos desenvolvedores incentivem o download dos arquivos via bittorrent. Apesar disso,
existem diversos mirrors públicos que oferecem as imagens para download direto, a maioria deles situados em
universidades ou empresas de hospedagem. Alguns links de mirrors nacionais, onde você pode fazer um
download rápido são:

Mandriva: http://mandriva.c3sl.ufpr.br/official/iso/
http://www.las.ic.unicamp.br/pub/mandriva/

Fedora: http://fedora.c3sl.ufpr.br/
http://www.las.ic.unicamp.br/pub/fedora/linux/releases/

Ubuntu: http://ubuntu.c3sl.ufpr.br/
http://www.las.ic.unicamp.br/pub/ubuntu-releases/

Kubuntu: http://www.las.ic.unicamp.br/pub/kubuntu/
http://ubuntu.c3sl.ufpr.br/releases/kubuntu/

OpenSUSE: http://mirrors.uol.com.br/pub/suse/distribution/

Debian: http://debian.c3sl.ufpr.br/

Slackware: ftp://ftp.slackware-brasil.com.br/

Quase sempre, você tem a opção de baixar a versão "x86" (que corresponde à versão tradicional,
destinada a máquinas com processadores de 32 bits) e a versão "x86-64", que é a versão compilada para tirar
proveito das instruções de 64 bits suportadas pelos processadores atuais.

12
De uma forma geral, as versões de 32 bits são menos problemáticas, pois você pode simplesmente
instalar qualquer aplicativo, biblioteca ou plugin sem precisar se preocupar em procurar uma versão de 64 bits
do pacote. Mesmo que seu micro seja baseado em um processador Core 2 Duo, Athlon X2 ou outro
processador de 64 bits, o uso das versões de 64 bits do sistema é inteiramente opcional, o que faz com que
muitos prefiram simplesmente continuar usando as versões de 32 bits.

Ao contrário do que muitos pensam, usar um sistema de 64 bits nem sempre resulta em ganhos de
desempenho. Pelo contrário, na maioria das vezes o desempenho acaba sendo inferior, pois o pequeno ganho
derivado do uso das instruções de 64 bits e dos novos registradores acaba sendo negado pelo uso de
endereços de 64 bits (que consomem mais memória) e pela necessidade de duplicar bibliotecas e outros
componentes do sistema, o que é feito sempre que é preciso rodar binários de 32 bits dentro de um chroot
em uma distribuição compilada para usar processadores de 64 bits.

A grande vantagem de utilizar um sistema de 64 bits não é necessariamente o desempenho, mas sim o
suporte a mais de 3 GB de memória RAM. Todos os processadores de 32 bits possuem um limite "físico" de
endereçamento, que limita a memória RAM suportada a um máximo de 4 GB. Destes, 1 GB é sacrificado
para endereçamento dos dispositivos (veja mais detalhes no capítulo 4 do livro Hardware, o Guia Definitivo),
o que, na prática, restringe o sistema a um máximo de 3 GB de memória RAM.

Com isso, a decisão entre usar uma distribuição de 32 bits ou de 64 bits se resume à quantidade de
memória RAM que você pretende utilizar. Se seu PC tem até 3 GB de memória e você não quer esquentar a
cabeça com problemas e incompatibilidades, o mais fácil é simplesmente usar a versão de 32 bits. Se, por
outro lado, seu micro tem 4 GB ou mais de memória e você pretende que toda a memória seja realmente
utilizada, então sua única opção é usar a versão de 64 bits.

Voltando ao básico, gravar um arquivo ISO é diferente de gravar um arquivo qualquer no CD. Um
arquivo ISO é uma imagem binária que deve ser gravada bit a bit na mídia, e não simplesmente adicionado
dentro de uma nova seção.

Ao usar o K3B, por exemplo, clique no "Ferramentas > Queimar imagem de CD" (ou "Ferramentas
> Queimar imagem ISO de DVD"), aponte o arquivo, escolha a velocidade de gravação e clique em
"Gravar". Marque a opção "Verificar dados gravados"; ela verifica a mídia depois de concluída a gravação,
avisando sobre erros de gravação:

Com o CD ou DVD gravado, falta apenas configurar o setup do micro para dar boot através dele. A
maioria dos micros vêm configurados para dar boot preferencialmente através do CD-ROM. Nesse 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, F1 ou F2 (dependendo do fabricante) para acessar o Setup. Procure pela seção "Boot" e coloque
o CD-ROM como dispositivo primário. Feito isso, é só salvar a configuração usando a opção "Save & Exit
setup".

13
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 o sistema 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 por problemas com a conexão ou no gerenciador de
downloads usado. Você pode detectar este tipo de problema (e evitar gastar mídias à toa) verificando o
MD5SUM do ISO antes de gravar. Ele é 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:

ed6a5b3feb668866df812b1c2aed9d7f openSUSE-11.0-DVD-i386.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 openSUSE-11.0-DVD-i386.iso

No Windows, baixe o programa disponível no http://www.md5summer.org/download.html, que é


uma versão gráfica do utilitário.

Sempre que o arquivo estiver corrompido ou incompleto, o resultado do MD5SUM é diferente, o que
permite detectar o problema. O MD5SUM é bastante sensível; a alteração de alguns poucos bits dentro do
arquivo é suficiente para alterar completamente o resultado.

Outra dica é que você pode reparar downloads corrompidos usando o bittorrent de forma bastante
simples. Procure o link para baixar o ISO via bittorrent e salve-o na mesma pasta onde está o arquivo
corrompido. Ao iniciar o download, o cliente bittorrent detectará o arquivo e tentará continuar o download.
Como o bittorrent trabalha baixando os arquivos em pedaços e verificando cada parte de forma
independente, ele será capaz de reparar o arquivo, baixando apenas as partes danificadas, evitando que você
precise baixar todo o arquivo novamente.

Caso ele crie uma pasta com um arquivo vazio, basta fechar o programa, mover o arquivo ISO para
dentro da pasta (substituindo o arquivo vazio) e começar de novo.

Concluindo, embora os CDs e DVDs ainda sejam as mídias de instalação preferidas pela maioria, eles
estão gradualmente perdendo espaço para os pendrives, que acabam sendo mais práticos em muitas situações,
sobretudo no caso dos netbooks, que abandonam o uso do drive óptico em favor da portabilidade.

Muitas distribuições, incluindo o Ubuntu e o Fedora, já oferecem utilitários gráficos que permitem
gerar um pendrive bootável (no Ubuntu, por exemplo, você usaria o "Sistema > Administração > Create a
USB startup disk") e, para as demais, está disponível o UNetbootin, um pequeno utilitário que permite gerar
um pendrive bootável a partir do arquivo ISO do CD:

14
Ele possui versões para Linux e para Windows e está disponível no:
http://unetbootin.sourceforge.net/

Ele ainda não é compatível com todas as distribuições, mas a lista está crescendo rapidamente. Se você
utiliza uma conexão de banda larga, existe também a opção de usar uma das opções de instalação via rede,
onde ele copia apenas uma pequena imagem de boot para o pendrive e o resto do sistema é baixado através
da rede ao iniciar a instalação.

RODANDO O LINUX, SEM SAIR DO WINDOWS

Se, assim como a maioria, você possui um único PC ou notebook, uma opção para testar as
distribuições Linux sem precisar mexer no particionamento do HD e instalar o sistema em dual-boot, é
simplesmente rodar o sistema dentro de uma máquina virtual (VM), no próprio Windows.

Com isso, você ganha liberdade para testar o sistema, fuçar nas configurações, instalar e remover
programas e assim por diante, sem precisar se preocupar em deixar seu PC fora de operação. Uma máquina
virtual nada mais é do que um conjunto de arquivos dentro de uma pasta do HD, de forma que se algo dá
errado, você só tem o trabalho de deletar a pasta e começar de novo.

Naturalmente, você pode também fazer o contrário, ou seja, rodar uma distribuição Linux como
sistema primário e instalar o Windows dentro de uma máquina virtual para tê-lo a disposição sempre que
precisar de algum programa específico, como veremos ao longo do livro.

As possibilidades são quase ilimitadas. Você pode testar diversas distribuições Linux; ter um sistema
de backup para navegar e instalar programas, sem o risco de danificar o sistema principal; instalar o Ubuntu,
Mandriva, OpenSuSE, Debian, Fedora ou outras distribuições sem precisar mexer no particionamento do
HD; e assim por diante. Usar uma VM é a forma mais prática de ter Windows e Linux na mesma máquina,
pois você pode usar os dois sistemas lado a lado.

Existem vários softwares de virtualização gratuitos para Windows, incluindo versões do VMware e do
VirtualBox, mas, para começar, recomendo o VMware Player, que é uma opção bastante prática e fácil de
usar. Você pode baixá-lo no http://vmware.com/download/player/ ou diretamente no:
http://www.vmware.com/download/player/download.html

15
As versões da série 2.x são relativamente grandes (o 2.0.5 tem nada menos do que 170 MB :o), mas se
você usa o Windows XP, pode baixar a versão 1.0.8, que oferece basicamente as mesmas funções e tem
apenas 28 MB.

Embora seja proprietário, o VMware Player é um aplicativo gratuito, você precisa apenas fazer um
cadastro rápido para baixar. A instalação é feita na forma usual, no modelo "next > next > finish". Com o
VMware instalado, o próximo passo é criar a máquina virtual. É aqui que entra a principal dica deste tópico, já
que o VMware Player não permite criar as VMs, mas apenas executar máquinas virtuais previamente criadas.

Para continuar, baixe o linux-vm aqui: http://e.cdn-


hardware.com.br/static/media/press/arquivos/linux-vm.zip

Ele é uma máquina virtual previamente configurada, pronta para usar, que funciona tanto em conjunto
com o VMware Player for Windows, quanto na versão Linux. O arquivo compactado tem apenas 7 KB, pois
um máquina virtual vazia é basicamente um conjunto de arquivos de configuração. O espaço usado cresce
conforme você instala softwares dentro dela; logo depois de instalar o Ubuntu, por exemplo, a pasta estará
com cerca de 2.8 GB.

Comece descompactando a pasta em um diretório qualquer. Abra o VMware Player e indique o


arquivo "linux.vmx", dentro da pasta. Inicialmente, a máquina virtual estará vazia, por isso o VMware ficará
tentando dar boot via rede, depois de esgotar as outras possibilidades. Na verdade, esse é o comportamento
esperado, que mostra que tudo está funcionando:

16
O boot da VM é idêntico a um boot normal do PC, com a exceção de que tudo é feito dentro de uma
janela. A máquina virtual é justamente um ambiente simulado, onde o sistema operacional guest (convidado)
roda.

Dentro da pasta, você encontra 4 arquivos. O "c.vmdk" é o disco virtual, que armazenará o sistema
operacional e todos os programas instalados dentro da VM. Inicialmente ele é um arquivo vazio, mas ele vai
crescendo conforme o uso. O seguinte é o arquivo "linux.nvram", que guarda as configurações do setup (sim,
por estranho que possa parecer, a máquina virtual tem BIOS, e você acessa o setup pressionando a tecla F2
durante o boot).

O "linux.vmx" é o arquivo de configuração da máquina virtual, um arquivo de texto, que você pode
abrir (e até alterar) usando o notepad, e o "cd.iso" é outro arquivo vazio, que representa o CD-ROM virtual:

Assim como em um PC de verdade, para usar a VM precisamos carregar algum sistema operacional. A
primeira opção é simplesmente deixar um CD ou DVD gravado no drive. Ao abrir a VM, o VMware Player
detecta a mídia e inicia o boot automaticamente. A segunda é usar um arquivo ISO em vez do CD gravado.
Esta opção torna o boot bem mais rápido, pois o sistema é carregado a partir de um arquivo no HD, ao invés
do CD-ROM. Nesse caso, substitua o arquivo "cd.iso" dentro da pasta com a máquina virtual pelo arquivo
ISO da distribuição desejada, deletando o arquivo "cd.iso" original e renomeando o novo arquivo.

17
O default das versões 2.x do VMware Player é sempre restaurar o status anterior da VM, o que vai lhe
mandar de volta para a tela de boot via rede, onde ela estava antes de ser fechada. Use a opção "VMware
Player > Troubleshoot > Reset" para realmente reiniciar a VM e dar boot através do CD. A partir daí, você
dar boot e usar o sistema da forma normal:

O padrão na maioria das distribuições é configurar o vídeo a 800x600 dentro do VMware, mas você
pode alterar a resolução da forma normal, usando uma opção de boot ou o configurador dentro do sistema.
No caso do Ubuntu, por exemplo, a opção está no "Sistema > Preferências > Resolução de Tela".

Inicialmente, o VMware roda em uma janela, o que é uma forma prática de usar os dois sistemas
simultaneamente. Você pode simplesmente configurar a VM para utilizar uma resolução de vídeo um pouco
inferior à do seu monitor e usar o sistema como se fosse outro aplicativo qualquer. Outra opção é usar a VM
em tela cheia, usando o botão de maximizar a janela. Nesse caso, você usa "Ctrl+Alt" para chavear entre os
dois sistemas.

Um inconveniente de usar o VMware Player em tela cheia é que você não tem como desabilitar o
menu de funções que é exibido na parte superior da tela. Isso é um problema no caso do Ubuntu e outras
distribuições com o GNOME, já que ela cobre a barra de tarefas, que é também exibida na parte superior. A
solução é mover a barra para a parte inferior, clicando com o botão direto sobre uma área livre e acessando o
"Propriedades":

18
Outra configuração importante é a quantidade de memória RAM reservada para a máquina virtual.
Por padrão, ela vem configurada para usar apenas 256 MB (o que é pouco para rodar a maioria das
distribuições atuais), mas você pode alterar o valor clicando no "VMware Player > Troubleshot > Change
Memory Allocation":

O próprio VMware Player recomenda um valor, de acordo com o total de memória disponível, mas
uma recomendação geral é que você reserve 256 MB em micros com 512 de memória ou de 384 a 512 MB
(de acordo com a distribuição que pretender rodar dentro da VM) em micros com 1 GB:

19
Tecnicamente, é possível usar o VMware Player mesmo em micros com apenas 256 MB de RAM, mas
isso não é muito recomendável, pois com tão pouca memória, tudo ficará bastante lento.

Continuando, existem duas formas de configurar a rede e acessar a internet de dentro da máquina
virtual. A mais simples (e usada por padrão na VM pré-configurada) é o modo "NAT", onde o VMware
Player cria uma rede virtual entre o sistema principal e a máquina virtual, permitindo que ela acesse a internet
usando a conexão do sistema principal. Nesse modo, a máquina virtual recebe um endereço interno, atribuído
automaticamente, como "192.168.150.129". Você só precisa deixar que o sistema configure a rede via DHCP.
Além de acessar a web, o sistema dentro da VM pode acessar outras máquinas na rede local, mas não pode
ser acessado diretamente por elas.

A segunda opção é o modo "Bridged", onde a máquina virtual ganha acesso direto à rede local,
exatamente como se fosse outro micro. Neste caso, você precisa configurar a rede manualmente (ou via
DHCP), como se estivesse configurando um novo micro. Este modo é muito bom para estudar sobre redes,
testar a configuração de servidores e assim por diante, pois você pode rodar várias VMs simultaneamente e
simular uma rede completa, mesmo tendo apenas um micro.

Para usar o modo Bridged, clique sobre a setinha ao lado do botão da placa de rede e mude a opção (é
preciso reiniciar o VMware Player para que a mudança entre em vigor). Depois de reiniciar, não esqueça de
reconfigurar a rede dentro da VM:

Instalar o sistema dentro da VM não difere em nada de uma instalação normal. A VM pré-configurada
usa um disco virtual de 20 GB, que você pode particionar a gosto, inclusive com a possibilidade de criar
várias partições ou instalar dois ou mais sistemas em dual-boot.

20
Naturalmente, ao "formatar" o HD virtual e instalar o sistema, nenhuma alteração é feita no seu HD.
Tudo é feito dentro do arquivo "c.vmdk" na pasta da máquina virtual. O VMware faz com que o sistema
rodando dentro da VM enxergue e particione este arquivo, achando que está manipulando um HD de 20 GB.
Na verdade, é tudo simulado.

Se quiser fazer um backup do sistema instalado ou copiá-lo para outra máquina, é só copiar a pasta
(ela pode ser usada inclusive em máquinas rodando a versão Linux do VMware Player). Você pode também
tirar cópias da pasta e assim criar várias VMs diferentes. Se o micro tiver memória RAM suficiente, é possível
inclusive rodar várias VMs simultaneamente, simulando uma rede e trocando arquivos entre elas.

O VMware permite também que dispositivos USB sejam usados dentro da máquina virtual, incluindo
impressoras, scanners, smartphones, pendrives, etc.

Ao plugar um pendrive, por exemplo, é criado um botão referente a ele na barra do VMware. Ao
clicar no botão, o pendrive é conectado à máquina virtual, como se fosse um dispositivo local. Como você
pode ver no screenshot, ele foi detectado pelo Ubuntu dentro da VM, que pode ler e salvar arquivos
normalmente:

21
O VMware Player inclui também um "setup", que você acessa pressionando "F2" logo depois de
iniciar a máquina virtual. Através dele, você pode definir a ordem de boot (HD, CD-ROM ou rede), acertar a
hora da máquina virtual, entre outras opções, assim como em um PC real.

Você pode dar um toque final instalando o vmware-tools, um pacote de drivers que melhora o
desempenho do sistema dentro da VM em diversas tarefas e adiciona um recurso de ajuste dinâmico do
vídeo, onde a resolução do vídeo dentro da VM é ajustada automaticamente, permitindo que você
redimensione a janela livremente, usando até mesmo formatos fora do convencional:

22
Você pode baixar o arquivo de instalação do VMware Tools for Linux no:
http://e.cdn-hardware.com.br/static/media/press/arquivos/vmware-tools.tar.gz

Antes de instalá-lo, é necessário que você instale os headers do kernel e os compiladores básicos
dentro da VM. O Ubuntu já vem com os headers e os compiladores podem ser instalados rapidamente
usando o apt-get:

$ sudo apt-get update


$ sudo apt-get install build-essential

Ainda a partir do terminal, acesse a pasta com os arquivos (se você baixou usando o Firefox, eles serão
salvos por padrão dentro da pasta "Área de Trabalho" no diretório home) e descompacte o arquivo, como
em:

$ cd "Área de Trabalho"
$ tar -zxvf vmware-tools.tar.gz

Para instalar, acesse a pasta que será criada e rode o programa de instalação:

$ cd vmware-tools-distrib/
$ sudo ./vmware-install.pl

O instalador faz várias perguntas, confirmando os diretórios de instalação dos componentes. Basta ir
pressionando Enter para que ele instale tudo nos diretórios default. No final, ele confirma a resolução que
será usada por default para o vídeo. Para que os drivers sejam carregados, é necessário reiniciar o ambiente
gráfico (ou simplesmente reiniciar o sistema dentro da VM). Ele inclui também um configurador gráfico, que
você pode abrir usando o comando "sudo vmware-toolbox".

Em outras distribuições, os passos de instalação são os mesmos, com a diferença de que você executa
os comandos diretamente como root, em vez de usar o sudo. O mais importante é ter instalados os headers e
os compiladores, que são necessários para a instalação.

Algumas distribuições, como o OpenSuSE, já trazem o vmware-tools pré-instalado, dispensando a


instalação manual. No caso delas, basta instalar o sistema dentro da VM da forma normal.

23
CAPÍTULO 1: ENTENDENDO O SISTEMA

O fato de existirem tantas distribuições Linux e tantas versões diferentes do sistema, permite que o
Linux seja usado nas mais diversas áreas, de um PC doméstico a um supercomputador. O grande problema é
que com tanta variedade, até mesmo os mais experientes acabam se sentindo perdidos, o que dizer então dos
novos usuários. Muitos acabam então se limitando a usar uma única distribuição e a dominar seus recursos na
medida do possível, enquanto outros preferem simplesmente continuar no Windows, onde as coisas parecem
mais simples.

Vamos então a uma introdução (não tão introdutória assim) sobre as distribuições Linux e os
diferentes componentes que formam o sistema, para depois nos aprofundarmos nas peculiaridades de cada
uma.

A ÁRVORE GENEALÓGICA DAS DISTRIBUIÇÕES

No começo, instalar o Linux era uma tarefa ingrata. Tudo o que existia era o código-fonte do kernel,
que precisava ser compilado (usando o Minix ou outro sistema operacional) e combinado com outros
utilitários e bibliotecas (que também precisavam ser compilados, um a um) para que você tivesse um sistema
operacional funcional. Isso explica por que nos primeiros meses, após o célebre anúncio feito por Linus
Torvalds em agosto de 1991, o Linux tinha apenas algumas dezenas de usuários, a maior parte deles
programadores, que em maior ou menor grau participavam do desenvolvimento do sistema.

Alguém chegou a uma conclusão óbvia: por que não distribuir versões já compiladas do sistema, que
pudessem ser instaladas diretamente? Surgiram então as primeiras distribuições Linux, que rapidamente
passaram a ganhar novos adeptos.

Hoje em dia existem mais de 500 distribuições Linux, contando apenas as ativas. Apesar disso, 98%
delas são personalizações de outras distribuições já existentes, de forma que, se você começar a estudar um
pouco sobre a árvore genealógica das distribuições, vai perceber que existem menos de 10 distribuições
principais (Debian, Red Hat/Fedora, Mandriva, Ubuntu, Slackware, Gentoo, etc.) das quais todas as outras
são derivadas.

Por mais diferente que seja a aparência e a escolha de softwares pré-instalados, as distribuições
derivadas mantêm muitas das características da distribuição-mãe, de forma que se você consegue aprender a
trabalhar com as distribuições principais, passa a não ter grandes problemas ao trabalhar com qualquer uma
das distribuições derivadas delas.

Esta é a grande proposta deste livro: permitir que você tenha uma visão abrangente do sistema e
consiga utilizar qualquer distribuição, migrando de uma para outra sem muita dificuldade. Com isso, você
pode ter uma distribuição principal, com a qual tem mais afinidade e onde se sente mais em casa, mas
também ter um bom conhecimento sobre as outras, o suficiente para conseguir fazer o que precisa. Vamos lá.
:)

As primeiras distribuições Linux

A primeira distribuição de que se tem notícia é um par de disquetes, chamados simplesmente de


"Boot/Root", que foram desenvolvidos no final de 1991 por HJ Lu (que até hoje participa do
desenvolvimento do kernel). Eles incluíam apenas o mínimo necessário para inicializar o sistema e rodar
algumas ferramentas básicas, em modo texto. Não era exatamente uma "distribuição Linux" no sentido atual,
mas foi um ponto de partida.

O "Boot/Root" foi sucedido por distribuições como o MCC Interim Linux (lançado em fevereiro de
1992), o SLS Linux (maio de 1992) e o Yggdrasil (novembro de 1992). Cada uma delas segue uma ideia
bastante diferente.

O MCC era ainda uma distribuição em modo texto, mas que já oferecia um conjunto mais completo
de aplicativos e compiladores. O SLS era distribuído na forma de um conjunto de arquivos .zip, que eram
usados para gerar os disquetes de instalação a partir do MS/DOS, enquanto o Yggdrasil foi uma espécie de
antecessor dos live-CDs: você dava boot através de um disquete e o sistema rodava a partir de um CD-ROM,
com direito a ambiente gráfico e a opção de instalá-lo no HD usando um script em shell. O sistema era

24
extremamente lento (os PCs da época usavam CD-ROMs 1x ou 2x e tinham apenas 4 ou 8 MB de memória),
mas funcionava.

A distribuição mais antiga ainda ativa é o Slackware, lançado em julho de 1993. 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, o 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.

Temos aqui o famoso instalador em modo texto, que é usado por todas as versões do Slackware. Ele é
basicamente o mesmo desde as primeiras versões, recebendo apenas algumas pequenas modificações de
acordo com as mudanças nos componentes incluídos no sistema:

Assim como quase todas as distribuições atuais, o Slackware começou como um "remaster" de uma
distribuição anterior (o SLS Linux), incluindo diversas modificações e melhorias.

Esta é, justamente, a característica mais marcante do desenvolvimento do sistema. Novas distribuições


raramente são criadas do zero; quase sempre é usada uma distribuição já existente como base, o que permite
que os desenvolvedores se concentrem em adicionar novos recursos e corrigir problemas, aumentando
radicalmente a velocidade de desenvolvimento de novos projetos.

A família Red Hat

Pouco depois, em novembro de 1994, foi lançado o Red Hat, que foi desenvolvido com o objetivo de
facilitar a configuração e tornar o uso do sistema mais transparente, permitindo que ele atingisse um público
mais abrangente. 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), o Conectiva (Brasil) e o SuSE (Alemanha).

O Red Hat foi a primeira distribuição a usar um sistema de gerenciamento de pacotes, onde cada
programa incluído no sistema é transformado em um pacote compactado, que pode ser instalado através de
um único comando. O sistema guarda as informações dos pacotes instalados, permitindo que você possa
removê-los completamente depois (sem deixar restos de bibliotecas e chaves de registro, como no Windows).

A ideia surgiu da observação dos processos que envolvem a instalação de aplicativos a partir do
código-fonte, onde você usa os tradicionais comandos "./configure", "make" e "make install". O primeiro
comando analisa o sistema e gera a configuração necessária para fazer a instalação; o segundo faz a
compilação propriamente dita, enquanto o terceiro finaliza a instalação, copiando os executáveis, bibliotecas e
arquivos de configuração para as pastas correspondentes do sistema.

Ao agrupar todos os arquivos em um único pacote compactado e descompactá-lo no diretório raiz do


sistema, você tem justamente um sistema rudimentar de pacotes. A partir daí, a ideia foi evoluindo até chegar
a ferramentas como o yum e o apt-get e repositórios gigantescos que temos hoje em dia.

25
O uso do gerenciamento de pacotes é uma das diferenças mais visíveis entre o Linux e o Windows: no
Windows você clica no executável do programa e é aberto um instalador; no Linux você usa o gerenciador de
pacotes para instalar os programas que quer usar. Aqui temos o venerável Red Hat 9, lançado em 2003:

A partir de 2003 a Red Hat mudou seu foco, concentrando seus esforços no público empresarial,
desenvolvendo o Red Hat Enterprise Linux (RHEL) e vendendo pacotes com o sistema, suporte e
atualizações. A consequência mais marcante da decisão foi a descontinuidade do Red Hat Desktop, que era
até então a distribuição Linux com o maior número de usuários.

A última versão foi 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ção e suporte comunitário nos fóruns. O Fedora herdou a maior parte dos
usuários do Red Hat Desktop, tornando-se rapidamente uma das distribuições mais usadas.

26
Fedora Core 5, rodando o GNOME

Em seguida temos o Mandrake, que 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 KDE e o GNOME são os dois ambientes gráficos mais usados no Linux, dividindo a preferência dos
usuários e das distribuições. Ambos rodam sobre o X, usando os recursos oferecidos por ele. O X cuida do
acesso à placa de vídeo, teclado, mouse e outras funções básicas, enquanto o KDE ou GNOME cuidam da
interface que é mostrada a você.

Superando todas as expectativas, o Mandrake conquistou rapidamente um grande número de usuários.


A partir de um certo ponto, ele passou a ser desenvolvido de forma independente, sempre com o foco na
facilidade de uso. Muita gente começou a usar Linux justamente com o Mandrake 10 e o 10.1:

27
Mandrake 10.1: o primeiro contato com o Linux para muitos

O Conectiva foi a primeira distribuição Linux nacional e por muito tempo foi uma das mais usadas
por aqui, atendendo tanto usuários domésticos, quanto empresas. Em 2005 aconteceu a fusão entre o
Mandrake e o Conectiva, que deu origem ao atual Mandriva, uma evolução do Mandrake, que passou a ser
desenvolvido combinando os esforços das equipes de ambas as distribuições.

A história do SuSE é um pouco mais complicada. As primeiras versões foram baseadas no SLS (assim
como o Slackware). Em 1995 os scripts e ferramentas foram migrados para o Jurix, que por sua vez era
baseado no Slackware. A partir da versão 5.0, lançada em 1998, o SuSE passou a utilizar pacotes RPM, o
formato do Red Hat, incorporando a partir daí cada vez mais 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 com 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.

Ao contrário do Ubuntu e mesmo do Mandriva, o OpenSUSE tem uma base de usuários


relativamente pequena aqui no Brasil. Parte disto se deve ao fato de, no passado, o SuSE ter sido uma
distribuição fortemente comercial. O sistema não era disponibilizado para download e mesmo a compra das
caixinhas era complicada, já que não existia uma filial nacional. Só com a abertura do sistema depois da
compra pela Novel é que o OpenSUSE passou a recuperar o terreno perdido.

OpenSUSE, rodando o KDE

O Debian

Finalmente, temos o Debian, que é provavelmente a maior distribuição Linux não-comercial, tanto em
volume de desenvolvedores quanto em número de usuários, diretos e indiretos.

28
O primeiro anúncio público do Debian foi feito em agosto de 1993, mas a primeira versão (chamada
Buzz) foi finalizada apenas em 1996. A demora se deu devido ao tempo necessário para desenvolver as
ferramentas de gerenciamento de pacotes, as ferramentas de atualização do sistema e de manutenção dos
repositórios e toda a metodologia de desenvolvimento que continua até hoje.

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 frequentes, o atual é o Lenny (5.0), lançado em fevereiro
de 2009.

Antes dele vieram o Etch (4.0), lançado em dezembro de 2006, o Sarge (3.1), lançado em junho de
2005 e o Woody (3.0), lançado em julho de 2002. Atualmente, novas versões estáveis do Debian são lançadas
a cada 18 meses, sendo que a próxima, batizada de Squeeze, está prevista para o final de 2010.

A versão instável do Debian (chamada Sid) é a mais peculiar. Ela é uma eterna versão de testes, que
não é finalizada nunca. Ela serve como um campo de testes para novos programas e novas versões dos
pacotes já existentes, permitindo que os problemas sejam detectados e corrigidos. Ao usar o Sid, você tem
acesso às versões mais recentes de todos os programas, mas, em compensação, não existe garantia de
estabilidade. Um programa que funciona perfeitamente hoje pode deixar de funcionar amanhã e ser
novamente corrigido na versão seguinte. Um erro em algum dos pacotes base pode fazer com que o sistema
deixe de inicializar depois de atualizado e assim por diante.

As versões estáveis do Debian são tão estáveis justamente porque ficam congeladas, recebendo apenas
atualizações de segurança e correções de bugs. Diz a teoria que, se você continuar corrigindo bugs em um
programa, sem adicionar outros no processo, em um determinado momento você chegará a um programa
livre de falhas.

O maior problema é que, devido ao longo intervalo entre os lançamentos das versões estáveis, os
pacotes acabam ficando defasados em relação a outras distribuições, que utilizam um ciclo de releases mais
curto. Para amenizar o inconveniente, existe a opção de usar o Testing, que é uma prévia da próxima versão
estável. Como o Testing é uma versão "incompleta", que ainda está em desenvolvimento, normalmente o
utilizamos em conjunto com o Unstable, de forma que pacotes que ainda não estejam disponíveis no Testing,
possam ser instalados a partir dele.

Tipicamente, os pacotes começam no Unstable, onde recebem uma primeira rodada de testes e,
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.

Knoppix e os live-CDs

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


popular em servidores do que em desktops. Entretanto, por oferecer um repositório de pacotes incrivelmente
completo, o Debian é usado como base para o desenvolvimento de inúmeras outras distribuições, que
combinam os pacotes dos repositórios do Debian com personalizações, scripts e componentes adicionais, de
forma a atingirem nichos específicos.

Um exemplo de destaque é o Knoppix, cuja versão 3.0 (a primeira a ganhar notoriedade) foi lançada
em julho de 2002. O Knoppix acabou se tornando um marco dentro da história do Linux por dois motivos.
O primeiro é que ele foi a primeira distribuição Linux live-CD realmente utilizável, oferecendo um bom
desempenho e um excelente script de autoconfiguração, que detectava o hardware da máquina durante o
boot, gerando os arquivos de configuração de forma automática e entregando um sistema funcional no final
do processo. Distribuições live-CD anteriores, como o DemoLinux, eram muito mais lentas, limitadas e
impráticas de usar.

O segundo motivo, e talvez o mais importante, era a possibilidade de remasterizar o CD, gerando uma
distribuição personalizada. Graças a isso, o Knoppix deu origem a um enorme número de novas
distribuições, como o Kanotix (que deu origem ao atual Sidux), o Morphix (que, devido à sua arquitetura
modular, ajudou a criar toda uma nova família de distribuições) e o Kurumin, que desenvolvi de 2003 a 2008.

Um live-CD é, em poucas palavras, uma versão pré-instalada do sistema, que utiliza um conjunto de
truques para rodar diretamente a partir do CD-ROM. Tradicionalmente, qualquer sistema operacional precisa

29
ser instalado no HD antes de ser usado. Você dá boot usando o CD ou DVD de instalação e é aberto um
instalador (que, por sua vez, roda sobre algum sistema minimalista), que 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.

Para quem já se acostumou com a ideia, 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, em 2002,
quando o Knoppix começou a ganhar popularidade, a ideia de rodar uma distribuição Linux completa a partir
do CD-ROM era considerada exótica. Muitas pessoas só acreditavam depois de desconectar o cabo flat do
HD e ver que o sistema realmente dava boot apenas com o CD-ROM. :o

Apesar de receberam críticas por parte de alguns puristas, os live-CDs cresceram rapidamente em
popularidade. O Ubuntu passou a ser um live-CD instalável a partir da versão 6.06, o Mandriva aderiu à ideia
com o Mandriva Discovery (que foi sucedido pelo atual Mandriva One) e até mesmo o Fedora ganhou uma
versão live-CD, o Fedora Live, sem contar o gigantesco volume de distribuições baseadas neles. Apesar do
início tímido, os live-CDs dominaram o mundo.

A base de tudo é um módulo de kernel chamado SquashFS (nas primeiras versões do Knoppix era
usado o cloop, baseado no mesmo princípio), 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.

O uso da compressão oferece duas vantagens: permitir que o sistema fique muito menor (colocando
até 2 GB de dados em um CD-ROM de 700 MB) e melhorar o desempenho do sistema, aumentando a taxa
de transferência efetiva do CD-ROM.

A ideia é que um CD-ROM de 52x é capaz de ler a, em média, 5.8 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 52x lê a
7.8 MB/s nas trilhas externas mas a apenas 3.9 MB/s nas internas. Como o CD-ROM é gravado a partir do
centro, na maior parte do tempo ele lê os dados a 5 ou 6 MB/s.

No entanto, ao ler 5 MB/s de dados compactados a uma razão de 3x, ele estará lendo, na prática, a
quase 15 MB/s, um valor muito mais próximo à taxa de transferência oferecida por um HD. Naturalmente,
ainda existem outros problemas, como o tempo de busca (que é muito mais alto em um CD-ROM), mas o
problema principal é amenizado. Se não fosse o sistema de compressão, os live-CDs seriam três vezes
maiores e três vezes mais lentos ao rodar a partir do CD, deficiências que os tornariam sistemas muito menos
atrativos.

Em contrapartida, a compressão faz com que o trabalho do processador passe 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 distribuições instaladas, o desempenho aumenta de acordo com o
poder de processamento da máquina.

Voltando ao Knoppix, a primeira etapa do boot é uma tela de boas-vindas, contendo uma linha de
opções 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, junto com um conjunto de
outros scripts, se encarrega de detectar a placa de vídeo, som, rede, modem e outros periféricos suportados,
exibindo mensagens que ajudam a identificar a configuração da máquina e saber de antemão detalhes como o
processador, quantidade de memória RAM e placa de vídeo instalada (imagine o caso de um técnico que
instala o sistema em vários micros diferentes, por exemplo):

30
Mensagens de boot no Knoppix, mostrando detalhes sobre a máquina

Como comentei, as primeiras distribuições live-CD utilizavam um ramdisk para armazenar arquivos de
configuração, o diretório home e outros arquivos do sistema que precisam ser alterados durante sua execução.
Entretanto, a maior parte dos arquivos do sistema eram acessados diretamente a partir do CD-ROM, de
forma que você não podia instalar novos programas, nem fazer alterações em componentes do sistema
enquanto ele estivesse rodando a partir do CD, devido à limitação óbvia de que o CD-ROM é uma mídia
somente-leitura.

O solução para esta última barreira veio com o UnionFS, que passou a ser usado em larga escala a
partir de 2005. O UnionFS funciona de uma forma bastante engenhosa; é uma daquelas idéias aparentemente
simples, que resolvem problemas complexos.

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 em um nível hierárquico
mais baixo, montado em modo somente-leitura e um ramdisk, que originalmente está quase vazio, mas que
vai armazenando todas as alterações. Os dois são montados em uma única pasta, que contém o conteúdo do
arquivo compactado e do ramdisk.

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 via apt-get e fazer qualquer tipo de alteração no
sistema, praticamente da mesma forma como faria se ele estivesse instalado. Naturalmente, todas as alterações
são salvas na memória RAM, de maneira que, para realmente instalar um volume significativo de novos
pacotes ou manipular grandes arquivos, você precisa ter um PC com pelo menos 1 GB de memória RAM.
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 disponível.

O UnionFS (juntamente com o AUFS, que é seu sucessor) é usado por padrão em quase todas as
distribuições live-CD atuais, incluindo o Ubuntu Desktop. Isso permite que você teste novos programas (ou
até mesmo configure servidores como o Samba e o Squid) com o sistema rodando a partir do CD-ROM, sem
qualquer alteração nos arquivos do HD. Isso permite uma liberdade muito grande para fuçar e brincar com o
sistema, já que, em caso de problemas, basta reiniciar o micro e começar de novo.

31
O Ubuntu

Também derivado do Debian, o Ubuntu é provavelmente a distribuição Linux mais usada atualmente.
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 codinome.
A primeira versão oficial foi o 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".

Os próximos foram o 6.06 (Dapper Drake), 6.10 (Edgy Eft), 7.04 (Feisty Fawn), 7.10 (Gutsy Gibbon),
8.04 (Hardy Heron), o 8.10 (Intrepid Ibex) e o 9.04 (Jaunty Jackalope).

As versões regulares do Ubuntu recebem atualizações e correções durante um período de 18 meses, de


forma que você acaba sendo obrigado a atualizar o sistema a cada três versões. Como uma opção para quem
quer mais estabilidade e deseja manter o sistema por mais tempo (sem precisar sair correndo para atualizá-lo a
cada 6 meses), existem as versões LTS (long term support), que recebem atualizações por um período de 3
anos (5 anos no caso dos servidores). Elas são as versões recomendáveis para estações de trabalho e para uso
em empresas.

As versões LTS são montadas dentro de um controle de qualidade mais estrito e passam por um
período de testes mais longo, resultando em releases mais estáveis. A primeira versão LTS foi o Ubuntu 6.06
(que receberá atualizações até junho de 2009), seguido pelo 8.04 (atualizações até abril de 2011). Se os planos
não mudarem, a próxima versão LTS será o 10.04, planejado para abril de 2010.

Nas primeiras versões, o Ubuntu era fornecido em duas versões diferentes. O "Live CD" (que rodava
diretamente a partir do CD-ROM) e o "Install CD", a versão principal, que era instalada através de um
instalador em modo texto, derivado do instalador do Debian Sarge:

A partir do 6.10 as duas versões foram unificadas. O sistema passou a ser um Live-CD (chamado de
"Desktop Edition"), que pode ser instalado diretamente.

O maior problema com o Desktop Edition é que o boot do sistema é demorado e ele fica muito lento
em máquinas com menos de 512 MB de RAM. Para quem usa máquinas antigas, ou prefere instalar o sistema
diretamente, sem primeiro esperar o carregamento do desktop, está disponível o "Alternate CD", que inclui
os mesmos pacotes, mas é instalado através do instalador em modo texto.

32
Apesar de ser distribuído em um único CD, o Ubuntu utiliza um repositório bastante completo. Ao
instalar o sistema, você tem um desktop pré-configurado, contendo um conjunto básico de aplicativos, que
você pode personalizar instalando pacotes adicionais. Os repositórios do Ubuntu são construídos a partir do
repositório unstable do Debian, processo no qual os pacotes recebem correções diversas e são recompilados,
gerando o repositório "Universe".

O Ubuntu deu origem a diversas distribuições, como o Kubuntu (baseado no KDE), o Xubuntu
(baseado no XFCE) e assim por diante, que compartilham o mesmo repositório, mas são baseadas em
conjuntos diferentes de pacotes.

Está disponível também o "Server Edition", uma versão destinada a servidores, que é baseada no
mesmo repositório, mas instala apenas os componentes básicos do sistema, criando uma instalação enxuta, à
qual você pode adicionar apenas os serviços e os componentes desejados.

Juntando as peças

Em resumo, podemos classificar as distribuições Linux em três grandes famílias: as derivadas do Red
Hat, como o Fedora e o Mandriva, as derivadas do Debian, como o Ubuntu e o Kubuntu e as derivadas do
Slackware, como o Slax.

Apesar das diferenças estéticas, distribuições da mesma família são muito similares na organização dos
arquivos, gerenciamento de pacotes, localização dos arquivos de configuração e assim por diante, de forma
que é mais fácil para alguém acostumado com o Debian migrar para o Ubuntu, que faz parte da mesma
família, do que migrar para o Fedora, por exemplo, que tem raízes completamente diferentes.

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

Entre as distribuições nacionais, temos o DreamLinux (baseado no Debian), o Big Linux (baseado no
Ubuntu) e o GoblinX (baseado no Slackware).

Como comentei na introdução, existem mais de 500 distribuições Linux sendo desenvolvidas
ativamente. Se incluirmos também as descontinuadas, o número sobe para mais de 2.000. Basicamente,
qualquer pessoa ou empresa com tempo e conhecimentos suficientes pode desenvolver uma distribuição,
usando outra já existente como ponto de partida.

O enorme volume de distribuições é ao mesmo tempo o principal defeito e o principal atrativo do


Linux. Defeito no sentido de que a falta de um sistema "padrão" (como no caso do Windows) gera confusão
e retarda a adoção do sistema em muitos nichos; e, atrativo, no sentido de que é justamente o grande número
de distribuições e o processo de seleção natural que ocorre entre elas, que faz com que o sistema evolua tão
rapidamente e seja capaz de se adaptar a ambientes tão diferentes.

Gentoo, BSD e Solaris

Você pode estar se perguntando em qual das famílias se encaixa o Gentoo, que é outra distribuição
bastante comentada. A resposta é que ele não se encaixa em nenhuma. O Gentoo inaugurou uma nova
linhagem, trazendo uma abordagem diferente das demais distribuições para a questão da instalação de
programas e da própria instalação do sistema.

Tradicionalmente, novos programas são instalados através de pacotes pré-compilados, que são,
basicamente, arquivos compactados, contendo os executáveis, bibliotecas e arquivos de configuração usados
pelo programa. Estes pacotes são gerenciados pelo apt-get, urpmi, yum ou outro gerenciador de pacotes
adotado pela distribuição em uso. Compilar programas a partir dos fontes passa a ser então um último
recurso para instalar programas recentes, que ainda não possuem pacotes disponíveis.

O Gentoo utiliza o Portage, um gerenciador de pacotes que segue a ideia dos ports do FreeBSD, que é
outro sistema Unix, similar ao Linux em diversos aspectos. Os pacotes não contêm binários, mas sim o
código-fonte do programa, junto com um arquivo de configuração, contendo parâmetros que são usados na
compilação. Você pode ativar as otimizações que quiser, mas o processo de compilação e instalação é
automático. Você pode instalar todo o KDE, por exemplo, com um "emerge kde". O Portage baixa os
pacotes com os fontes (de forma similar ao apt-get), compila e instala.

33
O ponto positivo desta abordagem é que você pode compilar todo o sistema com otimizações para o
processador usado na sua máquina. Isso resulta em ganhos de 2 a 3% na maior parte dos programas, mas
pode chegar a 30% em alguns aplicativos específicos.

A parte ruim, é que compilar programas grandes demora um bocado, mesmo em máquinas atuais.
Instalar um sistema completo, com o X, o KDE e o OpenOffice, demora uma tarde inteira em um Athlon
X2 e pode tomar um final de semana em uma máquina mais antiga. Você pode usar o Portage também para
atualizar todo sistema, usando os comandos "emerge sync && emerge -u world" de forma similar ao "apt-get
upgrade" do Debian.

Nas versões atuais do Gentoo, você pode escolher entre diferentes modos de instalação. No stage 1
tudo é compilado a partir dos fontes, incluindo o kernel e as bibliotecas básicas. No stage 2 é instalado um
sistema base pré-compilado e apenas os aplicativos são compilados. No stage 3 o sistema inteiro é instalado a
partir de pacotes pré-compilados, de forma similar a outras distribuições. A única exceção fica por conta do
kernel, que sempre precisa ser compilado localmente, mesmo ao usar o stage 2 ou 3. Entre eles, o stage 1 é
naturalmente a instalação mais demorada, mas é onde você pode ativar otimizações para todos os
componentes do sistema.

Existe um conjunto crescente de distribuições baseadas no Gentoo, como vários live-CDs, com games
e versões modificadas do sistema, alguns desenvolvidos pela equipe oficial, outros por colaboradores. Uma
das primeiras distribuições a utilizar o Gentoo como base foi o Vidalinux, mas entre as derivações atuais a
mais popular é o Sabayon (www.sabayonlinux.org).

Embora seja uma das distribuições mais difíceis, cuja instalação envolve mais trabalho manual, o
Gentoo consegue ser popular entre os usuários avançados, o que acabou por criar uma grande comunidade
de colaboradores em torno do projeto. Isto faz com que o Portage ofereça um conjunto muito grande de
pacotes, quase tantos quanto no apt-get do Debian, incluindo drivers para placas nVidia e ATI (entre outros
drivers proprietários) e exista uma grande quantidade de documentação disponível, com destaque para o
Gentoo-Wiki, que inclui inúmeras dicas e receitas que podem ser úteis também em outras distribuições,
sobretudo ao tentar configurar algum periférico problemático: http://www.gentoo-wiki.com

Concluindo, além do Linux, existem outros sistemas Unix open-source, entre os quais se destacam o
FreeBSD, o OpenBSD, o NetBSD e o OpenSolaris. Embora o kernel e alguns dos utilitários básicos do
sistema sejam diferentes, os softwares usados (tais como o KDE, GNOME, OpenOffice e assim por diante)
são basicamente os mesmos, o que torna os sistemas muito similares. Temos aqui, por exemplo, um
screenshot do OpenSolaris, rodando o GNOME:

34
Parece Linux, mas na verdade é o OpenSolaris

Se fosse feito um teste cego com uma instalação do FreeBSD ou do OpenSolaris, configurados com o
GNOME e outros softwares, a maioria dos usuários pensaria se tratar de apenas mais uma distribuição Linux.
Um bom exemplo é o PC-BSD (http://www.pcbsd.org), uma distribuição do FreeBSD baseada no KDE,
que tem como objetivo ser um sistema fácil de usar.

Por bizarro que possa parecer, é possível rodar o KDE e outros aplicativos até mesmo sobre o
Windows, substituindo a interface e os aplicativos padrão. É o tipo de exercício que não tem muita utilidade
prática, já que se a ideia é usar o KDE, é muito mais fácil simplesmente baixar uma distribuição Linux que já
venha com ele pré-instalado, como o Mandriva One, mas isso mostra até que ponto vai a criatividade dos
desenvolvedores. :)

A QUESTÃO DOS APLICATIVOS

Por mais importante que seja, o sistema operacional é, na verdade, apenas um palco que serve como
base para os atores principais, que são os aplicativos. Embora muito se discuta sobre as diferenças entre o
Windows, o Mac OS X e o Linux, e as vantagens de cada um, no final das contas os argumentos mais efetivos
a favor ou contra uma determinada plataforma se concentram nos aplicativos para ela. Sem aplicativos, o
sistema operacional não passa de um conjunto de drivers e bibliotecas, sem qualquer utilidade. Ninguém
usaria o Linux se não existissem bons programas disponíveis para ele.

A instalação de novos programas no Linux não é tão complicada quanto 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.

No Linux, temos uma predominância de aplicativos open-source, enquanto no Windows temos uma
predominância de programas proprietários. O fato de um programa ter o código aberto não significa
necessariamente que ele seja gratuito, mas a grande maioria é. O único custo relacionado a usar o Gimp, por
exemplo, é o "custo" de baixar ou copiar o programa.

A princípio, pode parecer lógico que os programas proprietários tenham uma qualidade melhor, já que
eles são desenvolvidos por equipes de programadores profissionais, que são pagos para trabalhar em tempo
integral no software. Mas, na realidade, não é bem assim.

De uma forma geral, programas proprietários tendem a ser melhores em nichos e em áreas
especializadas; um exemplo é o AutoCAD, que até hoje não tem um concorrente aberto à altura. Isso
acontece porque estes programas de nicho são usados por uma fatia pequena dos usuários (o AutoCAD é
usado apenas por engenheiros e assim por diante), que acaba não sendo suficiente para despertar o interesse
de um grupo suficientemente grande de desenvolvedores.

Por outro lado, para programas de uso geral temos um cenário oposto. A base de usuários é muito
grande e por isso os projetos prosperam, muitas vezes superando os aplicativos comerciais em qualidade.
Veja o caso do Firefox x Internet Explorer, por exemplo.

Outro ponto a favor dos aplicativos abertos é o reaproveitamento de código. Um desenvolvedor pode
começar do ponto onde um projeto anterior parou, trabalhando diretamente nos recursos que deseja
adicionar, ao invés de ter que começar do zero. No mundo proprietário tudo é mais complicado, envolvendo
licenciamento de componentes e assim por diante.

A grande oferta de aplicativos abertos acaba sendo uma grande vantagem do Linux, pois as
distribuições já vêm com um grande número de programas pré-instalados e você pode instalar outros sem
custo.

No Windows, as coisas funcionam de maneira bem diferente: o sistema inclui apenas alguns
aplicativos básicos e, depois de instalá-lo, você precisa 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 CorelDraw, por
exemplo, é muito remota.

Isso faz com que muitos usuários (possivelmente a maioria) acabem recorrendo à pirataria, o que
acaba gerando outros problemas. Mesmo deixando todo o aspecto legal e moral de lado, baixar e instalar

35
programas piratas também tem seus desafios, já que é necessário procurar um crack, remover vírus e trojans
antes de instalar e assim por diante. No caso do Linux, a instalação acaba sendo mais simples, já que você
precisa apenas abrir o gerenciador de pacotes e instalar o aplicativo desejado.

A grande dificuldade não está na instalação propriamente dita, mas sim na dificuldade em encontrar
softwares que substituam os que você utiliza no dia a dia. Conforme você se familiariza com um sistema, você
constrói uma base mental de conhecimento, com aplicativos e soluções para problemas. Quando você quer
editar imagens você usa o aplicativo X, quando quer baixar um arquivo via bittorrent usa o aplicativo Y,
quando tem um problema com o som você faz Z e assim por diante.

Quando você resolve mudar para outra plataforma, grande parte dessa biblioteca mental é perdida,
pois as dicas não se aplicam mais ao outro sistema. Isso faz com que a mudança acabe sendo muito mais
penosa do que uma simples mudança de interface, já que você precisará substituir cada um dos aplicativos
que utilizava na outra plataforma e lidar com um conjunto diferente de problemas. Isso não se aplica apenas
ao migrar do Windows pra o Linux (ou vice-versa), mas também, embora em menor grau, ao migrar de uma
distribuição Linux para outra.

Um bom indicativo disso é que, de uma forma geral, os usuários que encontram menos dificuldades
em migrar do Windows para o Linux são justamente os mais iniciantes, que usam menos funções do sistema
(muitas vezes apenas o navegador e o player de mídia) e que, por isso, não encontram dificuldades em
substituí-los. No outro extremo, temos os usuários mais tarimbados, que, por estranho que possa parecer, são
justamente os que encontram mais dificuldades, já que, por possuírem uma "biblioteca mental" maior,
acabam tendo que encontrar substitutos para um volume muito maior de funções.

Nesse processo é importante mudar um pouco a mentalidade, não procurar programas "iguais" aos
usados no Windows, 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ê precisa. O Office pode ser substituído pelo
OpenOffice, o Photoshop pelo Gimp, o Corel pelo Inkscape, o IE pelo Firefox, o MSN pelo Pidgin ou pelo
Kopete, o Outlook pelo Evolution, o Media Player pelo Totem, VLC, Mplayer ou Kaffeine, o Nero pelo
K3B, o iTunes pelo Amarok e assim por diante.

É importante enfatizar que no mundo Linux também existem aplicativos proprietários e aplicativos
comercias. Alguns exemplos são o VMware, o Acrobat Reader, o Cedega, o Skype e jogos como o Quake 4 e
Doom 3, que possuem versão Linux. Também é possível rodar alguns aplicativos Windows através do Wine,
mas quase sempre com pequenas falhas ou limitações diversas. Outra opção é usar uma máquina virtual,
utilizando o VirtualBox ou o VMware para rodar uma cópia completa do Windows, instalando os aplicativos
desejados sobre ela.

Muito se fala sobre o avanço dos sistemas de virtualização e dos aplicativos web. Dois bons exemplos
disso são os webmails, que eliminaram quase que inteiramente o uso de leitores de e-mail dedicados, e o
assustador crescimento do uso de virtualização em servidores, com destaque para o Cloud Computing
(computação em nuvem).

Ele nada mais é do que a combinação de duas idéias antigas: o uso de clusters (vários computadores
interligados em rede, trabalhando como se fossem apenas um) e o uso de virtualização, para que este "super-
servidor" rode várias máquinas virtuais, cada uma funcionando como se fosse um servidor separado. Estes
servidores virtuais armazenam as informações e fazem todo o processamento, permitindo que os aplicativos
rodem dentro do navegador, como no caso do Gmail e tantos outros web-apps.

Estas duas tecnologias eventualmente eliminarão o problema das diferenças entre plataformas, já que
você poderá rodar qualquer software em qualquer computador, dentro do navegador ou em uma máquina
virtual. Entretanto, esta é uma mudança que ainda vai demorar um pouco para ocorrer, de maneira que os
aplicativos locais continuam em voga.

Pacotes e instaladores

Chegamos então à questão da instalação de programas, que é outro tema de dúvidas. Para quem está
chegando agora, a instalação de aplicativos no linux pode parecer algo incompreensível, uma vez que existem
muitos procedimentos diferentes. De acordo com o aplicativo e a distribuição em uso, o procedimento pode
ser incrivelmente simples, como abrir um gerenciador de programas e clicar no aplicativo desejado, ou
incrivelmente complicado, envolvendo o download de compiladores, edição de arquivos de texto e comandos
manuais. Vamos então a uma tentativa de colocar ordem na casa.

36
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 instalação faz sentido em se tratando de aplicativos abertos, pois permite que você veja
e até mesmo adapte o código-fonte se necessário. 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 em outras plataformas.

O problema é que instalar programas a partir dos fontes é demorado e nem sempre simples, já que
você precisa ter instalado uma grande quantidade de compiladores e bibliotecas, necessários para compilar os
mais diversos 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 a "/etc" e assim por
diante.

Alguém chegou, então, a uma conclusão óbvia: ao invés de cada um 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 pronto,
com os componentes já compilados, em um formato simples de instalar. Nasceram, então, os pacotes pré-
compilados.

Os pacotes surgiram a partir de uma ideia 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
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 (incluindo o Ubuntu, o Kubuntu e todas as inúmeras distribuições baseadas neles), os
pacotes .rpm, usados pelas distribuições derivadas do Red Hat (Fedora, Mandriva e outros) 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 em um pacote .deb, usando utilitários como o alien. Entretanto, 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.

O primeiro gerenciador que vem à mente é o apt-get, que é usado em um número assustador de
distribuições. Para instalar o "pidgin", por exemplo, você precisaria apenas usar o:

# apt-get install pidgin

Existem ainda gerenciadores gráficos, como o Synaptic, que tornam a tarefa ainda mais amigável.
Além do apt-get, outros exemplos de gerenciadores são o urpmi, usado no Mandriva, o yum, usado no
Fedora e o zypper, usado no OpenSUSE.

Você pode se 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 o Java, OpenOffice, Firefox,
Thunderbird, VMware e diversos games. 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

37
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.

Outra dificuldade é que não existe no Linux uma biblioteca gráfica padrão, que esteja disponível em
qualquer distribuição. Ao usar um instalador gráfico que utilize a biblioteca Qt (do KDE), por exemplo,
usuários do Ubuntu e de outras distribuições onde ela não vem pré-instalada precisarão instalar um conjunto
de pacotes adicionais antes de conseguirem abrir o instalador. Se usar um instalador baseado na biblioteca
GTK, os usuários de distribuições baseadas no KDE (onde o GTK geralmente não vem pré-instalado) é que
terão dificuldades, e assim por diante.

Devido a isso, aplicativos comerciais como o VMware e também alguns drivers (como os drivers 3D
da nVidia) utilizam instaladores em texto puro, de forma a poderem ser instalados sem dificuldades em
qualquer distribuição.

Naturalmente, existem exceções, como no caso dos jogos que utilizam o instalador gráfico
desenvolvido pela Loki, como o Quake 3, Unreal, Medal of Honour e outros. Caso esteja curioso, você pode
baixar os instaladores e demos de muitos jogos portados no http://darkstar.ist.utl.pt/pub/games/:

Estes instaladores quase sempre usam a extensão ".sh" e são fáceis de instalar, já que basta executar o
arquivo no 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 em um desktop, pois você não corre o risco de executar um arquivo simplesmente por clicar por
acidente em um 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.

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 em uma pasta dentro do seu diretório home. Outros realmente precisam ser executados
como root. Você pode executar o programa diretamente pelo gerenciador de arquivos, clicando sobre ele, ou
pelo terminal, usando o "./", como em "./mohaa-lnx-1.11-beta3.run".

Em resumo, podemos dizer que existem três formas de instalar programas no Linux:

38
1- Usar o apt-get ou outro gerenciador para instalar pacotes próprios da distribuição em uso. Esta é a
forma mais simples e menos passível de problemas, que você deve usar sempre que possível.

2- Programas com instaladores próprios, destinados a funcionar 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 aplicativos proprietários 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, e também no caso de muitos drivers, onde é
necessário gerar um módulo personalizado para o kernel em uso.

ENTENDENDO O SISTEMA

Os primeiros sistemas Unix foram desenvolvidos na década de 1970, com o objetivo de serem
robustos, simples e utilizarem pouca memória, de forma a rodarem com um bom desempenho nos
computadores limitados da época. O grande objetivo era reduzir o uso de memória e aproveitar ao máximo
os recursos da máquina, e não a facilidade de uso.

Na época, o simples fato de ter um sistema operacional, por mais complicado que fosse, já era um
enorme avanço sobre os primeiros computadores, onde os programas eram escritos com papel e lápis e
depois gravados em cartões perfurados, para só então poderem ser executados. :O

O Linux conserva muitas das características dos sistemas Unix originais. Para quem vem do Windows,
a organização das pastas, a instalação de novos programas e o uso dos arquivos de configuração parece algo
esotérico, mas no fundo as coisas não são tão complicadas assim. Vamos então a um resumo dos
componentes que compõem o sistema:

O Kernel

Hoje em dia, quando falamos em "Linux", estamos normalmente nos referindo à plataforma como um
todo, incluindo as diferentes distribuições e softwares. Mas, no início, o Linux era apenas o kernel
desenvolvido pelo Linus Torvalds.

Mesmo hoje em dia, alguns puristas ainda insistem na ideia de que o "Linux" é apenas o kernel e todos
os outros componentes são softwares que rodam sobre ele. O principal argumento a favor dessa ideia é que
outros sistemas Unix, como o FreeBSD e o OpenSolaris, são baseados em outros kernels (e são por isso
considerados sistemas diferentes) mas, apesar disso, rodam o X, KDE, Firefox e outros softwares, assim
como no caso das distribuições Linux. De qualquer forma, a ideia de usar o termo Linux para a plataforma
como um todo é bem mais simples e natural, por isso adoto esta terminologia no livro.

O kernel é a peça fundamental do sistema, responsável por prover a infra-estrutura básica necessária
para que os programas funcionem, além de ser o responsável por dar suporte aos mais diferentes periféricos:
placas de rede, som e o que mais você tiver espetado no micro.

Essa é justamente uma das principais diferenças entre o Windows e as distribuições Linux. No
Windows, o sistema inclui um conjunto relativamente pequeno de drivers e você depende dos CDs de
instalação e dos drivers disponibilizados pelos fabricantes. No Linux, quase todos os drivers disponíveis são
incorporados diretamente no kernel e já vêm pré-instalados nas distribuições. Isso faz com que os periféricos
suportados sejam detectados automaticamente.

Isso faz com que a importância de usar uma distribuição atual seja muito maior, já que uma
distribuição antiga ou desatualizada incluirá não apenas softwares antigos, mas também um conjunto
desatualizado de drivers, que farão com que muitos componentes do PC não sejam reconhecidos.

Começando do início, se você der uma olhada dentro da pasta "/boot" de qualquer distribuição Linux,
vai encontrar o executável do kernel no meio de um pequeno conjunto de arquivos. Ele é o primeiro
componente carregado pelo gerenciador de boot durante a inicialização do sistema:

39
Você deve estar se perguntando por que o arquivo se chama "vmlinuz" e não "vmlinux", como seria
mais lógico. Na verdade, esta é uma longa história, mas, em resumo, o "z" no nome é usado porque o arquivo
do kernel é guardado no HD na forma de um arquivo compactado.

Nas primeiras distribuições Linux, todos os drivers e outros componentes eram compilados
diretamente nesse arquivo principal, e você podia escolher os componentes a ativar na hora de compilar o
kernel. Se você habilitasse tudo, não teria problemas com nenhum dispositivo suportado, tudo iria funcionar
facilmente, mas, por outro lado, você teria um kernel gigantesco, que rodaria muito devagar no seu 486 com 8
MB de RAM.

Se, por outro lado, você compilasse um kernel enxuto e esquecesse de habilitar o suporte a algum
recurso necessário, teria que recompilar tudo de novo para ativá-lo. Como resultado disso, as distribuições
passaram a incluir diversas opções de kernel, compiladas com configurações diferentes. Você tinha então que
escolher qual usar, de acordo com os componentes do micro.

Este problema foi resolvido durante o desenvolvimento do kernel 2.0, através do suporte a módulos.
Os módulos são peças independentes que podem ser ativadas ou desativadas com o sistema em uso. Do
kernel 2.2 (lançado em 1999) em diante, quase tudo pode ser compilado como módulo, o que tornou as
coisas muito mais práticas e abriu as portas para os sistemas de detecção automática de hardware que são
usados nas distribuições atuais.

Os módulos nada mais são do que arquivos, que são armazenados dentro da pasta
"/lib/modules/versão_do_kernel". Veja que os módulos ficam organizados em pastas: a pasta
"kernel/drivers/net/" contém drivers para placas de rede, a pasta "kernel/drivers/usb/" agrupa os que dão
suporte dispositivos USB, e assim por diante:

40
Na maioria dos casos, os módulos possuem nomes que dão uma ideia do dispositivo a que oferecem
suporte. O "8139too.ko" dá suporte às placas de rede com o chipset Realtek 8139, o "sis900.ko" dá suporte às
placas SiS 900, enquanto o "e100.ko" ativa as placas Intel E100, por exemplo. Se você fizer uma pesquisa
pelo nome de um módulo específico no Google, vai quase sempre chegar à página do projeto ou a alguma
página ou manual explicando o que ele faz.

Para ativar o suporte a um certo dispositivo, você (ou o utilitário de detecção incluído no sistema)
precisa apenas carregar o módulo referente a ele. O resto é feito pelo próprio kernel, que se encarrega de
ativar o dispositivo e criar um caminho de acesso para ele.

Cada vez mais, o trabalho de detecção e carregamento dos módulos passa a ser feito de maneira
automática pelas distribuições, através dos códigos de identificação incluídos nos próprios dispositivos. Uma
placa de rede com chipset Realtek, por exemplo, retorna algo como "Ethernet controller: Realtek
Semiconductor Co., Ltd. RTL-8139/8139C/8139C+". Com base nesses códigos, o sistema pode descobrir
quais periféricos estão instalados e carregar os módulos apropriados, de forma automática.

Você pode checar os códigos de identificação dos dispositivos instalados usando os comandos "lspci"
e "lsusb". Nos casos em que você precisa carregar um módulo manualmente, é usado o comando
"modprobe", seguido do módulo desejado, como em:

# modprobe ndiswrapper

Para descarregar um módulo, é usado o "modprobe -r", como em:

# modprobe -r ndiswrapper

Você pode ver uma lista com todos os módulos disponíveis usando o comando "modprobe -l". A lista
é muito longa para caber na tela ou mesmo no buffer do terminal, por isso é interessante adicionar um "|
more", que adiciona quebras de página na exibição. Basta ir pressionando a barra de espaço para avançar:

# modprobe -l | more

Essa longa lista é mais uma curiosidade, mas os mais curiosos podem usá-la para tentar entender mais
sobre o suporte a hardware e os componentes do sistema. A lista mostra a estrutura de pastas completa até os
módulos, o que ajuda a descobrir para que cada um serve. Ao ver o "/lib/modules/2.6.29-1-
686/kernel/drivers/net/wireless/ipw2200.ko" na lista, por exemplo, você pode presumir que se trata do
módulo que dá suporte a placas de rede wireless com chipsets Intel IPW2200.

41
Algumas distribuições oferecem uma opção de carregar módulos adicionais durante a instalação,
atendendo justamente aos raros casos onde você precisa de um determinado módulo para ativar a placa SCSI
onde está instalado o HD, por exemplo.

Os módulos são gerados durante a compilação do kernel. Você não precisa se preocupar com isso se
não quiser, pois as distribuições quase sempre incluem versões bem completas do kernel por padrão, mas, de
qualquer forma, existe sempre a possibilidade de recompilar o kernel, mexendo nas opções e ativando ou
desativando os módulos que quiser.

Na prática, a situação mais comum onde você precisa lidar com módulos é quando precisa instalar
manualmente algum driver modificado ou proprietário, necessário para ativar algum dispositivo em particular.
Infelizmente, isso é ainda relativamente comum ao usar componentes recém lançados, ou em algumas
configurações problemáticas, como em alguns notebooks com chipset SiS ou VIA.

Diferente dos drivers open-source, que são incluídos diretamente no kernel, os drivers proprietários
são distribuídos sob licenças mais restritivas, que impedem sua inclusão direta. Os desenvolvedores do kernel
são especialmente cuidadosos com relação ao uso de componentes proprietários, para evitar que o sistema se
torne vulnerável a disputas na justiça.

Um bom exemplo de como esta atitude cautelosa é importante, é o caso da SCO


(http://en.wikipedia.org/wiki/SCO_v._IBM), que em 2003 entrou na justiça contra a IBM, alegando que ela
havia contribuído com trechos de código de propriedade da SCO no kernel Linux e exigindo reparações. No
final, as acusações se provaram falsas e a SCO é que acabou sendo condenada a pagar reparações (acabando
por ir à falência), mas o caso foi um alerta muito claro.

Em alguns casos, os drivers proprietários são de livre distribuição e (embora não façam parte do
kernel) podem ser incluídos diretamente nas distribuições. Em outros, você mesmo precisará baixar e instalar
o driver. É aqui que entram os drivers para muitos softmodems, para algumas placas wireless e também os
drivers para placas 3D da nVidia e da ATI.

A psicologia para lidar com eles é a seguinte: instalar um destes drivers envolve duas tarefas, baixar e
instalar o módulo propriamente dito e criar um "dispositivo" (device), um atalho que aponta para o endereço
de hardware usado por ele. Para facilitar esta tarefa, geralmente os drivers vêm com algum tipo de instalador,
geralmente um script simples de modo texto que cuida disso para você.

Os módulos são parte integrante do kernel, por isso os módulos compilados para uso em uma
determinada distribuição não funcionam em outra, a menos que, por uma grande coincidência, as duas
utilizem exatamente a mesma versão do kernel. Isso é bastante improvável, já que o kernel Linux é atualizado
quase que diariamente.

Se você usar uma distribuição popular, Mandriva, Fedora, SuSE, etc., é possível que você encontre um
driver pré-compilado para download (que pode ser encontrado com a ajuda do bom e velho Google). Neste
caso, você só vai precisar instalar um pacote RPM ou executar um arquivo de instalação. Em outras situações,
você encontrará apenas um arquivo genérico ainda não compilado, contendo um instalador que se encarrega
de compilar um módulo sob medida para o kernel em uso.

Como o script de compilação não tem como adivinhar qual distribuição ou kernel você está
utilizando, é necessário ter instalado os pacotes "kernel-source" e "kernel-headers", que acompanham
qualquer distribuição. No Mandriva, por exemplo, você pode instalá-los usando os comandos:

# urpmi kernel-source
# urpmi kernel-headers

Naturalmente, para conseguir compilar qualquer coisa, você precisará também de um compilador (o
gcc), que também acompanha as distribuições. Se você tiver estas três coisas, vai conseguir instalar qualquer
driver sem maiores problemas, basta seguir as instruções na página de download ou no arquivo INSTALL ou
README dentro do pacote.

No Ubuntu, por exemplo, o gcc, juntamente com os utilitários básicos de compilação, podem ser
instalados através do pacote "build-essential", que comentei no tópico sobre instalação do VMware Player na
introdução. Ele é um meta-pacote (um pacote que, quando instalado, dispara a instalação de vários outros),
que se encarrega de instalar um conjunto básico de compiladores e bibliotecas.

42
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". Naturalmente, é
possível ajustar as permissões de uma maneira que você possa salvar arquivos em outros locais, mas isso nem
sempre é uma boa ideia.

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 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 os 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., um conjunto que na maioria das distribuições ocupa de 6 a 8 MB, pouca coisa.
O principal motivo de eles ficarem separados dos outros executáveis do sistema (que vão dentro da pasta
/usr) é permitir que eles fiquem acessíveis desde o início do boot, mesmo que você resolva armazenar a pasta
/usr em uma partição separada (o que é muito comum em servidores).

Ele é complementado pelo diretório "/sbin", que tem a mesma função básica, mas se diferencia por
armazenar aplicativos que podem ser usados apenas pelo root, como, por exemplo, o "adduser", que permite
criar novos usuários.

A maior parte dos aplicativos e outros componentes 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 instalados:

43
A pasta "/usr/bin" (bin de binário), por exemplo, armazena cerca de 2.000 programas e atalhos para
programas em uma instalação típica do sistema. Como os executáveis de quase todos os programas instalados
são armazenados nela, o número só faz crescer conforme você instala novos pacotes.

Outro diretório com um enorme volume de arquivos é o "/usr/lib", onde ficam armazenadas as
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. Elas são gerenciadas de maneira automática pelo gerenciador de pacotes;
quando uma biblioteca é atualizada, por exemplo, são deixados links apontando para a nova versão, o que
permite que os aplicativos que utilizavam a versão antiga continuem funcionando.

Outras pastas dignas de nota são a "/usr/local", que é reservada a programas e scripts que você
instalar manualmente; a "/usr/sbin", que é reservada a executáveis que podem ser usados apenas pelo root
(similar à pasta "/sbin") e a "/usr/src", que é usada para armazenar o código-fonte de programas e também o
código-fonte do kernel (caso disponível). A pasta "/usr/X11R6" era originalmente destinada a armazenar os
componentes do X, responsável pelo ambiente gráfico, mas ela está caindo em desuso.

Subindo de novo, a pasta "/boot" armazena o kernel e alguns arquivos usados na fase inicial do boot,
como comentei no tópico anterior. Além do kernel, ela armazena também a configuração do gerenciador de
boot, responsável pelas opções mostradas na tela de boot e as opções de inicialização aplicadas a cada uma. A
configuração do grub, que é o gerenciador usado na maioria das distribuições atuais, vai no arquivo
"/boot/grub/menu.lst".

Logo a seguir 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/sda", "/dev/dsp",
"/dev/modem", etc., não são arquivos armazenados no HD, mas sim ponteiros para dispositivos de
hardware. O "arquivo" "/dev/mouse" contém as informações enviadas pelo mouse, enquanto o "/dev/dsp"
permite acessar a placa de som, por exemplo. Essa organização visa facilitar a vida dos programadores, que
podem acessar o hardware do micro simplesmente fazendo seus programas lerem e gravarem em arquivos,
deixando que o kernel se encarregue da parte complicada.

Ele é complementado pelo diretório "/proc", que não armazena arquivos, mas sim informações sobre
o hardware e sobre a configuração do sistema. Estas informações são usadas por utilitários de detecção e
configuração do sistema, mas podem ser úteis também quando você quer checar alguma configuração
manualmente. O comando "cat /proc/net/dev" mostra informações sobre as interfaces de rede, o "cat
/proc/cpuinfo" mostra informações sobre o processador e assim por diante.

O diretório /proc faz par com o "/sys", uma novidade introduzida a partir do kernel 2.6, que agrupa
informações sobre os dispositivos instalados, incluindo o tipo, fabricante, capacidade, endereços usados e
assim por diante. Estas informações são geradas automaticamente pelo kernel e permitem que os serviços
responsáveis pela detecção de hardware façam seu trabalho, configurando impressoras e criando ícones no
desktop para acesso ao pendrive, por exemplo.

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 e

44
arquivos de configuração do diretório "/etc" são desenvolvidos justamente para facilitar a edição manual. É
bem 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 existindo.

Os arquivos recebem o nome dos programas, seguidos geralmente da extensão .conf. 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", por exemplo. A boa
notícia é que, ao contrário do registro do Windows, os arquivos do "/etc" não se corrompem sozinhos e é
fácil fazer cópias de segurança caso necessário. Falarei mais sobre eles no capítulo sobre o Slackware, onde o
principal objetivo é justamente mostrar como configurar o sistema manualmente.

Concluindo, o diretório "/mnt" (de "mount") recebe este nome justamente por servir de ponto de
montagem para o drive óptico ("/mnt/cdrom" ou "/mnt/dvd") e outros dispositivos de armazenamento. Na
maioria das distribuições atuais ele é substituído pelo diretório "/media", que tem a mesma função. Ao plugar
um pendrive no Ubuntu, por exemplo, ele é montado pelo sistema na pasta "/media/disk"; ao plugar um
cartão de memória, ele é visto como "/media/card" e assim por diante.

Na verdade, o uso do diretório "/media" ou "/mnt" é apenas uma convenção. Você pode
perfeitamente montar o seu pendrive dentro da pasta "/home/fulano/pendrive", por exemplo, desde que
faça a montagem de forma manual. Os diretórios padrão de montagem das partições são configuráveis
através do "/etc/fstab", que é um dos arquivos básicos de configuração do sistema.

Usando o terminal

No início, todos os sistemas operacionais usavam interfaces de modo texto, já que elas são uma forma
simples de aceitar comandos e exibir os resultados, mesmo em máquinas com poucos recursos. 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. Mesmo com toda a evolução com relação às
interfaces e aos utilitários de configuração gráficos, o bom e velho terminal continua prestando bons serviços.

O grande atrativo do terminal é que, com exceção de alguns poucos aplicativos específicos, os
comandos são sempre os mesmos. Isso faz com que ele seja um porto seguro, com o qual você pode contar,
sem importar se você está no Ubuntu ou no Slackware. O terminal é também a forma mais natural de
"conversar" com o sistema, sempre que você precisa de qualquer coisa além do arroz com feijão.

Por exemplo, imagine que você precisa mover todos os arquivos com extensão .jpg de uma pasta com
muitos arquivos para outra. Em vez de precisar mover um por um, ou fazer algum malabarismo com a ordem
de exibição dos arquivos (para organizar a exibição com base na extensão dos arquivos e poder assim
selecionar todos os .jpg com o mouse), você poderia simplesmente abrir o terminal e digitar:

$ mv *.jpg /outra-pasta

Além dos comandos básicos, dois outros recursos que tornam o terminal tão poderoso são a
possibilidade de combinar diferentes comandos para executar tarefas mais complexas (ou filtrar os resultados
para localizar informações específicas) e a possibilidade de escrever pequenos programas em shell script.

Por exemplo, para assistir vídeos no meu Nokia E71, preciso convertê-los para um formato especial,
suportado pelo RealPlayer, com o fluxo de vídeo em MPEG4 e o áudio em AAC. No Windows, precisaria
converter os vídeos um a um, mas no Linux, posso usar um pequeno script para automatizar o trabalho:

for video in *; do
ffmpeg -i "$video" -f mp4 -vcodec mpeg4 -b 350000 -r 15 -s 320x240 \
-acodec aac -ar 24000 -ab 128 -ac 2 "$video".mp4
done

Quando executado dentro de uma pasta com vários arquivos de vídeo, o script simplesmente converte
todos os arquivos, um a um, gerando os arquivos .mp4 que posso então copiar para o smartphone. Com isso,
preciso apenas mover todos os vídeos que quero converter para uma pasta, executar o script e deixar o micro
trabalhando durante a noite, fazendo o trabalho mecânico de conversão, em vez de precisar repetir os
mesmos passos para cada arquivo que quisesse converter.

45
Os scripts em shell podem ser usados para automatizar qualquer tipo de tarefa que você precisa
executar repetidamente, de atualizações do sistema a backups. Essencialmente, tudo o que é possível fazer via
linha de comando (ou seja, praticamente tudo), pode ser automatizado através de um shell script.

Se você chegou a usar o Kurumin 7, deve se lembrar do Clica-Aki, um painel gráfico com várias
funções, que era um dos grandes atrativos do sistema. Apesar da complexidade, ele nada mais era do que um
conjunto de shell scripts, acionados através das opções e botões dentro da interface. Até mesmo o instalador
do sistema era inteiramente escrito em shell script:

Curiosamente, uma das grandes reivindicações de administradores Windows sempre foi uma interface
de linha de comando, que permitisse administrar o sistema remotamente (sem a necessidade de usar a
interface gráfica) e automatizar tarefas diversas. Mesmo a contragosto, a Microsoft acabou sendo obrigada a
dar o braço a torcer e desenvolver o PowerShell, que nada mais é do que uma interface de linha de comando
para o Windows.

A grande 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. Aprender a usar o modo texto é
parecido com aprender uma segunda língua: é um processo gradual e constante, no qual você sempre está
aprendendo comandos, parâmetros e truques novos. Quanto mais você aprende, mais tempo você acaba
passando no terminal; não por masoquismo, mas porque ele é realmente mais prático para executar muitas
tarefas.

Um dos usos mais básicos para o terminal é simplesmente abrir aplicativos, substituindo o uso do
iniciar. 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

46
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 em uma 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.

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" (em muitas distribuições a combinação pode ser "Alt+F5" ou mesmo
"Alt+F3", dependendo do número de terminais de texto usados por padrão).

Estes terminais são às vezes necessários para manutenção do sistema, nos 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 terminal de texto e voltar para o ambiente gráfico. Outra limitação é que estes terminais não
permitem usar aplicativos gráficos.

Na maior parte do tempo, usamos a segunda opção, 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.).
No GNOME é usado o GNOME Terminal, que oferece recursos similares, incluindo a possibilidade de abrir
diversas abas, onde cada uma se comporta como um terminal separado (similar às abas do Firefox). Se você
preferir uma alternativa mais simples, procure pelo Xterm.

Um pequeno complicador com relação ao uso do terminal, e também de editores de texto de uma
maneira geral, foi a recente mudança do ISO-8859-15 (o bom a velho ASCII) para o UTF8 como padrão de
codificação padrão na maioria das distribuições.

Sempre que você executar scripts, ou acessar outras máquinas remotamente e o terminal passar a
exibir caracteres estranhos no lugar dos caracteres acentuados, mude o padrão de codificação na configuração
do terminal:

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. Para abrir o arquivo
"/etc/fstab" no Kedit, por exemplo, use:

$ kedit /etc/fstab

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

47
$ gimp imagem.png

Ao chamar algum aplicativo, o terminal ficará bloqueado até que o aplicativo seja finalizado. Você
pode evitar isso adicionando um "&" no final do comando, o que faz com que ele seja executado em segundo
plano, mantendo o terminal livre.

Se você esquecer de acrescentar o "&" 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 usar o
comando "bg", que reinicia o programa em background. Outra opção é simplesmente abrir outro terminal, ou
(se estiver usando o konsole ou o gnome-terminal), abrir outra aba. :)

Alguns aplicativos exibem mensagens diversas e avisos depois de serem abertos, o que "suja" o
terminal, mas sem comprometer o que você estiver 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".

No começo, faz realmente pouco sentido ficar tentando lembrar do comando para chamar um
determinado aplicativo ao invés de simplesmente clicar de uma vez no ícone do iniciar. Entretanto, 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, por exemplo. É 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, para melhorar sua
produtividade, e não simplesmente como algo arcaico ou ultrapassado, como muitos pregam.

Vamos então a algumas dicas básicas:

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, o famoso
autocompletar.

Além de facilitar o uso do terminal, reduzindo brutalmente o volume de caracteres digitados, o


autocompletar previne erros nos comandos (afinal, você pode se enganar, mas o computador não) e evita que
você precise lembrar dos nomes exatos dos arquivos e dos comandos, já que você pode digitar apenas as
primeiras letras e pressionar a tecla tab. Por exemplo, em vez de precisar digitar:

$ md5sum ubuntu-8.10-desktop-i386.iso

... você poderia digitar apenas md5<tab> ub<tab>, ou seja, apenas 8 toques, incluindo o espaço.

Se, por acaso, houver outro comando começado com "md5" ou outro arquivo na mesma pasta
começado com "ub", então o autocompletar completará o comando ou arquivo até o ponto em que as
opções forem iguais. Pressionando o tab pela segunda vez, ele exibe uma lista com as possibilidades para que
você termine de completar o comando.

Se tivesse os arquivos "ubuntu-8.04-desktop-i386.iso" e "ubuntu-8.10-desktop-i386.iso" na mesma


pasta, por exemplo, ele completaria até o "md5sum ubuntu-8." onde os nomes diferem, e deixaria que você
completasse o comando a partir daí.

Histórico: O terminal mantém um histórico dos últimos 500 comandos digitados, o que também
acaba sendo muito útil, já que é normal que você repita comandos similares, mudando apenas o nome do
arquivo ou outro detalhe.

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".

O "|" (ou "pipe", que pronunciamos como "páipi") é muito usado no shell, pois permite combinar
vários comandos, fazendo com que a saída de um seja processada pelo outro. No comando anterior, por
exemplo, o "history" gera uma longa lista de todos os comandos anteriormente digitados, enquanto o "| grep
cp" faz com que o texto seja processado pelo grep, que deixa passar apenas as linhas que incluem o "cp".

48
Colando com 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 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 (como no caso de um
notebook), pressione simultaneamente os dois botões para obter o mesmo resultado.

Este recurso acaba sendo extremamente útil ao seguir tutoriais ou executar listas de comandos, já que
você pode selecionar o comando a executar no navegador ou no editor de textos e colar diretamente no
terminal, usando o botão central.

Outra dica é que você pode usar o botão central para colar nomes de arquivos, sempre que precisar
usá-los em comandos. Use o "ls" para listar os arquivos da pasta e, em seguida, use o mouse para selecionar e
colar os nomes, completando os comandos.

As limitações são que o botão central 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 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 maneira bem prática.

Case Sensitive: Salvo poucas exceções, todos os comandos e parâmetros dentro de arquivos de
configuração são case-sensitive, ou seja, precisam ser digitados literalmente, respeitando as maiúsculas e
minúsculas.

Na maioria dos casos, tanto os comandos quanto os parâmetros suportados por eles utilizam letras
minúsculas, mas existem alguns casos de comandos que suportam parâmetros com letras maiúsculas e
minúsculas, com resultados diferentes. O comando "ls -s", por exemplo, mostra o tamanho dos arquivos na
listagem, enquanto o "ls -S" mostra os arquivos organizados por tamanho (o maior primeiro), por isso é
sempre importante prestar atenção.

Man: Como comentei no início, 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 de uso. 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", o "cat" e o "grep", usados no dia a dia, possuem mais parâmetros do que é
possível memorizar, de forma que o man acaba servindo como um guia de consulta rápida. Entretanto,
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".

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 digitados para configurar ou alterar algo. Em muitos
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

49
existem diferenças entre as opções disponíveis nas diferentes distribuições. Vamos então a um guia rápido
dos comandos básicos do terminal, que iremos aprofundar ao longo do livro:

Comandos básicos: Começando do básico, o comando "cd" permite navegar entre os diretórios. Ao
abrir o terminal, você começa dentro do seu diretório home (como "/home/gdh") e pode acessar outros
diretórios diretamente, especificando-os no comando, como em "cd /etc" ou "cd /mnt/cdrom".

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".

Em seguida temos o "ls", que serve para listar os arquivos dentro da pasta. 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 (ou em branco, de acordo
com o esquema de cores usado).

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 "ls -lha" ou "ls -alh", você pode simplesmente decorar os parâmetros na ordem que achar mais fácil de
lembrar.

Para copiar arquivos de uma pasta para outra usamos o "cp", especificando o nome do arquivo e a
pasta para onde ele vai, como em "cp arquivo.zip /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 ./".

Você pode também usar o "*" como curinga para copiar vários arquivos. Para copiar todos os
arquivos da pasta atual para a pasta "/mnt/hda6", por exemplo, use "cp * /mnt/hda6".

O "cp" é por padrão um comando bastante chato e difícil de entender, já que por default ele omite
pastas, altera a permissão dos arquivos e assim por diante. Um parâmetro bastante útil é o "-a", que faz com
que o cp sempre copie recursivamente (ou seja, copie todos os arquivos e sub-pastas), 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 uma pasta do CD-ROM para o diretório
atual, por exemplo, você poderia usar "cp -a /mnt/cdrom/musicas ./".

O cp faz par com o "mv", que serve tanto para mover quanto para renomear arquivos. Para mover o
arquivo foto.png para a pasta "/mnt/hda6/", o comando seria "mv foto.png /mnt/hda6". Para renomear um
arquivo, basta especificar o nome original e o novo, como em "mv antigo.txt novo.txt".

Para criar diretórios, usamos o comando "mkdir", como em "mkdir arquivos" (que cria a pasta
arquivos no diretório atual) ou "mkdir /mnt/sda6/arquivos". É possível também criar pastas recursivamente
(criando todas as pastas necessárias até chegar a que você pediu) adicionando o parâmetro "-p" como em
"mkdir -p /mnt/hda6/arquivos/novos/2009". Mesmo que a pasta "arquivos" e a pasta "novos" não existam,
elas serão criadas.

Em seguida temos o "rm", que serve tanto para remover 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 confirmar o comando.

É 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*". 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", você poderia usar o
comando "rm -f doc?.txt".

50
Temos também o comando "rmdir", 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.

Para verificar o espaço em disco disponível, use o "df". Ele mostra o espaço disponível (assim como
outras informações, incluindo a capacidade e o diretório de montagem) de cada uma das partições do sistema,
incluindo pendrives e outros dispositivos de armazenamento que estejam montados. Ele faz par com o "free",
que permite checar rapidamente o uso da memória RAM (ignore a primeira linha e veja diretamente a linha "-
/+ buffers/cache", que mostra o uso real, descartando o usado pelo cache de disco).

Outro comando útil é o "du", que permite ver uma lista com o espaço ocupado por cada pasta dentro
do diretório atual. Para facilitar, use sempre o "du -h", que exibe o tamanho dos arquivos de forma amigável,
escrevendo "2,8G" ao invés de "2876322", por exemplo.

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".

Localizando arquivos e comandos: Uma maneira rápida de localizar arquivos é usar o comando
"locate", que permite realizar buscas de forma quase instantânea. Para procurar um arquivo, simplesmente use
"locate arquivo" (funciona também se você especificar apenas parte do nome, ou usar o asterisco para
encontrar arquivos de determinadas extensões).

O locate é muito rápido, pois executa a busca dentro de uma base de dados, que é gerada ao rodar o
comando "updatedb". A desvantagem dessa abordagem é que você precisa rodar o updatedb (como root) de
vez em quando, a fim de incluir as últimas modificações.

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

Temos também o "find", que também permite localizar arquivos, mas funciona da forma tradicional,
realmente vasculhando os diretórios em busca dos arquivos. 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".

Assim como outros comandos do terminal, o find pode ser usado de forma mais amigável através de
ferramentas gráficas. No KDE, por exemplo, você pode usar o "kfind". 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:

51
No GNOME, você pode utilizar o "gnome-search-tool", disponível no "Locais > Pesquisar por
arquivos", que cumpre uma função similar.

Assim como no caso dos nomes de arquivos, você pode completar os comandos usando a tecla TAB,
o que reduz a necessidade de realmente decorá-los. Outra dica é usar o comando "apropos" para ajudar a
localizar comandos quando você tem apenas uma vaga ideia do nome. Basta chamá-lo incluindo algumas
letras que façam parte do comando (não importa se do começo ou do final), como em "apropos keyg" ou
"apropos ogg". Ele mostra uma lista com todos os comandos que contêm os caracteres especificados no
nome, juntamente com uma pequena descrição.

Desligando: Assim como no Windows, você precisa desligar o sistema corretamente para evitar perda
de arquivos e danos à estrutura das partições (sem falar em evitar o chato fsck no boot seguinte). Além das
opções nos menus do KDE ou GNOME, você pode desligar via terminal, usando os comandos "halt"
(desligar) e "reboot" (reiniciar). Existe também o Ctrl+Alt+Del, que se executado em um dos terminais de
texto puro reinicia o micro e, se pressionado dentro do ambiente gráfico abre (na maioria das distribuições) o
diálogo com as opções de desligar e reiniciar.

Informações sobre o hardware: Como comentei no tópico sobre os diretórios, a pasta "/proc" não
armazena arquivos, mas sim informações sobre o hardware e sobre a configuração do sistema. Embora seja
possível ver o conteúdo dos arquivos usando qualquer editor de texto (como no caso do "cat
/proc/cpuinfo"), a maior parte das informações são crípticas demais para qualquer ser humano normal.

Se você quer apenas descobrir qual é o chipset da placa wireless ou da placa de som, por exemplo,
pode ver uma listagem resumida do hardware da máquina usando o comando "lspci". Para os dispositivos
USB (que não aparecem na lista do lspci), temos o "lsusb".

Dois outros comandos relacionados são o "lshal" (que mostra todos os componentes detectados pelo
HAL, responsável por detectar o hardware e carregar os módulos apropriados) e o "lshw" que mostra uma
longa lista de detalhes sobre a máquina, lembrando um pouco o gerenciador de dispositivos do Windows,
porém em modo texto. Complementando, temos o clássico "uname -a", que permite verificar rapidamente
qual versão do kernel está sendo usada.

Rede: O comando básico para gerenciar a configuração de rede no Linux é o "ifconfig". Quando
chamado sem argumentos, ele mostra a configuração atual da rede (o que o torna uma opção rápida para
verificar qual endereço IP seu PC está usando, ou se ele obteve a configuração corretamente a partir do
servidor DHCP), mas ele pode ser usado também para alterar a configuração da rede rapidamente. Ao digitar
"ifconfig eth0 192.168.1.2", por exemplo, você troca o endereço da placa "eth0".

Ele é complementado pelo "iwconfig", que se aplica às placas wireless. Ao chamá-lo sem argumentos,
ele mostra a configuração atual, incluindo o SSID da rede, o endereço MAC do ponto de acesso, a qualidade
do sinal e a velocidade atual de transmissão, mas ele pode ser usado também para configurar a rede Wi-Fi
manualmente, como veremos em detalhes no capítulo sobre o Slackware.

52
O su, o sux e o sudo

O Linux nasceu como um sistema multiusuário, mantendo a tradição dos sistemas Unix. Ele oferece
um sistema de permissões bastante simples, porém ao mesmo tempo bastante efetivo, atendendo tanto a
desktops domésticos, usados por apenas duas ou três pessoas, quanto a servidores com centenas de usuários.

No Linux, o root é o único que tem acesso a todos os arquivos e configurações do sistema. Os
usuários normais têm, por padrão, acesso apenas a seus arquivos dentro do diretório /home e alguns outros
arquivos específicos. Em um desktop, a ideia básica é que você use um login normal de usuário para rodar
programas e executar as tarefas do dia a dia e logue-se como root quando precisar instalar programas ou
alterar a configuração do sistema.

Todos os programas salvam suas configurações dentro de pastas ocultas, dentro do diretório home,
como a ".gnome2", que armazena a maior parte das configurações relacionadas ao GNOME e a ".kde", que
guarda as configurações do KDE e dos aplicativos baseados nele. Cada usuário tem suas próprias pastas de
configuração e pode alterar apenas seus próprios arquivos, o que evita confusão em PCs ou servidores
compartilhados entre vários usuários. O máximo que poderia acontecer seria um usuário deletar seus próprios
arquivos, ou bagunçar suas próprias configurações.

Em qualquer distribuição, você pode se logar como root usando o comando "su" no terminal,
fornecendo a senha de root. De uma forma geral, recomenda-se usá-lo com o parâmetro "-", que atualiza as
variáveis de ambiente:

$ su -

O símbolo do terminal muda de um "$" para um "#", indicando que, a partir daí, todos os comandos
digitados nesse terminal específico serão executados como root.

Um problema comum é você não conseguir rodar aplicativos gráficos depois de logado como root,
recebendo um "konqueror: cannot connect to X server " ou um "Error: no display specified". Isso acontece
por que, na maioria das distribuições, as permissões do X não são atualizadas, fazendo com que, por
paradoxal que possa parecer, o root não tenha permissão para usar o ambiente gráfico. Isso acaba sendo um
grande empecilho, já que você não pode usar editores de texto como o gedit ou o kwrite para editar arquivos
de configuração, por exemplo.

A solução mais simples é instalar o pacote "sux" e passar a usar o comando no lugar do su. O "sux"
atualiza as permissões do ambiente gráfico, solucionando o problema. Basta passar a usá-lo no lugar do "su"
quando quiser rodar aplicativos gráficos:

$ sux

Outra opção é rodar os programas gráficos usando o "gksudo" (no GNOME) ou o "kdesu" (no
KDE), seguidos do comando desejado, como em:

$ gksudo gedit

ou:

$ kdesu konqueror /etc

Assim como no caso do sux, eles ajustam as permissões do X automaticamente. Uma forma prática de
usá-los, é rodar os comandos usando o "Alt+F2" que abre a janela do "Executar comando", onde você pode
rodar o comando diretamente, sem precisar primeiro abrir um terminal.

Em algumas distribuições (como no caso do OpenSUSE), o gksudo é substituído pelo "gnomesu",


mas a função é a mesma.

Continuando, as distribuições atuais têm adotado cada vez mais o uso do "sudo" como uma forma de
facilitar o uso do sistema, permitindo que você execute aplicativos como root quando precisar.

Muita gente associa o uso do sudo ao Ubuntu, mas ele, na verdade, começou a ser usado em larga
escala um pouco antes, no Knoppix e em outros live-CDs baseados nele, como o Kurumin. No caso dos live-

53
CDs, o sudo é usado como um facilitador, para que o sistema permita a execução de comandos como root
sem a necessidade de definir uma senha default para o root.

Quando você precisa abrir uma janela do gerenciador de arquivos como root, para recuperar arquivos
dentro de uma partição do HD, por exemplo, você precisa apenas chamá-lo colocando um "sudo" antes do
comando, como em:

$ sudo konqueror /mnt/sda2

O sudo pode ser usado até mesmo para alterar a senha de root, permitindo que você defina uma senha
para o live-CD, mesmo sem saber a senha anterior:

$ sudo passwd

O Ubuntu (depois de instalado) usa uma abordagem mais conservadora, confirmando sua senha de
usuário antes de executar o comando. Essa é uma precaução básica de segurança, que evita que alguém possa
alterar a senha de root e assumir o controle do seu PC enquanto você estiver tomando um cafezinho, por
exemplo.

Em qualquer um dos casos, a configuração do sudo vai no arquivo "/etc/sudoers", onde são
especificados os usuários que poderão usar o comando. No Ubuntu, por exemplo, é usada a seguinte
configuração:

%admin ALL=(ALL) ALL

O "%admin" indica que a regra não se aplica a um usuário específico, mas sim a todos os usuários que
fazem parte do grupo "admin". Por default, apenas o usuário criado durante a instalação faz parte do grupo e
somante ele pode usar o sudo, mas você pode criar outros usuários administrativos posteriormente
simplesmente adicionando-os ao grupo, como em:

# addgroup gdh admin

Devido ao "ALL=(ALL) ALL", o sistema permite que o sudo seja usado para executar qualquer
comando (com algumas poucas exceções), mas apenas depois de confirmada a senha do usuário.

Para poder executar comandos sem precisar confirmar a senha (como ao rodar usando o live-CD),
você precisaria apenas alterar a linha, substituindo o "(ALL)" por um "NOPASSWD:", como em:

%admin ALL=NOPASSWD: ALL

No caso do Ubuntu, o arquivo vem com a linha "%sudo ALL=NOPASSWD: ALL" comentada, que
tem um efeito semelhante, permitindo que os usuários incluídos no grupo "sudo" possam usar o sudo sem
senha.

Por ser um arquivo essencial dentro do sistema de permissões, o "/etc/sudoers" é um arquivo


extremamente sensível. Qualquer erro dentro da configuração, ou qualquer alteração nas permissões do
arquivo (que devem ser, obrigatoriamente, "0440"), fazem com que o sudo deixe de funcionar, bloqueando
parcialmente o sistema até que o problema seja resolvido.

É por isso que é recomendado que você edite o arquivo usando o comando "visudo", que não permite
que você salve o arquivo caso existam erros na configuração. O grande problema é que ele é complicado de
usar, o que faz com que muitos dispensem o conselho e usem outros editores de texto. Não existe nada de
errado nisso, desde que você cheque e recheque a configuração antes de salvar.

Outra dica é que você sempre destrave a conta de root usando o "sudo passwd" antes de tentar editar
o arquivo. Isso garante que você continue conseguindo se logar como root no sistema caso o sudo fique
travado por um erro na configuração do arquivo.

A questão das permissões

Clicando sobre as propriedades de qualquer pasta ou arquivo dentro do gerenciador de arquivos, você
encontra um menu com o ajuste de permissões, onde pode definir individualmente as permissões para o

54
dono do arquivo, para usuários que façam parte do mesmo grupo e para os outros, que inclui todos os demais
usuários com acesso ao sistema:

Cada um dos campos aceita três possibilidades: "Nenhum", "Apenas leitura" e "Leitura e escrita". Por
default, o dono é o único que pode ler e escrever, os demais (grupo e outros) podem apenas ler o arquivo,
sem modificá-lo.

No caso dos arquivos, existe uma quarta permissão, que é o campo "Permitir execução do arquivo
como um programa". 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 ativar
a permissão de execução nas propriedades do arquivo antes de conseguir instalá-lo.

O "dono" do arquivo é por default o usuário que o criou. Apenas este usuário pode alterar as
permissões de acesso ao arquivo ou à 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 o caso de um servidor de arquivos, usado por diversos usuários diferentes, onde você precise
fazer com que um determinado arquivo fique acessível apenas para três usuários específicos. Uma maneira
simples de resolver o problema seria criar um novo grupo, adicionar a ele os usuários que devem ter acesso e,
em seguida, alterar as permissões de acesso, para que o grupo passe a ser dono do arquivo e os integrantes
sejam os únicos com permissão para ler e fazer alterações.

Você pode criar novos grupos e adicionar usuários a eles através do "users-admin" ("Sistema >
Administração > Usuários e Grupos", nas distribuições derivadas do GNOME), ou usando outra ferramenta
gráfica incluída na distribuição, como o UserDrake (disponível no Mandriva) ou o Kuser (disponível em
muitas distribuições com o KDE).

55
Configuração dos grupos com o users-admin

Para criar um novo grupo usando o users-admin, clique em "Gerenciar 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 aplicativo ou serviço 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 do
sistema) para todos os usuários, mas, ao mesmo tempo, dar acesso de gravação apenas para o diretório home
de cada um.

Por default, o único que pode alterar o dono das pastas é o próprio root (os usuários podem
alterar apenas o grupo e ainda assim somente entre os grupos de que fazem parte). Um dos
motivos para isso é o suporte a quotas, que (embora não seja muito usado em desktops) está
disponível em qualquer distribuição Linux. Se qualquer usuário pudesse alterar a posse dos
arquivos, transferindo-os para outros usuários, o sistema de quotas seria muito fácil de burlar.

A maneira mais simples de alterar os donos e grupos dos arquivos e pastas é simplesmente abrir uma
janela do gerenciador de arquivos como root, como em:

$ gksudo nautilus

Diferente do que temos ao rodar o gerenciador de arquivos como usuário, ao acessar as propriedades
dos arquivos como root os campos do dono e do grupo ficam desbloqueados, permitindo que você ajuste as
permissões livremente.

Como de praxe, você pode também ajustar as permissões via linha de comando, usando os comandos
"chmod" e "chown". O primeiro permite ajustar as permissões dos arquivos e pastas, enquanto o segundo
permite transferir a posse, dizendo a qual usuário e a qual grupo determinada pasta ou arquivo pertence.

Um exemplo comum é quando você cria ou copia uma pasta como root e, devido a isso, fica sem
poder modificar os arquivos usando seu login de usuário. Uma maneira simples de resolver o problema seria
usar o comando "chown" (como root) para transferir a posse da pasta, como em:

56
# chown -R gdh /home/gdh/arquivos/

O "-R" no comando faz com que ele seja aplicado recursivamente, ou seja, altere as permissões não
apenas da pasta, mas de todo o conteúdo. Sem ele, você passaria a conseguir escrever dentro da pasta, mas
ainda continuaria sem acesso às subpastas dentro dela. Em seguida, temos o "gdh", que indica o usuário e a
pasta que será modificada.

Outro uso comum é especificar também o grupo, como em:

# chown -R gdh:gdh /home/gdh/arquivos/

Você pode também criar novos usuários e alterar as senhas usando o "adduser" e o "passwd", que
permitem, respectivamente, adicionar novos usuários e alterar as senhas de acesso posteriormente, como em:

# adduser joao
(cria o usuário)

# passwd joao
(altera a senha posteriormente)

O próprio usuário pode alterar a senha usando o comando "passwd", desde que ele saiba a senha
antiga. Se o usuário esqueceu a senha, você pode definir uma nova executando o comando como root; nesse
caso, o sistema pede a nova senha diretamente, sem solicitar a antiga.

Bem antigamente, as senhas eram salvas no próprio arquivo "/etc/passwd", juntamente com as
demais informações da conta, o que abria brecha para diversos tipos de ataques. A partir de um certo ponto
(por volta de 1996), todas as distribuições passaram a utilizar o sistema shadow, onde as senhas são
armazenadas de forma encriptada em um arquivo separado, o "/etc/shadow".

As senhas são encriptadas usando um algoritmo de mão única, que permite apenas encriptá-las, mas
não recuperá-las. Durante o login, o sistema aplica o mesmo algoritmo à senha digitada pelo usuário e
compara a string resultante com a armazenada no arquivo. Se o resultado for o mesmo, o sistema sabe que a
senha confere e o acesso é autorizado.

Continuando, para remover um usuário anteriormente criado, utilize o comando "deluser", como em:

# deluser joao

Por questão de segurança, o comando remove apenas a conta, sem apagar o diretório home ou outras
pastas com dados do usuário. O diretório home é especialmente importante, pois ele guarda todas as
configurações e os arquivos do usuário, de forma que você só deve removê-lo depois de ter realmente certeza
do que está fazendo.

Concluindo, você pode alterar as permissões de acesso de arquivos e pastas usando o comando
chmod. A sintaxe dele parece um pouco complicada à primeira vista (justamente por isso a maioria acaba
preferindo usar diretamente o gerenciador de arquivos), mas nada que um pouco de prática não possa
resolver.

Um exemplo típico seria:

# chmod 744 arquivo

Os três números indicam, respectivamente, as permissões para o dono do arquivo, para o grupo e para
os demais usuários.

Temos três permissões: leitura, gravação e execução. Cada uma é 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).

57
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, o "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.

Se você quisesse 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.

Outra configuração que não deve ser subestimada é a dos privilégios de usuário, que fica disponível
dentro das propriedades da conta, no "users-admin":

Como você pode ver, ela inclui opções para usar diversos componentes do sistema, incluindo o uso da
placa de som, compartilhamento de arquivos e assim por diante. Estas permissões são na verdade definidas
de uma maneira bastante simples, através de grupos. Quando você marca a permissão para usar dispositivos
de áudio, por exemplo, tudo o que o users-admin faz é adicionar o usuário ao grupo correspondente.

No caso do Ubuntu, está disponível também a opção "Administrar o sistema", que adiciona o usuário
ao grupo "admin", permitindo que ele use o sudo e altere as configurações do sistema. Por default, o único
administrador é o usuário criado durante a instalação, mas você pode criar outros.

Sempre que você adiciona um novo login de usuário e, ao logar com ele, não consegue ouvir sons,
usar a impressora ou outros recursos do sistema, verifique antes de mais nada se as opções correspondentes
estão marcadas dentro da aba de privilégios do usuário.

Uma introdução ao shell-script

Imagine que, em um futuro distante, o Google decida transformar o Android em um sistema para
robôs pessoais. Seu robô com o Android poderia ser então instruído a executar qualquer tipo de tarefa, desde
que você conseguisse explicar para ele o que precisa fazer na forma de instruções simples. Uma ida até a
geladeira para pegar uma lata de refrigerante poderia ser explicada dessa forma:

58
Ir até a cozinha.
Abrir a geladeira.
Olhar a prateleira da direita.
Se encontrar uma lata de coca-cola, trazer para mim.
Senão, trazer a lata de guaraná.
Se não encontrar lata alguma, fechar a geladeira e voltar.

Este mesmo princípio, de dividir a tarefa a ser feita em instruções simples, é comum a todas as
linguagens de programação. Elas podem variar em complexidade, mas a ideia central é sempre a mesma:
explicar ao sistema o que fazer, em uma linguagem que ele seja capaz de entender.

No caso do shell-script, você precisa apenas pensar em uma maneira de "explicar" o que você quer
que seja feito através de comandos de terminal. Conforme você vai adquirindo mais familiaridade com o
sistema, este acaba se tornando um processo natural, já que qualquer conjunto de comandos para executar
uma determinada tarefa pode ser transformado em um script rapidamente. Vamos então a alguns exemplos
básicos para quebrar o gelo.

O tipo mais simples de script consiste em um bloco de comandos, que automatiza alguma tarefa
repetitiva. Estes scripts "burros" são uma excelente forma de simplificar o uso do sistema, evitando que você
precise memorizar sequências de comandos. Um bom exemplo é este mini-script que uso para conectar um
mouse bluetooth:

#!/bin/sh
# Checagem para ter certeza que o suporte a bluetooth está ativado:
hciconfig hci0 down
/etc/init.d/bluetooth restart
hciconfig hci0 up
# Ativa o mouse:
hidd --connect 00:07:61:62:cb:bb

Estes quatro comandos permitem ativar o mouse em qualquer distribuição, de forma que preciso
apenas executar o script e colocá-lo para ser inicializado automaticamente, sem precisar me preocupar com as
peculiaridades de cada uma.

Para usá-lo, é necessário apenas criar um arquivo de texto chamado "btmouse.sh" (ou qualquer outro
nome que escolher), colocá-lo dentro do seu home, ou da sua partição de dados (para que ele não seja
perdido ao reinstalar o sistema) e marcar a permissão de execução ("chmod +x btmouse.sh").

A partir daí, você pode passar a executar o script quando precisar ativar o mouse:

# /mnt/sda6/btmouse.sh

... ou adicionar o comando no final do arquivo "/etc/rc.d/rc.local" (ou outro arquivo de inicialização)
para que ele passe a ser executado automaticamente.

O problema com esses scripts simples é que eles servem para propósitos bem específicos, já que os
passos executados são sempre os mesmos. Este script para ativar o mouse bluetooth, por exemplo, funciona
apenas com o meu mouse, já que o endereço de conexão está gravado dentro do próprio script.

Scripts mais complexos começam quase sempre com alguma pergunta. Um gerenciador de downloads
precisa saber qual é a URL do arquivo a baixar, um discador precisa saber qual modem será utilizado e qual o
número de acesso do provedor, um instalador de programas precisa saber qual programa deve ser instalado e
assim por diante.

Dependendo da situação, as perguntas podem ser feitas diretamente, no estilo "digite a URL do
arquivo a baixar", ou através de um menu de seleção, onde você lista as funções oferecidas pelo script e o
usuário clica na opção desejada.

Para fazer uma pergunta direta (que é o formato mais simples), usamos o comando "read", que lê uma
resposta e a armazena em uma variável. Quase sempre ele é usado em conjunto com o "echo", que permite
escrever texto na tela, fazendo a pergunta, como em:

59
echo "Digite a URL do arquivo a baixar"
read arquivo
wget -c $arquivo

Com estes três comandos, criamos um gerenciador de downloads primitivo, que pede a URL do
arquivo (que você poderia colar no terminal usando o botão central do mouse) e faz o download usando o
wget, que é um gerenciador em modo texto, muito usado em scripts.

A URL digitada é armazenada na variável "arquivo", que pode ser usada ao longo do script. Ao usá-la,
é necessário incluir um "$", que faz com que o shell entenda que se trata da variável "arquivo" e não de um
trecho de texto qualquer. Quando o script fosse executado, o "wget -c $arquivo" seria transformado em algo
como "wget -c http://gdhpress.com.br/arquivo.zip", iniciando o download.

O "-c" é uma opção para o wget, que faz com que ele continue o download caso interrompido. Se
você pressionasse "Ctrl+C" durante o download para encerrar o script e o executasse novamente, fornecendo
a mesma URL, ele continuaria o download de onde parou.

Você poderia incrementar o script, incluindo mais perguntas e usando mais opções do wget. A
primeira parada nesse caso seria o "man wget", onde você poderia garimpar as opções suportadas pelo
comando e selecionar algumas que poderiam ser úteis dentro do script. Um bom exemplo é a opção "--limit-
rate=" que permite limitar a taxa de download. Você poderia incluir a opção no script adicionando mais uma
pergunta, como em:

echo "Digite a URL do arquivo a baixar"


read arquivo
echo "Digite a taxa máxima de download, em kbytes. ex: 48"
read taxa
wget -c --limit-rate=$taxa $arquivo

Este formato simples funciona bem para scripts rudimentares, destinados a simplesmente
automatizarem alguma tarefa específica, a partir de algumas perguntas simples. Para scripts mais completos,
precisamos começar a usar as operações lógicas, que permitem que o script tome decisões. O formato mais
básico é o "se, então, senão", que no shell script é representado pelos operadores "if", "then" e "else".

Imagine que você está fazendo um script conversor de vídeos, que é capaz de gerar arquivos em
quatro diferentes formatos. O script começa perguntando qual formato usar e, de acordo com a resposta,
executa os comandos apropriados para fazer a conversão.

Para simplificar, vamos fazer com que o script simplesmente converta todos os arquivos dentro do
diretório atual, em vez de perguntar quais arquivos converter ou de exibir uma caixa de seleção.

A parte da pergunta poderia ser feita com o "echo", como no exemplo anterior. Como agora são
várias linhas de texto, usei aspas simples ( ' ) em vez de aspas duplas. As aspas simples permitem que você
inclua quebras de linha e caracteres especiais dentro do texto, fazendo com que o shell simplesmente escreva
tudo literalmente:

echo 'Escolha o formato de saída:


1) MPEG4, 320x240 (vídeos no formato 4:3)
2) MPEG4, 320x176 (vídeos em formato wide)
3) Real Player, 320x240 (vídeos no formato 4:3)
4) Real Player, 320x176 (vídeos em formato wide)
(Responda 1, 2, 3 ou 4, ou qualquer outra tecla para sair)'
read resposta

No final deste trecho, teríamos a variável "resposta", que armazenaria um número de 1 a 4.


Precisamos agora fazer com que o script decida o que fazer de acordo com a resposta.

O jeito mais simples de fazer isso seria simplesmente colocar um bloco com 4 comandos "if" (se), um
para cada possibilidade. Cada "if" é sempre acompanhado por um "then" (então) e um "fi" (fim do se), como
em:

60
if [ "$resposta" = "1" ]; then
[comandos ...]
fi
if [ "$resposta" = "2" ]; then
[comandos ...]
fi
if [ "$resposta" = "3" ]; then
[comandos ...]
fi
if [ "$resposta" = "4" ]; then
[comandos ...]
fi

Uma forma mais elegante (e mais à prova de falhas), seria usar o "elif" (que poderia ser traduzido para
"senão se") e o "else" (senão), como em:

if [ "$resposta" = "1" ]; then


[comandos ...]
elif [ "$resposta" = "2" ]; then
[comandos ...]
elif [ "$resposta" = "3" ]; then
[comandos ...]
elif [ "$resposta" = "4" ]; then
[comandos ...]
else
echo "Você digitou uma opção inválida. O script termina aqui."
fi

Como pode ver, ao usar o elif você não precisa mais incluir um "fi" para cada possibilidade. Outra
vantagem é que você pode agora incluir um "else" no final, que faz com que o script responda com uma
mensagem de erro ao receber alguma resposta que não estava esperando. Dentro de cada uma das condições,
você incluiria um bloco de comandos destinado a gerar os arquivos convertidos com os parâmetros
correspondentes, como em:

if [ "$resposta" = "1" ]; then


for i in *; do
mencoder -oac mp3lame -lameopts cbr:br=128 -ovc lavc -lavcopts \
vcodec=mpeg4:vbitrate=512 -ofps 16 -vf scale=320:176 -o "c-$i" "$i"
done

elif [ "$resposta" = "2" ]; then


[o resto do script...]

Esse comando gigante que se esparrama pela terceira e a quarta linha é um comando de conversão do
mencoder (um pequeno utilitário de conversão de arquivos de mídia em modo texto, que é bastante flexível),
que gera um arquivo de vídeo otimizado para ser assistido em smartphones. Esse é o tipo de comando que é
longo demais para ser escrito manualmente, mas que pode perfeitamente ser usado através de um script.

Veja que a variável "i" é usada no final da quarta linha, para indicar o nome do arquivo. O "c-$i" "$i"
faz com que o script adicione o prefixo "c-" no nome dos arquivos convertidos, permitindo que eles sejam
incluídos na pasta sem apagar os arquivos originais.

O comando do mencoder é colocado dentro de outra condicional, agora usando o "for" (enquanto),
que permite que o script execute um conjunto de comandos repetidamente.

No exemplo, ele é usado para fazer com que o comando de conversão do mencoder seja executado
uma vez para cada arquivo dentro da pasta. Ao ser executado, a variável "i" (poderia ser qualquer outro
nome) recebe o nome do primeiro arquivo, o que faz com que ele seja convertido.

Ao chegar no "done", o interpretador volta à linha inicial e a variável "i" recebe agora o nome do
segundo arquivo. O processo é então repetido para cada um dos arquivos da pasta, até o último (a lista dos
arquivos a converter é gerada pelo interpretador no início do script, por isso não existe o risco do conversor

61
ficar em loop). O "for i in *; do" poderia ser traduzido como "para cada arquivo dentro da pasta atual,
execute".

Você pode baixar o script pronto, incluindo os comandos de conversão no:


http://www.hardware.com.br/dicas/converter-video.html

Outro exemplo de uso para o "for" seria baixar uma lista de arquivos ISO especificada em um arquivo
de texto. Imagine que você goste de testar novas distribuições e, de vez em quando, queira deixar o PC ligado
durante a madrugada colocando os downloads em dia. Você poderia facilitar as coisas usando um script
como:

#!/bin/sh
echo "Digite a taxa máxima de download, em kbytes. ex: 48"
read taxa

for i in `cat /home/$USER/downloads.txt`; do


wget -c --limit-rate=$taxa $i
done

Para usá-lo, você precisaria apenas criar um arquivo "downloads.txt" dentro do seu diretório home,
colocando os links de download dos ISOs das distribuições, um por linha, como em:

http://ftp.heanet.ie/pub/linuxmint.com/stable/6/LinuxMint-6.iso
ftp://ftp.nluug.nl/pub/os/Linux/distr/dreamlinux/stable/DL3.5_20092802.iso
http://sidux.c3sl.ufpr.br/release/sidux-2009-01-ouranos-kde-lite-i386.iso

Ao executar o script, ele começaria perguntando a taxa máxima de download (com a resposta sendo
armazenada na variável "taxa"), leria o arquivo e baixaria os arquivos listados para o diretório atual. A linha do
wget inclui duas variáveis: a taxa de download e o arquivo a baixar. Por causa do "for", o comando é repetido
para cada um dos links listados no arquivo, fazendo com que eles sejam baixados um de cada vez.

Embora simples, este script introduz algumas idéias novas. A primeira é o uso das crases (``), que
permitem usar o resultado de um comando. Graças a elas, podemos usar o "cat" para ler o arquivo de texto e
assim fazer com que o script carregue as URLs dentro da variável "i", uma de cada vez.

Outra novidade é o uso do "/home/$USER", uma variável de sistema que contém sempre o diretório
home do usuário que executou o script. Isso faz com que o script procure pelo arquivo "downloads.txt"
dentro do seu diretório home, e não em uma localização específica.

Uma prática um pouco mais avançada é o uso de funções. Elas permitem que você crie blocos de
código destinados a executarem tarefas específicas que podem ser usados ao longo do script. Em outras
palavras, as funções são pequenos scripts dentro do script.

A grande vantagem de criar funções (em vez de simplesmente repetir os comandos quando precisar) é
que, ao atualizar o script, você precisa alterar apenas um bloco de comandos, em vez de precisar procurar e
alterar os comandos manuais em vários pontos do script. Por permitirem reaproveitar o código, as funções
fazem com que o script seja mais organizado e fique com menos linhas, o que facilita muito a manutenção em
scripts complexos.

Imagine, por exemplo, que você precisa repetir uma mesma mensagem de erro várias vezes ao longo
do script. Você poderia usar uma função como esta:

msgerro()
{
echo "Algo deu errado durante a conexão. O erro foi:"
echo "$msg"
}

Veja que a função começa com uma declaração ("msgerro()"), onde você especifica um nome e
adiciona o "()", que faz com que o sistema entenda que se trata de uma função e não de um outro bloco de
comandos qualquer. Os comandos são, em seguida, colocados dentro de um par de chaves ( { .... } ), que

62
indicam o início e o final. A partir daí, você pode executar os comandos dentro do script chamando o nome
da função (msgerro), como se fosse um comando qualquer.

Um exemplo é o script para conectar usando modems e smartphones 3G que escrevi em 2008, que
está disponível no: http://www.hardware.com.br/dicas/script-vivo-zap.html

Ele prevê o uso de diversos tipos de conexão e inclui várias funções de checagem e solução de
problemas (que são usadas repetidamente ao longo do script), por isso ele é bastante longo e complexo, com
quase 900 linhas. Se tiver curiosidade em acessar o tópico e olhar o código, vai ver que crio diversas funções
no início do script (a "bpairing()" contém os comandos para fazer o pareamento com smartphones e conectar
via Bluetooth, enquanto a "checaporta()" verifica em que porta o modem ou smartphone está conectado, por
exemplo) que são usadas ao longo do script.

Outra necessidade comum é salvar parâmetros e configurações, evitando que o script precise
perguntar tudo novamente cada vez que for executado. Uma forma simples de implementar isso é fazer com
que o script salve as variáveis com as configurações usadas em arquivo de texto (é geralmente usado um
arquivo oculto dentro do diretório home), como em:

echo "tel=\"$tel\"" > /home/$USER/.myscript


echo "porta=\"$porta\"" >> /home/$USER/.myscript

Esses comandos criariam o arquivo ".myscript" dentro do diretório home do usuário que executou o
script. Graças ao uso do ponto, ele se torna um arquivo oculto, assim como os demais arquivos de
configuração do sistema.

O arquivo de configuração pode ser carregado dentro do script com um ". /home/$USER/.myscript"
(ou seja, ponto, espaço e a localização do arquivo), o que faz com que o interpretador processe os comandos
dentro do arquivo como se fossem parte do script principal.

Um exemplo de uso seria uma versão aperfeiçoada do script para ativar mouses Bluetooth que mostrei
a pouco, que perguntasse o endereço do mouse da primeira vez que fosse executado e passasse a usar a
configuração salva daí em diante:

#!/bin/sh

if [ -e "/home/$USER/.btmouse" ]; then
echo "Carregando configuração salva no arquivo /home/$USER/.btmouse."
. /home/$USER/.btmouse
else
# Se o arquivo não existir, pergunta o endereço e salva a configuração.
echo "Digite o endereço do mouse que será usado (ex: 00:07:61:62:cb:bb):"
read addr
echo "addr=\"$addr\"" > /home/$USER/.btmouse
fi

# Mensagem explicativa:
echo "Conectando a $addr"
echo "Delete o arquivo /home/$USER/.btmouse para trocar o endereço."

# O script propriamente dito:


hciconfig hci0 down
/etc/init.d/bluetooth restart
hciconfig hci0 up
hidd --connect $addr

Embora estes exemplos utilizem apenas perguntas simples, em texto, os shell-scripts podem também
exibir janelas, avisos, perguntas e menus de seleção gráficos de maneira muito simples, utilizando o Xdialog,
Kdialog ou o Zenity, que permitem mostrar janelas gráficas de forma surpreendentemente fácil.

Para mostrar uma mensagem de texto, por exemplo, você usaria o "zenity --info --text" seguido da
mensagem a mostrar, como em:

63
zenity --info --text "Conexão ativa."

Para abrir uma janela de seleção de arquivo, você usaria o "zenity --file-selection", que exibe uma
janela similar à do gerenciador de arquivos, permitindo escolher o arquivo que será usado.

Normalmente, a localização do arquivo seria simplesmente escrita no terminal. Para que ela seja
armazenada em uma variável (permitindo que você a use posteriormente ao longo do script), você usaria:

arquivo=`zenity --file-selection --title "Escolha o arquivo"`

Estes dois comandos simples poderiam ser usados para criar um aplicativo rudimentar de gravação de
CDs, veja só:

#!/bin/sh

zenity --info --text "Coloque uma mídia virgem no drive"


iso=`zenity --file-selection --title "Escolha o arquivo ISO para gravar:"`
wodim dev=/dev/scd0 speed=16 -dao -eject -v $iso

Quando executado, o script mostraria as duas janelas e gravaria o arquivo ISO selecionado usado o
wodim, que é um aplicativo de gravação de CDs via linha de comando, usado por diversos outros aplicativos.
Quando você queima um CD usando o Brasero ou o K3B, é o wodim quem faz o trabalho pesado, assim
como no caso do nosso script:

Graças à opção "-eject" adicionada à linha de gravação, o script ejeta a mídia depois de gravada, o que
torna desnecessário incluir mais uma janela avisando que a gravação foi concluída. O wodim suporta diversas
outras opções de gravação (que você pode consultar no "man wodim"), que poderiam ser usadas para
aperfeiçoar o script. Você precisaria apenas incluir algumas perguntas adicionais, salvar as respostas em
variáveis e incluí-las na linha de gravação.

64
Concluindo essa breve introdução, dois outros comandos fundamentais em se tratando de shell-scripts
são o pipe e o grep. Aqui vai uma explicação resumida sobre eles:

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. Um exemplo simples é o "modprobe -l | more", que vimos no tópico sobre o
kernel, onde o pipe é usado para que a enorme lista gerada pelo comando "modprobe -l" seja enviada ao
"more", que se encarrega de criar as quebras de página.

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 é frequentemente 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 o "| 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.

Em um script, o mesmo comando poderia ser usado para detectar se o módulo está carregado ou não
e, a partir daí, mostrar uma mensagem na tela, ou carregá-lo automaticamente.

Ao longo do livro, veremos mais alguns exemplos de uso do shell-script, esta foi apenas uma
introdução rápida destinada a apresentar alguns dos conceitos básicos. Uma característica importante do
shell-script é que assim que você toma coragem e começa a escrever alguns scripts básicos, você acaba se
empolgando e passa a, gradualmente, incorporar novos truques, aprendendo uma coisa aqui e outra ali,
mesmo sem estudar especificamente sobre o assunto.

Montando e desmontando

Antigamente, existia a concorrência entre HDs IDE (que eram vistos no Linux como /dev/hdX) e
HDs SCSI, vistos pelo sistema como "/dev/sdX". O primeiro HD IDE seria detectado pelo sistema como
"/dev/hda", o segundo como "/dev/hdb" e assim por diante. Entretanto, mudanças feitas nas versões
recentes do kernel derrubaram essa divisão, fazendo com que todos os HDs, independentemente de serem
IDE ou SATA, passassem a ser vistos pelo sistema como "/dev/sdX", como se fossem HDs SCSI. O HD
principal passou então a ser sempre visto como "/dev/sda".

Isso inclui até mesmo os pendrives, que são detectados pelo sistema como se fossem HDs adicionais.
Ao plugar dois pendrives, o primeiro seria reconhecido como "/dev/sdb" e o segundo como "/dev/sdc".

Antes de instalar qualquer sistema operacional, é necessário particionar o HD, criando as partições de
instalação. Devido a uma limitação nos endereços que vem desde a época dos primeiros PCs, é possível criar
apenas 4 partições primárias, ou até três partições primárias e uma partição estendida, que pode ser usada para
criar mais partições.

Neste screenshot do Gparted, por exemplo, temos um HD dividido em 5 partições: /dev/sda1 (com
uma instalação do Windows), /dev/sda2 (com uma instalação do Ubuntu), /dev/sda3 (reservada à instalação
de mais uma distribuição), /dev/sda5 (swap) e /dev/sda6 (para arquivos).

A "/dev/sda4" é a partição estendida, que é criada automaticamente pelo particionador quando você
usa a opção de criar uma partição lógica, como uma espécie de "container" para as demais partições. Você
pode notar que o tamanho especificado pelo particionador é o das duas partições somadas:

65
Embora não seja obrigatória em micros com um volume suficiente de memória RAM, a partição swap
é sempre recomendada, pois permite que o sistema disponha de uma área adicional para situações em que
precisa de uma quantidade muito grande de memória RAM, como (por exemplo) ao editar vídeos. A memória
swap pode ser usada também para mover arquivos e bibliotecas que não estão em uso, liberando mais
memória RAM para uso dos programas e do cache de disco.

A propensão do sistema a utilizar memória swap é configurável através de uma opção do kernel, a
"vm.swappiness", que aceita valores de 0 a 100, sendo que um valor baixo orienta o sistema a usar swap
apenas quando não houver mais memória disponível e um valor mais alto faz com que o sistema a utilize de
maneira mais liberal, usando mais swap e tentando manter mais memória RAM livre para outros usos.

O default na maioria das distribuições é "60", o que faz com que o sistema use um pouco de swap
mesmo quando tem memória de sobra disponível. Você pode evitar isso alterando o valor para "20" (ou
menos, de acordo com o gosto do freguês).

Para isso, execute, como root, o comando:

# sysctl vm.swappiness=20

Para que a alteração se torne permanente, edite o arquivo "/etc/sysctl.conf" e adicione a linha
"vm.swappiness=20". Este arquivo contém variáveis para o kernel, que são carregadas durante o boot. Ele
pode ser usado também para salvar outras configurações, como, por exemplo, as opções para ativar o
roteamento de pacotes, que são usadas ao compartilhar a conexão.

66
Você pode ativar uma imagem de memória swap temporária criando um arquivo com a
capacidade desejada e montando-o como se fosse uma partição de memória swap. O
desempenho será mais baixo do que ao usar uma partição swap real, mas ainda assim é um bom
truque, que você pode usar em emergências.

O primeiro passo é criar o arquivo vazio, usando o comando dd, especificando o tamanho, em
kbytes. No exemplo, estou criando um arquivo com 512 MB:

# dd if=/dev/zero of=swap.img bs=1024 count=512000

Ele simplesmente escreverá zeros dentro do arquivo "swap.img" (criado dentro do diretório
atual), até atingir o tamanho indicado. Apesar de simples, o dd é um comando bastante poderoso,
que pode ser usado para clonar HDs, destruir dados em partições e assim por diante, por isso tome
sempre muito cuidado ao usá-lo.

Com o arquivo criado, use o comando "mkswap" para formatá-lo e em seguida o "swapon"
para que ele seja ativado:

# mkswap swap.img
# swapon swap.img

Rodando o comando "free", você verá que o total de memória swap terá aumentando, já que
o arquivo passa a ser usado como um swap complementar. O arquivo temporário é desativado
automaticamente ao reiniciar o micro, mas você pode fazê-lo a qualquer momento usando (dentro
do diretório onde foi criado o arquivo) o comando "swapoff swap.img".

Voltando à questão das partições, o sistema nunca acessa os dados dentro da partição diretamente. Ao
invés disso, ele permite que você "monte" a partição em uma determinada pasta e acesse os arquivos dentro
da partição através dela, o que nos leva ao comando "mount".

A sintaxe básica inclui o dispositivo e a pasta onde ele será acessado, como em:

# mount /dev/sdb1 /mnt/sdb1

Na hora de desmontar a partição, você pode especificar tanto o dispositivo, quando a pasta onde ele
foi montado, como em:

# umount /mnt/sdb1

No caso do CD-ROM, citamos apenas o dispositivo, sem incluir a partição (já que, diferente de um
HD, um CD-ROM não pode ser particionado). Você pode tanto usar o dispositivo correto, como
"/dev/hdc" ou "/dev/hdd", quanto usar o "/dev/cdrom", um link que é criado pelo sistema apontando para
a localização correta:

# 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 remover o dispositivo. 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 acessá-los
depois, perceberem que os arquivos simplesmente não foram gravados.

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 do sistema,
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 /dev/sdb1" (por exemplo), sem precisar usar o comando completo.

Uma dúvida comum é a mensagem "device is busy", que é muitas vezes exibida ao tentar desmontar
um pendrive, ejetar um CD-ROM ou desmontar uma partição de arquivos do HD, como em:

67
# umount /mnt/sdb1

umount: /: device is busy.

Este erro acontece sempre que existe algum programa acessando a partição como, por exemplo, uma
janela do gerenciador de arquivos, um player de áudio tocando músicas salvas dentro dela, ou mesmo uma
janela de terminal acessando a pasta.

Você pode descobrir o culpado usando o comando "lsof", que lista os programas que estão acessando
a pasta e impedindo a desmontagem. Você pode chamá-lo tanto especificando a partição, como em
"/dev/sdb1", quanto especificando a pasta onde ela está montada, como em:

$ lsof /mnt/sdb1

Na primeira coluna da lista, você encontra o nome dos programas e na segunda coluna, o PID, que é
o número do processo, que pode ser usado como último recurso para fechar o programa "na marra", usando
o comando "kill -9".

Outra opção é usar o comando "fuser -k", que tenta finalizar à força todos os programas que
estiverem acessando a pasta. Ele não é muito recomendável, pois os resultados são mais imprevisíveis, mas
ele pode ser usado em emergências quando, por exemplo, você não consegue ejetar o CD-ROM por que o
sistema se recusa a desmontá-lo. Basta especificar a pasta, como em:

$ fuser -k /media/cdrom

Embora continuem sendo importantes e bastante úteis na hora de solucionar problemas ou criar
configurações personalizadas, os comandos manuais são cada vez menos usados no dia a dia, devido aos
sistemas de montagem automática utilizados nas distribuições.

O princípio é simples: o kernel detecta automaticamente quando novos dispositivos de


armazenamento são conectados, criando os dispositivos de acesso e gerando mensagens que disparam a
criação de ícones no desktop e outras funções. Ao plugar uma câmera digital em modo de transferência de
dados, por exemplo, são inseridas mensagens como estas no log do sistema (que você pode ver usando o
comando "dmesg"):

[254728.281982] scsi 8:0:0:0: Direct-Access Sony Sony DSC 6.00 PQ: 0 ANSI: 0 CCS
[254728.286070] sd 8:0:0:0: [sdb] 3973120 512-byte hardware sectors (2034 MB)
[254728.287330] sd 8:0:0:0: [sdb] Write Protect is off
[254728.287336] sd 8:0:0:0: [sdb] Mode Sense: 00 00 00 00
[254728.287342] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[254728.298707] sd 8:0:0:0: [sdb] 3973120 512-byte hardware sectors (2034 MB)
[254728.299830] sd 8:0:0:0: [sdb] Write Protect is off
[254728.299836] sd 8:0:0:0: [sdb] Mode Sense: 00 00 00 00
[254728.299840] sd 8:0:0:0: [sdb] Assuming drive cache: write through
[254728.299850] sdb: sdb1

Pelas mensagens, é possível descobrir que foi plugada uma câmera digital da Sony, com um cartão de
memória de 2 GB com uma única partição de dados, que foi detectada pelo sistema como "/dev/sdb1".
Juntamente com a geração das mensagens, o kernel cria uma pasta dentro do diretório /sys
("/sys/block/sdb/sdb1 " no exemplo), contendo mais informações sobre o dispositivo.

Naturalmente, essas informações não interessam muito ao usuário, que está apenas querendo acessar
as fotos, e não ver detalhes sobre o número de blocos do cartão ou sobre os endereços usados. Entram em
cena então sistemas de detecção, que monitoram estas informações e executam as ações apropriadas.

Em distribuições antigas o trabalho era feito através de shell-scripts, mas nas atuais entra em cena o
HAL (Hardware Abstraction Layer), um serviço de sistema que se encarrega de fazer o "trabalho sujo",
monitorando as informações disponibilizadas pelo kernel (e não mais simplesmente monitorando os arquivos
de log) e transmitindo as informações para os aplicativos.

68
Ele é representado pelo serviço "hald" (que fica ativo por padrão na maior parte das distribuições
atuais) e trabalha em conjunto com o serviço "dbus", que controla a comunicação entre ele e os aplicativos.
Caso esteja curioso, as informações coletadas por ele podem ser exibidas usando o comando "lshal", que
exibe a longa lista de informações que é monitorada pelos aplicativos.

Se você rodar o comando "ps aux | grep hald" em uma distribuição atual, vai perceber que existem
várias ramificações do hald, responsáveis por monitorar diferentes dispositivos da máquina. O "pooling
/dev/sdb (every 2 sec)" no screenshot, por exemplo, indica que ele está monitorando o dispositivo da
câmera, realizando checagens a cada dois segundos:

O HAL é integrado a componentes do GNOME e do KDE, que se encarregam de mostrar


mensagens quando novos dispositivos são plugados e executar outras funções. Ao plugar uma câmera digital,
por exemplo, a presença de arquivos de imagem faz com que o utilitário ofereça a opção de abrí-las
diretamente com um gerenciador de fotos, em vez de simplesmente mostrar os arquivos:

No caso dos cartões de memória, pendrives e outros dispositivos de armazenamento removíveis, as


partições são montadas automaticamente em pastas dentro do diretório "/media" e (na maioria das
distribuições) é criado um ícone no desktop, acompanhado pela abertura de uma janela do gerenciador de
arquivos. Ao clicar com o botão direito sobre o ícone, você tem a opção de desmontar a partição.

69
As partições são montadas de forma automática conforme você clica sobre os ícones, sem que você
precise fornecer a senha de root. O HAL se encarrega de ajustar as permissões de acesso, de forma que os
arquivos fiquem disponíveis apenas para o seu login (os parâmetros são detalhados no arquivo "/media/.hal-
mtab"). Este sistema permite também manter a segurança em servidores de terminais e outros sistemas
usados por diversos usuários simultaneamente.

Você vai notar ainda que as entradas referentes às partições de dispositivos removíveis não são mais
inseridas no fstab, uma vez que a montagem e a desmontagem é feita diretamente pelo HAL.

Além de ser responsável pelo acesso a dados em dispositivos removíveis, o HAL é utilizado
em diversas outras funções do sistema. É ele o responsável por detectar quando um cabo de
rede é plugado e transmitir a informação ao NetworkManager, para que ele possa ativar a rede
automaticamente, ou por fornecer as informações sobre o hardware da máquina para que o
gerenciador de drivers restritos do Ubuntu possa instalar os módulos necessários, por exemplo.

Outro sistema que permite que as partições sejam montadas e desmontadas sem que você precise
fornecer a senha de root é o "fuse", um módulo do kernel que permite fazer uma montagem "particular". Ele
é usado por diversos aplicativos, entre eles o sshfs, que é usado para montar pastas em servidores remotos via
SSH.

Concluindo, de vez em quando (sobretudo em máquinas com vários HDs ou com um HD dividido
em várias partições de dados), você vai notar que o boot demora bem mais do que o normal. Se você
desativar o splash (para ter acesso às mensagens exibidas no terminal), verá que a demora é causada por
mensagens como esta:

/dev/sdb1 has been mounted 60 times without being checked, check forced.

Ela ocorre devido a uma precaução do sistema contra a possibilidade de perda de arquivos devido a
problemas na estrutura da partição. Todos os sistemas de arquivos atuais utilizam um sistema de journaling,
que armazena uma lista das alterações feitas. Sempre que a partição é montada, o sistema verifica o journal,
concluindo qualquer operação pendente, um teste rápido que não é inteiramente à prova de falhas.

Para evitar a possibilidade de que pequenos problemas na estrutura da partição se acumulem até se
tornarem um problema maior, o sistema executa um teste mais demorado periodicamente, sempre que a
partição é montada um determinado número de vezes. Como as partições são geralmente montadas durante o
boot, é nele que a demora se manifesta.

É possível aumentar ou mesmo desativar o contador (usando o comando "tune2fs"), mas isso não é
muito recomendável. O melhor nesse caso é ter paciência e simplesmente deixar o sistema fazer seu trabalho.

70
Usando o Gparted

O Gparted é uma espécie de particionador default no Linux. Ele vem pré-instalado em diversas
distribuições, incluindo o Ubuntu, onde fica disponível através do "Sistema > Administração > Editor de
Partições". Está disponível também o Gparted Live, um live-CD enxuto, destinado unicamente a rodar o
Gparted e assim oferecer uma ferramenta simples de particionamento do HD. Você pode baixá-lo no:
http://gparted.sourceforge.net/download.php

Por segurança, o Gparted se recusa a fazer modificações em partições que estão montadas, o que é um
problema ao rodá-lo a partir de uma instalação do sistema no HD, já que você não tem como fazer alterações
na partição de instalação ou na partição home. A solução é utilizá-lo a partir de um live-CD, onde você pode
editar as partições sem limitações.

Se o HD possuir uma partição swap, é bem provável que ela seja montada pelo live-CD
durante o boot e fique bloqueada no Gparted. Para solucionar isso, use (como root) o comando
"swapoff" seguido pela partição swap, como em:

# sudo swapoff /dev/sda5

De volta ao Gparted, clique no "Gparted > Atualizar Dispositivos" para que ele detecte a
alteração e desbloqueie a edição. O mesmo se aplica a pendrives e cartões de memória, que são
montados automaticamente quando plugados na maioria das distribuições atuais. É necessário
desmontar as partições antes que você consiga alterá-las no Gparted.

Assim como em outros particionadores, a interface é baseada em um "mapa" do HD, que mostra as
partições disponíveis e o espaço ocupado em cada uma; informação bastante útil na hora de redimensionar
partições. Clicando com o botão direito sobre a partição, você tem acesso ao menu de ações, que inclui as
opções para deletar a partição, reformatá-la em outro sistema de arquivos ou redimensioná-la.

Você pode usar o gparted para redimensionar a partição do Windows e liberar espaço para a criação
das partições Linux, que é, justamente, um dos usos mais comuns. 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.

71
Ele é capaz de redimensionar tanto partições FAT32 quanto NTFS e o processo é bastante seguro. A
única exigência é que, antes de redimensionar, você precisa desfragmentar a partição (reinicie e use o defrag
do próprio Windows) para que os dados fiquem agrupados no início da partição e o Gparted possa fazer seu
trabalho sem riscos. Caso a partição não esteja desfragmentada, ou contenha erros diversos, ele aborta a
operação para evitar qualquer possibilidade de perda de dados.

No Windows XP, o processo de redimensionamento é bastante tranquilo, com o sistema continuando


a iniciar normalmente depois da alteração. No Windows Vista, entretanto, a checagem de hardware executada
pelo sistema a cada boot dispara uma mensagem de erro no boot seguinte, reclamando que a inicialização do
sistema falhou e que uma mudança no hardware da máquina pode ser a causa.

Para resolver o problema, é necessário recuperar o sistema usando o DVD de instalação. Dê um boot
normal, como se fosse reinstalar o sistema e, depois da seleção de linguagem, use a opção "Reparar o
computador". Isso faz com que ele verifique a partição e faça as atualizações necessárias. A partir daí, basta
clicar no "Reparar e reiniciar".

Continuando, você notará que, na maioria dos casos, algumas das opções de sistemas de arquivos
ficam desativadas no menu. Isso acontece por que o Gparted é, na verdade, uma interface gráfica para vários
aplicativos de modo texto, que fazem o trabalho pesado. Ele precisa do pacote "ntfsprogs" para manipular
partições NTFS, do "reiserfsprogs" para manipular partições ReiserFS e assim por diante. Ao ser aberto, ele
verifica quais são os sistemas de arquivos suportados pelo sistema e desativa os demais:

72
Ao criar novas partições, você tem a opção de criar uma partição primária ou uma partição lógica.
Como comentei anteriormente, a regra básica é que você pode ter apenas 4 partições primárias, ou até 3
partições primárias e mais uma partição estendida, contendo várias partições lógicas.

O mais comum é criar uma partição para a instalação do sistema no início do HD, seguida pela
partição swap e pela partição home (ou outras partições destinadas a armazenarem arquivos).

No caso do Linux, não faz muita diferença se o sistema é instalado em uma partição primária ou em
uma partição lógica, mas ao instalar o Windows em dual-boot, é sempre importante instalá-lo em uma
partição logo no início do HD (caso contrário ele atribuirá letras às partições Linux no início do HD, criando
problemas na instalação de diversos programas, que esperam que o Windows esteja instalado no C:\).

As alterações não são feitas automaticamente. Depois de revisar tudo, clique no "Aplicar" para que as
modificações sejam aplicadas. Clicando no "Detalhes", você pode acompanhar os passos que estão sendo
executados.

Outra dica é que você pode "limpar" a MBR de pendrives e HDs, eliminando todas as partições e
qualquer gerenciador de boot instalado anteriormente, limpando os primeiros 512 bytes do dispositivo, que
correspondem ao MBR. Isso pode ser feito rapidamente usando o comando dd, como em:

# dd if=/dev/zero of=/dev/sdd bs=512 count=1

Esse comando faz com que o dd escreva, cirurgicamente, 512 bytes no primeiro setor do dispositivo
indicado, limpando o setor de boot e a tabela de partições.

É preciso tomar extremo cuidado ao usar este comando, pois se usado no seu HD de trabalho, você
vai simplesmente apagar todas as partições. Cheque e recheque qual é o device correto da unidade que deseja
limpar antes de executar o comando.

É possível também remover apenas o gerenciador de boot (em casos em que você
instalou o sistema em um pendrive e agora não consegue se livrar da cópia do grub instalada nele,
por exemplo), limpando apenas os primeiros 446 bytes. Nesse caso, é preservada a tabela de
particionamento, que é armazenada nos 66 bytes seguintes: dd if=/dev/zero of=/dev/sdd bs=446
count=1

Ao acessar o dispositivo no Gparted (após usar o comando), ele aparecerá como "espaço não
alocado". Para particioná-lo novamente e voltar a usá-lo, use a opção "Dispositivo > Criar Tabela de
Partição...", para que ele recrie a tabela de partições:

73
Outra dica é que, 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.

Concluindo, os sistemas de arquivos são sempre uma fonte comum de dúvidas, vamos então a um
resumo rápido sobre o tema:

FAT16: O FAT16 é um dos sistemas de arquivos mais simples ainda na ativa. Devido ao uso de
endereços de 16 bits, ele pode ser usado em partições de no máximo 2 GB. Devido à simplicidade, ele é
suportado por câmeras, mp3players, celulares e diversos outros tipos de dispositivos, daí o uso em cartões de
memória.

FAT32: É similar ao FAT16, mas usa endereços de 32 bits, o que permite o uso de partições maiores.
O FAT32 é uma espécie de mínimo múltiplo comum entre os sistemas de arquivos, pois as partições podem
ser acessadas sem dificuldades tanto no Windows quanto no Linux. Por outro lado, ele possui diversas
limitações, incluindo a ausência de suporte à permissões, enorme tendência à fragmentação e o limite de 4 GB
para o tamanho dos arquivos.

EXT2: Foi o primeiro sistema de arquivos a ser usado em larga escala no Linux. O grande defeito é
que ele não possui suporte a journaling, o que obriga o sistema a fazer uma demorada verificação cada vez
que o PC é desligado incorretamente, além de aumentar a possibilidade de perda de dados. É considerado
obsoleto e raramente usado hoje em dia.

EXT3: É o sucessor do EXT2 e o sistema de arquivos usado por padrão em praticamente todas as
distribuições Linux atuais. A principal diferença entre os dois é que o EXT3 suporta o uso de journaling, que
permite que o sistema de arquivos mantenha um relatório de todas as operações e possa ser recuperado muito
rapidamente em caso de pane, ou quando o PC é desligado no botão. Ele é também um dos sistemas de
arquivos mais rápidos e oferece uma boa segurança contra perda de dados.

ReiserFS: O ReiserFS foi o principal concorrente do EXT3 nos primeiros anos. Ele oferece uma boa
tolerância contra falhas, um bom desempenho e um bom gerenciamento de arquivos pequenos. O grande
problema é que o ReiserFS v3 (a versão usada na maioria das distribuições) não recebe grandes atualizações
há muitos anos e o desenvolvimento da versão 4 está paralisado. Isso faz com que ele não seja uma boa
opção hoje em dia.

NTFS: É o sistema de arquivos usado por padrão a partir do Windows XP. Ele oferece muitas
melhorias sobre o antigo FAT32 e suporta o uso de partições maiores. Até recentemente, não existia suporte
de escrita em partições NTFS no Linux, o que dificultava a vida de quem usava os dois sistemas em dual-
boot, mas isso foi solucionado com o NTFS-3G, que é usado por padrão na maioria das distribuições atuais.

XFS e JFS: Estes são dois sistemas de arquivos muito usados em servidores, que oferecem vantagens
sobre o EXT3 em algumas áreas. O XFS permite redimensionar partições sem desligar o sistema e oferece
um suporte aprimorado a quotas de disco, enquanto o JFS oferece um melhor desempenho em algumas
tarefas comuns em servidores, por exemplo. Entretanto, eles não são muito recomendáveis para uso em
desktops, onde o EXT3 é uma solução muito mais simples.

74
EXT4: É o sucessor do EXT3, que começou a ser usado a partir do início de 2009. Ele incorpora
diversas melhorias, incluindo um novo sistema de alocação de espaço, que reduz a fragmentação dos
arquivos, melhorias no desempenho e suporte a arquivos de até 16 terabytes (contra o máximo de 2 terabytes
do EXT3). É prudente aguardar até que ele comece a ser usado por default nas principais distribuições antes
de começar a usá-lo.

Linux-Swap: É a opção destinada a criar uma partição swap. Diferente do Windows, onde o swap é
feito em um arquivo, no Linux é usada um partição separada, que utiliza um sistema de arquivos otimizado
para a tarefa.

O X E AS INTERFACES

Outro componente base do sistema, usado em todas as distribuições, é o servidor gráfico, o famoso
"X". Antes do X, 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.

Diferentemente do que temos no Windows, onde a interface gráfica é um componente essencial do


sistema, no Linux o modo gráfico é uma camada independente. Temos um "servidor gráfico", o X, que provê
a infra-estrutura necessária. É ele que controla o acesso à placa de vídeo, lê as teclas digitadas no teclado e os
clicks do mouse, e oferece todos os recursos necessários para os programas criarem janelas e mostrarem
conteúdo na tela.

Se você chamar o X sozinho, a partir do modo texto (o que pode ser feito com o comando "X" ou "X
:2" caso você queira abrir uma segunda seção), você verá apenas uma tela cinza, com um X que representa o
cursor do mouse. Em outras palavras, o X é apenas uma base, ele sozinho não faz muita coisa:

Se você chamá-lo com o comando "xinit" ou "xinit -- :2", ele abrirá junto uma janela de terminal, que
poderá ser usada para abrir programas. Porém, ao abrir qualquer programa gráfico, você perceberá que algo
está estranho. A janela do programa é aberta, mas fica fixa na tela; você não tem como minimizá-la, alternar
para outra janela, nem nenhuma outra opção.

Isto acontece porque estas tarefas são controladas pelo gerenciador de janelas, que (em quase todas as
distribuições) não é carregado com o comando xinit. Chamando o X através do comando "startx", ou
configurando o sistema para carregar o X automaticamente durante a inicialização (que é o default em
praticamente todas as distribuições), finalmente carregamos o conjunto completo, com o X e um desktop
completo rodando sobre ele; um ambiente de trabalho mais produtivo:

75
Existem inúmeros gerenciadores de janelas diferentes para o Linux, uma lista que inclui o LXDE,
FluxBox, Window Maker, XFCE, Enlightenment e muitos outros. Depois deles, temos o KDE e o
GNOME, que se enquadram em uma categoria à parte: a dos ambientes desktop (desktop environment, ou
DE).

Em vez de se limitarem a serem apenas gerenciadores de janelas, eles incluem um enorme conjunto de
componentes e de aplicativos, desenvolvidos de forma a oferecerem um ambiente de trabalho consistente,
onde todos os aplicativos se comportam de forma similar, compartilham do mesmo tema visual, utilizam os
mesmos atalhos de teclado e assim por diante. Eles incluem também bibliotecas e ferramentas de
desenvolvimento, que oferecem um ambiente completo para quem desenvolve aplicativos.

O KDE segue uma abordagem mais configurável, oferecendo um grande volume de opções de
configuração e uma interface mais parecida com a do Windows. O GNOME, por outro lado, segue a linha do
Mac OS X, oferecendo um ambiente mais simples (porém não necessariamente mais leve), com menos
opções de configuração. A vantagem da abordagem do GNOME é que o ambiente é mais amigável para
novos usuários, mas, por outro lado, ele acaba desagradando muitos usuários antigos, que sentem falta de um
ambiente mais configurável, como no KDE.

A vantagem de ter dois ambientes diferentes é que você pode escolher qual usar, exercitando sua
liberdade de escolha. Nada impede também que você rode aplicativos do KDE (como o Konqueror e o K3B)
sobre o GNOME, ou vice-versa, utilizando os melhores componentes de cada ambiente.

O problema em misturar aplicativos é que seu ambiente de trabalho deixa de ser consistente, já que os
aplicativos do KDE utilizam um conjunto de configurações diferentes das do GNOME. Você acaba tendo
então que configurar os aplicativos das duas famílias de forma distinta, usando o kcontrol ou o Systemsettings
para ajustar as configurações dos aplicativos do KDE e o gnome-appearance-properties (e os demais
aplicativos do painel de preferencias do GNOME) para ajustar as configurações dos aplicativos do GNOME:

76
Configurações diferentes para os aplicativos do GNOME e do KDE

Existe ainda o problema do desempenho. 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 quase 10 segundos para
carregar no GNOME.

Essas dificuldades fazem com que a maioria das distribuições dêem preferência para um dos dois
ambientes, priorizando os aplicativos e ferramentas de configuração desenvolvidas para ele.

Isso explica por que o Ubuntu é centralizado em torno de aplicativos do GNOME, enquanto no
Kubuntu eles são substituídos por aplicativos similares da família do KDE, por exemplo. Isso acaba pesando
na escolha da distribuição: se você prefere o KDE, vai se sentir mais à vontade usando o Mandriva ou o
Kubuntu do que usando o Ubuntu ou o Fedora, por exemplo; e vice-versa.

Pesquisando sobre o KDE por aí, você encontrará referências a um problema relacionado à licença da
biblioteca Qt, que leva muitos a dizerem que o KDE "não é livre" até os dias de hoje. 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 (que já era
largamente utilizada em aplicativos 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 TrollTech resolveu
liberar a Qt sob a GPL em setembro de 2000, o que removeu este entrave inicial. Em 2009, a Qt foi
licenciada sob a LGPL, que é uma licença ainda mais liberal, que permite o uso também em aplicativos de
código fechado.

Assim como em outros casos, tanto o KDE quanto o GNOME passaram por muitas mudanças ao
longo de sua história. O KDE passou por 3 grandes transformações: do KDE 1 para o KDE 2, do KDE 2
para o KDE 3 e, mais recentemente, do KDE 3 para o KDE 4, que trouxe uma interface quase que
completamente redesenhada e um novo painel de controle. Por ser baseado em uma versão diferente da
biblioteca Qt, o KDE 4 trouxe também versões diferentes dos aplicativos, que precisaram ser portados.
Muitos dos aplicativos usados no KDE 3 foram abandonados no processo, sendo substituídos por outros.

O GNOME também passou por uma grande transformação com o lançamento do GNOME 2 em
2002, que marcou a migração da biblioteca GTK para a GTK2, uma versão atualizada que, embora mais
pesada, oferece bem mais funções. Assim como no caso do KDE 4, a migração resultou em grandes
mudanças na interface e nas opções de configuração. De lá pra cá, o GNOME passou a evoluir de maneira

77
gradual, mantendo um ambiente mais ou menos consistente entre as versões. Esta estabilidade foi um fator
que ajudou no crescimento e na popularização da interface.

Gerenciador de login

Antigamente, era muito comum dar boot em modo texto e deixar para abrir o X manualmente
rodando o comando "startx" apenas quando necessário, pois os PCs eram lentos e o X demorava para abrir.

Atualmente, o mais comum é usar um gerenciador de login, como o KDM (do KDE) ou o GDM (do
GNOME). O gerenciador de login tem a importante função de carregar o X, mostrar uma tela de login
gráfica e, a partir dela, carregar o ambiente gráfico. Quando o gerenciador de login é fechado (ou deixa de
funcionar por qualquer motivo), todo o ambiente gráfico deixa de funcionar, jogando-o de volta ao terminal
em texto.

O gerenciador de login é aberto como um serviço de sistema, da mesma forma que o Apache e outros
servidores. Você pode parar o KDM e assim fechar o modo gráfico usando o comando "/etc/init.d/kdm
stop" e reabri-lo a partir do modo texto com o comando "/etc/init.d/kdm start". No caso do GDM, são
usados os comandos "/etc/init.d/gdm stop" e "/etc/init.d/gdm start".

Como sempre, tudo é aberto através de um conjunto de scripts. O KDM guarda a base das
configurações no arquivo "/etc/kde3/kdm/kdmrc" (ou "/usr/share/config/kdm/kdmrc", dependendo da
distribuição) e coloca um conjunto de scripts de inicialização, um para cada interface instalada, dentro da
pasta "/usr/share/apps/kdm/sessions/".

A configuração do kdmrc permite as opções da tela de login, que vão desde opções cosméticas até a
opção de aceitar que outras máquinas da rede rodem aplicativos remotamente, via XDMCP. Ao fazer login, é
executado o script correspondente à interface escolhida. Ao usar o KDE, por exemplo, é executado o script
"/usr/share/apps/kdm/sessions/kde".

Até mesmo o comando startx é um script, que geralmente vai na pasta "/usr/X11R6/bin/". Você
pode alterá-lo para carregar o que quiser, mas normalmente ele carrega o gerenciador especificado no arquivo
.xinitrc, dentro da pasta home do usuário.

Naturalmente, tudo isso se aplica apenas a situações onde você quer alterar a configuração do sistema
manualmente. Você pode também alterar as configurações do KDM através do systemsettings, no "Avançado
> Gestor de Autenticação". No GNOME, você pode alterar as configurações do GDM usando o
"gdmsetup", disponível no "Sistema > Administração > Janela de início de sessão":

78
Ele permite ativar o login automático, liberar o login como root (o que não é aconselhável do ponto
de vista da segurança, mas acaba sendo uma questão de honra para alguns), alterar o aspecto visual ou mesmo
ativar o uso do XDMCP, que é o sistema de acesso remoto suportado nativamente pelo X. Embora tenha
caído em popularidade devido ao uso do SSH, ele é ainda bastante usado.

Em geral, as distribuições que utilizam o KDE como interface padrão usam o KDM,
enquanto as que utilizam o GNOME preferem o GDM. Isto tem a ver com o problema das
bibliotecas: ao carregar apenas um programa baseado nas bibliotecas do KDE dentro do GNOME
ou vice-versa, são carregadas todas as bibliotecas correspondentes, não há o que fazer. O programa
demora mais para abrir, e no final, o sistema acaba consumindo muito mais memória.

Xkill e processos

Embora o kernel Linux seja extremamente estável, a ponto de ser usado em sistemas de missão crítica,
o mesmo não se aplica, necessariamente, a todos os inúmeros aplicativos que usamos no dia a dia. Tanto o
GNOME quanto o KDE são plataformas bastante complexas, compostas por um número muito grande de
componentes que trocam informações entre si. Não é de se estranhar que, às vezes, algo dê errado.

Para complicar, o rápido desenvolvimento do sistema e a necessidade por novos aplicativos acabam
fazendo com que, muitas vezes, as distribuições tragam aplicativos ainda em estágio beta, ou que ainda não
estejam completamente estáveis, o que acaba resultando em travamentos ou em outros problemas diversos.

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, o "matador de programas" incluído no X.
Ele pode ser chamado pressionando "Ctrl+Alt+Esc", chamando o comando "xkill" usando o "Alt+F2" (que
abre a janela do "Executar aplicativo") ou diretamente através do terminal.

Ao ativar o xkill, o cursor do mouse vira um X (ou uma caveira, de acordo com a distribuição) e basta
clicar sobre a janela do aplicativo travado para encerrá-lo na marra:

79
O xkill simplesmente finaliza a primeira janela sobre a qual clicar, sem nenhuma confirmação
adicional, por isso é importante chamá-lo com a janela em vista. Você pode "desarmar" o xkill depois de
ativado, usando o botão direito do mouse.

Uma observação importante é que, por default, o Ubuntu (pelo menos até a versão 8.10) não oferece
um atalho de teclado para matar aplicativos travados usando o xkill, diferente de outras distribuições, onde é
usado o "Ctrl+Alt+Esc". Com isso, você acaba sendo obrigado a pressionar Alt+F2 e rodar o comando
"xkill" manualmente, o que não é muito prático.

Aplicativos travados são um problema que ocorre mesmo nas melhores famílias, por isso uma forma
rápida de acabar com eles acaba sendo importante. Vamos então à explicação de como recriar o atalho para o
xkill no Ubuntu, aproveitando para falar sobre a configuração de atalhos no GNOME.

A maneira tradicional de definir atalhos no GNOME é usar o "System > Preferências > Atalhos de
teclado", onde você pode especificar as teclas de atalho para um conjunto de ações pré-definidas:

O problema é que o atalho para o xkill não está disponível na lista, o que nos obriga a adotar o
procedimento manual.

Para isso, comece abrindo o "gconf-editor" usando o Alt+F2 (ou através do terminal). Dentro dele,
acesse o "/apps/metacity/keybinding_commands" e, no campo "command_1" especifique "/usr/bin/xkill",
que é o caminho completo para o comando:

Em seguida, acesse o "/apps/metacity/global_keybindings" e especifique o atalho de teclas que


acionará o comando, como em "<Ctrl>Escape" (Ctrl+Esc), "<Ctrl><Shift>K" (Ctrl+Shift+K) ou outro
atalho que preferir.

Como comentei anteriormente, o default é o "Ctrl+Alt+Esc", mas no GNOME o atalho já é usado


para alternar entre as janelas, por isso você vai primeiro precisar redefiní-lo se quiser dedicá-lo ao xkill):

80
Você pode usar essa mesma dica para definir atalhos para outros aplicativos, basta usar outros campos
disponíveis no "apps/metacity/keybinding_commands" para indicar o comando e, em seguida, especificar o
atalho de teclado no "apps/metacity/global_keybindings".

Voltando à questão dos aplicativos travados, em situações mais graves, onde o mouse parar de
responder e o ambiente gráfico ficar congelado, 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.

Outra opção é mudar para um dos terminais de texto puro, pressionando Ctrl+Alt+F1 (ou qualquer
outra das teclas F, até a F6) e finalizar o aplicativo que está bloqueando o ambiente gráfico. Se você sabe qual
é o culpado (ou pelo menos suspeita quem seja), pode finalizá-lo usando o comando "killall", como em "killall
totem" ou "killall firefox"

O problema com o killall é que, em muitos casos, o comando para fechar o programa não é o mesmo
que seu nome. Para os casos onde você não souber o nome correto 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
frequentemente é "ps x | more", que mostra todos os processos iniciados usando o seu login de usuário,
sempre dando uma pausa quando a lista encher a tela:

Na lista, os nomes dos aplicativos aparecem na coluna da direita. Veja que, em muitos casos, o mesmo
programa aparece várias vezes; seja porque você abriu várias instâncias, seja por ele realmente ser dividido em
vários processos diferentes. A boa notícia é que o killall se encarrega de acabar com todos.

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". Muitos aplicativos
aparecem na lista com nomes gigantes, de forma que é mais fácil fechá-los pelo número.

Em casos mais extremos, de aplicativos rebelados que não respondam ao chamado do killall ou do
kill, você pode resolver o problema adicionando um "-9" no comando, como em:

# kill -9 6340

81
A diferença entre o "kill" ou o "killall" e o "kill -9" é que no primeiro caso o sistema envia um "bilhete
azul" ao aplicativo, solicitando que ele desocupe o lugar. O "kill -9", por sua vez, é um comando que orienta o
sistema a fechar o aplicativo na marra, mandando os seguranças para removê-lo à força.

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.

Como em outros casos, você pode também acompanhar os aplicativos de uma maneira mais amigável
usando os monitores de sistema. 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.

No GNOME, está disponível o "Monitor de Sistema", que pode ser aberto através do "Sistema >
Administração", ou usando o comando "gnome-system-monitor". Além de mostrar os aplicativos ativos e
oferecer a opção de finalizá-los, ele inclui também informações sobre o uso do processador, uso de memória
e até mesmo sobre o espaço livre nas partições:

Outra opção importante é a "Alterar prioridade", que serve como uma interface para o comando
"nice", que permite ajustar o nível de prioridade do aplicativo em relação aos demais. Por default, todos os
aplicativos (com exceção de alguns componentes do sistema) utilizam o valor "0", o que os coloca todos no
mesmo nível.

Uma boa maneira de evitar que aplicativos que consumam muito processamento (como ao converter
vídeos) deixem o sistema lento, é simplesmente ajustar a opção, usando um valor mais alto, entre 5 e 10. Isso
faz com que o aplicativo seja mais bonzinho e passe a usar os ciclos ociosos de processamento, sem
atrapalhar os outros:

82
BOOT, SERVIÇOS E ARQUIVOS DE INICIALIZAÇÃO

Ao ligar o micro, o primeiro software que é carregado é o BIOS da placa-mãe. Ele faz a contagem da
memória RAM e realiza uma checagem rápida dos dispositivos instalados.

Depois de fazer seu trabalho, o BIOS carrega o sistema operacional, que pode ser carregado a partir
de diversas fontes, incluindo o HD, um CD-ROM ou DVD, um pendrive, ou até mesmo via rede (como é
feito no LTSP e em outros sistemas de terminais leves), respeitando a ordem definida na configuração do
Setup.

No caso dos HDs, é lido o primeiro setor do disco rígido, o famoso "Master Boot Record" ou MBR.
Nele é gravado o gerenciador de boot, que é o responsável pelo carregamento do sistema. É a presença dele
que permite que você instale mais de um sistema operacional no mesmo micro e possa escolher entre eles na
hora do boot.

No Linux, o gerenciador mais usado é o grub (com uma pequena participação do lilo), enquanto no
Windows, é usado o NTLDR. O MBR tem espaço para apenas um gerenciador de boot, por isso é preciso
prestar atenção na configuração ao instalar vários sistemas, já que, por default, cada sistema subscreve o
gerenciador de boot do anterior ao ser instalado.

Apesar de sua vital importância, o MBR engloba um único setor do HD, meros 512 bytes. Devido a
isso, ele é, na verdade, usado para armazenar apenas um bootstrap, um pequeno software que instrui o BIOS
a carregar o executável do gerenciador de boot em um ponto específico do HD.

O bootstrap do gerenciador de boot utiliza os primeiros 446 bytes do MBR. Os 66 bytes restantes são
usados para armazenar a tabela de partições, que guarda informações sobre onde cada partição começa e
termina. Programas de particionamento, como o cfdisk, nada mais fazem do que alterar as informações na
tabela de partições. Quando ela é perdida ou danificada (seja qual for o motivo), todas as partições
desaparecem e você precisa ir atrás de um programa de recuperação de dados.

O gerenciador de boot tem a função de carregar o kernel e, a partir dele, todo o restante do sistema.
Tanto o grub quando o lilo podem ser configurados para carregar também o Windows ou outros sistemas
instalados em dual-boot ou multi-boot. A maioria das distribuições atuais configuram isso automaticamente
durante a instalação.

Inicialmente, o kernel é um arquivo compactado e somente-leitura, o "/boot/vmlinuz". Logo no


início do boot, ele é descompactado em uma área reservada da memória RAM e roda a partir daí,
aproveitando o fato de que a memória RAM é muito mais rápida que o HD. Este executável principal do
kernel nunca é alterado durante o uso normal do sistema, ele muda apenas quando você recompila o kernel
manualmente ou instala uma nova versão.

Depois de carregado, a primeira coisa que o kernel faz é montar a partição raiz, onde o sistema está
instalado, inicialmente como somente-leitura. Neste estágio ele carrega o init, o software que inicia o boot
normal do sistema, lendo os scripts de inicialização e carregando os módulos e softwares especificados neles.
O arquivo de configuração do init é o "/etc/inittab". Ele é geralmente o primeiro arquivo de configuração
lido durante o boot.

Todas essas etapas são realizadas por scripts, localizados na pasta "/etc/init.d", que executam os
comandos apropriados para inicializar os serviços e executar as demais operações necessárias. Alguns deles
são executados apenas durante o boot (verificando alguma configuração, por exemplo), enquanto outros
inicializam serviços que ficam ativos continuamente.

Um bom exemplo é o cups, que é o serviço responsável pelo suporte a impressão. Ele é usado tanto
para imprimir em impressoras locais quando em impressoras de rede e é usado também quando você precisa
compartilhar a impressora com outras máquinas da rede. Ele vem instalado por padrão em quase todas as
distribuições e é controlado através do script "/etc/init.d/cups" (ou "/etc/init.d/cupsys", dependendo da
distribuição).

Se você quisesse desativá-lo temporariamente, por exemplo, usaria:

# /etc/init.d/cups stop

83
Para ativá-lo novamente depois, usaria:

# /etc/init.d/cups start

O mesmo se aplica a quase todos os outros serviços, como no caso do "samba" (responsável pelo
compartilhamento de arquivos), o "bluetooth" (responsável pelo suporte a transmissores Bluetooth) e assim
por diante. Eles são também chamados de "daemons", um termo usado em relação a serviços que ficam
ativos continuamente, executando alguma função.

O que determina se cada serviço vai ser ou não ativado durante o boot, não é o fato de estar ou não
instalado, mas sim, a presença de um link simbólico criado dentro de uma das pastas de inicialização do
sistema. Por padrão, são executados primeiro os links que estão dentro da pasta "/etc/rcS.d/" (que inclui os
serviços essenciais, executados logo no início do boot) e, em seguida, os links dentro da pasta "/etc/rc5.d/",
que inclui os demais serviços.

O número (5 no exemplo) indica o runlevel que será usado, que pode ser um valor de 1 a 5. Cada
runlevel corresponde a uma pasta, com um conjunto diferente de scripts de inicialização. Esta foi uma forma
encontrada pelas distribuições para ter vários "profiles", que podem ser usados de acordo com a situação.

A configuração mais comum é usar o runlevel 1 como um modo de recuperação, no qual apenas os
serviços essenciais para concluir o boot são carregados, sem ambiente gráfico e sem suporte a rede. Hoje em
dia, o runlevel 1 é pouco usado, pois é mais fácil corrigir problemas dando boot com um live-CD e
resolvendo os problemas através dele, mas a possibilidade continua disponível.

Em seguida temos o runlevel 3, onde quase todos os serviços são carregados, com exceção do
ambiente gráfico (este modo é muito usado em servidores). Finalmente, temos o runlevel 5, que corresponde
ao modo "normal", onde o ambiente gráfico é carregado, junto com todos os outros serviços. Como em
outros casos, existem variações; o Slackware, por exemplo, utiliza o runlevel 4 para carregamento do
ambiente gráfico, enquanto o Ubuntu usa um sistema completamente diferente.

Usando o runlevel 5, são carregados os scripts colocados dentro da pasta "/etc/rc5.d/", enquanto
que, usando o runlevel 3, são carregados os scripts dentro da pasta "/etc/rc3.d/". Nada impede que você
modifique a organização dos arquivos manualmente, de forma a fazer o X carregar também no runlevel 3, ou
qualquer outra coisa que quiser. São apenas pastas com scripts e links simbólicos e não uma caixa preta.

É possível executar praticamente qualquer tipo de comando ou programa nesta etapa, justamente por
isso os passos executados durante o boot mudam de distribuição para distribuição, de acordo com o que os
desenvolvedores consideram mais adequado. Uma distribuição que carregue mais serviços, pode oferecer
mais recursos e executar mais funções automaticamente, enquanto outra, que inicialize apenas os
componentes essenciais, pode consumir menos memória e oferecer um melhor desempenho em micros
antigos, por exemplo.

O Ubuntu inaugurou o uso de um novo sistema de inicialização, batizado de Upstart


(http://upstart.ubuntu.com/). Nele, o processo de inicialização é simplificado (embora também perca parte
da flexibilidade) e deixa de existir diferença entre os runlevels de 2 a 5, que passam a utilizar a mesma
configuração, carregando o ambiente gráfico por default, o que essencialmente elimina a diferenciação entre
os modos. Se você tiver a curiosidade de rodar o comando "runlevel", que mostra qual runlevel está sendo
usado, ele reportará:

$ runlevel

N2

Em outras distribuições, o runlevel 2 é configurado como um modo de recuperação, sem suporte a


rede nem ambiente gráfico, mas no Ubuntu ele é o nível padrão, onde são carregados todos os serviços. Se
você verificar a configuração dos modos 3, 4 e 5, vai perceber que a configuração é a mesma em todos eles.

Outro sintoma do uso do Upstart é que o arquivo "/etc/inittab" deixa de existir, dando lugar ao
"/etc/event.d/rc-default", que passa a ser o novo responsável por disparar o processo de inicialização do
sistema.

84
O utilitário padrão para a configuração dos serviços no Ubuntu é o services-admin, disponível no
"Sistema > Administração > Serviços":

O problema é que ele mostra apenas um conjunto de serviços considerados "opcionais", escondendo
diversos serviços que são considerados componentes essenciais do sistema, como por exemplo o cups.

Se você quiser ver a lista completa, pode dar uma olhada no conteúdo da pasta "/etc/rc2.d":

Naturalmente, você só deve se meter a desativar os serviços não listados no services-admin se souber
o que está fazendo, já que a maior parte deles são mesmo componentes importantes. Desativando o dbus,
por exemplo, boa parte das funções de detecção de hardware, juntamente com diversos programas que o
utilizam para trocar mensagens, deixam de funcionar.

Para desativar os serviços manualmente, use o comando "update-rc.d -f nome remove", como em:

# update-rc.d -f cups remove

Ele remove os links que apontarem para o serviço em todas as pastas de inicialização, fazendo com
que ele deixe de ser carregado durante o boot. Se você quiser desativar o serviço na hora, pode desativá-lo
usando o comando "/etc/init.d/nome stop", como em "/etc/init.d/cups stop".

Para reativar a inicialização do serviço posteriormente, use o comando "update-rc.d -f nome defaults",
como em:

# update-rc.d -f cups defaults

Ele recria os links simbólicos, restaurando a configuração original. Estes mesmos comandos podem
ser usados em outras distribuições derivadas do Debian. No caso do Mandriva e do Fedora, é usado o
comando "chkconfig", como em "chkconfig nome on" (ativa) e "chkconfig nome off" (desativa).

85
OPÇÕES PARA SOLUCIONAR PROBLEMAS

Em quase todas as distribuições, é possível especificar opções adicionais durante o boot. Estas opções
são repassadas diretamente ao kernel, alterando seu comportamento ou desativando recursos que podem
fazer com que o sistema trave durante o boot, ou que façam determinados componentes não serem
reconhecidos. No Ubuntu, por exemplo, você pode acessar a linha de opções para o kernel pressionando a
tecla F6 na tela de boot:

Você pode combinar várias opções, caso necessário, especificando de uma vez várias opções para
solucionar problemas comuns (acpi=off, noapic, nolapic, etc.) de maneira a tentar fazer a máquina terminar o
boot e, a partir daí, ir testando uma a uma para descobrir qual delas resolveu o problema.

Todas estas opções possuem efeitos colaterais, de forma que elas não servem para otimizar ou
melhorar o desempenho do sistema, são apenas uma forma de solucionar problemas em casos específicos.
Vamos então a uma lista das opções disponíveis, que você pode usar como fonte de consulta para quando
tiver problemas:

acpi=off: Esta opção desativa o ACPI, corrigindo problemas diversos de boot em muitas máquinas. O
ACPI é o responsável pelo monitoramento da carga da bateria, ajuste da frequência do processador e muitas
outras funções importantes, de maneira que você deve deixar para desativá-lo apenas em último caso.

acpi=noirq: Esta é uma versão mais light da opção "acpi=off", que ao invés de desativar
completamente a função, desativa apenas a atribuição dinâmica de endereços, que é a causa de uma grande
parte dos problemas relacionados ao ACPI.

Esta opção corrige problemas na detecção da placa de rede, placa de som e placa wireless em diversos
notebooks da Acer, Positivo e de outros fabricantes, além de problemas em diversas placas-mãe com chipset
SiS ou ATI, causados por bugs na atribuição de endereços por parte do BIOS.

Uma observação importante é que, embora corrija problemas em algumas placas e notebooks, esta
opção cria problemas de detecção de componentes e conflitos em outros, fazendo com que a placa wireless
ou periféricos USB não sejam detectados, por exemplo. Você deve usá-la apenas como forma de solucionar
problemas, nunca como uma opção de rotina.

noapic: O APIC é um recurso usado nos micros modernos para atribuir endereços de IRQ, evitando
conflitos entre os dispositivos. Entretanto, muitos PCs usam BIOS com bugs diversos, que atribuem os
endereços incorretamente. O resultado mais comum é que alguns periféricos não sejam detectados pelo
sistema, como nos misteriosos casos onde a placa de som ou a placa de rede não são detectados no Linux.
Usar esta opção soluciona o problema em muitas situações.

Note que, em muitos casos, a melhor forma de corrigir de forma definitiva este tipo de problema é
atualizar o BIOS da placa-mãe, já que uma versão corrigida pode solucionar o problema direto na fonte.

86
Muitos fabricantes, como a Gigabyte e a Asus, oferecem um bom suporte com relação a isso; vale a pena
verificar se não existe uma atualização disponível para sua placa.

Normalmente, o upgrade de BIOS é feito dando boot através de um disquete ou CD-ROM gravado
com uma imagem baixada na página do fabricante. Atualizar o BIOS é um procedimento potencialmente
perigoso, por isso não deixe de ler as instruções do fabricante e checar se o arquivo baixado é realmente para
a sua placa.

nolapic: O LAPIC (local APIC) é uma variação do APIC, que é usado em máquinas com
processadores dual-core ou quad-core. Assim como a "noapic", a opção "nolapic" é usada para solucionar
problemas relacionados ao boot ou à detecção de periféricos. Embora as duas possam ser usadas em
conjunto enquanto você está atirando para todos os lados, normalmente apenas uma delas é necessária.

nosmp: Em máquinas com processadores dual-core, esta opção desativa o segundo núcleo, o que
soluciona problemas de boot em muitas máquinas. Naturalmente, sem um dos núcleos o desempenho da
máquina será mais baixo, mas ela serve como uma solução temporária, até que você descubra uma solução
definitiva para o problema, que pode ser uma atualização de BIOS, uma nova versão do kernel, ou,
simplesmente, uma versão atualizada da distribuição em uso.

pci=biosirq: Esta é mais uma opção que resolve problemas de detecção da placa de rede ou som em
algumas máquinas. Ela faz com que o sistema siga a configuração de endereços definida pelo BIOS, em vez
de usar o procedimento normal de detecção.

pci=bios: Mais uma opção de compatibilidade, desta vez destinada a burlar problemas com a
controladora PCI da placa mãe. Embora raro, pode ser necessário usá-la para que o sistema consiga
completar o boot em alguns notebooks.

pnpbios=off: Desativa o suporte a plug-and-play por parte do BIOS da placa-mãe, deixando que o
Kernel se encarregue da detecção de todos os componentes. Esta é mais uma opção que resolve problemas
de compatibilidade em algumas placas.

irqpoll: Esta opção modifica a forma como o sistema detecta os dispositivos da máquina, corrigindo
uma série de problemas em PCs e notebooks recentes, sobretudo quando usados em conjunto com
distribuições antigas, anteriores a 2008.

Ela é necessária para a placa wireless funcionar em alguns notebooks Acer com placas Broadcom;
resolve problemas relacionados com a placa de som (ou com a placa de rede) em diversas configurações; e,
soluciona um problema relacionado à detecção de HDs SATA em placas baseadas no chipset K8T890 (como
a Asus A8V-E), entre outras. Esta opção causa poucos efeitos colaterais, se comparada com as demais.

reboot=b: Essa opção faz com que seja usada uma função alternativa para reiniciar o micro via
software, resolvendo alguns casos em que a máquina não reinicia sozinha ao usar o comando "reboot".

generic.all_generic_ide=1: Esta opção soluciona problemas de compatibilidade com as controladoras


IDE ou SATA de algumas placas-mãe, sobretudo nas placas com o infame chipset SiS 761GX/965L (ao usar
um HD SATA), como a PC-Chips K8 A31G. Esta opção deve ser usada em casos onde o sistema não
consegue detectar os HDs do micro (o que, além de impedir que você acesse os arquivos, impossibilita a
instalação). Ao usar a opção de boot, o sistema utiliza um modo de acesso genérico para os HDs, o que
soluciona o problema na maioria dos casos.

Esta opção causa uma redução significativa no desempenho do sistema, por isso só deve ser usada
quando realmente necessário. Uma peculiaridade é que ela faz o sistema detectar o HD SATA como
"/dev/hde" e não "/dev/sda", como seria usual. Apesar disso, a instalação do sistema ocorre de forma
normal. Outra dica é que, em algumas placas com chipset VIA, pode ser necessário combiná-la com a opção
"irqpoll", solucionando também um problema com a atribuição dos endereços.

Em distribuições com versões antigas do Kernel, a opção é escrita como "all-generic-ide" (com traços
em vez de underlines). Você encontrará referências também à "all_generic_ide", que é uma versão curta da
mesma opção.

87
CAPÍTULO 2: APROFUNDANDO OS ESTUDOS COM O SLACKWARE

As distribuições Linux são um bom exemplo da ação da lei de seleção natural. Novas distribuições
surgem praticamente a cada dia, mas poucas continuam ativas por mais do que alguns meses. O motivo é
bastante simples: qualquer um com conhecimentos técnicos suficientes pode criar uma nova distribuição,
tomando como base alguma já existente. Entretanto, apenas as que conseguem reunir um grupo
suficientemente grande de usuários e desenvolvedores, conseguem sobreviver a longo prazo.

Conforme o Linux passou a ser usado por cada vez mais pessoas e a atingir usuários com cada vez
menos conhecimentos técnicos, as distribuições foram se tornando também cada vez mais fáceis de usar,
atendendo ao público que quer apenas usar o micro, sem perder tempo configurando o sistema ou
resolvendo problemas. Desde que não exista nenhuma incompatibilidade com o hardware da máquina, ou
algum outro imprevisto, muitas distribuições praticamente se instalam sozinhas.

Entretanto, se você se deu ao trabalho de comprar este livro e lê-lo até aqui, é bem provável que esteja
interessado em se aprofundar e entender como o sistema funciona por baixo da superfície. É nesse ponto que
chegamos ao Slackware, que, justamente por ser uma das distribuições mais espartanas, abre brecha para falar
sobre muitos detalhes que passariam despercebidos por uma distribuição mais automatizada.

À primeira vista, o Slackware parece ser um sistema extremamente complicado. Ele é uma das poucas
distribuições Linux que ainda não possui instalador gráfico e toda a configuração do sistema é feita
manualmente, com a ajuda de alguns poucos scripts simples de configuração. Entretanto, o Slackware oferece
uma estrutura de arquivos de configuração e de pacotes muito mais simples que outras distribuições, o que o
torna ideal para entender mais profundamente como o sistema funciona.

Se as distribuições fossem carros, o Slackware seria o Fusca. Ele não possui nenhum dos confortos
encontrados em outros carros atuais, mas, em compensação, possui uma mecânica extremamente simples, o
que também o torna fácil de modificar e de consertar. É justamente por isso que o Slackware possui tantos
fãs, apesar da idade avançada. Ele é complicado na superfície, porém simples e confiável no interior.

Ele é também uma distribuição interessante para uso em PCs com poucos recursos, já que usa
configurações bastante otimizadas na compilação dos pacotes e mantém poucos serviços ativos por padrão.
Ele é uma das poucas distribuições que ainda podem ser utilizadas sem grandes percalços em micros com
apenas 128 MB de memória RAM, bastando para isso fazer algumas otimizações simples e utilizar um
ambiente gráfico leve, como o LXDE.

AS ORIGENS

O Slackware é o exemplo mais proeminente de "distribuição de um homem só". Ele foi desenvolvido
desde o início por uma única pessoa, Patrick Volkerding, que esporadicamente conta com a ajuda de outros
desenvolvedores. Ele se encarrega de testar e incluir novos pacotes, aperfeiçoar o instalador e outras
ferramentas e, periodicamente, lança uma nova versão incluindo todo o trabalho feito até então.

A primeira versão foi disponibilizada em julho de 1993 (época em que a instalação era ainda feita
usando disquetes :o) e novas versões vem sendo lançadas uma ou duas vezes por ano desde então. A versão
11.0 foi lançada em outubro de 2006, a 12.0 foi lançada em julho de 2007, a 12.1 em maio de 2008, 12.2 em
dezembro de 2008, a 13.0 em agosto de 2009, a 13.1 em maio de 2010 e a 13.37 em abril de 2011. A próxima
versão (provavelmente o 14.0), que enquanto escrevo forma o Slackware-current será lançada ao longo de
2012.

Uma curiosidade dentro da história do Slackware é que as versões 5 e 6 não existiram, já que a
numeração pulou do 4.0 (lançado em maio de 1999) para o 7.0 (outubro de 1999), para acompanhar os
números de versão usados no Red Hat Desktop (que era na época a distribuição mais popular), evitando
assim que o Slackware parecesse desatualizado.

Embora tenha uma estrutura interna relativamente simples, o Slackware intencionalmente conta com
poucas ferramentas de configuração, e por isso é considerado uma das distribuições mais difíceis, já que quase
tudo, desde as configurações mais básicas, precisa ser feito manualmente.

Ao contrário da maioria das distribuições atuais, o foco do desenvolvimento é manter o sistema fiel às
suas raízes, ao invés de tentar facilitar o uso automatizando funções. Mesmo a inclusão do suporte a HAL,
um recurso utilizado pelo KDE (e também pelo GNOME e outros ambientes gráficos) para mostrar janelas

88
de ação quando pendrives e outros dispositivos removíveis são inseridos, foi intencionalmente postergado
durante várias versões.

Em termos de configuração e detecção de componentes, o Slackware é uma espécie de "denominador


comum" entre as distribuições: ele inclui apenas as ferramentas mais básicas, o que permite que você trace
uma linha imaginária entre o que é detectado pelos serviços padrão do sistema e o que é automatizado por
ferramentas específicas incluídas em outras distribuições.

Pode parecer estranho começar abordando logo uma das distribuições mais difíceis. Minha ideia é
aproveitar o ânimo inicial para lhe mostrar a estrutura interna e a configuração manual do sistema, usando o
Slackware como exemplo e em seguida mostrar os utilitários e abordagens usadas por outras distribuições
para automatizar a configuração. É como fazer dieta: o mais difícil é na primeira semana. :-)

Ao contrário do que se costuma ouvir, a instalação do Slackware pode ser tão simples quanto a do
Mageia ou do Fedora, o problema é justamente o que fazer depois da instalação. Quase nada é automático:
som, impressora, montagem das partições, quase tudo precisa ser configurado manualmente. O "Slack" no
nome significa "preguiçoso" no sentido de que o software não fará muita coisa por você. A proposta da
distribuição é justamente lhe proporcionar problemas, para que você possa aprender pesquisando soluções
para eles. Esta acaba sendo a principal limitação, mas, ao mesmo tempo, o diferencial que mantém a
distribuição relevante.

INSTALANDO O SLACKWARE

O modo mais prático de instalar o Slackware é dando boot pelos CDs (ou pelo DVD) de instalação,
assim como em outras distribuições. Apesar do instalador ser em modo texto, as opções são razoavelmente
simples.

O primeiro passo é baixar os CDs de instalação no http://slackware.com/getslack/, onde estão


listados os vários mirrors disponíveis. Alguns sempre estão lotados, mas bastam algumas poucas tentativas
para encontrar um rápido e atualizado. O mirror primário para o Brasil é o ftp://ftp.slackware-
brasil.com.br/.

Dentro de cada mirror temos os pacotes inicialmente divididos por versão. Para cada uma existem
duas pastas, como em "Slackware-13.37" e "Slackware-13.37-iso", sendo que a primeira contém os pacotes
avulsos e a segunda contém as imagens dos CDs de instalação, que é o que estamos procurando. Em alguns
dos mirrors, você encontrará também versões antigas, que podem ser úteis em micros antigos.

A pasta "slackware-current" contém a versão de desenvolvimento do Slackware, onde você poderá


encontrar as versões mais atualizadas dos pacotes, mas sem garantia de estabilidade. Tipicamente, o
slackware-current é disponibilizado apenas na forma dos pacotes individuais, limitando a instalação apenas
aos usuários mais tarimbados, que sabem como atualizar para ele a partir da versão estável, ou gerar um ISO
manualmente. Entretanto, para quem não quer ter este trabalho, existe a possibilidade de baixar um ISO do
slackware-current (atualizado semanalmente) no:
http://www.filewatcher.com/b/ftp/ftp.ntua.gr/pub/linux/slackware/.current-ISOs-0.html

89
O Slackware é composto por nada menos do que 6 CDs, mas na verdade você precisa apenas dos três
primeiros, já que os outros três contém o código-fonte de todos os pacotes. O primeiro CD contém os
pacotes básicos do sistema, o segundo contém os pacotes do X e a maior parte dos programas gráficos
enquanto o terceiro contém os pacotes de internacionalização (incluindo as traduções para o português do
Brasil). Como de praxe, está disponível também um DVD, que agrupa o conteúdo de todos os CDs,
incluindo o código-fonte.

Boot e particionamento

Ao dar boot com a mídia de instalação, a primeira pergunta é sobre os parâmetros de boot, onde você
pode adicionar opções destinadas a solucionar problemas, como o tradicional "apci=off" ou o "noapic"
(como vimos no final do primeiro capítulo). Estas opções são na realidade interpretadas diretamente pelo
kernel, permitindo alterar seu comportamento ou desativar recursos que estejam criando problemas na sua
máquina.

No caso do Slackware 12.2, a principal observação é que estão disponíveis duas versões diferentes do
kernel: uma para máquinas atuais e outra para máquinas muito antigas, anteriores ao Pentium Pro. Se você
por acaso estiver tentando instalar o sistema em um Pentium 1 ou em um Pentium MMX, use a opção
"huge.s" para que seja usado o kernel para máquinas antigas, caso contrário simplesmente pressione Enter
para que seja usado o "hugesmp.s", que é a versão para máquinas atuais, incluindo suporte a processadores
dual-core e outros recursos:

A pergunta seguinte é sobre o layout do teclado, que no nosso caso é o "qwerty/br-abnt2.map". O


instalador pede para você pressionar "1" para acessar o menu de seleção e depois confirmar pressionando
novamente "1".

Em outras distribuições, o layout é definido automaticamente de acordo com a indicação do país ou


da língua (no Ubuntu, ao escolher o português do Brasil, por exemplo, o sistema presume que você está
usando um teclado ABNT2). O Slackware, por sua vez, ainda utiliza um sistema primitivo, onde tudo é
especificado separadamente.

Tanto faz definir o layout logo no início do boot ou durante a instalação, pois a função dentro do
instalador que faz a configuração, é a mesma:

90
Depois deste pequeno aquecimento, você cai na tela inicial, onde você vê a mensagem "You may now
login as 'root'" onde, seguindo as instruções, você se loga como root (sem senha) e cai num prompt inicial de
comando, de onde pode chamar o instalador:

O Slackware não inclui nenhum assistente ou particionador gráfico, o que lhe obriga a fazer as
alterações utilizando diretamente o cfdisk, que (fora o fdisk, que poucos usam atualmente) é o único
particionador incluído. Ele é um aplicativo bastante simples, em modo texto, com uma interface bastante
similar à do fdisk do Windows 95/98 e de outros programas de particionamento da velha guarda. Quem é das
antigas acaba se sentindo bastante confortável com ele, já que, embora simples, o cfdisk é bastante robusto e
confiável.

O grande problema é que ele se limita a criar as partições, sem oferecer opções de redimensionamento
ou reparação. Se você está na clássica situação de precisar redimensionar a partição do Windows para instalar
o sistema em dual-boot, você pode dar boot usando um CD de outra distribuição, de forma a usar o Gparted.

Uma boa opção nesse caso é o Gparted Live (que comentei no primeiro capítulo), que você pode
baixar no http://gparted.sourceforge.net/. Outra opção é usar um live-CD do Ubuntu, que também traz o
Gparted pré-instalado.

Para abrir o cfdisk, basta chamá-lo pelo nome, especificando o dispositivo do HD que será
particionado, como em:

# cfdisk /dev/sda

91
Na maioria dos casos, também funciona se você usar apenas "cfdisk", sem especificar o device (já que
ele abrirá o primeiro dispositivo que encontrar, seja o "/dev/hda" ou o "/dev/sda"), mas isso abre margem
para enganos em situações em que você tem mais de um HD, ou onde o drive de CD/DVD está instalado
como master na primeira porta IDE. Outra dica é que, em caso de dúvida, você pode listar os HDs e
partições que foram detectados pelo sistema usando o comando "cat /proc/partitions".

Dentro da interface do cfdisk, use as setas para cima e para baixo para selecionar uma partição ou
trecho de espaço livre, as setas para a direita e para a esquerda para navegar entre as opções e a tecla Enter
para selecionar. As opções disponíveis incluem:

Delete: Deletar uma partição, transformando-a em espaço livre. Use esta opção para deletar partições
já existentes no HD e assim 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 MB. Você terá ainda a opção de criar uma partição primária e uma partição estendida. Você
pode criar no máximo quatro partições primárias, mas, por outro lado, pode criar várias partições lógicas
dentro de uma partição estendida. As diferentes versões do Windows exigem a instalação em uma partição
primária, mas no Linux não existe esta limitação.

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 inclui o espaço adicional no final da partição, sem
mexer no que está gravado. Essa opção permite apenas aumentar o tamanho da partições (e não reduzir), por
isso ela não ajuda caso você precise redimensionar partições para liberar espaço.

Type: Altera o sistema de arquivos da partição (Linux, FAT, Linux Swap, etc.). Ao criar uma nova
partição, o default é que ela seja criada como "Linux". Para transformá-la em uma partição swap (dúvida
comum ao usar o cfdisk), acesse a opção "Type" e mude para "82".

Bootable: Esta é mais uma opção necessária para partições do Windows ou do antigo MS-DOS, mas
não para o Linux. No caso deles, a partição onde o sistema operacional está instalado deve ser marcada com
este atributo.

Write: Salva as alterações. Assim como em outros particionadores, as alterações são salvas apenas ao
acionar esta opção, de forma que se mudar de ideia, basta sair sem salvar.

Como em outras distribuições, você precisa de no mínimo uma partição Linux e uma partição Linux
swap. Lembre-se de que a partição swap não é realmente obrigatória se você tem 1 GB de RAM ou mais, mas
é sempre recomendável usá-la pois ela permite que o sistema mova bibliotecas e arquivos que não estão
sendo utilizados, liberando mais memória RAM para o cache de disco e mantendo memória livre para abrir
novos programas.

Sem swap, o resultado final é quase sempre o oposto do que se espera, com o sistema ficando mais
lento (menos RAM disponível) e menos estável, já que ao abrir muitos programas ele pode ficar sem memória
disponível, fazendo com que os programas fiquem lentos, travem ou sejam fechados. Uma partição swap de 1
ou 2 GB atende bem ao propósito, sem sacrificar tanto espaço no HD.

Outra recomendação é que você use, sempre que possível, uma partição separada para o diretório
home, criando uma divisão entre seus arquivos pessoais e os arquivos do sistema. Fazendo isso, os diretórios
home de todos os usuários ("/home/tux", "/home/gdh", etc.) serão gravados dentro desta partição separada,
ao invés de irem parar na partição principal.

Como no Linux todas as configurações e arquivos referentes a cada usuário são armazenados dentro
do home; essa divisão facilita bastante as coisas na hora de reinstalar o sistema ou migrar para outra
distribuição, já que você pode formatar a partição do sistema, mantendo a partição home intacta:

92
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 em uma partição swap. Criadas as duas partições, é só salvar e sair.

Se você tem um notebook e pretende usar o recurso de hibernar (o suporte no Linux é ainda
problemático, mas é possível usá-lo em muitos modelos), a partição swap deve ter pelo menos o dobro do
tamanho da memória RAM, pois, quando o notebook é colocado para dormir, todos os dados da memória
RAM são salvos na partição swap (que, diferente da memória RAM, é salva no HD e por isso não perde os
dados quando o micro é desligado). Graças a isso, eles podem ser copiados de volta quando ele é ligado
novamente, permitindo que você continue do ponto em que parou. Isso vale também para outras
distribuições.

Outra dica é que alguns programas de particionamento (como o do instalador usado em versões
antigas do Mandriva) 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. Isso não significa necessariamente
que exista algo errado com o particionamento do HD, mas apenas que o cfdisk não conseguiu entender a
tabela de partição atual.

Nesse caso, você tem duas opções: testar outros programas de particionamento, até encontrar um que
entenda o particionamento atual e permita que você edite as partições como desejado, ou fazer backup dos
dados e descartar o particionamento antigo, começando do zero.

Para a segunda opção você pode utilizar o comando "cfdisk -z dispositivo" (como em "cfdisk -z
/dev/sda"), que faz com que o cfdisk ignore o particionamento atual, criando uma nova tabela em branco.
Uma última dica é que, em alguns micros antigos, pode ser que seja necessário reiniciar depois do
particionamento, devido a um bug em versões antigas de BIOS da Phoenix e da AMI, que faz com que o
BIOS leia a tabela de particionamento apenas durante o boot. Se por acaso o instalador reclamar que não
encontrou partições válidas, pode ser o seu caso.

Depois de sair do cfdisk, chame o script de instalação, usando o comando "setup".

O instalador

O processo de instalação do Slackware (assim como o de qualquer outra distribuição), segue um


processo relativamente simples, que consiste em coletar informações sobre as partições que serão utilizadas,
as configurações desejadas e os pacotes que serão instalados, copiar os arquivos do sistema para a partição de
instalação, instalar o gerenciador de boot e gerar os arquivos de configuração necessários, de foma que o
sistema possa funcionar sozinho depois de concluída a instalação.

Imagine que você queira construir uma casa usando materiais pré-fabricados, por exemplo. A empresa
contratada começaria coletando informações sobre que tipo de casa você quer, o terreno que será utilizado e

93
assim por diante e criaria um projeto para a obra, com base nos componentes disponíveis. Os materiais
seriam então transportados até o local e a casa montada. Depois de feito o acabamento e os últimos ajustes, o
projeto é finalizado e você pode fazer a mudança.

No caso de uma distribuição Linux, o sistema é originalmente distribuído na forma de um conjunto de


pacotes, cada um contendo um determinado aplicativo, biblioteca ou outro componente do sistema, como se
fossem lajes e paredes pré-fabricadas. O instalador faz então o trabalho do empreiteiro, coletando
informações, elaborando um projeto e combinando os pacotes disponíveis para obter o resultado desejado.

Por estranho que possa parecer, o instalador do Slackware é na verdade um shell-script bastante
simples (no Slackware 12.2 ele tem apenas 384 linhas), que coleta algumas informações, monta as partições
onde o sistema será instalado, faz a cópia dos arquivos e executa alguns passos adicionais para que ele seja
capaz de dar boot sozinho.

Ao dar boot através do CD ou DVD, é carregada uma versão minimalista do sistema, sobre a qual
roda o instalador. Os instaladores de outras distribuições seguem esta mesma ideia, carregando primeiro uma
versão simplificada do sistema, usada para rodar o instalador. Ou seja, usamos o próprio Linux para instalar o
Linux.

Se você acessar os arquivos dentro do DVD ou do primeiro CD de instalação, vai encontrar, dentro
da pasta "isolinux/", o arquivo "initrd.img", que contém justamente a imagem binária dessa distribuição
minimalista.

Caso esteja curioso, é possível ver o conteúdo desse arquivo e fuçar no código do instalador, desde
que você tenha acesso a alguma outra distribuição já instalada (um live-CD também serve). Copie o arquivo
initrd.img para uma pasta qualquer do sistema, e (dentro dela) use os comandos a seguir para descompactá-lo
e poder ver seu conteúdo:

$ mkdir slackboot
$ cd slackboot
$ gzip -dc ../initrd.img | cpio -i -d -H newc --no-absolute-filenames
Isso faz com que o arquivo seja descompactado e o conteúdo fique disponível dentro da pasta
"slackboot" que foi criada:

Essa é justamente uma mini-distribuição, contendo um conjunto de executáveis, módulos e scripts


que são usados para criar o ambiente inicial, onde você loga e roda o cfdisk. O script do instalador vai dentro
da "usr/lib/setup/". Basta acessá-la e abrir o arquivo "setup" usando o editor de textos. Este é o tão famoso
instalador do Slackware, que continua sendo usado desde 1993, com poucas alterações:

94
Agora que estamos devidamente apresentados, vamos então ao que realmente interessa. Afinal,
escovação de bits não enche a barriga de ninguém. :)

Selecionando as partições

Presumindo que você já tenha definido o layout do teclado na etapa inicial, o próximo passo é
especificar as partições de instalação, começando pela terceira opção, "Addswap":

A partição swap é detectada automaticamente pelo instalador, sempre que estiver presente. Em
seguida o instalador pergunta qual será a partição raiz (/), ou seja, em qual partição o sistema será instalado.
Se você tiver apenas uma partição Linux, ela fica pré-selecionada, caso contrário você pode escolher qual usar
na lista:

95
Em seguida, você pode definir pontos de montagem para as demais partições do HD, incluindo a
partição home (caso usada) e partições usadas pelo Windows ou outra distribuição Linux instalada em dual-
boot. Ao selecionar a partição na lista, o instalador pergunta em qual diretório ela deve ser montada e, em
seguida, se a partição deve ser formatada, ou se ela deve simplesmente ficar acessível, sem alterações:

Ao usar uma partição home separada, basta indicá-la na lista e definir o ponto de montagem "/home"
para ela. Se você criou a partição no início da instalação, não esqueça de formatá-la, já que o cfdisk apenas
cria as partições, deixando a formatação a cargo do instalador.

Ao formatar cada partição, o instalador oferece a opção de fazer um exame de superfície, em busca de
setores defeituosos (opção "Check"). Esta é, na verdade, uma opção obsoleta, que é necessária apenas em
HDs antigos. Nos atuais (praticamente qualquer HD com a partir de 4 GB), o exame de superfície é
desnecessário, pois a controladora é capaz de marcar os setores defeituosos automaticamente, monitorando
os erros de leitura:

96
O instalador continua repetindo o menu de seleção das partições até você selecionar a opção
"Continue" na tela principal. Ao finalizar, é mostrado um diálogo com as linhas que serão incluídas no
arquivo "/etc/fstab", dentro da partição de instalação.

Ao contrário do que pode parecer à primeira vista, o que o instalador faz nesse ponto é simplesmente
montar as partições (como você faria ao acessá-las através do terminal), de forma que elas sejam usadas
durante a instalação e, em seguida, adicionar as linhas correspondentes no fstab, para que elas sejam
montadas durante o boot daí em diante. Instaladores de outras distribuições seguem esta mesma ideia, muito
embora geralmente de forma mais elaborada.

Caso você esteja instalando em dual-boot, o instalador (a partir do Slackware 12.1) detecta a partição
do Windows e pergunta se você quer montá-la usando o NTFS-3g.

Você precisa apenas indicar em que pasta a partição deve ser montada ("/mnt/windows", por
exemplo) e escolher o modo de acesso. Use o "umask 000" para poder acessar os arquivos sem restrição
usando seu login de usuário.

Em seguida, o instalador pergunta sobre a mídia de instalação. Normalmente, basta manter a opção
padrão "Install from a Slackware CD or DVD" e, em seguida a opção "auto" pra que ele localize o drive
sozinho. Entretanto, o instalador também suporta instalar a partir de uma partição do HD, para onde tenham
sido copiados os arquivos dos CDs de instalação, ou mesmo via rede, o que pode ser útil em casos em que
você tem apenas o primeiro CD (ou está instalando a partir de um pendrive) e quer que o instalador busque
os demais pacotes em um compartilhamento de rede:

97
Antigamente, era possível instalar o Slackware através de disquetes, o que naturalmente não é mais
possível hoje em dia, devido ao tamanho do kernel e de muitos pacotes. Em vez deles, a mídia alternativa de
instalação para máquinas sem CD-ROM passou a ser o pendrive. A grande maioria das placas-mãe atuais
suportam o boot através da porta USB, o que permite que os pendrives substituam os antiquados disquetes
com diversas vantagens. Com a popularização de máquinas sem drive de CD/DVD, como no caso dos
Netbooks, instalar o sistema usando um pendrive tem se tornado uma opção cada vez mais comum.

Seleção dos pacotes

Continuando, temos a seleção dos pacotes, que é feita em duas etapas. Primeiro você escolhe as
categorias que serão instaladas e, em seguida, indica como quer selecionar os pacotes dentro de cada uma:

Essa mesma divisão é encontrada dentro das mídias de instalação e dentro dos repositórios de pacotes
(como no ftp://ftp.slackware-brasil.com.br/slackware-12.2/slackware/), servindo como uma maneira de
organizar os pacotes.

Ela surgiu nas primeiras versões do Slackware, quando o sistema ainda era instalado através de
disquetes. Naquela época, cada categoria cabia em um disquete, de forma que ao copiar o sistema você
precisava gravar apenas os disquetes das categorias que pretendia instalar.

De lá pra cá, muita coisa mudou, mas a divisão em categorias persiste como o meio de definir
rapidamente o que deve ser instalado. Entender a organização destas categorias e conhecer os pacotes

98
principais ajuda bastante a entender como o sistema funciona. Vamos então a uma descrição mais detalhada
de cada uma:

A - Esta é a categoria que inclui os pacotes básicos do sistema, incluindo o kernel, o interpretador de
comandos e um conjunto de bibliotecas básicas. Ela é a única categoria realmente obrigatória dentro da
instalação. Mesmo desmarcando todas as outras, você ainda terá uma instalação enxuta do sistema, em modo
texto.

Alguns pacotes que podem ser desmarcados com segurança são o "cups" (necessário apenas se você
vai usar impressoras), o "reiserfsprogs" e o "xfsprogs" (necessários apenas se você pretende usar partições
formatadas em reiserfs ou XFS).

AP - Esta categoria contém vários aplicativos de modo texto (vou abordar muitos deles ao longo do
livro). Alguns que você não deve deixar de instalar são o "alsautils", que contém utilitários para configurar a
placa de som e o "cdparanoia", "cdrdao", "cdrtools" e "dvd+rw-tools", que são necessários para gravar CDs e
DVDs. Talvez você se sinta tentado a desmarcar o "ghostscript", que é o maior pacote dentro da categoria,
mas ele é mais importante do que parece, necessário para o suporte a impressão e visualização de arquivos
PDF.

D - Um dos problemas do Slackware é que o repositório inclui um volume relativamente modesto de


pacotes, deixando de fora muitos aplicativos que estão disponíveis em distribuições baseadas no Debian ou
no Fedora, por exemplo. Isso faz com que, em muitos casos, a única solução para instalar um determinado
programa seja compilá-lo a partir do código-fonte. Esta não é necessariamente uma tarefa difícil, desde que
você tenha instalados os compiladores e bibliotecas necessários, incluídos nesta categoria. Como todos
acabam sendo necessários em uma situação ou outra, é conveniente manter todos marcados.

TCL - O TCL é uma biblioteca gráfica usada por alguns aplicativos, como o Amsn (cliente do MSN) e
o Nicotine (um programa P2P). Estes programas são fáceis de reconhecer, pois possuem um visual distinto
(um pouco ao estilo do Windows 95), diferente dos programas do KDE e do GNOME. Os pacotes do
TCL/TK não são grandes, por isso vale a pena mantê-los instalados, mas, não são obrigatórios; você pode
desmarcar a categoria se não for usar nenhum destes programas.

K - Esta categoria contém um único pacote, o "kernel-source", que contém o código-fonte do kernel
instalado. Você vai precisar dele se resolver brincar de recompilar o kernel e também para instalar alguns
drivers de placas wireless e modems. Para outros, o pacote "kernel-headers" (que faz parte da categoria D) é
suficiente.

KDE - Esta categoria contém os pacotes do KDE, misturando as bibliotecas básicas e diversos
programas. Os pacotes base do KDE são o "kdebase", "kdelibs", "kdeutils" e "qt-3" (que faz parte da
categoria L).

Outros pacotes importantes são o "kdeaddons" (utilitários e applets), "kdeadmin" (que contém o
painel de controle e outras ferramentas de configuração), "kdenetwork" (utilitários e suporte a vários
protocolos de rede através do Konqueror) e o "koffice", que contém o Kword, Kspread e os outros
aplicativos que compõe a suíte.

Alguns pacotes são inteiramente opcionais, como o "kdegames" (jogos), "kdeedu" (programas
educativos), "kdetoys" (bobagens em geral), "kdepim" (agenda de compromissos e alarme) e o "kdevelop",
que é útil apenas para desenvolvedores.

KDEI - Estes são os pacotes de internacionalização do KDE. Você precisa instalar o pacote "kde-
i18n-pt_BR" para ter suporte ao português do Brasil. Ao contrário das outras categorias, todos os pacotes
ficam desmarcados e você pode escolher apenas as traduções que for usar. Se desejar, você pode instalar mais
de uma e alternar entre elas através do painel de controle do KDE. Marque também o "k3b-18n", que inclui
as traduções do K3B (para todas as linguagens) e, caso pretenda usar o Koffice, marque o "koffice-l10n-
pt_br".

L - Esta é uma das categorias mais importantes, pois concentra bibliotecas usadas pela maior parte dos
aplicativos. Alguns pacotes especialmente importantes são o "alsa-driver", "alsa-lib" e "alsa-oss" (que inclui
drivers e bibliotecas necessários para ativar a placa de som usando os drivers alsa), "gtk+-1.2" e "gtk+-2.2"
(que compõe a biblioteca GTK, base de muitos aplicativos) e o "libusb" (a biblioteca base para suporte a

99
dispositivos USB). Esta categoria contém também o pacote "jre-6u6", que instala o interpretador Java,
incluindo o plugin para o Firefox.

N - Esta categoria mistura bibliotecas, clientes e servidores de rede. Você não pode desmarcá-la
completamente, caso contrário você simplesmente ficará desconectado, mas é importante analisar o conteúdo
e desmarcar servidores (como o Apache, Samba, SSH e Sendmail) que não for explicitamente usar, caso
contrário você criará brechas de segurança.

Alguns pacotes importantes são: "tcpip" (suporte a TCP/IP, necessário para se conectar à Internet ou
qualquer tipo de rede), "wireless-tools" (suporte a redes Wireless, incluindo bibliotecas e ferramentas de
configuração), "wpa_supplicant" (necessário para se conectar à redes Wireless com encriptação WPA ou
WPA2), "ppp" (suporte genérico a conexões discadas, incluindo modem, ISDN e ADSL PPPoE), "rp-pppoe"
(ferramentas para se conectar via ADSL com autenticação), "openssl" (bibliotecas de encriptação, usadas por
muitos programas), "dhcpcd" (cliente para configurar a rede via DHCP) e "iptables" (o firewall padrão do
sistema, que pode ser tanto configurado manualmente, quanto através de programas como o Firestarter).

Os pacotes que contém servidores, que você deve instalar apenas quando realmente for utilizá-los são:
"apache" (servidor web), "bind" (servidor DNS), "dhcp" (neste caso o servidor DHCP, não o cliente),
"openssh" (o servidor SSH), "proftpd" (servidor FTP), "samba" (servidor de arquivos), "sendmail" (servidor
SMTP), "imapd" (servidor IMAP), "pop3d" (servidor POP) e o "vsftp" (outro servidor FTP).

Outros pacotes, como o "bitchx", "elm", "pine", "irssi", "lftp", "tin" e "wget" são aplicativos clientes,
em modo texto, que você pode instalar ou não, de acordo com seu uso. Abordo alguns deles ao longo do
livro.

X - Esta categoria contém os pacotes do X.org, o servidor gráfico base do sistema. Sem estes pacotes,
você fica restrito ao modo texto. Normalmente, você só desmarca esta categoria ao configurar um servidor
dedicado, onde todos os componentes não essenciais são removidos, para eliminar potenciais brechas de
segurança e deixar todo o espaço em disco, memória e processamento disponíveis para uso dos serviços
instalados.

XAP - Esta categoria concentra aplicativos gráficos que não fazem parte do KDE, como o "abiword"
(processador de texto), "gimp" (o editor de imagens), "gxine" (player de vídeo), "mozilla-firefox" e "mozilla-
thunderbird" (o navegador e cliente de e-mails), "xchat" (cliente de IRC) e o xmms (o player de áudio), junto
com outros gerenciadores de janelas, como o "fluxbox", "windowmaker" e o "xfce".

Esta categoria contém também o pacote "xine-lib" (que contém as bibliotecas com suporte a vários
formatos de vídeo, usadas como base para o gXine, Kaffeine e outros players de vídeo), o "imagemagick"
(uma coleção de ferramentas para processamento e manipulação de imagens, usada por diversos aplicativos) e
o "sane" (a biblioteca que provê suporte a scanners no Linux). O Sane trabalha em conjunto com o Xsane
(instalado através do pacote "xsane"), que se encarrega de detectar scanners compatíveis e escanear imagens.

As categorias com pacotes mais específicos, que você pode remover com segurança são:

E (Emacs): O Emacs é um dos editores mais usados por quem programa em C. Ele é bastante
poderoso, mas também muito complexo e grande: ele sozinho consome mais de 60 MB de espaço no HD. Se
você não pretende utilizá-lo, não existe nenhum motivo para instalá-lo.

F- Esta categoria contém dois pacotes, o "linux-faqs" e o "linux-howtos", que instalam uma coleção
de howtos e faqs técnicos sobre o sistema, que ficam disponíveis na pasta "/usr/doc". Você também pode ler
as versões atualizadas dos textos no http://tldp.org.

T - O Tex é uma linguagem de formatação (como o html, mas muito mais elaborado) muito usada no
meio acadêmico, principalmente dentro da área de exatas. Esta categoria contém os editores, fontes e manuais
necessários pra produzir documentos neste formato.

Y - Esta categoria contém apenas um pacote, o "bsdgames" (composto por um conjunto de jogos de
modo texto). Ela é na verdade apenas um fóssil das primeiras versões do sistema, que por algum motivo
continua sendo incluído.

100
Depois de marcar as categorias, você tem a chance de escolher os pacotes disponíveis dentro de cada
uma. Se você tiver um HD grande e não se importar em sacrificar um pouco de espaço, você pode
simplesmente manter os pacotes padrão e adicionar mais algumas coisas específicas de que precise.

Fazer uma instalação mais parruda do Slackware não faz muita diferença do ponto de vista do
desempenho, pois mesmo instalados, os vários serviços podem ser desabilitados no final da instalação. Ou
seja, só ocuparão um pouco mais de espaço em disco.

Além de não ter a preocupação de ter de ficar imaginando quais pacotes você precisa ou não (acredite,
nem quem trabalha diariamente com Linux conhece a função de todos os pacotes incluídos em uma
distribuição atual), você vai ter uma facilidade muito maior em usar o sistema e, principalmente, instalar
novos programas, pois todas as bibliotecas e outros componentes eventualmente necessários já estarão à
mão.

A opção "Full" é a mais rápida, você simplesmente instala quase todos os pacotes dentro das
categorias marcadas, mantendo a configuração default do sistema. A opção "Expert" é o oposto, ela exibe a
descrição de cada pacote e vai perguntando (um por um!) se o pacote em questão deve ser instalado ou não.
Ela torna a instalação um processo muito mais demorado e propenso a erro (já que a ausência de um sistema
de verificação de dependências faz com que o instalador não se manifeste nem mesmo se você desmarcar um
pacote essencial, como o kernel), o que faz com que ela seja raramente usada.

A opção "Menu" é a ideal para fazer um ajuste fino, pois você poderá escolher quais pacotes instalar
dentro de cada categoria através de um sistema de menus. A opção "Newbie" por sua vez é uma versão
simplificada da opção Expert. Ela instala a maior parte dos pacotes automaticamente (dentro das categorias
marcadas), mas pergunta sobre os pacotes considerados opcionais, exibindo a descrição de cada um. Se você
lê em inglês, esta opção é interessante para aprender um pouco mais sobre os pacotes que compõe o sistema.

101
Qualquer que seja a escolha, é importante que você marque a categoria "KDEI", que inclui os pacotes
de internacionalização para o KDE e, dentro dela, o pacote "kde-i18n-pt_BR", que inclui as traduções para o
português do Brasil:

Durante a cópia dos arquivos, são exibidas as descrições de todos os pacotes, conforme eles são
instalados. Na época dos 486, a instalação demorava muito mais e realmente dava tempo de ler todas as
descrições, o que acabava sendo um bom passatempo; mas, hoje em dia, tudo acontece muito rápido.

Gerenciador de boot

Depois de concluída a cópia, chegamos à segunda parte da instalação, onde é gerada a configuração
inicial do sistema e é instalado o gerenciador de boot:

102
A primeira pergunta é sobre a geração de um pendrive de boot, que pode ser usado para inicializar o
sistema caso, por qualquer motivo, o gerenciador de boot seja sobrescrito ou desativado posteriormente,
como no clássico caso do Windows instalado em dual-boot que é reinstalado, sobrescrevendo o lilo. Nas
versões antigas, o instalador se oferecia para gerar um disquete de boot, mas a opção se tornou obsoleta a
partir do Slackware 12.

Além do pendrive de boot, outra forma simples de recuperar o sistema em caso de


problemas é dar boot usando um live-CD, onde você tem acesso à internet e outras ferramentas úteis
para solucionar o problema.

A partir dele, você pode montar a partição onde o sistema principal está instalado e até
mesmo obter um prompt de comando, que pode ser usado para regravar o lilo, instalar pacotes ou
alterar a senha de root, por exemplo. Basicamente, qualquer distribuição live-CD desempenha bem
essa tarefa, incluindo o Ubuntu e o Mandriva One. Você pode também utilizar o Slax (veja mais
detalhes no capítulo 8), que é um live-CD baseado no Slackware.

Para montar a partição, a partir do live-CD, use o comando "mount", especificando o sistema
de arquivos em que a partição está formatada, como em:

# mount -t ext3 /dev/sda1 /mnt/sda1

Para ter acesso ao prompt, use o comando chroot, especificando a pasta onde a partição foi
montada, como em:

# chroot /mnt/sda1

Se precisar regravar o lilo, edite o arquivo "/etc/lilo.conf", usando um editor em modo texto
(como o mcedit ou o vi) e rode o comando "lilo" no terminal para salvar as alterações.

Para instalar pacotes (ou reinstalá-los, a fim de corrigir arquivos corrompidos), copie os
arquivos para uma pasta dentro da partição do sistema principal e instale-os usando os comandos de
praxe. No caso do Slackware, você pode instalar pacotes usando o comando "installpkg".

Finalmente, para alterar a senha de root, basta usar o comando "passwd" dentro do chroot.
De dentro do terminal você tem acesso a outros comandos de modo texto que estejam disponíveis
na instalação, como se realmente estivesse usando o sistema principal.

O passo seguinte é a configuração do lilo, o gerenciador de boot responsável por carregar o sistema na
hora do boot. Para gerar a configuração, o instalador precisa reunir uma série de informações, que são pauta
para as perguntas seguintes:

103
Usando a opção "simple", o arquivo de configuração é criado automaticamente e você precisa
escolher apenas entre gravar o lilo na MBR (de forma que o Slackware seja o sistema padrão), ou gravar o lilo
no primeiro setor da partição (Root), opção que é usada caso você esteja instalando o Slackware junto com
outras distribuições e prefira configurar uma delas para carregá-lo.

A opção "expert" vai um pouco além (oferecendo também a opção de revisar a configuração no final
do processo), mas as escolhas são basicamente as mesmas. A grande armadilha é a opção "skip", que aborta a
instalação do gerenciador de boot e faz com que o sistema simplesmente não inicialize depois de instalado,
deixando apenas a possibilidade de usar o pendrive de boot, caso gerado no passo anterior.

A primeira pergunta dentro da configuração do lilo é sobre o uso do frame-buffer, que melhora
bastante o aspecto do terminal de modo texto e permite usar resoluções maiores. O sintoma de que ele está
ativo é a exibição do Tux no topo da tela durante o boot:

O frame-buffer é uma espécie de driver de vídeo rudimentar, onde o sistema operacional manipula
diretamente a memória da placa de vídeo, gravando e atualizando a imagem que será mostrada por ela no
monitor. Ele não oferece nenhum tipo de aceleração, nem usa qualquer recurso especial disponível na placa
de vídeo, mas, em compensação, é um sistema bastante simples e por isso funciona diretamente a partir do
kernel, logo no início do boot, sem precisar do X ou de outras camadas adicionais. Os splashes e animações
exibidas durante o boot em outras distribuições funcionam justamente utilizando o frame-buffer.

É importante enfatizar que a resolução do frame-buffer afeta apenas o terminal, sem qualquer efeito
sobre a resolução dentro do ambiente gráfico. Antigamente, existia a opção de usar o módulo "fbdev" na
configuração do X, o que permitia usar o frame-buffer também no X, como uma forma de resolver
problemas de compatibilidade com placas diversas, mas hoje em dia isso é feito usando o driver "vesa".

A maioria das placas de vídeo suportam 1024x768x64k (1024x768 com 16 bits de cor), mas muitos
modelos (incluindo muitas placas atuais, sobretudo com chipset nVidia) ficam restritos a 800x600. Apenas
algumas placas antigas não suportam frame-buffer completamente. Ao usar uma resolução não suportada,
você verá uma mensagem de erro durante o boot, mas nada que impeça a inicialização normal.

104
Esta opção pode ser alterada posteriormente editando o arquivo de configuração do lilo (o
"/etc/lilo.conf"). Use "vga=791" para 1024x768, "vga=788" para 800x600 ou "vga=785" para 640x480:

A próxima pergunta é sobre o kernel. Em versões antigas, você tinha a opção de escolher qual kernel
utilizar, entre várias opções, como "bare.i", "scsi.s" ou "sata.i". Estas diferentes opções ofereciam versões do
kernel equipadas com diferentes conjuntos de drivers e recursos, destinados a oferecerem o melhor
desempenho em configurações específicas.

O problema óbvio com essa abordagem é que era necessário um certo nível de conhecimento para
saber escolher a versão correta e, em muitos casos, escolher a versão incorreta do kernel resultava em um
sistema inoperante. Com a adoção do kernel 2.6 a partir do Slackware 12, a escolha foi simplificada, restando
apenas a opção de usar o "huge.s" (na etapa inicial do boot), destinado a máquinas antigas.

Durante a instalação, resta apenas a opção de especificar parâmetros para o kernel, da qual você pode
lançar mão caso precise usar o "acpi=off", "noapic" ou outra opção de boot:

A partir do Slackware 12.1, você tem também a opção de desativar o uso do UTF-8 no console, o que
permite solucionar problemas diversos com a exibição dos caracteres. O UTF-8 é um novo sistema de
codificação, que oferece um melhor suporte a caracteres especiais e caracteres de línguas asiáticas. O grande
problema é que os códigos para caracteres acentuados e caracteres especiais do UTF-8 causam problemas de
exibição em programas que não estão preparados para lidar com eles, fazendo com que você veja quadrados
ou outros caracteres estranhos no lugar de caracteres acentuados e aspas.

105
A migração para o UTF-8 tem causado muitos problemas para quem mantém um site ou blog e as
dores do parto se estendem a muitos aplicativos. Entretanto, é importante ter em mente que a opção
mostrada durante a instalação afeta apenas o comportamento do terminal (sem nenhum efeito sobre os
aplicativos gráficos), ou seja, ela é bastante específica:

Finalmente, chegamos à instalação do lilo propriamente dita. Nunca deixe de instalar o lilo na MBR
caso o Slackware seja o único sistema instalado, ou caso esteja instalando em dual boot com o Windows.
Caso contrário, você simplesmente ficará trancado do lado de fora, sem ter como inicializar o sistema depois
da instalação:

Passos finais

Antes do final da instalação, existe ainda a opção de "configurar" o mouse, criando mais um link
simbólico, o "/dev/mouse", apontando para a localização correta. Você pode indicar o tipo de mouse usado,
onde o "ps2" indica um mouse de dois botões, ligado à porta PS/2, o "imps2" um mouse PS/2 com roda e o
"usb" server para mouses ligados à porta USB de uma forma geral. Existem outros tipos de mouse menos
usados e até mesmo a opção de usar um tablet como mouse:

106
A principal questão aqui é que esta configuração na verdade não serve para o modo gráfico, mas sim
para o gpm, um pequeno serviço que controla o suporte a mouse no terminal. Muitos programas de modo
texto, como o links e o mc suportam o uso do mouse, mesmo com o sistema trabalhando em modo texto
puro, mas, naturalmente, pouca gente usa o sistema deste modo atualmente. É muito mais prático abrir
diversas janelas de terminal dentro do ambiente gráfico.

Em seguida, você tem a opção de ativar ou não o gpm. Em alguns casos o gpm interfere com a
configuração do mouse no modo gráfico, por isso se você não pretender realmente usar o sistema em modo
texto puro, é aconselhável desativá-lo.

Em seguida, você tem a opção de criar o link "/dev/modem", que apontaria para a porta do modem,
facilitando seu uso nos discadores. Digo "apontaria" pois esta opção é útil apenas para as poucas pessoas que
ainda utilizam um hardmodem ISA, ou um modem externo ligado em uma porta serial, configuração na qual
o modem é acessado diretamente e basta criar o link "/dev/modem" apontando para a porta correta.

Todos os modems discados atuais são softmodems, que precisam de algum driver adicional para
funcionar. Alguns possuem drivers para Linux, outros não, mas em qualquer caso a instalação não se resume
a apenas criar um link simbólico.

Como de praxe, o instalador pergunta também sobre a configuração da rede, oferecendo as


tradicionais opções de usar endereços estáticos ou DHCP. Se você acessa através de uma conexão
compartilhada, ou via cabo, precisa apenas ativar a configuração via DHCP; se acessa através de uma conexão
wireless, será necessário primeiro ativar e configurar os parâmetros da rede wireless, o que só pode ser feito
depois de concluída a instalação. Finalmente, se você acessa via ADSL com autenticação, a dica é não
configurar nada aqui, deixando para configurar o ADSL depois do primeiro boot, usando o comando "adsl-
setup".

107
Caso você tenha instalado algum dos servidores disponíveis na categoria "n" (o padrão do instalador é
instalar vários), você tem uma última chance de desativá-los na configuração dos serviços, que determina
quais serão carregados na inicialização do sistema.

A configuração é muito mais simples do que parece: consiste apenas em fazer com que o script
correspondente, salvo dentro da pasta "/etc/rc.d/", seja executável ou não. Esta opção do instalador
simplesmente se oferece para fazer isso para você.

É importante notar que, em uma instalação padrão, tanto o "rc.ssh" (que permite acessar sua máquina
remotamente) quanto o "rc.sendmail" (um servidor de e-mails) ficam habilitados. É importante desmarcar
ambos, caso você não tenha nenhum motivo em especial para mantê-los abertos. O "rc.pcmcia" oferece
suporte a placas PCMCIA, é importante mantê-lo ativo ao instalar em um notebook.

Continuando a sabatina, o instalador pergunta se você deseja mudar a fonte do terminal (Would you
like to try out some custom screen fonts?). Estas fontes de tela alteram apenas o visual do terminal de texto.
Algumas fontes são menores e permitem exibir mais texto na tela, enquanto outras possuem visuais
estranhos, para todos os gostos.

Novamente, esta configuração afeta apenas o uso do terminal de texto, se você, como todas as
pessoas normais, vai passar a maior parte do seu tempo usando o modo gráfico, não existe motivo para
perder tempo aqui. Algumas das fontes estouram os limites do terminal, fazendo com que as últimas linhas
não sejam exibidas e muitas fontes não suportam acentuação.

108
Existe ainda a configuração do fuso horário do sistema. Apesar de não parecer, esta configuração é
muito importante em servidores e mesmo em alguns tipos de desktop. No Linux é possível manter o relógio
do sistema sincronizado em relação a diversos servidores disponíveis na Internet, usando o protocolo NTP.
Os servidores principais utilizam relógios atômicos ou GPS, por isso são extremamente precisos.

O uso UTC (horário universal) permite que o mesmo servidor possa atender clientes de todo o
mundo, independentemente do fuso horário usado. O sistema subtrai o fuso horário do horário universal,
chegando à hora certa na sua cidade.

A configuração consiste em duas perguntas: a primeira é se o relógio do sistema (o relógio do CMOS)


está configurado em relação ao UTC, ou não. O padrão no Windows é que o relógio é configurado para o
horário local (resposta "No"). O efeito prático é que se você tem o Windows em dual boot e responder "Yes"
aqui, o instalador vai atrasar o relógio em duas ou três horas (de acordo com o fuso horário escolhido).

Em outras palavras, quando ele pergunta se "O relógio de hardware está configurado para UTC", ele
está perguntando se o relógio está mostrando a hora certa (independente do fuso horário), ou se ele está
mostrando o horário UTC, de onde ele ainda vai subtrair três horas para chegar ao horário de Brasília:

Para usar o horário de Brasília, escolha "America/Sao_Paulo" na tela seguinte. Se precisar alterar a
configuração posteriormente, use o timeconfig, que chama este mesmo script usado na instalação.

A última pergunta é sobre a interface gráfica que será usada. Por padrão, o Slackware inicia em modo
texto e você precisa rodar o comando "startx" para abrir o modo gráfico. Nessa opção você escolhe qual
interface será aberta por padrão.

Aqui entra um fator cultural. Na época em que foram lançadas as primeiras versões do Slackware
(versão 1.0 saiu em 1993), o Linux sequer possuía interface gráfica, já que o X foi portado para o sistema
apenas em 1994. Por volta de 1995, muitos dos aplicativos mais usados ainda eram de modo texto, de forma
que muita gente preferia continuar usando o terminal puro (já que o ambiente gráfico era muito pesado para
os PCs da época) e abrir o X apenas quando realmente necessário.

Pouca coisa mudou no instalador e na configuração padrão do Slackware de lá até hoje, de forma que
muitas perguntas feitas pelo instalador são exclusivamente relacionadas ao modo texto. De qualquer forma, é
fácil configurar o Slackware para abrir o modo gráfico por padrão, como em outras distribuições. Veremos a
configuração em detalhes mais adiante.

109
Concluindo a instalação, você tem a chance de definir uma senha para o root, que é absolutamente
necessária em qualquer máquina conectada a qualquer tipo de rede.

Em vez de reiniciar a máquina automaticamente, o instalador volta à tela inicial. Para sair, use a opção
"exit" e em seguida reinicie o sistema usando o comando "reboot" ou pressionando "Ctrl+Alt+Del".

SOBREVIVENDO AO PRIMEIRO BOOT

Depois de instalado o sistema, vem o primeiro susto. Diferente de outras distribuições, o Slackware
não carrega o ambiente gráfico por padrão, se limitando a pedir o login em modo texto.

Inicialmente, você se loga como root, usando a senha definida durante a instalação. O próximo passo
é criar um login de usuário usando o comando "adduser", como em:

# adduser gdh

Você vai perceber que no Slackware o adduser oferece bem mais opções ao criar a conta do que em
outras distribuições, confirmando até mesmo o shell padrão e o diretório home. Assim como outras
ferramentas, o adduser é na verdade um shell script, que utiliza o useradd e outras ferramentas do sistema. O
Slackware usa uma versão modificada do script, o que leva às diferenças no comportamento.

A maioria dos detalhes exibidos durante a criação dos usuários são configurações padrão (que são
alteradas apenas em casos específicos), ou opções cosméticas, de forma que você pode simplesmente aceitar
os valores default. Entretanto, o Slackware tem uma peculiaridade, que é a seleção dos grupos.

Todas as distribuições utilizam os grupos como uma forma de permitir a restrição a determinados
recursos do sistema para contas de usuário, caso desejado. Ao remover um usuário do grupo "audio", por
exemplo, ele deixa de conseguir usar o som; ao removê-lo do grupo "cdrom", ele deixa de conseguir montar
CDs colocados no drive; e assim por diante.

No caso do Slackware, o padrão é que os novos usuários façam parte apenas do grupo "users", o que
cria uma série de restrições, fazendo com que você não consiga usar o som e outros recursos. Para evitar isso,
preste atenção nas mensagens e, quando ele perguntar:

Press ENTER to continue without adding any additional groups


Or press the UP arrow to add/select/edit additional groups:

... pressione a seta para cima para mudar a opção, que ficará ":audio cdrom floppy plugdev video".
Isso faz com que a conta seja cadastrada nos grupos e tenha acesso normal ao sistema:

110
Depois de criado o usuário, você pode se logar usando a nova conta e abrir o ambiente gráfico usando
o "startx", como faziam os pioneiros:

# su gdh
$ startx

Em vez de exibir uma tela de login ou perguntar qual interface usar, ele simplesmente carrega o
ambiente gráfico default, que você definiu durante a instalação. Você pode mudar a escolha usando (como
root) o comando "xwmconfig", que é o mesmo script usado durante a instalação.

O que ele faz é simplesmente verificar quais são os gerenciadores instalados (o que é feito verificando
os arquivos disponíveis na pasta "/etc/X11/xinit") e criar o link "/etc/X11/xinit/xinitrc", apontando para o
escolhido.

Assim como outras das ferramentas do Slackware, o xwmconfig é um shell script grosseiramente
simples, que se limita a examinar o conteúdo da pasta "/etc/X11/xinit" (onde é colocado um script de
inicialização para cada gerenciador instalado) e criar o link "/etc/X11/xinit/xinitrc", apontando para o
escolhido.

Quando o comando "startx" é executado, ele executa o conteúdo do script, fazendo com que o KDE,
Fluxbox ou outro gerenciador especificado, seja carregado. Se souber o que está fazendo, você pode até
mesmo editar manualmente o script, fazendo com que ele execute outros comandos.

Embora o Slackware não possua uma interface padrão, se limitando a oferecer um conjunto de opções
e deixando que você escolha qual usar, a maioria dos usuários da distribuição opta por utilizar o KDE, por
isso vou concentrar as dicas em torno dele, deixando para falar sobre a configuração do GNOME no capítulo
do Ubuntu.

Da primeira vez que é aberto, o KDE exibe um assistente rápido, onde você pode ajustar o nível de
efeitos visuais e escolher a língua padrão do sistema:

111
A opção do login automático é configurada através do Centro de Controle do KDE (através da opção
"Gerenciador de Login > Conveniência > Habilitar login automático") e não através de algum arquivo de
configuração do sistema, pois o login é feito através do KDM, que é um componente do KDE. Ele permite
que você escolha qual usuário usar, verifica a senha e carrega o KDE ou outro ambiente de trabalho
escolhido.

Caso esteja curioso, o gerenciador de login que será usado é definido através do arquivo
"/etc/rc.d/rc.4", que é o script responsável por disparar o carregamento do ambiente gráfico. Seguindo a
tradição do Slackware, ele é um script bem simples, que (descontando os comentários) inclui apenas as linhas:

echo "Starting up X11 session manager..."

if [ -x /opt/kde/bin/kdm ]; then
exec /opt/kde/bin/kdm -nodaemon

elif [ -x /usr/bin/gdm ]; then


exec /usr/bin/gdm -nodaemon

elif [ -x /usr/X11R6/bin/xdm ]; then


exec /usr/X11R6/bin/xdm -nodaemon
fi
echo "Hey, you don't have KDM, GDM, or XDM. Can't use runlevel 4 without"
echo "one of those installed."
sleep 30

Como pode ver, ele inclui um "se, então, senão se" que tenta primeiro carregar o KDM, passando em
seguida para o GDM (o gerenciador do GNOME) e o XDM (o gerenciador padrão do X), caso ele não esteja
instalado. No final, ele inclui uma mensagem de erro, que é mostrada se nenhum dos três estiver instalado.

Voltando ao assistente de boas vindas, o português aparece na lista apenas se você marcou a categoria
"KDEI" e o pacote "kde-i18n-pt_BR" durante a instalação, mas, se for o caso, você pode instalar o pacote
posteriormente usando o installpkg (como veremos em mais detalhes a seguir) e alterar a linguagem usando o
Kcontrol.

Esse assistente não é exibido na maioria das outras distribuições, pois nelas o KDE já vem pré-
configurado. No Slackware, o KDE simplesmente é compilado a partir do código-fonte original, sem
nenhum tipo de personalização. Um bom exercício para começar é fuçar um pouco nas opções, abrindo o
kcontrol e o kmenuedit e personalizando o visual a seu gosto:

112
Caso esteja curioso, toda a configuração do KDE, incluindo a configuração dos aplicativos da família
K, é salva em arquivos dentro das pastas ".kde" (a pasta principal) e ".config" (auxiliar, usada principalmente
pelos menus).

Elas são pastas ocultas do sistema, por isso não aparecem no gerenciador de arquivos. Para vê-las,
você precisa marcar a opção de ver todos os arquivos ou usar o comando "ls -a". Se você deletar estas duas
pastas, toda a configuração é revertida para os padrões, incluindo a exibição do assistente inicial na próxima
abertura.

Assim como o KDE, todos os aplicativos salvam, via de regra, suas configurações dentro de pastas
ocultas dentro do diretório home. É justamente por isso que, ao preservar os arquivos do diretório home, o
sistema continua se comportando quase da mesma forma depois de reinstalado.

Por enquanto, ainda estamos usando a inicialização manual do X, de forma que se você reiniciar o
micro, volta ao prompt de comando e precisa fazer login e usar o "startx" para abrir a interface. Muita gente
gosta dessa configuração default e continua utilizando-a por opção, mas, naturalmente, a maioria torce o nariz
para a ideia, o que nos leva à próxima dica.

Para que o Slackware carregue o modo gráfico por padrão durante o boot, exibindo a tela de login do
KDM, como em outras distribuições, edite o arquivo "/etc/inittab" e altere a linha "id:3:initdefault:",
substituindo o número "3" por "4", como em:

id:4:initdefault:
Essa configuração controla o runlevel padrão do sistema, ou seja, o conjunto de serviços que serão
carregados na hora de boot. No Slackware, o runlevel 3 faz com que o sistema inicialize em modo texto,
enquanto o runlevel 4 carrega os mesmos serviços, acrescentando o KDM, responsável por abrir o modo
gráfico e exibir a tela de login. Com isso, você passa a ver a tela de boot do KDM, onde pode fazer login e
escolher qual interface usar:

113
Assim como em outras distribuições, você pode também ativar o uso do auto-login, fazendo com que
o sistema carregue o KDE automaticamente durante o boot, já logado em uma conta de usuário escolhida.
Entretanto, a configuração não vai em nenhuma opção dentro da tela de login (nem em nenhum arquivo de
configuração do sistema), mas sim dentro do painel de controle do KDE, como veremos no tópico sobre ele.

Outro detalhe digno de nota é que ao alterar a linha no inittab para "id:4:initdefault:" o sistema passa a
abrir apenas um terminal de texto puro (acessível através do Ctrl+Alt+F6) em vez de 6 terminais de texto,
como seria normal. Isso acontece devido a outra configuração incluída no arquivo "/etc/inittab", que
corresponde às linhas abaixo:

# These are the standard console login getties in multiuser mode:


c1:1235:respawn:/sbin/agetty 38400 tty1 linux
c2:1235:respawn:/sbin/agetty 38400 tty2 linux
c3:1235:respawn:/sbin/agetty 38400 tty3 linux
c4:1235:respawn:/sbin/agetty 38400 tty4 linux
c5:1235:respawn:/sbin/agetty 38400 tty5 linux
c6:12345:respawn:/sbin/agetty 38400 tty6 linux

Estas 6 linhas são, como pode imaginar, as responsáveis por iniciar os 6 terminais em modo texto.
Note que apenas a última inclui o número "4", de forma que apenas o terminal referente a ela é carregado ao
usar o runlevel 4. Essa configuração surgiu na época dos micros 486 (quando o X começou a ser usado), com
o objetivo de economizar memória, desativando os terminais de texto quando o X era usado por padrão.

Apenas um terminal era mantido, para que você pudesse reparar o sistema em caso de problemas com
o X. Naturalmente, isso não faz muita diferença hoje em dia (já que cada terminal adicional consome 500 KB
de memória, ou menos), mas o ajuste permanece, servindo como uma curiosidade histórica.

Continuando, a próxima parada é a configuração do som, que é feita usando o "alsaconf". Ele se
encarrega de detectar a placa, carregar os módulos apropriados e executar as demais etapas necessárias para
ativá-la. Nas versões atuais do Slackware, a detecção da placa de som passou a ser feita automaticamente (na
maioria dos casos), mas, de qualquer maneira, o script continua disponível.

Diferente de scripts como o "liloconf" e o "xwmconfig", que são específicos do Slackware, o alsaconf
faz parte do Alsa, que é o conjunto de drivers para placas de som usado na grande maioria das distribuições
atuais. Você pode utilizá-lo também em outras distribuições, sempre que a placa de som não for detectada
automaticamente. Para usá-lo, basta chamar o comando como root:

# alsaconf
Deixe que ele detecte a placa e responda "sim" quando ele perguntar se você deseja ajustar a
configuração do arquivo "modprobe.conf". O processo é todo automático:

114
Por padrão, o alsaconf deixa o som mudo; uma precaução contra eventuais bugs nos drivers, que
possam estourar seus tímpanos com algum barulho ensurdecedor. Para finalmente usar o som, é necessário
ajustar o volume, o que pode ser feito usando o "aumix" e o "kmix" (ou outro controlador de volume) ou no
próprio terminal, usando o "alsamixer", outro pequeno utilitário da suíte Alsa.

Ele é mais um utilitário em modo texto, onde você ajusta os volumes usando as setas e pode sair
usando a tecla Esc:

# alsamixer

Depois de ajustar o volume e testar, use o comando "alsactl store" para salvar a configuração e fazer
com que o volume definido passe a ser carregado automaticamente durante o boot:

# alsactl store
Este mesmo comando pode ser usado em outras distribuições, resolvendo casos em que o sistema não
ajusta o volume do som corretamente durante o boot.

A configuração da placa de rede pode ser feita rapidamente usando o "netconfig", um utilitário que
pergunta o endereço IP e outros dados da rede e, no final, se encarrega de detectar a placa de rede e ativar o
módulo correspondente. Ele é o mesmo utilitário de configuração mostrado no final da instalação:

115
# netconfig
A pegadinha é que o netconfig apenas altera a configuração da rede (salva no arquivo
"/etc/rc.d/rc.inet1.conf"), sem aplicá-la no final do processo. Para que a nova configuração seja realmente
aplicada, é necessário reiniciar o serviço responsável pela configuração da rede, usando o comando:

# /etc/rc.d/rc.inet1 restart
Se você conecta usando um model ADSL configurado como bridge (ADSL PPPoE), pode configurar
a conexão usando o comando "pppoe-setup":

# pppoe-setup
Ele faz a configuração inicial, detectando o modem e pedindo o login e senha de acesso. Ele se
oferece também para compartilhar a conexão com outros micros da rede local. Uma vez configurada a
conexão, use os comandos "pppoe-start" e "pppoe-stop" para conectar e desconectar.

Para que estes comandos estejam disponíveis, você precisa ter instalado o pacote "rp-pppoe",
disponível na categoria "n". Este mesmo pacote é encontrado no Fedora, Mandriva e em outras distribuições,
com exceção do Debian (e outras distribuições baseadas nele), onde é usado o "pppoeconf".

Nas versões antigas do rp-pppoe (usadas até o Slackware 10.1) os comandos começam com "adsl" ao
invés de "pppoe". Nestes casos, ao invés de "pppoe-setup" você usa "adsl-setup", e assim por diante.

Acesso à partições: A partir da versão 12.1, o Slackware vem pré-configurado para usar o HAL em
conjunto com o KDE, oferecendo o recurso de detecção automática de pendrives e CD-ROMs, onde os
ícones de acesso aparecem diretamente no desktop, sem que você precise fazer a montagem manual.

Para que o recurso seja ativado, é necessário apenas que, ao criar a conta de usuário, você a adicione
aos grupos "cdrom" e "plugdev", que fazem parte dos grupos que aparecem ao pressionar a seta para cima,
como fizemos ao adicionar o "gdh".

De qualquer forma, é interessante entender também o processo de montagem manual, que permite
solucionar problemas diversos.

A primeira dica é sobre o acesso ao CD-ROM ou DVD. Normalmente, você pode montar o CD-
ROM usando o comando "mount /mnt/cdrom" (o comando tradicional) ou "mount /media/cdrom" (usado
em muitas distribuições atuais) que faz com que os arquivos fiquem acessíveis através da pasta. Da mesma
forma, ao terminar de usar, você pode desmontar usando o "umount /mnt/cdrom" ou "umount
/media/cdrom".

Estes comandos funcionam devido a uma linha incluída no arquivo "/etc/fstab", que inclui as outras
informações que o sistema precisa para acessar o drive. Aqui temos um exemplo de entrada usada em uma
instalação do Ubuntu:

/dev/scd0 /media/cdrom udf,iso9660 user,noauto,exec,utf8 0 0


No caso do Slackware, a linha referente ao drive óptico vem comentada no fstab, o que faz com que
você não consiga acessar os arquivos usando os ícones no KDE nem o tradicional "mount /mnt/cdrom".
Para resolver o problema, abra o arquivo "/etc/fstab" e remova o comentário (#) da linha:

/dev/cdrom /mnt/cdrom auto noauto,owner,ro 0 0


Como pode ver, ela referencia o device "/dev/cdrom", que é na verdade um link simbólico, que deve
apontar para o dispositivo correto do drive. No Slackware o link não é criado por padrão, por isso é
necessário criá-lo manualmente, usando o comando "ln -s", como em:

# ln -s /dev/hdc /dev/cdrom
O "/dev/hdc" no exemplo, indica um drive instalado como master na segunda porta IDE.
Naturalmente, você deve substituí-lo pelo dispositivo correto, caso diferente. Em muitos micros atuais, o
drive é instalado na primeira porta IDE (já que a maioria das placas atuais possui apenas uma) e é visto pelo
sistema como "/dev/hda".

A partir daí, você pode montar o CD usando o "mount /mnt/cdrom" e desmontar usando o
"umount /mnt/cdrom", ou simplesmente usar o ícone dentro do KDE.

116
Para acessar pendrives, câmeras e outros dispositivos de armazenamento USB, o processo é similar.
Quando você pluga um pendrive na porta USB o sistema detecta a nova unidade e atribui um device a ele,
quase sempre sequencial ao atribuído ao HD. Se seu HD é visto pelo sistema como "/dev/sda", por
exemplo, o pendrive seria visto como "/dev/sdb".

Assim como em um HD, o pendrive possui partições. Normalmente usamos apenas uma, que no
exemplo seria a "/dev/sdb1", mas nada impede que você divida o pendrive em várias partições, como faria
em um HD.

Para acessar os arquivos, você precisa apenas criar uma pasta e montar a partição, como em:

# mount /dev/sdb1 /mnt/sdb1


Para verificar como o sistema detectou o pendrive, use o comando "cat /proc/partitions", ele lista
todos os dispositivos e as partições disponíveis, incluindo o pendrive, que aparecerá no final da lista.

Você pode também ver as mensagens geradas pelo sistema durante a ativação do dispositivo usando o
comando "dmesg". Além de mostrarem algumas informações interessantes sobre o dispositivo, elas podem
ajudar em casos de problemas de detecção.

Outra dica é que existem alguns obstáculos em rodar aplicativos como root ao se logar como usuário.
Usando o comando "su" para virar root, você vai perceber que o path (as pastas onde o sistema procura pelos
executáveis dos comandos executados no terminal) fica diferente, o que faz com que o bash não encontre
muitos comandos. A solução para este primeiro problema é usar o comando "su -" (que configura o path
corretamente) para virar root, ao invés do "su".

O segundo problema é que mesmo ao se logar como root, você não conseguirá abrir aplicativos
gráficos, ficando limitado a usar os aplicativos de modo texto. É difícil entender esta configuração padrão
(que estimula o uso do root, dificultando as coisas para quem usa uma conta de usuário), mas existe uma
forma simples de resolver questão. Ao invés de abrir o terminal como usuário e rodar o comando "su -" para
virar root, abra diretamente o terminal como root, usando o kdesu, como em:

$ kdesu konsole
Você pode também executar o comando pressionando "Ctrl+F2". O kdesu configura corretamente as
variáveis e permissões, permitindo que você consiga abrir qualquer aplicativo, como root, dentro do terminal.

Concluindo, é importante que você pratique essas dicas na frente do micro, já que é quase impossível
entender todos estes detalhes sem realmente ir aplicando os passos e vendo o resultado de cada um. Não é
preciso que você tenha um segundo micro ou que instale o Slackware em dual-boot: você pode simplesmente
praticar instalando-o em uma máquina virtual, que pode rodar até mesmo sobre o Windows, como vimos na
introdução.

CONFIGURANDO O X

Diferente do que temos em praticamente todas as outras distribuições atuais, o Slackware não
configura automaticamente o vídeo durante a instalação, mantendo a cultura de deixar que você quebre a
cabeça e aprenda a fazer as coisas sozinho.

Você pode estar se perguntando como é que foi então possível usar o X no tópico anterior chamando
o "startx", sem que fosse necessário fazer alguma configuração prévia. A resposta é simples: embora não faça
nada para detectar a placa de vídeo ou o monitor, o Slackware utiliza um arquivo de configuração genérico,
configurado para usar o driver vesa, um mínimo múltiplo comum, que utiliza apenas funções básicas que são
(com poucas exceções) suportadas por qualquer placa de vídeo.

Isso faz com que a configuração padrão funcione em quase todos os micros, embora com um
desempenho ruim e nem sempre na resolução de tela ideal, já que o driver vesa suporta apenas 800x600,
1024x768 e (em algumas placas) 1280x1024. Além disso, o driver não oferece recursos de aceleração, o que
faz com que o uso do processador ao assistir vídeos ou rodar programas que fazem uso intenso do vídeo, seja
bem maior que o normal, sem falar na ausência de qualquer suporte a 3D. Com isso, o próximo item no
checklist pós-instalação é configurar o vídeo corretamente.

117
Para isso, o primeiro passo é executar o "xorgsetup", um pequeno script de configuração, incluído a
partir do Slackware 12, que se encarrega de detectar a configuração, evitando que você precise fazer toda a
configuração manualmente, como nas versões antigas.

Na verdade, a detecção é feita pelo próprio X.org (através do comando "X -configure" que é usado
durante a configuração), o script apenas faz algumas verificações adicionais e pergunta sobre as opções
relacionadas ao layout do teclado, que não é detectado automaticamente. Basta chamá-lo como root:

# xorgsetup

Para um teclado ABNT2, use as seguintes configurações:

Keyboard model: abnt2


Keybaord layout: br
Layout variant: none
Second layout: none
Additional keyboard options: none
Ele não pergunta nada sobre o mouse, o modelo da placa de vídeo e nem mesmo sobre o monitor,
pois essas configurações são detectadas automaticamente pelo X. Ele confirma apenas a profundidade de cor
que será usada. No final, ele salva a configuração no arquivo "/etc/X11/xorg.conf", criando um backup do
arquivo original.

Na maioria dos casos, a configuração gerada por ele funciona bem, mas não custa entender melhor as
opções e aprender assim como solucionar problemas.

Em primeiro lugar, o arquivo é dividido em seções. Basicamente, temos (não necessariamente nesta
ordem) uma seção "Server" (com parâmetros gerais), a seção "Files" (que é opcional nas versões atuais), com
a localização das fontes de tela e bibliotecas, duas seções "InputDevice" (uma com a configuração do teclado
e outra com a do mouse), uma seção "Monitor" e outra "Device" (com a configuração do monitor e placa de
vídeo) e, por último, a seção "Screen", onde é dito qual resolução e qual profundidade de cor será usada.

A ordem com que estas configurações aparecem no arquivo pode mudar de distribuição para
distribuição, mas a ordem não importa muito, desde que estejam todas lá. Como em outros arquivos de
configuração, você pode incluir comentários, usando um "#" no início das linhas. Linhas em branco, espaços
e tabs também são ignorados e podem ser usados para melhorar a formatação do arquivo e a organização das
informações.

A configuração do teclado que indicamos ao rodar o xorgsetup, por exemplo, é salva como:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection
Uma curiosidade é que a configuração de teclado especificada no arquivo, na verdade não é usada nem
no KDE nem no GNOME, que utilizam módulos próprios para a configuração, independentes da
configuração do X. No KDE, a configuração do teclado é definida quando você indica a
linguagem/localização na tela de boas-vindas.

Ele utiliza o Kxkb, que possui uma configuração de teclado independente da do X, que você ajusta
através do painel de controle do KDE. É por isso que o teclado fica corretamente configurado dentro do
KDE mesmo antes de configurar o vídeo usando o xorgconfig. Na verdade, a configuração especificada no
xorg.conf é usada apenas dentro do Fluxbox, Icewm e outras interfaces.

Continuando, temos a configuração do mouse, que é detectada automaticamente. Na maioria dos


casos é usada uma configuração como essa:

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"

118
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection
O "/dev/input/mice" é um device criado pelo próprio kernel, apontando para a porta do mouse
(funciona tanto para mouses USB quanto PS/2). Essa é uma novidade das versões recentes do kernel, que
permite também o uso de dois ou mais mouses simultaneamente (como ao usar um mouse USB em um
notebook, junto com o touchpad). Em distribuições antigas, era necessário indicar a porta manualmente,
como em "/dev/ttyS0" (COM0) ou "/dev/psaux" (porta PS/2).

A linha Option "ZAxisMapping" "4 5 6 7", ou "ZAxisMapping" "4 5" ativa a rodinha do mouse,
quando disponível. Do ponto de vista do sistema operacional, a rodinha é um conjunto de dois botões extras
(botões 4 e 5) e os giros da roda correspondem a cliques neles.

A diferença entre as duas opções é que a "ZAxisMapping" "4 5 6 7" oferece também suporte a
mouses com duas rodas (os modelos com scroll vertical e horizontal), enquanto a "ZAxisMapping" "4 5" se
limita a ativar a roda de scroll vertical.

Nem todos os mouses são iguais, por isso o X inclui um conjunto de drivers (ou protocolos), que são
usados de acordo com o modelo. Entra em cena então a opção "Protocol" "auto", que ativa a detecção
automática do X.

Em casos específicos, onde o mouse não funcione corretamente, você pode substituir o "Protocol"
"auto" por "Protocol" "IMPS/2" (que é o protocolo padrão para mouses de três botões, com roda), ou
"Option "Protocol" "PS/2", que é o protocolo para mouses PS/2 antigos, sem roda.

Um terceiro protocolo é o "ExplorerPS/2", que é usado pelo IntelliMouse Explorer e outros modelos
com 5 botões (incluindo os dois botões laterais para avançar e retroceder). Um exemplo de configuração,
caso esteja tendo problemas com eles é:

Section "InputDevice"
Identifier "Mouse"
Driver "mouse"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Buttons" "7"
Option "Device" "/dev/input/mice"
EndSection
Se a função dos dois botões extra e da roda ficarem trocadas, substitua a linha "Option
"ZAxisMapping" "4 5" por "Option "ZAxisMapping" "6 7".

Temos em seguida a configuração do monitor, que é especificada na seção "Monitor". Você notará
que a configuração gerada pelo xorgsetup (e por outras ferramentas atuais) não inclui as taxas de varredura do
monitor, se limitando a gerar uma seção semi-vazia, como neste exemplo:

Section "Monitor"
Identifier "Monitor0"
VendorName "Monitor Vendor"
ModelName "Monitor Model"
EndSection
Isso acontece por que as configurações do monitor são detectadas via DDC (Display Data Channel),
que permite que o próprio monitor forneça as resoluções e as taxas de varredura suportadas. O DDC é um
sistema bastante seguro de detecção, pois permite que o X utilize as próprias especificações do fabricante,
sem o risco de deixar a imagem fora de sincronia, como acontecia em monitores antigos.

De qualquer maneira, em caso de problemas é possível especificar as taxas de varredura horizontal e


vertical usadas pelo monitor incluindo as opções HorizSync e VertRefresh, como nesse exemplo:

Section "Monitor"
Identifier "Monitor0"
VendorName "GSM"
ModelName "GSM3b60"
HorizSync 30 - 63

119
VertRefresh 50 - 75
EndSection
As opções VendorName e ModelName são apenas descritivas, podem conter qualquer texto,
enquanto a Identifier é uma string de identificação que é usada para referenciar o monitor em outras partes
do arquivo (e que não deve ser alterada, a menos que você altere junto as outras referências a ela). Se você
não souber as taxas de varredura usadas pelo seu monitor e quiser alguma configuração genérica que funcione
em qualquer monitor contemporâneo, experimente usar esta, que permite trabalhar a até 1024x768 com 60
Hz de atualização:

Section "Monitor"
Identifier "Monitor0"
HorizSync 31.5 - 50.0
VertRefresh 40-90
EndSection
Em alguns casos, pode ser preciso adicionar manualmente opções "Modeline" dentro da seção,
indicando diretamente as taxas suportadas. Estas informações são necessárias apenas em casos de monitores
que não suportem a detecção via DDC, como é o caso de monitores muito antigos, e também de algumas
HDTVs, quando ligadas ao PC através da entrada VGA. Em outras palavras, eles são um último recurso a
usar em casos em que tudo mais falhou.

Este é um exemplo de configuração para um monitor de 17", incluindo os modelines para resoluções
de 1280x1024, 1024x768 e 800x600:

Section "Monitor"
Identifier "Monitor0"
VendorNam "GSM"
ModelName "GSM3b60"
HorizSync 30 - 63
VertRefresh 50 - 75
ModeLine "1280x1024" 135.00 1280 1296 1440 1688 1024 1025 1028 1066 +hsync +vsync
ModeLine "1024x768" 78.75 1024 1040 1136 1312 768 769 772 800 +hsync +vsync
ModeLine "800x600" 49.50 800 816 896 1056 600 601 604 625 +hsync +vsync
EndSection
Os modelines parecem uma configuração bastante arcana, mas, na verdade, eles são gerados
automaticamente usando o "cvt", que é um pequeno utilitário de terminal. Você precisa apenas chamá-lo
indicando a resolução e a taxa de refresh que será usada (em hz) e ele devolve o modeline correspondente,
como em:

# cvt 1280 800 60

# 1280x800 59.81 Hz (CVT 1.02MA) hsync: 49.70 kHz; pclk: 83.50 MHz
Modeline "1280x800_60.00" 83.50 1280 1352 1480 1680 800 803 809 831 -hsync +vsync
Se você estiver fazendo isso via terminal, deve estar se perguntando como fazer para colocar a linha
dentro da configuração, já que você não tem como copiar e colar o texto usando o mouse.

A solução é simples: adicione um ">> /etc/X11/xorg.conf" para que ele escreva a saída no final do
arquivo (em vez de exibi-la no terminal). A partir daí, você pode usar o editor de texto para copiar e colar as
linhas no local correto, dentro do arquivo.

Em seguida, vem a seção "Device" que indica a configuração da placa de vídeo, como em:

Section "Device"
Identifier "card0"
VendorName "ATI Technologies, Inc."
BoardName "Radeon X800 (R430 UO)"
Driver "ati"
BusID "PCI:1:0:0"
EndSection
As opções Identifier, VendorName e BoardName são apenas descrições e a "BusID" (que é
preenchida automaticamente) é necessária apenas em configurações para duas placas de vídeo e dois
monitores. O que interessa mesmo é o driver usado.

120
A placa de vídeo é detectada pelo sistema através da identificação fornecida por ela (a mesma que é
exibida ao executar o comando "lspci"). Diferente do que tínhamos na época do Xfree 3.3.6, onde cada
chipset de vídeo utilizava um módulo diferente, nas versões atuais é usado um pequeno número de drivers
(os arquivos são salvos na pasta "/usr/lib/xorg/modules/drivers/"), sendo que cada driver oferece suporte a
todos os chipsets de um mesmo fabricante.

A detecção de hardware é um campo em que o Linux, de uma forma geral, evoluiu bastante de alguns
anos para cá. Antigamente, toda a configuração precisava ser feita manualmente, ou através de utilitários que
tentavam (nem sempre com sucesso) detectar os componentes da máquina. Hoje em dia, a maior parte da
detecção é feita diretamente pelo kernel, com a ajuda do udev e de outros componentes. Este é um dos
motivos das diferenças entre as distribuições terem diminuído.

No caso dos drivers de vídeo, além do vesa, que é o driver failsafe, outros drivers disponíveis são:

i810: Este é o driver usado por todas as placas de vídeo onboard com chipset Intel. A lista de
compatibilidade inclui quase todos os chipsets com vídeo onboard da Intel, incluindo as placas com o chipset
Intel 900 e o Intel Extreme e todos os notebooks baseados em chipset Intel (com exceção dos poucos
modelos que utilizam placas offboard da ATI ou da nVidia). Em versões recentes do X.org, ele mudou de
nome e passou a se chamar "intel".

ati: Este é o driver open-source que dá suporte às placas da ATI. Existe uma certa confusão com
relação à diferença entre o "ati" e o "radeon", já que usando um ou outro na configuração, o vídeo funciona
da mesma forma. A resposta é que o "ati" é um wrapper, ou seja, um pseudo-driver, que detecta a placa e
carrega o driver correto. Ele é usado por que existem na verdade dois drivers diferentes para placas ATI: o
radeon, que dá suporte às placas atuais e o r128, que dá suporte às antigas Riva 128.

O driver oferece aceleração 3D para a maioria dos modelos, que você pode testar abrindo qualquer
game 3D, como o Chromium ou o Tux Racer. Além do driver open-source, existe também a opção de usar o
driver proprietário da ATI, que oferece um desempenho 3D superior (quando funciona).

nv: É o driver genérico para placas nVidia. Ele funciona bem e oferece os recursos básicos de
aceleração de vídeo, mas possui a pesada limitação de ser apenas 2D. Para ativar os recursos 3D da placa, é
preciso instalar o driver proprietário da nVidia.

sis: Este é o driver genérico para placas da SiS, que é mantido pelo Thomas Winischhofer
(http://www.winischhofer.at/linuxsisvga.shtml), sem qualquer tipo de apoio por parte da SiS. O driver não
suporta muitas das placas atuais (com destaque para as baseadas no chipset Mirage 3) e não possui suporte
3D.

tdfx: Driver para as placas da 3Dfx, as famosas Voodoo. Se você tiver alguma Voodoo 2 ou 3 perdida
por aí, pode usá-la no Linux, com direito a suporte 3D.

trident: Driver para as antigas placas da Trident.

via: Este é o driver que dá suporte ao chipset VIA Unicrome, usado como vídeo onboard na maior
parte das placas-mãe com chipset VIA e também em alguns notebooks. Originalmente, este driver era apenas
2D, como o nv e o sis, mas a partir de abril de 2005 a VIA passou a publicar um driver 3D open-source, que
pode ser encontrado nas versões recentes do X.org. Para que a aceleração 3D oferecida por ele funcione, é
necessário que os módulos "via-agp" e "via" estejam carregados. Caso necessário, você pode carregá-los
manualmente usando o comando modprobe.

vmware: Este é o driver otimizado para uso no VMware, usado quando você instala o sistema dentro
de uma máquina virtual.

No final do arquivo vai a seção "Screen", que indica a resolução e a profundidade de cores que será
usada. Tudo começa com a opção "DefaultDepth", que indica a configuração de cor. Ao usar 24 bits, por
exemplo, ela será:

DefaultDepth 24
Em seguida, temos várias seções que especificam as resoluções disponíveis para cada modo (1, 4, 8,
16, etc.), como em:

121
SubSection "Display"
Viewport 0 0
Depth 4
EndSubSection

SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection

SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection

SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
Ter tantas seções repetidas gera dúvidas, mas, na verdade, a única que interessa é a seção referente à
profundidade de cor escolhida (24 no exemplo). Todas as demais são irrelevantes e podem até mesmo ser
removidas do arquivo, se preferir.

No arquivo gerado pelo xorgsetup, não é especificada a resolução, pois o X tenta sempre detectar a
resolução do monitor via DDC. Nos casos em que a detecção falhar, ou em que você queira usar uma
resolução diferente da padrão, adicione uma linha "Modes", especificando a resolução que quer usar, como
em:

SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800" "1024x768" "800x600" "640x480"
EndSubSection
Nesse exemplo, estou especificando todas as resoluções suportadas pelo monitor. A que vale mesmo é
a primeira (1280x800) que é sempre usada por padrão. As demais são usadas apenas em casos de problemas
(imagine que em um belo dia você troque o monitor por outro que suporte apenas 1024x768, por exemplo)
ou no caso de aplicativos que precisem alterar a resolução do vídeo (como no caso dos jogos).

Se você quer uma resposta simples de como fazer com que o Slackware detecte corretamente a
resolução da tela wide do seu monitor ou notebook, o caminho é justamente esse: indicar corretamente o
driver na seção "Device" e inserir a resolução manualmente na seção "Display", como nesse exemplo:

Section "Device"
Identifier "Card0"
Driver "radeon"
VendorName "ATI Technologies Inc"
BoardName "RS485 [Radeon Xpress 1100 IGP]"
BusID "PCI:1:5:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24

SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x800"
EndSubSection
EndSection

122
Quase sempre, o xorgsetup detectará corretamente o driver de vídeo, faltando apenas incluir a linha
"Modes" na seção "Display", especificando a resolução correta. Como pode observar, neste segundo exemplo
incluí apenas a resolução default, que é a efetivamente usada.

Continuando, sempre que você fizer alterações no arquivo e quiser testar a configuração, pode
reiniciar o X rapidamente pressionando "Ctrl+Alt+Backspace". Via de regra, a única situação em que é
realmente necessário reiniciar o sistema no Linux é no caso de uma atualização do kernel. Em outros casos,
basta reiniciar o serviço ou o aplicativo que foi alterado ou atualizado, como no caso do X.

Além do xorgsetup, outros utilitários de configuração que você pode testar são o "kxconfig" (que é
um configurador gráfico, incluído no KDE) e o "xorgcfg", outro configurador gráfico, um pouco mais
simples que o kxconfig que também pode ser chamado a partir do modo texto. Ele é útil nos famosos casos
em que o X não sobe devido a alguma configuração incorreta.

Uma última opção é o xorgconfig, uma ferramenta de configuração rudimentar, em modo texto, que
está disponível desde as primeiras distribuições. O xorgconfig é na verdade um wizard, que faz uma série de
perguntas, incluindo o tipo de mouse e porta onde ele está instalado, layout e linguagem do teclado, resolução
e taxa de atualização do monitor, chipset da placa de vídeo, além da resolução e profundidade de cores
desejadas e utiliza as respostas para gerar o arquivo de configuração.

Em qualquer um dos casos, a principal dica é sempre salvar cópias dos arquivos anteriores antes de
fazer alterações. Dessa forma, você pode sempre restaurar a configuração antiga e começar de novo, em caso
de erros.

Concluindo, você vai perceber que em muitas distribuições atuais, com destaque para o Ubuntu e o
Fedora, o arquivo xorg.conf praticamente não contém opções, incluindo apenas as seções vazias. Isso
acontece por que nelas a placa de vídeo e a resolução do monitor são detectados automaticamente a cada
boot.

O arquivo xorg.conf passa então a servir apenas como uma forma de forçar o uso de determinadas
opções, para ser usado nos casos em que a configuração automática não funciona. A partir do Fedora 10, os
desenvolvedores foram longe a ponto de remover o arquivo completamente (embora o sistema continue
lendo a configuração caso você crie o arquivo manualmente).

Se tudo mais falhar, você pode usar este exemplo de arquivo de configuração como um failsafe. Ele
inclui uma configuração o mais simples possível, que faz com que o sistema não tente detectar a placa de
vídeo, utilizando diretamente o driver "vesa" com resolução de 1024x768, 800x600 ou 640x480, de acordo
com o suportado pela placa. Ele é um arquivo similar ao usado por padrão no Slackware, mas simplificado de
forma a funcionar em qualquer distribuição.

Salve-o em um pendrive junto com outros drivers e arquivos de manutenção e use-o em situações
onde o sistema não consiga detectar a placa e o carregamento do modo gráfico seja abortado:

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"

123
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
EndSection

Section "Device"
Identifier "Card0"
Driver "vesa"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Drivers 3D da nVidia e ATI

Além dos drivers open-source, temos também os drivers 3D proprietários da nVidia e da ATI, que
podem ser instalados posteriormente. O driver da nVidia é prioritário, já que o driver "nv" (a opção open-
source incluída no X) oferece apenas suporte 2D, enquanto o driver da ATI só é realmente necessário em
alguns casos.

nVidia: Embora sejam proprietários e sejam distribuídos apenas em formato binário (o que faz com
que não sejam incluídos por padrão na maioria dos distribuições), os drivers da nVidia são bem
desenvolvidos e relativamente fáceis de instalar. Você pode baixá-los no:
http://www.nvidia.com/object/unix.html

Em 90% dos casos, você deve baixar a versão Linux IA32, a versão "padrão". A versão
"AMD64/EM64T" é reservada para distribuições Linux compiladas para processadores de 64 bits, que não é
o caso do Slackware 12.2.

Se você tem uma placa nVidia antiga, baixe uma das versões do driver Legacy, que estão disponíveis
logo abaixo do link principal. As versões mais antigas oferecem suporte até mesmo a placas como a GeForce
256 e a GeForce2 GTS.

Para instalar, a única dificuldade é que você precisa encerrar o modo gráfico e executar o arquivo a
partir de um terminal de texto puro. Se você tiver ativado a abertura automática do ambiente gráfico, basta
usar o comando "init 3" como root. Ele fecha o KDM, devolvendo-o ao terminal em texto.

A partir daí, logue-se como root no terminal, marque a permissão de execução para o arquivo e
execute-o, como em:

# chmod +x NVIDIA-Linux-x86-180.29.pkg1.run
# ./NVIDIA-Linux-x86-180.29.pkg1.run

Além de instalar o driver, é necessário alterar a configuração do vídeo, para que ele seja usado.
Responda "yes" quando o instalador perguntar sobre a configuração do vídeo, deixando que ele faça as
alterações necessárias no arquivo "/etc/X11/xorg.conf" de forma automática.

Se você gostou de editar a configuração do X manualmente, é possível também fazer a configuração


manualmente, já que ela consiste em apenas algumas alterações simples.

Para isso, edite o "/etc/X11/xorg.conf". Perto do início do arquivo (na seção "Module"), comente ou
apague as linhas Load "GLcore" e Load "dri" e verifique se a linha "Load "glx" está descomentada.

124
Mais abaixo (na seção "Device"), procure pela linha Driver "nv" (ou Driver "vesa") e substitua-a por
Driver "nvidia", indicando que o X deve usar o novo driver. Basicamente, são estas três alterações que o
instalador faz ao modificar o arquivo.

Depois de concluído, reabra o ambiente gráfico usando o comando "init 4". Em caso de problemas,
basta desfazer as alterações para desativar o driver e voltar a usar o driver "nv".

Uma opção relacionada ao driver que causa problemas em conjunto com algumas placas AGP (ela não
se aplica às placas PCI Express), é a opção "NvAGP", que pode ser adicionada dentro da seção "Device",
acima da linha Driver "nvidia", como em:

Section "Device"
Option "NvAGP" "1"
Identifier "Card0"
Driver "nvidia"
VendorName "All"
BoardName "All"
EndSection
Se o vídeo não está abrindo, ou o micro está travando ao rodar aplicativos 3D, experimente substituir
o "1" por um "0". Isso faz com que a placa de vídeo seja acessada como se fosse uma placa PCI, sem
armazenar texturas na memória e outros recursos permitidos pelo AGP.

O desempenho naturalmente cai, principalmente nos games mais pesados ou ao usar resoluções mais
altas, mas os problemas são minimizados. Você pode experimentar também substituir o "1" por "2", de
forma que a linha fique: Option "NvAGP" "2"

Assim, você usa o driver "agpgart", que é o driver AGP padrão, incluído no próprio kernel. Este é um
driver genérico, que ativa todas as funções do barramento AGP, sem nenhuma otimização em especial. É um
meio termo entre usar o módulo da nVidia e usar o NvAGP "0".

Concluindo, existe também um projeto de desenvolvimento de drivers 3D open-source para placas da


nVidia, o "Nouveau" (pronuncia-se "novô"). Ele é desenvolvido sem o apoio da nVidia e, no início de 2009,
ainda oferece suporte 3D para poucas placas, mas, apesar disso, ele já é utilizado por default no Fedora 11.
Pode ser que se torne uma alternativa viável aos drivers binários da nVidia no futuro.

ATI: As placas da ATI sempre foram relativamente bem suportadas pelo Xfree. Tanto as antigas Riva
128 quanto as Radeon possuem drivers nativos a partir do Xfree 4.3 e em todas as versões do X.org, através
dos drivers "r128" e "ati" (ou "radeon", nas versões anteriores do X). Estes drivers oferecem um desempenho
3D razoável, em parte graças à própria ATI, que contribuiu no desenvolvimento e abriu parte das
especificações das placas, de forma a facilitar o trabalho da equipe de desenvolvimento.

Entretanto, em 2003, a ATI resolveu seguir o mesmo caminho da nVidia, passando a desenvolver um
driver 3D proprietário e parou de contribuir com o desenvolvimento do driver open-source. O grande
problema era que a ATI dedicava apenas uma pequena equipe ao desenvolvimento dos drivers, o que
resultava em muitos problemas de instalação em versões recentes do X, ou em distribuições diversas, o que
deu origem à má fama das placas ATI entre usuários Linux, que persiste até os dias de hoje.

Essencialmente, você podia se conformar com as limitações de desempenho do driver open-source


(que em compensação funcionava em quase todas as placas), ou instalar o driver proprietário da ATI, que
oferecia a possibilidade de obter um desempenho mais próximo do oferecido pelos drivers do Windows, mas
que, em compensação, não funcionava corretamente em muitas situações.

No final de 2006, a ATI foi comprada pela AMD, que decidiu abrir gradualmente o código-fonte dos
drivers, mantendo uma equipe de desenvolvimento própria (em parceria com a Novell); mas, ao mesmo
tempo, facilitando o desenvolvimento do driver open-source, com a liberação das especificações de mais
placas e de trechos de código-fonte.

Enquanto escrevo (início de 2009), a abertura ainda não rendeu muitas mudanças. O driver open-
source melhorou em vários aspectos, mas no geral continua sendo deficiente, enquanto o driver binário
continua apresentando muitos problemas, de forma que a escolha continua sendo essencialmente a mesma.

125
Se você decidir tentar a sorte com o driver binário da ATI, pode baixá-lo no
http://ati.amd.com/support/driver.html. Escolha o "Linux X86" e indique o modelo da sua placa. Na tela a
seguir, baixe o "ATI Driver Installer".

Ao contrário do driver da nVidia, a instalação é feita dentro do modo gráfico. Basta marcar a
permissão de execução e rodar o instalador, como em:

# chmod +x ati-driver-installer-9.2-x86.x86_64.run
# ./ati-driver-installer-9.2-x86.x86_64.run

Depois de concluída a instalação, falta ainda alterar a configuração no "/etc/X11/xorg.conf". A


maneira mais simples é alterar a linha Driver "ati" (ou Driver "radeon") próximo ao final do arquivo por:

Driver "fglrx"
Adicione também estas duas linhas logo abaixo. Sem elas, o TV Time não funciona, o Kaffeine não
consegue exibir legendas, entre outros pequenos problemas:

Option "VideoOverlay" "on"


Option "OpenGLOverlay" "off"
Você pode também usar o configurador da ATI, através o comando:

# aticonfig –initial

Neste caso, você vai precisar revisar o arquivo, pois ele costuma deixar sessões duplicadas. Muitas
vezes, o configurador se perde e a configuração antiga continua sendo usada. Depois das alterações, você
precisa sempre reiniciar o X, pressionando Ctrl+Alt+Backspace.

Um problema recorrente é que a aceleração 3D não funcione, embora o driver esteja ativado
corretamente. A causa mais comum é que módulo "fglrx" não esteja carregado. Você pode forçar o
carregamento usando os comandos a seguir. Caso necessário, adicione-os no final do arquivo
"/etc/rc.d/rc.local", para que sejam executados automaticamente durante o boot:

# modprobe -r radeon
# modprobe -r drm
# modprobe fglrx

Outro recurso utilizado pelo driver é o device "/dev/shm" (que ativa o suporte ao padrão POSIX de
memória compartilhada), que deve estar disponível e montado. Caso necessário, adicione esta linha no final
do arquivo "/etc/fstab":

tmpfs /dev/shm tmpfs defaults 0 0

Para que ele seja montado sem precisar reiniciar, use o comando "mount /dev/shm", como root.

CONFIGURANDO O KDE 3.X

O Slackware possui a tradição de incluir os softwares da forma como são disponibilizados pelos
desenvolvedores, com um mínimo de personalização. É exatamente o oposto do que temos na maioria das
outras distribuições, que oferecem versões fortemente personalizadas do ambiente de trabalho.

Outra característica do Slackware é o extremo conservadorismo com relação ao uso de novas versões
dos softwares. Isso faz com que sejam usadas versões mais antigas dos softwares que em outras distribuições,
mas que, em compensação, o sistema seja de uma forma geral bastante estável.

O Slackware 12.2 é uma das últimas distribuições a utilizarem o KDE 3.5.x (em vez do novo KDE 4),
o que me dá a oportunidade de incluir um tópico sobre a personalização do ambiente.

Mesmo com o lançamento da nova safra de distribuições baseadas no KDE 4, incluindo aí o


Slackware 13 (ou 14, caso decidam pular o número do azar) que utilizará o KDE 4.2 por padrão, o KDE 3.x
continua sendo bastante utilizado e permanece como uma opção de ambiente de trabalho leve e estável, o que
explica o fato de ele ser usado também no Debian Lenny e em diversas outras distribuições lançadas no
primeiro semestre de 2009.

126
Opções do Kcontrol

As configurações do KDE são organizadas em um utilitário central, o Kcontrol. Ele tem vários
quartos escuros e passagens secretas; então, mesmo que você já use o sistema há algum tempo, é provável que
você não conheça muitas das opções. Vamos então a algumas dicas gerais sobre a personalização e sobre os
componentes do KDE 3, que você pode usar também em outras distribuições baseadas nele.

Para começar, 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 também ajustar 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 autologin, que faz com que o usuário selecionado seja
logado automaticamente ao colocar o sistema em modo init 4 (no "/etc/inittab"), ou seja, com o ambiente
gráfico sendo carregado por padrão, como em outras distribuições.

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 confirme.

Você pode tanto instalar as fontes logado como usuário normal (de modo que elas fiquem disponíveis
apenas para o seu login) quanto 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/BrOffice. Você pode inclusive usar as novas fontes para personalizar o visual do sistema,
acessando a seção "Aparência > Fontes" dentro do painel de controle.

Desde o 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

127
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 ativar o login automático (que serve como um bom complemento para a abertura automática do
X), marque a opção "Gerenciador de Login > Conveniência > Habilitar login automático", indicando o
usuário que será logado e (opcionalmente) um tempo de atraso, para que você tenha a opção de mudar o
usuário quando quiser se logar com outro:

A opção do login automático é configurada através do Centro de Controle do KDE (e não por meio
de algum arquivo de configuração do sistema) porque o login é feito através do KDM, que é um componente
do KDE. Ele permite que você escolha qual usuário usar, verifica a senha e carrega o KDE ou outro
ambiente de trabalho escolhido.

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. Além dos componentes que vêm pré-instalados no sistema, 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 clique no
"Instalar Tema". A partir daí, você pode escolher qual tema usar através da lista. O tema padrão do KDE 3.x

128
é o "Crystal SVG", um conjunto de ícones bonito e neutro, que agrada a maioria. Outros temas populares são
o Slick, o Crystal Clear, o Nuvola e o Noia.

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 a imagem
periodicamente. Você pode ter um papel de parede diferente a cada minuto, por exemplo, ou criar um show
de slides com diferentes fotos (amanhecer, meio-dia, pôr-do-sol, etc.) e ajustar o sistema para alternar entre
elas seguindo o horário do dia.

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 a decoração de
janela por outra, com ícones parecidos com os do Windows ou MacOS X, por exemplo.

Uma opção que você provavelmente vai querer alterar é a "Decorações de Janela > Tamanho da
Borda". Usando "Tamanho da borda > Minúsculo" e desmarcando o "Borda da janela colorida" você elimina
a borda azul em torno das janelas.

O estilo determina a aparência dos botões, barras de rolagem e outros componentes da tela, e todos
suportam configurações adicionais através das opções na aba. Você pode ativar o efeito (2D) de sombra de
menu através do "Efeitos > Sombra de menu", por exemplo.

A opção "Fontes" (que à primeira vista parece uma duplicação da opção para instalar fontes disponível
na seção anterior) esconde uma das configurações mais importantes, que é justamente a configuração das
fontes de exibição. Além da tradicional escolha das fontes e dos tamanhos, não deixe de ativar o uso do
antialiasing, desmarcando a opção "Excluir intervalo" dentro da configuração. Sem o antialiasing, as fontes
ficarão serrilhadas, com um aspecto realmente ruim.

Outra dica é que, de acordo com a geometria do monitor, o X pode decidir utilizar 120 DPI por
padrão, em vez de 96 DPI. Isso faz com que todas as fontes de tela fiquem dois pontos maiores. Para
resolver isso, basta ajustar a opção manualmente:

129
A "Tela de Apresentação", que é a animação exibida 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. Um exemplo: no Windows um clique duplo sobre uma janela faz com que ela
seja maximizada, enquanto que no KDE 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 da barra de título". Para ficar
como no Windows, configure a opção "Clique duplo na barra de títulos:" como "Maximizar".

Como você pode ver no screenshot, é possível definir funções para os outros botões. Na configuração
padrão, o botão do meio serve para rebaixar a janela, ou seja, fazer com que ela fique abaixo das outras janelas
abertas:

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...".

130
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; deixando 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. O KDE usa 4 ambientes virtuais por padrão, um número que você pode aumentar ou
reduzir no "Área de Trabalho > Múltiplas áreas de trabalho".

Como um complemento, temos o pager, que é exibido por padrão na barra de tarefas. Ele é um applet
que permite alternar entre as áreas de trabalho. O KDE oferece um grande número de outros applets
similares, que podem ser adicionados à barra de tarefas. Para isso, clique com o botão direito sobre a área
vazia. No menu, clique no "Adicionar > Mini-aplicativo ao painel". Vale a pena perder um pouco de tempo
testando as opções disponíveis:

Voltando ao Kcontrol, você encontra mais opções de personalização da barra de tarefas na opção
"Painéis", incluindo seu tamanho, pano de fundo (a barra pode ficar transparente ou usar uma imagem
qualquer como fundo), entre várias outras configurações. Você pode até mesmo ativar uma segunda barra de
tarefas, exibida no topo da tela, como usado no GNOME e no Mac OS.

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 cada extensão de arquivo. 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ê sempre pode alterar as configurações, além de criar novas associações de
arquivos através do painel:

131
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 em um fórum ou blog através do Konqueror, 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.

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, o que no Slackware é feito através da instalação do pacote
"samba", que faz parte da categoria N.

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 estão 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 as
relacionadas à segurança. A segunda permite configurar um usuário e senha padrão para o acesso a
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 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 CRT 17" consome cerca de 110 Watts de energia, então é sempre importante fazer
com que ele desligue quando o PC não estiver em uso. Mesmo os monitores de LCD consomem de 30 a 50
watts (de acordo com o tamanho), por isso a economia acaba também sendo significativa.

132
Bem 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 2001 para cá podem ser desligados mais
frequentemente, 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. 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 pode eventualmente queimar depois de alguns anos de uso são as lâmpadas de catodo frio que
iluminam a tela. Nos modelos atuais elas têm uma vida útil estimada em cerca de 20 mil horas. 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. Outra fonte comum de problemas é a fonte de alimentação, mas ela pode ser trocada
facilmente, ao contrário dos componentes internos.

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 os mais diversos idiomas, 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 e 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 KDE
você pode usar o Ksnapshot, que além de oferecer várias opções, também pode salvar diretamente a imagem
no formato de sua preferência, sem ter que colar em algum 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 "Ações de
entrada > Preset Actions > Nova Ação".

Dê um nome à nova ação, como "PrintScreen". 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 Audacious avançar ou retroceder a música, por exemplo). Veja a
categoria "Examples" dentro da janela para ver mais exemplos de uso:

133
Som & Multimídia: O KDE 3 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...",
deixando o tempo de espera em 4 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.

Barra de tarefas e dicas

A barra de tarefas e menu iniciar do KDE é batizada de "kicker". Por default, a barra tem 46 pixels de
altura (o que é mais do que o dobro da altura da barra do Windows XP, por exemplo) e exibe duas colunas de
botões de aplicativos na barra de tarefas, uma configuração que a maioria dos usuários acha estranha e até
desconfortável.

Entretanto, a configuração pode ser alterada rapidamente clicando com o botão direito sobre uma
área livre da barra e acessando o "Configurar Painel". Ajustando o tamanho como "pequeno" a barra fica
com 30 pixels de altura (o tamanho preferido pela maioria), mas você tem a opção de ganhar alguns pixels de
área útil na tela usando o "minúsculo", que deixa a barra com apenas 24 pixels:

134
Se você quiser que a barra fique centralizada (no estilo da barra do XFCE ou do Dock do OS X)
reduza o comprimento para 80% e centralize usando os retângulos no "Posição". Nesse caso, você talvez
queira marcar a opção "Ocultação > Permitir que outras janelas cubram o painel", para que as janelas possam
sobrepor o painel quando maximizadas.

Na seção "Menus" você pode desativar a exibição dos últimos aplicativos usados no topo do iniciar e
também remover os ícones de ações que você não utiliza, como o "Executar Comando" (que você pode
acessar mais rapidamente pressionando Alt+F2) ou o "Ajuda".

Similarmente, você pode remover o applet para o Pager (que permite chavear entre as diferentes áreas
de trabalho) na barra de tarefas, e passar a alternar entre elas usando o Ctrl+F2, Ctrl+F3, etc. O pager ocupa
muito espaço na barra e os atalhos de teclado acabam sendo mais rápidos.

Voltando às opções, por default são exibidos pop-ups com dicas quando você passa o mouse sobre os
botões na barra, o que é uma ajuda bem-vinda para quem está se familiarizando com o sistema, mas acaba se
tornando um incômodo com o tempo. Você pode desativá-los desmarcando o "Habilitar efeitos quando o
mouse passar" na seção "Aparência".

Clicando no "Opções Avançadas", você tem a opção de ocultar ou de deixar visíveis os separadores
(que permitem arrastar os componentes da barra). O ideal é que, depois de ajustar tudo a seu gosto, você
remova os separadores usando o "ocultar", aumentando o espaço útil na barra.

Aproveite para reduzir também o tamanho do botão de ocultação para 3 pixels. Como ele fica no
canto da tela, você não precisa vê-lo para ativá-lo, já que basta levar o mouse até o extremo da tela e clicar.
Caso você tenha marcado o "Habilitar transparência" no menu anterior, as opções com a cor e a quantidade
de tinta permitem ajustar o nível de opacidade do menu:

135
Concluindo, aproveite para desmarcar a opção "Mostrar janelas de todas as áreas de trabalho" na
seção "Barra de tarefas", já que ela elimina o propósito de usar várias áreas de trabalho como uma maneira de
dividir os aplicativos abertos. Outra opção polêmica é a "Agrupar tarefas similares" (que faz com que o
Kicker agrupe diferentes janelas de um mesmo aplicativo em um menu), que a maioria prefere manter como
"Nunca". Concluindo, você pode querer mudar a opção "Aparência" de "Elegante" para "Clássico", o que faz
com que os aplicativos na barra de tarefas sejam exibidos como botões:

Um item de que você provavelmente sentirá falta é o botão para mostrar a área de trabalho, que
permite que você volte ao desktop sem precisar minimizar cada uma das janelas abertas. Para adicioná-lo,
basta clicar sobre a barra, usar o "Adicionar mini-aplicativo ao painel" e escolher o "Mostrar área de
trabalho". Aproveite para adicionar outros applets que você costuma utilizar, como os botões para travar e
sair e o relatório do tempo. Você pode também arrastar ícones do iniciar para a barra, deixando as funções
mais usadas à mão.

Se a fonte terrivelmente feia dos números do relógio estiver te incomodando, clique sobre ele para
acessar o "Configurar relógio" e mude o tipo de relógio para "Relógio Comum". Desative a exibição de data e
ajuste a fonte a seu gosto.

Mais dicas: 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 que 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 o 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.

136
Você pode ver mais detalhes sobre os componentes e arquivos de inicialização do KDE no:
http://www.kde.org/areas/sysadmin/.

Abrindo várias seções do X: No Linux, o ambiente gráfico é bastante flexível. Você pode executar
aplicativos de outras máquinas via rede, abrir várias instâncias do X simultaneamente ou, até mesmo, usar
mais de um monitor e teclado independentes, no mesmo micro. Toda esta flexibilidade permite a existência
dos vários sistemas de administração remota e de recursos avançados, como o LTSP e pode também ser útil
em situações mais cotidianas.

Uma situação comum é quando você precisa deixar outra pessoa usar seu micro para checar os e-mails
ou fazer qualquer coisa "urgente". Você pode criar um usuário separado para ela e assim não correr o risco de
ver arquivos apagados ou o seu desktop desconfigurado. Mas, como fazer isso sem precisar fechar as 30 abas
do Firefox e as 5 janelas do OpenOffice em que você está trabalhando? Simples: abra uma segunda sessão do
X.

O jeito mais espartano de fazer isso é iniciar a segunda sessão manualmente, a partir de um terminal
de texto. A maioria das distribuições abre por padrão 6 terminais de texto e uma sessão gráfica. Estes
terminais de texto são chamados de "vt" (virtual terminal) e são numeradas de 1 a 6.

A sessão gráfica ocupa a posição que seria do sétimo terminal e por isso é chamada de vt7. Todas
estas seções são independentes e você pode alternar entre elas pressionando as teclas "Ctrl+Alt+Fx", onde o
"Fx" é a tecla F correspondente ao terminal. Para mudar para o primeiro terminal de texto, pressione
"Ctrl+Alt+F1" e para voltar ao ambiente gráfico, pressione "Ctrl+Alt+F7".

Você pode chavear entre os terminais usando também o comando "chvt", incluindo o número do
terminal desejado, como em "chvt 1" ou "chvt 7" mas, ao contrário do atalho de teclado, ele só funciona se
executado como root.

Para iniciar uma segunda sessão gráfica, mude para um dos terminais de texto e use o comando "startx
-- :2 vt8".

Na verdade, o "vt8" não é realmente necessário, ele apenas força o X a abrir ocupando a posição
desejada, ao invés de simplesmente assumir a próxima posição disponível.

A partir daí, além dos terminais de texto você terá dois ambientes gráficos independentes abertos. Para
mudar para a segunda sessão gráfica, pressione "Ctrl+Alt+F8" e, para voltar para a primeira, pressione
"Ctrl+Alt+F7".

137
Esta segunda sessão gráfica pode ser iniciada por um usuário diferente, rodar uma interface gráfica
diferente (você pode usar o KDE na primeira e o GNOME na segunda) ou até mesmo exibir o ambiente
gráfico de outra máquina da rede, via XDMCP.

Para resolver o problema do amigo precisando usar o micro, crie um usuário para ele, usando o
comando "adduser", como em "adduser joao", mude para um terminal de texto (Ctrl+Alt+F2), logue-se
usando o usuário criado e rode o comando "startx -- :2 vt8" para abrir a segunda sessão do X, usando o login
separado.

Depois que seu amigo terminar, pressione "Ctrl+Alt+Backspace" para fechar a sessão e retornar ao
seu ambiente de trabalho. Se preferir, você pode usar o comando "xinit -- :2" no lugar do startx, ele abre uma
instância do X sem gerenciador de janelas, permitindo que você abra a interface que quiser.

Este é o procedimento manual, como os pioneiros faziam no começo dos tempos. Uma forma mais
prática e elegante de fazer isso hoje em dia é configurar o KDM ou GDM para abrir a segunda sessão
automaticamente.

Ao usar o KDM, abra o arquivo "Xservers", que dependendo da distribuição pode ser encontrado na
pasta "/etc/kde3/kdm/", ou "/usr/share/config/kdm/". Neste arquivo vai a configuração das instâncias do
X que são abertas durante o boot. Normalmente, este arquivo contém apenas uma linha descomentada, que
inicializa a sessão principal:

:0 local@tty1 /etc/X11/X -dpi 75 -nolisten tcp vt7


Para ativar as seções adicionais, edite o arquivo adicionado as linhas:

:1 local@tty2 reserve /etc/X11/X :1 vt8 -deferglyphs 16


:2 local@tty3 reserve /etc/X11/X :2 vt9 -deferglyphs 16
:3 local@tty4 reserve /etc/X11/X :3 vt10 -deferglyphs 16
Estamos aqui adicionando mais três seções. Para evitar que elas fiquem abertas, consumindo memória
enquanto não estão sendo usadas, adicionamos a opção "reserve". Depois de salvar o arquivo, reinicie o
KDM usando o comando "/etc/init.d/kdm restart" a partir de um dos terminais de texto.

Uma observação é que o comando que abre o X ("/etc/X11/X") pode variar de acordo com a
distribuição. No Mandriva por exemplo é "/usr/X11R6/bin/X". Lembre-se de modificar as linhas caso
necessário, seguindo o exemplo da primeira linha.

138
A partir daí, aparecerá uma função "Iniciar nova Sessão" ao clicar sobre o desktop ou acionar o menu
iniciar. Clicando sobre ela, é aberta a segunda sessão do X, mostrando a tela de login do KDM. A partir da
tela de login você pode efetuar login usando o usuário e interface que quiser. É uma boa maneira de ter o
KDE e o GNOME rodando ao mesmo tempo, por exemplo.

A sessão inicial continua aberta e você pode alternar entre as duas pressionando "Ctrl+Alt+F7" e
"Ctrl+Alt+F8". Para o caso do amigo usando o seu micro, existe a opção de travar a primeira sessão. Com as
linhas que adicionamos, você pode abrir até quatro sessões ao mesmo tempo. Nada impede que você
adicione mais linhas e abra mais sessões, mas lembre-se de que cada sessão adicional consome uma
quantidade generosa de memória RAM.

Nas distribuições que usam o GDM, edite o arquivo "/etc/X11/gdm/gdm.conf" e procure pela
sessão "Servers", que normalmente vai no final do arquivo. Adicione as sessões adicionais desejadas, como
em:

[servers]
2=/usr/bin/X11/X vt9 -deferglyphs 16
1=/usr/bin/X11/X vt8 -deferglyphs 16
0=/usr/bin/X11/X vt7 -nolisten tcp -dpi 75
No caso do GDM, não existe a opção de carregar as sessões adicionais sob demanda: elas são abertas
automaticamente durante o boot e ficam abertas continuamente, esperando serem usadas. Assim como no
caso do KDM, é preciso reiniciar o gerenciador de login para que a alteração entre em vigor. Mude para um
dos terminais de texto e use o comando "/etc/init.d/gdm restart".

Arquivos de configuração

Aproveitando que um dos objetivos desse capítulo é mostrar como as configurações do sistema são
armazenadas em arquivos de configuração, vamos a uma rápida explicação sobre como são armazenadas as
configurações do KDE, que definimos através do Centro de Controle.

Como comentei no primeiro capítulo, as configurações dos aplicativos são salvas em diretórios
ocultos (começados com ponto) dentro do seu diretório home. Para vê-los, é necessário marcar a opção
"mostrar arquivos ocultos" no Konqueror ou usar o "ls -a". As configurações do KDE (e da maioria dos
aplicativos relacionados a ele) são armazenados na pasta ".kde/share/config":

139
Em situações normais, você não precisa se preocupar com esses arquivos, já que eles são gerados e
atualizados automaticamente conforme você personaliza o ambiente, mas se você tiver curiosidade em fuçar
dentro do conteúdo deles, vai acabar aprendendo muita coisa sobre o funcionamento do sistema, além de
encontrar algumas opções de configuração que não estão disponíveis no Kcontrol. Embora não pareça à
primeira vista, os arquivos de configuração do KDE são bastante organizados e legíveis.

Uma dica, caso você queira estudar mais sobre a edição manual dos arquivos, é usar a função
"Procurar por arquivos modificados > Nos últimos xx minutos" dentro do "Iniciar > Procurar
arquivos/pastas" (kfind), usando-o para localizar os arquivos modificados depois de cada alteração feita pelo
Kcontrol.

O menu iniciar do KDE é gerado a partir da combinação dos links do diretório


"/usr/share/applications/", onde a maior parte dos pacotes instalados coloca seus ícones (os ícones do KDE
são arquivos de texto normais, salvos com a extensão .desktop) e do diretório "/usr/share/applnk", onde
podem ser colocados ícones personalizados, que ficam disponíveis para todos os usuários.

As alterações feitas usando o editor de menus são salvas no arquivo ".config/menus/applications-


kmenuedit.menu" (dentro do home), que é um arquivo de configuração que descreve as mudanças feitas (os
ícones que foram deletados ou movidos, novos ícones criados, etc.). Este arquivo é processado pelo KDE
durante o carregamento do desktop, que aplica as mudanças e faz com que o menu seja exibido da forma que
deixou.

Os ícones que aparecem no desktop do KDE vão na pasta "Desktop", dentro do home. No KDE 3,
o desktop nada mais é do que uma pasta como outra qualquer, que é exibida por uma instância oculta do
gerenciador de arquivos. Se você desativar a opção "Área de trabalho > Comportamento > Exibir ícones na
área de trabalho", essa instância do gerenciador de arquivos é fechada, fazendo com que o KDE não exiba
mais os ícones no desktop, assim como ocorre no Fluxbox e em outros gerenciadores mais simples.

Finalmente, temos os aplicativos que são executados durante o boot, que são configurados através de
ícones colocados na pasta ".kde/Autostart". A sintaxe dos arquivos .desktop é a mesma em todas estas pastas;
você pode arrastar um ícone do iniciar diretamente para uma janela do Konqueror exibindo a pasta
.kde/Autostart, por exemplo.

Quando você usa a opção "Componentes do KDE > Gerenciador de Sessão > Restaurar sessão
anterior" (ou "Restaurar sessão salva manualmente"), o que o sistema faz é simplesmente colocar atalhos para
os aplicativos abertos dentro da pasta ".kde/Autostart", de maneira que eles sejam abertos automaticamente
na próxima sessão.

Assim como o KDE, os demais programas sempre criam pastas de configuração dentro do home. As
configurações do XMMS por exemplo, vão dentro da pasta ".xmms", as do gMplayer vão dentro da
".mplayer", e assim por diante. Como vimos, as configurações dos aplicativos do KDE ficam centralizadas
dentro da pasta ".kde/share/config", também dentro do home.

140
Outra dica é que quando você cria novos usuários, o sistema cria a configuração inicial copiando o
conteúdo da pasta "/etc/skel" para o diretório home do novo usuário. Em um PC usado por várias pessoas,
você pode fazer com que novos usuários sejam criados com um conjunto de configurações específicas
simplesmente copiando as pastas de configuração para dentro do diretório.

INSTALAÇÃO DE PROGRAMAS

O Slackware trabalha com um formato próprio de pacotes, o .tgz, que é provavelmente o sistema de
gerenciamento de pacotes mais simples ainda em uso. Os pacotes .tgz são simplesmente arquivos
compactados, que ao serem instalados são descompactados no diretório raiz do sistema. Se o pacote contém
o arquivo "usr/bin/adsl-setup", por exemplo, ao instalá-lo será criado o arquivo "/usr/bin/adsl-setup".

Ao contrário de outras distribuições, os pacotes do Slackware não utilizam nenhum sistema de


controle de dependências. Você poderia remover alguma peça fundamental do sistema, como o libc ou o
kernel e o gerenciador de pacotes não emitiria nenhum tipo de alerta (você só perceberia o erro quando o
sistema parasse de funcionar).

O mesmo acontece ao instalar novos pacotes: nada impede que você instale um novo programa sem
instalar junto outros pacotes com bibliotecas e componentes adicionais dos quais ele precise para funcionar,
mas, por outro lado, não existe nenhuma garantia de que ele vá realmente funcionar sem eles.

Isso é ao mesmo tempo uma vantagem e uma desvantagem. Desvantagem no sentido de que é
necessário muito mais conhecimento sobre as relações entre os pacotes para instalar ou remover programas
sem destruir nada, e vantagem por que você tem liberdade para fazer o que quiser (inclusive destruir o
sistema) sem nenhum gerenciador de pacotes chato reclamando sobre dependências não satisfeitas e pacotes
quebrados. Você pode aprender na prática o que acontece ao remover o pacote X ou ao instalar o pacote Y
sem instalar junto o pacote Z, e assim aprofundar seus conhecimentos sobre a estrutura do sistema.

Do ponto de vista do aprendizado (que, afinal, é o grande objetivo deste livro), o sistema do
Slackware é interessante, pois lhe dá uma liberdade muito maior para fuçar no sistema e aprender, se
necessário destruindo e reinstalando o sistema sucessivas vezes. Porém, em um PC de trabalho, a ideia não é
tão boa assim.

A questão das dependências é minimizada no Slackware através de uma política de redução no


número de pacotes, agrupando os componentes em pacotes maiores. Por exemplo, no Debian o Samba é
composto por 5 pacotes separados: samba (o servidor), smbclient (o cliente), samba-common, samba-doc e
smbfs, enquanto no Slackware existe um único pacote (o "samba", que faz parte da categoria "N"), que
agrupa todos os componentes.

A vantagem dessa abordagem é que a configuração é simplificada, evitando casos como a montagem
de compartilhamentos do Samba via linha de comando no Ubuntu, que só funciona depois de instalar o
pacote "smbfs". No Slackware, você simplesmente instala o pacote principal e tem acesso a todos os
componentes. A desvantagem, por outro lado, é que você perde em flexibilidade, já que não é possível
instalar apenas o smbclient, sem precisar instalar junto o servidor e a documentação.

Para gerenciar os pacotes instalados, o Slackware conta com o pkgtool, um utilitário de modo texto
que permite instalar e remover pacotes, verificar o conteúdo dos pacotes instalados e ver detalhes sobre eles.
Para usá-lo, basta chamá-lo em um terminal, como root:

# pkgtool

141
Na opção "Current" são mostrados os arquivos .tgz presentes no diretório a partir da onde o
comando foi executado. Se você executar o pkgtool dentro de um diretório com vários pacotes, o instalador
mostra o nome e descrição de cada um e vai perguntando se cada pacote deve ser instalado (assim como ao
escolher a opção "Advanced" durante a instalação do sistema). A opção "Other" é similar, mas permite que
você especifique manualmente o diretório onde estão os pacotes.

A opção "Remove" é provavelmente a mais usada. Ela mostra um menu com os pacotes atualmente
instalados, permitindo que você marque pacotes que deseja desinstalar. Note que o gerenciador não emite
nenhum aviso ao tentar remover pacotes essenciais, por isso tome nota dos pacotes que remover, para poder
reinstalá-los depois, caso perceba a falta de alguma função importante.

Instalar e remover pacotes e ir pesquisando detalhes sobre eles é um bom exercício para entender
melhor os componentes do sistema. Como comentei, o Slackware utiliza uma estrutura mais simples do que
em outras distribuições, o que faz com que seja composto por um número muito menor de pacotes e seja,
por isso, muito mais fácil de entender. Você pode começar, removendo pacotes de que não vai precisar,
como o "kdeedu", "kdetoys", e o "kdevelop" e a partir daí ir vasculhando a lista em busca de outros que
possam ser removidos:

Desde que você mantenha uma lista dos pacotes que está removendo, não existem grandes riscos para
a integridade do sistema, já que você pode instalá-los novamente usando o installpkg. Se você remover o
pacote "kdebase" (que inclui as bibliotecas básicas do KDE), por exemplo, o KDE vai deixar de abrir, até que
você o instale novamente. :)

142
Os únicos pacotes que você realmente não pode remover, sob pena de realmente quebrar o sistema
são os pacotes do kernel e os pacotes que fazem parte da categoria "a", que inclui os componentes básicos do
sistema.

Continuando, você pode também instalar pacotes diretamente a partir da linha de comando. Para isso,
acesse o diretório onde está o pacote e use o comando installpkg, seguido pelo nome do arquivo, como em:

# installpkg amarok-1.4.9.1-i486-1.tgz

Os nomes dos pacotes sempre são um pouco longos, pois incluem a versão, arquitetura e número de
revisão. Para facilitar, use a tecla TAB para completar o comando, depois de digitar as primeiras letras.

Para remover um pacote, use o comando "removepkg", seguido pelo nome do pacote (sem a
extensão), como em:

# removepkg amarok

Para instalar uma versão mais recente de um pacote, atualizando a versão atualmente instalada no
sistema, você usa o comando upgradepkg. Ele se encarrega de remover o pacote antigo e instalar o novo. Se,
por exemplo, você baixou uma nova versão do Amarok, disponível na pasta "xap/" do slackware-current, o
comando para atualizar a versão atual seria:

# upgradepkg amarok-1.4.10-i486-1_slack12.1.tgz

Por não ser baseado num utilitário gráfico, o sistema de gerenciamento do Slackware parece um pouco
desconfortável no início, mas com a prática ele se revela bastante fácil de usar. Por exemplo, para instalar a
versão mais recente do bittorrent (que não faz parte da instalação padrão) você visitaria o
http://www.slackware.com e acessaria um dos mirrors listados na página "Get Slack", como o
ftp://ftp.slackware-brasil.com.br/.

Dentro de cada mirror estão disponíveis os pacotes de várias versões, mas os que interessam são os da
pasta referente à versão atual (os estáveis) ou os pacotes experimentais, disponíveis na pasta "slackware-
current".

O pacote do bittorrent está na pasta "extra/bittorrent/". Enquanto escrevo, o pacote disponível é o


"bittorrent-4.4.0-noarch-2.tgz". Note que o "4.4.0" no nome corresponde à versão: é por ele que você sabe se
o pacote é mais recente ou não do que o que você já tem instalado.

Depois de baixar o pacote, bastaria acessar o diretório onde ele foi salvo e instalá-lo usando o
comando do installpkg, como root:

# installpkg bittorrent-4.4.0-noarch-2.tgz

Se por acaso amanhã aparecer uma versão mais recente no slackware-current, o "bittorrent-5.0.1-
noarch-1.tgz" por exemplo, você usaria o:

# upgradepkg bittorrent-5.0.1-noarch-1.tgz

... para atualizar a versão que tiver instalada, mantendo todas as configurações.

Se depois você mudar de ideia e resolver remover o pacote, é só usar o removepkg para sumir com ele
do mapa:

# removepkg bittorrent

Se você não lembrar qual era exatamente o nome do pacote, basta chamar o pkgtool, acessar a opção
Remove e selecioná-lo na lista.

Na grande maioria dos casos, o comando para chamar um programa é o próprio nome do pacote:
"firefox", "thunderbird", "kwrite", "konqueror" etc. A maior parte dos programas cria um ícone no iniciar
(pelo menos no KDE e no GNOME) ao serem instalados, mas sempre existem exceções. Nesses casos, você

143
pode criar o ícone manualmente usando o kmenuedit, que você acessa clicando com o botão direito sobre o
ícone do iniciar.

Concluindo, temos a questão da atualização do sistema. Diferente do Ubuntu e outras distribuições,


onde um gerenciador fica disponível ao lado do relógio, avisando (muitas vezes de forma até irritante) quando
existem atualizações disponíveis, no Slackware elas são discretamente disponibilizadas através do diretório
"patches/packages/" disponível nos mirrors, de onde precisam ser baixados manualmente, como em:
ftp://ftp.slackware-brasil.com.br/slackware-12.2/patches/packages

Dependendo da época, o diretório pode conter um bom volume de pacotes, mas você precisa se
preocupar apenas com os que estão instalados no seu micro (afinal, não existe por que se preocupar com
atualizações para um software que não está instalado em primeiro lugar :). Você pode simplesmente baixar
todos os pacotes que vai atualizar para um diretório e instalá-los usando o installpkg:

# installpkg *.tgz

Repositórios adicionais

O repositório principal do Slackware é bastante espartano, incluindo apenas os pacotes mais comuns.
Um bom exemplo disso é que todos os pacotes do Slackware 12.2 (incluindo a pasta "extras/") somam pouco
mais de 2.2 GB, enquanto os repositórios oficiais do Debian Lenny somam mais de 23 GB (10 vezes mais!).

Devido a isso, surgiram diversos grupos de usuários e voluntários dedicados a disponibilizar pacotes
adicionais para o Slackware. Os dois mais conhecidos são o Slacky e o LinuxPackages (que, apesar do nome, é
especializado em pacotes para o Slackware):

http://www.slacky.eu/
http://www.linuxpackages.net/

Para encontrar pacotes dentro do repositório principal (e assim saber se ele inclui o que procura, ou se
precisa procurar em outro lugar), uma boa opção é o localizador de pacotes do Slackware.it, disponível no:
http://packages.slackware.it/

Outro repositório bastante conhecido é o Dropline, que inclui pacotes para a instalação do GNOME:
http://www.droplinegnome.org/

A maneira mais simples de instalar os pacotes é baixar o pacote do dropline-installer, instalá-lo usando
o installpkg e executá-lo (como root) usando o "dropline-installer", deixando que ele detecte a versão do
Slackware em uso e baixe os pacotes via web.

Ele possui uma série de dependências, entre elas o "aspell", "perl" e o "textutils". Se algum dos
pacotes não estiver instalado, ele exibe uma lista dos faltantes e pede que você os instale manualmente antes
de continuar.

Outro projeto importante é o Slackbuilds, que disponibiliza scripts de compilação para diversos outros
aplicativos, permitindo que você os compile diretamente na sua máquina, em vez de esperar que algum grupo
disponibilize um pacote pré-compilado:
http://www.slackbuilds.org/

A instalação de aplicativos através do código-fonte no Slackware é bastante simples em relação a


outras distribuições; já que, ao marcar a categoria "D" durante a instalação, quase todos os compiladores e
bibliotecas necessários são instalados automaticamente, evitando que você precise ficar caçando os
componentes na hora de tentar compilar cada pacote, como é comum em outros sistemas.

Ao usar os scripts do Slackbuilds o processo se torna quase automático, você precisa apenas baixar o
SalckBuild do pacote desejado, descompactar o arquivo, baixar o pacote com o código-fonte (salvando-o na
mesma pasta) e em seguida executar o script de instalação, deixando que ele se encarregue do restante da
instalação.

Para instalar o SlackBuild do Ndiswrapper, disponível no:


http://www.slackbuilds.org/repository/12.2/network/ndiswrapper/

144
... por exemplo, os passos seriam:

a) Baixar o arquivo "ndiswrapper.tar.gz" disponível na página (contendo o SlackBuild) e


descompactá-lo na pasta atual:

$ tar -zxvf ndiswrapper.tar.gz

b) Acessar a pasta "ndiswrapper" que será criada e baixar para dentro dela o arquivo "ndiswrapper-
1.53.tar.gz" (também disponível na página) que contém o código-fonte do pacote.

c) Executar, como root, o script "ndiswrapper.SlackBuild" disponível dentro da pasta:

# ./ndiswrapper.SlackBuild

d) Depois de feito o processo de compilação, será gerado o pacote "ndiswrapper-


1.53_2.6.24.5_smp-i486-1_SBo.tgz", salvo no diretório "/tmp". Este é o pacote compilado, que
pode ser instalado usando o installpkg:

# installpkg /tmp/ndiswrapper-1.53_2.6.24.5_smp-i486-1_SBo.tgz

Se você desmarcou a categoria "D" durante a instalação, o jeito mais prático de instalar os pacotes
posteriormente é montar o DVD de instalação, acessar a pasta com os pacotes ("cd
/mnt/cdrom/slackware/d/") e usar o comando "installpkg *.tgz" para instalar de uma vez todos os pacotes
do diretório. Outra opção é usar o pkgtool dentro do diretório, o que permite revisar a instalação de cada um:

Uma curiosidade é que o formato Slackbuild é adotado também para a compilação dos pacotes
principais do repositório do Slackware. Acessando a pasta "source" dentro de qualquer um dos repositórios
(ftp://ftp.slackware-brasil.com.br/slackware-12.2/source/, por exemplo), você encontra os Slackbuilds dos
pacotes incluídos nos CDs de instalação, que você pode compilar manualmente seguindo os mesmos passos
que acabamos de ver.

Instalando a partir do código-fonte

Se tudo mais falhar, existe também a opção de instalar programas a partir do código-fonte,
distribuídos na forma dos famosos pacotes .tar.gz ou .tar.bz2.

Eles 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
desejado. Embora a instalação nem sempre esteja livre de problemas (já que muitas vezes você precisará sair
caçando algum compilador ou biblioteca específica), instalá-los no Slackware é mais simples do que em outras
distribuições (desde que você tenha instalado os pacotes da categoria D, naturalmente), pois o sistema oferece
um conjunto bastante completo de compiladores.

Uma dica é que todos os pacotes cujo nome termina com "-dev" são justamente bibliotecas de
desenvolvimento, que podem ser necessárias ao compilar determinados programas. Quando o instalador

145
reclama da falta de bibliotecas ou arquivos do X, provavelmente ele está dando falta do pacote "xlibs-dev";
quando reclama 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. Desde que você instale todos os pacotes da categoria D, as
instalações ocorrem sem grandes dificuldades.

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"), acessando a pasta que será criada e
rodando três comandos básicos:

$ ./configure
$ make
$ su
# 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, permitindo que você tente solucionar o
problema, instalando o componente faltoso.

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.

CONFIGURANDO O SLACKWARE COMO DESKTOP

Agora que já estudamos sobre a configuração e o gerenciamento de pacotes no Slackware, vamos a


algumas dicas sobre os aplicativos do KDE e a instalação de plugins, seguindo agora uma abordagem mais
leve, voltada para as tarefas a executar. Este é apenas um resumo rápido voltado para o Slackware; teremos
uma explicação mais elaborada sobre os aplicativos no próximo capítulo.

146
Como sempre, o mais básico é a navegação web. Versões antigas do Slackware utilizavam o
antiquíssimo Netscape como suíte de navegação, mas nas atuais encontramos o Firefox, que dispensa
apresentações. O Slackware não vem com o suporte a flash pré-instalado, o que dispara o "libnullplugin", que
é plugin padrão do firefox, responsável por instalar os plugins automaticamente:

Ele não funciona corretamente no Slackware, reclamando que o plugin não foi encontrado, mas basta
clicar no botão de instalação manual para que ele o encaminhe ao site da Adobe, onde você pode baixar o
arquivo manualmente. Faça download da versão ".tar.gz" do arquivo e copie o arquivo "libflashplayer.so"
para dentro da pasta ".mozilla/plugins" dentro do diretório home. Essa pasta não existe por padrão no
Slackware, mas basta criá-la:

$ mkdir ~/.mozilla/plugins

Da primeira vez que abrir o Firefox, você vai perceber que o estilo da janela é realmente feio, um
problema que no Slackware se estende a todos os outros aplicativos baseados na biblioteca GTK2.
Felizmente, a solução é simples, basta ativar o gerenciador de temas do XFCE. Ele se encarrega de ajustar o
tema usado pelos aplicativos GTK2:

$ xfce-mcs-manager

A partir daí, você pode ajustar as fontes e o tema visual utilizando o comando "xfce-setting-show"
(que também é chamado usando seu login de usuário, não o root), na opção "User Interface".

Para que ele seja executado automaticamente na abertura do KDE, crie um link para aplicativo
apontando para o comando "xfce-mcs-manager" (você pode criar novos links clicando com o botão direito
sobre o desktop e usando a opção "Criar novo > Link para aplicativo") e copie o atalho para dentro da pasta
".kde/Autostart" dentro do diretório home.

Se você tem o hábito de sempre trabalhar com um terminal aberto, outra opção é adicionar o
comando ao arquivo .bashrc (também dentro do home). Como ele é executado sempre que um terminal é
aberto, o problema também é resolvido:

$ echo "xfce-mcs-manager" >> ~/.bashrc

Preste atenção ao usar comandos que escrevem diretamente em arquivos, como este.
As duas setas ">>" fazem que que ele adicione a linha no final do arquivo (que é o que queremos
nesse caso), mas se você usar apenas uma (>) o comportamento muda e ele apaga todo o conteúdo
do arquivo, deixando apenas a nova linha.

Além do Firefox, estão disponíveis mais dois navegadores: o SeaMonkey e o Konqueror. O


SeaMonkey (pronuncia-se "si-monquei") é uma versão atualizada do "Mozillão", que inclui o cliente de e-
mails, livro de endereços e o editor HTML herdados do Netscape. Não é muito recomendável utilizá-lo hoje
em dia, já que como navegador ele está bastante defasado em relação às versões recentes do Firefox, mas ele
pode ser uma opção para máquinas antigas, já que é um pouco mais leve.

147
O Konqueror, por sua vez, é o navegador padrão do KDE 3, que faz também o papel de gerenciador
de arquivos. O Konqueror oferece todos os recursos básicos de navegação, incluindo o suporte a tabs,
suporte a plugins e (por ser integrado aos componentes do KDE) oferece um consumo de memória
relativamente baixo ao navegar.

Você não precisa se preocupar em instalar os plugins separadamente para o Konqueror, pois ele é
capaz de utilizar os plugins do Firefox automaticamente. Para que isso funcione, acesse as "Configurações >
Configurar Konqueror > Plugins" e marque a opção "Procurar por novos plugins durante a inicialização do
KDE":

Como gerenciador de arquivos, o Konqueror também oferece muitos recursos. Se você tem um
monte de imagens dentro de uma pasta e quer fazer um álbum de fotos, por exemplo, use o "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, permitindo compactar arquivos, converter
imagens para outros formatos e assim por diante. Você pode também dividir a janela em duas (muito útil ao
copiar arquivos de uma pasta para a outra) usando o "Janela > Separar visão" e abrir um terminal para
executar comandos de texto dentro da pasta atual usando o "Ferramentas > Abrir Terminal".

Uma curiosidade é que o KHTML (a engine de renderização do Konqueror) deu origem ao WebKit, o
framework que é usado como base para o desenvolvimento do Safari (o navegador do MacOS X, usado
também no iPhone) e do Google Chrome, sem falar do S60 Browser, que é o navegador usado nos
smartphones da Nokia.

Ou seja, embora à primeira vista pareça apenas um navegador alternativo, o Konqueror é na verdade o
pai de diversos projetos importantes. No KDE 4, ele perdeu o cargo de gerenciador de arquivos default para
o Dolphin, mas apesar disso ele continua disponível como opção.

Como cliente de IM, você pode escolher entre o Kopete (que é o cliente nativo do KDE) ou o Pidgin,
que é a opção mais popular atualmente. Ambos suportam o MSN e o Google Talk/Jabber (entre diversos
outros protocolos) e são capazes de se conectar a várias redes simultaneamente.

Apesar de ser baseado na biblioteca GTK2, o Pidgin roda com um bom desempenho sobre o KDE,
de forma que a escolha recai sobre as suas preferências. Regularmente (uma vez a cada um ou dois anos) a
Microsoft realiza modificações no protocolo ou nos certificados dos servidores do MSN, que fazem com que
tanto o Kopete quanto o Pidgin deixem de conectar. A solução nesses casos é atualizar para a versão mais
recente, que via de regra traz suporte às modificações, restaurando a conectividade.

No caso do Pidgin, existe também a opção de usar o MSN-Pecan, um fork do plugin que dá suporte à
rede MSN, que pode ser usado como uma solução emergencial para casos em que a atualização oficial
demora para sair. Ele é um pacote adicional, que pode ser baixado no http://code.google.com/p/msn-
pecan/. No caso do Slackware, ele pode ser instalado através do Slackbuilds.org, que vimos no tópico
anterior.

O Slackware não inclui o Skype, mas você pode instalá-lo baixando manualmente o pacote disponível
no www.skype.com. A dica é sempre baixar o pacote "Static" (em vez do Dynamic), já que ele inclui todas as
bibliotecas necessárias, evitando erros por falta de bibliotecas.

148
Ele é um pacote compactado simples, que inclui o executável do programa junto com outros
componentes. Você pode simplesmente descompactá-lo em uma pasta dentro do diretório home e usar o
comando "./skype" dentro da pasta quando quiser abrí-lo.

Se quiser fazer uma instalação em nível de sistema, você pode instalá-lo na pasta "/opt" (que é
destinada justamente a instalar programas diversos). Basta copiar o arquivo para ela e descompactá-lo, como
em:

# cp skype_static-2.0.0.72.tar.bz2 /opt
# cp /opt
# tar -jxvf skype_static-2.0.0.72.tar.bz2

Para finalizar, crie o link "/usr/bin/skype" apontando para o executável dentro da pasta, para que
você possa chamá-lo diretamente pelo terminal, sem precisar digitar o caminho completo:

# ln -s /opt/skype_static-2.0.0.72/skype /usr/bin/skype

O Skype vem perdendo espaço para serviços baseados no protocolo SIP, como o Vono e o Talky.
Você pode usá-los no Linux através do Ekiga, um cliente de VoIP bastante capaz, que é capaz de se conectar
a diversas redes, fazendo e recebendo ligações. Diferente da maioria das outras distribuições atuais, o
Slackware não o inclui por padrão, mas é possível instalá-lo através do http://slackbuilds.org/.

Embora os webmails sejam cada vez mais populares, o Slackware inclui o Thunderbird, o cliente de e-
mails primo do Firefox. O principal recurso do Thunderbird é um filtro anti-spam adaptável, que uma vez
ativado, aprende a classificar as mensagens de acordo com os seus critérios. Nos primeiros dias, você vai
marcando manualmente as mensagens que são spam e as que não são e logo ele aprende a eliminar os spams
sozinho.

Na parte gráfica, temos o Gimp e o Kolourpaint. O Gimp é um editor de imagens, no estilo do


Photoshop, que permite tratar fotos e aplicar efeitos. Ele é muito avançado, com uma quantidade
impressionante de opções e efeitos e por isso também é um pouco difícil de usar, enquanto o Kolourpaint é
um editor de imagem simples, no estilo do Paint, que permite fazer desenhos e retoques rápidos.

Eles são complementados pelo Krita (um programa de desenho vetorial bastante capaz), o GQview
(um visualizador de imagens que permite realizar ajustes rápidos) e o Ksnapshot, um aplicativo bastante
flexível para tirar screenshots da tela, que permite especificar tempos de espera (permitindo que você chegue
aos menus mais escondidos), capturar apenas a janela do aplicativo em foco e salvar os screenshots
diretamente em vários formatos. 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".

O Slackware 12.2 usa o gXine como player de vídeos padrão. Ele é um player meio sem sal, que não
possui nenhuma característica em especial, mas que faz o trabalho, lidando com arquivos de formatos
comuns.

Para assistir DVDs, você vai precisar do pacote "libdvdcss". Ele não é incluído no Slackware por
padrão, mas você pode encontrá-lo pesquisando por "libdvdcss" no http://www.linuxpackages.net.

Outro passo importante é ativar o DMA para o drive óptico, usando o comando "hdparm -d1 drive",
como em:

# hdparm -d1 /dev/hda

Em máquinas antigas, o "/dev/hda" é geralmente o dispositivo do HD, mas nas atuais (que utilizam
HDs SATA), a primeira porta IDE é usada pelo drive óptico, daí ele herdar a localização. Aproveite também
para adicionar o comando no final do arquivo "/etc/rc.d/rc.local" para que ele seja executado durante o
boot.

Para áudio, a melhor opção dentro do KDE é o Amarok, que permite gerenciar todas as suas músicas
em um local central, com direito a download automático de letras e capas, organização por artista ou album
baseada nas tags ID3 e diversos outros recursos.

149
Se você quer apenas um player de mídia simples, pode utilizar o Audacious, que também faz parte da
instalação padrão. Ele é um player da velha guarda, voltado para o uso de playlists (no estilo do WinAMP),
que assumiu o posto do antigo XMMS, oferecendo uma interface e funções similares.

Por questões de espaço, o Slackware não inclui o OpenOffice, utilizando por padrão os aplicativos do
Koffice, que é a suíte de escritório do KDE. Eles oferecem a vantagem de serem mais leves que os
equivalentes OpenOffice e possuírem menos funções, o que os torna mais fáceis de usar para muitos.

Se você realmente precisa de uma suíte de escritório, vai acabar se deparando com as limitações do
Koffice e decidindo migrar para o OpenOffice/BrOffice, o que nos leva à dica de como instalá-lo no
Slackware.

Acessando o http://www.broffice.org/, você notará que não estão disponíveis pacotes para o
Slackware. Apesar disso, é possível instalar através do arquivo com os pacotes RPM, convertendo-os para o
formato do Slackware usando o comando "rpm2tgz".

Este processo de conversão de pacotes de uma distribuição para outra é um último recurso usado em
casos em que você instalar um determinado aplicativo que está disponível apenas no formato usado por outra
distribuição. Na maioria dos casos, converter pacotes resulta apenas em problemas, mas em alguns casos
específicos, como no caso do BrOffice sobre o Slackware, a instalação é tranquila.

O primeiro passo é baixar o arquivo da versão mais recente no http://broffice.org/download. Estão


disponíveis dois pacotes para Linux: com pacotes .deb e com pacotes .rpm. No exemplo, vamos utilizar a
segunda versão.

Apesar da extensão ".tar.gz", não se trata de um pacote contendo código-fonte, mas simplesmente um
arquivo compactado contendo vários arquivos. O primeiro passo é descompactá-lo, o que no terminal é feito
usando o "tar -zxvf", como em:

# tar -zxvf BrOo_3.0.0_20080930_LinuxIntel_install_pt-BR.tar.gz

Acesse a pasta que será criada (cd pasta/) e, dentro dela, use o rpm2tgz para converter os pacotes.
Para não precisar ficar convertendo um por um, você pode usar este mini-script:

# for i in *.rpm; do rpm2tgz $i; done

O próximo passo é instalar os pacotes .tgz gerados por ele:

# installpkg *.tgz

Com isso, o BrOffice estará instalado, mas ainda faltará um passo importante, que é criar os ícones no
menu. Sem eles, você precisaria ficar abrindo o aplicativo usando o comando
"/opt/broffice.org3.0/program/soffice.bin", o que não seria muito prático.

Para criar os ícones, acesse a pasta "desktop-integration" e converta o pacote "broffice.org-


freedesktop-menus" (apenas ele), novamente usando o rpm2tgz:

# rpm2tgz broffice.org-freedesktop-menus*.rpm

Antes de instalar o pacote, use o comando abaixo para criar o link simbólico que ele espera encontrar:

# ln -s /opt/broffice.org3.0 /etc/

Finalmente, instale o pacote usando o installpkg:

# installpkg broffice.org-freedesktop-menus*.tgz

Na mesma pasta estão disponíveis outros pacotes, com ícones para vários ambientes gráficos, mas no
caso do Slackware precisamos apenas do pacote do Freedesktop, que cria os links nos lugares certos.

Assim como em outras distribuições atuais, o Slackware 12.2 (em diante) é capaz de configurar
impressoras automaticamente quando plugadas, trabalho que é feito graças à combinação do HAL (o mesmo

150
serviço que se encarrega de detectar pendrives e outros dispositivos) e do Cups (o servidor de impressão). O
único problema é que o Cups fica desativado por padrão no Slackware, o que torna necessário ativar o
serviço manualmente:

# chmod +x /etc/rc.d/rc.cups
# /etc/rc.d/rc.cups start

Uma vez ativado o serviço, a impressora deve ser detectada automaticamente depois de plugada. Nos
raros casos em que isso não acontece, você pode ainda configurá-la manualmente usando o
kaddprinterwizard, que é o configurador de impressoras do KDE 3:

$ kdesu kaddprinterwizard

Na tela principal do kaddprinterwizard estão disponíveis várias opções. Ele permite instalar tanto
impressoras locais quanto impressoras de rede. Podem ser configuradas impressoras compartilhadas em
máquinas Windows, em outras máquinas Linux da rede ou mesmo impressoras ligadas a um servidor de
impressão:

Como era de se esperar, a opção "Impressora local" 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.

A opção "Impressora SMB compartilhada" permite instalar uma impressora compartilhada no


Windows ou em um servidor Linux rodando o Samba, enquanto a "Servidor Cups remoto" permite instalar
uma impressora compartilhada em um 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 ela está conectada na porta paralela ou em uma 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 o driver de impressão que será usado, com base na marca e modelo da
impressora. Como de praxe, caso o driver para o modelo exato para a impressora não apareça na lista, você
pode testar drivers de modelos similares, usando o teste de impressão e voltando para testar outros drivers
caso necessário:

151
Uma observação importante é que a maioria destas dicas não são necessárias em outras distribuições
que fazem tudo automaticamente. Você não precisa instalar o BrOffice manualmente no Debian Lenny, por
exemplo, pois ele é instalado automaticamente no lugar do OpenOffice ao escolher o português do Brasil
como linguagem no início da instalação. Não precisa instalar o plugin do Flash manualmente no Ubuntu, pois
o libnullplugin o instala corretamente da primeira vez que você acessa uma página que utilize o plugin, e
assim por diante.

A ideia de mostrar estes passos manuais é justamente permitir que você possa entender melhor como
o sistema funciona antes de partir para outras distribuições. E, para isso, nada melhor do que arregaçar as
mangas. :)

CONFIGURANDO PLACAS WIRELESS NO SLACKWARE

Assim como praticamente todas as distribuições atuais, o Slackware inclui o udev, que se encarrega de
detectar e ativar a placa wireless quando os drivers necessários estão disponíveis. Ele também inclui a maior
parte dos drivers disponíveis, incluindo os firmwares. Entretanto, ele não inclui o networkmanager, nem
nenhuma outra ferramenta de configuração amigável, o que torna necessário configurar a rede wireless
usando diretamente o "iwconfig" e o "wpa_supplicant", as ferramentas de configuração manual. Vamos então
a um resumo sobre a configuração da rede no Slackware.

Você pode verificar se sua placa wireless foi detectada pelo sistema usando o comando "cat
/proc/net/wireless", como em:

# cat /proc/net/wireless

Inter- | sta- | Quality | Discarded packets


| Missed | WE
face | tus | link level noise | nwid crypt frag retry misc
| beacon | 22
wlan0: 0000 0 0 0 0 0 0 0 0
0

Veja que no exemplo minha placa wireless foi detectada e é vista pelo sistema como "wlan0", uma
informação que vamos precisar ao ativar a conexão. Se, por outro lado, o comando não retornar nada,
significa que sua placa ainda não foi detectada, nesse caso, veja as dicas seguintes.

Se você utiliza uma rede com encriptação WPA ou WPA2, a conexão é feita usando o
"wpa_supplicant", que nas versões recentes do Slackware está disponível dentro da categoria "N". Ele é
instalado por default, de forma que se você não o desmarcou durante a instalação, ele já estará disponível.

152
Para usá-lo, o primeiro passo é criar o arquivo de configuração do wpa_supplicant, contendo o SSID e
a passphrase da sua rede. Para isso, rode o comando "wpa_passphrase" seguido do SSID da rede e a
passphrase (a senha), como em:

$ wpa_passphrase minharede minhapassphrase

Ele retorna a configuração que deve ser incluída no arquivo, como em:

network={
ssid="minharede"
#psk="minhapassphrase"
psk=24b0d83ee1506019e87fcf1705525ca60abbd9b24ac5bedf183620d0a22ab924
}
Note que ele inclui duas linhas "psk", onde vai a passphrase. A linha que está comentada contém sua
passphrase real, enquanto a segunda contém um "hash" (verificador), que funciona da mesma forma, mas
evita que você precise deixá-la disponível dentro do arquivo para qualquer um ver. Apague a linha comentada,
deixando apenas a segunda linha, com o hash.

Agora edite (ou crie) o arquivo "/etc/wpa_supplicant.conf", de forma que ele contenha apenas as
linhas retornadas pelo comando. Se preferir, você pode usar também o comando abaixo (como root), que cria
o arquivo automaticamente:

# wpa_passphrase minharede minhapassphrase > /etc/wpa_supplicant.conf

Agora vem o comando que ativa o wpa_supplicant, especificando a placa de rede que será usada, o
arquivo de configuração que acabamos de criar e o driver que será usado:

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d -D wext

O "wlan0" no comando indica a interface de rede, e naturalmente deve ser alterado conforme
necessário. O "wext" é o driver (interno do wpa_supplicant) que será usado.

Atualmente, o driver wext é usado em quase todos os casos, inclusive no caso de placas configuradas
através do Ndiswrapper (usando o driver do Windows) e no caso das placas com chipset Intel. A única
exceção fica por conta das placas com chipset Atheros, onde você deve substituir o "wext" por "madwifi".

Por causa da opção "-d" que incluímos no comando anterior, o wpa_supplicant é executado em modo
verbose, onde são mostrados detalhes sobre a conexão com o ponto de acesso. Este modo é interessante para
descobrir problemas. Se a conexão for bem-sucedida, você terá (depois de uma rápida sucessão de
mensagens), algo como:

State: GROUP_HANDSHAKE -> COMPLETED


CTRL-EVENT-CONNECTED - Connection to 00:50:50:81:81:01 completed (auth)
EAPOL: External notification - portValid=1
EAPOL: External notification - EAP success=1
EAPOL: SUPP_PAE entering state AUTHENTICATING
EAPOL: SUPP_BE entering state SUCCESS
EAP: EAP entering state DISABLED
EAPOL: SUPP_PAE entering state AUTHENTICATED
EAPOL: SUPP_BE entering state IDLE
EAPOL: startWhen --> 0
Estas mensagens indicam que ele se conectou ao ponto de acesso com o endereço MAC
"00:50:50:81:81:01" e que a conexão está disponível para transmitir dados.

Para confirmar, rode o comando "iwconfig", que mostrará algo como:

153
# iwconfig

lo no wireless extensions.
eth0 no wireless extensions.
eth1 IEEE 802.11g ESSID:"casa"

Mode:Managed Frequency:2.447 GHz Access Point: 00:50:50:81:81:01


Bit Rate=54 Mb/s Tx-Power:32 dBm
RTS thr=2347 B Fragment thr=2346 B
Encryption key:
Security mode:restricted
Power Management:off
Link Quality:65/100 Signal level:-54 dBm Noise level:-96 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Isso significa que ele se conectou com sucesso ao ponto de acesso. A partir daí, você precisa apenas
configurar os parâmetros da rede (IP, máscara, gateway e DNS) usando a ferramenta apropriada para que a
conexão fique disponível.

Se, por outro lado, você receber mensagens como:

Scan results: 0
Selecting BSS from priority group 0
No suitable AP found.
Setting scan request: 5 sec 0 usec
Starting AP scan (broadcast SSID)
Wireless event: cmd=0x8b1a len=8
... significa que a conexão não foi estabelecida. Pode ser que o seu notebook esteja muito longe do
ponto de acesso, fora da área de alcance, ou mesmo que o transmissor da placa wireless do notebook esteja
desativado.

Caso o ponto de acesso tenha sido configurado para não divulgar o SSID, experimente encerrar o
wpa_supplicant, definir o SSID da rede manualmente usando o iwconfig e em seguida iniciá-lo novamente,
como em:

# killall wpa_supplicant
# iwconfig wlan0 essid casa
# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -d -D wext

Depois de testar e ver que a conexão está funcionando corretamente, você pode passar a usar o
comando a seguir, trocando o "-d" por "-B". Isso faz com que o wpa_supplicant rode em modo daemon, sem
bloquear o terminal nem mostrar mensagens na tela:

# wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B -D wext

Depois de conectar na rede, falta apenas fazer a configuração dos endereços, da mesma forma que
faria ao configurar uma placa de rede cabeada. Para configurar a rede via DHCP, usamos o comando
"dhclient", seguido pela interface de rede, como em:

# dhclient wlan0

Para configurar a rede manualmente, usamos o comando "ifconfig" (que permite definir o endereço
IP e a máscara) e o "route" (que define o gateway), como em:

# ifconfig wlan0 192.168.1.2 netmask 255.255.255.0 up


# route add default gw 192.168.1.1 dev wlan0

Veja que ao usar o comando route, é necessário especificar a interface no final do comando.
Finalmente, é necessário editar o arquivo "/etc/resolv.conf", especificando o endereço do(s) servidor(es)
DNS. Uma forma rápida de fazer isso é usar o echo para escrever diretamente no arquivo:

154
# echo "nameserver 208.67.222.222" > /etc/resolv.conf

Para não precisar ficar digitando os comandos novamente a cada boot, você pode criar um script
contendo os comandos de configuração e passar a executá-lo quando quiser se conectar à rede. Basta criar um
arquivo de texto contendo os comandos para conectar ao ponto de acesso e configurar os endereços da rede,
como em:

#!/bin/sh
# Conecta ao ponto de acesso usando o wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B -D wext

# Configura a rede via DHCP


dhclient wlan0
ou:

#!/bin/sh
# Conecta ao ponto de acesso usando o wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant.conf -B -D wext

# Configura a rede manualmente


ifconfig wlan0 192.168.1.65 netmask 255.255.255.0 up
route del default
route add default gw 192.168.1.1 dev wlan0
echo "nameserver 208.67.222.222" > /etc/resolv.conf

Depois de salvar o arquivo, ative a permissão de execução, usando o comando "chmod +x scrip",
como em:

# chmod +x /usr/local/bin/conectar-wireless

A pasta "/usr/local/bin" é um bom lugar para salvar seus scripts, pois ela faz parte do path (o que faz
com que os scripts passem a ser vistos como comandos de sistema) e ela vem vazia por padrão na maioria das
distribuições. Você pode também salvar os scripts dentro do home (ou em outra pasta qualquer), mas nesse
caso você vai precisar especificar o caminho completo ao executar o script.

Você pode também adicionar os comandos ao final do arquivo "/etc/rc.d/rc.local" (o que faz com
que eles passem a ser executados automaticamente no final do boot), ou usar o script
"/etc/rc.d/rc.wireless.conf", que é a forma tradicional de configurar placas wireless no Slackware. Entretanto,
você vai perceber que configurar a placa através dele é mais complicado do que simplesmente ativar a rede
manualmente e criar seu próprio script.

Uma observação importante é que ao ser executado usando o parâmetro "-B", como fizemos dentro
do script, o wpa_supplicant fica ativo continuamente, tentando se conectar ao ponto de acesso até conseguir.
Se você precisar alterar a configuração da rede, precisa primeiro finalizá-lo antes de poder executar o script
novamente, usando a nova configuração. Para isso, finalize o processo usando o comando "killall", como em:

# killall wpa_supplicant

Se você precisar se conectar a redes sem encriptação, ou a redes com encriptação WEP, a conexão é
mais simples, feita usando o comando "iwconfig".

Para se conectar ao ponto de acesso, o primeiro passo é definir o SSID da rede, como em:

# iwconfig wlan0 essid casa

Para as redes sem encriptação, este único comando é suficiente para se associar à rede. Para as redes
com ecnriptação via WEP, o próximo passo é especificar a chave usando o parâmetro "key". Ao usar
caracteres hexadecimais, a chave terá 10 dígitos ("123456789A" no exemplo) e o comando será:

# iwconfig wlan0 key restricted 123456789A

155
Se a chave for em ASCII, onde cada caracter equivale a 8 bits, a chave terá apenas 5 dígitos ("qwert"
no exemplo) e o comando será:

# iwconfig wlan0 key restricted s:qwert

Veja que ao usar uma chave em ASCII você precisa adicionar o "s:" antes da chave. Ao configurar o
ponto de acesso para usar uma chave de 128 bits, a chave terá 26 dígitos em hexa ou 13 em ACSII. Depois de
terminar a configuração inicial, você pode ativar a interface com o comando:

# ifconfig wlan0 up

Usando o Ndiswrapper: Para as placas que não são suportadas pelo sistema (e não aparecem ao rodar
o "cat /proc/net/wireless"), a opção mais simples é usar os drivers do Windows através do Ndiswrapper. Ele
não está disponível nos repositórios do Slackware, mas você pode instalá-lo através do SlackBuild disponível
no http://www.slackbuilds.org/, seguindo o exemplo do tópico sobre instalação de programas.

Para usar o Ndiswrapper, você precisa ter em mãos o driver da placa para Windows XP, que pode ser
encontrado no CD de instalação ou no site do fabricante. Comece descompactando o arquivo do driver em
uma pasta qualquer do sistema, de forma que os arquivos ".inf" que fazem parte do driver fiquem visíveis. No
caso dos arquivos disponibilizados no formato .exe, você pode descompactar usando o comando cabextract,
como em "cabextract sp36684.exe".

Para carregar o driver, acesse a pasta contendo os arquivos e carregue o arquivo .inf usando o
comando "ndiswrapper -i", como em:

# ndiswrapper -i net5211.inf

Rode agora o comando "ndiswrapper -l" para verificar se o driver foi mesmo ativado. Você verá uma
lista como:

Installed ndis drivers:


gplus driver present, hardware present

Com o driver carregado, ative o módulo com o comando:

# modprobe ndiswrapper

Se tudo estiver ok, o led da placa acenderá, indicando que ela está ativa. As placas ativadas através do
Ndiswrapper são sempre detectadas como "wlan0", independentemente do driver usado. Com a placa ativa,
falta apenas configurar a rede usando o wpa_supplicant ou o iwconfig, seguindo os mesmos passos que
vimos anteriormente.

Se a placa não for ativada, você pode ainda tentar uma versão diferente do driver. Nesse caso, você
precisa primeiro descarregar o primeiro driver. Rode o Ndiswrapper -l para ver o nome do driver e em
seguida descarregue-o com o comando "ndiswrapper -e".

Se o driver se chama "gplus", por exemplo, o comando seria:

# ndiswrapper -e gplus

Você pode então testar um driver diferente, carregando-o com o comando "ndiswrapper -i". Em
alguns casos, o próprio driver para Windows XP que acompanha a placa funcionará. Em outros é preciso
usar alguma versão específica do driver. Você pode encontrar várias dicas sobre placas testadas por outros
usuários do Ndiswrapper no http://ndiswrapper.sourceforge.net/, na seção "Documents/Wiki > List of
cards know to work".

Para que a configuração seja salva e o Ndiswrapper seja carregado durante o boot, você deve rodar o
comando:

# ndiswrapper -m

156
Em seguida, adicione a linha "ndiswrapper" no final do arquivo "/etc/modules", para que o módulo
seja carregado durante o boot.

CONFIGURANDO O LILO

O Slackware é uma das poucas distribuições Linux que ainda utilizam o lilo como gerenciador de
boot. Quase todas as demais, já fizeram a migração para o grub, que oferece mais recursos. Apesar disso, o
lilo ainda oferece algumas vantagens, com destaque para o fato de utilizar uma sintaxe de configuração mais
simples de entender.

No caso do Slackware, a configuração do lilo pode ser feita através do "liloconfig", que é o mesmo
script de configuração mostrado durante a instalação do sistema. No final de cada execução, ele regrava o lilo
no setor de boot do HD, de forma que as alterações sejam salvas e entrem em vigor a partir do próximo
boot.

Apesar disso, é sempre interessante entender como as coisas funcionam por baixo dos panos. Vamos
então a uma explicação rápida de como funciona a configuração do lilo.

O lilo utiliza um único arquivo de configuração, o "/etc/lilo.conf". Ao fazer qualquer alteração neste
arquivo é preciso chamar (como root) o executável do lilo, o "/sbin/lilo" ou simplesmente "lilo" para que ele
leia o arquivo e salve as alterações. Vamos então às explicações sobre a configuração usada no Slackware 12.2,
que se aplicam também a outras distribuições que utilizam o lilo.

Para começar, abra o arquivo "/etc/lilo.conf" da sua máquina e acompanhe opção a opção:

boot=/dev/sda
Esta é quase sempre a primeira linha do arquivo, determinando onde o lilo será instalado. Ao indicar
um dispositivo, como em "/dev/sda", ele é instalado na trilha MBR do HD, enquanto ao indicar uma
partição, como em "/dev/sda1", ele é instalado no primeiro setor da partição, sem reescrever a MBR.

Ao instalar vários sistemas no HD, seja Linux e Windows ou várias distribuições diferentes, apenas
um deles deve ter o lilo gravado na MBR. Este terá a função de inicializar todos os outros, cujos
gerenciadores foram instalados nas respectivas partições.

Ao verificar esta linha, lembre-se de verificar qual é o dispositivo do HD na sua instalação. Um HD


IDE, por exemplo, será detectado como "/dev/hda" e não como "/dev/sda".

Se você tiver dois HDs, e estiver instalando o sistema numa partição do segundo ("/dev/hdb1", por
exemplo), e usar a linha "boot=/dev/hdb", o lilo será instalado no MBR do segundo HD, não do primeiro.
Durante o boot, o BIOS vai continuar lendo o MBR do primeiro HD, fazendo com que continue sendo
carregado o sistema antigo. Se você quiser que o sistema instalado no segundo HD passe a ser o principal, use
a linha "boot=/dev/hda", que gravará no MBR do primeiro HD.

bitmap = /boot/slack.bmp
bmp-colors = 255,0,255,0,255,0
bmp-table = 60,6,1,16
bmp-timer = 65,27,0,255
Estas linhas ativam o uso de uma imagem como pano de fundo da tela de boot. Ela é a responsável
pela exibição do logo do Slackware na tela de boot, em vez do menu em texto que era usado em versões
antigas.

157
Embora não seja tão simples quanto possa parecer à primeira vista, você pode substituir
a imagem, personalizando a tela de boot. Para começar, você precisa de uma imagem de 640x480
com 256 cores (indexada), salva em .bmp. No Gimp existe a opção de codificar a imagem usando
RLE, o que diminui muito o tamanho, sem quebrar a compatibilidade com o lilo. Salve a imagem
dentro da pasta "/boot" e edite a linha "bitmap=", indicando a localização da nova imagem.

O próximo passo é definir as cores e coordenadas do menu com a lista dos sistemas
disponíveis e da contagem de tempo. A configuração das cores é a parte mais complicada, pois os
códigos variam de acordo com a paleta usada na imagem escolhida. Abra a imagem no Gimp e
clique em "Diálogos > Mapa de Cores". Isso mostra as cores usadas e o número (índice da cor) de
cada uma. As cores usadas no lilo são definidas na opção "bmp-colors", onde você define uma cor
para a opção selecionada e outra para as demais opções do menu. Cada uma das duas escolhas tem
três cores, uma para as letras, outra para o fundo e uma terceira (opcional) para um efeito de sombra
no texto, como em: "bmp-colors = 255,9,35;9,255,35". Se não quiser usar a sombra, simplesmente
omita o terceiro valor, como em: bmp-colors = 255,9,;9,255,

Em seguida vem a parte mais importante, que é definir as coordenadas e o tamanho da caixa
de seleção dos sistemas disponíveis, que será exibida sobre a imagem. Os dois primeiros valores
indicam as coordenadas (x e y) e os dois valores seguintes indicam o número de colunas
(geralmente apenas uma) e o número de linhas, que indica o número máximo de entradas que
poderão ser usadas: bmp-table = 61,15,1,12

Finalmente, temos a posição do timer, que mostra o tempo disponível para escolher antes que
seja inicializada a entrada padrão. A configuração do timer tem 5 valores, indicando as coordenadas
x e y e as cores (texto, fundo e sombra). Novamente, o valor da sombra é opcional: bmp-timer =
73,29,255,9

Ao terminar, não se esqueça de salvar as alterações, regravando o lilo.

Continuando, temos a linha que indica a resolução do frame-buffer, que é indicada durante a
instalação:

vga=791
Use "vga=785" para 640x480, "vga=788" para 800x600, "vga=791" para 1024x768 ou "vga=normal"
para desabilitar o frame-buffer e usar o modo texto padrão.

Quase todas as placas de vídeo suportam frame-buffer, pois ele utiliza resoluções e recursos previstos
pelo padrão VESA. Apesar disso, algumas placas, mesmo modelos recentes, suportam apenas 800x600. Ao
tentar usar 1024x768 num destes modelos, o sistema exibe uma mensagem no início do boot, avisando que o
modo não é suportado e o boot continua em texto puro. O "vga=788" é um valor "seguro", que funciona em
praticamente todas as placas e monitores.

Em seguida, temos as linhas:

prompt
timeout = 1200
A linha "timeout=" indica o tempo de espera antes de entrar no sistema padrão, em décimos de
segundo. O valor máximo é 30000 (3.000 segundos). Não use um número maior que isto, ou o lilo acusará o
erro e não será gravado corretamente. Se você quiser que ele inicie direto o sistema padrão, sem perguntar,
você tem duas opções: usar a timeout=1 (que faz com ele espere só 0.1 segundo, imperceptível), ou remover
a linha "prompt".

A linha "append" (que é adicionada apenas quando você especifica parâmetros adicionais para o
kernel durante a instalação do sistema) contém parâmetros que são repassados ao kernel, permitindo
solucionar problemas. Ao especificar a opção "acpi=off" (que desabilita o uso do ACPI, resolvendo
problemas de travamento ou bugs diversos em algumas placas), por exemplo, seria incluída a linha:

append = "acpi=off"
Em seguida, vem a seção principal, responsável por inicializar o sistema. Ela contém a localização do
executável principal do kernel e do arquivo initrd, caso seja usado um:

158
# Linux bootable partition config begins
image = /boot/vmlinuz
root = /dev/sda3
label = Linux
read-only
A linha "root=" indica a partição onde o sistema está instalado, ou seja, onde o lilo vai procurar os
arquivos especificados, enquanto o "Label" é o nome do sistema. O nome pode ter no máximo 14 caracteres
e não deve conter caracteres especiais. O lilo é bastante chato com relação a erros dentro do arquivo, se
recusando a fazer a gravação até que o erro seja corrigido.

Ao instalar vários sistemas na mesma máquina, você pode adicionar linhas extras referentes a cada um.
Nesse caso, fazemos uma coisa chamada "chain load", onde o lilo carrega o gerenciador de boot do outro
sistema (instalado na partição) e deixa que ele faça seu trabalho, carregando o respectivo sistema. A
configuração para outros sistemas é bem simples, pois você só precisa indicar a partição de instalação e o
nome de cada um, como em:

other=/dev/hda1
label=Mandriva

other=/dev/hda5
label=Fedora
Para referenciar as outras instalações deste modo, é necessário que o gerenciador de boot de cada um
esteja instalado no primeiro setor da partição, o que é feito quando você escolhe instalar o gerenciador de
boot no primeiro setor da partição durante a instalação, em vez de instalar na MBR.

No caso do Windows, você não precisa se preocupar, pois ele instala o gerenciador de boot
simultaneamente no MBR e na partição. O instalador verifica a presença de uma instalação do Windows no
HD e adiciona uma entrada referente a ela automaticamente, como em:

# Windows bootable partition config begins


other = /dev/sda1
label = Windows
table = /dev/sda
Apenas um gerenciador de boot pode ser instalado na MBR, de forma que ao instalar outra
distribuição, ou ao reinstalar o Windows, o lilo é substituído pelo novo gerenciador. O segredo para instalar
várias distribuições no mesmo HD é sempre instalar o gerenciador de boot no primeiro setor da partição,
escolhendo uma delas para gravar na MBR e inicializar as outras.

Existe uma receita simples para alterar e reinstalar o lilo de outras distribuições instaladas no HD em
caso de problemas. Imagine, por exemplo, que você reinstalou o Windows e ele subscreveu a MBR, apagando
a gravação do lilo e fazendo com que o Slackware não dê mais boot. A solução seria regravar o lilo do
Slackware, alterando a configuração (caso necessário) para que ele ofereça também a opção de inicializar o
Windows.

Para isso, dê boot usando uma distribuição live-CD e abra um terminal. Defina a senha de root
usando o comando "sudo passwd" e logue-se como root usando o "su". Monte a partição onde o Slackware
está instalado, como em:

# mount -t ext3 /dev/sda3 /mnt/sda3

Agora usamos o comando chroot para "entrar" na partição montada, a fim de editar o lilo.conf e
gravar o lilo. Todos os comandos dados dentro do chroot são na verdade executados no sistema que está
instalado na partição.

É preciso indicar o sistema de arquivos em que a partição está formatada ao montar (como no
exemplo acima), caso contrário o chroot vai dar um erro de permissão.

# chroot /dev/sda3

Agora use um editor de texto em modo texto, como o mcedit ou o joe para alterar o arquivo
"/etc/lilo.conf" e chame o executável do lilo para salvar as alterações. Depois de terminar, pressione Ctrl+D
para sair do chroot.

159
# mcedit /etc/lilo.conf
# lilo

É possível também remover o lilo, usando o comando "lilo -u" ("u" de uninstall). Ao ser instalado pela
primeira vez, o lilo faz um backup do conteúdo da MBR e ao ser removido este backup é recuperado. Esta
opção pode ser útil em casos onde você instala o lilo na MBR (sem querer) e precisa recuperar o sistema
anterior.

ATIVANDO E DESATIVANDO SERVIÇOS

A maior parte dos aplicativos são utilitários que são executados quando você clica no ícone do iniciar
ou os chama através do terminal. Além deles, existe uma categoria especial de aplicativos, os daemons, que
podem ser carregados automaticamente durante o boot.

Uma vez carregado, o daemon executa continuamente alguma operação (como manter o relógio
sincronizado com o de um servidor disponível na web), ou escuta em uma terminada porta, oferecendo
algum tipo de serviço. Nesta categoria se enquadram todo tipo de servidores, como o SSH, Apache, Proftpd,
Bind, Postfix e assim por diante. Durante a instalação, você tem a opção de configurar quais dos servidores
instalados serão carregados na hora de boot, mas, naturalmente, a configuração pode ser alterada
posteriormente.

No Slackware, o que determina se cada um vai ser carregado ou não é um script armazenado na pasta
"/etc/rc.d/". Cada servidor instalado cria um script com seu nome dentro da pasta e o sistema simplesmente
executa tudo que encontrar dentro da pasta na hora do boot.

A forma mais simples de desativar um serviço no Slackware é tirar a permissão de execução do script
correspondente, como em:

# chmod -x /etc/rc.d/rc.sshd

Se depois você mudar de ideia, basta ativar novamente:

# chmod +x /etc/rc.d/rc.sshd

Você pode também parar e reiniciar os serviços ativos (ao alterar sua configuração, por exemplo)
usando os parâmetros start (iniciar), stop (parar) e restart (parar e depois iniciar novamente, ativando
mudanças na configuração), como em:

# /etc/init.d/rc.sshd stop

# /etc/init.d/rc.sshd start

Para verificar quais serviços estão ativos, use o comando "ls /etc/rc.d/". Os que aparecem em verde
são os com permissão de execução, os que estão ativos; enquanto os em branco são os desativados:

160
Caso o uso de cores não esteja ativado, crie o arquivo ".bashrc" dentro do diretório "/root", ou do
diretório home do login que estiver utilizando, contendo a linha:

alias ls="ls --color=auto"


Aqui vai um resumo da função dos principais serviços. Lembre-se de que os scripts são criados apenas
quando o pacote correspondente é instalado. Outras distribuições usam uma estrutura semelhante, mas
geralmente colocando os scripts dentro da pasta "/etc/init.d/" ao invés de usar a pasta "/etc/rc.d/" como no
Slackware:

rc.acpid: O acpid é responsável por ativar o suporte a ACPI, que por sua vez é o responsável pelos
recursos de economia de energia, suspender, hibernar e outras funções. Ele é um recurso básico em qualquer
PC atual, sobretudo nos notebooks.

rc.alsa: Como vimos anteriormente, o Alsa é o responsável pelo suporte a placas de som. O rc.alsa é o
script que carrega os módulos do Alsa, fazendo com que a placa de som seja ativada durante o boot. Mesmo
com o serviço desativado, existe a possibilidade de fazer a placa funcionar carregando os módulos e ativando
os componentes manualmente, mas, naturalmente, é muito mais fácil simplesmente manter o serviço ativo. :)

rc.atalk: O talk é um serviço antigo, que permite enviar mensagens para outros micros da rede local.
Ele é pouco usado atualmente e fica desativado por padrão.

rc.bind: O Bind é um servidor DNS. Se ele estiver ativo, você pode usar o endereço "127.0.0.1" como
DNS na configuração da rede, sem depender do DNS do provedor. Em um servidor, ele pode ser
configurado para responder pelos domínios hospedados.

rc.cups: O Cups controla o suporte a impressão. Ele é necessário tanto para usar impressoras locais
quanto impressoras de rede. Ele pode ser desativado para economizar recursos da máquina, mas,
naturalmente, você só vai conseguir usar uma impressora depois de ativá-lo novamente.

rc.dnsmasq: O dnsmasq é um servidor DHCP e DNS reduzido, que pode substituir o bind e o dhcpd.
Se seu objetivo é simplesmente compartilhar a conexão com os micros da rede local, ele pode ser uma boa
opção, já que é mais leve e mais simples. Lembre-se de que ao usar o dnsmasq você não deve ativar nem o
bind nem o dhcpd, e vice-versa.

rc.firewall: Este é um script opcional, que pode ser usado para incluir (manualmente) regras de
firewall, para fechar as portas do seu micro, compartilhar a conexão, encaminhar portas para micros da rede
interna (no caso de compartilhar a conexão) e assim por diante.

Para um micro doméstico, o script a seguir seria uma configuração simples e efetiva. Ele permite o
acesso por parte dos outros micros da rede local, mas fecha o micro para acessos provenientes da Internet,
sem prejudicar a navegação. Lembre-se de substituir o "192.168.0.0/255.255.255.0" pela faixa de endereços e
máscara usada na sua rede local, caso diferente:

iptables -A INPUT -s 192.168.0.0/255.255.255.0 -j ACCEPT


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
Teremos mais alguns exemplos de scripts de firewall no capítulo sobre o Ubuntu. Você pode também
ver uma explicação mais elaborada sobre o Iptables no livro Servidores Linux, Guia Prático.

rc.gpm: O gpm permite usar o mouse em modo texto, facilitando o uso de aplicativos como o links e
o mc. Em alguns casos ele pode conflitar com o X, tornando o movimento do rastro do mouse errático, de
forma que muitos preferem mantê-lo desativado.

rc.httpd: Este script ativa ou desativa o servidor Apache, caso instalado. Caso ativo, você pode testar o
servidor web instalado na sua máquina acessando o endereço "127.0.0.1:80" no navegador.

rc.inet1: Este script tem a função de ativar a ou as placas de rede durante o boot. Ele lê a configuração
de cada placa (IP, máscara, etc.) a partir do arquivo "/etc/rc.d/rc.inet1.conf", que, por sua vez, é gerado
automaticamente ao configurar a rede usando o netconf. Lembre-se de que a configuração dos servidores
DNS usados para acessar a internet não vai nestes arquivos, mas sim no "/etc/resolv.conf".

161
rc.inet2: Este script é responsável por carregar vários outros servidores, como o SSH, NFS e NIS
(caso habilitados), carregar o inetd e também montar compartilhamentos de rede NFS ou Samba que você
tenha eventualmente incluído no "/etc/fstab".

rc.ip_forward: Ativa o compartilhamento da conexão com os outros micros da rede local.


Normalmente, você usa este serviço em conjunto com o dnsmasq ou com o bind e dhcpd.

rc.local: Este script pode ser usado para incluir comandos diversos que você quer que sejam
executados durante o boot. Se o sistema não estiver ativando o DMA para o HD, por exemplo, você poderia
incluir o comando "hdparm -c1 -d1 /dev/hda" para forçar a ativação.

rc.modules: Este arquivo é usado para carregar módulos de kernel adicionais durante o boot. Como
(fora as funções normais do HAL e de utilitários básicos, como o alsaconf) o Slackware não inclui muitas
funções de detecção de hardware, em alguns casos você pode precisar editar este arquivo para ativar algum
componente. Para facilitar, ele vem com vários comentários e vários módulos separados por categorias.

rc.nfsd: O NFS é um protocolo usado para compartilhar arquivos entre máquinas Linux. Este script
ativa o servidor NFS, que é, por sua vez, configurado através do arquivo "/etc/exports". Ao ativar o nfsd, é
necessário ativar também o portmap.

rc.pcmcia: Este script ativa o suporte genérico a placas PCMCIA. Pode ser desativado se você não está
usando um notebook, ou se não pretende usar nenhuma placa PCMCIA/PC-Card.

rc.portmap: O portmap é usado pelo NFS e também pelo NIS (um serviço de autenticação, pouco
usado atualmente). O portmap recebe as conexões dos clientes e as envia para os servidores propriamente
ditos. Sem ele, nenhum dos dois funciona.

rc.samba: O samba permite compartilhar arquivos com máquinas Windows e também com outras
máquinas Linux, que tenham o cliente samba instalado. Ao instalar o pacote "samba" no Slackware você
instala ambos, mas em outras distribuições é mais comum encontrar o samba dividido em dois ou mais
pacotes, permitindo que você instale apenas o cliente, ou apenas o servidor.

Este script inicia o servidor Samba. Você não precisa dele se deseja apenas acessar compartilhamentos
de outras máquinas, sem compartilhar nada. O Samba é configurado através do arquivo
"/etc/samba/smb.conf" ou através do Swat. É possível usar o Samba para, desde simplesmente compartilhar
algumas pastas numa rede ponto a ponto, até configurar um servidor de domínio. Você pode ver mais
detalhes sobre a configuração do Samba e outros servidores no meu livro Servidores Linux, Guia Prático.

rc.sendmail: O Sendmail é um servidor de e-mails completo, que permite tanto enviar, quanto receber
e-mails via SMTP. Alguns usuários das antigas deixam o Sendmail ativo para poder enviar e-mails
diretamente, sem depender do SMTP do provedor, mas hoje em dia isso tem se tornado problemático devido
aos diversos tipos de filtros e bloqueios que os provedores e empresas de hospedagem passaram a usar graças
ao problema do spam. Muitos e-mails enviados através de conexões domésticas ficarão retidos em algum
filtro e não chegarão ao destinatário.

O Sendmail possui um histórico de segurança complicado, com muitos problemas graves descobertos
ao longo de sua história. Se você não pretende realmente configurar um servidor de e-mails, é importante
desativá-lo. Hoje em dia o Sendmail vem perdendo espaço para outros servidores, como o Postfix e o Qmail.

rc.serial: Este script ativa as portas seriais do micro. Ele é usado apenas em micros antigos, que ainda
possuem portas seriais.

rc.sshd: O SSH permite acessar sua máquina remotamente, seja para administrar e resolver problemas
remotamente, seja para rodar programas. Assim como o Samba, o SSH é composto de um cliente e um
servidor, que é ativado por este script.

A configuração do servidor SSH (feita na máquina que será acessada remotamente) vai no arquivo
"/etc/ssh/sshd_config". No Slackware o suporte ao uso de aplicativos gráficos remotamente vem
desabilitado por padrão. Para reativar, adicione a linha "X11Forwarding yes" no final do arquivo.

162
Aproveite para adicionar a linha "ForwardX11 yes" também no arquivo "/etc/ssh/ssh_config" da
máquina cliente. Apesar do nome ser parecido (apenas uma letra a menos), ele é bem diferente do
sshd_config, contendo a configuração do cliente SSH.

rc.syslog: O syslog é responsável por gerar os logs do sistema, que podem ser acompanhados através
do arquivo "/var/log/syslog". Embora não seja obrigatório, é recomendável mantê-lo ativo.

rc.sysvinit: O Slackware usa uma estrutura de scripts de inicialização diferente de outras distribuições,
similar à organização dos BSDs. É por isso que no Slackware os scripts vão na pasta "/etc/rc.d" ao invés da
"/etc/init.d" e todos começam com "rc.". Este script cria uma camada de compatibilidade que permite que
muitos programas escritos para outras distribuições possam funcionar no Slackware.

rc.udev: O udev é o responsável por detectar periféricos (incluindo periféricos USB e dispositivos
removíveis em geral), carregando os módulos apropriados, criando os devices de acesso e executando outras
funções necessárias para ativá-lo, tarefa que em distribuições antigas era executado pelo hotplug. O udev é
um dos serviços essenciais do sistema em qualquer distribuição atual, por isso você nunca deve desativá-lo.

rc.yp: Este script ativa o NIS, um sistema de autenticação para máquinas Linux, que permite
configurar um servidor central, onde os clientes passam a fazer login, como ao usar um servidor de domínio
em uma rede Microsoft. O NIS vem perdendo terreno para o LDAP e outros protocolos, pois as
informações são transmitidas em texto puro pela rede e podem ser facilmente interceptadas. Assim como no
caso do Sendmail, este script só deve ficar ativo caso você realmente utilize o NIS, seja como servidor, ou
como cliente. Em ambos os casos, é necessário editar o script, colocando as informações da sua rede.

Concluindo, além dos scripts, existe uma segunda categoria de serviços que são inicializados
diretamente através do inetd. Ele permite economizar recursos do sistema, fazendo com que serviços pouco
usados (como o Swat, que usamos para configurar o Samba) sejam carregados apenas quando forem
necessários, ao invés de ficarem o tempo todo carregados na memória. Você pode configurá-lo através do
arquivo "/etc/inetd.conf".

Por padrão, o arquivo vem com muitas linhas comentadas com exemplos de configuração e apenas o
"time" e o "consat" ativados. Cada linha é um comando que carrega algum serviço ou outro componente do
sistema. Para desativar um determinado serviço você precisa apenas comentar a linha (adicionando uma #) e
descomentá-la caso queira ativá-lo novamente.

Assim como no caso dos scripts no rc.d, você deve manter inicializados apenas os serviços que
realmente pretender usar, para evitar abrir brechas de segurança na sua máquina.

APLICATIVOS EM MODO TEXTO

Nem só de cat e ls vive o terminal. Por estranho que possa parecer, existem diversos aplicativos
elaborados para o modo texto, que cobrem quase todas as principais áreas. Você poderia questionar a
utilidade destes aplicativos, já que, afinal, existem aplicativos gráficos muito mais elaborados, mas a verdade é
que, apesar de aparentemente primitivos, os aplicativos em modo texto conservam algumas vantagens
importantes.

Eles são mais leves, o que permite que sejam usados até mesmo em máquinas muito antigas, podem
ser usados remotamente (via SSH ou outros meios) mesmo através de conexões lentas e podem também
serem usados dentro de shell scripts, onde é possível combinar o trabalho de diversos comandos para realizar
tarefas complexas.

Um gerenciador de arquivos completo como o "mc" consome apenas 2 MB de memória RAM,


enquanto o "centericq" (cliente ICQ, AIM, etc.) consome pouco mais de 500 KB. Graças ao "gpm", é
possível utilizar o mouse na maior parte dos aplicativos de modo texto e muitos são baseados na biblioteca
"ncurses", que permite incluir janelas, menus, etc., o que torna seu uso muito similar ao dos programas
gráficos. Ao contrário da crença popular, pouca gente ainda roda aplicativos em terminais de texto puro:
quase sempre eles são utilizados dentro de um terminal gráfico, lado a lado com outros aplicativos. Vamos a
alguns exemplos:

Navegadores: Entre os navegadores em modo texto, as atenções se dividem entre o links e o lynx, que
apesar do nome parecido, são dois softwares bastante diferentes. Além de serem uma opção para casos em
que você precise pesquisar alguma coisa em uma máquina onde o ambiente gráfico não está funcionando, eles

163
servem também como opções de navegadores leves, que você pode usar em situações diversas. Por não
carregarem imagens, arquivos em Flash ou perfumarias, eles são uma opção para momentos em que a
conexão está lenta. Para usá-los, basta chamá-los no terminal, seguido pela página desejada, como em:

$ links gdhpress.com.br

ou

$ lynx guiadohardware.net

A grande diferença entre os dois é que o lynx reformata as páginas em uma única coluna (assim como
fazem os navegadores móveis, que reformatam as páginas para que possam ser exibidas em telas QVGA),
enquanto o links se esforça para manter a formatação original. De uma forma geral, o lynx se sai melhor
quando você está em um terminal de texto puro, com uma resolução de tela baixa e sem mouse, enquanto o
links é mais agradável de usar quando você está usando o navegador dentro de um terminal gráfico. Apesar
de rodar no terminal, o links suporta o uso do mouse, de forma que você pode navegar clicando nos links,
como faria em qualquer navegador gráfico:

O lynx oferece a vantagem de incluir um melhor suporte a javascript, permitindo acessar um volume
muito maior de páginas que exigem login ou usam recursos mais específicos. Ele é também capaz de utilizar
as cores para diferenciar os elementos do texto, enquanto o links é basicamente monocromático.

No links, pressione F10 para abrir o menu de funções. Para que ele exiba os caracteres acentuados,
mude o charset para "ISO 8859-1" no "Setup > Character Set". No mesmo menu está disponível também a
opção de mudar a linguagem para português do Brasil.

Em ambos, você pode usar as setas para a esquerda e direita para voltar e avançar e a tecla "q" para
sair. Para abrir uma nova página, pressione a tecla "g"; para rolar a página use "Page Up" e "Page Down" e,
para navegar entre os links, use os direcionais para cima e para baixo ou a tecla Tab.

Algo que pouca gente sabe é que o links pode ser utilizado também como um navegador gráfico
(mesmo em um terminal de texto puro), tirando proveito do uso do frame-buffer. Para isto, basta chama-lo
com o comando "links -g".

164
Na maioria das distribuições, o pacote é compilado sem suporte a gráficos, por isso a opção não
funciona (seria necessário baixar o código-fonte e recompilar usando a opção "--enable-graphics" ao rodar o
./configure), mas no caso do Slackware é necessário apenas que o frame-buffer esteja ativado.

Outra dica, desta vez sobre o lynx, é que ele pode ser usado como uma forma simples de converter
páginas Web para arquivos de texto, que podem ser lidos no seu smartphone ou mp3player ou transportadas
mais facilmente. Para isso, use o comando:

$ lynx -dump gdhpress.com.br > gdh.txt

Isto salvará a página index do site no arquivo texto.txt. Basta substituir o link pelo da página desejada.
O arquivo de texto fica com a mesma formatação que você veria ao visualizá-lo em um terminal com o lynx.
Os links no meio do texto são substituídos por números de referência ([01], [02], etc.) e as url's aparecem no
final do texto. Esse tipo de flexibilidade faz com que o lynx seja muito usado em shell scripts, sempre que é
necessário extrair alguma informação de uma página web.

Outra dica é que você pode visualizar arquivos de imagem no terminal usando o comando fbi, como
em:

$ fbi imagem.jpg

Ele exibe a imagem no terminal usando o frame buffer, assim como ao usar o "links -g". Para voltar
ao terminal, pressione Esc.

Download de arquivos: O wget é um gerenciador de downloads bastante competente, que oferece um


grande volume de opções, todas usadas via linha de comando. Isso faz com que ele seja uma opção muito
prática para download de arquivos em geral, já que você pode copiar a URL.

O uso mais básico é usar o wget seguido da opção "-c", que faz com que ele continue o download
caso interrompido, como em:

$ wget -c \
ftp://ftp.slackware-brasil.com.br/slackware-12.2-iso/slackware-12.2-install-dvd.iso

Se precisar interromper o download, pressione Ctrl+C para parar e em seguida use o histórico (seta
para cima) para executar novamente o comando e continuar de onde parou. Caso o arquivo já esteja
completo, ele exibe um aviso e não faz nada.

Se você precisar baixar vários arquivos em sequência, como em casos em que você precisa baixar os
vários CDs de uma distribuição, use o ponto e vírgula para separar vários comandos do wget, como em:

$ wget -c url1; wget -c url2; wget -c url3; wget -c url4

Isso faz com que os 4 arquivos sejam baixados em sequência, um de cada vez. Se quiser falar difícil,
você pode fazer a mesma coisa usando:

$ for i in url1 url2 url3 url4; do wget -c $i; done

Este é na verdade um mini shell script, que faz com que ele execute o comando "wget -c" para cada
uma das urls especificadas, armazenando o valor de cada uma na variável "$i". Esta é uma função simples,
que é muito usada em situações que você precisa rodar o mesmo comando repetidamente.

Continuando, caso a conexão esteja ruim, com a transferência parando frequentemente, você pode
especificar um timeout usando a opção "-T", ela faz com que o wget reinicie a transferência caso não receba
dados dentro do tempo especificado (em segundos), repetindo o processo até conseguir baixar o arquivo,
como em:

$ wget -c -T 30 \
ftp://ftp.slackware-brasil.com.br/slackware-12.2-iso/slackware-12.2-install-dvd.iso

Uma dica é que você pode selecionar a URL do arquivo a ser baixado na janela do navegador e colar o
texto no terminal usando o botão central do mouse. Se você estiver usando o konsole ou o gnome-terminal,

165
você pode também colar o texto da área de transferência clicando com o botão direito sobre o terminal e
usando a opção "colar".

Mensagem: Por estranho que possa parecer, você pode usar o MSN, ICQ e até mesmo o Gtalk (que
na verdade utiliza o protocolo Jabber) em modo texto, graças ao CenterICQ, disponível no:
http://thekonst.net/centericq/

Embora a interface não seja exatamente simples de usar, ele é surpreendentemente completo do ponto
de vista dos protocolos suportados, oferecendo suporte a todas as principais redes. Você encontra o pacote
para o Slackware no http://www.slacky.eu.

Outro exemplo de cliente multiprotocolo é o Pebrot, disponível no: http://pebrot.sourceforge.net/.


A interface é muito mais simples, mas ele oferece como ponto forte a possibilidade de ser controlado através
de comandos, o que permite usá-lo dentro de shell scripts. Com isso, você pode criar bots simples para
monitorar o status dos contatos, mandar mensagens automáticas e assim por diante.

MP3 e CD: O utilitário mais simples para tocar arquivos de áudio via terminal é o "mpg123", que
pode ser chamado diretamente no terminal, seguido do nome do arquivo a tocar, como em:

$ mpg123 arquivo.mp3

Você também pode tocar uma playlist através do comando "mpg123 -@ arquivo". A playlist pode ser
gerada através de vários programas tocadores de mp3. No XMMS, por exemplo, você precisa apenas clicar
com o botão direito sobre a janela do editor de playlists e em "salvar lista" para gerar a playlist da lista de
faixas atual. Se por acaso o comando não estiver disponível, procure pelo pacote "mpg123".

Uma opção mais elaborada é o Orpheus (do mesmo criador do CenterICQ) que pode ser baixado no
http://konst.org.ua/orpheus. Ele é capaz de tocar tanto MP3 quanto CDs de áudio e oferece uma interface
pseudo-gráfica, baseada no ncurses, com menus e tudo mais.

Gerenciamento de arquivos: Em termos de gerenciamento de arquivos, o mc é sem dúvidas a melhor


opção. Ele é também baseado no ncurses e suporta o uso do mouse. A interface é baseada em teclas de atalho
e é um pouco complicada de usar no início, mas o volume de opções disponíveis permite executar muitas
operações que não são possíveis ou não são práticas mesmo em gerenciadores gráficos, como o Konqueror e
o Nautilus. Essa combinação de funções e leveza faz com que ele ainda seja bastante utilizado:

166
O mcedit (o editor de textos) surgiu originalmente como um módulo do mc, destinado a visualizar
aquivos de texto, mas eventualmente acabou ganhando vida própria, passando a ser usado separadamente. De
qualquer forma, os dois continuam ligados: para instalar o mcedit, você precisa instalar o pacote "mc", que
inclui também o gerenciador de arquivos.

Screenshots: Você pode tirar screenshots via linha de comando usando o import, utilitário incluído na
maioria das distribuições. Naturalmente ele se aplica apenas quando você estiver usando um terminal dentro
do modo gráfico. A sintaxe básica é:

$ import tela.png

Ao executar o comando, o botão do mouse virará um cursor. Desenhe um retângulo na parte da tela
que você deseja capturar e ela será automaticamente capturada e salva no arquivo "tela.png" no diretório
corrente. Se você preferir capturar o conteúdo de uma janela, basta clicar sobre a barra de título. Se por outro
lado você quiser um screenshot da tela toda, não apenas de uma janela, adicione a opção "-windows root",
como em:

$ import -window root tela.png

O formato de compressão das imagens é especificado diretamente no nome do arquivo. Nos


exemplos salvei as imagens em .png, mas para salvá-las em .jpg basta alterar a extensão do arquivo gerado,
"import imagem.jpg" por exemplo.

A principal vantagem do import é que ele pode ser chamado a partir de scripts. Você pode agendar
um trabalho no cron para tirar um screenshot a cada minuto e assim monitorar o que está sendo feito no PC,
por exemplo.

Bittorrent: Você pode baixar arquivos via bittorrent em modo texto usando o btdownloadcurses e o
btlaunchmanycurses, que são destinados a, respectivamente, baixar apenas um arquivo e baixar diversos
arquivos .torrent dentro de uma pasta. A sintaxe para especificar opções adicionais é um pouco complicada e
você vai sentir falta de algumas funções especiais disponíveis nos clientes gráficos mais elaborados, como a
possibilidade de encriptar a transmissão, mas eles atendem bem à função básica, que é baixar os arquivos.
Ambos fazem parte do pacote "bittornado", que no Slackware está disponível dentro da pasta
"/extra/bittornado".

O uso básico é usar o btdownloadcurses seguido pelo arquivo a ser baixado, como em:

$ btdownloadcurses openSUSE-11.0-DVD-i386.torrent

Como de praxe, você não precisa necessariamente digitar o nome do arquivo, pode usar um "ls" e em
seguida copiar e colar usando o botão central do mouse, ou simplesmente usar a tecla TAB para completar o
nome do arquivo. Caso precise baixar arquivos com caracteres especiais, coloque o nome entre aspas simples
('), isso faz com que o shell deixe de interpretar os caracteres especiais. Para encerrar o download, pressione
"Ctrl+C".

Caso precise baixar vários arquivos de uma vez, coloque todos dentro de uma pasta e, dentro dela, use
o:

$ btlaunchmanycurses ./

Ele monitora o conteúdo da pasta, ativando novos arquivos que forem copiados para dentro dela e
desativando o compartilhamento de arquivos removidos. Isso permite que você deixe um terminal aberto,
rodando o btlaunchmanycurses e vá simplesmente copiando novos arquivos .torrent que quiser baixar para
dentro delas, sem precisar fechar e abrir novamente o btlaunchmanycurses para cada alteração.

Para limitar a taxa de upload, adicione a opção "--max_upload_rate", seguida pela taxa máxima
desejada (em kbytes), como em:

$ btdownloadcurses --max_upload_rate 32 openSUSE-11.0-DVD-i386.torrent

ou:

167
$ btlaunchmanycurses ./ --max_upload_rate 16

Como pode ver, no caso do btdownloadcurses, o parâmetro vem antes do nome do arquivo e no caso
do btlaunchmanycurses vem depois.

O bittornado é uma versão aprimorada dos clientes bittorrent originais, que fazem parte do pacote
"bittorrent". O pacote inclui também outros utilitários relacionados, como o "bt-t-make" (usado para criar
torrents) e o "bttrack" (que permite compartilhá-los, usando seu PC como tracker), além do "btdownloadgui",
que é um cliente gráfico.

Limitador de banda: Você pode limitar a taxa de download e de upload usada pelo bittorrent, wget ou
qualquer outro aplicativo usando o trickle (http://monkey.org/~marius/pages/?page=trickle), que é um
pequeno aplicativo de traffic shapping de linha de comando.

Ele controla o acesso à rede por parte do aplicativo, monitorando o tráfego de dados e atrasando as
requisições, de maneira a encaixá-lo dentro das taxas especificadas por você. A grande vantagem é que a
limitação é aplicada apenas ao aplicativo especificado, sem atrapalhar a conexão de outros programas que
esteja usando, nem de outros micros da rede.

Você pode baixar o pacote para o Slackware no http://kaneda.bohater.net/slackware/packages/. Em


outras distribuições, basta instalá-lo usando o gerenciador de pacotes.

Para usá-lo, basta incluí-lo no início do comando, como em:

$ trickle -s -d 48 wget arquivo

O "-s" faz com que ele rode em modo stand-alone, o que é o ideal quando você quer usá-lo para
apenas um comando específico, enquanto o "-d" especifica a taxa máxima de download, em kbytes. No caso
de aplicativos que fazem upload de arquivos, como no caso do bittorrent, você pode especificar a taxa
máxima de upload usando a opção "-u", como em:

$ trickle -s -d 48 -u 16 btdownloadcurses arquivo.torrent

Alguns aplicativos podem ter problemas ao rodar sob o trickle, devido à maneira agressiva com que
ele limita as conexões. Um bom exemplo é o btlaunchmanycurses, que costuma travar com o "segmentation
fault" depois de alguns segundos. No caso deles, adicione a opção "-t 10", que aumenta o tempo durante o
qual o aplicativo pode transmitir dados sem ser interrompido, como em:

$ trickle -s -d 48 -u 16 -t 10 btlaunchmanycurses ./

Naturalmente, o uso não está limitado apenas aos aplicativos de linha de comando. Você pode limitar
as taxas de download ao baixar arquivos através do Konqueror, por exemplo, chamando-o através do trickle,
como em:

$ trickle -s -d 48 konqueror

Vídeo: O Mplayer é um dos players de mídia mais usados no Linux. Existem diversas interfaces para
ele, tais como o Gmplayer e o SMPlayer, mas, na verdade o Mplayer pode ser usado diretamente via linha de
comando, basta usar o comando "mplayer", seguido do arquivo a exibir, como em:

$ mplayer video.avi

Para exibir um DVD (para assistir DVDs protegidos, é necessário que o pacote libdvdcss esteja
instalado), o comando básico é:

$ mplayer dvd://1

A página de manual do mplayer (man mplayer) inclui um volume absurdo de parâmetros e opções que
podem ser adicionados. Para assistir o DVD com o áudio em inglês e as legendas em português, abrindo o
filme diretamente, sem passar pelo menu inicial, o comando seria:

$ mplayer dvd://1 -alang en -slang pt

168
Originalmente, executar estes comandos faz com que ele abra uma nova janela e passe a exibir o filme,
como qualquer outro aplicativo gráfico. A linha de comando no caso serve apenas para controlar o aplicativo.

A parte engraçada começa quando você começa a brincar com as opções de saída do Mplayer, que
permitem que ele seja usado mesmo em um terminal de texto puro. 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 aos vídeos a partir do modo texto são:

$ mplayer -vo svga filme.avi

Este comando usa o driver SVGA, que funciona na maioria das placas, exibindo o filme em tela cheia.
Para usá-lo, é necessário que os módulos "svgalib" e "svgalib_helper" estejam carregados. Caso o mplayer
reclame que não consegue abrir o device "/dev/svga", experimente carregá-los usando o comando
"modprobe".

$ mplayer -vo vesa filme.avi

Este segundo comando usa o driver VESA, que funciona em algumas placas que não são compatíveis
com o driver SVGA.

$ mplayer -vo fbdev filme.avi

Esta terceira opção é baseada no uso do frame-buffer, o mesmo recurso que é usado para exibir
imagens no terminal. O uso de processamento é maior que no VESA e no SVGA, mas isso não é problema
para as máquinas atuais.

A principal dica é que para usar a opção "-vo fbdev", o lilo ou grub deve ter sido configurado para
usar 16 bits de cor (os valores "785", "788" ou "791"). O Slackware usa 256 bits por padrão, o que faz com
que o Mplayer exiba um erro e aborte a exibição.

Se você estava achando estranho assistir vídeos diretamente no terminal, se prepare para o driver mais
curioso:

$ mplayer -vo aa filme.avi

A opção "-vo aa" faz com que o vídeo seja exibido usando caracteres de texto, transformando o vídeo
em uma espécie de ASCII-art anabolizado. Ela na verdade não tem muito uso prático, já que a qualidade é
muito ruim, mas não deixa de ser um truque interessante:

Uma dica é que o "mplayer -vo svga" e o "mplayer -vo vesa" permitem exibir vídeos sem falhas em
máquinas com placas de vídeo sem drivers adequados, onde a renderização via software faz com que os

169
players gráficos engasguem. Se você tem um PC com um chipset de vídeo ATI, VIA ou SiS e não está
conseguindo assistir vídeos sem falhas, mesmo que o processador tenha potência mais do que suficiente,
experimente mudar para um terminal em texto puro (Ctrl+Alt+F2) e usar o mplayer. Ele pode ser a solução.

GERENCIADORES DE PACOTES NO SLACKWARE

Devido a problemas relacionados a patentes, o Mplayer não vem pré-instalado no Slackware, nem na
maioria das outras distribuições. Em outras distribuições, a instalação é feita adicionando um repositório
adicional e em seguida instalando o pacote "mplayer", deixando que o gerenciador de pacotes instale as
dependências automaticamente.

No caso do Slackware, entretanto, é necessário baixar uma pequena lista de pacotes e instalá-los
usando o installpkg:

mplayer
jack
ffmpeg
libdvdread
libdvdcss
lame
twolame
speex
a52dec
faac
faad2
libmpcdec x264
xvidcore
Estes pacotes não fazem parte do repositório oficial, mas estão disponíveis no http://www.slacky.eu/,
basta usar a pesquisa.

Parte deles estão disponíveis também no http://www.linuxpackages.net/. Se o acesso estiver muito


lento, você pode usar um mirror como o http://darkstar.ist.utl.pt/slackware/addon/ para baixar os pacotes,
usando o site principal apenas para fazer a busca.

Como pode ver, o Mplayer é na verdade um aplicativo complexo, que depende de vários outros
aplicativos e bibliotecas para funcionar. Se um deles estiver faltando, ele vai exibir uma mensagem no estilo
"mplayer: error while loading shared libraries: libx264.so.59: cannot open shared object file: No such file or
directory" e se recusar a abrir até que o pacote correspondente esteja instalado.

Em outras distribuições, esse problema de dependências é gerenciado automaticamente, de forma que


ao pedir pelo pacote "mplayer" o gerenciador verifica de que outros pacotes ele precisa e instala todos
automaticamente. A dificuldade deixa de ser a de baixar uma longa lista de pacotes e instalar um por um e
passa a ser simplesmente adicionar o repositório apropriado nas fontes de atualização.

Embora nem sempre sejam vistos com bons olhos, já que tiram um pouco o ar de simplicidade do
sistema, existem também opções de gerenciadores de pacotes para o Slackware, que facilitam a vida de quem
quer usá-lo sem precisar ficar fazendo downloads manuais, nem ficar se preocupando com dependências.

Usando o Slackpkg

O Slackpkg é um gerenciador de pacotes rudimentar, que oferece uma opção mais prática de usar em
relação à tradicional receita de baixar os pacotes manualmente e instalá-los usando o installpkg. Ele permite
instalar ou atualizar os pacotes de forma mais prática, com o gerenciador baixando as versões mais atuais dos
pacotes solicitados a partir de um mirror pré-selecionado.

Apesar da popularidade, o Slackpkg não era incluído por padrão no Slackware até a versão 12.1,
ficando disponível através da pasta "extra/slackpkg/" nos repositórios. Isso mudou a partir do Slackware
12.2, onde ele passou a ser instalado por padrão, como parte da categoria "ap".

170
Ao contrário do pkgtool, que trabalha apenas com pacotes locais, o slackpkg baixa os pacotes da
Internet, assim com o apt-get. O primeiro passo é editar o arquivo "/etc/slackpkg/mirrors" e descomentar a
linha com o mirror que será utilizado, como em:

ftp://ftp.slackware-brasil.com.br/slackware-12.2/
No arquivo você encontra uma lista com vários (muitos mesmo!) mirrors do Slackware, contendo os
endereços do Slackware 12.2 (ou da versão mais recente, no momento em que estiver lendo) e também do
slackware-current, onde você pode encontrar as versões de desenvolvimento (mais recentes, porém menos
testadas) dos pacotes.

A limitação é que você pode escolher apenas um endereço na lista, optando entre usar os pacotes da
versão atual, do slackware-current ou instalar os pacotes contidos no CD-ROM. Se eventualmente o mirror
escolhido estiver fora do ar, será necessário voltar ao arquivo, comentá-lo e desmarcar outro. Também não é
possível usar repositórios com pacotes extras, como no apt-get.

Caso você deixe mais de uma linha descomentada, o slackpkg se recusa a funcionar, exibindo a
mensagem:

Slackpkg only works with ONE mirror selected. Please, edit your
/etc/slackpkg/mirrors and comment one or more lines. Two or more
mirrors uncommented isn't valid syntax.

Depois de se entender com o arquivo, o próximo passo é fazer com que o Slackpkg baixe a lista e os
checksuns dos pacotes, o que é feito usando o comando:

# slackpkg update

A partir daí, você pode usar os parâmetros install, remove, upgrade e reinstall para gerenciar os
pacotes. O install faz com que ele baixe e instale o pacote; o remove e o upgrade, respectivamente, removem
e atualizam o pacote (caso exista uma nova versão ou atualização de segurança disponível), e o reinstall faz
uma reinstalação forçada do pacote, subscrevendo os arquivos. Esta última opção é útil para reparar arquivos
corrompidos ou instalações incompletas.

Para instalar o bittorrent, por exemplo, você usaria:

# slackpkg install bittornado

Para baixar a última versão do Firefox:

# slackpkg upgrade mozilla-firefox

É possível também instalar ou atualizar categorias inteiras. O exemplo mais comum é o KDE, que é
armazenado dentro da pasta kde/ do CD de instalação. Para instalar de uma vez todos os pacotes, o
comando seria:

# slackpkg install kde/

É possível também baixar de uma vez todas as atualizações de segurança disponíveis, usando o
comando:

# slackpkg upgrade patches

.. ou atualizar todo o sistema, usando o:

# slackpkg upgrade-all

Se você não lembrar do nome do pacote que quer instalar, tiver apenas uma vaga ideia, é possível usar
a opção "search" para procurar por pacotes, como em:

# slackpkg search alsa

171
O mesmo comando pode ser usado para procurar por arquivos e bibliotecas, nas situações onde você
precisa de determinado arquivo, mas não sabe de qual pacote ele faz parte.

Apesar de parecer muito complexo, o Slackpkg é na verdade um shell script, com pouco mais de 500
linhas, o "/usr/sbin/slackpkg", que utiliza dois arquivos adicionais com funções, localizados na pasta
"/usr/libexec/slaclpkg", totalizando menos de 1000 linhas. Você você pode dar uma olhada no código e até
mesmo fazer alterações usando qualquer editor de textos.

Devido à filosofia de manter o código simples, o Slackpkg não resolve muitos erros sozinho, deixando
sempre a cargo do dono verificar o que está errado. Também não existe nenhum tipo de checagem de
dependências. Assim como no pkgtool, nada impede que você remova qualquer componente essencial do
sistema. Pelo contrário, em muitas situações o slackpkg ajuda a pregar seu caixão, como ao usar o "slackpkg
remove kernel", que gera o seguinte diálogo:

Como pode ver, ele se oferece para remover não apenas o pacote com a imagem do kernel, mas
também os módulos e os headers. O default é o "OK", de forma que se você simplesmente pressionar Enter
na pergunta, ele prossegue com a operação sem pensar duas vezes.

Ao tentar fazer algo similar usando o apt-get, por exemplo, você receberia a famosa mensagem:

Você está prestes a fazer algo potencialmente destruidor.


Para continuar digite a frase 'Sim, faça o que eu digo!'
... onde você precisaria digitar, literalmente, o 'Sim, faça o que eu digo!' para continuar. Ou seja, ele
permite que você continue e faça o que quiser, mas a necessidade de confirmar a frase faz com que você
pense duas vezes antes de quebrar o sistema.

Usando o Slapt-get

O concorrente mais tradicional do Slackpkg é o Swaret (http://freshmeat.net/projects/swaret/), um


gerenciador que tenta emular a funcionalidade do apt-get e do urpmi (do Mandriva), oferecendo-se para
baixar os pacotes desejados, com a opção de já verificar as famosas dependências (ou seja, se o pacote
desejado precisa de outros para funcionar, com a opção de já instalar a turma toda de uma vez). O grande
problema é que o projeto está inativo desde 2005, o que levou ao crescimento do Slapt-get, que oferece uma
proposta similar.

Como o nome sugere, o Slapt-get se propõe a oferecer um sistema de download automático de


dependências, emulando o funcionamento do apt-get e outros gerenciadores de pacotes, mas trabalhando em
conjunto com os pacotes e os repositórios do Slackware.

172
A grande vantagem sobre o Slackpkg é que ele é capaz de trabalhar com vários repositórios
simultaneamente, incluindo repositórios não-oficiais como o Slacky, o que simplifica enormemente a
instalação de aplicativos com muitas dependências, como o Mplayer.

Você pode baixar o Slapt-get no http://software.jaos.org/. Não existe problema em instalá-lo ou


mesmo em usá-lo em conjunto com o Slackpkg ou com o installpkg/pkgtool, de forma que você pode ficar
livre para testá-lo e voltar para o Slackpkg ou para o sistema manual se não gostar.

O primeiro passo é, como de praxe, baixar a versão correspondente à versão do Slackware em uso e
instalar o pacote usando o installpkg, como em:

# installpkg slapt-get-0.9.12e-i386-1.tgz

Com ele instalado, o próximo passo é especificar os repositórios que serão utilizados, editando o
arquivo "/etc/slapt-get/slapt-getrc".

Por padrão ele inclui:

WORKINGDIR=/var/slapt-get
EXCLUDE=^kernel-.*,^glibc.*,.*-[0-9]+dl$,^devs$,^udev$,aaa_elflibs,x86_64
SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-12.2/
SOURCE=http://software.jaos.org/slackpacks/12.2/
A primeira linha indica o diretório de trabalho, onde ele armazenará os pacotes e outras informações
baixadas. A segunda é uma precaução de segurança, destinada a evitar que alguns pacotes essenciais do
sistema sejam removidos ou substituídos. As duas linhas finais são o que realmente interessa, ou seja, os
repositórios.

Por padrão, ele inclui apenas o repositório principal do Slackware e o endereço do mirror onde estão
disponíveis as atualizações do próprio Slapt-get. Como o repositório raiz do Slackware é lento devido ao
grande volume de tráfego, é interessante adicionar o endereço de um dos mirrors do Brasil. Você pode
adicionar também um dos mirrors do Slacky ou outro repositório não-oficial, como em:

WORKINGDIR=/var/slapt-get
EXCLUDE=^kernel-.*,^glibc.*,.*-[0-9]+dl$,^devs$,^udev$,aaa_elflibs,x86_64
SOURCE=ftp://ftp.slackware-brasil.com.br/slackware-12.2/
SOURCE=ftp://ftp.slackware.com/pub/slackware/slackware-12.2/
SOURCE=http://software.jaos.org/slackpacks/12.2/
SOURCE=http://darkstar.ist.utl.pt/slackware/addon/slacky/slackware-12.2/
Qualquer usuário mais antigo vai lhe alertar sobre o perigo de adicionar repositórios não-oficiais à
lista, já que isso abre brechas para problemas diversos relacionados às versões e a diferenças nas
dependências. Entretanto, se você já baixa pacotes dos mirrors não-oficiais regularmente, o argumento perde
a força, já que não existe muita diferença entre baixar os pacotes manualmente e instalar, ou adicionar o
mirror no Slapt-get e baixar os pacotes a partir dele. A principal dica é sempre prestar atenção nas mensagens
e não misturar repositórios com pacotes para versões diferentes do Slackware.

Depois de salvo o arquivo, o próximo passo é atualizar as listas (o que pode demorar um pouco se
você adicionou muitos mirrors), usando o:

# slapt-get --update

A partir daí, você pode instalar novos programas usando o "slapt-get --install", como em:

# slapt-get --install httpd

Apesar do nome não sugerir semelhança, o "httpd" nada mais é do que o pacote do Apache2. Se você
ativar o serviço depois de instalado, usando os comandos:

# chmod +x /etc/rc.d/rc.httpd
# /etc/rc.d/rc.httpd start

... e tentar acessar o endereço IP da sua máquina a partir de outro PC da rede, usando o navegador, vai
receber o "It works" do Apache, mostrando que o servidor está realmente ativo.

173
Para remover, use o "slapt-get --remove", como em:

# slapt-get --remove httpd

O Slapt-get tornaria a instalação do Mplayer do exemplo anterior muito mais simples. Desde que você
tenha adicionado um dos mirrors do Slacky no slapt-getrc, você poderia instalá-lo diretamente, usando o:

# slapt-get --install mplayer

O Slapt-get é capaz de checar as dependências e instalar junto os outros 12 pacotes:

Reading Package Lists... Done


The following NEW packages will be installed:
amrnb amrwb faac sqlite libsndfile jack-audio-connection-kit lame libmpcdec
speex twolame x264 xvidcore mplayer
0 upgraded, 13 newly installed, 0 to remove and 0 not upgraded.
Need to get 16.8MB of archives.
After unpacking 50.2MB of additional disk space will be used.
Ele é capaz também de atualizar o sistema, baixando todas as atualizações que estiverem disponíveis, o
que simplifica muito a administração do sistema, já que você não precisa mais baixar e instalar os pacotes da
pasta "patches/packages/" manualmente.

Para isso, rode o "slapt-get --update", para que ele atualize as listas de pacotes e, em seguida, o "slapt-
get --upgrade", como em:

# slapt-get --update
# slapt-get --upgrade

É possível também usar o Slapt-get para atualizar o sistema, migrando para uma nova versão. Para
isso, você precisaria editar o arquivo slapt-getrc, alterando a versão de todas as entradas da lista (de "12.1"
para "12.2", por exemplo) e, em seguida, rodar o "slapt-get --dist-upgrade", como em:

# slapt-get --update
# slapt-get --dist-upgrade

É possível também fazer buscas nos nomes dos pacotes usando a opção "--search", ou ver uma lista
de todos os pacotes disponíveis, usando a opção "--list" e a lista dos pacotes instalados usando a "--installed".

Você pode ver uma lista rápida das opções disponíveis usando o "slapt-get --help" ou ver a
documentação completa acessando a pasta "/usr/doc/slapt-get-$versao"

Outra ferramenta interessante é o Slackrool, um script que permite atualizar diretamente para o
slackware-current, transformando o Slackware em um sistema rolling-release, onde você tem acesso sempre
às versões mais atuais de todos os pacotes, assim como teria ao rodar a versão estável do Debian. Ele faz isso
orientando-se pelo feed de desenvolvimento do Slackware (http://dev.slackware.it/rss/snap_slackware-
current.xml) que segue o mesmo formato a vários anos, oferecendo uma lista de todos os pacotes atualizados
a partir de uma certa data.

Historicamente, mesmo as versões de desenvolvimento do Slackware costumam ser bastante estáveis,


fruto da cautela do desenvolvedor, mas nunca se sabe onde problemas esperados podem surgir.

De qualquer forma, caso queira arriscar, baixe o pacote no: https://github.com/rg3/slackroll e


instale-o como de praxe, usando o installpkg:

# installpkg slackroll-v31-noarch-1.tgz

Em seguida, visite o www.slackware.com/getslack/ e copie o link do seu mirror predileto. Este


endereço (a URL completa, indo até o "slackware-current") deve ser usada como parâmetro para o comando
"slackroll set-mirror", que especifica ao software de onde baixar os arquivos, como em:

# slackroll set-mirror 'http://slackware.cs.utah.edu/pub/slackware/slackware-current/'

174
Feito isso, falta apenas atualizar a lista de pacotes e iniciar a atualização:

# slackroll update

# slackroll upgrade

Estes dois comandos podem ser executados regularmente para manter o sistema atualizado. Você
pode transformá-los em comandos agendados, fazendo com que rodem semanalmente através do cron, por
exemplo, mantendo o sistema atualizado.

175
CAPÍTULO 3: MANDRIVA, KDE 4 E APLICATIVOS

Agora que já estudamos um pouco sobre a estrutura do sistema, uso do terminal e gerenciamento de
pacotes, vamos começar a estudar as demais distribuições, começando pelo Mandriva, que é uma espécie de
oposto exato do Slackware, focado na facilidade de uso. Por mais traumática que talvez tenha sido a
temporada no Slackware, você vai perceber que ela ajudará a entender mais profundamente o sistema do que
seria possível se começasse diretamente pelo Mandriva.

O Mandriva Linux (que surgiu a partir da fusão entre a MandrakeSoft e a Conectiva) é uma das
distribuições Linux mais fáceis de usar, desenvolvida com foco no usuário doméstico. O Mandriva foi uma
das primeiras distribuições a incluir um instalador gráfico e ferramentas de configuração fáceis de usar, ainda
na época em que o Linux estava restrito ao público técnico.

Ele é distribuído em três versões. O Mandriva One é um live-CD, que pode ser também instalado no
HD, de maneira muito similar ao Ubuntu Desktop. O One é a versão mais fácil de usar, já incluindo plugins e
outros componentes proprietários, e por isso é também a mais usada. Como o espaço é restrito, devido à
necessidade de colocar todo o sistema em um único CD, existem versões separadas do Mandriva One com o
KDE e com o GNOME.

Em seguida, temos o Mandriva Free (versão que abordo aqui) que corresponde à versão tradicional,
onde você dá boot e faz a instalação através do DrakX, o instalador usado desde os tempos do Mandrake. A
grande vantagem é que ela inclui um volume muito maior de pacotes (um DVD cheio) e permite que você
defina quais componentes quer instalar.

A principal observação com relação ao Mandriva Free é que, como o nome sugere, ele inclui apenas
pacotes livres, deixando de fora plugins e codecs, que podem ser adicionados manualmente após a instalação
do sistema.

Temos ainda o Mandriva Powerpack, uma versão comercial que se diferencia do Mandriva Free por
incluir alguns drivers e aplicativos proprietários (como os drivers para placas Atheros, drivers para placas da
nVidia e da ATI, o Acrobat Reader, RealPlayer, alguns codecs e outros componentes adicionais), que não
fazem parte do Mandriva Free por não serem open-source. Na verdade, estes componentes podem ser
instalados no Mandriva Free através de repositórios adicionais; o fato de eles não serem incluídos nas mídias
de instalação é apenas uma forma que a Mandriva encontrou para estimular o uso da versão paga. Aqui vai
uma pequena lista de links relacionados ao Mandriva para consulta:

Site Oficial: http://www.mandriva.com/pt-br


Download: http://www.mandriva.com/en/downloads/
Wiki: http://wiki.mandriva.com/
Blogs: http://planetmandriva.zarb.org/
Mandriva Club: http://club.mandriva.com/
Comunidade no Brasil: http://mandrivabrasil.org/

Para começar, vamos a um apanhado geral sobre a instalação do sistema que, apesar de simples,
esconde vários segredos.

DICAS DE INSTALAÇÃO

Na tela de boot, o primeiro passo é pressionar a tecla F2 e ajustar a linguagem. Além de fazer com que
o sistema seja instalado diretamente na linguagem selecionada, isso faz com que todas as opções daí em diante
apareçam traduzidas desde o início da instalação.

Como era de se esperar, o Mandriva oferece um bom suporte ao português do Brasil, já que boa parte
dos desenvolvedores trabalham no escritório de Curitiba. O Mandriva é também uma das distribuições que
mais contribuiu na tradução do KDE e de outros aplicativos, desde a época do Conectiva.

Como de praxe, o instalador suporta opções para o kernel, que podem ser usadas para solucionar
problemas. Para ter acesso à linha de edição, pressione a tecla F6 na tela de boot:

176
As opções de boot são as mesmas que vimos no capítulo 1. Se o instalador travar em algum ponto do
boot, por exemplo, experimente desativar o ACPI, usando a opção "acpi=off". Alguns recursos do sistema,
como o medidor de bateria (em notebooks) e o gerenciamento de energia para o processador ficarão
desativados, mas você poderá pelo menos concluir a instalação e usar o sistema. Experimente também a
"acpi=oldboot", que desativa apenas alguns recursos do ACPI, com menos efeitos colaterais.

Em casos de problemas com a detecção de alguns componentes, como a placa de som, placa de rede,
ou de uma placa wireless (que possua drivers para o Linux), experimente usar a opção "pci=noacpi". Ela faz
com que o sistema não utilize o ACPI para o roteamento de interrupções de IRQ, recurso que não funciona
corretamente em algumas placas-mãe. Além destas três opções, você pode usar todas as demais opções de
boot que modificam o comportamento do kernel, como a "noapic", "nolapic", "pci=biosirq", "irqpoll",
"reboot=b", "all-generic-ide" e assim por diante.

Além da instalação tradicional, utilizando o drive óptico, o instalador oferece também a opção de
instalar o sistema via rede. Nesse caso, você deve copiar todos os arquivos dos CDs ou do DVD de
instalação para uma única pasta em um servidor remoto e compartilhá-la via NFS, FTP ou via HTTP. Você
pode então dar boot nos clientes utilizando pendrives e usar a opção de boot "install=", especificando o
protocolo, o endereço IP do servidor e o diretório compartilhado, como em:

install=nfs://192.168.1.254/arquivos
O cliente tentará obter a configuração da rede via DHCP e contatar o servidor para iniciar a
instalação. Se você não tiver um servidor DHCP na rede, pode usar a opção "hostip=" para especificar o IP
que será usado pelo cliente, como em:

hostip=192.168.1.2 netmask=255.255.255.0 install=nfs://192.168.1.254/arquivos


Como comentei há pouco, o Mandriva foi uma das primeiras distribuições a trazer um instalador
amigável (ainda na época do Mandrake) e as versões atuais mantêm a tradição. Apesar disso, conhecer as
opções de instalação mais a fundo é sempre interessante, por isso vamos a elas:

Particionamento

Depois de confirmar a escolha da linguagem e aceitar o contrato de licença (que contém basicamente
os mesmos termos da licença GPL) e, se for o caso, ter a opção de fazer uma nova instalação, ou atualizar
uma instalação anterior, você chega ao particionamento, feito através do DiskDrake.

177
Ele começa com a tela básica de seleção, onde você pode usar uma das opções de particionamento
automático, ou usar a opção "Personalizar particionamento" para ter acesso ao DiskDrake e poder definir as
partições diretamente.

Entre as opções automáticas, você pode deixar que o utilitário redimensione uma partição Windows já
existente, usando o espaço livre para instalar o Mandriva ("Usar espaço livre na partição Windows"); pode
utilizar uma partição Linux previamente criada ("Usar partição existente"); pode usar o espaço não
particionado do disco (opção "Usar espaço livre"); ou, pode simplesmente apagar tudo o que estiver gravado
e partir para uma instalação limpa ("Apagar e usar o disco inteiro"), removendo todos os dados do HD:

Em qualquer um dos casos, o instalador cria um particionamento clássico, com três partições: uma
partição raiz (/) para a instalação do sistema, uma partição swap e e uma partição maior reservada ao diretório
home.

Se você pretende reparticionar a partição Windows, existem dois cuidados para que tudo saia bem.
Em primeiro lugar, o óbvio: certificar-se que existe espaço em disco suficiente. Outro cuidado importante é
desfragmentar o disco através do Windows antes de iniciar a instalação. O DiskDrake não é capaz de mover
arquivos dentro de partições NTFS, por isso ele só consegue redimensionar partições que foram previamente
desfragmentadas através do Windows.

A interface do particionador é muito similar à do Gparted e de outros particionadores atuais, sem


surpresas:

No topo da tela temos a lista dos sistemas de arquivos suportados: "EXT3", "XFS", "Swap",
"Windows" (partições FAT ou NTFS) além de "Outra" (outro sistema de arquivos não reconhecido) e

178
"Vazia" (espaço não particionado). Caso tenha mais de um HD instalado, você verá várias abas, que
permitem alternar entre eles.

Para alterar uma partição, basta clicar sobre ela e usar a opção "Redimensionar", que redimensiona
sem perda de dados. A opção "Deletar" permite apagar partições a fim de criar outras usando o espaço livre,
enquanto a opção "Formatar" formata uma partição já criada.

Não é preciso formatar as partições manualmente, pois, ao terminar o particionamento (clicando em


"Pronto"), o assistente se oferecerá para formatar as partições criadas. Uma dica importante é que as
alterações só são salvas no disco ao clicar no "pronto". Caso você faça alguma besteira, basta cancelar ou dar
um reset no micro para começar de novo.

A partição raiz (/) é sempre obrigatória, já que é onde o sistema será instalado. Embora uma
instalação básica do Mandriva ocupe pouco mais de 2 GB, é recomendável usar uma partição de sistema de
pelo menos 6 GB, já que você vai precisar de espaço para instalar programas adicionais e salvar arquivos.

O espaço ocupado pelo sistema tende a crescer bastante conforme você vai testando programas
adicionais e os arquivos de log e cache vão se acumulando. Se espaço não for problema, reservar 12 ou 15
GB é uma boa garantia contra falta de espaço no futuro. Ao usar a versão de 64 bits, você precisará de um
pouco mais de espaço, por causa da duplicação de algumas bibliotecas, necessárias para manter
compatibilidade com binários de 32 bits.

Se você pode abrir mão de mais alguns GB de espaço, é interessante criar uma partição adicional,
reservada para instalar outra distribuição, ou mesmo uma instalação do Windows em dual-boot no futuro,
mantendo a possibilidade de testar outros sistemas sem precisar mexer no particionamento.

Em seguida, temos a partição swap, que não é realmente obrigatória, mas é fortemente recomendável,
mesmo em máquinas atuais. Em uma máquina com 1 GB de RAM ou mais, a memória swap não é muito
usada, mas ela serve como uma garantia de que os aplicativos não começarão a travar por falta de memória ao
executar alguma tarefa mais intensa.

Caso você utilize o recurso de hibernação (onde o conteúdo da memória RAM é salvo no HD e ao
ligar o PC novamente ele volta ao ponto em que parou), a memória swap é usada (por default) para salvar o
conteúdo da memória, de forma que a partição deve ser um pouco maior.

Na maioria dos casos, uma partição swap de 2 GB é mais do que suficiente. Caso você use a
hibernação, é recomendável reservar os 2 GB mais a quantidade de memória RAM (ou seja, 3 GB no total em
um PC com 1 GB de memória RAM, por exemplo). Algumas tarefas, como edição de vídeos, renderização
3D ou compilação de aplicativos complexos podem resultar no uso de mais swap, mas estes são casos
específicos.

Em um micro desktop, a principal partição é a partição home. Ela acaba armazenando a maior parte
dos arquivos, por isso você pode criá-la usando todo o restante do espaço disponível. A ideia é que, ao
reinstalar o sistema ou mudar para outra distribuição, você formate apenas a partição raiz, preservando os
arquivos da partição home.

Ao criar uma nova partição você deve indicar o tamanho, o sistema de arquivos (o EXT3 é a
recomendação geral, com o novo EXT4 servindo como opção para quem quer um sistema de arquivos mais
atual, porém menos testado) e o diretório onde ela será montada:

179
Se você estiver usando mais partições, aproveite para definir pontos de montagem para elas, de forma
que você possa acessar os arquivos depois de concluída a instalação. Clicando no "Mudar para o modo
expert", você tem acesso às demais opções, como redimensionar partições sem perder os dados, alterar o
sistema de arquivos usado (tipo), formatar partições, alterar pontos de montagem ou alterar opções referentes
ao sistema de arquivos:

O DiskDrake apenas altera a tabela de partições. A formatação é feita na etapa seguinte, onde você
deve prestar atenção para formatar apenas a partição do sistema e outras partições recém criadas,
desmarcando outras partições com dados, especialmente a partição home.

180
Clicando no "Avançado", você tem a opção de verificar blocos defeituosos na partição, o que faz com
que o formatador realize um demorado exame de superfície, marcando qualquer eventual badblock que
encontrar. Esta opção raramente é necessária em HDs atuais, pois neles a própria controladora se encarrega
de marcar e remapear os badblocks automaticamente, mas pode ser útil ao tentar instalar em algum PC
antigo, com um HD baleado:

Finalizado o particionamento, o instalador se oferece para copiar o conteúdo das mídias de instalação
para o HD antes iniciar a instalação propriamente dita. Caso criado, esse cache de pacotes continua
disponível depois de instalar, permitindo que você instale pacotes adicionais sem precisar fornecer as mídias.
Por outro lado, ele torna a instalação mais demorada (já que é necessário copiar o conteúdo de todos os CDs,
ou todo o conteúdo do DVD, incluindo pacotes que não serão instalados) e o cache ocupa quase 4 GB de
espaço adicional na partição de instalação.

181
Assim como qualquer outra distribuição atual, o Mandriva é baseado em repositórios de pacotes.
Além dos CDs ou do DVD de instalação, é possível especificar repositórios adicionais durante a instalação.
Este é um recurso muitas vezes usado para facilitar a criação de instalações personalizadas do sistema, já que
você pode criar um compartilhamento de rede com um conjunto de pacotes adicionais, ativá-lo como mídia
suplementar e instalar os pacotes diretamente durante a instalação do sistema. Entretanto, na maioria dos
casos, você simplesmente usa o "Nenhum" e deixa que o instalador faça uma instalação tradicional.

182
Seleção de pacotes e dependências

Em seguida, temos a seleção de pacotes. A tela inicial oferece apenas a escolha entre instalar um
desktop baseado no KDE ou no GNOME, mas você tem acesso às categorias individuais usando a opção
"Instalação personalizada":

Entre as categorias, os nomes são bem explicativos. Algumas que você não deve deixar de instalar são
o "Estação de Internet" (que inclui os aplicativos básicos de rede e também o Firefox), "Configuração" (que
instala o Mandriva Control Center e outros utilitários) e um dos ambientes gráficos, ou seja, KDE ou o
GNOME.

É interessante marcar também as categorias "Computador de rede (cliente)", que inclui diversos
utilitários de rede e a "Ferramentas de Console", que instala um bom conjunto de utilitários de linha de
comando.

Se você não se importar em sacrificar 650 MB de espaço em disco, é interessante marcar também a
categoria "Desenvolvimento", que instala as bibliotecas e os compiladores necessários para instalar programas
e drivers a partir do código-fonte (os famosos pacotes .tar.gz). A instalação deles não é complicada, o
problema é que, na maioria das vezes, você não tem instalados os componentes necessários. Marcando a
categoria, você previne dores de cabeça no futuro.

183
Caso esteja instalando em um PC antigo, você pode experimentar o IceWM ou o LXDE (disponível a
partir do Mandriva 2009.1), que consomem muito menos memória e recursos do sistema. A principal dica
nesse caso é que você evite abrir aplicativos do KDE ou do GNOME, preferindo aplicativos "neutros",
como o Mplayer, o XMMS (ou o Audacious) e o Opera. O motivo é simples: ao abrir qualquer aplicativo do
KDE ou do GNOME, o sistema precisa carregar junto boa parte das bibliotecas associadas, o que faz cair
por terra a economia de memória.

Concluindo, ao marcar a categoria "Outros Ambientes Gráficos", são instalados também o Fluxbox e
o WindowMaker, que completam o time de pesos leves. Embora pouco usados atualmente, eles continuam
sendo opções para quem quer um desktop simples e limpo.

Tradicionalmente, o Mandriva não inclui os pacotes do XFCE, mas isso mudou a partir da versão
2009, onde ele passou a estar disponível através do pacote "task-xfce", que pode ser marcado durante a
instalação. Embora incluir um novo ambiente gráfico pareça uma tarefa simples, na verdade exige uma boa
dose de trabalho, já que é necessário integrá-lo ao sistema, gerar menus e configurações personalizadas e
assim por diante, de forma que ele se comporte de forma similar aos outros ambientes oferecidos pelo
sistema.

As opções dentro da categoria "Servidor" instalam serviços de rede como o Apache (incluído na
categoria Web/FTP" e o Samba (incluído na categoria "Servidor de Rede"). Por definição, servidores são
daemons que aceitam conexões remotas, compartilhando arquivos ou outros recursos. Se não forem bem
configurados, eles abrem brechas de segurança, por isso devem ser instalados apenas quando você realmente
precisa deles. O Samba, por exemplo, é instalado sempre que você deseja compartilhar arquivos com
máquinas Windows.

Marcando o "Seleção individual de pacotes" você tem acesso à lista dos pacotes que serão instalados,
que é justamente o principal atrativo de instalar o Mandriva Free em vez de simplesmente usar o Mandriva
One. Dentro da lista, os pacotes são organizados em categorias e subcategorias. Além da versão, tamanho e
descrição, você notará um campo com a importância do pacote:

184
Um "importante" indica que o pacote inclui algum aplicativo considerado desejável pelos
desenvolvedores, mas que não é necessariamente importante para o funcionamento do sistema. O mesmo se
aplica a muitos pacotes marcados como "precisa ter", que recebem esta designação por serem dependências
de outros pacotes e não necessariamente por serem importantes.

Um exemplo é o kaddressbook, que faz parte da suite kdepim (a suíte de organização pessoal que faz
parte do KDE). Ao desmarcá-lo são removidos também outros pacotes da suíte, como o kmail e o
korganizer. Ou seja, ele recebe a designação não por que seja realmente importante, mas apenas por ser
conter componentes utilizados por outros pacotes:

185
Gastar algum tempo examinando a lista de pacotes, lendo as descrições e testando a remoção de
alguns deles, de forma a entender as relações com outros pacotes do sistema, é uma boa forma de aprender
mais sobre a estrutura do sistema e sobre os aplicativos disponíveis; sem falar que permite fazer uma
instalação mais personalizada, contendo apenas os aplicativos que você vai usar. Se você tem uma meia hora
livre, este é um exercício mais do que recomendável. :)

Você perceberá, por exemplo, que mesmo marcando apenas a categoria "Estação de trabalho KDE",
alguns dos pacotes do GNOME permanecem marcados, já que o Mandriva Control Center e outros
utilitários do sistema são desenvolvidos com base na biblioteca GTK2. Hoje em dia, é muito difícil ter um
desktop baseado apenas nos pacotes do KDE ou apenas nos do GNOME, pois você sempre acaba
precisando de alguns aplicativos da outra família, o que obriga o sistema a instalar as bibliotecas necessárias.
Isso faz com que mais memória RAM seja usada, mas não chega a ser um grande problema em um PC atual.

O próximo passo é a cópia dos arquivos, a parte tediosa da instalação. Clicando no "Detalhes" você
pode acompanhar o log da instalação, que é um pouco mais interessante que os slides exibidos por padrão:

Contas, serviços e gerenciador de boot

Depois de concluída a cópia dos arquivos, o próximo passo é definir a senha de root e criar pelo
menos mais uma conta de usuário, que será usada para fazer login no sistema.

É importante que você utilize uma boa senha para o root, com no mínimo 8 caracteres. O motivo é
simples: a conta de root existe em qualquer sistema Linux, o que faz com que tentar adivinhar a senha seja
uma forma popular de tentar obter acesso ao sistema. Senhas fáceis podem ser adivinhadas e, uma vez que a
senha de root é descoberta, o invasor tem acesso irrestrito ao sistema.

186
Assim como em outras distribuições, a conta de root é bloqueada na tela de login (ao tentar se logar
com ela você recebe um aviso de que logins como root não são permitidos) já que a ideia é que você use o
sistema com uma conta normal de usuário e use o root apenas para tarefas administrativas.

De qualquer forma, você pode destravar o uso do root editando o arquivo


"/usr/share/config/kdm/kdmrc" (ou o "/var/lib/mandriva/kde4-
profiles/common/share/config/kdm/kdmrc", de acordo com a versão do Mandriva usada) e substituindo a
linha "AllowRootLogin=false" por "AllowRootLogin=true".

Para que a alteração entre em vigor, é necessário reiniciar o serviço "dm" (ou reiniciar o micro), de
modo que a configuração do KDM seja atualizada.

A menos que o sistema tenha sido instalado em um HD sem partições pré-existentes, o instalador
pergunta sobre a instalação do gerenciador de boot. A configuração do grub e a detecção de outros sistemas
operacionais instalados é feita de forma automática pelo instalador, mas você tem a opção de instalá-lo na
MBR, ou no primeiro setor da partição.

Instalando na MBR, o Mandriva passa a ser o sistema principal e você tem a opção de inicializar
outros sistemas previamente instalados na tela de boot. Se você está instalando o Mandriva em dual-boot com
o Windows, instale primeiro o Windows (veja as dicas no tópico sobre dual-boot), usando a primeira partição
do HD, e deixe para instalar o Mandriva depois, deixando que ele instale o gerenciador de boot na MBR:

187
A opção de instalar o gerenciador de boot no primeiro setor da partição é usado apenas em casos em
que você está instalando o Mandriva junto com outra distribuição Linux e não quer que ele subscreva o
gerenciador de boot criado por ela. Nesse caso, o Mandriva não inicializará diretamente; você precisará
configurar o gerenciador de boot da outra distribuição para carregá-lo.

A opção de inicializar através do disquete é na verdade uma opção obsoleta, onde o gerenciador de
boot é instalado em um disquete, e você dá boot através dele quando quer inicializar o sistema; uma forma
primitiva de dual-boot.

O próximo passo é a configuração do monitor, mais um passo que era complicado em distribuições
antigas, mas que passou a ser feito de forma automática. Isso se deve ao uso do DDC, um protocolo de
comunicação que permite que o sistema obtenha a lista dos modos de vídeo e das resoluções suportadas
diretamente do monitor. Com isso, o instalador é capaz de detectar a resolução (principalmente nos
monitores LCD, onde a resolução é fixa) e você precisa apenas confirmar a escolha:

188
De uma forma geral, erros de detecção são causados por incompatibilidades com a placa de vídeo e
não com o monitor. O motivo é simples: se o sistema não possui drivers para a placa de vídeo ou se não é
capaz de detectá-la corretamente (devido a alguma incompatibilidade relacionada ao ACPI, por exemplo), ele
é obrigado a usar o driver VESA, um driver genérico que funciona em (quase) todas as placas, mas que
suporta apenas resoluções de 800x600, 1024x768 e 1280x1024.

Se você estiver usando um cabo VGA genérico (em vez de utilizar o que veio com o monitor), existe
também a possibilidade de que ele não contenha os três fios usados pelo DDC, o que também faz com que o
sistema deixe de detectar corretamente o monitor. Nesses casos, você pode indicar manualmente o modelo
do monitor (a lista inclui modelos de vários fabricantes), ou escolher a configuração que mais se aproxima
dentro de uma lista de monitores genéricos. A maioria dos monitores CRT de 15 polegadas suportam
1024x768 com 75 Hz e a maioria dos de 17" suportam 1280x1024 com 75 ou 76 Hz. Os monitores de LCD,
por sua vez, utilizam uma taxa de atualização fixa, quase sempre de 60 Hz.

Continuando, no final do processo é exibido um resumo da instalação, onde você pode revisar e
alterar as configurações. Se você usa um teclado padrão americano, por exemplo, pode ajustar o layout no
"Hardware > Teclado", e assim por diante:

189
Se o PC está ligado em rede e acessa através de uma conexão compartilhada, o sistema obterá a
configuração da rede via DHCP e não perguntará sobre a conexão, mas você pode personalizar a
configuração da rede no "Rede & Internet > Rede".

Diferente do que tínhamos em distribuições antigas, onde era preciso indicar até mesmo a porta do
mouse manualmente, o sistema detecta todo o hardware suportado automaticamente, sem fazer perguntas.

Se algum componente não é detectado, é sinal de que o sistema não inclui os drivers necessários
(como no caso de muitas placas wireless, onde você precisa instalar o driver manualmente, ou carregar o
driver do Windows usando o Ndiswrapper), ou que algum problema ou incompatibilidade está impedindo a
detecção do dispositivo. No screenshot anterior, por exemplo, a placa de som aparece como "não
configurado" porque desativei o chipset de som onboard no setup.

Clicando no botão "serviços", você tem a oportunidade de revisar a lista de serviços que serão
carregados durante o boot, desabilitando os que não pretende utilizar. Veremos mais sobre a função de cada
serviço no tópico sobre o Mandriva Control Center.

Se você marcou a categoria "Servidor Web/FTP" durante a seleção dos pacotes, por exemplo, o
sistema inicializará o "httpd" (o servidor Apache) e o "proftpd" (servidor FTP). Se você quer apenas um
deles, basta desativar o outro.

Alguns serviços importantes são: "acpid" (responsável pelas funções de gerenciamento de energia),
"alsa" (responsável pelo uso da placa de som), "harddrake" (detecção de hardware), "network" (ao desativá-lo
você derruba as interfaces de rede), "dm" (controla a exibição da tela de login e de todo o ambiente gráfico),
"haldameon" (necessário para a detecção de dispositivos USB e outros periféricos removíveis) e
"messagebus" (serviço de troca de mensagens, que notifica os aplicativos de mudanças no hardware instalado,
também necessário para a detecção de periféricos removíveis):

190
De volta à lista principal, aproveite para ajustar o nível de segurança padrão do sistema. Use "Nível de
Segurança - Alto" e "Firewall - ativado" em máquinas diretamente conectadas à Internet ou que precisem de
segurança adicional, ou "Nível de Segurança - Padrão" e "Firewall - desativado" em máquinas de rede local,
onde você quer apenas usar o sistema e ativar alguns serviços sem complicação:

No final da instalação, você tem a opção de baixar as atualizações para pacotes atualizados após o
lançamento do sistema. O objetivo de oferecerem esta opção durante a própria instalação é permitir que você
atualize o sistema antes mesmo de inicializá-lo pela primeira vez, de forma a corrigir qualquer eventual
vulnerabilidade de segurança antes mesmo que o serviço em questão seja ativado (um alívio para
administradores paranóicos). Naturalmente, para que a opção funcione é necessário que a conexão já esteja
configurada e funcionando.

191
Assim como outras distribuições atuais, o Mandriva utiliza um splash gráfico com uma barra de
progresso. Você pode usar um splash alternativo, que mostra as mensagens de boot usando a opção
"splash=verbose" na tela inicial do instalador, ou simplesmente desativá-lo inteiramente usando a opção
"splash=0", o que te devolve o boot clássico em texto.

Você pode também alterar a configuração depois da instalação, editando o arquivo


"/boot/grub/menu.lst" e alterando o "splash=silent" na sétima linha (kernel...) por "splash=verbose" ou
"splash=0":

O splash é exibido usando framebuffer, que é um módulo de acesso direto à memória da placa de
vídeo, usado pelo próprio kernel, antes do carregamento do ambiente gráfico. Se você quiser que as
mensagens de boot sejam exibidas usando 1024x768, em vez dos 800x600 padrão, pode alterar a opção
"vga=788" (na mesma linha) por "vga=791".

Esta configuração não é suportada por algumas placas de vídeo (você passa a receber uma mensagem
durante o boot avisando que o modo não é suportado), mas nesse caso basta voltar ao arquivo e desfazer a
alteração.

No primeiro boot é aberto assistente de registo no Mandriva User, que você pode cancelar clicando
no "decline". Depois de tudo concluído, chegamos à tela de login, onde você pode escolher qual ambiente
gráfico utilizar:

192
Embora a maioria instale apenas o KDE ou o GNOME, de acordo com suas preferências, nada
impede que você marque os dois ambientes durante a instalação e chaveie entre eles até decidir qual quer
utilizar em definitivo.

ADICIONANDO REPOSITÓRIOS EXTRAS

Depois de instalado o sistema, o passo seguinte é instalar plugins, codecs e softwares adicionais. A
principal deficiência do Mandriva Free é a ausência de muitos pacotes, considerados proprietários. Isso é de
se esperar, já que a proposta da versão é justamente incluir apenas aplicativos livres. Entretanto, você pode
solucionar isso de forma muito simples, adicionando os repositórios do PLF. Eles incluem codecs, plugins,
drivers e todos os demais pacotes que ficam de fora da distribuição oficial por questões de licenciamento.

A forma mais fácil de fazer isso é usar o Easy Urpmi, um site que cataloga os projetos mais utilizados
e oferece uma interface via web fácil de usar. O endereço do site é:

http://easyurpmi.zarb.org/

A configuração é bastante simples. O primeiro passo é indicar a versão do Mandriva em uso, seguida
pela arquitetura ("i568" para a versão de 32 bits e "x86_64" para a versão de 64 bits). Se você estiver usando
um beta da próxima versão, selecione a opção "auto-detectar", que faz com que o urpmi utilize o repositório
da versão cooker (o repositório de desenvolvimento, utilizado pelas versões alpha e beta do Mandriva) e
chaveie automaticamente para a versão estável quando ela estiver disponível.

Em seguida, role a página e clique nos botões "Adicionar mídias oficial" e "Adicionar mídias PLF".
Em ambos os casos, o botão devolve um arquivo com a extensão "urpmi-media", que a partir do Mandriva
2008.1 já está associado com o urpmi. Basta deixar que o sistema abra o arquivo usando o aplicativo padrão:

Outra opção é usar os comandos de terminal que o Easy Urpmi fornece no final da página. Basta
executá-los como root, selecionando o texto no navegador e colando com o botão do meio do mouse:

193
O repositório "Oficial" adiciona os repositórios "non-free" mantidos pela Mandriva. Eles ficam
desativados por padrão no Mandriva Free, daí a necessidade de adicioná-los através do Easy Urpmi, junto
com o PLF.

Para confirmar que as mídias foram adicionadas corretamente, acesse a opção "Gerenciador de
pacotes > Configurar mídias fonte para instalação e atualização" dentro do Mandriva Control Center e
verifique se os espelhos do PLF aparecem na lista:

Nas versões anteriores, era necessário escolher qual mirror utilizar e marcar manualmente os
repositórios. Entretanto, isso não é mais necessário nas versões atuais, pois o Easy Urpmi passou a enviar
diretamente a lista com os mirrors disponíveis, o que permite que o gerenciador escolha automaticamente o
mais rápido.

Se por acaso você estiver usando uma versão antiga do Mandriva, pode acessar a interface antiga
clicando no "mude para a interface antiga". Existe também uma versão separada para quem usa o smart como
gerenciador de pacotes, no lugar do urpmi:

194
Uma vez que os repositórios são configurados, você pode instalar os pacotes normalmente através do
urpmi, que funciona de forma muito similar ao apt-get, baixando os pacotes e checando as dependências.

Alguns pacotes que você vai provavelmente querer instalar depois de ativar o PLF são:

win32-codecs: Adiciona o suporte a vídeos em wmf, quicktime e outros formatos, através do uso de
DLLs do Windows.

libdvdcss2: Suporte a DVDs protegidos. Caso esteja usando a versão de 64 bits, instale o pacote
"lib64dvdcss2".

mplayer-gui mplayer-skins mplayer-fonts mplayerplugin: Este é o kit de pacotes para uma instalação
completa do Mplayer. É sempre interessante tê-lo à mão, pois ele é capaz de exibir muitos vídeos em
formatos exóticos, sem falar em arquivos danificados que outros players não conseguem abrir.

vlc: O VLC é outro player de vídeo bastante poderoso que é bom ter à mão. Ele é também um dos
mais leves.

flash-player-plugin: Instala o suporte a flash, que não vem incluído por padrão no Mandriva Free. O
pacote substitui a instalação manual a partir do http://www.adobe.com/products/flash/.

Entendendo o urpmi

Uma das diferenças fundamentais entre o Mandriva e as distribuições da família Debian, como o
Ubuntu e o Kubuntu, é que ele utiliza pacotes .rpm, em vez de pacotes .deb. Na verdade, não existe nada de
fundamentalmente diferente entre pacotes .deb ou pacotes .rpm; em ambos os casos são usados arquivos
compactados, combinados com um arquivo de descrição, lista de dependências e (opcionalmente) scripts de
pré e pós-instalação. Existem até mesmo utilitários que permitem converter pacotes de um formato para o
outro (como o alien), o que é na verdade uma tarefa bastante simples.

O que torna os pacotes de uma distribuição incompatíveis com outras não é o formato dos pacotes,
mas sim o conteúdo. Você pode perfeitamente converter um pacote rpm do Mandriva usando o alien, e
instalá-lo manualmente no Ubuntu usando o dpkg; mas fazer o programa funcionar vai ser outra história, já
que a estrutura do dois sistemas é bem diferente.

As distribuições baseadas em pacotes RPM, como o Red Hat e o Mandriva, adquiriram uma certa má
fama no passado, devido à falta de gerenciadores de pacotes inteligentes, que fossem capazes de solucionar
dependências automaticamente (como no caso do apt-get). Entretanto, com o aparecimento do yum e do
urpmi, isso deixou de ser problema. Existem diversos fatores técnicos que diferenciam o apt-get, o yum e o
urpmi, e é possível defender a supremacia de qualquer um deles sobre os outros com base em algum fator
isolado; mas, na prática, eles funcionam de forma muito similar.

195
Já que estamos falando do Mandriva, vamos então a uma explicação mais detalhada sobre o urpmi.

Um dos pontos fortes do Mandriva é que uma boa parte das opções de configuração do sistema
podem ser feitas através do Mandriva Control Center (o mcc), incluindo, naturalmente, o gerenciamento de
pacotes:

A opção "Instalar & Remover Software" é a mais básica, oferecendo uma interface gráfica para o
gerenciador de pacotes, similar à oferecida por aplicativos como o Synaptic e o Adept. Ele permite visualizar
os pacotes através de categorias (o que é útil quando você estiver apenas fuçando, em busca de programas
interessantes), mas, quando você quer um programa específico, é mais rápido localizar o pacote usando a
busca:

Marque a opção "Todos" no menu da esquerda para que as buscas mostrem todos os resultados
(incluindo bibliotecas, codecs e outros componentes que você vai precisar com frequência, e não apenas
aplicativos gráficos). A interface permite que você marque vários pacotes e instale todos de uma vez ao clicar
no "Aplicar".

Se a ideia é remover pacotes, mude a opção do segundo campo de "Todos" para "Instalados". Isso
fará com que tanto a lista de categorias quanto a busca retornem apenas os pacotes já instalados, oferecendo a
opção de removê-los:

196
O urpmi tem na verdade um funcionamento bem similar ao do apt-get. Ele pode ser configurado para
instalar pacotes a partir de várias fontes, incluindo CD-ROMs e repositórios disponíveis via http ou ftp. Ele já
vem configurado para utilizar por padrão os CDs de instalação, mas você pode adicionar outras mídias
posteriormente, como fizemos no caso do PLF.

Você pode revisar os repositórios utilizados e configurá-los manualmente através da opção


"Configurar mídias fonte para instalação e atualização" no gerenciador de software. Se você quer que ele
baixe todos os pacotes via web, em vez de pedir o DVD de instalação, por exemplo, basta desmarcar as duas
primeiras linhas (Mandriva Linux - 2009.0 (Free) Installer e Mandriva Linux 2009.0 (Free) - Installer contrib),
que contêm o atributo "CD-ROM" no campo "tipo".

Assim como o apt-get, o urpmi trabalha mantendo uma base de dados com as listas dos pacotes
disponíveis em cada mirror. A lista é atualizada cada vez que você abre o gerenciador de software dentro do
mcc (o que torna a abertura dele bastante demorada), mas você pode fazer a atualização manualmente sempre
que quiser instalar pacotes via linha de comando usando o comando "urpmi.update -a":

# urpmi.update -a

Para instalar um pacote, basta chamar o urpmi seguido do nome do pacote desejado, como em:

# urpmi kaffeine

Se você não souber o nome completo do pacote (ou ele não estiver disponível com o nome que você
espera), experimente usar apenas as primeiras letras. Isso faz com que o urpmi retorne uma lista dos pacotes
que começam com a expressão, como em:

# urpmi kaf

Nenhum nome de pacote kaf


Os seguintes pacotes contém kaf:
kaffe
kaffe-devel
kaffeine
kaffeine-engine-gstreamer
kaffeine-engine-xine
kaffeine4
libkaffeine-devel
libkaffeine0

Para remover um pacote, use o comando "urpme", como em:

# urpme kmymoney2

197
Se por acaso você precisar instalar algum pacote .rpm baixado manualmente, você pode usar o
tradicional "rpm -Uvh", como faziam os pioneiros:

# rpm -Uvh pacote.rpm

É importante lembrar que forçar a instalação de pacotes antigos ou pacotes destinados a outras
distribuições é a forma mais fácil de quebrar o sistema. Antes de instalar, certifique-se que o pacote é
realmente compatível com a versão do Mandriva que está usando e que ele não está disponível para instalação
através do PLF ou outro repositório que você possa adicionar ao urpmi.

Concluindo, para instalar as atualizações e correções de segurança, use a opção "Atualizar seu sistema"
do gerenciador de software. Caso você esteja usando uma versão beta, ela permite também acompanhar as
modificações do sistema, até chegar à versão final.

É possível também instalar as atualizações via linha de comando, usando os comandos:

# urpmi.update -a
# urpmi --auto-select

MANDRIVA CONTROL CENTER

O Mandriva Control Center, ou simplesmente mcc, é a principal ferramenta de configuração do


Mandriva e o grande trunfo em relação a outras distribuições. Ele agrupa um volume surpreendente de
funções em uma interface fácil de usar, oferecendo um ponto central para a configuração da maior parte das
funções do sistema, que estão divididas em 9 abas:

Depois da aba do gerenciador de software, que vimos no tópico anterior, a próxima é a


"Administração Online", que inclui um único ícone, o "Controle Remoto (Linux/Unix, Windows)". Ele
permite compartilhar o desktop com outras máquinas (usando o kxkb, que é por sua vez uma versão
modificada do VNC, que compartilha a tela local), conectar em outras máquinas Linux e, também, se
conectar a máquinas Windows com o compartilhamento da área de trabalho ativado ou a servidores WTS
(nesse caso usando funções do rdesktop):

198
O WTS, ou "Windows Terminal Server " é o sistema de acesso remoto utilizado nas
versões Server do Windows, baseado no protocolo RDP. Ele permite que vários terminais se
conectem simultaneamente ao mesmo servidor e executem aplicativos a partir dele. O servidor fica
então com todo o processamento, enquanto os terminais se limitam a exibir as imagens na tela, um
sistema bastante similar ao que temos no Linux ao usar o LTSP.

O maior obstáculo é a questão do licenciamento, já que além da licença do servidor, você


precisa de licenças para os clientes. As máquinas com as versões domésticas do Windows XP e do
Vista também podem ser acessadas remotamente, mas sem suporte a várias conexões simultâneas
(quando você se loga remotamente, ele coloca a sessão local em espera e, ao se logar localmente, ele
fecha a conexão remota).

Em ambos os casos, é possível se conectar a partir de máquinas Linux usando o rdesktop (ou
uma interface para ele, como no caso da função do Mandriva Control Center). Para se conectar a
uma máquina Windows (192.168.0.45 no exemplo), abrindo uma janela de 1000x700 pixels e 16 bits
de cor, por exemplo, você usaria o comando "rdesktop -5 -a 16 -g 1000x700 192.168.0.45".

Ao compartilhar o desktop, você pode acessar a máquina com o Mandriva a partir de qualquer outro
micro com um cliente VNC instalado, basta acessar a tela ":0" do endereço. Caso você precise dar suporte a
uma outra máquina Linux (rodando outra distribuição), pode compartilhar o desktop usando o krfb (o
"Compartilhamento de desktop" do KDE), que oferece a mesma função.

Suporte a hardware

Em seguida temos a aba "Hardware", que agrupa as opções relacionadas ao suporte a dispositivos,
incluindo configuração de impressoras e scanners, suporte 3D e assim por diante, cada uma permitindo
detectar e configurar os dispositivos relacionados:

199
A opção "Configurar o Servidor Gráfico" permite ajustar as opções do vídeo, incluindo a resolução, o
tipo de monitor e o driver usado pela placa de vídeo. Clicando no "Opções" você tem acesso a um conjunto
bastante completo de opções adicionais, que em outras distribuições precisariam ser definidas diretamente no
arquivo xorg.conf. Você pode, por exemplo, desativar a aceleração 3D ou o uso de transparência em
situações onde os recursos causem instabilidade, ou mesmo desativar a inicialização automática do modo
gráfico, passando a usar o comando "startx", como faziam os pioneiros.

Caso você esteja usando uma placa 3D da ATI ou da nVidia, acesse a opção "Placa de vídeo" e clique
no "ok" sem fazer nenhuma alteração. Isso fará o assistente perguntar se você deseja instalar o driver 3D para
ela, baixando os pacotes automaticamente:

200
A opção "Configurar efeitos do Desktop 3D" permite ativar o uso do desktop 3D, através do Compiz
Fusion ou do Metisse, instalando os pacotes necessários.

A partir do Mandriva 2009.1 (que usa o KDE 4.2) você pode ativar diversos efeitos 3D diretamente
através do painel de controle do KDE (como veremos a seguir), sem precisar instalar nenhum componente
adicional. Ainda é cedo para dizer se os efeitos nativos do KDE vão substituir o Compiz Fusion, ou se os
dois sistemas vão continuar coexistindo, mas é sempre bom ter opções.

Continuando, o procedimento de detecção dos utilitários é o mesmo usado durante a instalação do


sistema. Ou seja, eles servem basicamente para alterar as configurações feitas durante a instalação ou detectar
componentes instalados posteriormente. O sistema de detecção de hardware do Mandriva é um dos mais
sofisticados entre as distribuições, combinando os avanços na parte de detecção de dispositivos incorporados
nas versões recentes do kernel com um conjunto de funções e workarounds adicionais. Embora não seja
completamente à prova de falhas, ele faz um bom trabalho ao detectar periféricos suportados, sem eliminar a
possibilidade de instalar drivers adicionais manualmente, caso necessário.

A opção "Visualizar e configurar hardware" é uma das mais interessantes do conjunto. Ela funciona
como uma espécie de "gerenciador de dispositivos", mostrando detalhes sobre o hardware instalado.

201
Além de exibir as informações sobre o fabricante, chipset e outras informações sobre o dispositivo, a
interface mostra o módulo de kernel usado por ele (em dispositivos não suportados o módulo aparece como
"desconhecido"), o que permite adquirir um bom volume de informações sobre o hardware da máquina e o
suporte a dispositivos no Linux:

No caso de dispositivos como o chipset de vídeo, som, rede, etc. você encontra o botão "Executar
ferramenta de configuração", que abre o configurador relacionado (na placa de rede é aberto o Drakconnect,
na de vídeo é aberto o XFDrake e assim por diante). Em alguns dispositivos está disponível a opção
"Configurar opções do driver atual", que permite ajustar opções do próprio módulo (ativar ou desativar o
suporte a full-duplex para a placa de rede, por exemplo) e no topo da tela estão disponíveis opções para
detectar impressoras e modems suportados automaticamente.

Assim como outras distribuições atuais, o Mandriva possui drivers para alguns softmodems, que são
suportados através dos drivers do Alsa. A lista inclui o módulo snd-intel8x0m (que dá suporte aos modems
Intel AC97, encontrados em muitos notebooks com chipset Intel, aos modems onboard encontrados em
placas com chipset nVidia nForce e, também, a alguns dos modems PCI com chipset Intel), o snd-atiixp-
modem (que dá suporte aos modems onboard encontrados em notebooks com o chipset ATI IXP) e o snd-
via82xxx-modem (que dá suporte aos modems onboard encontrados em placas-mãe com chipset VIA).

Para usar o modem, é necessário instalar o pacote "slmodem", que inclui o daemon responsável por
ativar o modem e criar os devices necessários:

# urpmi slmodem

A partir daí, você pode configurar a conexão usando a opção "Modem para telefone analógico
(POTS)" do drakconnect.

O desenvolvimento desses drivers está parado há um bom tempo (já que hoje em dia as conexões via
modem estão perdendo espaço para as conexões 3G), mas eles podem ajudar em alguns casos, nem que seja
apenas para saber que o modem está disponível para quando precisar dele.

De volta ao menu principal, no final da lista, está disponível uma opção para ativar o suporte a
monitoramento de funções para nobreaks com saída USB. A lista de modelos inclui um número
surpreendente de modelos, incluindo suporte aos SMS Manager III nacionais.

202
Configuração da rede

Como era de se esperar, a seção "Rede e Internet" agrupa as opções relacionadas à configuração da
rede. Como você pode ver no screenshot a seguir, estão disponíveis opções para compartilhar a conexão (no
caso de um PC com duas ou mais interfaces de rede), configurar uma VPN, utilizar um servidor proxy ou
criar diferentes perfis de configuração. Temos também a opção "Definição de hosts", que permite criar
apelidos, assim como vimos nas outras ferramentas:

A opção "Configurar uma nova interface de rede" inclui um wizard para configurar diversos tipos de
conexão, incluindo conexões discadas, conexões via celular (onde você utiliza o celular ou smartphone como
modem, usando tráfego do plano de dados), ISDN e outras. Mas, para configurar uma rede local, você pode
ir direto na opção "Centro de Rede", que permite configurar as interfaces disponíveis, sem rodeios:

203
Clicando na opção "Configurar" você tem acesso à configuração da rede, como de praxe. Uma dica é
que, ao configurar a rede via DHCP, você pode definir um timeout para o servidor DHCP dentro das opções
avançadas. Isso evita que o sistema fique aguardando a resposta do servidor DHCP quando o cabo de rede
estiver desconectado, o que retarda o boot. Em situações normais, a resposta do servidor DHCP demora
poucos milessegundos, de forma que um timeout de 2 segundos é mais do que suficiente:

A configuração de endereço IP, máscara, gateway e DNS vale tanto para redes cabeadas quanto para
redes wireless. A diferença é que, ao configurar uma rede wireless, você começa escolhendo o ponto de
acesso e fornecendo a passphrase da rede, para só depois passar para a configuração de endereços.

Desde que a placa wireless tenha sido detectada pelo sistema (e o transmissor esteja ativado) ele
mostrará as redes disponíveis, permitindo que você escolha a qual se conectar:

204
Na tela seguinte, indique o tipo de rede à qual está se conectando na opção "Modo de operação" (use
"Gerenciado" para se conectar a uma rede em modo infra-estrutura, ou "ad-hoc" para se conectar a uma rede
ponto a ponto) e, na opção "Chave criptográfica", indique o sistema de criptografia usado na rede, seguido da
passphrase de acesso.

Use a opção "Chave WPA pré-compartilhada" para se conectar a uma rede WPA-PSK, ou "WEP
Restrito" para uma rede com WEP. Outra opção é usar a opção "Configurar uma nova interface de rede >
Wireless". Ela abre um wizard que mostra as mesmas opções na forma de uma série de perguntas:

205
Se você precisar ativar a placa wireless usando o Ndiswrapper, comece instalando o pacote através do
urpmi:

# urpmi ndiswrapper

Com ele instalado, use a opção "Utilizar driver do Windows (com ndiswrapper)" ao acessar o "Rede &
Internet > Configurar uma nova interface de rede > Wireless" e indique a localização do arquivo .inf com o
driver, que deve ter sido baixado previamente (lembre-se de que você pode extrair drivers do Windows
disponibilizados na forma de arquivos .exe usando o comando "cabextract", que é instalado através do pacote
de mesmo nome).

Uma vez que o driver é carregado, o wizard continua, permitindo selecionar a rede, fornecer a
passphrase e executar os demais passos da configuração:

De volta ao menu principal, temos também o DrakGw que permite compartilhar a conexão. Ele é um
assistente bastante simples, que verifica a configuração atual da rede (descobrindo qual é a interface de
internet) e, em seguida, permite que você ajuste os endereços da interface de rede local, ativando o
compartilhamento no final do processo.

Ao configurar a rede através do painel, as configurações são salvas em arquivos dentro do diretório
"/etc/sysconfig/network-scripts/" (um para cada interface de rede). As configurações da eth0, por exemplo,
vão dentro do arquivo "ifcfg-eth0". Essa mesma organização é utilizada também em outras distribuições da
família Red Hat, incluindo o Fedora e o CentOS.

Além de usar os utilitários de configuração, você pode também alterar a configuração da rede
diretamente através deles. A configuração para uma placa configurada via DHCP seria:

DEVICE=eth0
BOOTPROTO=dhcp
NETMASK=255.255.255.0
ONBOOT=yes
METRIC=10
Ao configurar com IP estático, a configuração inclui as outras informações da rede:

DEVICE=eth0
BOOTPROTO=static
IPADDR=192.168.1.51
NETMASK=255.255.255.0
GATEWAY=192.168.1.1

206
ONBOOT=yes
METRIC=10
DNS1=208.67.222.222
DNS2=208.67.220.220

Ao editar o arquivo diretamente, reinicie a rede para que a configuração entre em vigor:

# service network restart

Sistema e serviços

Em seguida temos a aba "Sistema", que permite gerenciar os usuários, editar os aplicativos do menu,
acertar a hora, entre outras personalizações. Ela inclui também opções para importar documentos e
configurações do Windows (caso ele esteja instalado em dual-boot), importar fontes e agendar backups:

O "Gerenciar usuários do sistema" abre o UserDrake, um gerenciador gráfico de usuários e grupos,


baseado no system-config-users do Fedora. Ele oferece uma interface bastante prática para cadastrar novos
usuários e grupos e gerenciar quais usuários fazem parte de quais grupos. Em um desktop, ele pode não
parecer assim tão interessante, mas você vai passar a gostar dele se precisar administrar um servidor Samba
com 800 usuários. :)

Outra opção importante é a "Habilitar/desabilitar serviços do sistema". Ela abre o DrakXServices,


onde você pode controlar quais serviços do sistema ficarão ativos, além de parar, iniciar ou reiniciar qualquer
um deles:

207
Além de serem controlados através do painel, os serviços podem ser também controlados via terminal,
através dos comandos "/etc/init.d/serviço start", "/etc/init.d/serviço stop" e "/etc/init.d/serviço restart",
como em:

# /etc/init.d/smb restart

Para desativar um serviço permanentemente, usamos (no Mandriva e no Fedora) o comando


chkconfig, como em:

# chkconfig bluetooth off

Para reativá-lo posteriormente, use o "chkconfig serviço on", como em:

# chkconfig bluetooth on

Feitas as apresentações, vamos a uma descrição dos serviços que ficam disponíveis em uma instalação
padrão do Mandriva 2009.1. Ela é um pouco longa e chata, mas vai ajudá-lo a entender melhor diversos
componentes do sistema:

acpid: Este é o serviço responsável por monitorar as funções relacionadas ao ACPI (em conjunto com
os módulos do kernel) e enviar informações sobre os eventos para os aplicativos correspondentes. O acpid é
um serviço importante, já que sem ele as funções de monitoramento da carga da bateria, ajuste do clock do
processador e (em muitas máquinas) até mesmo as teclas de função, deixam de funcionar.

alsa: O ALSA é o conjunto de módulos responsável pelo suporte a placas de som. Este serviço se
encarrega de ativar os módulos apropriados, criar os dispositivos e desempenhar algumas funções
secundárias, como salvar e restaurar os volumes. Mesmo que esteja sendo usado o PulseAudio ou outro
servidor de som, os drivers do ALSA continuam sendo os responsáveis pelo acesso de baixo nível à placa de
som.

anacron: Em qualquer distribuição Linux, diversas tarefas de manutenção do sistema são agendadas
através do cron e executadas uma vez por dia, ou uma vez por semana, geralmente durante as madrugadas,
quando presume-se que o PC não estará sendo utilizado. O anacron é um serviço responsável por executar as
tarefas fora de hora, em casos em que o PC não fica ligado o tempo todo.

atd: O atd é outro serviço de agendamento de comandos. Ele não é tão usado quanto o cron e
normalmente não é usado para tarefas de sistema (e sim para comandos que você mesmo agendar,

208
eventualmente), mas em compensação ele quase não consome recursos do sistema, de forma que também
não faz mal mantê-lo ativado.

avahi-daemon: O Avahi é uma implementação do protocolo Zeroconf, que nasceu como uma ideia da
Apple para facilitar a configuração da rede, permitindo que as máquinas divulguem e descubram os serviços
disponíveis. É uma daquelas ideias que parecem boas na teoria, mas viram uma bagunça quando
implementadas na prática.

A menos que você seja um administrador de redes e esteja implantando uma rede com o Zeroconf, é
recomendável desativar o avahi-daemon. Em situações normais, ele não deve atrapalhar, mas em alguns casos
ele pode consumir excessivamente recursos do sistema e retardar a resolução de nomes, tornando o acesso
mais lento.

bluetooth: Este é o serviço responsável pelo suporte genérico a dispositivos Bluetooth. Ele tem a
função de ativar o transmissor Bluetooth (caso presente) e ativar as funções que são usadas pelo Kbluetoothd
e outros aplicativos. Naturalmente, você não precisa dele se não usar um adaptador Bluetooth.

cpufreq: O cpufreq é o responsável por ajustar a frequência de operação do processor de acordo com
a carga de trabalho, o que é uma função essencial em qualquer máquina atual. Desativando o serviço, o
processador passará a trabalhar o tempo todo na frequência máxima, o que pode ser desastroso, sobretudo
em notebooks. O cpufreq suporta o uso de perfis de desempenho (performance, powersave, etc.), que podem
ser ajustados através da opção "Gerenciamento de energia" do Systemsettings (no KDE 4) ou através do
applet "Monitor de frequência" (no GNOME).

crond: O cron é o agendador de tarefas padrão no Linux. Além de poder ser usado para executar
scripts de backup ou de atualização do sistema (entre inúmeras outras possibilidades), ele é usado pelo
sistema para diversas tarefas de manutenção. O "crond" é o serviço responsável por monitorar e executar as
tarefas agendadas no cron e por isso nunca deve ser desativado.

Você pode agendar tarefas no cron através do arquivo "/etc/crontab", ou através das pastas
"/etc/cron.hourly" (scripts executados uma vez por hora), "/etc/cron.daily" (uma vez por dia),
"/etc/cron.weekly" (toda semana), "/etc/cron.montly" e "/etc/cron.yearly". Ele é também utilizado por
diversos aplicativos gráficos que permitem agendar tarefas. Veja mais detalhes sobre a configuração no
capítulo 1 do livro Servidores Linux, Guia Prático.

cvs: O CVS é um sistema de controle de versões muito utilizado em projetos colaborativos para
disponibilizar código-fonte de programas e documentos em geral. Este é um serviço que deve ficar
desativado, menos que você realmente pretenda rodar um servidor CVS na sua máquina.

dm: No Mandriva, este é o serviço responsável pela ativação do KDM ou do GDM, que se
encarregam de ativar o ambiente gráfico. Desativar este serviço é uma maneira rápida de derrubar o X em
situações que você precisa desativá-lo, como ao instalar o driver da nVidia.

dund: Este serviço controla um recurso muito específico: a criação da porta serial que é usada ao
conectar à web usando um smartphone via Bluetooth. Você pode ler mais sobre acesso móvel e a
configuração no Linux no capítulo 5 do livro Smartphones, Guia Prático.

haldaemon: Este é o serviço responsável pelo HAL, que, como vimos no capítulo 1, é o encarregado
de monitorar a conexão de dispositivos disponíveis, ativar a placa de rede cabeada quando um cabo de rede é
conectado e diversas outras operações. Ele é um dos serviços básicos em qualquer distribuição atual, por isso
é desativado apenas em casos muito específicos.

hidd: Este é mais um serviço relacionado ao Bluetooth, responsável por permitir a conexão de mouses
e teclados. Se você estiver tendo dificuldades em ativar seu mouse Bluetooth usando o KBluetooth (o
responsável pelo ícone ao lado do relógio), é bem provável que esse serviço esteja desativado.

Em distribuições derivadas do Debian (incluindo o Ubuntu), o dund e o hidd são integrados ao


serviço principal do Bluetooth, e são ativados ou desativados através da configuração colocada no arquivo
"/etc/default/bluetooth".

Usando as linhas "HIDD_ENABLED=0" e "DUND_ENABLED=0", eles ficam desativados e


mudando para "HIDD_ENABLED=1" e "DUND_ENABLED=1" eles ficam ativos. Como de praxe, a

209
configuração é ajustada automaticamente pelos aplicativos de configuração. Ao conectar um mouse
Bluetooth usando o ícone ao lado do relógio, por exemplo, o hidd será automaticamente ativado.

iptables: O Iptables é o firewall padrão do sistema, incorporado diretamente ao kernel. Além de ser
configurado através de aplicativos gráficos (como o Firestarter) ou através de interfaces de configuração
(como o Segurança > Configurar Firewall" disponível no Centro de Controle do Mandriva), o Iptables pode
ser configurado diretamente, através de comandos de terminal.

Em ambos os casos, as regras de Firewall são salvas no arquivo "/etc/sysconfig/iptables", e são


ativadas durante o boot pelo serviço "iptables". Ao desativar o serviço, você desativa o Firewall, e faz com
que o sistema utilize as políticas-padrão (que, dependendo da distribuição, podem ser definidas para permitir
tudo, ou bloquear tudo).

Este serviço também existe em distribuições derivadas do Debian e funciona basicamente da mesma
maneira. A principal diferença é que, no caso delas, a configuração é armazenada no arquivo
"/etc/default/iptables".

ip6tables: Esta é a versão do Iptables que trabalha em conjunto com o protocolo IPV6. Ela foi
desenvolvida com o objetivo de conviver pacificamente com a versão antiga. Como quase todas as
distribuições atuais mantêm o suporte a IPV6 ativo por padrão, é interessante manter também o ip6tables
ativo, para evitar eventuais brechas de segurança.

irqbalance: Este é um pequeno daemon que tem como missão dividir as interrupções de IRQ entre os
processadores em sistemas SMP, melhorando sutilmente o desempenho e reduzindo o consumo de energia
do sistema.

A grande observação é que esta abordagem só funciona em máquinas com dois soquetes (ou seja, dois
processadores separados), e não em máquinas com um único processador dual-core (onde os núcleos utilizam
um cache L2 ou L3 compartilhado), que são a grande maioria. No caso delas, o irqbalance simplesmente fica
inativo, para evitar o desperdício de ciclos de processamento. É por isso que quase sempre o mcc mostrará
que ele está parado, muito embora a opção "Na inicialização da máquina" esteja marcada. Nesses casos você
pode simplesmente desativar o serviço.

keytable: Este serviço tem uma função bem simples: carregar a configuração para o layout do teclado,
para que ele seja ajustado logo no início do boot. O layout pode ser ajustado usando o comando "kbdconfig"
(como root), que está disponível em qualquer distribuição.

No caso do Mandriva, o comando ajusta também a configuração do teclado no X, fazendo com que a
configuração fique interligada; mas, em outras distribuições, as duas configurações podem ser separadas, com
a configuração do teclado dentro do ambiente gráfico sendo definida através do arquivo xorg.conf, ou através
da configuração do KDE ou do GNOME.

kheader: Este serviço (encontrado apenas em distribuições derivadas do Red Hat) é um pequeno
script que gera o arquivo "/boot/kernel.h" durante o boot. Este arquivo contém algumas informações sobre
as opções usadas para compilar o kernel (se o suporte a SMP foi ativado, se ele possui suporte a PAE, e
outras informações do gênero). A ideia é que ele seja usado durante a compilação de alguns programas e
drivers.

laptop-mode: É responsável por ativar diversas opções relacionadas ao consumo de energia,


aumentando sutilmente a autonomia das baterias em notebooks. Um dos principais tweaks é permitir que o
HD seja desligado com maior frequência, já que depois da tela e do processador, ele é o componente que
mais consome energia.

Este serviço tem uma mancha negra na reputação, já que foi o causador do célebre bug que abreviava
a vida útil do HD, que afetou versões do Ubuntu e do Mandriva. Apesar disso, o problema foi resolvido em
2007 e, desde então, ele voltou a ser considerado seguro. Ele não é tão efetivo quanto poderia se esperar
(especialmente no KDE 4.2, onde já temos o PowerDevil, que realiza um bom trabalho, especialmente em
notebooks), mas existem situações em que qualquer ganho na autonomia pode ser importante. :)

mandi: O Mandi é um detector de intrusões otimizado para uso em desktops. Ele tem a função de
monitorar os pacotes de entrada, detectando indícios de ataques, como por exemplo portscans. Sempre que
um possível ataque é identificado, ele bloqueia o acesso temporariamente usando regras de firewall e envia

210
uma mensagem ao gerenciador de conexões de rede usando o dbus, o que gera uma mensagem visual, exibida
através de um applet ao lado do relógio.

Ele é usado por padrão no Mandriva e em algumas outras distribuições e, como qualquer outro
sistema de detecção de intrusões, acaba por exibir alguns falsos positivos. Isso faz com que muitos prefiram
desativá-lo, usando um firewall simples em seu lugar. Ele também deve ser desativado se você pretender
utilizar o Firestarter ou outro firewall gráfico.

messagebus: Este é o serviço responsável pelo DBUS, o servidor de mensagens que é o encarregado
de transportar as mensagens geradas pelo HAL e outros componentes do sistema. Ele é um dos serviços
básicos do sistema e nunca deve ser desativado.

netconsole: Em servidores, os logs do sistema são uma das preocupações do administrador, já que são
eles que permitem identificar acessos não autorizados. Para evitar que um eventual invasor possa alterar os
logs e assim encobrir seus rastros, muitos administradores configuram seus servidores para armazenarem os
logs em um servidor remoto, usando o netconsole. Naturalmente, ele não é muito útil em um desktop, tanto
que fica desativado por padrão no Mandriva.

netfs: No Linux, é possível especificar compartilhamentos de rede (NFS, Samba, ou mesmo


compartilhamentos do Netware) a serem montados durante o boot através do arquivo "/etc/fstab". Estes
compartilhamentos de rede são montados logo no início do boot, o que possibilita o uso de truques como
colocar os diretórios home de todas as máquinas da rede em diretórios compartilhados em um servidor de
arquivos NFS, por exemplo.

O netfs é o serviço responsável pela montagem, que só precisa ficar ativo caso você monte
compartilhamentos de rede através do fstab. No caso do Mandriva, ele é usado também se você utilizar as
opções para montagem de compartilhamentos do mcc.

network: Este é o serviço responsável pela ativação das interfaces de rede. Desativá-lo, é uma forma
rápida de derrubar a rede e, reiniciá-lo, faz com que o sistema releia os arquivos de configuração de rede,
fazendo com que uma nova configuração entre em vigor. Este serviço é encontrado em praticamente todas as
distribuições, mas existem diferenças na forma como a configuração da rede é armazenada.

No Mandriva e em outras distribuições da família do Red Hat, a configuração da rede é armazenada


na forma de diversos arquivos dentro do diretório "/etc/sysconfig/network-scripts/"; enquanto nas
distribuições derivadas do Debian é usado um único arquivo, o "/etc/network/interfaces". Em ambos os
casos, o serviço se encarrega também de carregar as regras de firewall (caso definidas no
"/etc/sysconfig/iptables" ou no "/etc/default/iptables").

Hoje em dia, a configuração da rede é quase sempre feita usando utilitários gráficos, como no caso do
drakconnect e do NetworkManager, mas saber como configurar a rede manualmente ainda pode ser útil em
muitas situações.

nfs-common: Este serviço ativa os componentes básicos necessários para montar compartilhamentos
via NFS. Ele é uma maneira prática de compartilhar arquivos entre máquinas Linux, mas é pouco usado em
redes locais, onde o Samba e os compartilhamentos de rede do Windows são de longe os mais usados.

nscd: Este daemon funciona como uma espécie de "cache" para funções de autenticação. Ele pode ser
útil ao utilizar servidores LDAP ou NIS, mas não é necessário para uso normal do sistema.

pand: Se você achava que os serviços relacionados ao Bluetooth tinham acabado no hidd, aqui vai
mais um. O pand é o responsável pela criação de conexões de rede via Bluetooth. Ele pode ser usado para
interligar micros em rede através dos transmissores (pouco usado, já que o alcance é curto e a taxa de
transferência é muito baixa) e é usado também ao usar smartphones com o Windows Mobile como modem.

partmon: Este é um script simples, que monitora o espaço livre nas partições montadas e insere
entradas nos logs do sistema sempre que o espaço livre em uma das partições está prestes a se esgotar. Ele é
usado por alguns serviços para gerar alertas, mas no geral não é importante.

portmap: O portmap é outro serviço relacionado ao NFS, responsável por escutar as portas utilizadas
para transmissão dos dados. Se o portmap estiver desativado, o sistema fica um longo tempo tentando

211
montar os compartilhamentos e no final retorna uma mensagem de erro. Alguns outros serviços de rede,
como o NIS, também utilizam o portmap, mas eles são pouco comuns hoje em dia.

preload: O preload tem a missão de acelerar o boot, lendo antecipadamente arquivos e bibliotecas que
serão usados mais adiante. Em alguns casos, ele pode reduzir o tempo de boot em 10 segundos ou mais, mas
na maioria das situações o ganho é muito pequeno e você pode desativá-lo se quiser manter as coisas simples.
Outro serviço similar é o readahead, tipicamente encontrado em distribuições derivadas do Fedora.

resolvconf: Este é mais um script simples, que tem como função reescrever o arquivo
"/etc/resolv.conf" (onde vão os endereços dos servidores DNS usados) seguindo a configuração da rede. Ele
faz parte dos serviços responsáveis pela configuração da rede e, em situações normais, deve ficar ativado.
Entretanto, você pode desativá-lo caso queira especificar os endereços dos servidores DNS manualmente e
não queira que o arquivo seja sobrescrito no próximo boot.

rsync: O rsync é um software de sincronismo entre duas pastas que é capaz de funcionar via rede,
sincronizando duas pastas em servidores remotos. Ele é capaz de transferir apenas os trechos dos arquivos
que foram modificados, uma eficiência que faz com que ele seja muito usado em scripts de backup.

O serviço "rsync" aparece sempre que o pacote é instalado. Ele responde pelo componente servidor
do rsync, que permite que sua máquina seja contatada por clientes remotos. Ele é raramente usado hoje em
dia (o mais comum é tunelar o rsync via SSH, como você pode ver em detalhes no capítulo 13 do livro
Servidores Linux, Guia Prático), por isso deve ficar sempre desativado.

shorewall: O shorewall é o firewall padrão do Mandriva. O serviço acompanha a configuração do


firewall feita através do "Segurança > Configurar Firewall" do mcc, ficando ativado quando o firewall é
configurado através do painel.

sshd: Caso o servidor SSH (pacote "openssh-server") esteja instalado, este serviço permite ativá-lo ou
desativá-lo conforme desejado. O SSH oferece muitos recursos (acesso remoto, transferência de arquivos,
criação de túneis, etc.) e representa um risco de segurança muito pequeno, por isso é muito comum que ele
seja usado mesmo em desktops.

syslog: O syslog é o serviço responsável por escrever os logs do sistema, a partir das mensagens
enviadas pelos diferentes serviços. Ele não é obrigatório, mas é sempre interessante mantê-lo ativado, com
exceção de casos em que você queira desativar os logs para reduzir os acessos ao HD (e assim poder mantê-lo
em modo de baixo consumo por mais tempo, economizando energia), como no caso dos notebooks.

udev-post: O udev é o responsável por gerenciar os devices relacionados a dispositivos, conforme eles
são plugados e removidos. Ele oferece diversas opções, tais como fazer com que os dispositivos recebam
sempre os mesmos devices, independentemente de em qual ordem ou em que portas sejam plugados e, mais
importante, pode ser programado para executar comandos ou scripts conforme os dispositivos são ativados
(através de regras salvas no diretório "/etc/udev/rules.d"), o que abriu muitas possibilidades.

Não é preciso dizer que o udev é mais um dos componentes básicos relacionado com o
gerenciamento de dispositivos no Linux, que deve ficar sempre ativo. O udev-post é um sub-componente do
udev, que tem como função salvar regras geradas por outros componentes do sistema, fazendo com que elas
se tornem persistentes.

xinetd: Sucessor do antigo inetd, o xinetd tem a função de monitorar determinadas portas TCP e
carregar serviços sob demanda. Isto evita que serviços e utilitários que são acessados esporadicamente fiquem
ativos o tempo todo, consumindo recursos do sistema. Em vez de um único arquivo de configuração, com
uma linha para cada serviço, o xinetd utiliza um conjunto de arquivos de configuração (um para cada serviço)
que são armazenados na pasta "/etc/xinetd.d/".

Compartilhamentos de rede

A seção "Compartilhamento de rede" concentra as opções relacionadas ao acesso a


compartilhamentos de rede e também ao compartilhamento de arquivos usando o Samba, NFS e WebDAV.
As opções de acesso mostram uma lista com os compartilhamentos disponíveis na rede (você precisa apontar
uma pasta onde cada um ficará disponível), enquanto as opções para criar compartilhamentos instalam os
pacotes referentes aos servidores e automatizam a configuração.

212
O Mandriva não instala o servidor Samba por padrão, de forma que ao clicar no "Compartilhar drives
e diretórios com sistemas Windows (SMB)", o primeiro passo do assistente é instalar o pacote "samba" (o
servidor Samba propriamente dito) e as suas dependências (que incluem pacotes como o "samba-common" e
o "smbfs"). Em seguida, é aberto um assistente que confirma as opções básicas do servidor (se ele é um
servidor de grupo de trabalho ou um PDC, qual o nome do servidor e o grupo de trabalho, e assim por
diante).

Quando ele perguntar sobre o nível de segurança, responda "user" e preencha o campo de "hosts
permitidos" com a faixa de endereços da sua rede, excluindo o último número, como em "192.168.1." ou
"10.0.0.". Isso fará com que o servidor permita apenas os micros cujos endereços estiverem dentro da faixa
especificada. Concluído o assistente, você tem acesso à interface para criar os compartilhamentos:

213
Também é possível configurar o Samba utilizando o wizard do KDE, disponível dentro do
systemsettings, no "Avançados > Samba". Este utilitário está disponível também em outras distribuições, já
que faz parte do KDE e não do Mandriva.

Partições e pontos de montagem

Continuando, a opção "Discos locais" ameniza um dos pontos mais espinhosos, que é a montagem de
partições e compartilhamentos de rede. Isto pode ser feito através do comando "mount" e da edição do
arquivo "/etc/fstab" se você tiver um pouco mais de experiência com o sistema, mas é inegável que as
opções disponíveis aqui tornam a configuração muito mais fácil:

A opção "Gerenciar partições de disco" abre o DiskDrake, o mesmo utilitário de particionamento


disponibilizado durante a instalação. Além da função óbvia, de alterar o particionamento, criando, removendo
e redimensionando partições, ele permite alterar o ponto de montagem e as opções relacionadas às partições,

214
funcionando também como uma interface de edição para o fstab. Assim como no caso da instalação, se você
fizer alguma modificação desastrada (como deletar uma partição sem querer), basta fechar a janela sem salvar.

A principal observação é que você não consegue fazer alterações em partições que estão montadas. É
preciso primeiro fechar todos os programas que estejam acessando arquivos dentro da pasta e desmontá-las
primeiro. Em casos em que você precisa fazer modificações na partição onde o sistema está instalado, ou na
partição home, você pode dar boot usando o CD de instalação do Mandriva, prosseguindo com a instalação
até o ponto em que tem acesso ao particionador.

A opção "Compartilhar partições do disco rígido" ativa o recurso do KDE que permite compartilhar
pastas através de uma aba nas propriedades. Este recurso está disponível também em outras distribuições
baseadas no KDE (basta ativá-lo através de seção "Samba" do Kcontrol), a equipe da Mandriva apenas a
incluiu no mcc para facilitar o acesso.

Ao ativar a opção você pode compartilhar arquivos e pastas simplesmente clicando com o botão
direito sobre a pasta desejada e marcando a opção "Compartilhar". O compartilhamento é automaticamente
configurado e passa a estar disponível tanto através do Samba (acessível também para as máquinas Windows)
quanto via NFS:

215
Segurança e firewall

Em seguida temos a aba "Segurança", que inclui a configuração do firewall, configuração das
permissões e opções de segurança do sistema e, também, um sistema de controle parental, onde você pode
bloquear o acesso a determinados sites, ou criar uma lista branca de sites permitidos. As restrições são
aplicadas através de regras de firewall, sem que seja necessário instalar o Squid e o SquidGuard, que são os
serviços tradicionalmente usados para a terefa:

216
A opção "Configurar o nível de segurança e auditoria" abre o DrakSec, que permite ajustar um grande
volume de permissões de segurança, que vão desde o nível padrão de segurança (o mesmo que é definido
durante a instalação) até as permissões de acesso para as configurações do sistema, que são definidas na
última aba (a "Autenticação").

Através dela, você pode liberar a configuração do vídeo ou da rede para os logins de usuário do
sistema, de forma que você possa alterá-las posteriormente usando seu login normal de usuário, sem precisar
fornecer a senha de root, por exemplo:

A opção "Ajuste fino de permissões do sistema" abre o DrakPerm, que permite ajustar as permissões
de acesso individuais dos principais diretórios, arquivos de configuração e executáveis do sistema. É através
dele que você alteraria as permissões do arquivo "/etc/resolv.conf" de forma a poder alterar os servidores
DNS usados sem precisar se logar como root, ou alteraria as permissões dos diretórios home de forma que
um usuário não pudesse ver os arquivos do outro, por exemplo.

O DrakFirewall (Configurar seu firewall pessoal) por sua vez, permite cuidar da segurança contra
acesso externos, desabilitando serviços e fechando portas. Ele é um wizard bem simples de usar, que permite
definir uma lista de serviços que você deseja manter ativos (web, FTP, compartilhamento de arquivos via
Samba, etc.) e desabilita todos os demais.

Finalmente, temos a aba "Inicialização", que permite alterar o gerenciador de login, ativar ou desativar
o login automático e também trocar o tema visual da tela de splash exibida durante o boot:

217
O "Configurar qual sistema será inicializado" é na verdade o configurador do gerenciador de boot, que
permite editar a configuração do grub, adicionar novos sistemas e alterar o sistema padrão.

Wizards para servidores

Também está disponível o DrakWizard, que inclui um conjunto de assistentes para configuração de
servidores, que cuidam da configuração básica de servidores DHCP, DNS, Proxy (com o Squid), FTP, SSH e
Apache.

Os wizards oferecem uma opção simples para instalar os pacotes e fazer uma configuração básica de
cada serviço, o suficiente para colocá-los no ar, sem muita customização. A partir daí, você pode personalizar
a configuração editando diretamente os arquivos de configuração, como pode ver em mais detalhes no livro
Servidores Linux, Guia Prático.

Os assistentes não são instalados por default. Para ter acesso a eles, você precisa instalar o pacote
"drakwizard", que pode ser instalado através do próprio Control Center, ou através do comando:

# urpmi drakwizard

Com ele instalado, abra novamente o mcc e você notará o aparecimento de duas novas abas:

218
A primeira (Serviços de Rede), agrupa os wizards destinados a servidores de rede local, com os
assistentes para ativar o servidor DHCP, Squid (opção "Configurar proxy), DNS, SSH e também um servidor
NTP (opção "Configurar hora"). Eles são projetados para serem fáceis de usar, detectando parte das
configurações automaticamente e perguntando sobre as demais informações:

A aba "Compartilhamento" inclui os assistentes para ativar servidores web (com o Apache) e FTP, de
forma a hospedar sites ou compartilhar arquivos com a Internet. Naturalmente, nada impede que você use
um servidor FTP para compartilhar arquivos dentro da rede, ou que use um servidor web para hospedar
alguma página interna, mas o mais comum é que estes serviços sejam usados em um servidor de Internet, daí
a separação:

Outro utilitário interessante, que não aparece na lista, é o DrakTermServ, que automatiza a instalação
do LTSP, permitindo criar rapidamente uma rede de terminais leves. Para usá-lo, o primeiro passo é instalar o
pacote "terminal-server2":

# urpmi terminal-server2

219
Ele instalará um grande número de pacotes necessários para inicializar os clientes, incluindo o dhcp-
server, tftp-server e o etherboot. Depois de instalado, execute o wizard como root para concluir a
configuração:

# draktermserv

O boot nos clientes pode ser feito diretamente através da placa de rede onboard (basta configurar as
máquinas para darem boot via rede no setup) ou através de um disquete de boot, que pode ser gravado
usando o próprio drakTermServ. Tudo é feito via rede, de forma que os clientes não precisam de HD nem de
CD-ROM.

A principal diferença entre o drakTermServ e o LTSP 4, é que o LTSP utiliza um sistema de arquivos
separado, instalado dentro da pasta "/opt" (uma espécie de mini-distribuição que é carregada pelos clientes
durante o boot), enquanto o drakTermServ utiliza o próprio sistema de arquivos do servidor, já tirando
proveito das mudanças introduzidas no LTSP 5.

Além da tradicional configuração com terminais leves, onde os clientes rodam todos os aplicativos a
partir do servidor, o drakTermServ permite também criar terminais "gordos", que executam os aplicativos
localmente, reduzindo a carga sobre o servidor.

A principal observação é que o drakTermServ é um pacote um pouco problemático, com as versões


nem sempre acompanhando as atualizações do Mandriva. Se não tiver sorte com ele, você pode dispensar o
intermediário e instalar o servidor LTSP diretamente, seguindo as instruções do http://ltsp.org/. Você
encontra também um capítulo detalhado sobre o LTSP no livro Servidores Linux, Guia Prático.

Uma última dica sobre o Mandriva Control Center é que quando você o abre via terminal, chamando
o comando "mcc" como root, todas as mensagens e erros gerados durante a execução são mostradas no
terminal, permitindo que você entenda melhor o que está acontecendo e diagnostique eventuais problemas.

DUAL-BOOT COM O WINDOWS

Instalar o Mandriva e o Windows XP ou Vista em dual-boot é bastante simples. A principal dica é


instalar primeiro o Windows, criando uma partição no início do HD e deixando o restante do espaço sem
particionar. Com o Windows instalado, faça a instalação do Mandriva da forma usual, criando as partições
usando o espaço vago do HD.

220
O instalador do Mandriva é capaz de detectar a instalação do Windows, adicionando a entrada
correspondente na configuração do gerenciador de boot. Se você tiver a curiosidade de olhar o arquivo
"/boot/grub/menu.lst" depois de concluída a instalação, verá uma entrada como esta no final do arquivo:

title windows
root (hd0,0)
makeactive
chainloader +1
Esta é a entrada padrão para inicializar uma instalação do Windows presente na primeira partição do
HD. A opção "chainloader +1" é uma instrução especial, que faz com que o grub simplesmente carregue o
próprio gerenciador de boot do Windows, deixando que ele se encarregue da inicialização do sistema.

Se por acaso a entrada não for adicionada automaticamente, você pode simplesmente abrir o arquivo
(como root) e adicionar a entrada manualmente. Naturalmente, você também poderia fazer isso usando a
opção "Inicialização > Configurar qual sistema será inicializado" do mcc, mas este é um daqueles casos em
que é mais fácil simplesmente fazer a alteração manualmente.

Outro problema antigo que foi solucionado nas versões recentes do Mandriva é o acesso aos arquivos
dentro da partição do Windows. Antigamente, o suporte a partições NTFS era incompleto, com o acesso
sendo feito em modo somente-leitura. Com isso, quem queria ter acesso completo aos arquivos dentro da
partição do Windows era obrigado a formatar a partição em FAT32.

Isso foi resolvido com o NTFS-3g, que é usado por padrão a partir do Mandriva 2009. Abrindo o
arquivo "/etc/fstab", você encontrará uma entrada similar a essa:

# Entry for /dev/sda1 :


UUID=2CA4D80DA4D7D802 /mnt/windows ntfs-3g defaults 0 0
O "/mnt/windows" indica a pasta onde os arquivos ficarão acessíveis e o "ntfs-3g" especifica que ela
será montada em modo leitura e escrita usando o NTFS-3g. Diferente de versões anteriores, onde os arquivos
ficavam por padrão acessíveis apenas para o root, na versão atual o default é que todos os usuários do sistema
possam acessar os arquivos dentro da partição, sem limitações. Com isso, não é mais preciso que você se
preocupe em incluir a opção "umask=0" para acessar os arquivos com o seu login de usuário, como era
necessário ao usar versões antigas do NTFS-3g.

Caso, por algum motivo, você prefira usar o driver antigo (somente-leitura), pode substituir o "ntfs-
3g" por "ntfs" dentro do arquivo, ou alterar a opção através do Diskdrake ("Discos Locais > Gerenciar
partições de disco" no mcc), usando a opção "Tipo":

Por segurança, o NTFS-3g se recusa a montar partições do NTFS que estejam marcadas como em
uso, ou que estejam danificadas. O problema é que a partição fica com o atributo ativo sempre que você

221
desliga o Windows incorretamente, mesmo que nenhum dano tenha ocorrido. Se você prestar atenção nas
mensagens exibidas durante o boot, ou tentar montar a partição manualmente usando o "mount
/mnt/windows", receberá uma mensagem como essa:

Failed to mount '/dev/sda1': Operação não suportada


Mount is denied because NTFS is marked to be in use.
A solução nesse caso é inicializar o Windows, deixar que ele faça o exame da partição (se for o caso) e
desligar o sistema corretamente. Com isso você deixa o próprio Windows corrigir o problema e o NTFS-3g
volta a montar a partição normalmente.

Para os impacientes de plantão, existe a opção de forçar a montagem da partição, o que fará com que
o NTFS-3g ignore problemas simples e recuse a montagem apenas em caso de erros graves na estrutura da
partição. Nesse caso, abra o arquivo "/etc/fstab" e substitua o "defaults 0 0" na linha referente à partição por
"defaults,force 0 0", como em:

# Entry for /dev/sda1 :


UUID=2CA4D80DA4D7D802 /mnt/windows ntfs-3g defaults,force 0 0
Naturalmente, forçar a montagem das partições sempre traz um certo risco de perda de dados, por
isso só é uma boa ideia em casos em que a partição do Windows não guarda dados importantes.

BLUETOOTH

O Mandriva oferece suporte a transmissores Bluetooth "out-of-the-box". Entretanto, os pacotes


"kdebluetooth4" (ou "kdebluetooth" no caso do Mandriva 2008.1, que usa o KDE 3) e "bluez-utils" não são
instalados por padrão. Para instalá-los, acesse a opção "Hardware > Visualizar e configurar hardware" do
mcc, para que o sistema detecte o adaptador Bluetooth e se ofereça para instalar os pacotes automaticamente.
Como de praxe, você pode também instalá-los manualmente usando o urpmi, via terminal.

A partir daí, abra o "kbluetooth4" para ativar o gerenciador. O primeiro passo é clicar com o botão
direito sobre o ícone ao lado do relógio e acessar a opção "Bluetooth Adapters", para definir o nome do seu
PC na piconet. Configure o modo como "connectable" e a classe como "desktop" ou "laptop":

222
Para fazer o pairing com o seu smartphone, use a opção para adicionar um novo dispositivo pareado
(no smartphone), deixe que ele faça a varredura em busca de dispositivos disponíveis e selecione a entrada
referente ao PC.

Ele pedirá que você digite uma passphrase, que você mesmo escolhe. Assim que ela é digitada no
smartphone, é aberta uma janela de confirmação no PC, pedindo que você digite a mesma passphrase, de
forma a confirmar a conexão e ativar o pairing. A partir daí, você pode transferir arquivos e usar as demais
funções do gerenciador.

Para conectar um mouse Bluetooth, use a opção "Device Manager > New" do gerenciador, mantendo
o filtro como "Keyboard/Mouse". Se, por acaso, o mouse não for encontrado pela varredura, ainda resta a

223
opção de fazer a conexão manualmente, executando (como root) o comando "hidd --connect", seguido pelo
endereço do dispositivo (que vem geralmente decalcado em uma etiqueta colada na parte inferior do mouse),
como em:

# hidd --connect 00:07:61:62:cb:bb

Nesse caso, você não precisa executar os comandos "/etc/init.d/bluetooth start" e "hciconfig hci0
up" (os tradicionais comandos manuais para ativar o transmissor) antes de executar o comando de conexão,
pois o transmissor Bluetooth já estará ativado.

Uma observação importante é que, por ser baseado no KDE 4, o Mandriva 2009 em diante inclui o
KBluetooth4, e não o Kbluetoothd, que é usado nas distribuições com o KDE 3. O Kbluetooth4 é um
aplicativo escrito do zero, que ainda não oferece todas as funções do antigo Kbluetoothd, mas tende a
melhorar com o tempo.

No KDE 4.2 ele ainda está bastante incompleto (sem oferecer as opções de visualizar e transferir
arquivos usando o Obex-FTP que estavam disponíveis no KDE 3.5, por exemplo), mas as funções perdidas
devem ser reincorporadas nas próximas versões.

REMAPEANDO TECLAS

Se você usa um notebook, é bem provável que tenha vontade de trocar as funções de algumas das
teclas do teclado. Em muitos notebooks da Acer, por exemplo, a tecla "/" é digitada pressionando
"AltGr+Q" e a "?" pressionando "AltGr+W", o que não é nada prático. Existem ainda casos em que alguma
das teclas não é reconhecida pelo sistema, ou que você deseja desativar alguma tecla específica (como o
CapsLock) para evitar toques acidentais. No Linux isso pode ser feito usando o xmodmap, um pequeno
utilitário de linha de comando que permite definir funções e remapear as teclas.

O primeiro passo é descobrir os códigos das teclas que você deseja remapear. Para isso, abra um
terminal e rode o comando "xev". Ele abrirá uma pequena janela que monitorará os toques no teclado. Ao
pressionar cada tecla, ele exibe um conjunto de informações sobre ela, como em:

KeyRelease event, serial 34, synthetic NO, window 0x4000001,


root 0x4f, subw 0x0, time 170297154, (401,512), root:(404,537),
state 0x0, keycode 117 (keysym 0xff67, Menu), same_screen YES,
XLookupString gives 0 bytes:
XFilterEvent returns: False
Entre todas as informações, o que interessa é o keycode da tecla, informado na terceira linha. No
exemplo, pressionei a tecla menu (entre o AltGr e o Ctrl), que retorna o keycode 117.

Imagine que você tem um notebook Acer e deseja que ela assuma a função de tecla "/ ?" que não está
presente no teclado. O comando seria:

$ xmodmap -e "keycode 117 = slash question"

Se você quisesse usar a tecla Windows (keycode 115), bastaria trocar o código da tecla ao executar o
comando, como em:

$ xmodmap -e "keycode 115 = slash question"

Se o sistema não detectar a tecla "\ |" do teclado, o que é relativamente comum em teclados ABNT2,
use o xev para verificar qual é o keycode da tecla (normalmente será o 94) e atribua a ele as teclas "backslash
bar", como em:

$ xmodmap -e "keycode 94 = backslash bar"

Você pode estar se perguntando como descobri que o "nome científico" da tecla é "backslash bar". Na
verdade é bem simples, basta ir em outro micro (onde a tecla seja reconhecida normalmente) e usar o xev
para descobrir o nome correto do caracter para a tecla minúscula e para a maiúscula, que é também
informado na terceira linha. No caso da tecla "~^", por exemplo, você teria:

KeyPress event, serial 34, synthetic NO, window 0x4000001,

224
root 0x4f, subw 0x0, time 172081108, (453,538), root:(456,563),
state 0x0, keycode 48 (keysym 0xfe53, dead_tilde), same_screen YES,
XLookupString gives 1 bytes: (7e) "~"
XmbLookupString gives 0 bytes:
XFilterEvent returns: True

KeyRelease event, serial 34, synthetic NO, window 0x4000001,


root 0x4f, subw 0x0, time 172080489, (453,538), root:(456,563),
state 0x4, keycode 48 (keysym 0xfe52, dead_circumflex), same_screen YES,
XLookupString gives 1 bytes: (1e) ""
XFilterEvent returns: False

Para remapear a tecla, bastaria informar o keycode da tecla que receberá as funções, como em:

$ xmodmap -e "keycode 48 = dead_tilde dead_circumflex"

O xmodmap pode ser usado para remapear qualquer outra tecla que eventualmente não seja
reconhecida pelo sistema, o que você queira trocar de posição por comodidade.

Um bom exemplo é a tecla Caps_Lock, uma função pouco usada hoje em dia, que é basicamente
usada apenas quando você quer dar a impressão de que está gritando. Alguns tem tamanha aversão à pobre
tecla que chegam a arrancá-la do teclado.

Uma forma menos radical de se livrar dela é usar a função "remove lock = Caps_Lock" do xmodmap:

$ xmodmap -e "remove lock = Caps_Lock"

A partir daí, o Caps_Lock é desativado. Se quiser, você pode até mesmo atribuir outra função à tecla.
Uma configuração comum é simplesmente fazer com que ela clone a função da tecla "A", já que a maioria
dos toques acidentais no Caps_Lock são destinados a ela. Para isso, o comando seria:

$ xmodmap -e "keycode 66 = a A"

Como de praxe, a configuração é perdida quando você reinicia o micro, ou faz logout. Para que ela se
torne permanente, você tem basicamente duas opções. A primeira é simplesmente adicionar os comandos no
final do arquivo "/etc/profile". Isso fará com que eles sejam executados sempre que você abrir um terminal.

Para que eles sejam realmente executados logo que o KDE ou o GNOME é aberto, é necessário
adicioná-los no final do arquivo "/etc/profile.d/kde4.sh" (para o KDE 4), "/etc/profile.d/kde.sh" (para o
KDE 3) ou "/etc/profile.d/gconf.sh" (para o GNOME). Não preciso dizer que você deve ter cuidado ao
editar estes arquivos, já que eles são essenciais para o carregamento do ambiente gráfico. Simplesmente
adicione as linhas no final do arquivo correspondente, sem alterar as demais.

Se você passar a receber um erro como:

xmodmap: commandline:1: bad keysym in remove modifier list 'Caps_Lock',


no corresponding keycodes
... volte ao arquivo de configuração e adicione a linha:

xmodmap -e "keycode 66 = Caps_Lock"


... antes da linha: xmodmap -e "remove lock = Caps_Lock". Isso faz com que a função da tecla seja
re-atribuída antes de ser removida, evitando a exibição da mensagem de erro. Isso é necessário sempre que o
comando é adicionado em um arquivo de inicialização que é executado mais de uma vez por sessão (como no
caso do "/etc/profile", que é executado toda vez que você abre um terminal). Um exemplo da configuração
seria:

xmodmap -e "keycode 66 = Caps_Lock"


xmodmap -e "remove lock = Caps_Lock"
xmodmap -e "keycode 66 = a A"
Antigamente, esta configuração era colocada no arquivo "/etc/X11/xinit/xinitrc" ou no arquivo
"Xmodmap", dentro do home, mas eles caíram em desuso, já que não são mais executados por padrão nas
distribuições atuais.

225
O xinitrc, por exemplo, é executado quando abrimos o ambiente gráfico usando o comando "startx".
Como nas distribuições atuais o ambiente gráfico é carregado a partir do GDM ou do KDM (os
gerenciadores de login), ele acaba nunca sendo executado. Este é apenas um exemplo de como mesmo as
configurações mais básicas podem mudar com o tempo, conforme novos softwares e novas camadas de
componentes são introduzidos dentro do sistema.

VMWARE PLAYER NO MANDRIVA

Como vimos na introdução, o VMware Player é uma opção simples de sistema de virtualização, que
resolve o velho problema de precisar rodar Linux e Windows no mesmo PC ou testar várias distribuições.

Ao longo do livro, veremos como configurar o VirtualBox, o VMware Server e outros sistemas de
virtualização, mas, como precisamos começar por algum lugar, vamos às dicas de como instalar o VMware
Player no Mandriva. Estas mesmas dicas podem ser usadas para instalá-lo em outras distribuições. O VMware
Player usa um instalador "tamanho único", que pode ser instalado em praticamente qualquer uma, desde que
os componentes básicos estejam instalados.

O primeiro passo é baixá-lo no: http://vmware.com/download/player/

Ele está disponível em duas versões: uma versão em .rpm, que pode ser instalada usando o
gerenciador de pacotes e uma versão ".bundle" que, assim como no caso do instalador da nVidia, pode ser
executada diretamente. No caso do Mandriva, você pode usar qualquer uma das duas versões (já que ele
utiliza pacotes .rpm), mas para manter as dicas compatíveis com outras distribuições, vou usar o arquivo
.bundle.

Apesar da extensão incomum, ele é um arquivo executável normal. Para instalar, basta torná-lo
executável usando o "chmod +x" e em seguida executá-lo como root:

# chmod +x VMware-Player-2.5.1-126130.i386.bundle
# ./VMware-Player-2.5.1-126130.i386.bundle

Diferente das versões antigas, que utilizavam um instalador em texto e faziam várias perguntas durante
a instalação, as atuais utilizam um instalador gráfico para fazer a cópia inicial dos arquivos. Na verdade, a
função é a mesma, a única diferença é que ele copia os arquivos para os diretórios default sem confirmar as
localizações:

226
Com o pacote instalado, chegamos à parte potencialmente problemática, que é a compilação dos
módulos para o kernel, que são necessários para que ele possa ter acesso direto ao hardware e poder assim
rodar sem restrições.

O VMware inclui um conjunto de módulos pré-compilados para diversas distribuições (Mandriva,


OpenSUSE, Fedora, Red Hat Enterprise e algumas outras), por isso se você estiver usando uma versão um
pouco antiga do sistema, é bem provável que ele tenha um módulo pronto e essa última etapa seja
desnecessária.

Entretanto, se você estiver usando a última versão, ou se estiver usando uma distribuição menos
famosa, é provável que os módulos precisem ser gerados no final da instalação. Nesse caso, ao tentar abrir o
VMware Player (o comando é o "vmplayer"), você vai se deparar com uma mensagem como essa:

# vmplayer

Para gerar o módulo ele precisa dos headers do kernel e de alguns compiladores básicos. Algumas
distribuições (como no caso das versões recentes do Ubuntu) já trazem estes componentes pré-instalados,
mas na maioria, incluindo aí o Mandriva, é necessário instalá-los manualmente. Este é um bom exemplo de
dificuldade desnecessária, que existe apenas por falta de vontade dos desenvolvedores.

Lamúrias à parte, para instalar os compiladores no Mandriva, use os comandos abaixo ou, se preferir,
instale os pacotes através do mcc:

# urpmi.update -a
# urpmi autoconf automake gcc gcc-cpp perl-devel xinetd

Em distribuições derivadas do Debian, esta etapa de instalação dos compiladores é feita usando o:

# apt-get install build-essential

Em seguida precisamos instalar os headers do kernel, que no Mandriva fazem parte do pacote "kernel-
desktop-devel". Você pode instalá-lo rapidamente usando o:

# urpmi kernel-devel

A partir daí, você pode executar novamente o "vmplayer" para que ele compile os módulos e conclua
a instalação:

# vmplayer

Com a instalação concluída, você pode baixar o arquivo com o modelo pré-configurado no
http://www.gdhpress.com.br/downloads/linux-vm.zip e criar suas VMs como vimos na introdução.

A principal observação é que a VMware é um pouco lenta para atualizar o VMware Player (e os
demais produtos) em relação às novas versões do kernel, por isso você não conseguirá instalá-lo em versões
de desenvolvimento, que utilizem versões muito recentes do kernel. Nesses casos, o melhor é não perder
tempo e utilizar o VirtualBox, que veremos mais adiante, no capítulo sobre virtualização.

ENTENDENDO O KDE 4

O Mandriva foi uma das primeiras distribuições a fazer a migração do KDE 3.5 para o KDE 4, que
foi adotado como ambiente padrão no Mandriva 2009.

227
O KDE 4 representa uma grande mudança de paradigma em relação ao KDE 3.5, trazendo mudanças
fundamentais na maneira como o desktop se comporta e é organizado. Ele começou com o pé esquerdo, com
o lançamento do KDE 4.0, que apesar de ser considerado uma versão de testes, acabou ganhando status de
versão oficial, sendo incluído em diversas distribuições e chegando aos usuários finais, que passaram a ter
problemas diversos e a criticar o novo ambiente.

As críticas se estenderam à imprensa e ganharam força com comentários ásperos até mesmo de
muitos usuários antigos. De certa forma, a recepção do KDE 4 foi parecida com a do Windows Vista. O 4.0
foi seguido pelo KDE 4.1, uma versão mais funcional, com menos bugs óbvios (embora ainda com arestas a
aparar) e uma interface mais consistente.

Mesmo sendo o segundo release oficial dentro da família, o KDE 4.1 ainda apresentava muitos
problemas de estabilidade e muitas inconsistências óbvias, que não seriam de se esperar em uma versão
oficial. Isso fez com que o sistema continuasse recebendo críticas e perdendo usuários, incluindo o próprio
Linux Torvalds, que em uma entrevista (http://www.guiadohardware.net/artigos/entrevista-linus-torvalds/)
confessou que havia migrado para o GNOME depois de enfrentar problemas com a versão do KDE 4 usada
no Fedora 9.

As coisas começaram a entrar nos eixos com o lançamento do KDE 4.2, que resolveu a maior parte
dos bugs das versões anteriores, se tornando finalmente um ambiente à altura de substituir o KDE 3.
Podemos dizer que o KDE 4.0 foi uma versão Alpha, com bugs óbvios, o KDE 4.1 foi uma versão Beta
(com menos problemas mas ainda longe de ser estável) e que o KDE 4.2 é um release candidate, que ainda
possui alguns problemas, mas que no geral pode ser finalmente considerado estável.

Não é à toa que o Slackware 12.2 manteve o uso do KDE 3.5 (evitando todo período ruim de
transição) e que a equipe do Debian foi ainda mais conservadora, mantendo o uso do KDE 3.5 no Lenny e
adotando o KDE 4 apenas a partir do Squeeze, que (mesmo que tudo dê certo) será lançado somente no final
de 2010.

O Mandriva adotou o KDE 4.2 no 2009.1, o que o tornou uma atualização muito esperada em relação
ao problemático 2009.

A base da interface do KDE 4 é o uso de widgets (chamados de plasmóides) como elementos visuais
no desktop. A ideia central é oferecer uma evolução do tradicional conceito de ícones, permitindo que você
equipe seu desktop com miniaplicativos diversos, que mostrem informações importantes, permitam acesso
rápido a funções diversas, ou que simplesmente atuem como elementos decorativos. Essa abordagem é
adotada também pelo Vista, onde você pode adicionar miniaplicativos na barra lateral. A principal diferença é
que no KDE 4 você fica livre para posicioná-los em qualquer ponto do desktop.

Conforme você abre aplicativos, os widgets acabam ficando soterrados embaixo de várias camadas de
janelas, mas você pode ter acesso rápido a eles usando o botão "Mostrar área de trabalho" (que acaba sendo
muito conveniente quando deixado na barra de atalhos), ou usar o Ctrl+F2 para chavear para a segunda área
de trabalho, tendo acesso assim a um desktop limpo. Outra opção é usar o Ctrl+F12 (um atalho usado
também no MacOS X), que esconde a barra e todas as janelas, dando acesso rápido aos widgets.

Outra característica interessante é que todos os widgets que executam uma ação quando clicados
(como no caso do relógio, que mostra o calendário), podem receber atalhos de teclado, basta clicar com o
botão direito sobre o widget e acessar as configurações. O atalho permite que o widget "salte à frente" de
outros aplicativos, de modo que você tenha acesso instantâneo às informações exibidas por ele.

228
As funções centrais de adicionar novos widgets e ajustar as opções, são acessíveis através do ícone no
topo da tela. Basta usar a opção "Adicionar widgets". No menu estão disponíveis diversos aplicativos, como a
lixeira, relógio analógico, monitor de bateria, calculadora, lançador de aplicativos e assim por diante. Os
widgets podem ser desenvolvidos em diversas linguagens, o que garante que opções de enfeites não vão faltar:

Ao clicar no "Instalar novos widgets" você tem acesso a uma janela alimentada pelo KNewStuff, que
permite obter novos widgets a partir de diversas fontes, em um sistema que lembra um pouco os
complementos do Firefox.

Os widgets propriamente ditos lembram um pouco as barras do antigo SuperKaramba (que permite
criar efeitos de transparência no KDE 3.x, criando janelas e menus transparentes, que podem ser
posicionados livremente sobre a área de trabalho), mas o novo sistema é bem mais flexível e poderoso, com
widgets renderizados em SVG, que podem ser redimensionados e movidos livremente.

Essa flexibilidade dá uma sensação de fragilidade, como se qualquer clique acidental pudesse
desconfigurar completamente o desktop, mas depois de organizar os widgets você pode usar a opção
"Bloquear widgets" para travar as posições.

De acordo com a configuração, o KDE 4 pode exibir os ícones no desktop, da forma usual, ou pode
eliminá-los completamente, exibindo apenas os plasmóides. A configuração é acessada clicando com o botão
direito sobre a área de trabalho:

229
No KDE 4.1, a opção de exibição de pasta apenas adicionava um plasmóide com uma janela
transparente do gerenciador de arquivos, mas no 4.2 a exibição de ícones "reais" foi restaurada.

Um recurso interessante é que, ao usar a exibição sem ícones, o sistema se encarrega de criar novos
widgets automaticamente quando você tenta arrastar ícones do iniciar para o desktop, criando widgets que se
parecem com ícones de atalho.

Diferente do KDE 3, onde a barra de tarefas era um aplicativo separado, no KDE 4 ela é apenas mais
um plasmóide, assim como todos os demais elementos da tela. Por default, todos os elementos da barra,
incluindo os ícones de atalho ficam fixos e você não consegue mudar nada de posição. Para personalizar a
barra, clique no ícone do plasma do lado direito. Ele abre uma barra adicional, com as opções de edição:

Enquanto a barra estiver aberta, você pode mover os ícones, alterar o alinhamento e fazer outras
personalizações livremente. Ao terminar a edição, basta fechar a barra e os ícones ficam novamente presos.

O mesmo se aplica a muitos dos menus de configuração. Para configurar as opções da barra, fazendo
com que os aplicativos não sejam mais agrupados e com que a barra exiba apenas os aplicativos da área de
trabalho atual, por exemplo, você deve clicar no widget de configuração e só depois clicar com o botão
direito sobre a barra para ter acesso à opção de configuração:

230
O próprio lançador de aplicativos passou por mudanças, incorporando o Kickoff do OpenSUSE,
como opção ao menu clássico. Ele pode ou não vir ativado por padrão, de acordo com a distribuição usada,
mas em ambos os casos, basta alterar o modo de exibição do menu:

O KDE 4 é um projeto bastante ambicioso, que demorou para atingir a maturidade. Por ser
radicalmente diferente da versão anterior, as mudanças provavelmente nunca irão agradar a todos.

231
Entretanto, acertando ou errando, isso mostra que os desenvolvedores estão em busca de novas ideias e
novos conceitos para a melhora da interface, o que é sempre positivo.

Ironicamente, um dos grandes obstáculos enfrentados pelo KDE 4 foi justamente o grande sucesso
do KDE 3.5, que ao longo de sua evolução se tornou um ambiente extremamente estável, leve e flexível. Ao
tentar portar todas as funcionalidades para o KDE 4, os desenvolvedores se depararam com um trabalho
inesperadamente árduo, o que explica as dificuldades com o KDE 4.0 e o 4.1.

Embora a biblioteca QT 4 ofereça um consumo de memória mais baixo que a QT 3 (usada no KDE
3.5), o novo sistema de renderização do KDE 4 e o uso do plasma aumentaram consideravelmente o
consumo de memória e de processamento em relação ao KDE 3.5, um problema que ainda deve demorar
para ser resolvido. Felizmente, temos hoje opções como o XFCE e o LXDE (sem falar no próprio KDE 3.5,
que continua sendo usado em diversas distribuições) que atendem a quem precisa de um ambiente mais leve.

Opções do Systemsettings

Além de trazer um conjunto de mudanças na interface e no jeito de ser do desktop, o KDE 4 é


baseado na QT 4, uma nova versão da biblioteca, que trouxe diversas mudanças em relação à QT 3 utilizada
no KDE 3.5.

A necessidade de portar os aplicativos para a nova versão e adaptá-los às novas funções da biblioteca
fez que as modificações se estendessem também a eles, com muitos ganhando novos recursos e outros saindo
de cena e sendo substituídos por novos projetos.

Uma das principais vítimas foi o Kcontrol, que foi substituído pelo Systemsettings, o mesmo utilitário
de configuração que já era utilizado no Kubuntu:

Embora o Systemsettings possua um visual próprio e utilize uma organização completamente


diferente do Kcontrol, ele reaproveita muitos dos componentes do antecessor, o que faz com que a lista de
opções disponíveis não seja tão diferente assim.

Inicialmente, a ideia do Systemsettings era oferecer um utilitário de configuração mais fácil de usar,
que tivesse menos opções e fosse organizado de uma forma mais simples, o típico ideal utópico que motiva o
aparecimento de tantos novos projetos. Conforme o desenvolvimento foi avançando, os desenvolvedores
perceberam que a coisa não era tão simples e, no final, acabaram criando um utilitário mais complicado que o
Kcontrol, com um volume aparentemente pequeno de opções, que se ramificam em um número muito
grande de subseções, com passagens secretas e quartos escuros.

232
Opções gerais

Para tentar facilitar um pouco as coisas para os iniciantes, as configurações do Systemsettings foram
divididas em duas abas, "Geral" e "Avançados", com a primeira agrupando as funções mais corriqueiras, que
são usadas com maior frequência. Vamos então a uma descrição rápida das funções:

Aparência: Como era de se esperar, essa seção permite ajustar o estilo visual, decoração das janelas,
cores, alterar o conjunto de ícones e o tema da tela de splash, agrupando basicamente as mesmas opções que
eram encontradas na seção "Aparência & Temas" do Kcontrol.

Se você não gostou do espaçamento entre o botão de maximizar e fechar a janela (que é usado no
Mandriva 2009 e em algumas outras distribuições), por exemplo, pode removê-lo através da opção "Janelas"
do menu. Marque a opção "Usar as posições configuráveis dos botões da barra de título" e remova os dois
ícones de espaçamento que aparecem na barra de título dentro da janela (que parece um exemplo de
visualização, mas é na verdade um configurador para o posicionamento dos botões).

Uma opção especialmente importante é a configuração das fontes, que deve ser ajustada com carinho,
já que permite melhorar (ou estragar de vez) toda a exibição de fontes do sistema com alguns poucos cliques.

Se você usa um monitor LCD e acha que as fontes de tela exibidas por padrão estão um pouco
borradas, experimente ativar o Antialiasing no "Usar Anti-aliasing" e, nas configurações, marcar a opção
"Usar renderização de sub-pixel" com renderização via RGB e hinting completo:

Para as fontes de tela, as melhores opções são as fontes da família DejaVu e Bitstream Vera (as duas
famílias são virtualmente idênticas), seguidas pelas fontes da família Liberation. As distribuições incluem
normalmente um grande conjunto de fontes, mas muitas delas são fontes de baixa qualidade, que são
incluídas apenas para melhorar a compatibilidade com documentos.

A opção de forçar o DPI das fontes influencia o cálculo de métrica, alterando o tamanho de
renderização das fontes. Hoje em dia, o uso de 90 DPI é o padrão, mas antigamente muitas distribuições
usavam 75 DPI, o que resultava em fontes menores. O uso de 120 DPI faz as fontes ficarem muito grandes,
mas pode ser útil em monitores pequenos (imagine o caso de um HP Mini-Note, que usa uma tela de 8.9"
com resolução de 1280x768, por exemplo) ou no caso de pessoas com vista cansada.

Outra dica importante é com relação às fontes dos aplicativos baseados na biblioteca GTK2, incluindo
o Firefox. Por serem baseados em uma biblioteca diferente, eles não estão sujeitos às configurações de fontes
do KDE, o que cria um sério problema de falta de consistência, já que eles insistem em continuar utilizando
as mesmas fontes (geralmente em um tamanho muito grande, ou muito pequeno) independentemente do seu
ajuste.

233
A solução para o problema é o "gtk-qt-engine", uma máquina de renderização alternativa que se
encarrega de ajustar as fontes dos aplicativos GTK em relação à configuração do KDE, uniformizando a
aparência dos aplicativos.

O pacote não vem instalado por padrão em muitas distribuições, mas você pode resolver o problema
rapidamente usando o gerenciador de pacotes, como em:

# urpmi gtk-qt-engine

Com o pacote instalado, será adicionada a opção "GTK Styles and Fonts" dentro da opção
"Aparência" do Systemsettings, permitindo que você faça o ajuste. O mais simples é marcar as opções "Use
my KDE style in GTK applications" e "Use my KDE fonts in GTK applications", que simplesmente ativam
o uso das configurações do KDE, mas se preferir você pode também alterar o estilo e usar fontes alternativas:

A configuração do gtk-qt-engine é salva nos arquivos ".config/gtk-qt-engine/gtk-qt-engine.conf" e


".gtkrc-2.0-kde4" dentro do home. Eles são lidos apenas durante a abertura do KDE, por isso (diferente das
outras opções do Systemsettings) é necessário reiniciar o KDE para que as alterações entrem em vigor.

Embora funcione bem na grande maioria dos casos, o gtk-qt-engine é um projeto não-oficial, que não
é inteiramente estável e pode causar pequenos problemas visuais em algumas configurações. Outra maneira
(bem menos elegante) de ajustar o estilo e as fontes dos aplicativos GTK2 é instalar o painel de controle do
GNOME, através do pacote "gnome-control-center", como em:

# urpmi gnome-control-center

O grande problema é que ele vai instalar um grande volume de dependências que, dependendo do
conjunto de pacotes que tiver instalado, podem facilmente somar mais de 30 MB. Uma terceira opção é usar
o xfce-mcs-manager, como vimos no capítulo do Slackware.

Antigamente, era possível ajustar as fontes editando diretamente o arquivo ".gtkrc-2.0", dentro do
home. Para que os aplicativos GTK2 utilizassem as fontes Bitstream Sans com tamanho 8, por exemplo, você
usaria a linha: gtk-font-name="Bitstream Vera Sans 08". Entretanto, o .gtkrc-2.0 está caindo em desuso, com
cada vez mais distribuições deixando de utilizá-lo.

Concluindo, além das fontes instaladas por padrão, estão disponíveis diversos outros pacotes de
fontes livres, que podem ser instaladas através do gerenciador de pacotes. Experimente fazer uma busca por
"ttf" dentro do gerenciador de software no mcc.

Comportamento da janela: A nova engine de renderização do KDE 4 trouxe algumas novas opções
para o comportamento das janelas. Se o uso de transparências estiver ativado, por exemplo, você pode ajustar
a opticidade das janelas usando a roda do mouse. É possível também criar regras de configuração para
aplicativos específicos, usando a opção "Específica da janela".

234
Notificações: Se você não gosta dos ruídos e sons de aviso do sistema, pode modificá-los (ou
simplesmente desativá-los) aqui. O mesmo vale para a maioria dos popups e mensagens de aviso, que você
pode desativar caso a caso.

Área de trabalho: Além das opções básicas, como o número de desktops virtuais, proteções de tela
(que agora suportam a inclusão de widgets) e aviso de lançamento, essa seção esconde um grande volume de
opções de efeitos, incluindo efeitos 3D (como o bom e velho cubo ao alternar entre os desktops virtuais),
sombras e transparências:

Estes efeitos são aplicados diretamente pelo Kwin (o gerenciador de janelas do KDE), em vez de
serem processados por um gerenciador alternativo (como o caso do Compiz Fusion), o que faz com que o
desempenho seja melhor e os problemas mais raros. A maioria dos efeitos são puramente cosméticos (uma
boa maneira de passar o tempo, mas não de aumentar a sua produtividade) e você acaba se cansando deles
depois de cinco minutos, mas alguns deles podem até ser úteis.

Se, por outro lado, sua preocupação é com o desempenho, então é melhor simplesmente desativar a
opção "Geral > Habilitar os efeitos da área de trabalho", que desativa todos os efeitos com um único clique,
preservando os ciclos de processamento para outras tarefas.

Acessibilidade: Além das tradicionais opções de campainhas, teclas modificadoras, filtros e teclas
lentas, o KDE 4 oferece também suporte a sintetizadores de voz, que tornam o sistema utilizável para
deficientes visuais.

Aplicativos padrão: Ao contrário do que o nome pode sugerir, esta seção não permite ajustar as
associações de arquivos (escondidas dentro da seção avançada), mas apenas definir o editor de textos,
gerenciador de arquivos, terminal e outros aplicativos padrão do sistema. É interessante ajustá-los se você
pretender usar o Pidgin no lugar do Kopete ou o Thunderbird no lugar do Kmail, por exemplo, para que o
sistema abra os aplicativos corretos ao clicar em links e atalhos.

Meu usuário: Além do ícone de login e os outros detalhes da conta, essa opção permite alterar as
pastas usadas por padrão para a área de trabalho, documentos e para a pasta autostart (que é por default a
"/home/$USER/.kde4/Autostart/"). A possibilidade de alterar as pastas diretamente através do painel de
controle é uma novidade do KDE 4.

Regional & idioma: Esta seção agrupa as opções de ajuste da linguagem e do layout do teclado, similar
à seção "Regional e Acessibilidade" do Kcontrol. Como de praxe, o teclado deve ser configurado como
"Brazilian ABNT2", com layout "Brazil BR". A seção "Layout do Teclado > Avançado" esconde diversas
opções que permitem alterar o comportamento das teclas, fazendo com que a tecla Caps Lock atue como
uma segunda tecla Shift ou Backspace, por exemplo.

235
Compartilhamento: No KDE 4.2 essa opção inclui apenas campos para especificar o usuário e senha
que serão usados por padrão ao tentar acessar compartilhamentos de rede do Windows através do Dolphin
ou outros aplicativos do KDE. Entretanto, ela deve ganhar também opções para compartilhar pastas nas
próximas versões do KDE, quando o pacote "kdenetwork-filesharing" for portado para o KDE 4.

Configurações de rede: Aqui vão as configurações de conexão e proxy para o Konqueror e outros
aplicativos do KDE. É importante enfatizar que as configurações não se aplicam ao Firefox ou a aplicativos
do GNOME, que utilizam configurações próprias.

Ações de entrada: Esta é a seção para configuração dos atalhos e gestos de entrada, que no Kcontrol
estava disponível através do "Regional e Acessibilidade". Esta seção é baseada no mesmo módulo usado no
Kcontrol; você notará poucas mudanças em relação ao KDE 3.5.

Em resumo, essa opção é uma seção avançada de configuração, onde você pode criar atalhos para
executar ações específicas dentro de aplicativos (como alterar a faixa no Amarok ou abrir um DVD no
Dragon Player, por exemplo). Se você tem um teclado multimídia ou um controle remoto e quer programar
as teclas para executar funções diversas, aqui é o lugar. Se, por outro lado, você quer apenas ajustar os atalhos
básicos do sistema, use as opções dentro da seção "Mouse & teclado".

Data & hora: Esta seção dispara a mesma extensão de configuração da data, hora e fuso-horário que
você acessa através do menu de configuração dentro do applet do relógio.

Instalador de fontes: Este é outro módulo herdado do Kcontrol, que corresponde ao utilitário de
instalação de fontes que ficava disponível dentro da seção "Administração do sistema" no Kcontrol.

Mouse & teclado: Aqui vão as configurações gerais para o teclado e mouse, incluindo o ajuste da taxa
de repetição, ativação ou não da tecla NunLock na abertura do KDE, aceleração do mouse e ajuste do tema
do cursor. Se você não gostou do default de abrir arquivos com um único clique, por exemplo, basta marcar a
opção "Clique duplo para abrir arquivos e pastas" no menu de configuração do mouse.

Como comentei anteriormente, a seção inclui também a configuração dos atalhos do sistema, que são
divididos em duas seções, uma com os atalhos de teclado globais (como o F1 para abrir a janela de ajuda e o
Ctrl+P para imprimir), que são aplicados a todos os aplicativos do sistema (incluindo o Firefox e também os
aplicativos do GNOME) e uma seção separada com atalhos para aplicativos específicos:

Está disponível também o velho módulo para configuração de joysticks, que é necessário apenas ao
usar joysticks analógicos (os ligados na saída da placa de som).

236
Multimídia: No KDE 3.5, você podia escolher entre ativar o Arts, e tentar fazer com que todos os
aplicativos o utilizassem, ou simplesmente desativar o servidor de som e deixar que os aplicativos acessassem
a placa de som diretamente. Isso criava problemas em muitas situações, fazendo com que um aplicativo não
conseguisse usar o som por que outro já estava usando.

Para complicar, temos os aplicativos do GNOME, que utilizam o Gstreamer (o backend de mídia do
GNOME), o uso de servidores de som, como o PulseAudio, e assim por diante, o que torna a simples tarefa
de ouvir um MP3 e escutar os sons de aviso do Skype simultaneamente uma tarefa potencialmente espinhosa.

Para colocar ordem na casa, a equipe do KDE desenvolveu o Phonon, um novo backend para
aplicativos de mídia do KDE 4 que, em vez de reinventar a roda, tentando ser um servidor de som,
simplesmente se integra à infra-estrutura disponível. O mais comum nas distribuições atuais é que ele utilize o
GStreamer e o PulseAudio, mas isso pode variar de acordo com a configuração.

Tela: Na maioria das distribuições atuais, a detecção das resoluções suportadas é feita
automaticamente pelo X.org, assim como a detecção do driver de vídeo. Algumas distribuições, (como no
caso do Fedora 11), já estão indo longe a ponto de eliminar completamente o arquivo de configuração,
fazendo com que o sistema dependa completamente da auto-detecção.

A ideia central é que o sistema detecte todas as resoluções suportadas durante a abertura do X e você
possa alternar entre elas através de um aplicativo de configuração dentro do ambiente gráfico, sem precisar se
logar como root, nem reiniciar o X após cada alteração.

No caso do KDE 4, o utilitário de configuração é o "Tamanho & orientação", que permite ajustar a
resolução (no caso de notebooks com saída VGA, ou placas de vídeo com o twin-view, você pode ajustar as
resoluções das duas telas de forma independente) além de ativar os recursos de rotacionar a tela, suportados
por alguns chipsets de vídeo (como no caso dos chipsets recentes da Intel). Caso a placa possua uma saída
DVI, ou S-Video, ele deve exibir também uma seção para a saída da TV:

Está disponível também a velha seção de controle de energia, com as mesmas opções básicas para
suspender e desligar o monitor depois de um determinado período de inatividade, que estavam disponíveis no
Kcontrol.

Opções avançadas

Com isso, chegamos às configurações da aba "Avançados", que serve como um depósito para as
demais opções:

237
Associações de arquivos: Aqui vai o verdadeiro menu de configuração das extensões de arquivos, que
no Kcontrol fazia parte da seção "Componentes do KDE". Este é mais um módulo herdado do Kcontrol, o
que faz com que a configuração não mude em relação ao KDE 3. As extensões conhecidas são exibidas em
árvore e você pode especificar a ordem de aplicativos para cada uma. Para ganhar tempo, você pode usar a
busca para ir direto à extensão desejada.

Carteira do KDE: A carteira do KDE (kwallet) é um módulo de segurança que permite salvar senhas
de maneira segura, protegidas por uma senha mestra. Ela funciona bem, o grande problema é que é usada
apenas por aplicativos do KDE. O Firefox, por exemplo, utiliza um sistema próprio para salvar as senhas,
assim como os aplicativos do GNOME. Se você utiliza o Firefox como navegador e não utiliza muitos
aplicativos do KDE que armazenem senhas, você talvez prefira desativá-la.

Detalhes do tema da área de trabalho: Essa opção complementa as opções de aparência disponíveis na
aba "Geral", permitindo ajustar de forma independente o visual de cada um dos itens da área de trabalho.

Fontes de dados do KDE: O KDE é capaz de sincronizar os contatos do Kontact (o aplicativo de


agenda padrão do desktop) em relação a pastas compartilhadas e servidores LDAP. Este não é um recurso
muito usado, simplesmente por que o Kontact não é um dos aplicativo de agenda mais populares em
ambientes corporativos, mas a opção continua disponível.

Gerenciador de serviços: O KDE é composto de diversos componentes. Alguns deles são serviços
que ficam ativos continuamente, executando alguma tarefa específica. Um bom exemplo é o KHotKeys, que
é o responsável por monitorar as teclas de atalho. Esta seção permite que você desative manualmente alguns
dos serviços do sistema, com o objetivo de desativar algum recurso irritante, ou de economizar memória. Ela
é também um bom lugar para fuçar e aprender mais sobre os componentes do sistema:

238
Gerenciador de sessão: Aqui vão as opções de confirmar ou não o logout e de carregar sessões salvas,
que no Kcontrol estava disponível no "Componentes do KDE > Gerenciador de sessão".

Hardware: O KDE 4 possui um framework para gerenciamento de dispositivos de hardware, o Solid


(http://solid.kde.org/). Ele permite que os aplicativos do KDE manipulem a configuração de dispositivos
(acessando arquivos em um pendrive, ou configurando uma impressora de rede por exemplo), além de serem
notificados da inserção ou remoção de dispositivos. Através do Solid, um aplicativo poderia verificar a carga
da bateria, ou listar as partições montadas, por exemplo, sem recorrer a comandos ou à leitura de arquivos ou
logs do kernel.

Do ponto de vista técnico, o Solid é muito similar ao HAL, que tem uma função semelhante. A
grande diferença é que o Solid é apenas um front-end através do qual os aplicativos podem obter informações
a partir de diversas fontes, incluindo o HAL.

Naturalmente, a maior parte disso tudo interessa apenas a desenvolvedores, mas alguns dos recursos
são acessíveis também para quem vem de fora. Um bom exemplo é o comando "solidshell", uma interface de
linha de comando para o Solid que pode ser usada em shell-scripts. Para desativar a rede wireless, por
exemplo, você poderia usar o "solidshell network set wireless disabled".

Iniciar automaticamente: Tradicionalmente, para fazer com que um aplicativo fosse aberto
automaticamente junto com o KDE, você devia arrastar o ícone referente a ele para dentro da pasta
".kde/Autostart" dentro do home. Para executar um script, era necessário criar um ícone de atalho apontando
para ele e também arrastá-lo para a pasta.

O uso da pasta Autostart (agora ".kde4/Autostart") continua sendo suportado pelo KDE 4, mas agora
você pode adicionar aplicativos e scripts através dessa seção no Systemsettings. O problema com essa
abordagem é que passamos a ter duas configurações separadas para a mesma função e você precisa checar em
dois lugares quando quiser desativar um aplicativo que está subindo junto com o KDE.

Pesquisa na área de trabalho: O KDE 4 inclui um serviço de indexação, o Strigi, que trabalha em
conjunto com o Nepomuk (o aplicativo de pesquisas), que quando ativados permitem realizar pesquisas
rápidas dentro do conteúdo de locais. Graças à indexação dos arquivos, as buscas são realizadas de forma
quase instantânea (no estilo das buscas do Google), o que acaba sendo uma grande ajuda para quem tem
muitos arquivos e tem dificuldade para encontrar o que procura.

O Strigi é consideravelmente mais rápido que o Beagle (outro serviço de indexação, tipicamente
encontrado em distribuições baseadas no GNOME), mas por ficar ativo continuamente indexando os
arquivos, ele consome uma fatia dos recursos do sistema, o que faz com que ele fique desativado por padrão
na maioria das distribuições.

239
Essa seção permite ativá-lo e ajustar algumas opções de indexação. Ao ativar o "Habilitar o Ambiente
de Trabalho Semântico do Nepomuk", um ícone referente a ele aparece na área de notificação e o Strigi passa
a indexar seus arquivos em segundo plano.

A partir daí, o sistema de pesquisas é integrado ao Krunner (o novo lançador de aplicativos, que você
acessa pressionando "Alt+F2"), permitindo que você use o campo de busca para pesquisar em arquivos.

O Strigi e o Nepomuk podem ser bastante úteis para algumas pessoas (facilitando o acesso a
documentos que você não lembra onde guardou), mas podem ser frustrantes para outras. O melhor é ativar a
dupla apenas se pretender utilizá-los, caso contrário o Strigi será apenas mais um daemon sugando recursos
do sistema.

Recuperação do CDDB: O CDDB é um serviço de identificação de faixas em CDs de áudio, que é


utilizado pelo KsCD (e outros players) para exibir os nomes das faixas enquanto você ouve CDs de música.
Esta seção (mais uma herdada do Kcontrol) permite ajustar as configurações do serviço, muito embora isso
raramente seja necessário.

Uma dica é que você pode ripar rapidamente CDs de áudio usando o Konqueror ou o Dolphin; basta
deixar o CD no drive e digitar "audiocd:/" na barra de endereços. Ele mostrará diversas opções de pastas
(mp3, ogg, wav, etc.). Basta arrastar a pasta com o formato desejado para o desktop (ou qualquer outra pasta)
para que as faixas sejam extraídas e salvas no formato correspondente (os nomes das faixas são definidos
automaticamente, com a ajuda do CDDB).

CDs de Áudio: Essa opção permite ajustar o nível de qualidade para a ripagem dos CDs usando o
"audiocd:/" ou outros aplicativos do KDE.

Configurar K3b: O K3B é o aplicativo de gravação padrão do KDE 4, o que garantiu um módulo de
configuração dentro do Systemsettings. Entretanto, no KDE 4.2 o módulo inclui apenas as opções com os
caminhos de busca dos executáveis do cdrecord, cdrdao e outros utilitários de gravação, que você só precisa
alterar manualmente caso os tenha instalado a partir do código-fonte em algum diretório fora do padrão.

Gerenciador de início de sessão: Aqui vão as configurações do KDM, incluindo a opção de ativar o
login automático e de ajustar o tema. É preciso abrir o Systemsettings com permissão de root para ter acesso
a todas as opções.

Gerenciamento de energia: O KDE 4 inclui um daemon de gerenciamento de energia, o PowerDevil,


que é configurado através dessa seção. Ele é o sucessor do "Bateria do Laptop", o limitado módulo de
gerenciamento de energia que era usado no KDE 3.

Ele oferece um conjunto atualizado de opções, incluindo opções para escurecer a tela depois de um
tempo de inatividade, suspender para a RAM (opção "Suspender") quando a tampa é fechada e definir a
política de desempenho para o clock do processador. Ele permite, também, que você configure perfis
independentes (Performance, Powersave, Presentation, etc.) que são usados de acordo com a carga da bateria:

240
Para que as opções funcionem, é necessário que o PowerDevil esteja ativado na seção de configuração
dos serviços do KDE.

Usando o Dolphin

Outra mudança no KDE 4 é o uso do Dolphin como gerenciador de arquivos, no lugar do


Konqueror. O Dolphin oferece uma interface mais simples e acesso mais fácil às funções para acesso a
compartilhamentos de rede, mas em compensação não oferece muitos dos recursos disponíveis no
Konqueror, muito embora emule muitas das funções.

Em outras palavras, ele é um aplicativo completamente novo e não um descendente direto do


Konqueror e por isso tem pontos positivos e negativos em relação a ele. A principal diferença entre os dois é
que o Konqueror é um aplicativo de uso geral, que pode ser usado como gerenciador de arquivos, navegador,
terminal (experimente clicar no Configurações > Emulador de terminal) e assim por diante, enquanto o
Dolphin é mais especializado, destinado a ser apenas um gerenciador de arquivos.

Um bom exemplo disso é que, sendo também um navegador, o Konqueror inclui visualizadores para
diversos formatos de arquivos. Ao clicar em uma imagem, por exemplo, ela não é exibida no Gwenview ou
no Gimp, mas sim mostrada dentro da própria janela do Konqueror.

No caso do Dolphin, todos estes visualizadores foram eliminados, fazendo com que ele simplesmente
abra os arquivos usando o aplicativo externo relacionado a eles. Imagens são exibidas por padrão no
Gwenview (que se tornou o visualizador de imagens default do KDE, substituindo o antigo Kuickshow)
enquanto arquivos em PDF são abertos no Okular, por exemplo.

Naturalmente, você pode alterar os aplicativos default para cada extensão de arquivos. Para isso,
acesse as propriedades de um arquivo e, na aba "Geral", clique no ícone da chave inglesa para acessar a janela
de edição do tipo de arquivo:

241
A organização do Dolphin é baseada no uso de três colunas, e foi desenvolvida pensando em
aproveitar melhor o espaço em PCs com telas wide. A coluna da esquerda mostra uma lista personalizável de
atalhos para compartilhamentos de rede e partições do HD, oferecendo acesso rápido, enquanto a coluna da
direita mostra previews e informações sobre os arquivos. Existe também uma opção para dividir a janela
central em duas colunas, o que facilita muito as operações de cópia de arquivos entre diferentes pastas (já que
você pode simplesmente arrastar os arquivos de uma para a outra).

Apesar de ter perdido o cargo de gerenciador de arquivos oficial, o Konqueror continua fazendo parte
do KDE 4. Mesmo em distribuições onde ele eventualmente não venha instalado por padrão, basta instalá-lo
através do gerenciador de pacotes, como em "urpmi konqueror" ou "apt-get install konqueror".

Em sua configuração default, o Konqueror passou a ser inteiramente voltado para navegação web,
mas nada impede que você personalize a configuração, a aparência e os atalhos de forma a deixá-lo do jeito
que está acostumado, como nesse exemplo:

242
Para isso, comece clicando com o botão direito sobre as barras de ferramentas (são duas, uma com os
botões e outra com a barra de endereços) para ajustar o tamanho dos ícones. Aproveite e use a opção
"Posição do texto > Apenas ícones" para remover as legendas de texto que aparecem embaixo dos botões,
apenas ocupando espaço. Use em seguida a opção "Configurações > Configurar Barras de Ferramentas" para
personalizar a lista de funções que são exibidas na barra.

Se quiser que a barra de endereços fique na mesma linha que a barra de funções (maximizando o
espaço útil), como no screenshot, basta arrastá-la para a posição desejada. Você pode também testar outras
configurações, como deixar a barra de funções na vertical e colocar a barra de endereços na base da tela,
como neste outro exemplo:

Essa flexibilidade de configuração é justamente o principal ponto forte do Konqueror e o motivo de


tantos usuários continuarem preferindo-o em relação ao Dolphin. Na verdade, ambos os gerenciadores são
baseados no Kparts, a biblioteca de componentes do KDE. Ela inclui a maioria das funções usadas pelo
gerenciadores, como as funções de exibição de arquivos, extensões e assim por diante. O que muda entre o
Konqueror e o Dolphin é a forma como estas funções são usadas e como as opções são apresentadas.

Complementando as funções disponíveis através dos menus, tanto o Dolphin quanto o Konqueror
oferecem suporte a plugins (chamados "kio_slaves") que podem ser usados diretamente a partir da barra de
endereços. Eles facilitam o uso de diversos recursos:

sftp:// : Permite acessar arquivos em outros PCs com o servidor SSH ativo, permitindo tanto
transferir quanto abrir os arquivos diretamente. Basta especificar o login de acesso (se diferente do que você
está usando na máquina atual) e o endereço de conexão, como em "sftp://fulano@192.168.1.254".

243
smb:// : É similar ao sftp://, mas permite acessar arquivos em compartilhamentos do Windows. Para
acessar compartilhamentos públicos (como no caso de compartilhamentos de rede no Windows XP) você
pode simplesmente especificar o nome ou endereço IP do servidor, como em "smb://gdhpress/" ou
"smb://192.168.1.23/". Isso faz com que o konqueror liste os compartilhamentos disponíveis na máquina.

Para compartilhamentos com autenticação, você deve especificar também o login de acesso e o nome
do compartilhamento, como em "smb://fulano@servidor/arquivos".

ftp:// : Este é o plugin clássico para acesso a servidores FTP. A dica é que, além de especificar o
endereço do servidor (o que faz com que o Konqueror tente acessá-lo de forma anônima), você pode
especificar também o login de acesso e a porta (caso o servidor esteja escutando em uma porta diferente da
21), como em "ftp://fulano@meusite.com" ou "ftp://fulano@meusite.com:2121".

man:/ : Este plugin serve como uma interface gráfica para o comando man. Basta incluir o comando
desejado, como em "man:/ls" ou "man:/wget" (diferente dos outros módulos, o man utiliza uma única barra).
Você pode ver também um índice com todos os manuais disponíveis (várias centenas, divididos em
subseções) digitando apenas "man:/".

DICAS DE APLICATIVOS

Aproveitando que estamos falando sobre o KDE e sobre a configuração do ambiente, vamos a
algumas dicas de aplicativos, já que, afinal, eles acabam sendo os componentes mais importantes de qualquer
desktop. Por mais que as distribuições mudem com relação às ferramentas de configuração e à apresentação
geral, você quase sempre tem disponível o mesmo conjunto básico de aplicativos, que podem ser instalados
usando o gerenciador de pacotes.

Uma característica importante entre os aplicativos Linux é a marcante divisão entre os aplicativos do
KDE e do GNOME, muitas vezes com dois aplicativos muito similares entre as duas famílias. Como de
praxe, você pode escolher entre tentar se limitar aos aplicativos de uma das famílias, com o objetivo de
manter seu desktop "consistente", ou pode simplesmente misturá-los conforme a necessidade, evitando
apenas os que fiquem muito lentos fora do ambiente default.

Embora tenha optado por incluí-lo no capítulo do Mandriva, para manter a ordem natural do livro,
este é um tópico geral sobre os aplicativos, com opções que você pode instalar sobre qualquer distribuição.

Dicas para o 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 (que mais tarde deu
lugar ao KompoZer), um editor html visual bastante amigável.

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 20% dos usuários
Windows, desafiando a hegemonia do IE. Vamos então a algumas dicas básicas sobre ele:

Suporte a Flash: O flash acabou se tornando o formato default para vídeos, mini-aplicativos, jogos e
todo tipo de conteúdo multimídia disponível na web, eclipsando outros plugins, como o Java e o QuickTime.
Hoje em dia, você poderia muito bem passar dias navegando apenas com o suporte a Flash, sem sequer sentir
falta de outros plugins.

Antigamente, o plugin flash para Linux era sempre desatualizado em relação à versão para Windows,
com as atualizações sendo lançadas com vários meses de atraso. Entretanto, a partir do Flash 10, a Adobe
passou a disponibilizar as novas versões de forma quase simultânea, além de passar a disponibilizar o pacote
em mais formatos, facilitando a instalação.

244
Por ser proprietário, o flash não é incluído por padrão na maioria das distribuições, mas o "Default
Plugin" do Firefox se oferece para instalá-lo assim que você acessa qualquer página que precise dele. De
qualquer forma, caso precise instalá-lo ou atualizá-lo manualmente, basta baixar o arquivo no:
http://get.adobe.com/flashplayer/

Ao baixar o arquivo, você tem a opção de baixar pacotes para algumas distribuições, ou baixar um
arquivo .tar.gz genérico que pode ser usado em qualquer uma. Na verdade, o conteúdo dos arquivos é
rigorosamente o mesmo; muda apenas o formato.

Para instalar, basta descompactar o arquivo e copiar o "libflashplayer.so" para dentro da pasta de
plugins do Firefox. Você pode tanto fazer uma instalação particular, copiando o arquivo para a pasta
".mozilla/plugins/" dentro do seu diretório home, ou fazer uma instalação de sistema, copiando-o para a
pasta "/usr/lib/firefox/plugins/". Para confirmar a instalação (depois de reiniciar o Firefox), acesse o
"about: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.

A instalação do Flash é bastante simples. O maior problema é como evitar as chatas propagandas e os
popups em Flash que pipocam em quantidade cada vez maior, exibindo vídeos, áudio e todo tipo de
gracinhas.

Uma excelente opção para resolver o problema é o Flashblock, uma extensão do Firefox que bloqueia
todas as animações e anúncios em Flash, mostrando um ícone da Macromedia no lugar. Ao clicar sobre ele, a
animação é exibida normalmente, permitindo que você escolha o que ver. Além de reduzir a aporrinhação, ele
reduz o uso de banda e de recursos do sistema (principalmente ao abrir várias abas simultaneamente),
tornando sua navegação mais ágil. Ele está disponível no https://addons.mozilla.org/pt-
BR/firefox/addon/433 ou através do "Ferramentas > Complementos".

Além do Flash da Adobe temos também o Gnash (http://www.gnashdev.org/), que é a alternativa


open-source. Ele não oferece todos os recursos do Flash e não é capaz de exibir corretamente todas as
páginas, de forma que ele não vai interessar muito a quem realmente usa jogos e outros conteúdos em Flash.

Entretanto, ele possui a vantagem de consumir menos memória, ser mais estável e possuir menos
brechas de segurança que o Flash da Adobe, o que faz com que ele seja uma alternativa interessante para
quem visualiza conteúdos Flash apenas esporadicamente e quer uma alternativa mais simples e segura.

Para instalar o Gnash no Ubuntu ou em outras distribuições derivadas do Debian, remova o flash da
Macromedia (desinstale o pacote "flashplugin-nonfree" ou delete manualmente o arquivo "libflashplayer.so")
e instale os pacotes "gnash" e "mozilla-plugin-gnash" usando o gerenciador de pacotes, como em:

# apt-get install gnash mozilla-plugin-gnash

No Mandriva, o processo é o mesmo, com a diferença de que o segundo pacote se chama "gnash-
firefox-plugin":

# urpmi gnash gnash-firefox-plugin

Ele instala o arquivo "libgnashplugin.so", que corresponde ao plugin. No caso das distribuições
derivadas do Debian, é criado o link "flash-mozilla.so", que é por sua vez um link para o
"/etc/alternatives/flash-mozilla.so" (um sistema desenvolvido para que o Gnash substitua o plugin da Adobe
caso instalado).

Se por acaso o navegador não reconhecer o plugin (o que é comum se você tiver instalado o Firefox
manualmente), crie o link manualmente dentro da pasta ".mozilla/plugins", dentro do seu diretório home. Se
não gostar dele, basta remover os pacotes e reinstalar o Flash da Macromedia da forma usual.

Outras dicas: Você pode bloquear seletivamente a execução de javascripts usando o noscript
(http://noscript.net). Ele monitora a execução de scripts durante o carregamento das páginas, exibindo um

245
ícone de alerta na barra de tarefas, através do qual você pode ver os scripts incluídos nas páginas, indicando
manualmente os domínios permitidos:

A principal vantagem é que você passa a ter a escolha de carregar ou não os scripts, o que é muito útil,
sobretudo ao navegar em páginas suspeitas.

No início, ele pode parecer não compensar o trabalho, uma vez que você precisa permitir
manualmente scripts em cada uma das páginas que acessa para ativar funções como formulários, scripts de
mudança de página e assim por diante. Entretanto, depois de usá-lo por algum tempo o trabalho começa a
dar retorno, já que ele passará a não atrapalhar mais a navegação em sites conhecidos, mas continuará
cumprindo seu trabalho ao navegar em páginas desconhecidas.

Outra extensão útil é o Prefswitch (https://addons.mozilla.org/firefox/addon/6485). Ele adiciona um


conjunto de botões na barra de status, que permitem desativar o uso de javascripts, carregamento de imagens,
uso de CSS e outras funções:

Naturalmente, as mesmas opções estão disponíveis dentro do menu de configuração, mas, o fato de
ter acesso a elas com um único clique, abre várias possibilidades, permitindo que você desative as imagens
quando estiver navegando com uma conexão lenta, ou que desative temporariamente o uso de javascript ao
acessar algum site suspeito.

Quando você clica em um link "mailto:" em qualquer página, o Firefox abre o cliente de e-mails
padrão, que na maioria das distribuições é o Evolution ou o Thunderbird. Você pode fazer com que ele use o
Gmail alterando o programa padrão no Editar > Preferências > Programas > Mailto > Usar o Gmail:

246
Nessa mesma janela, você pode alterar as extensões padrão para todos os formatos conhecidos e
também adicionar manualmente outros tipos de arquivos, especificando o aplicativo default relacionado a
cada um.

Otimizando o espaço: O default do Firefox na maioria das distribuições é usar ícones grandes para os
ícones da barra, o que desperdiça espaço útil. Clicando com o botão direito sobre o botão de parar e
acessando o "Personalizar", você tem a opção de usar ícones pequenos e também de personalizar os ícones
da barra de ferramentas, adicionando ou removendo componentes.

Outra dica é que existe um grande espaço vazio ao lado do "Ajuda". Em vez de desativar a barra de
favoritos (que é útil, mas ocupa uma linha adicional) você pode movê-la para o espaço livre, fazendo com que
ela continue visível, mas agora sem ocupar espaço útil. A opção fica disponível enquanto a janela de
personalização está aberta:

Depois de mover a barra, o espaço referente a ela ficará em branco. Fica faltando então apenas
desativá-lo, desmarcando o "Exibir > Barras de ferramentas > Favoritos".

Uma outra opção relacionada ao uso do espaço, que incomoda muita gente, é o default do Firefox 3
de ampliar as imagens juntamente com o texto ao aumentar o zoom da página.

Na maioria dos casos, você usa o zoom apenas para tornar o texto mais legível e ampliar junto as
imagens faz apenas com que elas fiquem distorcidas e ocupem mais espaço. A solução é acessar o
"about:config" e alterar a opção "browser.zoom.full" para "false". Isso restaura o default do Firefox 2, de
aumentar apenas o texto.

Ajustando o autocompletar: O Firefox trouxe uma nova barra de localização, a "Awesome Bar", que
utiliza um sistema de busca para completar os endereços digitados, cruzando as entradas do histórico com os
bookmarks e outras informações para criar uma lista de sugestões de endereços. Como ela leva em conta suas
escolhas anteriores, ela acaba se tornando bastante útil, "adivinhando" os endereços que quer acessar depois
de digitar as primeiras letras.

O ponto de discórdia é que os resultados são mais imprevisíveis, o que leva muitos a preferirem o
sistema antigo (do Firefox 2), onde o navegador completa a barra usando apenas endereços que comecem
com os caracteres digitados.

Para mudar para ele, acesse o "about:config", localize a opção "browser.urlbar.maxRichResults" e


mude o valor para "-1" (confirme também se a opção "browser.urlbar.autoFill" está com o valor "true"). Em
seguida, localize a "browser.urlbar.matchOnlyTyped" e mude o valor para "false":

247
IPV6: Embora o IPV6 ainda seja pouco usado, praticamente todas as distribuições o trazem ativado
por padrão. Isso causa um pequeno atraso na resolução dos domínios, que acaba tornando a navegação mais
lenta. A menos que você já esteja utilizando o IPV6 para acessar sites externos, você pode desativá-lo no
Firefox para ganhar tempo. Para isso, acesse o "about:config" e configure a opção "network.dns.disableIPv6"
com o valor "true".

Segurança: O Firefox oferece uma opção de memorizar senhas, que é bastante prática, porém também
bastante insegura, já que as senhas ficam originalmente armazenadas em um arquivo dentro do seu profile e
podem ser visualizadas através do "Editar > Preferências > Segurança > Senhas memorizadas > Exibir
senhas". Qualquer um poderia copiar sua lista inteira de logins e senhas simplesmente acessando a opção e
tirando um screenshot da janela enquanto não estivesse na frente do micro, um risco grande demais para se
correr.

Para evitar isso, é fortemente recomendável que você defina uma senha, marcando a opção "Definir
senha mestra". Ela precisará ser digitada cada vez que o Firefox for aberto para destravar o chaveiro e
também para desativar a opção posteriormente. É um pouco imprático, mas pelo menos suas senhas não
ficarão disponíveis para todo mundo ver.

Escondendo os rastros com o Tor: O Tor (https://www.torproject.org) é uma rede destinada a


oferecer acesso anônimo à web, que pode ser usada em qualquer situação onde você não deseje ser rastreado.
Ele é usado, por exemplo, por grupos humanitários para manter contato com membros em áreas de conflito,
ou com grupos perseguidos politicamente. Outros usos, não tão nobres, mas também aceitáveis, são grupos
que realizam investigações diversas e precisam acessar informações sem serem identificados, usuários que
precisam acessar serviços bloqueados dentro da rede, e assim por diante.

Devido à sua estrutura descentralizada, uso de encriptação e dos diversos truques usados para
mascarar o tráfego, a rede Tor é bastante lenta (não espere mais do que 5 ou 10 KB/s em um dia bom), mas
ela cumpre bem os objetivos com relação à anonimidade.

Para usar o Tor, o primeiro passo é instalar os pacotes "tor" e "privoxy" usando o gerenciador de
pacotes, como em "urpmi tor privoxy" ou "apt-get install tor privoxy".

248
Com os pacotes instalados, abra o arquivo "/etc/privoxy/config" e adicione a linha a seguir no final
do arquivo:

forward-socks4a / 127.0.0.1:9050 .
Ela ativa o suporte a socks, necessário para o uso de diversos programas. Para que ela entre em vigor,
reinicie o serviço do privoxy, como em:

# /etc/init.d/privoxy restart

Como pode presumir, o privoxy é um proxy local, que permite o acesso à rede Tor. Ele fica residente
na forma de um serviço. Para usá-lo, basta configurar os aplicativos para acessarem o proxy através do
endereço "127.0.0.1" (ou seja, através da instância do privoxy rodando localmente), na porta 8118.

Ao configurar o proxy no Firefox, por exemplo, você pode confirmar o uso do Tor acessando o
myipaddress.com. Você notará que ele exibirá um endereço aleatório, e não seu endereço IP real:

Como a rede do Tor é muito lenta, você vai querer usá-lo apenas em situações especiais e não deixá-lo
ativo o tempo todo. Para facilitar as coisas, você pode instalar o Torbutton, uma extensão para o Firefox que
adiciona um botão na barra, permitindo ativar ou desativar o uso do Tor com um único clique:
https://addons.mozilla.org/en-US/firefox/addon/2275

Uma última dica é que, por default, o Privoxy salva logs dos acessos em um punhado de arquivos
locais. Se você preferir eliminá-los (eliminando assim todas as pistas), comente todas as linhas iniciadas com
"logfile" dentro do "/etc/privoxy/config".

Atalhos: Mesmo correndo o risco de tentar "ensinar o padre a rezar", aqui vai uma pequena lista de
atalhos para o Firefox, que podem melhorar bastante sua produtividade:

Ctrl+T: Abre uma nova aba, com o cursor já focalizado na barra de endereços. Essa é a maneira mais
rápida de abrir uma nova página, já que você pode pressionar o "Ctrl+T" para abrir a nova aba e em seguida
já começar a digitar o endereço (deixando que a Awesome Bar complete a URL automaticamente depois dos
primeiros caracteres), tudo sem precisar usar o mouse.

Ctrl+L: Focaliza na barra de endereços, permitindo que você digite um novo endereço sem precisar
primeiro dar um duplo clique com o mouse e apagar o anterior.

Ctrl+Z: Preenche a barra de endereços com a URL da aba anterior. Ele pode ser usado em conjunto
com o "Ctrl+T" para duplicar uma aba rapidamente: basta pressionar "Ctrl+T", "Ctrl+Z" e depois Enter.

Fonte: O "Ctrl++" ou "Ctrl+-" permitem ajustar o tamanho das fontes da página, evitando que você
precise usar as funções escondidas no menu. Você pode tanto pressionar a tecla Ctrl e usar as teclas "+" e "-"
do teclado numérico, quanto pressionar "Ctrl+Shift" e usar a tecla "+/=".

Por default, o Firefox 3 memoriza o tamanho de fonte definido para cada página e continua exibindo
as fontes no mesmo tamanho quando você as acessa normalmente. Nos casos em que isso se torna um
problema, pressione "Ctrl+0" para restaurar o tamanho original.

249
Se preferir desativar a memorização do nível de zoom para cada site, acesse o "about:config" e altere a
opção "browser.zoom.siteSpecific" para "false".

Busca: Você pode abrir o campo de busca de duas maneiras. A mais conhecida é pressionar "Ctrl+F",
o que abre a busca já com o campo de texto focalizado, permitindo que você digite o termo desejado e inicie
a busca pressionando Enter. A segunda opção (mais prática até) é simplesmente pressionar a tecla "/",
escrever o termo a pesquisar (como em "/gdh") e pressionar Enter. Este é o mesmo atalho usado para fazer
buscas dentro dos manuais do comando man.

Navegação: Em vez de usar os botões, você pode voltar à página anterior pressionando "Alt+seta
esquerda", e avançar pressionando "Alt+seta direita". Para voltar à página inicial, use o "Alt+Home". Outra
opção é ativar o uso da tecla backspace para retornar à pagina anterior, o que acaba sendo bem mais prático
do que usar o atalho de três teclas. Para isso, acesse o "about:config" e altere a opção
"browser.backspace_action" para "0"

Suporte a Java: Embora gratuito, até pouco tempo o Java era proprietário, o que fazia com que ele não
fosse incluído em muitas distribuições, te obrigando 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 no caso do OpenOffice. O primeiro passo é baixar o instalador no:
http://java.com/getjava. Escolha o "Linux (arquivo de extração automática)", que é a versão universal.

O instalador do Java é o mais simples possível, feito com o objetivo de funcionar em qualquer
distribuição. Comece copiando o arquivo para a pasta "/usr/local", que é reservada para guardar programas
instalados manualmente. Em seguida, acesse a pasta, marque a permissão de execução para o arquivo e
execute-o a fim de concluir a instalação:

# cd /usr/local
# chmod +x jre-6u13-linux-i586.bin; ./jre-6u13-linux-i586.bin

O plugin para o Firefox será copiado para a pasta "/usr/local/jre-6u13/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 acessar a pasta de
plugins do Firefox e criar um link para ele.

Se o Firefox está instalado dentro da pasta "/usr/lib/firefox/" (a localização padrão na maioria das
distribuições), por exemplo, os comandos seriam:

# cd /usr/lib/firefox/plugins/
# ln -sf /usr/local/jre-6u13/plugin/i386/ns7/libjavaplugin_oji.so .

Preste atenção no "." no final do comando. Ele faz com que o link seja criado dentro da pasta atual.

Editor visual: Concluindo, se você está em busca de um editor de páginas WYSIWYG, que ofereça
suporte a CSS, formulários e outros recursos modernos de forma visual, uma das melhores opções é o
KompoZer (http://kompozer.net) que, apesar de ser um software relativamente recente, já está disponível
nos repositórios da maioria das distribuições:

250
Nos casos de distribuições onde ele ainda não esteja disponível através do gerenciador de pacotes,
você pode baixar o arquivo compilado estaticamente (o arquivo ".tar.gz" disponível na página). Ele pode ser
simplesmente descompactado em um diretório qualquer e executado diretamente, através do "kompozer"
dentro da pasta.

O KompoZer é um fork atualizado do NVU, o editor de páginas que surgiu como uma continuação
do antigo Composer (o editor HTML que fazia parte da suíte Mozilla). O NVU era um projeto patrocinado
pela Linspire (que ficou famosa ao apresentar o "Lindows" e entrar em uma disputa com a Microsoft em
torno do nome), mas ele acabou sendo abandonado em 2008, quando a Linspire foi adquirida pela Xandros.
O KompoZer surgiu então como uma continuação do projeto, adotado por outra equipe.

Navegando em conexões lentas

Mesmo que você tenha uma conexão ADSL em casa, existem muitas situações em que você pode ser
obrigado a navegar usando uma conexão muito mais lenta, como ao acessar através de uma rede
congestionada, ou em lugares afastados (onde sua conexão 3G chaveie para o GPRS/EDGE com a taxa de
transferência já próxima do mínimo), ou ainda em situações em que você precise se conectar via modem
discado, através de uma linha ruidosa.

A solução mais popular para melhorar a velocidade da conexão quando o link não ajuda, é desativar a
exibição das imagens ("Editar > Preferências > Conteúdo > Carregar Imagens Automaticamente" no
Firefox), o que vai reduzir significativamente o volume de dados a carregar. Entretanto, navegar com as
imagens desativadas não é exatamente uma experiência agradável e você vai perceber que muitas páginas
demoram muito a carregar, mesmo sem as imagens.

Mesmo navegadores em modo texto, como o links, não apresentam uma grande diferença na
velocidade de navegação, já que, embora não exibam imagens, eles precisam baixar o html e processar os
demais elementos da página da mesma forma, o que nos leva ao 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 (ainda por
cima consumindo menos memória RAM) e oferece um bom suporte a páginas problemáticas, desenvolvidas
especificamente para o IE, ou com código mal-escrito.

Inicialmente, o Opera era um aplicativo comercial; depois passou a ser oferecida uma versão gratuita,
que exibia um banner de propaganda; e, finalmente, passou a ser inteiramente gratuito, embora sem ter o
código aberto.

A partir da versão 10, o Opera incluiu o "Turbo", que permite navegar utilizando o proxy da Opera, o
mesmo recurso que já era utilizado pelo Opera Mini, para celulares. O proxy se encarrega de limpar e

251
comprimir o html das páginas, além de degradar a qualidade das imagens, o que reduz em de 3 a 8 vezes o
volume de dados transferidos, resolvendo o problema da banda estreita.

Ele resolve também outro problema que é o fato de muitas páginas carregarem elementos de diversos
servidores diferentes (scripts, anúncios, widgets, etc.), que obrigam o navegador a abrir diversas conexões, o
que em uma conexão lenta pesa bastante. Com o Opera, o proxy é que se vira para fazer todas as requisições,
entregando o html já mastigado para o navegador.

Enquanto escrevo, ele ainda está disponível através do Opera Labs, no:
http://labs.opera.com/downloads/

... mas em breve ele deve estar disponível através da página principal de downloads:
http://www.opera.com/browser/

No caso da versão Linux, basta descompactar o arquivo e executar o instalador como root (depois de
instalado, chame-o usando o comando "opera"). O mais compatível é o arquivo "gcc4-bundled-qt4", que
inclui todas as bibliotecas necessárias dentro do pacote, o que permite que ele funcione sem problemas em
qualquer distribuição. É aconselhável levar os pacotes de instalação com você, em um pendrive ou CD, já que
é difícil baixar 12 MB usando uma conexão de 2 KB/s.

Dentro do navegador, você pode ativar e desativar o uso do proxy clicando no ícone do canto inferior
esquerdo. Ele também permite desativar o carregamento das imagens, o que pode ser feito se a coisa estiver
mesmo feia:

Graças ao uso do proxy, o Opera Turbo é atualmente o melhor navegador para conexões lentas. Vale
lembrar que essa solução foi desenvolvida justamente para uso em celulares, que antes do aparecimento do
EDGE e do 3G, navegavam usando conexões GPRS, que são incrivelmente lentas.

Continuando, outro fator que pode atrasar bastante a conexão são as resoluções de nomes. Em
conexões via GPRS, não é incomum que a latência da conexão chegue a 2 ou 3 segundos, já que em áreas
afastadas o sinal precisa passar por várias torres de retransmissão até finalmente chegar aos roteadores. Isso
significa que cada resolução de DNS demoraria no mínimo de 4 a 6 segundos!

A melhor saída para amenizar o problema é usar um cache de DNS local, reduzindo assim o número
de requisições. No Linux você pode usar o dnsmasq.

Ele está disponível em quase todas as distribuições e pode ser instalado usando o gerenciador de
pacotes, como em:

252
# urpmi dnsmasq

ou:

# apt-get install dnsmasq

Com o pacote instalado, abra o arquivo "/etc/dnsmasq.conf" e adicione as seguintes linhas logo no
início da configuração:

listen-address=127.0.0.1
no-resolv
server=208.67.220.220
server=208.67.222.222
Elas fazem com que ele escute apenas conexões locais (precaução de segurança) e use os servidores
DNS especificados nas duas últimas linhas. Os dois endereços do exemplo são os endereços do OpenDNS,
mas você pode substituí-los pelos endereços do provedor, caso note que eles estão mais rápidos.

Depois de salvar o arquivo, reinicie o serviço para que a configuração entre em vigor:

# /etc/init.d/dnsmasq restart

A partir daí, você pode configurar o sistema para usar o "127.0.0.1" como DNS primário, deixando
que o dnsmasq cacheie as requisições. No Linux, você pode simplesmente editar o arquivo
"/etc/resolv.conf", adicionando a linha "nameserver 127.0.0.1" antes das demais, como em:

nameserver 127.0.0.1
nameserver 208.67.220.220
nameserver 208.67.222.222
Se o seu micro usa DHCP para obter a configuração da rede, o arquivo "/etc/resolv.conf" será
modificado a cada acesso, voltando à configuração original, fornecida pelo servidor. Ao invés de ter que
modificar o arquivo novamente a cada acesso, adicione a linha abaixo no começo (começo, não final) do
arquivo "/etc/dhcp3/dhclient.conf", onde vai a configuração do cliente DHCP:

prepend domain-name-servers 127.0.0.1;


Esta linha faz com que ele sempre adicione a linha "nameserver 127.0.0.1" no início do arquivo
"/etc/resolv.conf", substituindo a edição manual.

Outra opção para acelerar a resolução de nomes é adicionar entradas para os sites que você acessa
com frequência diretamente no arquivo "/etc/hosts". Fazendo isso, o sistema deixará de perder tempo
resolvendo os endereços e acessará diretamente os endereços especificados.

Para descobrir os endereços IP, use o comando "dig" (que faz parte do pacote "dnsutils"), como em:

$ dig gdhpress.com.br

O endereço aparece na seção "ANSWER SECTION", como em:

;; ANSWER SECTION:
gdhpress.com.br. 81373 IN A 72.36.173.154
Ao adicionar as entradas no "/etc/hosts", basta adicionar o endereço seguido pelo domínio (uma
linha para cada site), como em:

127.0.0.1 gdh localhost

72.36.173.154 gdhpress.com.br
74.125.67.100 google.com
Outro problema comum em conexões GPRS/EDGE/3G em áreas distantes, é a perda de pacotes,
sobretudo o sumiço de pacotes SYN, ACK e FIN, que são os responsáveis por iniciar e encerrar as conexões.
As perdas fazem com que os aplicativos fiquem um longo tempo esperando por uma resposta do servidor
remoto, em vez de encerrarem a conexão. Isso causa diversas dores de cabeça, como os eternos "Aguardando
resposta..." do Firefox.

253
No Linux, você pode amenizar o problema ajustando os tempos de timeout e o número de tentativas
antes de encerrar as conexões. Isso faz com que o sistema passe a encerrar as conexões depois de algum
tempo, em vez de deixar os aplicativos esperando por meia hora ou mais, como é o default. Para isso, use os
comandos a seguir, como root:

cd /proc/sys/net/ipv4/
echo 2 > tcp_syn_retries
echo 2 > tcp_synack_retries
echo 3 > tcp_retries1
echo 5 > tcp_retries1
echo 30 > tcp_fin_timeout
echo 3 > tcp_keepalive_probes
echo 30 > tcp_keepalive_intvl
Essas configurações não são permanentes, por isso caso as alterações não surtam o efeito desejado,
basta reiniciar o micro para que as configurações default sejam restabelecidas.

Leitores de PDF

A Adobe disponibiliza versões Linux do Acrobat Reader desde o início dos tempos. Entretanto, ele
possui uma desvantagem grave, que é o fato de não ser open-source, o que faz com que a maioria das
distribuições não o incluam por padrão. Além disso, ele é muito grande e pesado; inchado assim como na
versão Windows.

Ele está disponível nos repositórios "non-free" tanto do Ubuntu quanto do Debian, o que permite
que você o instale com um simples "apt-get install acroread". Entretanto, os pacotes somam 40 MB e a
instalação consome mais de 100 MB de espaço em disco. Se você fizer questão de instalar a versão oficial,
disponível no http://get.adobe.com/br/reader/, o download sobre para 50 MB.

O Acrobat Reader possui versões em formato DEB, RPM e também uma versão
genérica em .tar.gz. Assim como no caso do VMware, os pacotes incluem os mesmos componentes,
mudando apenas o formato de empacotamento. Se você usa o Ubuntu ou outra distribuição
derivada do Debian, o pacote .deb pode ser instalado com um "dpkg -i". Além do ícone no iniciar,
ele pode ser chamado usando o comando "acroread".

No caso do pacote .tar.gz, basta descompactar o arquivo e executar, como root, o arquivo
"INSTALL" dentro da pasta. O Acrobat Reader usa um instalador em texto bastante espartano,
similar ao usado pelo VMware e pelo instalador do Java distribuído pela Sun.

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), nesse caso, basta instalá-lo
usando o gerenciador de pacotes.

Como exibir arquivos PDF não é mais nenhum segredo, existem também diversos leitores open-
source. Um dos melhores exemplos é o Evince, que é usado por padrão no Ubuntu e na maioria das
distribuições baseadas no GNOME. Ele é um leitor "sem frescuras", que é bastante leve, rápido e possui uma
interface simples.

A qualidade de renderização das fontes é muito boa, rivalizando com o Acrobat Reader e, como um
bônus, ele é capaz de se lembrar da página onde você estava ao fechar cada arquivo, o que é muito útil ao ler
livros e textos longos. Em geral, ele vem associado com os arquivos PDF por padrão, de maneira que, ao
clicar no link de um arquivo PDF no Firefox, você tem diretamente a opção de abrí-lo no Evince.

Se você usa um notebook, uma dica ao ler livros e outros textos longos em PDF é girar a tela (Editar
> Girar à direita), ativar o modo de ajuste automático (Ver > Melhor Ajuste) e usar o modo apresentação
(Ver > Apresentação). Isso permite girar o notebook e ler o PDF com a tela na vertical, o que permite ver a
página inteira e cria uma experiência de leitura mais parecida com a de um livro.

Originalmente, a transição entre as páginas é feita usando os botões do touchpad (o que não é muito
prático se você está segurando o notebook), mas você pode simplificar as coisas usando um mouse externo.

254
Se você tem um smartphone da Nokia (ou outro modelo com o S60), outra possibilidade interessante
é usar o Amora (http://code.google.com/p/amora/), que permite usar o smartphone como um mouse
bluetooth. Com ele, você pode mudar a página simplesmente pressionando o botão central no smartphone:

Para o KDE, temos o Okular, que se tornou o visualizador de PDF default no KDE 4, substituindo o
antigo KPDF, que era usado no KDE 3.5.

O Okular possui uma interface bastante polida e também oferece um desempenho muito bom. Além
dos arquivos PDF, ele suporta também arquivos CHM, Djvu, Fb2 e também arquivos ODT, o que permite
que ele seja usado como um visualizador rápido para documentos do OpenOffice.

Assim como no caso de outros aplicativos, rodar o Okular sobre o GNOME, ou o Evince sobre o
KDE, resulta em um overhead relativamente alto, de maneira que a escolha entre um ou outro acaba recaindo
sobre o ambiente gráfico que você está utilizando.

Se você está procurando um leitor de PDF leve, para uso em micros antigos, experimente o XPDF
(instalado através do pacote de mesmo nome). Ele é baseado na biblioteca lesstif2 (o que explica a interface
ultrapassada), mas ele também faz o trabalho. A escolha da biblioteca faz com que ele seja independente do
KDE e do GNOME, permitindo que ele rode com desenvoltura sobre qualquer interface.

Outro aplicativo relacionado é o xCHM, um pequeno aplicativo que permite abrir arquivos .chm, um
formato muito usado para a distribuição de e-books. As versões atuais do Okular também são compatíveis
com o formato, mas o xCHM continua sendo muito usado por ser simples e leve.

Editores e visualizadores de imagem

O editor de imagens mais usado no Linux é o Gimp (www.gimp.org), que mantém o posto há várias
gerações. Apesar de possuir uma base de usuários relativamente pequena se comparado ao Photoshop, que é
o inevitável concorrente direto, o Gimp continua sendo ativamente desenvolvido e trazendo novos recursos a
cada versão

Além dos recursos básicos de edição, suporte a camadas, etc. ele inclui um conjunto bastante
completo de filtros, que são complementados pelo Script-Fu, que permite o desenvolvimento de extensões e
efeitos escritos em Perl ou outras linguagens.

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

255
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, pois exige
uma certa curva de aprendizado.

Muitos apontam a falta de suporte a CMYK (suportado apenas de forma precária através de um
plugin) como o principal fator para a falta de popularidade do Gimp dentro do meio gráfico, mas na verdade
isso tem mais a ver com a cultura em torno do Photoshop do que com a ferramenta propriamente dita. Sob
um certo ponto de vista, a briga lembra bastante a do Microsoft Office contra o OpenOffice, onde o
primeiro se mantém na liderança devido à questão da cultura e da familiaridade dos usuários, muito embora
as duas ferramentas sejam similares em funções.

Existem alguns sites em português com dicas sobre o Gimp, dois dos mais conhecidos são o
www.ogimp.com.br/ e o www.gimp.com.br/. Você também vai encontrar uma grande quantidade de
tutoriais e exemplos no www.gimp.org/docs/, no www.gimpusers.com/ e no http://www.gimptalk.com/.

O principal concorrente do Gimp é o Krita, um aplicativo que faz parte do Koffice. Ele é usado por
padrão em várias distribuições baseadas no KDE (já que o Gimp é baseado na biblioteca GTK2) e realmente
oferece um bom conjunto de funções, combinado com uma interface agradável de usar. Por ser um projeto
muito mais novo, ele ainda não atingiu o mesmo nível de maturidade do Gimp, mas pode ser apenas questão
de tempo.

Se você estiver à procura de um programa mais simples, mais no estilo "paint", pode experimentar o
Kolourpaint, que também faz parte do KDE e vem pré-instalado em muitas distribuições. Outro aplicativo
bastante conhecido é o TuxPaint (www.tuxpaint.org/), um aplicativo de desenho para crianças que é bastante
amigável.

Em uma categoria à parte, temos 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 ideia 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. 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/.

Temos ainda o Blender, o famoso aplicativo de modelagem e renderização 3D que, apesar de estar
longe de ser um aplicativo fácil de usar, possui um número surpreendentemente grande de usuários e

256
colaboradores. Ele tem crescido também no meio profissional, ajudando na produção dos efeitos 3D de
alguns filmes (como o Spider-Man 2) e sendo utilizado até na produção de jogos, na forma do Game 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.

Entretanto, a empresa que desenvolvia o Blender passou por 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 projeto.

Nessa época, o Blender já tinha muitos fãs e um grupo se uniu e propôs a compra dos direitos 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 em um 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. Outro
destaque é o Wiki, disponível no http://wiki.blender.org/.

Entre os visualizadores (que acabam sendo os mais usados, já que a maioria usa o PC apenas para
organizar as fotos tiradas com a câmera e fazer retoques rápidos) um dos melhores é o Gwenview, que é o
visualizador de imagens padrão do KDE 4.

Ele é feito sob medida para visualizar pastas com muitas imagens, oferecendo efeitos básicos de
edição (girar, redimensionar, recortar, remover olhos vermelhos, etc.) que são complementados por um bom
sistema de exibição de slides e um conjunto de plugins, que permitem exportar fotos diretamente para o
Flickr, Picassaweb, Facebook e outros serviços:

No GNOME, o visualizador padrão é o Eye of GNOME (eog), que é integrado ao Nautilus e


associado aos principais formatos de imagem. Ele é desenvolvido com o objetivo de ser um visualizador
rápido de imagens, por isso oferece apenas funções de girar e exibir como show de slides.

Uma opção para quem procura um gerenciador com mais recursos é o F-Spot (http://f-spot.org/),
que tem como objetivo ser um gerenciador de fotos, com recursos de edição e de exportação de imagem para
serviços online, assim como no Gwenview.

A ideia é que você importe suas fotos (diretamente a partir da câmera, ou de uma pasta onde estejam
salvas) e passe a gerenciá-las dentro do F-Spot, onde elas são visualizadas na forma de uma galeria, saindo da
metáfora tradicional de pastas e arquivos. Dentro do F-Spot, você tem à disposição recursos de edição
(inclusive com a possibilidade de criar diversas versões da mesma imagem, em diferentes estágios de edição) e
de classificação.

257
Se você gostou da ideia de gerenciar suas fotos em um local central, mas prefere um aplicativo para o
KDE, a melhor opção é o Digikam, que também já existe em versão para o KDE 4.

Comunicadores e e-mail

Juntamente com as redes sociais, os comunicadores de IM se tornaram parte integrante do aparato de


comunicação da maioria. A grande diferença entre as duas categorias é que enquanto as redes sociais são
baseadas em páginas web, que você precisa acessar para ler as mensagens, os serviços de IM são
implementados através de protocolos baseados no uso de clientes remotos. Isso permite que aplicativos
desenvolvidos por terceiros se conectem às redes e enviem mensagens, o que nos leva aos clientes disponíveis
no Linux.

O mais usado atualmente é o Pidgin (www.pidgin.im/), o sucessor do antigo Gaim, que é encontrado
em praticamente todas as distribuições atuais baseadas no GNOME.

Assim como outros aplicativos do GNOME, o Pidgin utiliza uma interface simplificada, baseada no
HID ("human interface guidelines", que é um padrão internacional de usabilidade), com foco na facilidade de
uso. Isso resultou em uma interface bastante limpa e intuitiva, que permite que você se concentre nas
mensagens propriamente ditas e não em distrações diversas.

O Pidgin suporta todos os principais protocolos de comunicação (MSN, Google Talk, ICQ, etc.),
permitindo que você centralize suas listas de contato e receba todas as mensagens em um lugar só, em vez de
precisar manter diversos clientes separados, como era comum antigamente.

O Pidgin utiliza uma base de código modular, baseada no uso de plugins. Isso permite que ele seja
expandido através de plugins desenvolvidos por terceiros. Três dos mais famosos são o "Facebook IM"
(suporte ao protocolo de chat do Facebook), o "msn-pecan" (um plugin alternativo para acesso ao MSN, que
ganhou notoriedade por oferecer suporte à ultima atualização do protocolo antes do plugin oficial) e o
"Microblog", que adiciona suporte ao Twitter.

Você pode ver a lista completa dos plugins disponíveis no


http://developer.pidgin.im/wiki/ThirdPartyPlugins.

A instalação dos plugins nem sempre é simples, pois eles precisam ser compilados em relação à versão
do pidgin instalada, o que torna necessário ter um bom conjunto de bibliotecas e compiladores instalados.
Devido a isso, o mais comum é que eles sejam instalados através de repositórios adicionais. Também é cada
vez mais comum que as distribuições ofereçam pacotes para alguns dos plugins mais usados; procure por
pacote com o nome iniciado por "pidgin", como em "pidgin-msn-pecan" ou "pidgin-facebookchat". Uma vez
instalados, os plugins podem ser ativados através do "Ferramentas > Plugins".

O Pidgin suporta apenas protocolos de IM, sem suporte a VoIP ou a conferências de vídeo. No
passado, existiu um projeto nesse sentido, o Gaim-vv, mas ele acabou sendo abandonado em favor do Ekiga
(veja o tópico sobre VoIP) que já possui um grande volume de usuários e está sendo desenvolvido de maneira
bastante ativa.

Como o Pidgin e o Ekiga são dois aplicativos complementares, é comum que sejam usados em
conjunto. Especula-se que no futuro o Ekiga possa incorporar suporte ao libpurple (a biblioteca de funções
do Pidgin), ganhando assim o suporte a IM e combinando as duas funções em um único aplicativo.

Em seguida temos o Kopete (http://kopete.kde.org/), que é o cliente de IM multiprotocolo do KDE.


Como de praxe, embora as funções básicas sejam as mesmas, o Kopete utiliza uma interface com bem mais
opções, o que o torna ao mesmo tempo mais personalizável e mais difícil de usar.

Assim como o Pidgin, o Kopete é baseado no uso de plugins, o que o torna bastante expansível. Um
recurso que recebeu bastante publicidade foi o suporte a webcams no MSN. Desde que a câmera tenha sido
detectada pelo sistema, você pode ativá-la no "Configurações > Configurar > Video". A partir daí, você pode
usar as opções no menu de cada contato para enviar ou aceitar as solicitações para ver a imagem da câmera.
O grande problema é que (pelo menos até o Kopete 4.1.3) o plugin suporta apenas o uso da câmera, sem
suporte a voz.

258
Outra observação importante, que se aplica tanto ao Kopete quanto ao Pidgin, é que é sempre
recomendável manter uma versão recente instalada. O protocolo de mensagem usado pelo MSN muda com
uma certa frequência (foram feitas grandes mudanças em 2003, 2005 e em 2008), fazendo com que versões
antigas dos programas comecem a apresentar erros estranhos ou simplesmente deixem de se conectar na rede
quando a rede é atualizada para uma nova versão do protocolo.

Em seguida, temos os clientes de e-mail, que, embora estejam rapidamente perdendo espaço para os
webmails, ainda são utilizados por muitos, sobretudo por quem precisa de suporte ao Exchange ou outro
sistema corporativo.

Embora talvez não seja o maior em volume de usuários, o Evolution


(http://projects.gnome.org/evolution/) é provavelmente o cliente Linux mais importante, devido ao suporte
ao Microsoft Exchange, que possui uma penetração muito grande em redes corporativas. Ele faz parte da
suíte do GNOME, o que faz com que venha pré-instalado no Ubuntu e na maioria das outras distribuições
que o utilizam como interface padrão. Além das tradicionais funções de e-mail, ele oferece funções de agenda,
listas de tarefas, etc. desempenhando também o papel de gerenciador pessoal.

O Evolution suporta o Exchange através do pacote "evolution-exchange", que contém o plugin de


integração (que anteriormente era chamado de Ximian Connector). Ele não é instalado por padrão na maioria
das distribuições, mas quase sempre está disponível nos repositórios.

A grande limitação é que (pelo menos enquanto escrevo) ele é compatível apenas com servidores
rodando o Exchange 2000 ou 2003, ainda sem suporte ao Exchange 2007. Outro recurso importante é a
integração com smartphones e PDAs através do OpenSync, que é instalado através do pacote "opensync-
plugin-evolution".

Para quem precisa apenas de um cliente de e-mail, que faça somente uma coisa e seja bom no que faz,
outra boa opção é o Thunderbird (www.mozillamessaging.com), 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, se tornando cada vez mais preciso. Para ativá-lo, marque a opção "Ferramentas >
Anti-Spam > Filtro Adaptável > Identificar Spam ao receber mensagens desta conta". O filtro é desenvolvido
com o objetivo de 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 é movê-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 guarda os e-mails e configurações dentro da pasta ".mozilla-thunderbird" (ou


".thunderbird", de acordo com a distribuição usada), 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, disponível através do gerenciador de pacotes. Uma observação importante é que no Debian
Lenny e derivados o pacote não se chama "thunderbird", mas sim "icedove", embora o aplicativo em si
continue o mesmo. A mudança no nome foi causada por um problema com a fundação Mozilla, que
argumentou contra o uso das marcas "Firefox" e "Thunderbird" no Debian, já que os desenvolvedores
aplicavam patches e correções "não-oficiais" nos programas.

Além de instalar o Thunderbird diretamente através do gerenciador de pacotes, 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

259
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.

Mais uma dica é que, assim como o Outlook, o Thunderbird mantém cópias de todos os e-mails
recebidos (mesmo os deletados), de forma que os arquivos de mensagens simplesmente vão inchando
indefinidamente, consumindo muito espaço em disco e fazendo com que o programa passe a ficar lento e
instável com o tempo. A solução para remover o lixo é simples: clique com o botão direito sobre o ícone da
pasta de entrada e use a opção "Condensar esta pasta".

Concluindo, temos também o Kmail, que é o cliente oficial do KDE. As três vantagens dele em
relação ao concorrentes são o fato de ser bastante leve quando executado sobre o KDE (o que o torna uma
opção popular entre as distribuições baseadas no ambiente), se integrar ao Korganizer (e os outros aplicativos
da suíte KDE PIN) e manter um bom desempenho ao trabalhar com pastas com muitos e-mails (ele é capaz
de visualizar pastas com 4 ou 6 GB de e-mails sem problemas). Esse conjunto de fatores o tornam uma boa
opção para quem assina muitas listas e precisa gerenciar um volume muito grande de e-mails.

VoiP

Com relação ao uso do VoIP, temos um embate entre o todo-poderoso Skype e o Ekiga, que
simboliza a briga entre o SIP (o protocolo aberto usado pela grande maioria dos serviços de VoIP) e o
protocolo proprietário do 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 (já que ele tem o código-fonte fechado), 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.

Como comentei no capítulo do Slackware, 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.

O grande problema com o Skype é que ele é compatível apenas com seu próprio protocolo. Devido a
isso, ele funciona bem ao ligar para outros usuários do Skype (ou para telefones convencionais usando o
Skype Out), mas ele não se integra a outros serviços, o que nos leva ao Ekiga.

O Ekiga começou como o "GnomeMeeting", um cliente de comunicação compatível com o antigo


Netmeeting da Microsoft. Conforme foi evoluindo, ele passou a incorporar suporte a mais codecs e
protocolos, se tornando um cliente SIP e de vídeo-conferência de uso geral.

O principal atrativo do Ekiga é que ele pode ser usado em conjunto com serviços de VoIP baseados
no protocolo SIP e até mesmo ser integrado a servidores Asterisk, para o desenvolvimento de soluções
próprias.

Boa parte do hype em torno do SIP é derivado da possibilidade de integrá-lo ao sistema telefônico
tradicional (que dentro da terminologia VoIP é chamado de PSTN, ou "public switched telephone network"),
permitindo fazer ou receber ligações através do PC ou de qualquer outro dispositivo rodando um cliente
compatível (como um smartphone, ou mesmo uma TV).

Além da flexibilidade (você pode se logar na sua conta e receber as chamadas em qualquer lugar do
mundo, desde que tenha conexão com a web), essa integração pode representar uma grande economia, já que
você passa a pagar ligações locais, em vez de chamadas DDD ou DDI.

260
Os endereços SIP funcionam de forma muito similar aos endereços de e-mail, contendo o nome do
usuário e o domínio do serviço do qual ele faz parte, como em "sip:fulano@ekiga.net" ou
"sip:ciclano@vono.net.br". Desde que exista conectividade entre os serviços (ou seja, que os provedores
suportem peering), é possível fazer ligações para usuários de outros domínios, da mesma maneira que você
pode enviar um e-mail a partir do Gmail para um usuário com conta no Yahoo, por exemplo.

É justamente devido a essa integração que o SIP é apontado como o "futuro da telefonia". Imagine
que em um futuro talvez não tão distante, os endereços SIP possam passar a ser substitutos para os números
de telefone, permitindo que você ligue para pessoas de qualquer lugar do mundo, pagando uma tarifa fixa, ou
mesmo não pagando nada.

O Ekiga oferece também suporte a diversas contas simultâneas, o que permite que você integre várias
contas diferentes (Vono, Talky, Gizmo5, etc.) no mesmo PC, passando a receber chamadas em todas as redes
e em eventuais números de entrada ativados nelas.

Para isso, clique na opção "Editar > Contas > Adicionar". O "registrador" é o domínio usado pelo
serviço (como em "vono.net.br") e os campos "usuário" e "login de autenticação" (dentro das opções
avançadas) são preenchidos com seu login dentro do serviço:

A opção "Tempo de registro esgotado" determina a periodicidade com qual o Ekiga reconectará ao
serviço. Em uma conexão direta, o registro a cada 3600 segundos funciona bem, mas se você estiver usando
um firewall, ou conectando através de um gateway com o firewall ativo, é provável que você deixe de receber
chamadas 3 minutos depois de abrir o Ekiga, devido ao default do iptables em encerrar as conexões depois de
3 minutos e de descartar pacotes UDP destinados a portas sem conexões ativas. Para solucionar o problema,
reduza o tempo de registro para 180 segundos.

Se você estiver tendo problemas para fazer ligações, acesse o "Codecs de Áudio" dentro da
configuração e certifique-se de que o protocolo GSM está ativado e está em primeiro na lista. O GSM é um
protocolo de compressão de áudio bastante eficiente, que utiliza apenas 13.2 kbps de banda e oferece uma
qualidade de chamada similar à uma (boa) chamada via celular. Muitos serviços (incluindo o Vono) suportam
apenas o GSM, de forma que ele precisa ser usado como default. Nesse caso, não faz diferença marcar ou não
os outros protocolos, pois eles não serão usados:

261
O Ekiga suporta também o protocolo STUN, que permite receber ligações mesmo ao utilizar uma
conexão via NAT, ou ao usar um firewall sem portas abertas. Ele é ativado automaticamente pelo wizard de
configuração inicial, conectando ao "stun.ekiga.net", que é um servidor mantido pelos próprios
desenvolvedores.

Caso opte por não utilizar o STUN, é necessário que você configure o roteador da rede (e o firewall
local, caso usado) para encaminhar a porta 5060 UDP para a sua máquina.

Voltando à questão das contas, na maioria dos serviços, existe a opção de obter um número de
entrada, que permite que seus amigos liguem para você discando para um número fixo. No Vono, por
exemplo, você tem direito a um número de entrada a partir do plano de 25 reais mensais, o que acaba sendo
uma boa solução para quem dispensou o telefone fixo. As ligações também funcionam bem usando conexões
3G e você pode inclusive comprar números de entrada adicionais em outras cidades:

262
A opção "Conta PC-To-Phone" no menu é uma parceria entre o Ekiga e o Diamondcad.us, um
serviço que permite realizar chamadas do PC para telefones fixos e celulares, similar ao Skype Out. Embora o
Diamondcad.us seja uma serviço baseado nos EUA, você pode comprar créditos usando o PayPal. As tarifas
para o Brasil são competitivas com as do SkypeOut (e um pouco mais baixas que as do Vono) e a qualidade
das ligações é boa.

Mais uma dica, tanto ao usar o Skype quanto ao usar o Ekiga, é utilizar um headset USB, em vez de
ficar perdendo tempo com os ajustes das saídas analógicas da placa de som. Os headsets USB utilizam um
padrão comum, o USB HID e são detectados automaticamente pelas distribuições Linux atuais, o que
permite que você os use tanto no Skype quanto no Ekiga sem complicação.

Para que o som da campainha ao receber chamadas saia pelas caixas de som (em vez de sair apenas
pelo headset USB) no Ekiga, indique a placa de som no "Editar > Preferências > Geral > Dispositivo de
Som > Dispositivo de saída alternativo".

Concluindo, temos o Asterisk (http://www.asterisk.org), 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 Ekiga, ou outro software) para micros em outras redes, ou mesmo para telefones fixos ou
celulares. A ideia neste caso é que a chamada seja feita via internet até um outro servidor Asterisk localizado
na cidade destino e deixar que ele realize uma chamada local para o telefone, economizando o interurbano.

É possível também integrar servidores Asterisk com outros serviços, fazendo com que, por exemplo,
as chamadas entre duas filiais de uma empresa sejam feitas diretamente entre os servidores Asterisk e as
chamadas para números externos sejam feitas através do Vono, ou de outro serviço terceirizado.

O Asterisk ainda 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 pensar no Ekiga como sendo o cliente,
que você usa nos desktops e no Asterisk como o servidor, que é usado quando você quer desenvolver uma
solução própria de telefonia, sem depender de um serviço externo.

Players de áudio e servidores de som

Os players de áudio são uma das áreas de aplicativos Linux em que existem mais opções. Existem
vários motivos para isso, que vão desde a relativa facilidade em desenvolver novos aplicativos (afinal, o
sistema já inclui os drivers e as bibliotecas que fazem o trabalho pesado, faltando apenas a interface e os
componentes adicionais que o desenvolvedor deseje incluir) e o fluxo constante de novas ideias com relação à
organização das músicas e à conectividade com iPods e outros dispositivos e também com serviços online.

Um dos melhores representantes dessa nova safra é o Amarok. Ele é um player de áudio de "nova
geração", que trabalha com um conceito de organização de arquivos diferente do usado em programas mais

263
antigos com o XMMS e o WinAMP. Ao invés de simplesmente colocar alguns arquivos ou pastas em uma
playlist, você cria uma "coleção" contendo todas as suas músicas.

Para isso, use o "Configurações > Configurar Amarok > Coleção", marque as pastas com as suas
músicas e, em seguida, use o "Ferramentas Re-escanear Coleção". Isso vai organizar as músicas com base no
artista e no álbum de que fazem parte. Depois de terminado, use o "Ferramentas > Gerenciador de Capas >
Buscar as Capas que Faltam", para que ele baixe as miniaturas das capas.

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
mesmo CD (por exemplo), 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 :).

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, informações que podem ser
usadas na hora de criar novas playlists. Ele também oferece recursos para ouvir rádios online (ele já vem com
uma lista bastante completa), podcasts, integração com serviços como o last.fm e o Magnatune, 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 opçõ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 organização das músicas por artistas e por CD faz sentido
se a sua coleção de músicas realmente é composta predominantemente por álbuns 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-lite",
usado para criar a base de dados local, onde ficam armazenadas as informações sobre as músicas. Apesar
disso, como ele é um aplicativo bastante popular, acaba vindo pré-instalado em muitas distribuições. Nas
demais, basta instalar o pacote "amarok", deixando que o gerenciador de pacotes instale junto as
dependências.

O Amarok oferece suporte para iPods e outros players de áudio, oferecendo uma interface integrada,
similar à do iTunes para transferir músicas. Para configurar, o primeiro passo é conectar e montar seu
MP3Player, clicando sobre o ícone que aparece no desktop. No Amarok, clique no "Configurações >
Configurar Amarok > Dispositivos de Mídia > Adicionar Dispositivo".

264
Se você tem um iPod ou um iRiver, selecione a opção correspondente no primeiro campo; caso
contrário, escolha "Reprodutor de Áudio Genérico". Dê um nome para ele e indique a pasta onde ele está
montado no terceiro campo. Seu MP3 é visto pelo sistema da mesma forma que um pendrive, e fica acessível
através da pasta "/mnt/sdb1" ou similar.

É só verificar como ele foi detectado pelo sistema. A partir daí, você pode acessar o MP3 através da
aba "dispositivos" da janela principal. Clique no "Conectar", arraste as músicas da playlist para a janela de
transferência e clique no "Transferir" para fazer o sincronismo:

Outro programa com recursos similares é o Rhythmbox (www.gnome.org/projects/rhythmbox/), que


utiliza as bibliotecas do GNOME. Ele se integra ao Nautilus e à barra de tarefas do GNOME, fazendo com
que seja mais usado em distribuições que utilizam o GNOME por padrão, como o Ubuntu e o Fedora.

Para quem procura um player de música mais simples, no estilo do WinAMP do Windows, a opção
mais tradicional era o XMMS, que, apesar de ainda ser baseado na biblioteca GTK1 e ter ficado muitos anos
sem manutenção, era ainda bastante popular devido à simplicidade. O XMMS desapareceu nas distribuições
atuais, onde foi substituído pelo Audacious, que oferece recursos muito similares, mas utiliza uma base de
código atualizada e está sendo mantido ativamente:

A ideia central é ter acesso simples aos seus arquivos de música, sem precisar indexá-los ou ter muitas
funções extras. No Audacious, você simplesmente abre os arquivos ou adiciona as músicas na playlist e as
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 é justamente a simplicidade.

Em seguida temos o Audacity, um gravador e editor de áudio que inclui diversos efeitos, filtros e
ferramentas de edição e é bastante simples de usar. Ele é um programa sem equivalentes, pois é ao mesmo
tempo muito fácil de usar e 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.

265
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
(com a ajuda de um metrônomo) 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.

Outro programa similar, porém voltado mais para o público profissional, é o Rezound, disponível
através do gerenciador de pacotes ou no http://rezound.sourceforge.net.

Já que estamos falando sobre aplicativos de som, vou aproveitar para falar um pouco sobre outro
tema importante, que são sistemas de áudio, um velho problema no Linux.

O primeiro conjunto de drivers de áudio para a plataforma foi o conjunto OSS (Open Sound System),
que apesar do nome, era na verdade uma suíte comercial, cujos desenvolvedores ofereciam uma versão open-
source (com algumas limitações sobre a versão comercial) que era incluída no Kernel.

O OSS era um sistema simples e que funcionava bem, mas com o tempo o desenvolvimento
desacelerou e ele começou a se tornar cada vez mais defasado, com mais e mais modelos de placas de som
ficando sem suporte ou sendo suportadas de forma limitada.

Surgiu então o Alsa, que trouxe uma interface muito mais complexa, porém mais elaborada. O projeto
conseguiu atrair um bom volume de desenvolvedores e acabou se tornando o sistema de áudio default,
substituindo o OSS. O Alsa inclui também um sistema de compatibilidade com o sistema anterior, que
permite que aplicativos antigos, com suporte apenas ao OSS, continuem funcionando.

No modelo tradicional, os aplicativos que usam o som enviam o fluxo de áudio diretamente ao driver
de som (que faz parte do Alsa ou do OSS) que, por sua vez, se encarrega de fazer as operações necessárias e
enviá-lo à placa de som.

O grande problema é que a maioria dos chipsets de som atuais (que, assim como os softmodems,
regrediram em relação a placas offboard como as SB Live, usadas há uma década atrás, passando a executar
cada vez mais funções via software) não suportam a reprodução de mais de um fluxo de áudio
simultaneamente, de forma que, quando a placa é acessada diretamente, você não consegue usar dois
aplicativos que acessam o dispositivo de som simultaneamente (o Amarok e o Skype, por exemplo), já que
apenas o primeiro consegue usar o áudio.

266
Surgiram então os "servidores de som", que atuam como intermediários entre a placa de som e os
aplicativos, combinando diversos fluxos de áudio (de forma que vários aplicativos possam usar o som
simultaneamente) e executando outras funções. Eles podem ser usados também para adicionar funções
extras, como a possibilidade de usar som através da rede (um recurso usado por aplicativos de acesso remoto
ou sistemas de terminais leves, como no caso do LTSP).

O grande problema com os servidores de som no Linux é que existem diversas opções e nenhum é
usado por todos os aplicativos, dando origem a diversos tipos de problemas, um exemplo de falta de
padronização que atrapalha a evolução do sistema.

Um dos exemplos mais conhecidos é o Arts, o servidor de som do KDE 3. Ele é usado ao marcar a
opção "Habilitar o sistema de som" dentro do Kcontrol:

Embora tenha sido usado durante toda a fase 3.x do KDE, o Arts possuía diversas deficiências e
acabou sendo descontinuado em 2004, o que levou os desenvolvedores do KDE a adotarem outro servidor
de som, o Phonon, a partir do KDE 4.

Do lado do GNOME, o servidor mais tradicional é o ESD, usado desde as primeiras versões do
desktop. Assim como o Arts, o ESD possui diversas limitações, o que levou ao aparecimento do PulseAudio,
que passou a ser o servidor de som usado por padrão no Mandriva (a partir do 2008.1), no Ubuntu (a partir
do 8.04) e também no Fedora, a partir da versão 8.

O PulseAudio inclui diversos recursos avançados, incluindo controles de volume independentes para
cada aplicativo, o que abre as portas para algumas funções interessantes. Um programa de VoIP como o
Skype poderia ser configurado para baixar automaticamente o volume do MP3 tocando no player de áudio
quando você recebesse uma chamada, por exemplo.

Ele possui também uma boa arquitetura de streaming de áudio via rede, que se bem usada pelos
aplicativos, pode dar origem a recursos interessantes. Um player de áudio rodando no seu notebook poderia
ser configurado para usar as caixas de som do seu PC principal quando você estivesse dentro da área de
cobertura da rede wireless (ou, seja, quando estivesse em casa), em vez de usar as caixinhas do próprio
notebook, por exemplo.

Você pode encontrar dicas de como configurar diversos aplicativos para trabalhar em conjunto com o
PulseAudio no: http://pulseaudio.org/wiki/PerfectSetup

O grande problema é que o PulseAudio sofre do mesmo mal que todos os outros servidores de áudio
no Linux, que é o fato de nem todos os aplicativos estarem preparados para lidar com ele. As primeiras
versões possuíam também alguns problemas de performance e de estabilidade, o que fez com que muitos
ficassem com uma imagem negativa do novo sistema, depois de ter problemas relacionados a ele no Ubuntu
8.04 ou no Fedora 9, por exemplo.

Apesar dos pesares, o PulseAudio veio para ficar, o que, depois de resolvidos os problemas de
transição, pode ser uma boa coisa, já que ele pode marcar, finalmente, o surgimento de um servidor de som
padrão para o Linux, que seja adotado por todas (ou pelo menos quase todas) as distribuições e possa ser
usado por todos (ou quase todos... :) os aplicativos.

267
O Phonon (do KDE 4.2), por exemplo, utiliza o PulseAudio como backend quando disponível, assim
como o GStreamer, que é utilizado pelos aplicativos do GNOME, um raro caso de consenso entre os
desenvolvedores dos dois ambientes.

Apesar disso, nenhuma solução é livre de problemas. Uma solução temporária, para casos em que o
PulseAudio trava a placa de som, impedindo que outros aplicativos a utilizem é simplesmente matar o
processo, usando o:

# pulseaudio -k

... ou, se você quiser ser mais enfático, usando o "killall pulseaudio".

Em muitos aplicativos, o default é utilizar o Arts ou o ESD 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, passando a utilizar o PulseAudio:

Players de vídeo

Com exceção do Mplayer e do VLC, que são baseados em bibliotecas próprias, quase todos os demais
players de vídeo para o Linux são baseados em um backend externo. Em outras palavras, eles "terceirizam" o
processamento dos arquivos de vídeo para outros aplicativos, cuidando apenas a interface e da exibição.

Os dois principais backends são o libXine (mais antigo, mas ainda bastante usado) e o GStreamer, que
está se tornando uma espécie de plataforma universal para aplicativos de mídia no Linux, sendo usado por
padrão no GNOME e também como backend para o Phonon, no KDE 4.

As duas outras forças são o VLC (que continua bastante usado, e possui o diferencial de ser
multiplataforma, possuindo também versão para Windows) e o Mplayer, que persiste como um player
independente, que também oferece bons recursos. Vamos à lista dos principais concorrentes:

Mplayer: O Mplayer é possivelmente o player de vídeo para Linux mais famoso. Ele foi o primeiro
player de vídeo para a plataforma capaz de exibir vídeos em quase todos os 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.

Além de ser usado diretamente via linha de comando (como vimos no capítulo do Slackware), o
Mplayer acompanha uma interface simples baseada na biblioteca GTK, o gMplayer, além de ser utilizado
como backend por outros players.

O grande problema com o Mplayer é que ele incorpora código de diversos outros projetos, incluindo
componentes vindos de codecs proprietários. Isso faz com que ele seja um vespeiro do ponto de vista das
patentes de software, em que as grandes distribuições não se arriscam a mexer. Devido a isso, muito embora
o Mplayer seja ainda muito usado, ele precisa quase sempre ser instalado através de um repositório externo,
como no caso do PLF (no Mandriva), do Medibuntu (no Ubuntu) ou do Debian-Multimedia.

268
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 arquivo 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 (ele 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 menu de opções do gMplayer é acessado clicando com o botão direito sobre a janela. O menu
"Preferences" esconde muitas opções importantes, que são uma deixa para falar sobre as configurações de
vídeo que são encontradas também em outros players:

A opção mais problemática é a do driver de áudio, que nos remete ao problema dos servidores de
som. Tradicionalmente, utilizávamos o alsa, deixando que o Mplayer enviasse o fluxo de áudio diretamente
para os drivers de som. Entretanto, a maioria das distribuições atuais (incluindo o Mandriva e o Ubuntu)
utilizam o pulse, obrigando-o a configurar o gMplayer de acordo. Ao tentar utilizar o Alsa, ele passa a exibir
mensagens de erro, ou simplesmente fica mudo.

269
Em seguida temos a questão do driver de vídeo, que é igualmente importante. Na grande maioria dos
casos, utilizamos o "xv", que tira proveito dos recursos de vídeo disponíveis em todas as placas de vídeo
atual. Isso faz com que grande parte do processamento do vídeo seja processado pela própria placa de vídeo,
reduzindo o uso de processamento e, no caso dos notebooks, melhorando a autonomia das baterias.

A segunda opção é o "x11", onde todo o processamento é feito via software. Ele é necessário em
muitas placas com chipsets da SiS, devido às deficiências dos drivers Linux. O x11 deve ser usado como um
último recurso, pois usa muito processamento e, na maioria dos casos, não permite assistir os vídeos em tela
cheia. As demais opções são drivers específicos: o "xmga", por exemplo, é usado apenas nas antigas placas da
Matrox.

Continuando, 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 sendo processado, evitando delays e perda de frames.
Esta opção exige mais processamento, por isso pode ser desabilitada para melhorar o desempenho em micros
antigos.

A opção "Enable direct rendering" faz com que o Mplayer tente acessar a memória da placa de vídeo
diretamente, em vez de seguir o processo normal, onde ele enviaria os quadros para o X para que só então
eles fossem enviados para a placa. O ganho de desempenho não é tão grande quanto poderia parecer à
primeira vista, mas ela acaba sendo uma aliada ao tentar assistir vídeos em máquinas antigas. A principal
observação é que ela pode causar problemas com a exibição das legendas (que são renderizadas via OSD) em
muitos casos.

Entretanto, a opção mais importante ao tentar assistir vídeos em netbooks ou máquinas antigas é a
"Enable Frame Dropping", que permite que o player descarte parte dos quadros nas cenas mais
movimentadas, exibindo apenas os que o processador for capaz de processar em tempo hábil. O vídeo fica
pulado, mas pelo menos você consegue assistir.

É importante manter a opção "Enable HARD frame dropping" desativada, pois ela causa mais
problemas do que resolve. Em resumo, ela faz com que o player descarte frames diretamente ao ler o arquivo
(antes de começar a processá-los) quando não existe processamento suficiente disponível. O resultado é que,
ao usá-la em micros antigos, a imagem acaba ficando pausada ou com quadros embaralhados, como se você
estivesse assistindo um arquivo corrompido.

Na aba "Codecs & demuxer", mantenha ativada a opção "Rebuild index table, if needed", já que é ela
que permite que o player reconstrua o mapa de frames de arquivos corrompidos ou incompletos.

Outra opção que ajuda em alguns casos é a "Misc > Cache", que permite que o player mantenha uma
porção do vídeo na memória em vez de precisar ler pequenos pedaços a todo instante a partir do HD ou
DVD. Usando um buffer grande (o máximo no gMplayer é "65535", que corresponde a 64 MB) o HD ou
drive óptico do notebook pode ficar mais tempo em modo de baixo consumo (melhorando um pouco a
autonomia da bateria) e você evita pausas ao assistir vídeos a partir de compartilhamentos de rede.

Concluindo, temos a opção "Misc > Enable postprocessing", que permite usar qualquer excedente de
processamento para aplicar filtros adicionais, destinados a melhorarem a qualidade da imagem. Ela nem
sempre é uma boa ideia em notebooks, devido à questão da bateria, mas em outras situações é uma ajuda
bem-vinda.

Além da interface padrão (o gMplayer), que já está bastante ultrapassada, existem diversas outras
interfaces para o Mplayer, que se diferenciam nos recursos e na biblioteca usada.

Um exemplo bastante promissor é o SMPlayer (http://smplayer.sourceforge.net), que é normalmente


encontrado nos mesmos repositórios que oferecem o Mplayer padrão e pode ser também baixado
diretamente através da página oficial.

Além de oferecer uma interface atualizada, baseada na biblioteca QT4 (por não utilizar componentes
do KDE, ele é bastante leve mesmo quando usado sobre o GNOME), ele oferece algumas funções por
enquanto exclusivas. Alguns exemplos são o recurso de lembrar o ponto em que parou de assistir cada vídeo
e abrí-los exatamente na mesma posição da próxima vez (a opção está disponível no General > Ajustes de
Mídia" na configuração) e o de permitir localizar legendas para vídeos automaticamente (com a ajuda do
opensubtitles.org).

270
Como o SMPlayer é apenas uma interface para o Mplayer de linha de comando, você notará que
muitas das opções dentro da configuração são as mesmas que estão disponíveis na configuração do gMplayer.
Entretanto, ele possui bem mais configurações relacionadas à interface, ao som e aos atalhos de teclado.
Entre as configurações de vídeo, uma opção importante é ativar o deinterlace, que evita os riscos horizontais
ao assistir DVDs.

Totem: Apesar de as primeiras versões do Totem terem sido bastante deficientes, ele acabou
evoluindo e se tornando o player de vídeo padrão do GNOME, o que garantiu um posto de destaque na
maioria das distribuições baseadas nele. Ele é o único player que vem pré-instalado no Ubuntu, por exemplo.

Diferente do Mplayer, que oferece um grande volume de opções, o Totem segue a filosofia oposta,
escondendo toda a complexidade e mostrando uma interface bastante espartana ao usuário, com as decisões
sobre os drivers, codecs e outras opções sendo tomadas automaticamente. O menu de preferências, por
exemplo, permite ajustar... bem, não permite ajustar basicamente nada:

271
Embora não exista uma opção dentro da interface para carregar legendas, o Totem é capaz de carregá-
las automaticamente caso você renomeie o arquivo com a legenda, deixando-o com o mesmo nome do
arquivo de vídeo (mudando apenas a extensão).

Ele possui também suporte a plugins. Nas versões atuais, você encontra um plugin para pesquisar e
exibir vídeos do YouTube pré-instalado.

O Totem utiliza o GStreamer como backend, o que significa uma integração muito boa com outros
aplicativos do GNOME. As miniaturas de pré-visualização dos vídeos, que são mostradas pelo Nautilus, por
exemplo, são justamente renderizadas pelo Totem.

Os plugins que oferecem suporte aos diferentes formatos de vídeo são divididos em 3 grupos, na
forma dos pacotes "gstreamer0.10-plugins-good", "gstreamer0.10-plugins-bad" e "gstreamer0.10-plugins-
ugly" (que inclui os plugins para formatos restritos).

Normalmente, apenas o primeiro vem pré-instalado, o que resulta em um suporte bastante


incompleto. No caso do Ubuntu, por exemplo, o "gstreamer0.10-plugins-ugly" faz parte do repositório
multiverse. Como de praxe, você precisa também do pacote "libdvdcss2" para assistir DVDs protegidos. Ela
é uma biblioteca compartilhada entre todos os aplicativos.

Com o conjunto completo de plugins instalados, o Totem é um player bastante competente, que faz o
trabalho sem precisar de muita atenção, uma combinação que costuma agradar ao público menos técnico.
Naturalmente, muitos vão sentir falta de mais opções de personalização, um quesito em que o SMPlayer e o
próprio gMplayer são bem superiores.

Dragon Player: O Dragon Player é o equivalente do Totem dentro do KDE 4, um player de interface
bastante simples, que terceiriza o trabalho pesado para outros componentes do sistema.

Ele utiliza o Solid e o Phonon para acesso ao hardware (placa de vídeo, som, etc.) e para decodificação
dos vídeos. Na maioria das distribuições, o Phonon é configurado para utilizar o GStreamer como backend, o
que faz com que a compatibilidade com formatos seja muito similar à do Totem.

Kaffeine: O Kaffeine é o player de mídia default do KDE 3.5 e ainda utilizado em muitas
distribuições. Ele é também 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 e
outros. Estes programas variam em recursos e opções de interface, mas o nível de compatibilidade com
arquivos é basicamente o mesmo.

O principal atrativo do Kaffeine é o fato de oferecer uma interface bem construída, que permite
acesso fácil às funções mais usadas mas, ao mesmo tempo, oferece acesso a um grande volume de
configurações através do menu de preferências.

O grande problema é que ele foi escrito para rodar sobre o KDE 3.5, com o uso do Arts como
servidor de som (ou acesso direto à placa de som através do Alsa) e outras peculiaridades do ambiente.
Enquanto escrevo (abril de 2009), ele ainda não foi portado para o KDE 4, o que coloca em risco a
continuidade do software, já que para usar a versão antiga sobre o KDE 4, é necessário instalar um grande
volume de bibliotecas de compatibilidade. Uma opção nesse caso é utilizar o Xine original, que apesar da
interface ultrapassada, oferece suporte aos mesmos formatos.

VLC: O VLC é outro player independente, que é capaz de exibir arquivos em diversos formatos. Ele
foi também o primeiro player a oferecer suporte a DVDs protegidos no Linux. Assim como o Mplayer,
algumas das bibliotecas utilizadas por ele possuem problemas relacionados à questão da distribuição, por isso
ele fica disponível em muitas distribuições através de repositórios extras, como no caso do PLF, do
Medibuntu e do RPM Fusion. Uma vez ativado o repositório, basta instalá-lo através do pacote "vlc".

Apesar de estar caindo em popularidade devido à concorrência de outros players, ele oferece a
vantagem de ser bastante leve, e ser por isso uma boa opção para uso em micros antigos ou em netbooks.
Diferente do Totem e do Dragon Player, ele não utiliza bibliotecas do KDE nem do GNOME.

272
Ripar DVDs: Outra dúvida comum relacionada a aplicativos de vídeo é como ripar DVDs, o que com
a falta crônica de tempo acaba sendo um problema comum, já que muitas vezes você aluga DVDs e não tem
tempo de assistí-los.

A forma mais prática de ripar um DVD é simplesmente salvar todo o disco em um arquivo ISO, o
que pode ser feito usando o dd:

# dd if=/dev/dvd of=filme.iso

No comando, o "/dev/dvd" é o dispositivo do drive (que dependendo da distribuição pode ser


também "/dev/scd0", "/dev/cdrom" ou "/dev/sr0") e o "filme.iso" é o arquivo onde ele será salvo. Como o
comando faz apenas uma cópia direta, é necessário ter bastante espaço livre na partição de destino. Um DVD
de dupla camada, por exemplo, resultará em um arquivo de até 8.5 GB.

A vantagem, por outro lado, é que essa cópia simples é relativamente rápida (cerca de meia hora em
um drive 4X). Para assistir o DVD posteriormente, basta montar o ISO em uma pasta, usando o mount,
como em:

# mount -o loop filme.iso /mnt/cdrom

A partir daí, falta apenas abrir o player de vídeo e abrir o DVD a partir da pasta. No caso do VLC,
você pode abrir diretamente pelo "Mídia > Abrir Disco" e no SMPlayer usando o "Abrir > DVD de um
diretório". É possível também assistir usando um netbook, desde que você consiga transferir o arquivo
usando um compartilhamento de rede ou um pendrive.

O problema com o comando do dd é que ele não funciona com DVDs encriptados usando o CSS (o
que exclui muitos títulos de estúdios norte-americanos). No caso deles, a melhor opção é fazer o processo
normal de ripagem, convertendo o DVD em um arquivo .avi.

A opção mais simples nesse caso é usar o K9copy, um ripador bastante simples de usar. Para usá-lo,
basta indicar o dispositivo do DVD e clicar no "Abrir" para que ele escaneie o conteúdo do disco. Depois de
marcar os capítulos e as legendas que serão extraídas, basta usar o "Extract to MPEG files" para ripar.

Como de praxe, ele permite escolher os codecs de vídeo e áudio que serão usados, especificar o
tamanho limite para os arquivos que serão gerados e assim por diante, basta definir as opções desejadas no
"Configurar o K9copy". Uma opção rápida e compatível é usar o "XviD" como codec de vídeo, com audio
em MP3 e 720 de resolução horizontal (a resolução nativa do DVD). Se espaço não for problema, use um
tamanho de arquivo grande (2 GB ou mais) e desmarque a opção "2 pass" (ela melhora a qualidade do
arquivo gerado, mas em troca faz com que a ripagem demore o dobro do tempo). Como de praxe, ele precisa
que o "libdvdcss2" esteja instalado para conseguir abrir DVDs protegidos.

273
Para quem quer um aplicativo com mais funções, a segunda opção seria o DVDrip, que é a opção
mais antiga e tradicional.

Diferente do K9copy, onde você precisa instalar apenas o pacote de mesmo nome, o DVDrip possui
uma lista relativamente longa de dependências (o DVDrip propriamente dito é apenas uma interface que
reúne funções de diversos outros aplicativos). Para ter o conjunto completo, você deve instalar (além do
pacote "dvdrip" propriamente dito e do "libsdvdcss2"), os pacotes "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) e vcdimager (também opcional,
necessário para criar VCDs).

Uma terceira opção é o Thoggen, um pequeno aplicativo do GNOME que permite ripar os DVDs,
salvando os arquivos usando o Ogg Theora como codec (daí o nome). O Thoggen é extremamente simples
de usar, o grande problema é que (pelo menos enquanto escrevo) ele ainda não possui suporte a legendas, o
que faz com que ele deixe de ser uma opção para a maioria. É possível extrair as legendas manualmente
usando o subtitleripper, mas nesse caso seria mais fácil mudar para o K9copy, que faz o serviço completo.

Concluindo, temos também o ancião Acidrip (também disponível em quase todas as distribuições) que
se comporta como uma espécie de versão reduzida do DVDrip, oferecendo uma interface similar, mas com
menos opções. A vantagem é que ele é fácil de usar e oferece o tão necessário suporte a legendas.

K3B e Brasero

Por ser bastante intuitivo e possuir muitos recursos, o K3B (http://k3b.org) 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 jogos.

O ponto forte do K3B é que consegue oferecer um volume muito grande de opções avançadas, sem
com isso deixar de ser fácil de usar. A tela inicial oferece as clássicas opções para criar um CD ou DVD de
dados, queimar um ISO de CD ou DVD, copiar um disco no drive (a função também funciona usando
apenas um drive; usando uma imagem temporária no HD) ou gravar um CD de áudio (você pode arrastar
arquivos em MP3, OGG, Flac ou Wav para a janela de gravação e o K3B se encarrega de converter os
arquivos para o formato do CD) e você tem acesso às demais opções através do menu:

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

274
estes pacotes estão instalados: "cdparanoia" (necessário para ripar e copiar CDs de áudio), "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" (biblioteca que permite converter arquivos
de áudio, necessária para criar CDs de áudio a partir de arquivos .mp3, .ogg ou outros formatos), "liblame0"
(necessária para gravar CDs de música a partir de arquivos .mp3) e "libmusicbrainz4c2a" (outra biblioteca,
que permite que o K3B inclua corretamente as informações sobre as faixas (CD-Text) ao criar CDs de
música).

Outro recurso interessante é o suporte ao eMovix, uma mini-distribuição que permite criar CDs ou
DVDs bootáveis, contendo músicas ou filmes. Por ser muito pequeno e leve, ele ocupa apenas 8 MB na
imagem do CD ou DVD e inicializa em poucos segundos, começando a exibir os vídeos ou músicas incluídos
no disco automaticamente. Ele lembra bastante os sistemas de instant-on incluídos em alguns notebooks, mas
com a vantagem de ser incluído diretamente na mídia e funcionar em qualquer PC.

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. O importante é sempre colocar todos os arquivos no raiz, já que o eMovix ignora
subdiretórios. Ele também suporta o uso de legendas, desde que os arquivos tenham o mesmo nome do
arquivo do filme.

A principal observação é que o pacote do eMovix não é incluído na maioria das distribuições devido à
preocupação com patentes (já que ele é baseado no código do Mplayer), por isso você vai precisar quase
sempre baixar o pacote manualmente no http://sourceforge.net/projects/movix/.

Tradicionalmente, o GNOME não possui um aplicativo dedicado de gravação, se limitando a oferecer


a função de gravação do Nautilus, que é apresentada quando uma mídia virgem é inserida no drive. Isso
mudou com o Brasero, que assumiu o posto de gravador default no GNOME, concorrendo com o todo
poderoso K3B.

Assim como em outros aplicativos da suíte, o Brasero é desenvolvido com foco na facilidade de uso,
se limitando a mostrar as funções mais usadas. A janela principal oferece apenas 5 opções: "Audio Project"
(gravar CDs de música), "Data Project" (a função para gravar dados, usada tanto para CDs quanto para
DVDs), "Video Project" (permite criar DVDs ou SVCDs com filmes, destinados a tocarem em DVD
players), "Disc Copy" (a ferramenta de duplicação de discos, que pode ser usada mesmo com apenas um
drive, criando uma imagem temporária no HD) e o "Burn Image", que permite gravar arquivos ISO ou Cue.

O principal diferencial é a facilidade de uso. Todas as opções são bastante simplificadas, o que faz
com que mesmo os mais iniciantes não tenham muitas dúvidas. Não existe, por exemplo, distinção entre
opções para gravar CDs ou DVDs, já que o aplicativo decide automaticamente que tipo de imagem gerar com
base na mídia inserida no drive.

A função para apagar CDRWs está disponível através do "Ferramentas > Apagar" e a função de
checar o MD5SUM da mídia depois de gravar fica disponível através de um plugin. A opção de ativar as
extensões Joilet fica disponível através do "Aumentar compatibilidade com sistemas Windows", na janela de
gravação.

Para quem não usa nem o KDE nem o GNOME e está em busca de um gravador mais simples e leve,
uma opção é o X-CD-Roast, (http://www.xcdroast.org/) um dos aplicativos de gravação mais antigos, que
até hoje continua prestando bons serviços. Ele está disponível em quase todas as distribuições, através do
pacote "xcdroast".

Mais uma dica, da qual você vai acabar precisando mais cedo ou mais tarde é como converter arquivos
do CloneCD para .iso e assim poder gravá-los no Linux. O grande problema é que o CloneCD salva os
arquivos em um formato próprio, gerando arquivos ".img", que não são diretamente suportados pelo K3B,
nem por nenhum outro programa de gravação no Linux.

A solução é primeiro transformá-los em arquivos .iso, usando o ccd2iso


(http://sourceforge.net/projects/ccd2iso/), um pequeno aplicativo de modo texto, que se encarrega de
eliminar as informações extras adicionadas pelo CloneCD, gerando um arquivo ISO padrão, que pode ser
então gravado usando qualquer aplicativo.

275
O primeiro passo é instalar o pacote "ccd2iso" usando o gerenciador de pacotes. A partir daí, você
pode converter os arquivos via linha de comando, especificando o arquivo .img original e o arquivo .iso que
será gerado, como em:

$ ccd2iso original.img novo.iso

Dicas para o OpenOffice/BrOffice

As suítes de escritório são uma categoria de aplicativos que têm perdido importância com o
crescimento da web. Há apenas uma década, quase todo tipo de conteúdo era escrito usando o MS Office ou
o StarOffice (o antecessor do OpenOffice), de trabalhos escolares a livros. Hoje em dia, entretanto, muito do
que se escreve vai diretamente para a web, sendo publicado em algum sistema de gestão de conteúdo.

Embora seja possível gerar páginas html a partir do Writer ou do Word, na maioria dos casos é
utilizado o WordPress, Drupal, ou outro gestor. Não é preciso dizer também que com o crescimento do
Google Docs, muitos estão passando a deixar seus documentos "na nuvem", em vez utilizar uma suíte office
local.

De qualquer maneira, as suítes de escritório ainda estão muito longe de entrarem em extinção e ainda
são uma ferramenta de trabalho essencial para muita gente. Como em se tratando de Linux, o OpenOffice
reina supremo, é importante incluir algumas dicas sobre ele.

Começando do básico, o OpenOffice é composto pelo Writer, Calc, Draw, Impress, Math e Base que
são, respectivamente, o editor de texto, planilha, programa de desenho vetorial, gerador de apresentações,
editor de equações e gerenciador de banco de dados. Naturalmente, o Writer e o Calc são os mais conhecidos
e usados, mas o Draw, o Impress e o Base também surpreendem pelos recursos.

Ele 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 (basta usar o "Arquivo >
Exportar como PDF") e salvar os documentos em um formato aberto, gerando arquivos muito mais enxutos
e portáveis. Isso é muito importante para empresas, governos e mesmo para muitos usuários, 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, pacotes compactados, contendo arquivos
separados para o texto, layout, 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". Dentro da pasta criada, você verá uma estrutura
como esta:

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), faz com que

276
não exista 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.

Por default, ao copiar trechos de uma página web na janela do navegador e colá-los no
OpenOffice, as imagens serão incluídas como links (em vez dos arquivos serem baixados e
incluídos diretamente), o que faz com que apareçam como quadrados vazios quando o documento é
aberto em um PC sem conexão com a web.

Para que as imagens sejam incluídas diretamente no arquivo do documento (assim como
acontece quando você insere um arquivo local) acesse a opção "Editar > Vínculos". Na janela,
selecione todos os objetos, clique no "Desvincular" e em seguida salve o arquivo.

Além do OpenOffice propriamente dito, existe a opção de usar o BrOffice


(http://www.broffice.org/) que é a versão nacional. Ele surgiu como um projeto de tradução e distribuição
do OpenOffice, mas acabou ganhando vida própria, oferecendo ferramentas adicionais de correção
ortográfica, documentação e os modelos de arquivos do Escritório Aberto.

Embora o software seja fundamentalmente o mesmo, o BrOffice oferece um conjunto de pequenas


melhorias úteis para o público brasileiro, que acabam fazendo com que ele seja a versão mais recomendada.

No site, além da versão Windows, estão disponíveis as duas versões Linux, uma empacotada na forma
de pacotes .deb (destinados ao Ubuntu e outras distribuições derivadas do Debian) e outra na forma de
pacotes .rpm (destinados ao Mandriva, Fedora e outros da família do Red Hat).

Para instalar, descompacte o pacote baixado, acesse a pasta que será criada e instale os pacotes usando
o comando "rpm -Uvh *.rpm" ou "dpkg -i *.deb", de acordo com a versão baixada, como em:

$ tar -zxvf BrOo_3.0.1_LinuxIntel_install_pt-BR_deb.tar.gz


$ cd OOO300_m15_native_packed-1_pt-BR.9379/DEBS
$ sudo dpkg -i *.deb

Em seguida, acesse a pasta "desktop-integration" e instale também o pacote com os ícones, para que
sejam criados os atalhos no iniciar. Ao instalar a versão com pacotes .deb, é recomendável rodar também o
"apt-get -f install" para corrigir qualquer possível problema relacionado a dependências. Se, por acaso, os
ícones no menu não forem criados, você pode criá-los manualmente, apontando para os arquivos (swriter,
scalc, simpress, etc.) dentro da pasta "/opt/broffice.org3/program/".

O BrOffice se instala em um diretório próprio dentro da pasta /opt (no caso do BrOffice 3.x é usada
a "/opt/broffice.org3", por exemplo), enquanto a maioria das distribuições instala o OpenOffice na pasta
"/usr/lib/openoffice2/" ou "/usr/lib/ooo-3.x.x" . A diferença no diretório de instalação permite que você
possa simplesmente instalar o BrOffice junto com uma cópia do OpenOffice já existente, sem precisar
necessariamente primeiro removê-lo. É possível até mesmo abrir as duas versões simultaneamente:

277
Ao optar por remover a versão que vem pré-instalada, ficando apenas com o BrOffice, procure pelo
pacote "openoffice.org-base" ou "openoffice.org-common", que inclui os componentes básicos da suíte. Ao
removê-lo, o gerenciador de pacotes verificará as dependências e solicitará a remoção dos demais pacotes,
permitindo que você remova a suíte de uma só vez.

No Mandriva, por exemplo, você usaria o:

# urpme openoffice.org-common

E no Ubuntu o:

$ sudo apt-get remove openoffice.org-base-core

Extensões: Assim como no Firefox, as versões recentes do OpenOffice podem ser expandidas através
de extensões, que podem ser instaladas através do "Ferramentas > Gerenciador de extensão". A ideia de
implantar o recurso veio justamente do sucesso das extensões do Firefox, por isso o link "Obtenha mais
extensões aqui" e outras semelhanças não são mera coincidência. :)

Você pode ver as extensões disponíveis no http://extensions.services.openoffice.org. Aqui vão alguns


exemplos de extensões úteis. Ao baixar, é importante verificar a compatibilidade, já que muitas funcionam
apenas no OO 2.x, deixando de lado o 3.0, ou vice-versa:

278
Sun PDF Import: O OpenOffice inclui suporte à geração de arquivos em PDF desde que o mundo é
mundo. Essa extensão complementa os recursos nativos oferecendo também a possibilidade de importar
documentos em PDF para edição.

Tabbed Windows: Como o nome sugere, essa extensão adiciona suporte a tabs dentro da janela do
OpenOffice (muito similar às tabs do Firefox), o que acaba sendo bastante útil ao editar muitos documentos
simultaneamente.

MultiDiff: Embora a compatibilidade com os documentos do Office não seja mais um grande
problema, você ainda tem o trabalho de converter os documentos manualmente na hora de salvar. Essa
extensão torna o processo mais automático, permitindo salvar o documento em diversos formatos
simultaneamente.

OpenOffice.org2GoogleDocs: Permite importar e exportar documentos diretamente para uma conta


do Google Docs, integrando o OpenOffice "à nuvem". Um dos pontos fortes dessa extensão é que ela
permite que você combine os recursos de edição do OpenOffice e o corretor ortográfico com as funções de
compartilhamento do Google Docs.

Writer's Tools: Esta é mais uma extensão que integra o OO à web, permitindo traduzir trechos
usando o tradutor do Google, fazer busca de significado de palavras em várias referências, fazer backup de
documentos por e-mail e assim por diante.

Ao adicionar uma extensão usando seu login de usuário, os arquivos são copiados para o diretório
".broffice.org/3/user/uno_packages/" (ou ".openoffice.org2/user/uno_packages", no caso do OpenOffice
2) dentro do seu home. Esse modo de instalação é o ideal para uso em desktops, já que os arquivos são salvos
dentro do seu diretório home e, caso você esteja usando uma partição separada, são preservados juntamente
com seus outros arquivos ao reinstalar o sistema.

É possível também instalar extensões como root, o que é útil no caso de servidores compartilhados
entre diversos usuários. Nesse caso, você pode fazer a instalação executando o
"/usr/lib/openoffice/program/soffice".

Muitas extensões utilizam componentes do ambiente Java, por isso é importante que o suporte a Java
esteja instalado e ativado nas configurações. Na maioria das distribuições, basta instalar o pacote com o Java
da Sun (pesquise pelo pacote "sun-java" ou "sun-j2re"), como faria ao ativar o Java no Firefox, mas no caso
do Ubuntu, é necessário instalar também o pacote "openoffice.org-java-common ", como em:

$ sudo apt-get install sun-java6-bin openoffice.org-java-common

Corretor ortográfico: Ao usar o OpenOffice (a versão original, que é incluída na maioria das
distribuições), um problema comum é como arrumar o corretor ortográfico para a nossa língua, que é
bastante pobre em relação ao BrOffice.

O OpenOffice 2.x é, por padrão, instalado dentro da pasta "/opt/openoffice.org2/". 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), resultando em uma 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 no screenshot), significa que apenas o corretor está instalado:

279
Nesse caso, você pode baixar o corretor ortográfico completo, desenvolvido pela equipe do BrOffice
no: http://www.broffice.org/verortografico/baixar

Ele está disponível em duas versões. A versão para o BrOffice 3 (que também pode ser usada no
OpenOffice 3.x) é um módulo, que você pode baixar e instalar usando o "Ferramentas > Gerenciador de
extensão", sem complicação. Na página está disponível também uma versão do corretor para o Firefox (que é
instalada como módulo) que adiciona o corretor nos campos de edição de texto.

No caso do OpenOffice 2.x, a instalação é um pouco mais complicada, pois é necessário copiar os
arquivos manualmente, mas, de qualquer forma, é importante conhecer os passos, já que o OpenOffice 2.x
ainda continuará sendo usado por algum tempo. Isso evita que você tenha que baixar e instalar todo o pacote
do BrOffice só porque os corretores não vieram em ordem.

O primeiro passo é baixar os arquivos "hyph_pt_BR-204.zip" (o DIVSILAB) e "pt_BR-2009-03-


30AOC.zip" (o VERO) que estão disponíveis no final da página.

Ao descompactar os dois arquivos, você encontrará os arquivos "pt_BR.aff", "pt_BR.dic" e


"hyph_pt_BR.dic", que devem ser copiados (você vai precisar abrir uma janela do gerenciador de arquivos
como root) para dentro da pasta "share/dict/ooo/", dentro do diretório de instalação do OpenOffice
("/usr/lib/openoffice/share/dict/ooo/"), por exemplo.

O próximo passo é editar o arquivo "dictionary.lst", que estará presente dentro do diretório com os
arquivos, adicionando (caso necessário) a linha:

DICT pt BR pt_BR
... no final do arquivo, instruindo o OpenOffice a usar o dicionário. Uma dica é que você não precisa
necessariamente remover a linha que ativa o uso dos dicionários do inglês que estará originalmente presente
dentro do arquivo. Pelo contrário, como utilizamos muitas palavras da língua inglesa, ele acaba sendo
bastante útil.

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". Marque todas as opções e você ficará com o corretor
completo.

Outra dica é que, por default, o OpenOffice não inclui um corretor gramatical, oferecendo apenas o
corretor ortográfico. A diferença entre os dois é que o corretor ortográfico se limita a procurar erros de
escrita nas palavras, enquanto o corretor gramatical verifica a estrutura das frases, indicando erros de
concordância e outros problemas. Em resumo, o corretor ortográfico avisa quando você escreve "traveção",
enquanto o corretor gramatical reclama se você escrever "os travessão".

O melhor corretor gramatical disponível para o OO (e o único open-source) é o CoGrOO


(http://cogroo.sourceforge.net/), que foi originalmente desenvolvido pela FAPESP.

Para instalá-lo no OpenOffice 2.x, baixe o arquivo "cogroo_installer_linux.bin" no


http://cogroo.incubadora.fapesp.br/portal/down/builds/ e execute-o como root para inicializar o instalador.
Para usá-lo, é necessário ter instalado o interpretador Perl (ítem de série na maioria das distribuições) e o Java
da Sun.

Se você está usando o OpenOffice ou BrOffice 3, pode instalar o CoGrOO através da extensão,
disponível no: http://extensions.services.openoffice.org/project/cogroo. Ela é mais simples de instalar e usar
que o arquivo instalável; basta clicar no "Ferramentas > Gerenciador de extensão" e indicar o arquivo.

280
Desempenho: Existem ainda algumas dicas com relação ao desempenho do OpenOffice (como
desabilitar o Java e aumentar o tamanho dos caches) que acabam sendo importantes em micros com poucos
recursos.

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.

É quase um consenso que o OpenOffice é pesado e que demora para abrir. Mas grande parte do
"peso" é devido à configuração padrão, que é otimizada para o uso em máquinas com mais recursos. A maior
parte das configurações é definida durante a compilação e 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". O Java é necessário
para salvar documentos no formato do Office 2003, para usar alguns macros e assistentes e também para
utilizar muitas extensões, mas não para o uso das ferramentas básicas (tanto que no Ubuntu ele vem
desativado por padrão):

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.

Em seguida, temos o ajuste dos caches gráficos. 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, texto e formatação do
documento em um 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 dos arquivos e evitar pausas durante a edição é
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 PC com 1 GB de RAM (ou mais), vai ter bons resultados reservando 196 MB dentro
da opção "Utilização para o OpenOffice.org", aumentando o "Memória por objeto" para 20 MB e
aumentando o número de objetos para 100. Isso faz com que o OpenOffice mantenha as imagens e outros
elementos incluídos nos documentos carregados na memória, em vez de precisar ficar lendo-os a todo
instante a partir do arquivo salvo no HD. Naturalmente, os 196 MB de memória são apenas um limite, que
será atingido apenas ao editar documentos muito pesados:

281
A opção "Remover da memória depois" indica por quanto tempo os arquivos serão mantidos no
cache. Se você fica com o OpenOffice aberto o tempo todo, editando os mesmos documentos na maior parte
do tempo, use um valor alto (como 6 horas) para evitar que ele precise ficar atualizando o cache para os
documentos que já estão abertos.

Se, por outro lado, você tem um micro com 256 MB ou menos, vai ter melhores resultados usando
um cache menor, com 32 MB (ou até menos, de acordo com o total de memória disponível) e ajustando a
opção de memória por objeto para apenas 4 MB. Nesse caso, reduza também o número de objetos para 16
(para que o OpenOffice mantenha na memória apenas os objetos do trecho que estiver editando) e o
"Número de etapas" (o número de alterações que podem ser revertidas com o "Desfazer") para 20.

Em PCs atuais, esses ajustes farão com que o OpenOffice fique, na verdade, mais lento, já que não
poderá manter muitos elementos na memória. Entretanto, em PCs antigos a redução no uso de memória
acaba superando o impacto devido à redução nos caches.

Como pode imaginar, o "Ativar o inicializador rápido" ativa o pré-carregador do OO, fazendo com
que ele mantenha parte das bibliotecas carregadas na memória para início rápido. Essa opção é interessante
apenas para quem tem o hábito de abrir e fechar os aplicativos com frequência.

Mais dicas: Na maioria das distribuições, o ajuste de fontes da interface do OpenOffice é atrelado ao
ajuste das fontes do sistema. Com isso, ao ajustar as fontes através do Systemsettings ou do "Aparência >
Fontes" (no GNOME), as fontes do OpenOffice são também configuradas de acordo. Isso é definido pela
opção "Ferramentas > Opções > OpenOffice.org > Exibir > Usar fonte do sistema para interface de
usuário", que deve ficar ativada:

Na mesma janela, vai a opção "Suavização da fonte de tela", que determina se o antialiasing de fontes
será usado para a exibição dos documentos (note que você pode ativar o antialiasing para as fontes da
interface, ajustando as fontes do sistema, e desabilitar para os documentos e vice-versa).

282
A opção "Usar aceleração de hardware" faz com que o OpenOffice tire proveito dos recursos de
aceleração da placa de vídeo para exibir imagens e outros objetos, o que deixa a interface mais responsível.
Essa opção causa problemas de exibição em alguns casos (principalmente em PCs com chipsets da SiS), mas
nesse caso basta desativar.

Você vai notar que em muitas distribuições o OpenOffice exibe ícones no padrão do KDE ou do
GNOME, enquanto em outras são exibidos os ícones padrão. Esse é outro ajuste, disponível através do
"Tamanho e estilo de ícone", onde você pode também ajustar o tamanho dos ícones.

Uma boa solução para aumentar o espaço útil da tela em netbooks e em monitores pequenos em geral
é usar ícones pequenos e mover a barra de ferramentas para a lateral esquerda, deixando-a na vertical.
Aproveite para desativar também as réguas e (se estiver no KDE) desativar as bordas da janela (clicando com
o botão direito sobre a borda e usando o "Avançado > Sem borda") e você aumentará o espaço de edição em
quase 40%, fazendo com que a tela de um Eee 900 fique com aproximadamente a mesma área útil (em pixels)
de um monitor WXGA, como pode ver no screenshot:

Com relação à documentação, você pode encontrar um conjunto de manuais e apostilas do


BrOffice/OpenOffice em português no www.broffice.org/docs. Os manuais originais (em inglês), estão
disponíveis no http://documentation.openoffice.org/manuals/index.html. Outro site com várias dicas é o
www.tutorialsforopenoffice.org/.

Você encontra também diversos modelos de documentos macros e outros acessórios para download
no site do Escritório Aberto, que faz parte do projeto BrOffice: www.broffice.org/escritorio_aberto

Outras opções de aplicativos de escritório

Concluindo, temos as opções de aplicativos de escritório leves, que podem ser usadas em casos em
que baixar e instalar o OpenOffice é inviável.

O primeiro da lista é o Abiword que, depois do OpenOffice, é o melhor substituto direto para o Word
no Linux. 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 das 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.
Além disso, 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/.

283
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, o que é 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.

Ele é complementado pelo Gnumeric, que oferece uma opção de editor de planilhas leve, porém
bastante completo. Ele surpreende pela quantidade de recursos e pela boa compatibilidade com os arquivos
gerados no Excel, chegando a superar o OpenOffice Calc em vários aspectos. Ao instalá-lo, procure também
pelo pacote "gnumeric-plugins-extra", que inclui diversos componentes extras.

Tanto o Abiword quanto o Gnumeric são baseados na biblioteca GTK, mas eles rodam bem sobre o
KDE, já que não dependem de muitos componentes do GNOME. O KDE possui também uma suíte de
escritório própria, na forma dos aplicativos do Koffice. Eles tem evoluído lentamente devido à escassez de
desenvolvedores e não são realmente uma boa opção, exceto para tarefas básicas, já que possuem ainda
muitos bugs e muitas funções não implementadas. De qualquer maneira, aqui vai uma explicação básica sobre
os aplicativos da suíte:

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 abrí-
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 sobre 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õem o Koffice são Kword (processador de textos), Kspread (planilha),
Kpresenter (apresentações), Kivio (gerador de fluxogramas) Kchart (gráficos e diagramas), Kugar (gerador de
relatórios), Kplato (gerenciador de projetos), Kexi (banco de dados) e o Krita (o programa de desenho
vetorial que comentei anteriormente). Eles são complementados pelo pacote "koffice-i18n-ptbr", que inclui
os pacotes de tradução.

Outro aplicativo que merece uma citação é o Scribus, um aplicativo 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 a diagramação e fechar o arquivo para enviar para a gráfica.

Os pontos fortes do Scribus são a facilidade de uso (comparado com outros programas da área) e o
excelente suporte à 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.

Assim como o OpenOffice, o Scribus utiliza um formato de arquivo aberto e bastante limpo, baseado
em arquivos XML. Isso 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.

284
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 em um editor de textos e remover a parte
danificada.

Descompactação de arquivos

Um assunto simples, mas que acaba gerando dúvidas é como descompactar arquivos em diferentes
formatos no Linux. Como de praxe, temos utilitários gráficos de descompactação bastante práticos, como o
Ark, que utiliza as bibliotecas do KDE e se integra ao Konqueror e o Dolphin e o File-Roller, que é o
concorrente baseado no GTK, que se integra ao Nautilus. Ambos são capazes de trabalhar com diversos
formatos de arquivos e podem ser usados também para criar arquivos compactados. Na maioria das
distribuições, eles são os responsáveis pelas opções de compactar ou descompactar, que aparecem ao clicar
com o botão direito sobre os arquivos e/ou pastas.

Apesar disso, existem sempre algumas dicas de como obter suporte a mais formatos de arquivos, além
das clássicas receitas de como fazer o trabalho via linha de comando. Vamos a elas.

Os dois formatos de compactação "clássicos" no Linux são o gzip e o bzip2, cujos arquivos possuem,
respectivamente, as extensões ".tar.gz" e ".tar.bz2". Entre os dois, o bzip2 é o que oferece os melhores
índices de compressão, mas, em troca, a compressão e descompressão dos arquivos é demorada. O gzip, por
outro lado, é uma espécie de algoritmo "leve" de compressão, que não é tão eficiente quanto os concorrentes
diretos, mas em compensação é bem simples e rápido.

Além das opções para descomprimir os arquivos disponíveis no Nautilus, Konqueror e Dolphin, você
pode descompactar arquivos nos dois formatos via linha de comando usando, respectivamente, os comandos
"tar -zxvf" e "tar -jxvf", como em:

$ tar -zxvf um-arquivo.tar.gz


$ tar -jxvf outro-arquivo.tar.bz2

Em seguida, temos o zip, que é o formato mais tradicional de compressão no Windows. Os arquivos
zip são descompactados no Linux usando o comando "unzip" (que faz parte do pacote "zip"), que vem pré-
instalado em qualquer distribuição. Normalmente, você tem a opção de descompactar os arquivos ao clicar
sobre eles com o botão direito, mas é possível também fazer isso via linha de comando, como em:

$ unzip arquivo.zip

Em seguida temos os arquivos .rar, que também são bastante comuns. Para descompactá-los no Linux
é necessário instalar o pacote "rar" que, por utilizar uma licença não-livre, não vem pré-instalado em muitas
distribuições:

$ sudo apt-get install rar

285
Uma vez instalado, o executável do rar será integrado aos aplicativos de descompactação (como o Ark
e o File-roller), permitindo que você descompacte os arquivos através deles. Você pode também
descompactar os arquivos via linha de comando usando o comando "unrar x" (diferente de outros comandos,
o "x" é usado sem o traço), como em:

$ unrar x arquivo.rar

Esse comando também funciona para arquivos divididos em vários volumes. Basta colocar todos no
mesmo diretório e rodar o "unrar x" indicando o primeiro arquivo. Desde que todos os demais estejam
presentes, ele continuará trabalhando até descompactar o último. Existe também uma versão open-source do
unrar, usada em algumas distribuições, onde o comando muda para "unrar -x", adicionando o hífen.

Para os arquivos .7z é necessário instalar o pacote "p7zip" que (apesar de ser open-source), não vem
pré-instalado em muitas distribuições. Com o pacote instalado, você pode descompactar os arquivos usando
o comando "7z x", como em:

$ 7z x arquivo.7z

Se, por acaso, você se deparar com um arquivo .arj, saído do HD de algum PC da década 1990, pode
descompactá-lo no Linux usando o comando "unarj", que faz parte do pacote de mesmo nome. Como nos
outros exemplos, ele é usado em conjunto com a opção "x", como em:

$ unarj x arquivo.arj

286
CAPÍTULO 4: OPENSUSE E O YAST

A SuSE foi fundada em 1992, como uma empresa de consultoria especializada em Linux, que oferecia
uma versão do Slackware traduzida para o alemão, além de suporte e serviços de personalização. Grande
parte do trabalho dos primeiros anos se concentrou no desenvolvimento de um conjunto de ferramentas de
configuração, que deram origem ao YaST (Yet another Setup Tool), cujas primeiras versões foram lançadas
em 1994. Desde então, o YaST se tornou o principal diferencial da distribuição: um painel de controle central,
bastante poderoso, que permite administrar o sistema de forma relativamente simples.

A primeira versão oficial do SuSE Linux foi o "4.2", lançado em maio de 1996; mas, como a
numeração sugere, ela foi precedida por várias outras versões, que são hoje em dia consideradas não-oficiais.
A versão "1.0", por exemplo, foi uma versão do Slackware contendo pacotes de tradução para o alemão. Com
o tempo, a distribuição abandonou o uso da estrutura do Slackware e adotou o uso de pacotes rpm e da
estrutura de arquivos de configuração do Red Hat, dando origem à distribuição que conhecemos hoje.

Apesar de oferecer um bom conjunto de recursos, o SuSE sempre foi pouco usado no Brasil, devido
ao fato de ser uma distribuição comercial, baseada na venda de caixinhas com as mídias de instalação e
manuais impressos. Não existia nenhuma versão gratuita do sistema para download e não era permitido fazer
cópias dos CDs (naturalmente, ninguém iria prendê-lo por distribuir CDs do SuSE, mas a prática não era
encorajada).

Isso mudou a partir do final de 2003, quando a empresa foi adquirida pela Novell, que abriu o código-
fonte do YaST e passou a recrutar voluntários para o desenvolvimento do sistema, dando origem ao
OpenSUSE, cuja primeira versão (a 10.0) foi lançada em outubro de 2005. Uma curiosidade é que
originalmente o "SuSE" era escrito com o "u" minúsculo, mas, por questões de marketing, a Novell o alterou
para maiúsculo. É por isso que escrevemos "OpenSUSE" e não "OpenSuSE".

Como de praxe, a Novell oferece também o SUSE Linux Enterprise Desktop e o SUSE Linux
Enterprise Server, versões comerciais do sistema, destinadas ao uso corporativo, que combinam os pacotes
do OpenSUSE com uma camada adicional de testes, serviços e suporte técnico. De certa forma, o
relacionamento entre a Novell e o OpenSUSE é similar ao da Red Hat e o Fedora.

O principal destaque do OpenSUSE é a boa combinação de facilidade de uso e recursos. Em vez de


remover recursos do sistema com o objetivo de reduzir o volume de escolhas e assim tornar o sistema mais
simples de usar, os desenvolvedores optam por manter todos os recursos disponíveis e organizá-los através
de opções do YaST e nos menus. Com isso, chegaram a uma distribuição com uma excelente apresentação
visual e relativamente simples de usar, que, ao mesmo tempo, oferece um volume muito grande de opções
avançadas. Aqui vai a obrigatória lista de links rápidos:

287
Site Oficial: http://www.opensuse.org/pt-br/
Download: http://software.opensuse.org/
Wiki: http://en.opensuse.org/Documentation
Lista de compatibilidade de hardware: http://en.opensuse.org/Hardware
Blogs: http://www.planetsuse.org/
Fórum: http://forums.opensuse.org/
Comunidade no Brasil: http://www.susebr.org/

Na página de download estão disponíveis duas versões live-CD, uma baseada no KDE e outra no
GNOME e também uma versão em DVD, contendo todos os pacotes. Assim como no caso do Mandriva, as
versões live-CD incluem uma imagem pré-instalada do sistema, onde você não tem a opção de personalizar a
seleção de pacotes ao instalar no HD, enquanto a versão em DVD oferece um instalador tradicional, com um
volume muito maior de opções de personalização.

DOWNLOAD E INSTALAÇÃO VIA REDE

Para quem prefere fazer uma instalação via rede, está disponível também o "Internet Installation Boot
Image", um ISO de apenas 70 MB, que inclui somente o instalador e alguns pacotes básicos e baixa todos os
demais durante o processo de instalação.

Além das versões regulares, para processadores de 32 bits, estão disponíveis também versões para
processadores de 64 bits e uma versão para PPC (os Macs antigos, baseados em processadores PowerPC),
totalizando 10 versões diferentes:

Embora a maioria torça o nariz para a ideia de fazer uma instalação via rede, ela é na verdade uma boa
opção para quem quer personalizar a instalação, mas não quer baixar o DVD inteiro. Ele baixa apenas os
pacotes marcados durante a instalação, de forma que o download acaba sendo bem mais rápido do que baixar
o ISO do DVD.

Diferente de instaladores antigos, a instalação não trava caso a conexão caia. O instalador
simplesmente exibe uma mensagem de que "não foi possível acessar a mídia de instalação"; basta esperar que
a conexão volte e clicar no "Repetir". Se a conexão estiver ruim, a mensagem pode ser exibida um punhado
de vezes, mas é só questão de ter paciência. Uma instalação enxuta do sistema pode resultar em 500 MB ou
menos de download, menos até do que você gastaria para baixar um dos live-CDs. Para isso, prossiga com a
instalação até o "Configurações de Inicialização" e clique no "Alterar > Software":

288
Na tela seguinte, clique no "Detalhes" para ter acesso à seleção individual dos pacotes. Algumas
categorias que você pode desmarcar para reduzir o download do sistema são o "Software Office", "Efeitos da
Área de Trabalho" (que inclui o compiz e o xgl) e Jogos. Se você não pretender usar impressoras (nem locais
nem remotas), pode desmarcar também a categoria "Servidor de Impressão", que instala os pacotes "cups",
"foomatic" e "gutenprint", além dos PPDs e drivers de impressão. Aproveite para desmarcar também os
aplicativos que não for utilizar dentro das categorias "Gráficos" e "Multimídia", dando prioridades para
aplicativos grandes, como o Gimp:

289
Durante a instalação dos pacotes, clique no "Detalhes" para acompanhar o download e ter uma
estimativa do tempo restante. Não se assuste com o valor mostrado na coluna "tamanho", pois ele
corresponde ao espaço em disco que será ocupado e não ao volume de arquivos que serão realmente
baixados. Uma instalação que ocupe 1.48 GB, por exemplo, corresponde a pouco mais de 500 MB de
downloads.

Uma limitação da instalação via rede, é que o instalador suporta apenas a configuração de placas de
rede cabeadas e de redes wireless sem encriptação. Isso não é um problema se você simplesmente acessa
através de uma rede local, com uma conexão compartilhada via NAT, mas dificulta a vida de quem acessa
através de redes wireless.

Uma dica para os mais destemidos, é que você pode abrir um terminal durante a instalação
pressionando "Ctrl+Alt+Shift+x" e configurar a rede wireless através dele. O shell inclui o vi e o
wpa_supplicant, o que permite que você gere o arquivo de configuração e ative a placa manualmente. Não é
nada prático, mas a possibilidade existe. :)

MAIS DICAS DE INSTALAÇÃO

Assim como em outras distribuições atuais, a instalação do OpenSUSE é bastante simples, a ponto de,
mesmo o usuário mais leigo, conseguir instalar o sistema sem grandes dificuldades, aceitando as opções
padrão. Apesar disso, o instalador oferece um bom conjunto de opções avançadas, que podem ser usadas
para personalizar a instalação ou para descobrir e solucionar problemas diversos.

Se a instalação para sem motivo aparente em algum ponto, por exemplo, você pode abrir um terminal
pressionando "Ctrl+Alt+Shift+x", ou mudar para o terminal em texto puro pressionando "Ctrl+Alt+F2"
("Ctrl+Alt+F7" para voltar ao instalador) e assim poder olhar as mensagens do sistema e descobrir o que
aconteceu. Como pode imaginar, existem muitas passagens escondidas.

290
Na tela inicial, use a tecla F2 para mudar a linguagem para o português do Brasil e a tecla F3 para
ajustar a resolução que será usada durante a instalação.

A tecla F5 permite usar algumas opções para solucionar problemas (desativar o ACPI, APIC ou dar
boot em modo seguro), mas você pode também passar parâmetros adicionais para o kernel diretamente,
adicionando-os à linha de boot.

Como de praxe, além das opções para instalar e inicializar através do HD, estão disponíveis as opções
para testar a mídia de instalação (erros de gravação em DVDs são surpreendentemente comuns, de forma que
fazer o teste antes de começar pode poupá-lo de dores de cabeça mais adiante) e também para fazer um teste
de memória, usando o bom e velho memtest. Problemas relacionados à memória RAM são a causa mais
comum de paus e erros diversos. Se você já tentou instalar uma vez e a instalação parou em algum ponto com
um erro inexplicável, pode ser este o seu caso.

Apesar do nome críptico, a opção "Firmware Test" é na verdade bastante útil para usuários avançados.
Ela realiza um conjunto de testes de compatibilidade com o hardware da máquina, avisando sobre problemas
de incompatibilidades no ACPI, ou outros problemas encontrados. Ela permite também realizar alguns testes
de hardware (como o teste para as portas USB), verificar a compatibilidade da máquina com o recurso de
suspender (que é bastante útil em notebooks, mas infelizmente uma constante fonte de frustrações devido à
falta de compatibilidade do sistema com muitos modelos) e assim por diante:

291
Existe também a opção de rodar o PowerTop, que você pode usar para medir o consumo elétrico e
assim calcular a duração aproximada da bateria no Linux, ou mesmo abrir um terminal de texto e assim poder
rodar o lspci e outros comandos, de forma a obter mais informações sobre o hardware da máquina. Se você
tiver a chance de executar o teste em um notebook que está pensando em comprar, vai ter a chance descobrir
vários detalhes sobre os potenciais problemas de compatibilidade dele com o Linux.

Iniciando a instalação, depois de confirmar a linguagem e o layout do teclado e aceitar o contrato de


licença, o instalador faz uma detecção preliminar do hardware da máquina e das partições de disco. Em
seguida, você tem a clássica opção de fazer uma nova instalação ou (caso o instalador detecte uma instalação
anterior do sistema) atualizar ou reparar uma instalação anterior:

292
A opção de incluir produtos complementares de outra mídia permite que você adicione um
repositório adicional (um compartilhamento de rede contendo pacotes personalizados, por exemplo), para
que ele seja usado durante a instalação. Este recurso é às vezes usado em empresas e universidades para
incluir pacotes adicionais, ou pacotes modificados na instalação do sistema, mas em situações normais a
opção fica desativada.

Em seguida temos a opção mais importante que é a "Usar configuração automática". Desmarcá-la faz
com que o instalador exiba um volume muito maior de opções durante a instalação, permitindo que você
edite a configuração da rede e revise toda a configuração do hardware da máquina antes de concluir a
instalação. Naturalmente, isso torna a instalação muito mais demorada, mas permite que você tenha um
melhor controle sobre o processo.

Existe um pequeno ovo de páscoa na tela para ajuste do fuso-horário. Clicando no "Alterar", você tem
a opção de acertar a hora do relógio usando um servidor NTP, mas ela fica desativada, já que a rede ainda não
foi configurada.

Entretanto, se você abrir o terminal de texto pressionando "Ctrl+Alt+Shif+x" e configurar a rede


manualmente, usando os comandos:

# ifconfig eth0 192.168.1.54 up


# route add default gw 192.168.1.1 dev eth0
# echo 'nameserver 208.67.222.222' > /etc/resolv.conf
# exit

... alterando os endereços de acordo com a configuração da sua rede, a opção ficará disponível:

Em seguida, temos a escolha do ambiente gráfico. Diferente das versões antigas do SuSE, que eram
centralizadas no KDE, o OpenSUSE é bem democrático na escolha do desktop, oferecendo versões do
KDE (no OpenSUSE 11 estão disponíveis tanto o KDE 3.5 quanto o KDE 4), GNOME e XFCE, que
compartilham o mesmo visual customizado e a mesma organização básica. O próprio YaST possui duas
versões, uma baseada na biblioteca QT (usada no KDE) e outra baseada na biblioteca GTK, que é usada no
GNOME e no XFCE.

293
Um bom fator ilustrativo do esforço dos desenvolvedores em tratarem os três ambientes de forma
imparcial, é que não existe um ambiente padrão. Você precisa realmente indicar qual ambiente deseja usar
como padrão durante a instalação:

Além do XFCE, a opção "Outro" oferece a possibilidade de instalar um ambiente gráfico mínimo
(sem gerenciador de janelas algum) permitindo que você comece do zero, instalando o gerenciador e os
programas desejados manualmente.

Estão disponíveis também o IceWM, FluxBox, Enlightenment, WindowMaker e outros gerenciadores


menos populares, mas eles não são pré-configurados pela equipe do OpenSUSE, que simplesmente inclui
pacotes com a configuração padrão, que você pode personalizar a gosto. Eles podem ser marcados mais
adiante, na tela de seleção manual de pacotes.

O OpenSUSE usa por padrão o "SLAB", um menu alternativo, que tenta facilitar o acesso às
aplicações, dividindo as opções em abas e exibindo apenas os aplicativos mais usados na janela principal.
Embora o SLAB tenha seus adeptos, uma grande parte dos usuários acha o sistema pouco produtivo e
prefere voltar ao menu iniciar padrão, o que você pode fazer rapidamente clicando com o botão direto sobre
ele.

Outra curiosidade é que o instalador do OpenSUSE é um módulo do próprio YaST, o painel de


controle unificado que é usado desde as primeiras versões do SuSE. No OpenSUSE 11 ele foi portado para o
KDE 4 e ganhou o suporte a páginas de estilo, o que deu origem ao novo tema visual usado durante a
instalação. Isso também explica o grande volume de recursos e opções que estão disponíveis durante a
instalação, que, como pode imaginar, são também integradas a outros módulos do YaST.

Particionamento, pontos de montagem e opções

Continuando, temos em seguida o particionamento do HD. Como pode ver no screenshot, o


instalador examina a configuração atual do HD e sugere um particionamento automático. No exemplo, estou
instalando em um PC com dois HDs; um com uma instalação do Windows e outro HD limpo, reservado
para o OpenSUSE. Veja que o instalador sugere manter a instalação do Windows intacta e criar três partições
no segundo HD (raiz, swap e home) para a instalação do sistema:

294
Nesse ponto ele funciona bem, mas se você quiser fazer um particionamento personalizado, as opções
são um pouco mais confusas. Em primeiro lugar, você tem a opção de usar o particionamento baseado em
partição, ou baseado no LVM.

O sistema baseado em partição é o sistema tradicional, que usamos desde a época do MS-DOS, onde
você cria até três partições primárias e mais uma partição estendida, contendo outras partições. Você pode
personalizar a configuração sugerida pelo instalador usando a opção "Editar Configuração da Partição", ou
simplesmente começar do zero, usando a opção de criar uma nova configuração.

O particionador é um quesito em que o instalador deixa um pouco a desejar em termos de


amigabilidade. Para começar, não é mostrado um mapa do HD ou um relatório do espaço vago, mas apenas
uma lista com as partições e o tamanho de cada uma.

Ao criar uma nova partição, você começa indicando o HD (caso tenha mais de um) e se ela será uma
partição primária, ou uma partição estendida (para criar partições lógicas, você deve primeiro criar uma
partição estendida, englobando todo o espaço e em seguida criar partições lógicas dentro dela).

Na tela seguinte, você precisa indicar o cilindro (!) de início da partição e cilindro de final, sendo que o
tamanho da partição é o espaço entre os dois. Por sorte, o instalador preenche os campos automaticamente
com o início e o final do espaço vago e informa o tamanho de cada cilindro, de forma que você possa fazer as
contas.

Outra opção, mais simples, é manter o cilindro inicial e, no campo "Fim:", especificar o tamanho da
partição, como em "+10GB" ou "+23.6GB" (como no screenshot a seguir); isso faz o particionador entender
que você quer uma partição do tamanho especificado:

295
É necessário também indicar o sistema de arquivos no qual a partição será formatada (o default no
OpenSUSE 11 é o EXT3, mas as versões seguintes devem migrar para o EXT4) e o ponto de montagem
("/home" no exemplo). Veja que existe também uma opção para criar um sistema de arquivos criptografado,
uma tarefa que é medianamente complexa em outras distribuições, mas que é automatizada pelo instalador do
OpenSUSE.

A encriptação garante a confidencialidade dos dados. Ela é interessante sobretudo para quem usa um
notebook, já que os casos de roubos são cada vez mais comuns, muitas vezes com o propósito específico de
roubar dados confidenciais.

Uma configuração comum é criar uma partição encriptada para o diretório /home e outra para o
diretório /tmp. O /home é a localização mais óbvia, já que é nele que ficam todos os seus arquivos, mas o
/tmp também é importante, uma vez que ele é usado para armazenar um grande volume de arquivos
temporários e cópias de arquivos que foram baixados ou editados; o que pode causar o vazamento de um
bom volume de informações caso ele não seja encriptado e o notebook caia nas mãos erradas. Para os
paranóicos, é possível encriptar também a partição swap.

Ao usar a encriptação, você define uma senha mestra, que precisa ser digitada a cada boot para que as
partições fiquem acessíveis. A senha é usada para encriptar um arquivo contendo uma passphrase, que é por
sua vez usada para encriptar a partição. Sem a senha, é impossível acessar os dados (isso vale também para
você, caso esqueça a senha), o que garante que os dados ficarão protegidos em caso de roubo, desde que o
notebook esteja desligado, ou a partição encriptada não esteja montada.

Voltando à lista inicial, você encontra também opções para redimensionar partições, criar arrays RAID
(o instalador permite usar RAID via software, usando as próprias interfaces SATA ou IDE da placa-mãe, sem
que você precise ter uma controladora RAID) além de opções para montar particionamentos de rede via NFS
e até mesmo para acessar volumes iSCSI (uma versão do padrão SCSI que permite o acesso de unidades de
disco via rede), que são relativamente comuns em servidores:

296
Ou seja, por um lado o particionador é pouco amigável, utilizando o arcaico cálculo de espaço
baseado em cilindros, mas por outro facilita operações avançadas, que em outras distribuições seriam bem
mais complexas, um paradoxo que você notará em outros pontos da configuração do sistema.

Entendendo o LVM

Voltando ao particionamento, temos ainda a opção de criar um particionamento baseado no LVM,


um sistema alternativo de particionamento, muito usado em servidores Linux.

Ele oferece algumas vantagens, mas também algumas complicações adicionais. Imagine que no LVM
o sistema não vê HDs e partições, mas sim um ou mais volumes lógicos. Cada volume se comporta como se
fosse uma partição, que é formatada e montada da forma usual (um volume pode ser usado inclusive como
partição swap). Estes volumes são agrupados em um grupo de volumes lógicos (logical volume group), que se
comporta de forma similar a um HD.

A vantagem é que o grupo de volumes lógicos pode combinar o espaço de vários HDs e ser
modificado conforme necessário, incorporando mais HDs. Os volumes lógicos dentro dele também podem
ser redimensionados livremente conforme for necessário. Se você precisar de mais espaço dentro do volume
referente à pasta home, por exemplo, você poderia reduzir o tamanho de um dos outros volumes do sistema
(que estivesse com espaço vago) e aumentar o tamanho do volume referente ao home, tudo isso com o
servidor operante.

Outra possibilidade é adicionar novos HDs caso precise de mais espaço no futuro. Ao instalar um
novo HD, você começaria criando um volume físico, englobando todo o espaço do HD. Uma vez que o
volume físico é criado, você pode expandir o grupo de volumes lógicos, de forma que ele incorpore o espaço
referente ao novo HD. A partir daí, você pode expandir os volumes lógicos, usando o espaço livre. Essa
possibilidade é interessante no caso dos servidores, onde (ao utilizar uma controladora SCSI ou SAS com
suporte a hot-swap) é possível até mesmo adicionar, remover ou substituir HDs, fazendo as alterações
necessárias nos volumes lógicos sem necessidade de reiniciar.

O grupo de volumes lógicos criado pelo instalador é visto pelo sistema como "/dev/system" e os
volumes lógicos dentro dele são vistos como "/dev/system/root", "/dev/system/home",
"/dev/system/swap" e assim por diante, nomes que você pode alterar ao criar os volumes manualmente:

297
Veja que o instalador criou também uma pequena partição no início do HD, usada para montar o
diretório "/boot". Ela é necessária, pois, por enquanto, ainda não é possível inicializar o sistema diretamente a
partir de um volume LVM: é necessário primeiro inicializar o kernel e iniciar o carregamento dos utilitários
básicos a partir da partição convencional, montada no diretório "/boot", para só então montar os volumes
LVM e continuar o carregamento do sistema.

Como pode ver, o LVM é bem mais complicado do que o sistema tradicional, baseado em partições.
Ele surgiu da necessidade de oferecer um sistema mais flexível para uso em servidores e não necessariamente
para ser usado em desktops. A menos que você se sinta à vontade com ele, é recomendável que simplesmente
use o particionamento tradicional.

As opções finais

Em seguida, temos uma etapa mais simples: a criação do usuário padrão e a definição das senhas.
Uma peculiaridade do instalador é que, por default, não são solicitadas senhas separadas para o root e para o
usuário padrão criado durante a instalação. Diferente do Ubuntu, onde a conta de root vem travada por
padrão, no OpenSUSE ela simplesmente compartilha a mesma senha da conta de usuário padrão.

Para atribuir uma senha separada para o root durante a instalação, é preciso desmarcar a opção "Usar
esta senha para o administrador do sistema". Naturalmente, você pode também substituir a senha depois de
instalado usando o "su -" (para se logar como root) e em seguida o comando "passwd".

298
Você pode se perguntar qual o objetivo do instalador se prender a minúcias como o método de
autenticação local ou o método de encriptação de senhas que será usado; mas, se você tiver a curiosidade de
clicar no "Alterar..." vai notar que ele oferece opções de logar em servidores LDAP ou em servidores PDC
(Domínio do Windows), uma configuração bastante útil em grandes redes, mas que é bastante indigesta em
outras distribuições:

Definidas as senhas, você tem acesso a um resumo das opções. Até esse ponto, nenhuma alteração é
feita no particionamento do HD, de forma que se algo estiver errado, você tem uma última chance de
modificar o particionamento ou abortar a instalação:

299
À primeira vista, parece apenas uma lista simples, que você apenas aceita depois de dar uma olhada
rápida. Entretanto, este é um daqueles casos em que as aparências enganam. Todos os títulos são opções
clicáveis, que levam a telas adicionais de configuração, que dão acesso a opções que não são mostradas
durante as etapas iniciais da instalação (a opção de desabilitar o uso do UTF8, por exemplo, está escondida
dentro das opções avançadas das configurações de local):

Para ter acesso à seleção manual de pacotes, acesse a opção "Software". O gerenciador originalmente
mostra apenas a divisão por categorias; para ter acesso à seleção individual de pacotes, clique no "Detalhes":

300
Depois de mais uma última confirmação, começa a instalação propriamente dita, com o longo e
tedioso processo de instalação dos pacotes. Clique no "Notas de lançamento" para ler algumas dicas sobre as
mudanças em relação às versões anteriores, ou simplesmente vá fazer outra coisa e volte depois de 20
minutos... :)

A partir do OpenSUSE 11, os pacotes passaram a ser comprimidos usando o sistema LZMA, em vez
do tradicional bzip2. Isso resultou em uma redução de quase 50% no tempo de instalação dos pacotes, o que
é uma novidade mais do que bem-vinda.

Concluída a cópia dos arquivos, o instalador reinicia o micro, dando boot através do sistema instalado
no HD. Este reboot compulsório é o principal motivo da opção de inicializar através do HD ficar selecionada
por default ao dar boot através do DVD do OpenSUSE, já que, do contrário, quem esquecesse de retirar o
DVD depois dessa etapa acabaria iniciando novamente a instalação.

Depois de reiniciar, o instalador executa um script automático de configuração da rede e do hardware


da máquina, detectando placas wireless, placas de TV e outros dispositivos suportados. Graças ao trabalho da
equipe do Alsa, estão disponíveis também alguns drivers para softmodems, baseados em chipsets Intel, ATI e
VIA; por isso, não se surpreenda se seu modem discado que estava acumulando poeira, subitamente ganhar
vida.

O instalador não pergunta sobre o nome da máquina, escolhendo um nome aleatório como "linux-
fiug". Você pode trocar o nome posteriormente através do YaST, no Dispositivos de Rede > Configuração
de Rede > Hostname/DNS".

Se você desmarcou a opção "Usar configuração automática" no início da instalação, a configuração


automática dá lugar a uma série de opções adicionais, com destaque para a configuração detalhada da rede.
Nesse caso, você pode não apenas trocar o nome da máquina, mas também desativar o firewall ou o suporte
a IPV6, conectar usando um modem ADSL configurado em modo bridge, e até mesmo ativar um servidor
VNC, para acesso remoto:

301
Por padrão, o OpenSUSE utiliza a configuração tradicional de rede, onde a configuração é salva
dentro de arquivos de configuração na pasta "/etc/sysconfig/network/scripts". A opção de configurar a rede
usando o NetworkManager (como no Ubuntu), onde você pode a conectar a redes wireless e alterar a
configuração usando o ícone ao lado do relógio, aparece dentro das configurações de rede:

YAST2 E A ORGANIZAÇÃO DO SISTEMA

No capítulo do Mandriva, falei sobre a configuração e as peculiaridades do KDE 4, complementando


as explicações sobre o KDE 3.5 que havíamos visto no capítulo do Slackware. Se você está se perguntando
onde foram parar as dicas sobre o GNOME, fique tranquilo, pois falarei sobre ele no capítulo do Ubuntu. :)

302
Com exceção do tema visual e de algumas diferenças na configuração default, existem poucas
diferenças no uso do KDE 4 ou do GNOME em relação ao Mandriva ou ao Ubuntu. Em vez de repetir
explicações, vou falar diretamente sobre o que o OpenSUSE tem de realmente diferente, que é o YaST, o
todo poderoso painel de controle unificado, que, assim como o instalador, parece simples à primeira vista,
mas esconde muitas passagens secretas.

Além da versão gráfica, o YaST possui também uma versão em modo texto, que pode ser chamada
usando o comando "yast" em um terminal de texto puro. Essa versão em texto é descendente das versões
originais do YaST (que foram lançadas a partir de 1994) e continua sendo bastante usada por administradores
de rede, que frequentemente a utilizam para configurar servidores sem interface gráfica (muitas vezes fazendo
tudo remotamente via SSH). Ela é também um bom seguro para emergências, quando o ambiente gráfico
deixar de abrir:

Para que as duas pudessem conviver, a equipe do SuSE optou por criar um executável separado para o
painel gráfico, o que deu origem ao comando "yast2". Apesar das diferenças, os dois utilizam os mesmos
mesmos módulos de configuração, mudando mesmo apenas a interface.

Gerenciamento de pacotes

Como qualquer painel de controle com muitas opções, o YaST é subdividido em diversas seções, que
agrupam funções relacionadas.

Começando do topo, a seção Software do painel inclui as opções relacionadas ao gerenciamento de


pacotes, que acabam sendo as opções mais usadas no dia a dia. O "Atualização Online" é a ferramenta de

303
atualização manual do sistema, onde você pode ver a lista das atualizações disponíveis, examinar os detalhes
dos pacotes e decidir quais atualizações aplicar ou não.

Ele é complementado pelo "Atualização Online Automática", recurso onde o gerenciador baixa e
instala as atualizações de sistema automaticamente, em um horário especificado, criando o agendamento
usando o Cron:

O "Gerenciamento de Software" serve como um gerenciador avançado de pacotes. Ele possui duas
interfaces. A default é baseada no conceito de mecanismo de busca, onde você localiza os pacotes e
bibliotecas usando a busca, marca todos os que deseja instalar ou remover (o que faz com que as
dependências sejam também marcadas automaticamente) e clica no "Aceitar" para aplicar todas as alterações
de uma vez. Para acessar a visualização em categorias, clique no "Filtro > Grupos de Pacotes".

O "Repositórios de Software" permite configurar os repositórios utilizados pelo gerenciador de


pacotes, adicionando ou removendo endereços. Uma configuração comum é desativar o "openSUSE-DVD",
o que faz com que o gerenciador passe a baixar todos os pacotes via web, em vez de pedir o DVD de
instalação:

304
Para instalar um pacote diretamente via terminal, sem precisar abrir o yast, acessar o gerenciador de
software e localizar o pacote usando a busca, use o comando "yast2 --install", seguido pelo pacote desejado,
como em:

# yast2 --install samba

Isso fará com que o gerenciador de software seja aberto diretamente, iniciando a instalação do pacote
solicitado. Se estiver em modo texto, use o comando "yast --install", que faz a mesma coisa, porém usando a
interface em modo texto.

Usando o Zypper

A partir do OpenSUSE 10.3 foi adotado o Zypper como gerenciador de pacotes padrão. Ele é um
ilustre desconhecido frente a gerenciadores mais antigos, como o Apt, o Yum e o Urpmi, mas que apesar dos
tropeços tem seus méritos e vem conquistando um bom volume de fãs. É ele quem faz o trabalho pesado por
baixo dos panos sempre que você instala pacotes usando o YaST.

Como de praxe, você pode também evitar intermediários e usar o Zypper diretamente via linha de
comando. Apesar dos gerenciadores de pacotes não serem nem de longe aplicativos tão interessantes quanto
um novo navegador, como o Chrome, ou um programa de modelagem 3D, como o Blender, eles são
ferramentas importantes na administração do sistema e por isso vale a pena investir algum tempo em
entender melhor como eles funcionam.

Você pode se perguntar qual é a necessidade de cada distribuição usar um gerenciador de pacotes
próprio (Yum, Apt-get, Urpmi, Swaret, etc.) se todos eles fazem basicamente a mesma coisa. A resposta é que
nenhum dos gerenciadores é perfeito, por isso esta é uma área que está sujeita a contínuas mudanças. A cada
ano alguém aparece com uma ideia "genial" de novo gerenciador de pacotes (como o Smart e o próprio
Zypper), que é divulgado como sendo novo e revolucionário, mas que no final acaba se tornando igual a
todos os outros, resultando em mais uma página de manual com parâmetros obscuros para decorar.

Pode ser que eventualmente algum deles se sobressaia e finalmente tenhamos um gerenciador
unificado, adotado por todas as principais distribuições, mas por enquanto este cenário ainda parece
improvável. Além da guerra dos browsers, temos também uma eterna guerra dos gerenciadores de pacotes. :)

De volta ao assunto principal, o uso do Zypper é na verdade bem similar ao do apt-get, com
parâmetros e opções similares.

Para instalar um pacote, use o "zypper install", como em:

# zypper install pidgin

305
Como de praxe, ele calcula as dependências e exibe uma lista de outros pacotes que precisarão ser
instalados, juntamente com o volume de arquivos que serão baixados e o espaço em disco que será usado.

Para remover, use o "zypper remove", como em:

# zypper remove pidgin

Em casos onde você não saiba o nome exato do pacote, ou ele apareça com um nome diferente do
que você esperava, use o parâmetro "search" informando um trecho do nome para realizar uma busca, como
em:

# zypper search yast

Se quiser ver detalhes sobre o pacote antes de instalar, use o "info", como em:

# zypper info xine

Para atualizar o sistema, use o "zypper update". Ele instala todas as atualizações que estiverem
disponíveis, de forma similar ao "apt-get upgrade" no Debian/Ubuntu e ao "yum update" no Fedora:

# zypper update

Outra opção de efeito similar (também destinada a atualizar o sistema) é o "dist-upgrade":

# zypper dist-upgrade

A diferença entre os dois é o algoritmo usado. O "zypper update" é destinado a instalar atualizações
dos pacotes e patches de segurança, enquanto o "zypper dist-upgrade" é destinado a atualizar o sistema para
uma nova versão. Com isso, o "modus operandi" dos dois é ligeiramente diferente, com o "update"
oferecendo uma atualização um pouco mais conservadora (e um pouco mais segura) do que o "dist-upgrade".

Continuando, ao instalar qualquer pacote proprietário, ou que utilize uma licença diferente da GPL, o
Zypper exibe o texto da licença, pedindo sua confirmação. Você pode eliminar estas interrupções
adicionando a opção "--auto-agree-with-licenses", como em:

# zypper update --auto-agree-with-licenses

Para ver os repositórios ativos, use o parâmetro "repos", como em:

# zypper repos

Os repositórios que aparecem na lista são os mesmos que aparecem ao acessar o "Software >
Software Repositories" do YaST:

306
Você pode tanto adicionar novos repositórios através do YaST quanto adicioná-los diretamente via
linha de comando. Nesse caso, usamos o comando "zypper addrepo", como em:

zypper addrepo http://download.videolan.org/pub/vlc/SuSE/11.0 VLC

Você encontra uma lista bastante completa e atualizada de repositórios adicionais no wiki do
OpenSUSE. Ele tem uma função similar à do PLF no Mandriva:
http://en.opensuse.org/Additional_YaST_Package_Repositories

Os dois repositórios mais usados são o "Packman" (que inclui um grande número de pacotes
adicionais, do Apollon ao XMMS) e o "VLC", que além do próprio player de vídeo, inclui codecs adicionais.

Se você gosta de acompanhar as novas versões do Firefox, pode adicionar também o repositório com
os pacotes da fundação Mozilla e, se pretende usar o Wine ou o OpenOffice, adicionar os repositórios
referentes a eles para ter acesso às versões mais atuais.

Os links para os repositórios estão disponíveis na página do Wiki (do link anterior). Basta adicioná-los
usando o "Software Repositories" do YaST, ou usar o "zypper addrepo", seguido do link completo e do
nome, como em:

# zypper addrepo http://ftp.gwdg.de/pub/linux/misc/packman/suse/11.0/ Packman


# zypper addrepo http://download.videolan.org/pub/vlc/SuSE/11.0 vlc
# zypper addrepo http://download.opensuse.org/repositories/mozilla/openSUSE_11.0/ Mozilla
# zypper addrepo http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_11.0/
Wine

Se você ativou os repositórios Pacman e VLC, pode instalar o suporte a DVDs protegidos e o suporte
a vídeos em WMF e outros formatos usando o:

# zypper install libdvdcss libxine1 w32codec-all k3b-codecs

Uma forma alternativa de instalar o libvdcss, sem precisar configurar os repositórios, é baixar o pacote
manualmente no: http://download.videolan.org/pub/libdvdcss/1.2.9/rpm/

... e em seguida instalá-lo usando o "rpm -Uvh", como em:

# rpm -Uvh libdvdcss2-1.2.9-1.i386.rpm

O suporte a java também não é instalado por padrão, mas os pacotes estão disponíveis nos
repositórios: basta fazer uma pesquisa por "java" no gerenciador. Para instalar via linha de comando, use:

307
# zypper install java-1_5_0-sun java-1_5_0-sun-plugin java-1_5_0-sun-alsa

Como pode ver, são três pacotes. Além do pacote principal, temos o plugin para o Firefox e o módulo
para o Alsa, que adiciona suporte a som (usado por jogos em java, por exemplo).

Se você preferir instalar o Java 6, ou se precisar dos pacotes e bibliotecas de desenvolvimento,


adicione o repositório usando o link disponível no:
http://en.opensuse.org/Package_Repositories

Se você sentir falta da dupla locate/updatedb (que não é instalada por padrão), instale o pacote
"findutils-locate".

Continuando, a configuração dos repositórios é salva na forma de vários arquivos dentro da pasta
"/etc/zipp/repos.d/", que contém um arquivo separado para cada um. Se você usa o Fedora ou o CentOS e
tem familiaridade com o Yum, vai perceber que o Zypper utiliza o mesmo formato de arquivos que ele.

Assim como o apt-get, o Zypper verifica a autenticidade dos pacotes usando chaves PGP, que
garantem que os pacotes gerados pelo desenvolvedor não foram alterados pelo caminho. Entretanto, o
Zypper é um pouco mais amigável com relação a novos repositórios. Em vez de exibir um erro e exigir que
você adicione as chaves de novos repositórios manualmente, ele simplesmente exibe um aviso, perguntando
se você deseja que a chave seja adicionada:

Do you want to trust key id 33DE8FB7C8DA93D2, Dominique Leuenberger


(VLC openSUSE Repository) <dominique-vlc.suse@leuenberger.net>, fingerprint
BC8D780DE3308581B2E0708533DE8FB7C8DA93D2 [yes/NO]: yes
Import key 33DE8FB7C8DA93D2 to trusted keyring? [yes/NO]: yes
Para atualizar a base de dados dos repositórios, use o parâmetro "refresh". Ele tem uma função similar
à do "apt-get update", simplesmente atualizando as listas de pacotes, sem fazer nenhuma alteração no sistema.
É importante executá-lo de tempos em tempos, ou depois de adicionar repositórios adicionais:

# zypper refresh

Este comando não precisa ser usado com tanta frequência quanto o "apt-get update", pois o Zypper
inclui um recurso de auto-atualização, que é ativado por padrão para os repositórios que são alterados com
frequência, como o openSUSE-Updates. Estes repositórios aparecem com um "yes" na coluna "Refresh" ao
rodar o "zypper repos".

Caso você instale algum pacote rpm manualmente e acabe atolado no velho problema das
dependências não satisfeitas, use o "zypper verify", que coloca ordem na casa, examinando a situação e
propondo alguma solução para o problema (baixar as dependências necessárias, remover o pacote
problemático, etc.). Ele tem uma função muito similar à do "apt-get -f install", que é usado em distribuições
derivadas do Debian:

# zypper verify

Todos os parâmetros do Zypper podem ser abreviados, reduzindo o volume de caracteres digitados.
Em vez de usar "install", "remove", "search", "update", "repos" e "addrepo", você pode usar,
respectivamente, "in", "rm", "se", "up", "lr" e "ar".

Outra dica é que o Zypper possui também um modo shell, onde você pode usar vários comandos em
sequência (in amarok, rm galeon, etc.), sem precisar digitar o "zypper" no início de cada um. Para acessá-lo,
use:

# zypper shell

(para sair, use o "exit")

Apt-get no OpenSUSE

Se você não está conseguindo se entender com o YaST e o Zypper, existe a opção de usar o bom e
velho apt-get. Como todo gerenciador de pacotes, a tarefa do apt-get é simplesmente a de baixar pacotes e

308
checar dependências, de forma que ele pode ser adaptado para trabalhar em outras distribuições, sem ficar
restrito à família Debian.

A versão do apt-get que trabalha com pacotes RPM (também chamada de apt-rpm) foi originalmente
portada pela equipe da Conectiva, mas é atualmente desenvolvida de forma independente. Além do
OpenSUSE, ele pode ser usado também no Fedora e até mesmo no Mandriva.

Para instalá-lo no OpenSUSE, o primeiro passo é instalar o pacote "apt" usando o YaST:

# zypper install apt

Junto com a instalação do pacote, será criado o arquivo "/etc/apt/sources.list", que tem a mesma
função que nas distribuições derivadas do Debian. Originalmente, ele contém apenas duas linhas, com os
repositórios principais do OpenSUSE, mas você pode descomentar as outras linhas e incluir repositórios
adicionais, como em:

repomd http://ftp-1.gwdg.de/pub/suse/i386 update/11.0


repomd http://ftp-1.gwdg.de/pub/opensuse/distribution 11.0/repo/oss/suse
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories home:/rbos/openSUSE_11.0
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories KDE:/KDE3/openSUSE_11.0
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories KDE:/Backports/openSUSE_11.0
repomd ftp://ftp-1.gwdg.de/pub/opensuse/repositories mozilla/openSUSE_11.0
repomd ftp://ftp.gwdg.de/pub/linux/misc packman/suse/11.0
# VLC
repomd http://download.videolan.org/pub/vlc/SuSE/11.0/ /
Depois de salvar o arquivo rode o "apt-get update" para atualizar as listas. A partir daí você pode
instalar os pacotes desejados usando o "apt-get install pacote", da mesma forma que faria no Debian ou no
Ubuntu. O apt se encarrega de procurar o pacote nos repositórios do OpenSUSE e fazer as checagens
necessárias. Se sentir falta de um gerenciador gráfico, instale o Synaptic, que também está disponível nos
repositórios principais:

# apt-get install synaptic

Você notará que o desempenho do apt ao rodar sobre o OpenSUSE não é o mesmo que em
distribuições derivadas do Debian. Ele perde muito mais tempo para montar a base de dependências (fica um
longo tempo no "Reading Package Lists" a cada operação) entre outras tarefas. Este é um dos principais
motivos de ele não ser usado por padrão.

Hardware e drivers

Continuando o tour pelas funções do YaST, temos a seção Hardware, que concentra as opções
relacionadas à configuração de dispositivos. Embora as ferramentas disponíveis sejam diferentes, você notará
similaridades com as opções oferecidas no Centro de Controle do Mandriva:

309
As coincidências acontecem por um motivo simples: por mais que as duas ferramentas tenham sido
desenvolvidas de maneira independente, o trabalho a realizar é fundamentalmente o mesmo: apresentar as
opções de configuração e carregar os módulos e as configurações relacionadas a partir das suas respostas.
Enfim, os painéis são similares pelo mesmo motivo que leva todos os carros a terem quatro rodas e os aviões
a terem sempre duas asas. :)

Voltando ao que interessa; como era de se esperar, o "Informações de Hardware" exibe informações
sobre o hardware da máquina. O relatório é surpreendentemente detalhado, reunindo, essencialmente, todas
as informações que estão disponíveis, dos device IDs aos módulos e endereços de IRQ usados por cada um.
Apesar disso, a função do relatório é apenas informativa; toda a configuração é feita através das demais
opções do painel.

Começando pelas opções mais básicas, temos as opções para a configuração do mouse e do teclado,
que são, na verdade, atalhos para seções dentro do Sax2, que é o utilitário de configuração do vídeo. Como
vimos no capítulo do Slackware, as configurações do mouse e do teclado fazem parte da configuração do
X.org, daí a relação entre as opções.

Diferente do que pode parecer à primeira vista, o "Joystick" não se destina a configurar qualquer tipo
de controles de jogos, mas apenas os controles analógicos antigos, que são ligados na placa de som. Os
joysticks USB são detectados diretamente pelo sistema e por isso não precisam de configuração.

Na maioria dos casos, a configuração da placa de som não é segredo, mas, se encontrar problemas,
você pode checar a configuração usando o "Sound". Hoje em dia, quase todas as placas de som possuem
drivers incorporados diretamente ao kernel, por isso, quando a placa de som não é detectada, o problema
geralmente não é falta de drivers, mas sim alguma pendenga relacionada ao ACPI ou ao APIC, que
geralmente pode ser solucionado com opções de boot.

Outra situação comum é usar um headset USB (como os vendidos para uso com o Skype) que são
detectados pelo sistema como placas de som USB. Ao usá-los, você pode usar o YaST para definir qual será a
placa de som primária, já que você passará a ter duas.

Outro utilitário bem específico é o "Dispositivo Infravermelho", um assistente simples para ativar
transmissores de infravermelho, que eram populares em notebooks até alguns anos atrás. Ele se encarrega
apenas de ativar a porta; as demais funções (ativar a comunicação com um PDA, por exemplo) é feita usando
algum aplicativo externo, como no caso do antigo Jpilot, que permitia a comunicação com Palms.

Ele permite também ativar os controles remotos fornecidos em conjunto com algumas placas de TV.
Eles são suportados no Linux através do Lirc e alguns players de mídia (como o SMPlayer e o Audacious)
podem ser configurados para serem controlados usando o controle.

310
Continuando, o OpenSUSE 11 oferece suporte a um bom número de leitores de impressões digitais,
encontrados em notebooks e em alguns teclados, que são usados para fazer login no sistema, substituindo a
senha. Nesse caso, você notará um ícone adicional, o "Leitor de impressões digitais", que permite ativar o
leitor. Para cadastrar as impressões digitais, acesse as propriedades do usuário dentro do "Segurança e
usuários > Gerenciamento de Usuários e Grupo" e procure pelo plugin "Configuração de impressões
digitais".

Em seguida, temos as funções usuais para configurar impressoras, scanners e placas de som, além de
um configurador para placas de TV. Assim como em outras distribuições, o OpenSUSE utiliza o Cups como
servidor de impressão e o Sane para acesso a scanners. Graças ao udev e todas as melhorias no suporte a
dispositivos plug-and-play, a detecção de impressoras e scanners USB deixou de ser um problema: desde que
o dispositivo seja suportado, ele muito provavelmente será detectado durante a própria instalação.

Apesar disso, o "Printer" continua sendo necessário, já que além de permitir solucionar problemas e
instalar a impressora manualmente (caso necessário), ele permite instalar impressoras de rede, além de ajustar
as opções de impressão. Ao instalar uma impressora compartilhada por um servidor Samba ou por uma
máquina Windows, marque a opção "Local Filtering", que faz com que o sistema processe os trabalhos de
impressão antes de enviá-los à impressora.

Se você tem uma multifuncional da HP, pode usá-la no Linux através do HPLIP, que é um utilitário
open-source, desenvolvido pela própria HP, destinado a controlar as funções de impressão, escaneamento de
imagens e fax (incluindo os drivers necessários), de forma a oferecer suporte completo às multifuncionais no
Linux.

No caso das impressoras "simples" da HP, você tem a escolha de configurar a impressora diretamente
através do Cups (que inclui os drivers desenvolvidos pela HP), ou também usar o HPLIP, que naturalmente
também oferece suporte a elas.

Para instalar o HPLIP no OpenSUSE, instale os pacotes hplip e hplip-hpijs usando o YaST, como em:

# yast2 --install hplip hplip-hpijs

Provavelmente, você receberá um aviso de que o pacote hplip-hpijs conflita com o pacote hpijs-
standalone (que é a versão com os drivers usados pelo Cups), mas isso é esperado. Basta removê-lo (yast2 --
remove hpijs-standalone) e executar o comando novamente.

Com o HPLIP instalado, será criado um ícone para o "HP Device Manager" no iniciar, que abre o
utilitário de administração. Você pode chamá-lo também via terminal, usando o comando "hp-setup".

O pacote inclui também um gerenciador que fica disponível ao lado do relógio, oferecendo opções de
monitoramento. Ele é aberto usando o comando "hp-systray".

No caso de scanners de outros fabricantes, use o "Scanner" para checar a detecção. Se seu scanner
USB não foi detectado automaticamente, experimente desplugá-lo e plugá-lo novamente e usar a opção
"Other > Restart Detection". Se não resolver, verifique qual é a versão do Sane que está instalada usando o
gerenciador de pacotes (o OpenSUSE 11, por exemplo, usa o 1.0.19) e consulte a lista de compatibilidade do
Sane no:
http://www.sane-project.org/sane-supported-devices.html

Continuando, o "Placa de Vídeo e Monitor" abre o Sax2, que é o configurador do ambiente gráfico.
Além de oferecer uma interface de configuração, ele é também o utilitário encarregado de detectar a placa de
vídeo e o monitor durante a instalação do sistema, ou sempre que são feitas alterações no hardware da
máquina:

311
O Sax2 é provavelmente o utilitário mais completo para a configuração do ambiente gráfico entre
todas as distribuições Linux. Além das opções óbvias, como a resolução, profundidade de cor, mouse e
teclado, ele oferece suporte a tablets, monitores touchscreen e suporte a vários monitores simultâneos,
usando o Xinerama.

Se você usa um notebook e um projetor para apresentações, por exemplo, marque a opção "Ativar
Modo de Cabeça Dupla" (vulgo Multihead) e, nas configurações escolha a opção "Multihead Clonado", que
faz com que o projetor simplesmente exiba uma cópia da imagem da tela principal. Acessando as opções para
a placa de vídeo, você tem acesso a uma grande lista de opções para o vídeo, que são na verdade as opções da
seção "Device" do arquivo xorg.conf, apresentadas de uma forma um pouco mais amigável.

Se você errar na configuração do vídeo e perder o acesso ao ambiente gráfico, basta se logar como
root no terminal e chamar o "sax2" no terminal. Isso faz com que ele re-detecte a placa de vídeo e o monitor
e abra uma instância minimalista do X, onde você pode acessar o utilitário gráfico. Se o problema for com a
detecção da placa de vídeo (o que fará o Sax2 deixar de abrir, mesmo quando executado em modo texto), use
o comando "sax2-vesa", que carrega o X usando o driver VESA universal.

Se você está acostumado a reiniciar o ambiente gráfico pressionando "Ctrl+Alt+Backspace", vai notar
que a combinação não funciona mais a partir do OpenSUSE 11. Isso acontece por causa da linha Option
"ZapWarning "on", incluída no arquivo xorg.conf, destinada a evitar encerramentos acidentais. Para
realmente finalizar o ambiente gráfico, é necessário pressionar o "Ctrl+Alt+Backspace" duas vezes, dentro de
um período de 2 segundos.

O OpenSUSE não inclui os drivers para placas 3D da nVidia e da ATI, devido às licenças
proprietárias, mas você encontra links 1-Click Install para os drivers nos links:

http://en.opensuse.org/NVIDIA
http://en.opensuse.org/ATI

O "1-Click install" é um sistema de instalação automatizada, inspirada no Klik do Knoppix. Ele é


baseado no uso de "receitas", disponibilizadas através de arquivos com a extensão ".ymp", que são
processados pelo gerenciador de pacotes, que se encarrega de executar os passos necessários para instalar um
determinado programa ou driver, incluindo a configuração dos repositórios e qualquer outro passo adicional
que seja necessário.

No OpenSUSE 10.3 em diante, os arquivos .ymp já são associados com o gerenciador de pacotes por
padrão, de forma que ao clicar no link usando o Firefox, você recebe a opção de instalar:

312
Para manter a segurança, o gerenciador solicita a senha de root e exibe um punhado de confirmações
durante a instalação, detalhando as mudanças que serão feitas, importando chaves de verificação e assim por
diante:

No caso das placas nVidia, execute o comando "sax2 -r" depois de instalar o pacote para que a placa
seja detectada. No caso do driver da ATI, é necessário executar (como root), o configurador da ATI, que se
encarrega de detectar a placa e atualizar a configuração: "aticonfig --initial".

Em ambos os casos, é necessário reiniciar o ambiente gráfico (pressionando "Ctrl+Alt+Backspace"


duas vezes) para que o novo driver seja carregado.

Sistema

Complementando a seção com as opções de hardware, temos em seguida a seção com os utilitários de
sistema, agrupando as opções relacionadas a particionamento, configurações de idioma, backup, configuração
dos serviços e assim por diante:

313
O utilitário mais importante dentro da seção é o "Serviços do Sistema", que permite ativar e desativar
serviços, assim como modificar a ordem de inicialização, em casos em que isso é necessário. O uso mais
comum é simplesmente desativar serviços que você considere desnecessários, de forma a deixar o sistema
mais leve ou solucionar problemas.

No "Simple Mode" você precisa se preocupar apenas em ativar ou desativar os serviços, mas ao
mudar para o "Expert Mode", você tem acesso ao modo escovador de bits, onde pode ajustar
individualmente em quais runlevels o serviço será inicializado.

Na maioria dos casos, o único runlevel que interessa é o 5, que é o modo padrão no OpenSUSE, onde
é carregado o ambiente gráfico. Em servidores, é comum que seja usado o runlevel 3, onde o boot é feito em
modo texto, reservando os recursos da máquina para os serviços de rede propriamente ditos.

O runlevel 2 é um modo de recuperação, onde além de carregar em modo texto, o sistema aborta o
carregamento de todos os serviços não essenciais (incluindo todos os servidores e a configuração da rede),
enquanto o runlevel 4 fica reservado para caso você queira fazer alguma configuração exótica. Raramente
você vai precisar se preocupar em ajustar os runlevels manualmente, mas, de qualquer forma, o YaST oferece
a opção, seguindo a ideia de disponibilizar o maior volume de opções possíveis.

O "Backup do Sistema" é um utilitário simples de backup, que utiliza o tar e o gzip para salvar o
conteúdo de uma pasta (ou de um conjunto de pastas) do sistema em um arquivo compactado. O backup
pode ser agendado, de forma a ser executado automaticamente todos os dias ou uma vez por semana, por
exemplo (o script usa o cron para fazer o agendamento). Um recurso interessante é que você tem a opção de
fazer backups incrementais, onde são salvos apenas os arquivos que foram alterados em relação ao último
backup.

Apesar de ser relativamente simples de usar, ele carece de funções mais avançadas, como a
possibilidade de fazer backups incrementais via rsync, ou de fazer backups via SSH ou usando
compartilhamentos de rede Windows (suportando apenas backups remotos via NFS). Naturalmente, nada
impede que você salve os backups em um compartilhamento montado manualmente, mas o utilitário não
oferece a opção de fazer isso para você.

Ele faz par com o "Restauração do Sistema", que permite restaurar os backups em caso de problemas.
Naturalmente, ao restaurar os backups serão recuperados apenas os arquivos incluídos e não toda a instalação
do sistema. Se você deseja criar uma imagem de restauração, pode dar boot utilizando um live-CD e usar o
Partimage.

Apesar da tradução ter ficado esquisita, o "Carregador de inicialização" permite alterar a configuração
do gerenciador de boot. Embora o OpenSUSE utilize o grub por padrão, existe também a opção de usar o

314
lilo, que serve como um fallback para casos específicos e para solução de problemas. Como de praxe, você
pode fazer as alterações diretamente no arquivo "/boot/grub/menu.lst", sem precisar do configurador. Se
você não ativou o sincronismo automático do relógio via NTP durante a instalação, pode fazê-lo usando o
"Data e Hora".

O "Gerenciador de Perfil" permite criar perfis SCPM de configuração, incluindo diversos serviços de
sistema e alternar entre eles conforme necessário. O uso mais comum para os perfis é criar diversas
configurações de rede (para o escritório, para casa, etc.) e alternar entre elas conforme você se desloca.

Hoje em dia, a tarefa de alternar entre diversas redes é executada de forma mais prática pelo
NetworkManager, mas o SCSPM oferece a vantagem de permitir a inclusão de mais configurações, incluindo
as impressoras disponíveis, configurações de firewall ou até mesmo o uso de servidores de autenticação.

Como comentei anteriormente, o LVM permite dividir o HD em volumes lógicos, que podem ser
redimensionados conforme necessário, sem que seja preciso reiniciar o sistema. Se você optou pelo uso do
LVM durante a instalação, pode alterar a disposição dos volumes usando a opção "LVM". Caso contrário,
você tem acesso às opções usuais para alterar o particionamento no "Particionador".

O OpenSUSE 11 utiliza o NTFS-3G por padrão para montar partições do Windows, de forma a
montá-las em modo leitura e escrita. Uma particularidade é que em vez de montar as partições na pasta
"/mnt" ou "/media", ele usa por padrão a pasta "/windows", montando cada partição em uma sub-pasta com
a letra que ela recebe no Windows, como em "/windows/c" e "/windows/d".

Concluindo, temos o "Editor do /etc/sysconfig" que funciona como uma espécie de editor de
registro, permitindo editar um grande volume de opções e variáveis relacionadas à configuração do sistema,
que são salvas em um vespeiro de arquivos dentro do diretório "/etc/sysconfig". O editor não é muito
intuitivo, se limitando a organizar as opções em forma de árvore, oferecendo uma quantidade mínima de
detalhes sobre a função de cada uma:

Configuração da rede

A seção "Dispositivos de rede" inclui apenas quatro entradas. A "DSL" é destinada a quem usa o
modem ADSL configurado em modo bridge, onde é necessário fazer a autenticação através do PC. Outra
opção bastante específica é a "ISDN" que atende ao punhado de usuários que ainda utiliza este tipo de
conexão.

315
Além de atender a quem usa um modem discado, a "Modem" é usada também se você acessa via
EDGE ou 3G, utilizando um modem USB. Nesse caso, basta indicar o dispositivo do modem, que na
maioria dos casos será o "/dev/ttyACM0" e criar a conexão, discando para o "*99***1#", "#777", ou outro
número de discagem:

Finalmente temos o "Configurações de rede", que concentra toda a configuração para placas de rede e
placas wireless. O gerenciador mostra todas as interfaces disponíveis em forma de lista e você acessa a
configuração de cada uma usando o "Editar":

A primeira escolha é entre usar a configuração tradicional (fixa) para a rede, baseada nos scripts
tradicionais de configuração, ou utilizar o NetworkManager. Em resumo, o NetworkManager é interessante
para quem utiliza diversas redes wireless diferentes e precisa chavear entre elas. A configuração estática, por
sua vez, é bem mais simples e menos sujeita a problemas, atendendo a quem usa uma rede cabeada, ou se
conecta sempre ao mesmo ponto de acesso:

316
Acessando as propriedades da interface, você tem as opções usuais, para configurar a rede via DHCP
ou usar configuração manual. Na parte inferior da janela, você tem a opção de criar aliases para a placa,
permitindo que a máquina responda em mais de um endereço IP simultaneamente, uma opção muito usada
em servidores web e em servidores DNS):

A aba "Geral" esconde duas opções importantes, que são a configuração do firewall (se a placa faz
parte da rede interna ou da rede externa) e também a opção de ativá-la ou não durante o boot. A aba
"Hardware", por sua vez, permite passar opções ao módulo da placa (em vez de especificá-las ao carregar o
módulo usando o comando "modprobe") e permite também criar regras para o udev, alterando o nome da
interface.

Uma observação importante é que a configuração do gateway não aparece dentro da configuração da
interface, mas sim na aba "Roteamento" da tela principal (já que o gateway padrão é um só, mesmo em casos
em que você tem várias interfaces de rede). O mesmo se aplica à configuração dos servidores DNS, que vai

317
na aba "Hostname/DNS". Ao configurar os endereços manualmente, não se esqueça de especificar os
servidores DNS e o gateway padrão, caso contrário você será vítima do famoso "conecta mas não navega".

Continuando, no caso das placas wireless a configuração do modo de encriptação e de associação com
o ponto de acesso aparecem na segunda tela do assistente, ao clicar no "Next". Como de praxe, o assistente
oferece suporte tanto a redes com encriptação WPA ou WPA2, quanto às poucas redes que ainda utilizam o
WEP. Basta indicar o sistema usado no "Modo de Autenticação":

Devido a uma restrição em um dos componentes incluídos no pacote (um hal proprietário), o
OpenSUSE não inclui o driver para placas wireless com chipset Atheros, mas você encontra os links para
baixar os pacotes, assim como as instruções de instalação, no:
http://en.opensuse.org/Atheros_madwifi.

Em resumo, você precisa instalar dois pacotes. O primeiro é o "madwifi" (o pacote principal), que
você pode instalar diretamente através do YaST:

# zypper install madwifi

318
O segundo é o pacote "madwifi-kmp", que você pode baixar no: http://madwifi.org/suse/. Assim
como em outros drivers pré-compilados, você precisa baixar o pacote referente à versão do kernel em uso
(que você pode checar usando o comando "uname -r"). Ao usar o OpenSUSE 11 de 32 bits, por exemplo,
você baixaria e instalaria o pacote "madwifi-kmp-pae-0.9.4_2.6.25.5_2-1.i586.rpm", como em:

# wget http://madwifi.org/suse/11.0/i586/madwifi-kmp-pae-0.9.4_2.6.25.5_2-1.i586.rpm
# rpm -Uvh madwifi-kmp-pae-0.9.4_2.6.25.5_2-1.i586.rpm

Com os dois pacotes instalados, falta apenas carregar o módulo "ath_pci" usando o modprobe e
adicioná-lo ao arquivo "/etc/modules" para que ele passe a ser carregado automaticamente durante o boot:

# modprobe ath_pci
# echo ath_pci >> /etc/modules

A partir daí, a placa passa a ser reconhecida pelo sistema, permitindo que você configure a rede através
do NetworkManager, ou através do YaST. Nada impede também que você baixe o pacote com o código-
fonte disponível no http://snapshots.madwifi.org/madwifi-trunk/ e instale o driver usando os passos
manuais. Nesse caso, você vai precisar dos headers do kernel, além do gcc e do make, que podem ser
instalados usando o Zypper:

# zypper install install kernel-source kernel-headers gcc make

Se você usa um notebook com uma placa wireless com chipset Broadcom, ela também não funcionará
diretamente, já que o driver open-source incluído no OpenSUSE 11 oferece suporte a apenas algumas
revisões antigas do chipset e, para complicar, não inclui os firmwares necessários.

A forma mais simples de ativar a placa é usar o Ndiswrapper para carregar o driver do Windows. O
primeiro passo é baixar o driver na página do fabricante, ou copiá-lo a partir do CD de instalação e
descompactá-lo em uma pasta do sistema.

Se o arquivo tiver a extensão ".exe", trata-se de um arquivo CAB, que pode ser extraído usando o
cabextract. Ele já vem pré-instalado por padrão no OpenSUSE 11, mas você pode confirmar usando o "yast2
--install cabextract". Para descompactar o driver, use o comando "cabextract nome_do_arquivo", como em:

$ cabextract sp36684.exe

Acesse a pasta que será criada e certifique-se de que os arquivos "bcmwl5.inf" e "bcmwl5.sys" estão
disponíveis. Eles são justamente os dois principais componentes do driver.

Antes de ativar a placa usando o Ndiswrapper, é necessário descarregar os drivers open-source e fazer
com que eles deixem de ser usados:

# modprobe -r bcm43xx
# echo "blacklist bcm43xx" >> /etc/modprobe.d/blacklist

Com tudo pronto, o próximo passo é instalar o Ndiswrapper:

# yast2 --install ndiswrapper

Em seguida (dentro da pasta com os arquivos), carregue o arquivo "bcmwl5.inf" usando o


Ndiswrapper:

# ndiswrapper -i bcmwl5.inf

Falta agora só salvar a configuração e ativar o Ndiswrapper para que a placa seja ativada:

# ndiswrapper -m
# modprobe ndiswrapper

Você notará que, ao carregar o módulo, o led de atividade da placa se acenderá (caso contrário,
verifique se o transmissor está ativado usando o botão ou switch do notebook). A partir daí, você pode
configurar a rede usando a opção "Network Devices > Network Settings" do YaST.

319
Para que o Ndiswrapper passe a ser carregado automaticamente durante o boot, adicione-o no final do
arquivo "/etc/modules":

# echo ndiswrapper >> /etc/modules

O Ndiswrapper não é uma solução ideal, já que ele não é 100% estável e você continua dependendo
de drivers proprietários para ativar a placa. Mas, ele desempenha muito bem a função a que se propõe,
permitindo que você ative placas que ainda não possuem drivers nativos de forma simples.

Este mesmo conjunto de passos pode ser usado para carregar drivers Windows para outras placas, que
eventualmente não sejam suportadas pelo sistema. O Ndiswrapper é também uma forma alternativa de ativar
sua placa Atheros, caso não consiga instalar os drivers nativos, ou caso esteja usando alguma placa recente,
que ainda não seja suportada por eles.

Serviços de rede

Além dos aplicativos básicos, como o cliente NFS e a opção de ativar um servidor VNC, a seção de
serviços de rede do YaST oferece um conjunto bastante completo de opções de autenticação, incluindo o
suporte a integração com servidores LDAP. Estas opções podem soar redundantes em um desktop, mas elas
facilitam muito o uso do sistema em redes corporativas.

O LDAP (Lightweight Directory Access Protocol) é um protocolo aberto para acesso a informações
armazenadas em um diretório central. Os servidores LDAP permitem centralizar as informações de
autenticação da rede (usuário, senhas, diretórios de arquivos, permissões e assim por diante) em um servidor
central, que pode ser acessado a partir de qualquer máquina da rede.

Com isso, ao cadastrar um novo usuário no servidor ele passa a poder fazer login em qualquer uma
das máquinas da rede (e tem acesso aos compartilhamentos de rede definidos por você, a partir de qualquer
uma delas), o que permite reduzir brutalmente o trabalho de administração em uma grande rede.

A configuração de um servidor LDAP não é nenhum bicho de sete cabeças, mas a configuração dos
clientes Linux e a integração dos diferentes serviços de rede pode ser bastante trabalhosa. O OpenSUSE é,
possivelmente, a distribuição mais bem equipada em relação a ferramentas de configuração que facilitam a
tarefa.

O "Cliente LDAP" permite fazer com que a máquina passe a autenticar no servidor LDAP (inclusive
com a opção de usar diretórios home remotos e montar compartilhamentos automaticamente). O módulo de
configuração aparece também na forma da aba "Configurações de autenticação" do "Gerenciamento de

320
usuários e grupo". Você notará também o "Navegador LDAP", que oferece uma interface administrativa para
editar as informações armazenadas no servidor LDAP.

Outra opção popular de autenticação central é usar um servidor Samba configurado como PDC
(configuração em que ele pode substituir diretamente um servidor Windows NT), uma opção mais simples do
que utilizar um servidor LDAP.

Além do "Participação no Domínio do Windows", que inclui a configuração do cliente, está disponível
também o "Servidor Samba", que permite gerar uma configuração básica para o Samba, fazendo com que a
máquina atue como um servidor. Para quem é da velha guarda, estão disponíveis também opções para
autenticar em servidores NIS e Kerberos.

Voltando às opções básicas, o "Configuração do NTP" permite ativar a sincronização automática de


horário, via NTP. Use a opção "Agora e ao inicializar" e escolha um dos endereços públicos (temos um
servidor no Brasil, o br.pool.ntp.org) para ativar. Uma observação é que o OpenSUSE usa o servidor NTP

321
para fazer os acertos em vez de simplesmente usar o ntpdate (que seria a opção mais simples para um
desktop). Por outro lado, ele configura o serviço de forma bastante segura, usando um chroot.

O OpenSUSE é uma das poucas distribuições que mantém um servidor de e-mails (o Postfix) ativado
por padrão. Ele vem configurado para escutar apenas conexões provenientes da própria máquina local, mas,
como qualquer administrador experiente pode confirmar, manter um servidor de e-mail ativo sem
necessidade, não é uma boa ideia do ponto de vista da segurança.

O "Agente de Transporte de E-Mail" oferece algumas opções básicas de configuração, mas uma ideia
melhor seria desativar o serviço "postfix" no "Sistema > Serviços de Sistema". Desative o serviço, respire
fundo e depois se pergunte se você realmente precisa de um servidor de e-mails local em primeiro lugar.

Continuando, o "Iniciador iSCSI" permite acessar arrays de armazenamento iSCSI disponíveis na rede,
sem precisar de uma controladora dedicada. O iSCSI é um protocolo para encapsular comandos de acesso a
disco, juntamente com os dados resultantes, transformando-os em pacotes TCP/IP. Em outras palavras, ele
permite acessar unidades de disco via rede, encapsulando comandos SCSI em pacotes TCP/IP.

Embora o iSCSI ainda seja uma tecnologia de nicho, usada basicamente apenas em SANs (que são
unidades de armazenamento central, com vários HDs, recursos de redundância e alto desempenho, que
podem ser compartilhadas entre vários servidores), ele está lentamente se popularizando, passando a ser
suportado por alguns NASes de pequeno porte. Eventualmente, ele pode se tornar comum mesmo em
pequenas redes, como um sistema flexível de armazenamento remoto.

O "Nomes de Máquina" é um editor simples para o arquivo "/etc/hosts", que permite que você
adicione apelidos para as máquinas da rede, enquanto o "Proxy" permite definir uma configuração global de
proxy, que é aplicada automaticamente a vários aplicativos do sistema.

Assim como outras distribuições atuais, o OpenSUSE utiliza o xinetd (em vez do inetd) para rodar
serviços sob demanda. Ele é usado por serviços como o swat (configurador para o Samba), que são
executados apenas quando a porta usada por ele é acessada. Em vez de precisar editar diretamente os
arquivos dentro da pasta "/etc/xinetd.d/", você pode usar o "Serviços de Rede (xinetd)", que oferece uma
interface central.

Além dos módulos que são instalados por padrão, que, como viu, não são poucos, o YaST possui
mais um punhado de módulos específicos, que podem ser instalados posteriormente usando o gerenciador de
pacotes. Faça uma busca por "yast" para ver a lista completa:

Existem, por exemplo, módulos para configuração de servidores DNS, servidores DHCP, LDAP,
certificados digitais, e assim por diante.

Ao instalar cada módulo do YaST, são instalados também os pacotes correspondentes (ao instalar o
"yast2-dhcp-server", você instala também os pacotes do servidor DHCP, e assim por diante), de forma que

322
eles acabam sendo a forma mais simples de instalar serviços diversos no OpenSUSE, já que, além dos
servidores, você instala também as ferramentas de configuração.

Uma observação importante é que, diferente do Ubuntu e das distribuições derivadas do Debian de
uma forma geral, ao instalar o Samba ou qualquer outro pacote de servidor no OpenSUSE, o serviço não será
inicializado por padrão. A ideia é que você primeiro configure o serviço e depois ative-o manualmente,
usando o comando "service", como em:

# service smb start

Para que ele passe a ser inicializado automaticamente durante o boot, é necessário ativá-lo também no
"System > System Services (Runlevel)".

Voltando aos comandos que controlam os serviços, além do "service nome" e do "/etc/init.d/nome",
outra opção é usar o script "rcnome", que faz a mesma coisa, porém com menos caracteres digitados.

No OpenSUSE, existe um script para cada serviço do sistema como "rcsmb", "rccups" e
"rcbluetooth", que, como de praxe, aceitam os parâmetros "start", "stop", "restart", "reload" e "status". Para
reiniciar o Cups, por exemplo, você usaria:

# rccups restart

Para verificar se o Samba está ativo, usaria:

# rcsmb status

AppArmor

O AppArmor é o principal "concorrente" do SELinux, que é usado do Fedora, CentOS e em algumas


outras distribuições. Ambos desempenham a mesma função: monitorar os aplicativos em execução
(restringindo os privilégios às operações necessárias para cada um executar seu trabalho), bloqueando
operações potencialmente perigosas, que possam colocar em risco a segurança do sistema.

A ideia é tornar o sistema mais seguro, evitando que um invasor que obtenha algum tipo de acesso
limitado (explorando uma falha em algum serviço ou aplicativo), consiga explorar outras falhas até obter
controle total sobre o sistema. Outro objetivo é oferecer uma camada de proteção contra brechas de
segurança ainda não identificadas, como no caso dos "zero-day exploits", que são brechas divulgadas e
exploradas antes que uma correção esteja disponível.

Apesar disso, o SELinux e o AppArmor trabalham de forma bastante diferente, seguindo conceitos
quase que opostos em termos de usabilidade. O SELinux foi desenvolvido com o intuito de ser usado em
servidores, priorizando a segurança e não a facilidade de uso (já que a ideia é que o sistema seja configurado
por um administrador experiente). O AppArmor também é bastante seguro, mas foi desenvolvido com o
propósito de ser mais intuitivo e simples de usar, o que nos leva os módulos do YaST:

323
A configuração do AppArmor é baseada no uso de profiles individuais para cada aplicativo protegido.
O AppArmor protege por padrão apenas alguns utilitários básicos de rede, como o ping e o traceroute (você
pode ver os perfis ativos usando o "Editar Perfil"), mas você pode criar profiles para outros aplicativos
usando o "Assistente para Adicionar Perfil" ou o "Adicionar Perfil Manualmente".

A opção manual exige que você forneça vários detalhes sobre os arquivos usados pelo aplicativo (o
que exigiria uma boa dose de pesquisa), mas o wizard é relativamente simples de usar. O primeiro passo é
descobrir o caminho para o executável do aplicativo, o que você pode fazer rapidamente usando o comando
"which", como em:

# which firefox

/usr/bin/firefox

A localização do executável é justamente a primeira pergunta que é feita pelo assistente:

A tela seguinte pede que você abra o aplicativo que será protegido e use-o como faria normalmente. É
importante que você abra o aplicativo depois de iniciar o assistente (ou seja, que ele esteja fechado ao clicar na

324
opção). Ao criar um profile para um serviço de rede, como o Apache ou o Squid, pare o serviço antes de abrir
o assistente (/etc/init.d/serviço stop) e execute-o novamente depois de abrí-lo:

Este é um modo de treinamento, que permite que o assistente monitore as ações executadas pelo
aplicativo, aprendendo sobre seu comportamento, sobre os arquivos e bibliotecas utilizados, e assim por
diante.

No caso do Firefox, por exemplo, você navegaria nos sites que costuma acessar, visualizaria algumas
animações em flash, acessaria algum site que usasse o plugin java e outras atividades corriqueiras. Durante o
treinamento, as operações consideradas suspeitas são logadas e ficam disponíveis no "Explorar eventos do
AppArmor" para que você possa autorizá-las. Ao terminar, clique no "Concluir" para que o profile seja
finalmente criado.

No caso do Firefox, o "/usr/bin/firefox" é um link que aponta para o "/usr/lib/firefox/firefox.sh".


No screenshot anterior você pode notar que o assistente levou isso em conta, criando o profile para o
executável real, e não para o link.

Outro aliado importante é o "Assistente de Atualização de Perfil", que vasculha os logs do sistema em
busca de eventos relacionados ao AppArmor, exibindo os eventos e pedindo sua confirmação sobre a
autorização ou não de ocorrências futuras de cada um. Os profiles são ajustados automaticamente a partir das
suas respostas, permitindo que aprenda como tratar o aplicativo.

Ao criar um perfil para um aplicativo complexo, como o Firefox, você receberá um grande volume de
perguntas das primeiras vezes que executar o assistente de atualização, mas logo elas diminuem, permitindo
que você diferencie o que são operações normais de potenciais abusos.

O Firefox é um bom candidato para ganhar um perfil no AppArmor, pois hoje em dia os navegadores
são os aplicativos que possuem mais brechas de segurança e são alvo do maior número de ataques em
qualquer desktop. Diferente de outros aplicativos, que operam dentro da tranquilidade da rede local, o
navegador é quem dá a cara a tapa para ir buscar as páginas e arquivos na grande rede. A partir daí, você pode
ir adicionando perfis para mais aplicativos e assim ir blindando progressivamente o sistema.

Segurança e outros

Embora não seja tão amigável quanto o userdrake, ou o users-admin, o "Gerenciamento de Usuário e
Grupo" oferece um conjunto mais completo de opções, incluindo opções para logar em servidores NIS,
LDAP ou servidores Samba PDC e de alterar os grupos, diretório home, shell e outras configurações default
para novos usuários.

O "Segurança Local" é um wizard que permite definir o nível padrão de segurança do sistema com
relação a acessos locais, incluindo verificações de senha, necessidade de trocar a senha periodicamente e assim

325
por diante. O wizard oferece um conjunto de configurações padrão (PC doméstico, estação de trabalho ou
servidor de rede), mas você pode simplesmente gerar uma configuração personalizada.

O "Sudo" é um editor para as configurações do sudo, que são salvas no arquivo "/etc/sudoers". Na
verdade, ele não é de grande ajuda, pois pede as mesmas informações que você precisaria fornecer ao inserir
uma entrada manual no arquivo. A vantagem é que ele checa a sintaxe automaticamente antes de salvar, o que
previne arquivos danificados devido a opções digitadas incorretamente.

Por padrão, o arquivo "/etc/sudoers" no OpenSUSE inclui as linhas:

Defaults targetpw
ALL ALL=(ALL) ALL
Elas fazem com que qualquer usuário possa rodar comandos como root usando o sudo, desde que
confirme a senha de root (e não a senha do usuário, como é usado no Ubuntu).

Se você deixou a opção "Usar esta senha para o administrador do sistema" marcada durante a
instalação, acaba tendo uma configuração (para fins práticos) similar à do Ubuntu, já que você pode rodar
qualquer comando como root adicionando o "sudo" no início da linha e confirmando sua própria senha, que
nesse caso será a mesma da conta de root.

Continuando, o OpenSUSE utiliza um aplicativo de firewall próprio, o SuSEfirewall2, uma evolução


do script presente desde as primeiras versões do sistema. Assim como todos os firewalls gráficos para Linux,
ele é na verdade um configurador para o Iptables, que mostra as opções de configuração e gera as regras de
firewall a partir das suas escolhas.

A configuração básica é ajustar a configuração da seção "Interfaces", definindo uma zona para cada
uma das interfaces de rede. O firewall trabalha com três configurações de zona: "Zona Externa", "Zona
Interna" e "Zona Desmilitarizada". A zona externa é usada para placas diretamente conectadas à Internet,
onde o firewall bloqueia todo o tráfego por padrão, o inverso do que temos na zona interna, destinada a
placas conectadas rede local, onde o firewall permite todo o tráfego por padrão.

A zona desmilitarizada permite que você crie um segmento de rede separado, destinado a micros
rodando servidores, jogos, ou outros aplicativos que precisam de portas de entrada. Os PCs ligados ao
servidor através da interface de rede desmilitarizada podem ser acessados tanto através da Internet quanto por
outros micros da rede local, sem restrição, mas a rede local é protegida de conexões provenientes deles. A
ideia é que se um micro na zona desmilitarizada for invadido, o atacante não poderá usá-lo para acessar
outros micros da rede local.

326
Você pode criar exceções usando a seção "Serviços Permitidos", especificando os serviços, ou as
portas que ficarão disponíveis para a Internet:

Em um servidor com duas placas de rede, a seção "Mascaramento" permite ativar o compartilhamento
da conexão, além de criar regras de encaminhamento, de forma a permitir o acesso a micros dentro da rede
local. Para que a configuração funcione, é necessário definir corretamente qual é a interface de rede interna e
qual é a interface de rede externa na seção "Interfaces".

A configuração do firewall é salva no arquivo "/etc/sysconfig/SuSEfirewall2", que você pode


também ajustar manualmente. Durante o boot (ou sempre que são feitas modificações na configuração), o
SuSEfirewall2 lê o arquivo e gera as regras correspondentes do Iptables. Você pode também reiniciar o
firewall manualmente usando a opção na seção "Início".

Finalizando, temos a seção "Diversos", com os objetos não identificados que não se encaixam nas
outras seções. As opções para visualizar os logs de inicialização e o log do sistema, por exemplo, são leitores
simples para os arquivos "/var/log/boot.msg" e "/var/log/messages", que você pode visualizar usando
qualquer editor de textos.

A opção com mais potencial é a "CD de Driver do Fabricante", fruto do esforço dos desenvolvedores
em criar uma rede de suporte entre os fabricantes de hardware, onde eles passem a fornecer CDs com drivers
Linux para os PCs e notebooks vendidos, que poderiam ser instalados usando esta opção:

327
Por enquanto, os únicos que aderiram são alguns fabricantes de controladoras RAID e outros
componentes específicos, mas a ideia não deixa de ser interessante.

Existe um repositório com drivers e utilitários para notebooks Dell listado no


http://en.opensuse.org/Additional_YaST_Package_Repositories, mas ele é mantido por voluntários, sem
suporte por parte da Dell.

Acesso remoto

O YaST inclui a opção de ativar um servidor VNC para aceso remoto através do "Serviços de Rede >
Administração Remota (VNC)". Depois de ativar o servidor e abrir a porta no firewall, você pode acessar a
máquina remotamente a partir de qualquer micro da rede com o cliente VNC instalado. Basta acessar a tela :1,
como em "vncviewer 192.168.1.60:1". Ao se conectar, você tem acesso à tela de login, onde pode se logar
usando qualquer login cadastrado.

Dois problemas com o VNC são que ele é bastante lento se usado via Internet e, que ele não é muito
seguro, pois usa um sistema fraco de encriptação para o login, transmitindo todos os dados da sessão de
forma não encriptada através da rede, abrindo margem para ataques.

Uma opção mais rápida e mais segura é o NX Server, um software de acesso remoto bastante prático
de usar, que substitui o VNC e a "Assistência remota" do Windows com vantagens, permitindo que você
acesse o PC remotamente mesmo através de conexões lentas.

Apesar de ser um aplicativo comercial, ele possui uma versão gratuita, que pode ser baixada no:
http://www.nomachine.com/download.php

Para instalá-lo no OpenSUSE, escolha a versão RPM. Na página seguinte, estão disponíveis os três
pacotes que compõe o programa. Comece instalando o "nxclient", depois o "nxnode" e, por último, o
"nxserver". É importante instalá-los nessa ordem, já que o nxnode depende do nxclient e o nxserver depende
de ambos.

Ao usar o Firefox, você pode simplesmente clicar sobre o botão e usar a opção "Abrir com: Instalar
Software", que faz com que o pacote seja automaticamente instalado usando o YaST:

328
Se preferir baixar os pacotes manualmente, basta usar o comando "rpm -Uvh" para instalá-los via
terminal.

É necessário instalar os três pacotes apenas no servidor, ou seja, na máquina que será acessada
remotamente. Nas máquinas que irão acessá-lo, é necessário instalar somente o cliente NX, que está
disponível também em versão Windows.

O NX utiliza o SSH para autenticação e transmissão de dados, por isso é necessário que o SSH esteja
ativado no servidor. Comece abrindo o YaST e verificando se o pacote "openssh" está instalado. Em seguida,
acesse o gerenciador de serviços e certifique-se de que o serviço "sshd" está inicializado:

Como no OpenSUSE o firewall fica ativado por padrão; é necessário acessar também a configuração
do Firewall e ajustar a configuração da sua placa de rede, mudando-a de "External Zone" para "Internal
Zone". Isso faz com que o firewall entenda que se trata de uma interface de rede local, na qual ele deve
aceitar conexões.

329
Feito isso, instale o cliente NX nas outras máquinas da rede e use o ícone "NX Connection Wizard",
que será criado no "Iniciar > Internet > NX Client for Linux" para criar a conexão, fornecendo o endereço
IP do servidor e especificando a interface que será usada (KDE, GNOME, etc.). Na hora de se autenticar,
basta fornecer qualquer uma das contas de usuário cadastradas na máquina, com exceção do root (que, por
questões de segurança, é desabilitado para uso no NX).

Assim como em outros sistemas de acesso remoto, você tem acesso ao desktop da máquina dentro de
uma janela, com opção de visualizá-lo em tela cheia.

Em vez de compartilhar a mesma sessão, como faz a assistência remota do Windows, o NX abre uma
seção separada, permitindo que você possa acessar o servidor remotamente sem atrapalhar o trabalho de
quem estiver utilizando-o localmente (a versão gratuita do NX permite duas conexões simultâneas):

330
Por padrão, o NX comprime as imagens via JPG, o que causa uma pequena perda de qualidade. Se
você está acessando outra máquina da rede local, pode desativar a compressão marcando (no cliente, dentro
das propriedades da conexão) a opção "General > Use custom settings > Settings > Use plain X bitmaps":

O NX utiliza um excelente sistema de compressão e cache que permite que ele funcione bem mesmo
em conexões lentas. Você pode inclusive usá-lo para acessar seu PC enquanto estiver fora de casa. Diferente
do VNC, o NX funciona de forma confortável mesmo via ADSL.

USANDO O XEN

Assim como em outras distribuições, você pode usar o VirtualBox ou o VMware sobre o OpenSUSE,
criando máquinas virtuais com outros sistemas. Apesar disso, o YaST inclui também um wizard que se
encarrega de instalar e configurar o Xen, deixando-o pronto para uso.

O Xen é um software de virtualização muito usado em servidores, onde concorre com o VMware
Server, o Virtuozzo e outros produtos. Um dos principais motivos do Xen ser pouco usado em desktops
(onde predominam o VMware e o VirtualBox), é o fato de ele ser mais complicado de instalar e configurar,
um problema que o configurador do YaST se oferece para resolver:

331
Com exceção do Qemu (que, embora com um baixo desempenho, pode rodar sem usar um módulo
de kernel), todos os virtualizadores utilizam módulos de kernel para ter acesso direto ao hardware e poderem
assim acessar instruções privilegiadas do processador, capturar tráfego da rede e assim por diante, funções de
que precisam para realizar seu trabalho. O VMware, por exemplo, usa três módulos diferentes, o vmmon, o
vmci e o vsock.

O Xen é um pouco mais intransigente, exigindo o uso de um kernel especialmente compilado,


contendo um conjunto de patches, que incluem as funções que permitem que ele tenha acesso direto ao
hardware, entre outras funções necessárias.

Para facilitar, o wizard do OpenSUSE instala o novo kernel automaticamente, adicionando uma opção
de boot no menu do grub, o "Xen -- OpenSUSE". Como pode imaginar, é necessário reiniciar a máquina e
inicializar usando a nova opção para que o Xen possa ser usado:

Depois de reiniciar, use a opção "Criar máquina virtual" dentro da categoria "Sistema > Virtualização"
do iniciar para criar as máquinas virtuais e poder testar. É possível (a partir do Xen 3.0) criar tanto VMs com
outras distribuições Linux quanto com o Windows:

332
Ao criar uma máquina virtual para uma distribuição Linux, você tem a opção de usar o modo de
paravirtualização, que é o sistema clássico de operação do Xen, ou de usar o modo de virtualização completa,
que está disponível a partir do Xen 3.0:

O modo de paravirtualização é o mais usado em servidores, pois oferece um melhor desempenho. O


grande problema é que ele exige que o sistema operacional dentro da máquina virtual seja especialmente
adaptado para rodar dentro da VM. No caso das distribuições Linux, é necessário utilizar uma versão do
kernel com suporte ao Xen (a maioria das grandes distribuições oferecem uma opção de boot que permite a
instalação dentro da VM), mas isso não é possível no caso do Windows, que tem o código-fonte fechado e
não pode ser modificado.

No modo de virtualização completa, o Xen trabalha de forma similar ao VMware e outros softwares
de virtualização, o que permite instalar o Windows e qualquer distribuição Linux, sem necessidade de usar um
kernel especial (é por isso que ao criar uma VM com o Windows, a opção de usar o modo de
paravirtualização não é mostrado). Este é o modo que você vai acabar usando na maior parte do tempo ao
usar o Xen para testar vários sistemas.

O principal empecilho é que o modo de virtualização completa só funciona em máquinas com


processadores Intel ou AMD recentes, com suporte ao Intel VT ou ao AMD-V. Se você usa um processador
antigo, resta apenas o modo de paravirtualização.

Em seguida, você vai para o menu de configuração da máquina virtual. À primeira vista, ele parece
apenas um menu de confirmação, mas na verdade todas as opções são editáveis:

333
Para poder usar a VM, o absoluto mínimo é acessar a opção "Discos" e adicionar um CD-ROM, com
a mídia de instalação. Você pode tanto usar o próprio drive de CD-ROM da máquina (o que é o default)
quanto indicar a localização de um arquivo .ISO com a imagem do CD de instalação:

É importante também ajustar a quantidade de memória reservada para a máquina virtual. O Xen
permite que você defina um valor inicial (que é a quantidade "fixa" de memória que é reservada assim que a
VM é ativada) e também um valor máximo, que pode ser usado em caso de necessidade. Isso evita que você
precise reservar 512 MB de memória para uma VM onde você precisa de apenas 256 MB na maior parte do
tempo, por exemplo:

334
Você pode escolher também a placa de vídeo que será simulada. Por padrão, o Xen simula uma placa
Cirrus Logic 5446, uma placa 2D antiga, da época da Trident 9680, que oferece apenas recursos básicos de
aceleração em 2D, sem qualquer suporte a 3D. Para os raros casos em que você esteja instalando um sistema
sem suporte a ela dentro da VM, existe a opção de simular uma placa VESA, sem recursos especiais:

Depois de concluída a configuração, a VM será inicializada, dando boot através do CD-ROM e


iniciando a instalação do sistema, como em um PC normal. O Xen não possui um sistema de acesso ao vídeo
local da máquina virtual, por isso utiliza um servidor VNC interno para exibir as imagens. Isso faz com que o
desempenho da atualização de tela seja bastante ruim se comparado ao do VirtualBox ou do VMware Player:

335
Como comentei, o Xen é otimizado para uso em servidores, onde o modo de paravirtualização
oferece um bom desempenho. O wizard do OpenSUSE automatiza a instalação e configuração e o modo de
virtualização completa permite que você instale o Windows ou outras distribuições Linux sem muita
complicação, mas não espere que o Xen se comporte de forma tão transparente quanto o VirtualBox, que é
otimizado para uso em desktops. De qualquer forma, a facilidade de instalação no OpenSUSE faz com que o
Xen mereça pelo menos um teste. :)

Veremos mais detalhes sobre o VirtualBox no capítulo sobre virtualização, onde falo também sobre o
uso do VMware Server que, apesar do nome, pode também ser perfeitamente usado em desktops,
substituindo o VMware Player.

336
CAPÍTULO 5: UBUNTU

Diferente de distribuições como o Debian e o Fedora, que seguem um modelo comunitário, ou de


distribuições como o Slackware, que seguem o modelo de "ditador benevolente", o Ubuntu é desenvolvido
por uma empresa, a Canonical, que possui um modelo de negócios em torno do sistema, baseado na venda de
suporte e contratos para uso em empresas e servidores. Isso faz com que o desenvolvimento do sistema seja
centralizado e bem organizado, com um fluxo de trabalho constante, já que além de voluntários, o sistema
conta com uma grande equipe de desenvolvedores pagos. Também existe uma grande rede de suporte em
torno do sistema, com fóruns, documentação, múltiplos links de download e assim por diante, centralizados
no ubuntu.com. A Canonical oferece até mesmo o Ubuntu One, um serviço de armazenamento em nuvem
para os usuários do sistema, nos moldes do Dropbox.

Na versões recentes, o sistema vem se tornando surpreendentemente bem integrado, com um bom
suporte de hardware (incluindo detalhes como suporte a teclas especiais nos notebooks, gráficos híbridos e
assim por diante), com boas ferramentas para configuração de impressoras, rede, bluetooth, e assim por
diante. Grande parte disso pode ser atribuído ao fato de o sistema ser distribuído na forma de um sistema
Live, que é essencialmente uma imagem pré-instalada do sistema que roda a partir do CD e pode ser também
instalada, diferente de distribuições mais tradicionais, onde o sistema é fornecido "desmontado" na forma de
pacotes e o instalador se encarrega de montar tudo baseado nas suas escolhas. O modelo live facilita o
desenvolvimento na parte da experiência de uso e os desenvioladores do Ubuntu têm tirado proveito disso
para oferecer um sistema bem integrado.

Embora o Ubuntu seja atualizado de seis em seis meses, quem está interessado em estabilidade deve se
limitar às versões LTS, que são lançadas a cada 18 meses (com dois releases "normais" antes de cada novo
LTS) e são suportadas por nada menos do que 5 anos, permitindo que você instale o sistema uma vez em um
PC novo e simplesmente continue usando-o por toda a vida útil do equipamento, apenas instalando as
atualizações de segurança, sem nunca precisar reinstalá-lo.

A disponibilidade das versões LTS e do longo ciclo de suporte para elas é um dos principais pontos
fortes do Ubuntu, que torna o sistema recomendado para uso profissional e também para a instalação em PCs
destinados a familiares, escolas e etc., onde você quer instalar o sistema uma vez e mantê-lo funcionando com
pouco esforço.

Todas estas vantagens entretanto têm um preço, que são o fato de o desenvolvimento do sistema estar
atrelado aos interesses de uma empresa, lembrando em alguns quesitos o modelo de desenvolvimento da
Apple, oferecendo um sistema bem acabado, mas que é por outro lado menos personalizável que outras
distribuições e que não necessariamente segue os rumos que a maioria dos usuários desejam.

Um bom exemplo disso foi a adoção do Unity como interface padrão, substituindo o GNOME ao
qual os usuários estavam mais acostumados. O Unity surgiu da estratégia da Canonical de levar o Ubuntu a
tablets e outros dispositivos, oferecendo uma interface com melhor suporte a gestos e a telas touch, um
movimento que lembra um pouco o Metro e a ênfase em tablets que a Microsoft adotou no Windows 8.
Além de não terem tido muita voz no processo, os usuários enfrentaram tempos difíceis nas versões 11.04 e
11.10, enquanto o Unity ainda não estava suficientemente polido e carecia de opções básicas de configuração.
As coisas voltaram aos eixos no 12.04 LTS, onde além de termos uma versão mais bem acabada do Unity
(com direito a algumas opções de configuração através do MyUnity) é possível voltar ao visual clássico com a
instalação de um único pacote, o "gnome-panel".

337
Em resumo, o Ubuntu pode não ser a distribuição mais personalizável e (com a possível exceção das
versões LTS) nem a mais estável. Entretanto, a grande disponibilidade dos CDs de instalação e toda a
estrutura de suporte criada em torno da distribuição, acabaram fazendo com que ele se tornasse uma espécie
de "default", uma escolha segura, que a maioria acaba testando antes de experimentar outras distribuições.
Esse conjunto de fatores faz com que ele seja a distribuição com mais potencial para continuar a crescer entre
usuários "normais", sem muito embasamento técnico.

Ele é, sob diversos pontos de vista, o oposto exato do Slackware. No Slack, a principal dificuldade é
entender como o sistema funciona, conseguir configurá-lo e instalar os aplicativos que quer usar. A estrutura
é relativamente simples e você tem total liberdade para fuçar e brincar com o sistema (já que consertá-lo é
quase tão fácil quanto quebrá-lo), mas, em compensação, quase tudo precisa ser feito manualmente.

O Ubuntu, por outro lado, segue uma lógica completamente diferente, tomando decisões por você
sempre que possível, mostrando apenas as opções mais comuns e escondendo a complexidade do sistema.
Isso faz com que ele seja usado por um volume muito maior de usuários, uma vez que oferece respostas para
dificuldades comuns, como instalar o sistema, configurar a rede wireless, instalar uma impressorae assim por
diante.

Apesar disso, essa abordagem tem também seus problemas, já que a estrutura mais complexa torna
mais difícil solucionar problemas inesperados, ou configurar o sistema de formas incomuns. O grande
volume de serviços carregados por padrão e o grande volume de bibliotecas e componentes, fazem com que
o sistema seja mais pesado e consuma mais memória do que distribuições mais espartanas (como no caso do
Slackware ou mesmo do Debian), o que torna imprático o uso em máquinas muito antigas, ou com menos de
512 MB de RAM. Como pode ver, nenhum sistema é perfeito e é justamente por isso que temos várias
distribuições. Vamos então aos detalhes sobre a configuração do Ubuntu de um ponto de vista mais técnico.

OPÇÕES DE INSTALAÇÃO

Nas primeiras versões, o Ubuntu usava uma versão levemente modificada do instalador do Debian
Sarge, um instalador bastante simples, em modo texto. Isso afastava muitos usuários, já que o instalador não
era particularmente amigável. O instalador em modo texto continua disponível através do "alternate CD"
(veja a dica no final do capítulo), mas a versão live-CD tomou a frente e passou a ser o modo recomendado
de instalação. Aqui vai a lista de links rápidos para consulta:

Site Oficial: http://www.ubuntu.com


Download: http://www.ubuntu.com/getubuntu
Documentação: https://help.ubuntu.com/, http://ubuntuguide.org/
Wiki: https://wiki.ubuntu.com/
Blogs: http://planet.ubuntu.com/
Comunidade no Brasil: http://www.ubuntu-br.org/

Durante o boot, a primeira pergunta é sobre a linguagem. A equipe do Ubuntu dá uma grande ênfase
aos pacotes de tradução; uma boa amostra disso é que, ao escolher a linguagem, todas as mensagens da tela de
boot aparecem traduzidas, incluindo os textos de ajuda. Está disponível inclusive um conjunto de opções de
acessibilidade, incluindo suporte a terminais braile e também o modo "leitor de tela", destinado a deficientes
visuais, onde um sintetizador de voz lê as opções e as menagens de texto de todos os passos da instalação
(veja detalhes no http://www.linuxacessivel.org).

Ao contrário do Mandriva, do OpenSUSE e do Slackware, 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, em vez de vários.

Além da versão em CD, está disponível também uma versão em DVD (procure pelo link "DVD
images containing additional languages" no final da página de download), que inclui todos os pacotes de
internacionalização, evitando que você precise ter uma conexão disponível no final da instalação para baixá-
los. Nem todos os mirrors disponibilizam a imagem do DVD (já que ela consome mais espaço e muito mais
banda), por isso às vezes é preciso procurar um pouco até encontrar. Ele é recomendável se você precisa
instalar o sistema em vários micros, ou se não tem uma conexão rápida disponível.

O default do sistema é simplesmente inicializar em modo live-CD, detectando o hardware da máquina,


configurando a rede via DHCP (ao usar uma rede cabeada) e obtendo a resolução do monitor via DDC. Não

338
existem opções para especificar a resolução do monitor manualmente (o lado ruim), mas um assistente é
aberto no final do boot nos casos em que o monitor não é detectado (o lado bom), permitindo que você
especifique as configurações manualmente e prossiga com a abertura do ambiente gráfico.

A rede pode ser configurada utilizando o applet do NetworkManager, disponível ao lado do relógio.
Ele permite configurar redes wireless de maneira bastante simples, logo depois de concluído o boot do live-
CD. É possível também desativar a configuração via DHCP durante a inicialização usando a opção
"netcfg/disable_dhcp=true" na tela de boot.

Com relação ao vídeo, hoje em dia, é muito raro que o sistema não detecte corretamente a resolução
do monitor, exceto em situações onde ele realmente não possui um driver disponível, como no caso dos
notebooks com placas SiS Mirage 3, onde é preciso que você instale um driver manualmente (veja a dica no
http://www.gdhpress.com.br/blog/driver-sis-mirage3/). É bem diferente do que tínhamos há alguns anos
atrás, onde muitas vezes era necessário especificar manualmente o driver de vídeo ou a taxa de atualização do
monitor.

Pressionando a tecla F6 você tem acesso à linha de opções para o kernel, onde pode especificar as
opções para solucionar problemas (irqpoll, acpi=off, etc.), caso necessário. Se, por acaso, o boot estiver
parando em algum ponto e você quiser ver as mensagens de inicialização para tentar descobrir o que está
acontecendo, remova as opções "quiet" e "splash" no final da linha:

O Ubuntu é uma distribuição relativamente pesada, que carrega um grande volume de componentes
durante o boot, consumido, nas versões recentes um pouco mais de 300 MB de memória RAM para o
sistema e mais uma certa quantidade para o ramdisk, usado para armazenar as alterações feitas durante o uso,
assim como em outros live-CDs. Assim como em outros sistemas operacionais modernos, o sistema também
usará uma grande quantidade da memória excedente para cache de disco, mas esta é uma fatia que pode ser
desconsiderada, já que a memória é automaticamente liberada conforme se torna necessária para uso dos
aplicativos. Conforme você instala programas e faz alterações, o ramdisk cresce, até o ponto em que toda a
memória é ocupada e o sistema passa a exibir uma mensagem de "disco cheio".

Esse sistema visa permitir que você instale pacotes via apt-get e tenha liberdade para brincar com o
sistema antes de instalar (uma vez que tudo é perdido ao reiniciar). Embora a conta de root venha desativada
por default, você pode rodar programas como root usando o sudo. Para se logar como root no terminal,
basta usar o "sudo su" ou "sudo bash".

Como você vai logo perceber, o Ubuntu fica muito mais lento ao rodar a partir do CD, devido à
combinação da baixa taxa de transferência do drive óptico, do trabalho de descompactação dos dados, feito
pelo processador, e pelo uso do ramdisk, que reduz a quantidade de memória RAM disponível para outras
tarefas.

Ao instalá-lo no HD, o instalador desativa estes componentes adicionais, fazendo com que ele passe a
se comportar como uma distribuição tradicional, deixando de usar o ramdisk e salvando todos os dados no
HD.

339
Uma dica é que em vez de fazer um boot normal, esperando o carregamento da interface para só
então abrir o instalador, você pode usar a opção "Instalar o Ubuntu" na tela de boot, que faz com que ele
abra uma versão pelada do X e rode o instalador diretamente. Em máquinas antigas, isso pode representar
uma economia de vários minutos.

Ao abrir o instalador, as primeiras perguntas são sobre a linguagem, layout do teclado e o fuso-
horário. Ao escolher o português do Brasil na tela de boot, o layout do teclado é automaticamente
configurado para ABNT2 e o fuso para o horário de Brasília.

Em seguida vem a etapa do particionamento, que é sempre a mais importante em qualquer instalação.
Como de praxe, o instalador oferece a opção de alterar o particionamento de forma automática,
redimensionando uma das partições existentes (atendendo aos iniciantes), mas conserva a opção de
particionar manualmente, que é o que interessa no nosso caso:

O instalador do Ubuntu utiliza uma versão gráfica do Partman como particionador. Ele tem uma raiz
comum com o Gparted (ambos são baseados no GNU Parted), mas possui uma interface bem mais simples.

Ele oferece a opção de criar, remover e reformatar partições (incluindo o redimensionamento de


partições do Windows), mas você provavelmente preferirá fazer as alterações usando o Gparted, deixando o
particionamento pronto e deixando para apenas indicar os pontos de montagem dentro do instalador. O

340
Gparted vem pré-instalado no Ubuntu, e fica disponível através do "Sistema > Administração > Editor de
Partições".

É possível redimensionar partições do Windows tanto utilizando o próprio instalador (ao escolher a
opção "Guiado", você pode mover a barra, ajustando o tamanho da partição manualmente) quanto utilizando
o Gparted. Em ambos os casos, é necessário que você desfragmente a partição através do Windows antes de
iniciar a instalação, caso contrário o particionador exibe um aviso e aborta o processo.

A ideia básica ao usar várias partições é indicar um ponto de montagem para cada uma (permitindo
que você acesse os arquivos) e usar o "/" para a partição onde será instalada o sistema. A opção "Formatar"
deve ser marcada apenas para a partição de instalação, afinal, você não vai querer perder todos os arquivos da
sua partição de trabalho por engano.

Assim como na maioria das outras distribuições atuais, as versões recentes do Ubuntu utilizam por
default o NTFS-3g ao acessar partições NTFS, oferecendo acesso completo de leitura e escrita, diferente do
que tínhamos em distribuições antigas.

Além de ter um controle maior sobre o tamanho das partições, outra vantagem do particionamento
manual é que você pode usar partições separadas para o diretório home, ou para outros diretórios onde você
pretenda armazenar arquivos.

Uma instalação típica do Ubuntu consome pouco mais de 3 GB (entre arquivos do sistema,
temporários e caches), de forma que uma partição de 12 a 20 GB para a instalação do sistema está de bom
tamanho, deixando uma boa dose de espaço livre para instalar aplicativos adicionais. O Ubuntu utiliza
bastante swap em micros com menos de 1 GB de RAM, de maneira que é prudente criar uma partição swap
de 2 GB. O restante do espaço pode ser dedicado à partição home, ou outra partição separada para
armazenar arquivos.

Uma das grandes vantagens de um sistema tão enxuto é que você pode usar um SSD de baixa
capacidade (30 GB ou até menos) para instalar o sistema, usando-o como partição raiz, e usar um HD
magnético regular para o armazenamento de arquivos, montando-o no diretório home.

341
Além da clássica receita de usar uma partição separada para o home, existem outras
possibilidades que você pode explorar. Eu, por exemplo, tenho o hábito de criar uma partição
separada, montada em uma pasta independente, como a "/mnt/sda6", em vez de montá-la no
diretório home. Depois de instalado o sistema, movo o diretório home para dentro da partição e o
substituo por um link, apontando para a nova localização, como em:

# cd /
# mv home /mnt/sda6
# ln -s /mnt/sda6/home home

Na prática, o resultado é o mesmo de montar a partição diretamente no home, mas ganho um


pouco mais de liberdade para criar outras pastas de arquivos. Este é apenas um exemplo de
organização alternativa; você pode criar o seu.

Depois do particionamento, você tem a tela de criação do login administrativo, que será usado por
padrão, juntamente com a opção de ativar o login automático durante a inicialização. Essa opção pode ser
alterada posteriormente através do "Sistema > Administração > Janela de início de sessão".

Sudo e o gerenciador de boot

Um detalhe sobre o qual você já deve ter ouvido falar dezenas de vezes, mas que de qualquer forma
não posso deixar de comentar, é que o Ubuntu utiliza o sudo para a execução de programas como root. Em
vez de usar o su ou o sux para se logar como root ao executar comandos administrativos, você simplesmente
adiciona um "sudo" no início do comando para executá-lo como root, como em "sudo nautilus".

A senha que é solicitada é a sua própria 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.

Por padrão, a conta de root vem desabilitada, uma medida para incentivar o uso do sudo. Entretanto,
nada impede que você defina uma senha de root manualmente e passe a utilizar a conta quando necessário, da
mesma maneira que em outras distribuições. Para isso, basta usar o comando "sudo passwd" a qualquer
tempo.

Se preferir que o sudo não peça a sua senha de usuário ao executar comandos (como ao executar o
sistema a partir do live-CD), edite o arquivo "/etc/sudoers" 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:

gdh ALL=NOPASSWD: ALL


De volta à instalação, depois da definição das senhas, é mostrada uma opção de importar
configurações a partir do Windows ou de outras distribuições que estejam presentes no HD. A importação
resulta em uma mistura entre as configurações padrão do Ubuntu e do sistema anterior, com resultados
variados. Você pode experimentar importar uma vez e, se não gostar do resultado, repetir a instalação,
desativando a opção.

Outra opção é simplesmente portar seus dados manualmente. Como vimos no capítulo
do Slackware, todos os aplicativos salvam seus dados e configurações em pastas ocultas do seu
diretório home, que você pode migrar de uma instalação para a outra. A principal dica é sempre
atribuir a posse dos arquivos para o seu login atual depois de fazer a cópia, certificando-se de que
realmente terá permissão para acessar os arquivos. Use o "chown -R login:grupo /home/login"
(como root) para ajustar de uma vez as permissões de todos os arquivos colocados dentro do home,
como em:

# chown -R gdh:gdh /home/gdh

342
Em seguida você tem a tela "Pronto para instalar", que exibe um resumo da instalação. Clicando no
"avançado" você tem acesso à configuração do gerenciador de boot, onde pode orientar o instalador a gravá-
lo na partição (de maneira a não subscrever o gerenciador de boot atual). Por default, o Ubuntu instala o grub
na MBR e adiciona outros sistemas operacionais instalados ao menu de boot.

Como em outros live-CDs, o sistema continua funcional durante a instalação, permitindo que você
navegue ou jogue algum dos games pré-instalados para matar o tempo.

A menos que você esteja instalando a partir do DVD, o instalador tentará baixar os pacotes de
tradução no final da instalação, o que exige uma conexão com a web já configurada. Naturalmente, a
instalação não para se não for possível fazer o download, mas você ficará com uma localização incompleta do
sistema e receberá um aviso no próximo boot:

Você pode instalar os pacotes posteriormente através do "Sistema > Administração > Suporte a
Idiomas".

CONFIGURANDO O UNITY

Durante quase 6 anos, o Ubuntu utilizou o GNOME como ambiente de trabalho padrão, levando o
ambiente a vários milhões de novos usuários. Durante todo esse tempo, o GNOME passou por um processo
bastante previsível de evolução, dentro dos limites da série 2.x, mantendo tanto os usuários quanto os
desenvolvedores do Ubuntu satisfeitos. Os problemas começaram com a introdução do GNOME 3, que

343
trouxe várias mudanças de paradigma, a começar pela remoção de muitos dos recursos e opções de
configuração que já estavam bem sedimentadas na versão anterior, passando por uma remodelação da
interface, que abandonou a tradicional metáfora de desktop (com o menu iniciar, barra de tarefas, etc., como
no Windows) para uma metáfora de atividades, que resultou em um ambiente mais limpo e belo graficamente,
mas que tornou mais complicada a vida dos power-users, acostumados a trabalhar com muitos aplicativos e
janelas simultaneamente. Dos atalhos de teclado ao comportamento das janelas, quase tudo mudou. Você
pode baixar um live-CD com uma imagem de testes da versão mais recente do GNOME para vê-lo em ação
no http://ftp.gnome.org/pub/GNOME/misc/promo-cd/. Ele oferece uma visão do ambiente como
concebido pelos desenvolvedores, sem as camadas de personalizações incluídas pelas distribuições:

A transformação levou a muitas discussões acaloradas, envolvendo até mesmo Linux Torvalds, que
anunciou publicamente que estava migrando para o XFCE. Os desenvolvedores do Ubuntu também se
posicionaram contra os rumos do projeto, optando por declarar independência, passando a trabalhar em um
projeto de desktop shell próprio. Na realidade, o Unity já existia anteriormente, sendo usado no Ubuntu
Netbook Remix, uma versão do sistema dedicada a netbooks. A interface surgiu com o objetivo de maximizar
o espaço vertical da tela, incorporando a barra de menus dos aplicativos na própria barra superior e movendo
os ícones dos aplicativos para a esquerda:

344
Continuar usando o GNOME 2.x não seria uma opção, já que ambiente logo se tornaria
desatualizado. Iniciar o desenvolvimento de outro ambiente a partir do zero levaria muitos anos, por isso os
desenvolvedores optaram por concentrar os esforços no Unity, aperfeiçoando o ambiente para que ele
pudesse se tornar o ambiente desktop default. O Ubuntu 10.10 acabou sendo a última versão do sistema a
trazer o GNOME por padrão, com o Unity assumindo o posto a partir da 11.04.

O Unity usado no 11.04

O Unity usado no 11.04 possuía muitos problemas, o que fez com que o Ubuntu perdesse muitos
usuários. A Canonical usou esta versão como um espécie de laboratório de testes para levar o Unity às massas
e receber feedback dos usuários. As coisas melhoraram um pouco no 11.10, mas foi mesmo apenas com o
12.04 que o Unity chegou à maturidade. Vale lembrar que tanto a versão 10.10 (com o GNOME 2.32) quanto
o 12.04 (com o Unity "estável") são versões LTS do sistema, enquanto o 11.04 e o 11.10 são versões
intermediárias, que são por definição mais passíveis de problemas. Os usuários que migraram diretamente do
10.10 para o 12.04 tiveram uma mudança relativamente tranquila, enquanto os que passaram pelas duas
versões intermediárias enfrentaram bem mais problemas.

O Unity combina o uso da biblioteca GTK 3 (que também é a base do GNOME 3) com o uso do
Compiz (usado para renderizar as sombras e efeitos 3D) e outros recursos, criando um ambiente bonito
visualmente, mas por outro lado moderadamente pesado e que demanda o uso de uma aceleradora 3D
suportada pelo sistema.

Atualmente, o Ubuntu oferece suporte direto a chipsets Intel, AMD (através do driver open-source) e
nVidia (através do Nouveau, também open-source), abrangendo mais de 95% dos sistemas em uso.
Entretanto, você pode ter problemas caso esteja utilizando um GPU muito antiga, que não tenha potência
suficiente para rodar a interface, ou algum modelo muito recente, que ainda não seja suportado, bem como
algum chipset da VIA ou SIS, que nunca foram bem suportados no Linux. Para esses casos, está disponível o
Unity 2D, que é visualmente muito similar, mas é baseado no QT e no Metacity (o gerenciador de janelas do
GNOME 2.x), sendo completamente diferente do ponto de vista técnico. O Unity 2D dispensa o uso de uma
placa 3D, mas não é muito mais econômico do ponto de vista do consumo de memória e recursos do
sistema. Para quem quer uma interface leve, as saídas continuam sendo o XFCE e o LXDE.

O Unity é baseado no uso de uma barra superior, que serve simultaneamente como área de
notificação, barra de título e barra de menu para a janela ativa. Isso economiza espaço vertical da tela,
combinando três barras separadas em apenas uma. Por enquanto (até o 12.04) não existe uma forma de
configurar a posição dos botões, que ficam permanentemente do lado esquerdo:

345
Do lado direito da barra temos múltiplos indicadores, que assumem a função dos desktop applets.
Cada um deles é um pequeno aplicativo com um pacote correspondente, começado com "indicator". Você
pode instalar novos indicadores, bem como remover alguns dos existentes instalando ou desinstalando destes
pacotes.

Para remover o indicador das mensagens, por exemplo, você removeria o pacote "indicator-
messages". Pra adicionar um indicador de previsão do tempo, instalaria o "indicator-weather". Existem vários
outros indicadores disponíveis, que você pode checar escrevendo "sudo apt-get install indicator-" no terminal
e pressionando a tecla TAB duas vezes para ver a lista das opções disponíveis. Existem também indicadores
de terceiros instaláveis através de repositórios adicionais. Você encontra uma longa lista de outros indicadores
disponíveis no http://askubuntu.com/questions/30334/what-application-indicators-are-available.

A barra lateral, batizada de Launcher faz o papel de menu iniciar e barra de tarefas. Novamente, a
ênfase foi colocada em maximizar o espaço vertical da tela, daí a disposição vertical. Apesar disso, a ideia do
Launcher não é muito diferente da usada na barra de tarefas do Windows 7: Manter atalhos para os
aplicativos mais usados à vista, para que você possa inicializá-los rapidamente.

Os ícones bloqueados no Launcher continuam visíveis mesmo que o aplicativo em questão esteja
fechado. Naturalmente, a barra também mostra outros aplicativos abertos e, ao abrir várias janelas do mesmo
aplicativo (você pode abrir uma nova janela em vez de selecionar a que já está aberta clicando no ícone com o
botão central do mouse), clicar sobre o ícone correspondente abre um menu estilo Exposé, com todas as
janelas abertas:

346
Você pode fixar novos ícones na barra ou desfixar os existentes clicando com o botão direito e
usando a opção "Bloquear no Lançador" ou "Desbloquear no Lançador", bem como arrastar os ícones para
alterar a ordem. Você pode também remover ícones arrastando-os para a lixeira.

Dash

Em seguida temos o Dash, que tenta oferecer uma opção mais moderna ao velho menu iniciar,
combinando a exibição de aplicativos e arquivos com opções de pesquisa. Ele é baseado no uso de "lentes",
que nada mais são do que os diferentes menus de funções dentro do Dash. Além das lentes disponíveis por
padrão, ele permite a adição de novas lentes com funções diretas, instaladas através de pacotes, como no caso
das notificações.

Além do gerenciamento normal, que é feito pelo próprio sistema conforme os pacotes são instalados e
removidos, é possível também adicionar ícones com comandos personalizados ao dash, mas isso envolver
editar diretamente os arquivos. Acesse a pasta ".local/share/applications/" dentro do seu diretório home e
crie um arquivo com a extensão .desktop, como em:

$ gedt .local/share/applications/sensores.desktop

Dentro do arquivo, siga este modelo:

[Desktop Entry]
Name=Sensores
Exec=watch sensores.sh
Icon=gnome-terminal
Terminal=true
Type=Application
StartupNotify=true
Neste exemplo, criei um ícone para lançar um shell script dentro de um terminal. As linhas
importantes são o nome (Name), o comando a executar (Exec), ícone (Icon) e a "Terminal", que deve ficar
com o valor "false" para aplicativos gráficos em geral e "true" no caso de scripts e comandos que forem ser
executados dentro do terminal. No exemplo, é criado um ícone chamado "Sensores", que abre uma janela de
terminal executando um pequeno script que criei para mostrar as temperaturas e outros dados dos sensores
do sistema.

De volta ao launcher, além de clicar sobre os ícones ou usar o Alt+Tab, você pode alternar entre os
aplicativos segurando a tecla Super (a tecla Windows, da esquerda) e pressionando o numeral correspondente.
Super+1 chaveia para o primeiro aplicativo, Super+2 para o segundo e assim por diante. Com a prática, este
se torna uma forma bastante eficiente de alternar entre eles, já que com os ícones fixos na barra, a ordem
nunca muda, permitindo que você relaciona Super+2 com o Firefox e Super+5 com o LibreOffice, por
exemplo.

347
Caso você tenha várias janelas abertas do mesmo aplicativo, você pode chavear entre elas
pressionando Alt+' (a tecla logo acima da tecla Tab), que funciona como um bom complemento ao Alt+Tab,
que chaveia entre janelas diferentes aplicativos.

Assim como é tradição nos ambientes gráficos do Linux, o Unity oferece múltiplas áreas de trabalho,
que você pode usar para organizar as janelas (por default ao usadas 4 áreas, mas você pode aumentar o
número delas através do MyUnity). Em vez de ficar alternando entre as janelas, você pode colocar diferentes
grupos de janelas em que esteja trabalhando em diferentes áreas de trabalho e alternar entre as áreas.

Além de alternar entre as áreas usando o ícone na barra, você pode também alternar entre elas usando
Super+S (abre o Exposé com todas as áreas) ou navegar diretamente entre elas pressionando Ctrl+Alt+setas
direcionais. Você pode também mover a janela atual para outra área de trabalho com Ctrl+Alt+Shif+setas
direcionais.

Para ser sincero, o Unity por default não oferece um nível de produtividade tão com quanto um
gerenciador clássico, baseado na velha metáfora de barra de tarefas. Você acaba precisando de mais clicks
para alternar entre as janelas e organizá-las. Lembre-se que o Unity foi feito com tablets e novos usuários em
mente, que não costumam trabalhar com muitas janelas simultâneas.

Para compensar isso, o Unity oferece um bom conjunto de atalhos de teclado, que se bem dominados
podem permitir obter uma produtividade similar ou até um pouco superior à que você obteria com uma
interface clássica.

Pressionando a tecla F10, você tem acesso rápido ao menu do painel do aplicativo (no topo da tela) e
pode alternar entre as opções usando as setas, uma forma rápida de acessar qualquer opção sem precisar tirar
as mãos do teclado. Como de praxe, os menus são sempre fechados usando a tecla Esc.

Dando um toque rápido na tecla Super você abre o Dash. Pressionando Super+A ele é aberto
diretamente na lente de aplicativos, com Super+F na de arquivos recentes e com Super+V na lente de vídeos.
Pressionando Alt+F2 o Dash é aberto no modo de execução, que permite encontrar e abrir aplicativos
pressionando as primeiras letras do nome, similar ao que tínhamos ao usar o Katapult e outros utilitários dos
velhos tempos.

348
Muitas das opções dos aplicativos, bem como opções do sistema podem ser acessadas através do
HUD, aberto com um toque rápido na tecla ALT esquerda. Basta digitar as primeiras letras da ação que você
deseja (em Português mesmo) que o HUD exibe um menu com as opções possíveis. Nem todos os
aplicativos são compatíveis com o HUD, o que limita um pouco a utilidade, mas você pode pelo menos usá-
lo para alterar configurações do sistema e executar tarefas diversas. De uma forma geral, o HUD permite
ganhar tempo em ações que estão escondidas sob várias camadas de menus, mas não é muito eficiente para
funções que estão diretamente acessíveis na interface principal dos aplicativos.

Continuando com os atalhos, pressionando Super+? você maximiza a janela atual e com Super+? você
a desmaximiza. A parte mais interessante entretanto é que com Super+? ou Super+? você ajusta a janela para
ocupar metade da largura da tela, o que é uma forma simples de colocar duas janelas lado a lado. O botão de
maximizar a janela também esconde um segredo. Clicando sobre ele com o botão direito você maximiza
janela horizontalmente, e clicando com o botão do meio maximiza verticalmente.

Pressionando Ctrl+Alt+D você minimiza todas as janelas (uma opção ao botão de mostrar o
desktop), e com Super+W você vê um exposé com todas as janelas do espaço de trabalho atual.

Outros atalhos disponíveis são o Ctrl+Alt+T (abre uma janela do terminal padrão), Super+T (abre a
lixeira), Ctrl+Alt+L (bloqueia a tela) e Alt+PrtScn (tira um screenshot da janela atual, em vez da tela inteira).
Você pode ver uma "cola" com as teclas de atalho mais comuns segurando a tecla Super por dois segundos.

O MyUnity e o CCSM

Embora por padrão não ofereça quase nenhuma opção de configuração, algumas opções do Unity
pode ser ajustado através de utilitários como o MyUnity e o CCSM (o utilitário de configuração do Compiz).
Nenhum deles vem instalado por default, mas podem ser instalados rapidamente usando o apt-get:

$ sudo apt-get install myunity

(no 11.10 é necessário adicionar o repositório ppa:myunity/ppa)

$ sudo apt-get install compizconfig-settings-manager

A primeira opção que costumo mudar é a Launcher > Size, reduzindo a largura do Launcher de 48
para 32 pixels. Além de aumentar o espaço horizontal da tela, isso permite colocar mais ícones no Launcher,
melhorando o aproveitamento do espaço. A opção "Behavior" permite definir se o Launcher ficará fixo ou
será escondido automaticamente, enquanto a "Show Devices" permite definir se outras partições e pendrives
aparecerão o tempo todo o Launcher, para acesso rápido, ou serão mostradas apenas quando montadas:

A aba "Dash" ajusta opções relacionadas ao menu de lançamento de aplicativos (a opção "Dash Size
> Desktop", por exemplo torna o visual bem mais atrativo para o uso em telas grandes), enquanto a aba
"Desktop" permite ativar a exibição de ícones diversos no desktop (Home, Rede, Lixeira, etc.), bem como
ativar a exibição do ícone para mostrar o desktop no Launcher (muito útil se o desktop passa a exibir ícones)
e ajustar o número de desktops virtuais. Temos também as opções para ajustar as fontes e temas, como de
praxe.

349
É possível criar ícones no desktop com comandos personalizados usando o "gnome-desktop-item-
edit". Ele faz parte do pacote "gnome-panel", que precisa ser instalado previamente.

Para criar um novo ícone, use o comando:

$ gnome-desktop-item-edit ~/Área\ de\ trabalho/ --create-new

Isso abrirá uma janela como esta, que permite definir as propriedades do ícone como de praxe:

O CCSM por sua vez é um animal bem mais complexo, misturando opções do Compiz (muitas das
quais não são utilizáveis no Unity), relacionadas a efeitos 3D e comportamento das janelas, com algumas
opções específicas para o Unity na seção "Área de Trabalho > Ubuntu Unity Plugin":

As duas primeiras abas, "Bahaviour" e "Switcher" incluem basicamente opções para personalizar os
atalhos de teclado, enquanto a "Experimental" inclui opções diversas para o Launcher, incluindo as mesmas
opções disponíveis no MyUnity.

É importante enfatizar que muitas opções do CCSM não são compatíveis com o Unity e podem
causar travamentos inesperados. Muitos comparam utilizá-lo com andar com uma espingarda carregada
apontada para o seu próprio pé. Basta um pequeno descuido para que coisas desagradáveis aconteçam.

Usando o Ubuntu Tweak

Outro utilitário muito útil, este um velho conhecido dos usuários do Ubuntu é o Ubuntu Tweak, que
em versões antigas era centrado em opções para o GNOME 2, mas nas versões atuais passou a ser centrado
no Unity e no Compiz, oferecendo muitas opções úteis. A nova foi batizada de "Precise Tweak" em
homenagem ao nome código do 12.04.

O Ubuntu Tweak continua (pelo menos até o 12.04) sendo um utilitário não suportado pela
Canonical, o que significa que você precisa adicionar o repositório manualmente antes de instalá-lo:

350
$ sudo add-apt-repository ppa:tualatrix/ppa
$ sudo apt-get update
$ sudo apt-get install ubuntu-tweak

Existe também a possibilidade de instalar o pacote diretamente, baixar o pacote .deb, disponível no:
https://launchpad.net/ubuntu-tweak/+download

… e instalando-o usando o dpkg, como em:

$ sudo dpkg -i ubuntu-tweak_0.7.0-1~precise4_all.deb

A vantagem do primeiro método é que você instala automaticamente a versão adequada ao seu
sistema e as atualizações do pacote passarão a ser instaladas automaticamente quando atualizar o sistema.
Uma vez instalado, baste pressionar Alt+F2 e chamar pelo "ubuntu-tweak" para abri-lo:

A tela inicial exibe informações gerais sobre o sistema, com funções para atualizar o sistema (na
verdade um atalho para o gerenciador de atualizações) e para limpar os caches de miniaturas e o cache do apt,
que sempre tendem a ocupar um espaço considerável em disco. O cache de miniaturas guarda versões
reduzidas de todas as imagens visualizadas pelo Nautilus, para que o sistema possa exibi-las rapidamente sem
gerá-las novamente a cada vez, enquanto o cache do apt armazena cópias de todos os pacotes e atualizações
que baixou desde a última limpeza.

A maior parte das opções estão concentradas nas seções "Ajustes" e "Administradores":

351
Novamente, muitas das opções também estão disponíveis no MyUbuntu, como o ajuste das fontes,
temas, opções gerais do Unity, etc., mas ele inclui também várias outras opções exclusivas. A opção
"Configuração do Gerenciador de Janelas" por exemplo esconde a opção para mover os botões de fechar e
maximizar no topo da janela para a direita, uma configuração que por si só já torna o sistema muito mais
familiar para muitos. Uma observação é que o uso dos botões na direita torna o sistema uma pouco
inconsistente, pois enquanto a janela está maximizada os botões vão para a barra de título, onde voltam a ser
exibidos à esquerda:

Nela existem outras opções úteis relacionadas ao comportamento do mouse em relação às janelas.
Você pode configurar o sistema para maximizar a janela ao dar um duplo clique com o botão esquerdo,
maximizar verticalmente com o botão central e exibir o menu com o botão direito, ou qualquer outra
combinação que ache confortável.

Previsivelmente, a opção "Theme" permite ajustar o tema visual do Unity. Entretanto, ela oferece uma
lista muito mais detalhada de opções que as que estão disponíveis no "Configurações do Sistema", permitindo
ajustar separadamente o tema GTK básico, o tema para os ícones, o tema para o cursor do mouse e para o
gerenciador de janelas.

352
A seção "Ajustes > Unity" esconde duas opções que estavam a há muito na lista de desejo de alguns
usuários, a opção de desativar o HUD (caso você não goste ou não o ache prático) e a opção de exibir apenas
um launcher ao usar múltiplos monitores (Only one launcher when multi-monitor), em vez de exibir um em
cada tela como é o default.

Na "Configurações do Nautilus" existe a opção de passar a exibir por default a barra de caminho em
texto, que permite que você insira manualmente as pastas ou localizações a acessar, em vez de ficar preso à
barra de caminho gráfica:

A seção "Administradores" esconde mais algumas opções interessantes, como a criação de atalhos de
teclado para comandos personalizados, alteração da localização das pastas padrão (documentos, música,
downloads, etc.) e a configuração das associações de arquivos, escondida na "Administradores > Gerenciador
dos tipos de arquivos".

As seções "Miscellaneous" esconde algumas opções que permitem restringir um pouco o ambiente de
trabalho, que podem ser úteis em algumas situações, como em laboratórios de informática, como por
exemplo desabilitar as opções de imprimir e configurar a impressora.

A seção "Administradores" esconde várias opções úteis relacionadas ao gerenciamento de pacotes,


atalhos e scripts, bem como outras opções relacionadas à configuração da área de trabalho, que bem poderia
estar na seção principal.

A opção "Central de Programas" oferece uma forma rápida de verificar os pacotes instalados e ver
pacotes que estão disponíveis para instalação na central de programas do Ubuntu. A vantagem é que ele
oferece uma lista simples, simplesmente exibindo todos os pacotes em ordem alfabética. A "Centro de fontes
por outro lado" oferece uma lista com todos os PPAs (repositórios de terceiros, como o "tualatrix", que
adicionamos para instalar o Ubuntu Tweak) que permitem instalar aplicativos adicionais, não disponíveis nos
repositórios oficiais do Ubuntu, bem como repositórios com versões de desenvolvimento dos aplicativos.
Novamente, a grande vantagem é que ele permite ver todos os PPAs disponíveis em um único local,
permitindo que você ative os que lhe interessarem:

353
Uma vez que um determinado PPA está disponível, basta instalar os pacotes disponíveis nele através o
apt-get ou da Central de Programas, como de costume.

O "QuickLists Editor" permite editar os atalhos do Launcher. Além de ver e alterar os comandos
executados por cada ícone, você pode criar listas de ações, que aparecem ao clicar com o botão direito sobre
o ícone. Alguns aplicativos já trazem ações pré-programadas, como no caso do Chrome, que oferece uma
opção para abrir uma janela anônima. Estas listas de ações podem ser muito práticas, permitindo que você
tenha acesso direto a arquivos ou funções que sempre usa diretamente através do launcher, sem precisar
primeiro lançar o aplicativo. O ícone do terminal pode ter comandos para iniciar sessões SSH ou rodar
aplicativos específicos, o link para o LibreOffice pode oferecer atalhos para abrir documentos ou templates
que você usa com frequência e assim por diante. Um ícone para o VirtualBox pode exibir opções diretas para
inicializar as VMs instaladas, por exemplo:

Veja que criar as ações é simples, mas demanda algum conhecimento básico da linha de comando,
para que você saiba representar o que você deseja através de comandos. Para abrir as VMs usando o
VirtualBox, por exemplo, usamos o comando "VBoxManage startvm" seguido do nome da máquina virtual
entre aspas (caso ele contenha espaços). Uma opção para abrir uma janela do terminal acessando uma
máquina remota específica via SSH seria algo como "gnome-terminal ssh gdh@192.168.1.100" e para abrir
um documento específico no LibreOffice você usaria "libreoffice documento.txt".

354
Concluindo sobre a configuração do Unity, é possível impar toda a configuração e começar de novo
usando o comando "unity --reset", que retorna o Unity à configuração padrão, sem remover outros arquivos e
configurações:

$ unity –reset

Ubunto mais familiar com o gnome-panel ou Cinnamon

Apesar da evolução do Unity, muitos usuários do Ubuntu continuam preferindo o visual familiar do
GNOME 2.x. Para eles existem várias opções.

A primeira é instalar o pacote gnome-panel, que altera a interface do Unity, imitando o look-and-feel
do GNOME 2.x, com os mesmos menus configuráveis no topo e base da tela, menu iniciar, barra de tarefas e
assim por diante. Ele é um recurso oficialmente suportado dentro do sistema, basta apenas instalar o pacote:

$ sudo apt-get install gnome-panel

Uma vez instalado ele ficará disponível entre as seções na tela de login, permitindo que você o teste
com um simples log-out. Ele continua a usar o Compiz, por isso você pode ajustar os efeitos 3D a gosto
através do ccsm:

É importante enfatizar que, apesar da similaridade, não se trata do bom e velho GNOME 2, mas
apenas de um tema personalizado para o Unity que imita a interface. A similaridade também fica apenas na
superfície, já que ele não oferece o gnome-config, gnome-tweak e as tantas opções e utilitários a que os
usuários de longa data da interface estavam acostumados. Dentro deste escopo modesto, a real utilidade
acaba sendo limitada.

Uma vez que o gonme-panel é instalado, é possível também ativar a barra lateral do Unity dentro do
GNOME-Panel, combinando a praticidade de interface clássica com muitos dos recursos do Unity. Nesse
caso, você simplesmente logaria normalmente no Unity (tanto faz usar o 2D ou o 3D) e simplesmente
chamaria o comando "gnome-panel" em um terminal para abrir a barra clássica do Gnome, na parte inferior
da tela. Esta é uma combinação que funciona bem caso você configure a barra do Unity para se ocultar
automaticamente.

A segunda opção é instalar o Cinnamon, o fork do GNOME-Shell desenvolvido pela equipe do


Linux-Mint, que combina o back-end do GNOME 3 com a interface do GNOME 3, oferecendo um
ambiente atualizado, porém com um visual familiar. Além do Ubuntu, ele pode ser instalado no Fedora,
OpenSUSE e várias outras distribuições. Você encontra os endereços dos repositórios bem como as
instruções de instalação no: http://cinnamon.linuxmint.com

355
Para quem gostou do GNOME 3, também é fácil instalá-lo no Ubuntu, já que ele está disponível nos
repositórios, juntamente com o KDE e outras interfaces. O GNOME 3 é instalado através do pacote gnome-
shell:

$ sudo apt-get install gnome-shell

Você notará que ao instalar o gnome-shell o apt baixará um volume suspeitosamente pequeno de
pacotes, bem diferente das centenas de megabytes que seriam de se esperar de uma instalação completa do
GNOME. Isso acontece por que na verdade o Unity continua a utilizar a infra-estrutura do GNOME,
substituindo apenas o shell, que é a parte com a interface. Na verdade estamos apenas instalando o shell
padrão do GNOME, a parte que estava faltando.

É por isso também que o Ubuntu com o Unity continua sendo tão ou mais pesado que as versões
anteriores, diferente do que seria de se esperar caso o Unity fosse uma nova interface, desenvolvida a partir
do zero.

Voltando ao GNOME, Instale também o gnome-tweak-tool, que permite ajustar várias opções da
interface:

$ sudo apt-get install gnome-tweak-tool

Infelizmente, não existe a possibilidade de voltar para o GNOME 2, pois os pacotes conflitam com os
pacotes do GNOME 3 e por isso foram removidos do repositório desde o Ubuntu 11.10. Ainda assim, existe
a possibilidade de instalá-lo nas versões recentes do Ubuntu, bem como no Debian, Fedora e outras
distribuições através do MATE, um fork do GNOME 2, que além de continuar a aperfeiçoar o ambiente,
oferece uma estrutura diferente para os nomes dos pacotes, permitindo que eles sejam instalados juntamente
com o Unity ou outros ambientes gráficos, ou até mesmo lado a lado com o GNOME 3. Ele está disponível
no http://mate-desktop.org/

CONFIGURAÇÃO DO SISTEMA E ATUALIZAÇÕES

No Ubuntu 12.04, as opções de configuração do sistema, dentro do Unity ficam concentradas nos
applets da área de notificação e no "Configurações do sistema" (o gnome-control-center) que vem fixo na
barra lateral por default.

Ele oferece um conjunto relativamente modesto de opções, que abrangem apenas as áreas mais
comuns. Apesar disso, ele esconde vários segredos que iremos ver nas sessões seguintes.

356
Tudo começa com as seções "Aparência" e "Brilho e bloqueio", que incluem opções básicas
relacionadas ao lançados do Unity (o ajuste da largura da barra e a opção de ocultá-la automaticamente) e as
configurações de brilho e esmaecimento da tela (que acaba por economizar uma boa dose de energia em
notebooks, mas que muitos preferem desativar) bem como o bloqueio automático.

O Ubuntu oferece uma configuração central para a linguagem do sistema, bem como para a instalação
de novas línguas, localizado no "Suporte a idiomas". Este é um ponto em que o Linux está à frente do
Windows em termos de facilidade de configuração. Ao instalar uma nova linguagem, o sistema verifica os
pacotes instalados e instala os pacotes de internacionalização para os diferentes componentes (Gnome, KDE,
LibreOffice, etc.) automaticamente, tornando muito simples manter um sistema com várias linguagens
instaladas e alternar entre elas conforme desejado.

Já a várias versões, a Canonical oferece o Ubuntu One, um serviço de armazenamento nas nuvens,
que oferece 5 GB de espaço gratuito e um plano pago que dá direito a 20 GB. Além de se integrar bem ao
sistema, oferecendo sincronização automática de pastas selecionadas, ele oferece também clientes para
Windows e Android, oferecendo recursos bem similares ao Dropbox. Embora já tenha apresentado
problemas de disponibilidade no passado, um dos atrativos do serviço é que o preço do plano pago é mais
baixo que os oferecidos pelo Dropbox. Enquanto escrevo, o plano de 20 GB custa apenas US$ 30 anuais,
contra os US$ 99 anuais do plano de 50 GB do Dropbox. Como ele já vêm pré-instalado no sistema, vale à
pena fazer um teste com a versão gratuita.

Continuando, uma área em que o Linux avançou bastante na última década é o suporte a impressão,
que deixou de ser algo complicado, que envolvia baixar arquivos .ppd e fazer a configuração manualmente
através da interface do Cups. Como os drivers de impressão já vêm incluídos diretamente no Cups, a
configuração é bem simples, envolvendo apenas indicar o fabricante e o modelo da impressora (no caso de
modelos recentes, que ainda não tenham um driver específico, vale a velha dica de escolher um modelo
similar) e na maioria dos casos o sistema é capaz de detectar a impressora automaticamente durante o boot. O
mesmo vale para as impressoras de rede, que podem ser instaladas indicando o endereço na rede e o
protocolo usado, ou usando a detecção automática no "Impressora de rede > Localizar impressora de rede".

357
O "Rede" oferece algumas opções básicas relacionadas à configuração das interfaces uma opção e um
modo de voo, que desabilita todos os transmissores de rádio. Estes são na verdade apenas um subconjunto
das opções disponíveis no NetworkManager, que veremos a seguir.

As configurações de som permitem fazer um "overdrive" no volume, usando amplificação via


software para ir até os 150% no volume de saída. Este é um truque que ajuda bastante no caso de notebooks
com speakers baixos:

Nas opções de energia, você pode configurar o sistema para dormir automaticamente quando a tampa
é fechada, o que é a melhor opção no caso dos notebooks, para que você tenha uma plataforma de trabalho
mais móvel, sem precisar desligar cada vez que for se deslocar. Em algumas configurações, o método de
suspensão usado pelo sistema pode casar problemas, travando o ambiente gráfico ou mesmo todo o sistema
ao abrir novamente a tampa. Uma solução nesses casos é suspender manualmente alterando o estado no
próprio kernel, usando o comando:

# echo mem >/sys/power/state

Este comando só funciona se executado diretamente como root (use "sudo su" para logar-se como
root no Ubuntu). Usando o sudo o sistema não dá permissão para escrita usando o echo, cat, etc. diretamente
em arquivos do sistema, fazendo com que o comando não funciona. Se você quiser usá-lo em algum script
onde prefira usar o sudo, uma opção seria primeiro abrir as permissões do arquivo e em seguida executar o
comando como usuário normal, como em:

358
#!/bin/sh
# dormir.sh: Coloca o sistema para dormir

sudo chmod 666 /sys/power/state


echo mem >/sys/power/state

As configurações de teclado escondem alguns segredos. Clicando no "Configurações de layout >


Opções", você tem acesso à uma série de opções ocultas para o comportamento do teclado, incluindo opções
para desativar ou mudar o comportamento do Caps Lock (você pode usá-lo como uma segunda tecla Super,
por exemplo), trocá-lo de posição com a tecla Ctrl, alterar o layout do teclado numérico, e até mesmo ativar o
uso do Ctrl+Alt+Backspace para reiniciar o X, que vem desativado no Ubuntu:

A configuração dos aplicativos padrão e das ações para a inserção de diferentes tipos de mídia (abrir
na pasta ou abrir com um aplicativo, por exemplo) está escondida na seção "Detalhes", que lista também
detalhes básicos sobre o sistema.

As versões recentes do Ubuntu incluem também um utilitário de privacidade, que permite apagar de
uma vez os registros de atividade e logs da maioria dos aplicativos, levando o "apagar o histórico" do
navegador a um outro nível, englobando agora todo o sistema. Ele também oferece um ajuste detalhado das
atividades que serão logadas, permitindo que você elimine o registro de atividades para os arquivos de vídeo e
áudio exibidos, por exemplo.

O "Cópia de segurança" oferece um gerenciador de backup, que permite salvar pastas específicas em
um servidor SSH, WebDAV, FTP ou em um compartilhamento do Windows, bem como em um outro HD
ou partição ou no Ubuntu One. As cópias de segurança são realizadas dentro de um período especificado e
cópias antigas são automaticamente deletadas conforme não existe mais espaço disponível no destino.

Configuração da rede

A configuração da rede continua sendo feita através do bom e velho NetworkManager, disfarçado
agora de applet do Unity:

359
O NetworkManager surgiu ainda na década passada, como um utilitário de configuração de rede de
"nova geração", que utiliza as informações coletadas pelo HAL para detectar as interfaces que estão
disponíveis, oferecendo um menu de opções que permite que você se conecte a redes wireless, redes cabeadas
e até mesmo a conexões 3G ou ADSL/PPPoE, alternando entre as redes disponíveis de maneira bastante
prática.

Ao ativar o transmissor da rede wireless, ele detecta as redes disponíveis e mostra a lista através do
applet ao lado do relógio. Ao se conectar a uma rede protegida, ele se oferece para salvar a passphrase e
guarda a configuração, passando a se conectar à rede automaticamente quando você estiver dentro da área de
cobertura, assim como seria de se esperar.

Ao plugar um cabo de rede, ele chaveia automaticamente da rede wireless para a rede cabeada,
obtendo a configuração via DHCP. Desconectando o cabo de rede, ele volta a tentar se conectar a uma das
redes wireless disponíveis, e assim por diante.

Por default, ele tenta configurar todas as conexões via DHCP (e desativa a conexão caso o DHCP não
esteja disponível, ou o servidor esteja fora do ar), mas você pode também configurar os endereços
manualmente, acessando as propriedades da interface, clicando com o botão direito sobre o applet e
acessando o "Editar conexões":

Desde o Ubuntu 8.10, ele oferece também suporte a modems ADSL configurados em modo bridge
(conexão via PPPoE) e até mesmo a conexão com VPNs, oferecendo uma solução de conectividade bastante
completa. No caso das conexões ADSL, existe também a opção de usar o clássico pppoeconf ("sudo

360
pppoeconf" no terminal), que é o mesmo assistente de configuração usado em outras distribuições derivadas
do Debian.

Está disponível também o suporte a conexões 3G, que podem ser configuradas manualmente ou
através de um assistente:

As conexões 3G se comportam de forma muito similar às antigas conexões dial-up, incluindo um


número de discagem, login de usuário e APN (que funciona como uma espécie de gateway padrão). Existem
valores padronizados para cada operadora, por isso o assistente não tem problemas em configurar a conexão
a partir da indicação da operadora usada. A questão central é que o modem usado precisa ter suporte no
Linux. Atualmente, a maior parte dos modems USB (com exceção de alguns modelos recentes) e também
celulares da Nokia (conectados ao PC em modo PC Suite) e outros que suportam o uso como modem USB
são diretamente suportados pelo sistema, através do módulo usbserial, mas ainda existem casos em que você
precisa adicionar uma regra específica, ou mesmo instalar algum módulo ou utilitário para ativar o suporte.
Vale notar que esta opção se destina apenas a modems USB e telefones ligados através da porta USB. No
caso dos mobile hotspots, a conexão é feita diretamente, já que eles se comportam como pontos de acesso
Wi-Fi

Embora tenha sido criticado em suas primeiras versões, devido a problemas diversos, o
NetworkManager cresceu e se tornou uma solução bastante estável. De qualquer forma, o uso do
NetworkManager não impede que você configure a rede manualmente caso desejado. Para isso, basta
adicionar a configuração da rede no arquivo "/etc/network/interfaces". O NetworkManager monitora a
configuração do arquivo e deixa de monitorar interfaces especificadas manualmente nele.

Por padrão, o arquivo inclui referência apenas à interface de loopback, permitindo que o
NetworkManager monitore as demais interfaces:

auto lo
iface lo inet loopback
Ao adicionar uma configuração manual de rede dentro do arquivo, o sistema passa a usar a
configuração especificada, desativando o uso do NetworkManager. Essa é uma boa solução se você usa um
desktop conectado a uma rede cabeada e não tem necessidade de ficar alternando entre várias redes. Um
exemplo de configuração seria:

auto lo eth0
iface lo inet loopback

iface eth0 inet static


address 192.168.1.23
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Se você estiver usando uma placa wireless, a configuração manual é feita em dois passos. O primeiro é
gerar o arquivo de configuração do wpa_supplicant, usando o wpa_passphrase, especificando o nome da rede
(ex: rede) e a passphrase de acesso (ex: 123456), como em:

361
# wpa_passphrase rede 123456 > /etc/wpa_supplicant.conf

Assim como em outros comandos que escrevem diretamente em arquivos, ele precisa ser executado
diretamente como root, não com o sudo.

Com o arquivo de configuração gerado, falta apenas a configuração no arquivo


"/etc/network/interfaces". A configuração é a mesma que usamos para placas cabeadas, com a adição de
duas novas linhas, que ativam o uso do wpa_supplicant e indicam o arquivo de configuração que será usado,
como em:

auto lo wlan0
iface lo inet loopback

iface wlan0 inet static


address 192.168.1.23
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
Edite também o arquivo "/etc/resolv.conf", adicionando os endereços dos servidores DNS (um por
linha), como em:

nameserver 208.67.222.222
nameserver 208.67.220.220
Se mudar de ideia, basta desfazer as alterações e o NetworkManager voltará a gerenciar as interfaces.

O NetworkManager roda como um serviço de sistema, e não como um aplicativo. É por isso que
você não consegue desabilitá-lo diretamente através do ambiente gráfico. O ícone que aparece ao lado do
relógio é na verdade uma instância do "nm-applet", um pequeno utilitário destinado apenas a mostrar as redes
disponíveis e permitir que você altere a configuração.

Para realmente desativar o NetworkManager, é necessário parar diretamente o serviço, usando o


comando "stop network-manager " e em seguida editar ou remover o arquivo "/etc/init/network-
manager.conf", para que ele deixe de ser inicializado automaticamente durante o boot (veja mais detalhes no
tópico sobre a configuração do Upstart mais adiante). Entretanto, isso é desnecessário na maior parte dos
casos, uma vez que você pode desativá-lo simplesmente especificando a configuração de rede no
"/etc/network/interfaces".

Em versões antigas do Ubuntu, que ainda não utilizavam o Upstart, o comando para
desativar o NetworkManager era o "/etc/init.d/NetworkManager stop" (para o serviço
temporariamente) ou o "update-rc.d NetworkManager remove" (para desativar em definitivo,
fazendo com que ele deixe de ser carregado durante o boot). Em versões muito antigas, anteriores
ao 7.04, o comando era o "/etc/dbus-1/event.d/25NetworkManager stop". Nelas, a interface de
configuração manual era também bem diferente e as opções para configurar conexões ADSL,
modems 3G e VPNs ainda não estavam disponíveis.

Concluindo, temos também a questão do Ndiswrapper que, apesar da evolução dos drivers open-
source, ainda é necessário para ativar algumas placas wireless. Se você está chegando agora, o Ndiswrapper é
um software derivado do Wine, que permite ativar placas wireless que não possuem drivers para Linux,
utilizando os drivers do Windows XP. Ele trabalha convertendo as chamadas NDIS (a interface para drivers
de rede utilizada pelo Windows) em chamadas entendidas pelo kernel Linux, de maneira que a placa possa ser
usada pelo sistema.

Para usá-lo, é necessário instalar o pacote "ndiswrapper-utils-1.9" (o "1.9" é o número da versão, que
pode eventualmente mudar em edições futuras do Ubuntu), juntamente com o ndisgtk, que é a interface para
gerenciar os drivers:

362
$ sudo apt-get install ndiswrapper-utils-1.9 ndisgtk

Se, por acaso, você precisar baixar os pacotes a partir de outro PC (afinal, sem uma conexão de rede,
você não tem como instalar os pacotes via apt-get), você pode baixar os pacotes "ndiswrapper-common",
"ndiswrapper-utils-1.9" e "ndisgtk" referentes à versão do Ubuntu em uso no http://packages.ubuntu.com/ e
instalá-los usando o "dpkg -i".

Depois de instalados os pacotes, é criado o "Sistema > Administração > Drivers Windows para placas
de rede sem fio". Dentro dele, basta clicar no "Instalar novo driver" e indicar a localização do arquivo .inf
(como em "neti2220.inf") dentro da pasta com os drivers do Windows, que devem ter sido previamente
descompactados.

Se o led da placa acendeu ao carregar o driver, experimente configurá-la da forma usual, utilizando o
NetworkManager. Ao ser ativada através do Ndiswrapper, a placa wireless é 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.

Usando múltiplos monitores

Antigamente, configurar múltiplos monitores ou mesmo ajustar manualmente a configuração da tela


exigia a edição manual do "/etc/X11/x11.conf", uma tarefa ingrata, especialmente para novos usuários.
Atualmente entretanto as coisas são bem mais simples, já que o sistema é capaz de identificar
automaticamente a resolução nativa do monitor via DDC e a configuração é automatizada por utilitários
como o Gnome Control Center:

363
Além de permitir ajustar a resolução, ele oferece também a opção de girar a tela, aproveitando as bases
rotativas encontradas em alguns monitores. Usar dois ou três monitores wide acaba não sendo inteiramente
confortável, já que seu desktop fica muito largo, mas combinar um monitor wide, com outro monitor
instalado na vertical pode ser o ideal. Esta opção é útil também em tablets e notebooks conversíveis.

Ele suporta também a configuração de várias telas, permitindo clonar (como faria no caso de um
projetor) ou estender o desktop. Além da clássica combinação de uma placa de vídeo dual-head ou de duas
placas de vídeo e dois monitores em um desktop, ele suporta também configurações menos comuns, como o
uso de três ou mais monitores, ou da combinação do LCD com um monitor externo conectado em um
notebook, fazendo um bom trabalho ao detectar as telas e permitir que você ajuste as resoluções e posições
relativas de cada um:

364
Diferente de modelos antigos, onde a saída VGA permitia apenas clonar a imagem do LCD, a grande
maioria dos notebooks atuais incluem controladores independentes, que permitem usar a saída VGA para a
conexão de um segundo monitor. Isso permite que você use qualquer monitor com saída VGA que tiver
disponível como segundo monitor do notebook, sem precisar de dock-station ou de um monitor USB. Como
de praxe, também é possível usar a saída HDMI ou Mini DisplayPort, que devem substituir completamente as
velhas saídas VGA ao longo dos próximos anos.

A opção "Sticy Edges" cria uma leve resistência à passagem do mouse nas bordas da tela, permitindo
que você posicione janelas e clique em botões próximos à borda da tela sem que o cursor do mouse passe
inadvertidamente para o outro monitor. Por outro lado ela torna o uso de múltiplos monitores menos
confortável, já que torna a circulação do mouse entre as telas menos fluída. A maioria acaba preferindo deixá-
la desativada.

O gnome-panel é capaz de configurar o vídeo em conjunto com uma grande variedade de drivers,
incluindo os drivers open-source para placas nVidia e AMD. Entretanto, caso você opte por utilizar os
drivers proprietários da nVidia, a configuração deve ser feita através do nvidia-setting incluído no pacote.
Basta chamá-lo via terminal, como root:

Configurando o vídeo manualmente: Para quem, apesar de toda a automatização prefere ajustar
manualmente a configuração do vídeo, o caminho deixou de ser o arquivo /etc/X11/xorg.conf, que sequer
está presente na grande maioria das distribuições atuais. No lugar dele, passamos a usar o xrandr e o cvt, dois
utilitários de linha de comando que listam as resoluções suportadas e permitem defini-las a partir do próprio
console.

O primeiro passo é rodar o comando xrandr em um terminal. Ele retorna a lista das interfaces
disponíveis, incluindo detalhes sobre os monitores e resoluções suportados por eles, como em:

Screen 0: minimum 320 x 200, current 2646 x 1024, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm

1366x768 60.0*+ 40.1


1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9

VGA1 connected 1280x1024+1366+0 (normal left inverted right x axis y axis) 338mm x 270mm

1280x1024 60.0*+ 75.0


1152x864 75.0
1024x768 75.1 75.0 60.0

365
832x624 74.6
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1

HDMI1 disconnected (normal left inverted right x axis y axis)


DP1 disconnected (normal left inverted right x axis y axis)
No meu caso estou usando um notebook que oferece uma saída VGA, combinada com uma saída
HDMI (o que em teoria me permitiria usar até três telas, incluindo o LCD) e o barramento LVDS usado pelo
LCD. Veja que o chipset suporta também uma saída DisplayPort (DP1) que não veio habilitada neste
modelo.

No caso do "LVDS1" não existe o que configurar, já que ele já está operando aos 1366x768 nativos,
mas podemos mexer um pouco na configuração do monitor plugado na porta "VGA1". Veja que ele suporta
várias resoluções, de 720x400 a 1280x1024, e em algumas resoluções você tem opções de taxas de atualização,
como no caso dos 1024x768, onde você pode usar 75.1 Hz, 75.0 Hz ou 60.0 Hz. Em um antigo monitor
CRT você usaria sempre o maior refresh possível, mas em um monitor LCD isso não é muito importante, já
que de qualquer forma não existe flicker.

Identificado o monitor que você deseja configurar, o próximo passo é gerar a configuração referente à
resolução e taxa de atualização que deseja usar, dentre as suportadas pelo monitor, o que é feito usando o
comando "cvt". O uso básico é chamá-lo especificando a resolução horizontal, resolução vertical e a taxa de
atualização desejadas. Para usar 1024x768 com uma taxa de atualização de 60 Hz, por exemplo, o comando
seria:

$ cvt 1024 768 60.0

Isso devolverá uma linha de configuração, como esta a seguir:

Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
Com a linha de configuração em mãos, podemos ativar a configuração usando o xrandr, o que é feito
em três passos.

O primeiro é executar o comando "xrandr --newmode", seguido pela linha de configuração devolvida
pelo cvt (excluindo o "Modeline"), como em:

$ xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync

Veja que neste caso, o "1024x768_60.00" é um nome para a configuração (que usaremos no comando
seguinte), enquanto o "63.50" detalha a configuração relacionada a ele. Você pode alterar o nome entre aspas
se quiser, mas em geral deixamos como está, para deixar claro a qual resolução e refresh esta configuração se
refere.

O segundo é usar o "xrandr --addmode", incluindo a saída que será configurada (VGA1 no exemplo)
e o nome da configuração (a parte entre aspas), como em:

$ xrandr --addmode VGA1 "1024x768_60.00"

O terceiro passo é ativar a configuração, usando o "xrandr --output", seguido pela saída e o nome do
modo, como especificado no comando anterior:

$ xrandr --output VGA1 --mode "1024x768_60.00"

Este comando ativa a configuração imediatamente, o que permite que você já teste o resultado. Em
casos em que você tem apenas um monitor e acabou ativando uma configuração errada, que deixou a tela
fora de operação, basta chavear para um dos terminais de texto (Ctrl+Alt+F1) e refazer a configuração, ou
simplesmente reiniciar para que a configuração anterior volte a ser usada.

Veja que estes mesmos passos podem ser usados para ajustar a configuração de qualquer monitor
plugado às saídas, desde o próprio LCD do notebook (a saída LVDS1) até uma TV plugada na porta HDMI1.

366
Se quisesse usar 1366x768 com 60 Hz em uma HDTV plugada na saída HDMI1, por exemplo, os
comandos seriam:

$ cvt 1366 768 60.0

Modeline "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

$ xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

$ xrandr --addmode HDMI1 "1368x768_60.00"

$ xrandr --output HDMI1 --mode "1368x768_60.00"

Continuando, você pode usar o xrandr para definir qual será a tela principal e definir se ela está à
esquerda (left-of) ou à direita (right-of) da segunda tela. Se a tela primária é a LVDS1 e ela está à esquerda da
VGA1 (a tela secundária), por exemplo, os comandos seriam:

$ xrandr --output LVDS1 --primary

$ xrandr --output LVDS1 --right-of VGA1

Para fazer com que a configuração do xrandr torne-se persistente, é preciso adicionar os comandos
em um script que seja executado usando seu próprio login de usuário durante o boot. O local mais
apropriado é o arquivo ".xprofile" dentro do seu home, que é executado durante a abertura do ambiente
gráfico. Basta editá-lo usando um editor de texto qualquer e adicionar toda a sequência de comandos do
xrandr, como em:

xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
xrandr --addmode VGA1 "1024x768_60.00"
xrandr --output VGA1 --mode "1024x768_60.00"
xrandr --output LVDS1 --primary
xrandr --output LVDS1 --right-of VGA1

CONFIGURANDO O GNOME

O Ubuntu utiliza uma configuração clássica do GNOME, com duas barras. A barra superior, com o
iniciar e os atalhos para os programas, é inspirada no Mac OS clássico, enquanto a barra inferior, com os
botões das janelas ativas, acabou sendo uma evolução natural do conceito, já que não apenas no Windows,
mas na maioria dos outros sistemas, o chaveamento entre os programas abertos é feito através de botões na
barra inferior:

367
Este sistema com duas barras permite usar mais atalhos para programas e gadgets, já que você tem
uma barra reservada apenas para eles. O problema é que as duas barras reduzem o espaço útil, o que é um
problema sobretudo nas telas widescreen, onde temos apenas 600 ou 800 pixels de resolução vertical.

Naturalmente, essa configuração padrão é apenas uma sugestão, que você pode personalizar a gosto.
Uma configuração comum é simplesmente mover a barra superior para a base da tela, mantendo as duas
barras:

Para isso, basta destravar a barra (clicando com o botão direito sobre ela e usando a opção "Permitir
movimento do painel") e, na janela de propriedades, alterar a orientação de superior para inferior:

Você pode também eliminar completamente a segunda barra, transferindo todos os applets que deseja
usar para ela e, em seguida, removendo a barra que não será mais usada. Essa é uma configuração muito
comum, pois aumenta a área útil da tela.

368
Uma terceira opção é usar a barra na vertical, uma solução que pode soar estranha à primeira vista,
mas que acaba fazendo sentido em monitores wide, onde você tem muito espaço horizontal, mas em
compensação pouco espaço vertical. Se decidir testar, aumente o tamanho da barra para pelo menos 30
pixels, para que ela exiba os ícones dos aplicativos:

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. A barra em si é apenas um espaço para incluir os applets que você usa:

Os applets básicos são o "Lista de Janelas" (que corresponde à barra de tarefas), o "Barra de menu"
(que corresponde ao conjunto dos menus "Aplicativos", "Locais" e "Sistema"), a lixeira, o monitor de carga
de bateria (caso esteja usando um notebook), o botão "Mostrar área de trabalho" e o relógio.

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
acessórios diversos.

Clicando sobre qualquer um dos componentes adicionados à barra de tarefas, você tem acesso a mais
um menu, que permite mover ou editar as propriedades. No caso do applet para medir a frequência do
processador, por exemplo, é possível fazer com que seja exibido apenas o ícone (em vez do ícone e o texto),
de forma de ele ocupe menos espaço na barra de tarefas. O mesmo vale para o relógio, que pode ser ajustado
para mostrar apenas a hora, em vez de mostrar a hora, a data, a previsão do tempo e a pia da cozinha:

369
Outro applet interessante é a gaveta, que permite adicionar sub-menus, contendo ícones adicionais.
Ela é bastante prática para agrupar ícones de aplicativos que você usa com frequência, sem precisar deixar
todos visíveis na barra principal. Com a gaveta você pode ter vários ícones no espaço de um:

Diferente do KDE (e também do Windows), onde as opções de configuração são exibidas dentro do
menu iniciar, o GNOME utiliza três menus separados: "Aplicativos" (o bom e velho iniciar), "Locais"
(atalhos para as pastas, partições e compartilhamentos de rede) e "Sistema", que agrupa as opções de
configuração.

Essa divisão foi criada para facilitar a organização, seguindo a filosofia de dividir as opções de acordo
com a função, mas ela tem também um ponto ruim, que é o fato de consumir mais espaço na barra:

Nas primeiras versões, o Ubuntu não oferecia nenhum utilitário para editar o menu iniciar (o que
levou ao aparecimento de diversas opções de editores), mas esse problema foi logo resolvido. O editor de
menus pode ser acessado através do "Sistema > Preferências > Menu Principal", ou simplesmente clicando
com o botão direito sobre o "Aplicativos".

Uma característica digna de nota é que você pode selecionar os ícones que serão exibidos, marcando-
os ou desmarcando-os na lista. Isso permite remover aplicativos que não usa do menu, sem precisar
desinstalá-los nem deletar os ícones. Por default, o sistema oculta os ícones de diversos aplicativos, mas você
pode ativá-los rapidamente.

Uma função bastante útil, que vem desativada por padrão (pelo menos até o Ubuntu 8.10), é o
"Sistema > Centro de Controle", um utilitário que agrupa as funções que estão originalmente espalhadas pelo
"Sistema Preferências" e o "Sistema Administração" em uma única janela:

370
Como de praxe, você pode também usar o editor de menus para criar novas pastas e novos atalhos,
reorganizando o menu como desejar. Você pode também criar atalhos para comandos que usa com
frequência, como, por exemplo, comandos do rdesktop para acessar servidores remotos, a fim de executá-los
com um único clique: basta usar a opção "Aplicativo de terminal" no "Tipo". Você pode também criar
atalhos para pastas, usando a opção "Localização":

Assim como em outros utilitários do GNOME, o editor de menus não oferece um botão "aplicar".
Todas as alterações são simplesmente salvas diretamente nos respectivos arquivos de configuração, conforme
alteradas. Por um lado isso torna a configuração mais dinâmica, já que você não precisa se lembrar de aplicar
as configurações antes de sair, mas por outro torna mais fácil cometer erros. No caso do editor de menus
existe um botão "Reverter", mas outros utilitários simplesmente esperam que você se lembre o que alterou
caso queira voltar à configuração anterior.

Se em suas andanças pelos atalhos você acabar se deparando com um ícone para o "Acesso Universal"
ao lado do relógio, e estiver se perguntando como se livrar dele (uma vez que ele não oferece uma opção de
desativação), abra o gnome-keyboard-properties e desmarque a opção "Acessibilidade > Recursos de
acessibilidade podem ser alternados com atalhos de teclado".

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

371
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
(permitindo acessar as funções de abrir, salvar, etc. sem usar o mouse). 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.

Configuração das fontes

No Windows, existe apenas uma opção com relação à configuração de exibição das fontes: você pode
usar o sistema tradicional, ou ativar o ClearType, que suaviza o contorno das fontes, melhorando a
legibilidade. No Linux, a configuração é um pouco mais complexa, mas, em compensação, o sistema oferece
um nível maior de personalização.

No caso dos aplicativos do GNOME, a configuração é feita através do "Sistema > Preferências >
Aparência > Fontes". A primeira escolha é qual tipo de fonte utilizar. As fontes da família DejaVu ou da
Bitstream Vera são uma boa opção para começar, pois são bastante legíveis, lembrando um pouco as fontes
da família Verdana. Em seguida, temos a configuração da suavização de fontes, que funciona de maneira
similar ao TrueType do Windows.

A opção mais elaborada e a mais indicada para a maioria dos casos é a "Suavização de subpixel
(LCD)", que utiliza variações na intensidade de cor nas cores primárias dos pixels na borda das fontes para
criar um detalhamento ultra-fino.

A desvantagem de utilizar a suavização de subpixel é que as bordas das fontes ficam com pontos
coloridos (um efeito que é visível sobretudo em monitores de LCD). Para amenizar o problema, clique no
"Detalhes" e marque a opção "Contorno > Discreto", que suaviza o uso do efeito, deixando a suavização no
ponto ideal:

A opção "Ordem de subpixel" indica a disposição física das cores primárias dentro dos pixels no
monitor, uma informação que é necessária para que o sistema possa aplicar a suavização corretamente. O
"RGB" é o default, usado quando você mantém o monitor na orientação regular. Se, por acaso, você girar o
monitor (para usá-lo em modo de página), mude para o "VRGB".

372
O maior problema é que essa configuração é aplicada apenas aos aplicativos do GNOME. Se você
estiver usando alguns aplicativos do KDE, precisa alterar a configuração de fontes para eles de forma
separada através do "systemsettings", que pode ser instalado usando o gerenciador de pacotes.

Ele provavelmente não estará disponível no menu do GNOME, mas basta chamá-lo através do
terminal. Acesse o "Aparência > Tipos de Letra" e configure as fontes da mesma maneira que no GNOME:

Como pode ver, este é um exemplo de inconveniente derivado da separação entre o KDE e o
GNOME, que faz com que cada ambiente possua uma configuração separada e seja difícil manter o visual do
sistema consistente ao misturar aplicativos das duas famílias.

Continuando, você pode também instalar novas fontes criando a pasta ".fonts" dentro do seu
diretório home (mkdir ~/.fonts) e copiando os arquivos .ttf para ela. As fontes devem ser atualizadas
automaticamente pouco depois de feita a cópia, mas você pode forçar a atualização usando o comando "fc-
cache ~/.fonts". Se preferir fazer uma instalação a nível de sistema, copie os arquivos para dentro da pasta
"/usr/share/fonts/".

Este processo de cópia manual é prático quando você quer aproveitar fontes de uma instalação do
Windows, por exemplo, já que basta copiar os arquivos dentro da pasta "C:\Windows\fonts". Isso acaba
sendo importante para artistas gráficos e para quem trabalha com aplicativos de editoração, onde as fontes
são uma ferramenta de trabalho.

Se, por outro lado, você quer apenas um conjunto básico de fontes para ajudar na visualização de
páginas web e de documentos do MS Office, pode instalar o pacote "msttcorefonts", que baixa um pacote
com fontes popularmente usadas, incluindo as fontes da família Times, Verdana e Arial:

$ sudo apt-get install msttcorefonts

Fontes fixas no Firefox: Se você tem o hábito de ler bastante no PC, muito provavelmente tem
preferência por alguma fonte específica, como a Verdana ou a Bitstream Vera Sans. Entretanto, ao navegar, o
Firefox exibe as fontes especificadas por cada site, que nem sempre são as mais legíveis. Você pode evitar
essa variação, configurando o Firefox para utilizar uma fonte fixa, ignorando as declarações de fontes
presentes nas páginas.

Para isso, acesse o "Editar > Preferências > Conteúdo > Fontes e Cores > Avançado", defina as
fontes que prefere usar e desmarque a opção "Páginas podem usar outras fontes":

373
O ajuste de fonte com serifa e sem serifa é usado de acordo com o declarado na página. Fontes sem
serifa (como a Verdana) são mais legíveis e são por isso as mais usadas na web, enquanto as fontes com serifa
(como a Times New Roman) são mais usadas em meios impressos.

O Firefox utiliza cada tipo de acordo com a indicação nas páginas, mas você pode simplesmente
especificar a mesma fonte nos dois campos. As fontes monoespaçadas são muito usadas para exibir trechos
de código (já que nelas todos os caracteres são alinhados) por isso é interessante indicar uma fonte com essa
característica, como a Bitstream Vera Sans Mono.

Como pode imaginar, as fontes fixas farão com que alguns sites (sobretudo as páginas iniciais de
alguns portais) não sejam exibidos corretamente, mas este é um preço pequeno a pagar. :)

Usando o gconf-editor

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 aplicativos que facilitam o uso e a
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, enquanto o KDE usa a Qt. O KDE segue uma filosofia "mais é
mais", onde temos um ambiente com muitas opções de configuração, 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, o que torna o uso do sistema mais simples, agradando aos
iniciantes.

As limitações da filosofia do KDE se tornam óbvias quando você começa a encontrar opções com o
mesmo nome (mas que servem para coisas diferentes) dentro dos menus e a se perder no meio das opções do
Systemsettings, enquanto no caso do GNOME as limitações surgem quando você quer fazer algo e percebe
que simplesmente não existe uma opção para isso.

O GNOME oferece um conjunto relativamente grande de utilitários de configuração, disponíveis no


"Sistema > Preferências", que agrupa as opções visuais e outras configurações particulares, que são
armazenadas em arquivos no seu diretório home e podem ser alteradas sem usar o sudo ou o root.

374
As funções consideradas mais "avançadas" (como exibir um ícone da lixeira no desktop, ou reduzir o
tamanho dos botões no Nautilus...) ficam disponíveis através do "gconf-editor", uma espécie de "editor de
registro", que permite alterar as opções e variáveis incluídas nos arquivos de configuração manualmente:

Ele não é um aplicativo muito amigável, pois a ideia é que você o use apenas para alterar opções
específicas, citadas em dicas ou em tutoriais. Apesar disso, nada impede que você saia fuçando nas opções,
para descobrir o que cada uma faz. A dica nesse caso é que você crie uma nova conta de usuário e se logue
com ele na hora de fuçar, evitando assim bagunçar suas configurações.

O gconf-editor possui também uma interface de linha de comando, que permite alterar as
configurações diretamente via terminal. Naturalmente, ela não é uma maneira muito produtiva de configurar
seu desktop, mas acaba sendo bastante útil para uso em scripts e para o desenvolvimento de ferramentas de
configuração. Você pode ler sobre os parâmetros suportados no: http://library.gnome.org/admin/system-
admin-guide/stable/gconf-6.html.en

Dicas para o Nautilus

O Nautilus é o gerenciador de arquivos default do GNOME. Assim como outros componentes do


GNOME, ele oferece uma interface bastante simples, que enfatiza a usabilidade sobre o volume de funções.
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, Opera ou outro
navegador dedicado.

Você notará que, mesmo como gerenciador de arquivos, ele oferece uma quantidade muito menor de
opções e de 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 nesse caso.

Um bom exemplo disso é a barra de exibição de endereços. Por default, o Nautilus exibe a localização
na forma de um conjunto de botões clicáveis, o que impede que você digite endereços diretamente, como em
outros gerenciadores. Entretanto, basta clicar no ícone da folha do lado esquerdo para ter acesso à barra em
texto. Ele também não exibe os diretórios e arquivos de configuração ocultos por default, mas você pode
ativar a exibição marcando o "Ver > Mostrar arquivos ocultos".

375
Outro exemplo é o recurso de dividir a janela disponível no Konqueror (Janela > Dividir a janela em
topo/base), que permite criar dois quadros independentes, que facilitam a cópia de arquivos (permitindo que
você simplesmente arraste os arquivos de um quadro para o outro.

No caso do Nautilus, a opção de divisão não está disponível, mas você pode copiar arquivos de uma
pasta para outra (sem precisar abrir duas janelas) abrindo uma segunda aba (Ctrl+T) e arrastando os arquivos
de uma aba para a outra. O suporte a abas está disponível a partir da versão 2.24.

O default do Nautilus é mover os arquivos quando o destino é uma pasta na mesma partição e copiar
quando o destino é em uma partição diferente (como ao copiar arquivos para um pendrive, por exemplo),
mas você pode ter um controle melhor usando o Ctrl+C e o Ctrl+V para copiar e colar, deletando os
arquivos que não desejar preservar após a cópia:

Por default, o Nautilus usa ícones grandes com legendas em texto, que desperdiçam bastante espaço
da tela. Você pode mudá-los para ícones menores, sem legendas, como no screenshot anterior, acessando o
gconf-editor e alterando o valor da chave "/desktop/gnome/interface/toolbar_style" de "both" para "icons":

376
Outras opções relacionadas ao Nautilus que você pode querer alterar são:

/apps/nautilus/preferences/always_use_browser: Desmarcando essa opção, o Nautilus passa a abrir


janelas em modo simplificado e abrir cada nova pasta em uma nova janela, em vez de usar o modo de
navegação. Este modo foi batizado de "Nautilus spatial browsing", e chegou a ser usado por default em
versões antigas do GNOME (e também em versões do Fedora), com reações mistas.

/apps/nautilus/preferences/always_use_location_entry: Por default, o Nautilus mostra ícones na


barra de localização e você precisa clicar no ícone da folha à esquerda para que ele exiba a localização em
texto. Ativando esta opção, o default se inverte.

/apps/nautilus/preferences/enable_delete: Como uma proteção contra a perda acidental de arquivos,


o Nautilus não mostra uma opção para apagar arquivos diretamente por default, obrigando o usuário a
primeiro mover os arquivos para a lixeira, para só então conseguir deletá-los. Essa opção faz com que a opção
de deletar diretamente seja exibida no menu.

/apps/nautilus/icon_view/thumbnail_size: Uma boa forma de reduzir o uso de memória do


GNOME é desativar a exibição das miniaturas para arquivos (sobretudo para os arquivos de vídeo) nas
preferências. Se, por outro lado, você gosta das miniaturas (elas são extremamente úteis em pastas com várias
imagens, por exemplo), pode ajustar o tamanho default através dessa opção, especificando a largura desejada
em pixels.

Ícones no desktop: Por algum motivo, muitos desenvolvedores possuem uma espécie de fetiche por
desktops sem ícones, o que talvez tenha algo a ver com o fato do desktop do Ubuntu exibir apenas os ícones
de dispositivos. Se você prefere ver os ícones do computador, home e da lixeira, pode ativá-los através das
opções "/apps/nautilus/desktop/trash_icon_visible", "/apps/nautilus/desktop/home_icon_visible" e
"/apps/nautilus/desktop/computer_icon_visible".

Outra dica importante é que o Nautilus é também capaz de acessar compartilhamentos e pastas
remotas através de diversos protocolos diferentes.

Um dos melhores exemplos da facilidade é o "sftp://", que permite acessar arquivos em outras
máquinas Linux que estejam com o servidor SSH (você pode instalá-lo através do pacote "openssh-server")
ativado. Basta digitar "sftp://" na barra, seguido pelo login de acesso e o endereço da outra máquina (pode
ser o IP, ou o nome de domínio), como em "sftp://gdh@192.168.1.23":

377
Os arquivos da outra máquina são exibidos como se fossem arquivos locais, permitindo que você os
edite, copie, cole, ou até mesmo arraste arquivos de uma janela para a outra. A principal dica é ajustar as
opções de visualização no "Editar > Preferências > Visualização" para que ele exiba as miniaturas apenas
para arquivos locais. Usando o "Sempre" ele tenta exibir as miniaturas também nas pastas remotas, o que
torna tudo muito mais lento e consome muita banda, uma vez que ele precisa ler cada arquivo antes de gerar a
miniatura.

O sistema funciona muito bem também para acessar máquinas via Internet (muitos administradores
de sistemas o usam para transferir e editar arquivos de configuração em servidores remotos, por exemplo),
oferecendo uma opção bastante prática e segura.

Ao acessar um endereço pela primeira vez, você tem a opção de salvar a senha no chaveiro, para que
não precise digitá-la novamente a cada conexão. Outra dica é salvar o endereço como favorito, para agilizar o
acesso das próximas vezes.

Você pode também acessar compartilhamentos do Windows, usando o "smb://", que tem uma
função similar. Basta usá-lo indicando o nome ou endereço do servidor e o compartilhamento que será
acessado, como em "smb://servidor/arquivos" ou "smb://192.168.1.254/arquivos". Se o servidor estiver

378
configurado para aceitar logins sem senha, os arquivos são acessados diretamente, caso contrário o Nautilus
exibe um prompt pedindo o login e senha do compartilhamento.

Essa mesma função é usada pela opção "Locais > Conectar ao Servidor > Compartilhamento do
Windows", que simplesmente pergunta qual é o servidor, compartilhamento, domínio (caso usado) e o login,
fazendo o acesso usando o Nautilus.

Outros endereços que dão acesso a plugins do Nautilus são:

network:///: Mostra e acessa compartilhamentos Windows e também compartilhamentos NFS


disponíveis na rede; corresponde ao "Locais > Rede" disponível na barra. 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, juntamente com marcadores de compartilhamentos de rede que tenham sido salvos anteriormente. Ele
corresponde ao "Locais > Computador".

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 praticamente desde as primeiras
versões, acessado através desta url. Basta arrastar os arquivos que serão gravados para dentro da janela e clicar
no "Gravar no disco". Nas versões recentes, o GNOME ganhou finalmente um aplicativo de gravação
completo, o Brasero, que complementa o recurso de gravação do Nautilus.

Em versões anteriores, estavam disponíveis também os atalhos "fonts:///" e "themes:///", que


permitiam instalar novas fontes e definir o tema visual usado pelo sistema, mas eles foram desativados a partir
do Ubuntu 8.04. A instalação de novas fontes passou a ser feita adicionando os arquivos na pasta
"/usr/share/fonts", ou na pasta ".fonts" dentro do diretório home e o gerenciamento dos temas através do
"Sistema > Preferências > Aparência".

Concluindo, o Nautilus pode ser também expandido através de scripts, de maneira similar aos
servicemenus usados no Konqueror. Os scripts nada mais são do que pequenos scripts em shell, que
permitem executar funções diversas com determinados tipos de arquivos, adicionando, por exemplo, um
menu de conversão para arquivos de vídeo ou uma opção de montar arquivos ISO para visualizar seu
conteúdo, sem precisar gravar o CD.

Para serem reconhecidos pelo Nautilus, os scripts devem ser colocados na pasta ".gnome2/nautilus-
scripts/", dentro do diretório home.

Múltiplas áreas de trabalho

Um conceito que soa um pouco estranho para quem vem do Windows é o de usar múltiplas áreas de
trabalho. A ideia é criar ambientes separados para diferentes conjuntos de aplicativos. Isso permite que você
organize os aplicativos abertos por temas (deixar as janelas do Firefox e do OpenOffice no primeiro desktop
e as do gerenciador de arquivos no segundo, por exemplo) ou simplesmente usar os outros desktops como
uma área de escape para os aplicativos que não está usando no momento, reduzindo o congestionamento na
barra de tarefas.

Para enviar um programa aberto para outro desktop virtual, você precisa apenas clicar sobre a barra
com o botão direito e usar a opção "Mover para outro espaço de trabalho":

379
Por default, o Ubuntu utiliza dois ambientes de trabalho e você pode chavear entre entre eles usando
o applet na barra de tarefas. Acessando as preferências do applet, você pode aumentar o número de
ambientes de trabalho para até 32; o problema é que a área ocupada pelo applet cresce na mesma proporção,
fazendo com que seja inviável utilizá-lo para mais do que 3 ou 4 desktops. Ao tentar usar 16, por exemplo,
não sobra espaço para as barras dos programas :)

A melhor solução acaba sendo ajustar o número de desktops e em seguida remover o applet, passando
a chavear entre os ambientes usando o atalho de teclado, Ctrl+Alt+seta direita/seta esquerda. Se precisar
alterar a configuração posteriormente, adicione novamente o "Alternador de espaços de trabalho" ao painel.

No KDE 4, a configuração dos desktops vai no "Ambiente de trabalho > Múltiplas áreas de trabalho"
do "systemsettings" e você pode alternar entre as áreas de trabalho virtuais pressionando Ctrl + uma das
teclas de função (F1 para o primeiro desktop, F2 para o segundo, etc), como em Ctrl+F2 ou Ctrl+F1. O
applet para a barra de tarefas é o "Pager", que vem ativado por padrão no Kubuntu e pode ser adicionado
manualmente clicando sobre uma área vazia da área de trabalho e usando o "Adicionar > Mini aplicativo >
Pager".

Usando o Ubuntu Tweak

Embora o menu de opções permita alterar apenas as opções mais básicas, o GNOME é, na verdade,
um ambiente bastante personalizável. O grande problema é que a maior parte das opções estão acessíveis
apenas através do gconf-editor ou, pior, apenas através de arquivos de configuração ou de scripts.

O Ubuntu Tweak (http://ubuntu-tweak.com/) é um painel gráfico que torna muitas destas


configurações acessíveis, aumentando bastante a flexibilidade da interface. Ele é feito especialmente para o
Ubuntu e as novas versões companham os lançamentos da distribuição, o que torna a instalação bastante
simples.

A primeira opção é simplesmente baixar a última versão do pacote no http://ubuntu-


tweak.com/downloads e instalá-lo usando o dpkg, como em:

$ sudo dpkg -i ubuntu-tweak_0.4.4-1~intrepid1_all.deb

Você pode também adicionar as linhas dos repositórios, especificadas na página, no arquivo
"/etc/apt/sources.list" e instalá-lo diretamente via apt-get, usando o "apt-get update" e em seguida o "apt-get
install ubuntu-tweak".

380
A vantagem de adicionar os repositórios em vez de simplesmente instalar o pacote diretamente é que
você pode atualizá-lo posteriormente via apt-get, juntamente com os demais pacotes do sistema. Essa é
sempre a maneira mais "limpa" de instalar programas.

O pacote cria um ícone no iniciar, o "Aplicativos > Sistema > Ubuntu Tweak" e você pode também
chamá-lo via terminal, através do comando "ubuntu-tweak":

Vamos então a um resumo das opções:

Computador: É apenas um menu de informações não editáveis. Mostra informações como a versão
do kernel, versão do GNOME, processador usado, quantidade de memória instalada e outras informações
sobre o sistema.

Aplicativos: Este é um menu com funções adicionais para a instalação e o gerenciamento de pacotes,
com funções para limpar o cache do apt-get (o "Limpeza de pacotes"), editar o arquivo sources.list e, mais
interessante, um conjunto de "ícones mágicos" para instalar aplicativos adicionais, incluindo o VirtualBox,
Wine e diversos outros aplicativos pré-selecionados.

Inicialização: Os aplicativos, serviços e applets que são carregados pelo Ubuntu durante o boot podem
ser divididos em dois grupos: serviços de sistema, como o "bluetooth", "cups" e outros e componentes do
GNOME, que são carregados durante a abertura do ambiente gráfico.

Os serviços de sistema podem ser desativados através do "Sistema > Administração > Serviços", mas
não existe uma maneira prática de visualizar ou desativar os componentes que são carregados em conjunto
com o GNOME, mais um problema que o Ubuntu Tweak ajuda a resolver.

Alguns componentes que são fortes candidados a serem desativados são o "Assistência Visual",
"Tracker" (o serviço de inexação de arquivos), "blueproximity" (pode ser configurado para travar o desktop
quando você se afasta, monitorando a proximidade de um celular com Bluetooth, mas na maior parte do
tempo serve só para travar o desktop em momentos inoportunos), "Verificar por novos drivers", "Evolution
Alarm Notifier" (se você não usa a agenda do Evolution, não precisa dele), "Área de trabalho remota",
"Gerenciador Bluetooth" (ele fica ativo em background mesmo quando não existe nenhum adaptador
Bluetooth plugado) e o "GNOME Login Sound".

Área de trabalho: Ao contrário do que o nome pode sugerir, essa seção possui algumas opções bem
interessantes, que vão desde ajustes simples, como mostrar o ícone da lixeira na área de trabalho (permitindo
que você remova o applet na barra de tarefas e libere um pouco mais de espaço para as janelas abertas), até
opções para mudar o comportamento das janelas.

Pessoal: Uma das críticas de muitos contra os painéis do GNOME é que não existe uma opção para
personalizar os atalhos de teclado (a única maneira de personalizá-los é através do gconf-editor), o que é mais
uma carência suprida pelo Ubuntu Tweak. Outro facilitador interessante é o menu de edição de scripts, que
permite que você ative scripts com junções adicionais para o Nautilus (que são exibidos quando você clica

381
com o botão direito sobre os arquivos), incluindo opções para converter imagens, abrir programas como root
e assim por diante.

Você pode também adicionar novos scripts, colocando-os na pasta "/.gnome2/nautilus-scripts",


dentro do home. Você pode baixar scripts adicionais no http://g-scripts.sourceforge.net/ ou no
http://mundogeek.net/nautilus-scripts/.

Sistema: Aqui estão disponíveis opções para alterar as associações de arquivos do sistema, ativar o uso
de overburning no gravador (que permite espremer um pouco mais dados no CD ou DVD, ignorando o
limite de tamanho e gravando até o final do espaço da mídia) e outras opções relacionadas ao Nautilus. Estão
disponíveis também opções relacionadas ao gerenciamento de energia e para bloquear funções do sistema
(como os menus de salvar arquivos para o HD), entre outras.

Mais opções de configuração

Em vez de utilizar um painel de controle centralizado, como no caso do Mandriva e do OpenSUSE, o


Ubuntu simplesmente usa um conjunto de utilitários de configuração organizados nos menus "Sistema >
Preferências" e "Sistema Administração". A lista combina os utilitários oferecidos pelo GNOME (que
também estão disponíveis em outras distribuições) com algumas ferramentas próprias.

A grande diferença entre as duas seções é que, via de regra, as opções dentro do "Preferências"
alteram apenas as suas configurações de usuário, manipulando arquivos de configuração salvos dentro do
diretório home, enquanto o "Administração" agrupa as opções que alteram a configuração do sistema e são
acessadas através do sudo.

Quase tudo que falei até aqui se enquadra na primeira categoria. Antes de começar a falar sobre o
gerenciamento de pacotes e outras tarefas "administrativas", vamos a um apanhado geral sobre as outras
opções de personalização:

Aparência: Esta é a seção obrigatória, com as configurações visuais do sistema, incluindo a definição
do tema, papel de parede e a configuração dos efeitos. Uma boa medida para reduzir o uso de processamento
(que resulta em uma melhoria perceptível em máquinas com processadores lentos, como no caso dos
netbooks) é desativar os efeitos visuais. Esta seção inclui também a configuração das fontes, sobre a qual falei
no tópico anterior. Um bom lugar para baixar papéis de parede e temas adicionais é o http://www.gnome-
look.org/.

Aplicativos preferenciais: Ao contrário do que o nome sugere, essa opção (pelo menos até o GNOME
2.24) não permite ajustar as associações de arquivos, mas apenas definir os aplicativos preferidos para
algumas tarefas específicas (Navegador Web, Reprodutor de multimídia, Terminal, etc).

As associações de arquivos são definidas através do Nautilus: clicando com o botão direito sobre um
arquivo e acessando o "Propriedades > Abrir com" você tem acesso ao menu de seleção, onde pode definir o

382
aplicativo usado para abrir arquivos com a mesma extensão. Por default, ele mostra apenas os aplicativos que
são associados com a extensão de arquivo selecionada, mas você pode especificar outros manualmente:

Área de trabalho remota: Esta opção abre o Vinagre, que é o aplicativo padrão de acesso remoto nas
versões recentes do GNOME, similar à dupla Krfb e Krdc, que é usada no KDE.

Assim como diversos outros aplicativos similares, ele funciona como uma interface de configuração
para o bom e velho VNC, que é quem faz o trabalho pesado. Ao ativar o compartilhamento da tela, usuários
em outros PCs da rede poderão se conectar ao seu usando qualquer cliente VNC, incluindo, naturalmente, o
próprio cliente do Vinagre, disponível no "Aplicativos > Internet > Visualizador de Área de trabalho
remota".

Para que as conexões via Internet funcionem, é necessário configurar o modem ADSL ou o gateway
da rede para encaminhar a porta 5900 para o seu PC. Nas configurações, existe também a opção de usar uma
porta alternativa e de ativar o uso de encriptação para a conexão (o que ativa o uso de encriptação AES de
256 bits). O problema com o uso de encriptação é que ele é um recurso específico do Vinagre que, por
enquanto, não é suportado por outros clientes VNC.

Atalhos de teclado: Assim como a opção de associação de arquivos, esta opção inclui a configuração
apenas dos atalhos para funções mais comuns; as demais precisam ser definidas através do gconf-editor,
como vimos anteriormente.

Bluetooth: Se o seu PC não possui um transmissor Bluetooth, o menu permite apenas escolher entre
mostrar ou não o ícone do Bluetooth ao lado do relógio, que (sem o transmissor) não servirá para muita coisa
de qualquer forma. Ao plugar ou ativar o transmissor, entretanto, ele passa a exibir uma aba adicional, através
da qual você pode parear novos dispositivos ou definir se seu PC ficará em modo visível ou oculto. As
opções de enviar e receber arquivos, por sua vez, ficam disponíveis ao clicar com o botão direito sobre o
applet ao lado do relógio.

Para quem usa apenas o PC, o Bluetooth acaba sendo um recurso desnecessário, mas ele se torna
bastante útil quando combinado com um smartphone, permitindo transferir arquivos e fotos de forma rápida,
usar a conexão 3G com a web no PC, fazer backup dos arquivos e contatos e assim por diante, tudo sem
precisar conectar o cabo USB.

383
Usando a opção "Procurar arquivos no dispositivo", por exemplo, você pode acessar os arquivos na
memória ou no cartão diretamente, como se estivesse navegando em um compartilhamento de rede. A
velocidade de transferência não é das melhores, devido às taxas de 1 e 3 megabits suportadas pelo Bluetooth,
mas a praticidade compensa:

Controle de volume: Apesar da função ser bastante básica, essa opção esconde alguns truques.
Clicando no "Preferências" você pode ativar a exibição de controles adicionais (muitas placas possuem mais
de 20 ajustes independentes) e na aba "Chaves" estão disponíveis algumas opções adicionais, como a de ativar
ou desativar a saída do fone de ouvido. As opções disponíveis variam de acordo com a placa de som usada,
os recursos suportados pelo módulo do kernel e os recursos do servidor de som.

Criptografia e chaveiros: O GNOME utiliza o Seahorse para gerenciamento de senhas e chaves de


criptografia, permitindo que você salve senhas de acesso, passphrases e outras informações (como as chaves
de acesso de redes wireless) em um único chaveiro, protegidas por uma senha mestra. A grande observação é
que esta opção se destina apenas a gerenciar chaves PGP (usadas para encriptar e-mails). A configuração do
chaveiro do sistema vai no "Aplicativos > Acessórios > Senhas e chaves de criptografia".

Dispositivos PalmOS: Embora os Palms estejam entrando em desuso, sendo substituídos por
aparelhos mais atuais e ferramentas de sincronismo de informações e contatos via web, o bom e velho hot-
sync é ainda suportado no Linux. Essa opção dispara o assistente de configuração do GNOME Pilot, que
permite sincronizar a agenda e os e-mails do Palm em relação ao Evolution.

Gerenciamento de energia: Aqui vão as clássicas configurações de energia, incluindo o tempo de


desligamento do monitor, comportamento do botão de desligar, ajuste de brilho da tela e outras. Se você usa
um notebook, uma boa adição é o applet para ajustar a frequência do processador (botão direito sobre a barra
> Adicionar ao painel > Monitor de graduação de frequência da CPU), que permite ajustar rapidamente a
frequência de operação do processador, limitando-o à frequência mínima quando quiser aumentar a
autonomia, por exemplo.

Nas versões recentes, o Ubuntu oferece também um bom suporte ao suspender, que permite colocar
o notebook para dormir, preservando os dados da memória RAM mas desligando todos os demais
componentes. O suspender é um recurso importante para quem passa o dia em trânsito e precisa fazer tarefas
rápidas repetidamente, pois evita ter que ligar e desligar o notebook (esperando os clássicos dois minutos a
cada boot) a todo momento. A maioria dos notebooks possuem uma autonomia superior a 36 horas em
modo de suspensão.

A principal observação é que todos estes recursos dependem que o suporte a ACPI esteja ativo, o que
deixa de fora os PCs e notebooks com placas problemáticas, onde você precisa usar o "acpi=off", ou similar
na tela de boot, ou modelos baseados em chipsets que ainda não são bem suportados pelo kernel.

Impressora Padrão: Ao instalar várias impressoras, é importante definir qual será a impressora padrão
do sistema, uma vez que ela é usada sempre que você utiliza as opções de impressão rápida, ou não altera a
impressora na janela de seleção.

384
Janelas: Essa opção inclui algumas configurações básicas para o comportamento das janelas, incluindo
a opção de selecionar janelas automaticamente quando o cursor do mouse passa sobre elas, maximizar ao
clicar sobre a barra de títulos e modificar a tecla usada para mover as janelas para fora da área visível.

Menu Principal: Este é um atalho para o editor de menus, que pode ser acessado também clicando
com o botão direito sobre o "Aplicativos".

Network Configuration: Um atalho para a configuração manual da rede, que pode ser acessado
também clicando com o botão direito sobre o applet do NetworkManager ao lado do relógio.

Proxy da rede: Este é mais um pequeno utilitário, que permite definir o proxy padrão do sistema, que
será usado pelo apt-get e pela maioria dos utilitários do sistema, incluindo o atualizador de pacotes.
Entretanto, o proxy padrão não é usado pela maioria dos aplicativos (incluindo o Firefox), que possuem
opções próprias de configuração do proxy. No Firefox, por exemplo, o proxy é configurado através do
"Editar > Preferências > Avançado > Rede > Conexão".

Rato (Mouse): Aqui estão disponíveis as clássicas configurações relacionadas ao comportamento do


mouse (também chamado de rato nas terras além mar :), incluindo a aceleração, intervalo do clique duplo e
outras. Uma opção adicionada nas versões recentes do GNOME, que pode ser útil para alguns, é a de
mostrar a posição do cursor quando a tecla Ctrl é pressionada.

Uma dica para quem usa um mouse externo no notebook e quer evitar toques acidentais no touchpad
é desativar a opção "Touchpad > Habilitar cliques do mouse com o touchpad", que desativa os cliques com
toques sobre o leitor, mantendo apenas os botões de hardware.

Resolução da tela: Tradicionalmente, alterar a resolução da tela no Linux demandava ajustes manuais
no arquivo xorg.conf. Entretanto, isso mudou nas versões recentes do X.org, graças à detecção automática
dos modos suportados pelo monitor, combinada com uma nova interface que permite o ajuste da resolução
sem precisar de acesso de root. Essa combinação de fatores levou ao aparecimento de ferramentas como o
kcmdisplay (no KDE) e o gnome-display-properties, iniciado através desta opção.

Ele permite ajustar a resolução e a taxa de atualização do monitor e, em chipsets suportados, também
girar a imagem, o que permite tirar proveito da opção de uso vertical disponível em muitos monitores. Se
você possui uma placa de vídeo com duas saídas de vídeo, pode também ativar e configurar a segunda tela
através dele.

A grande limitação do gnome-display-properties é que ele só oferece as opções detectadas pelo


sistema. Se o X.org não detectou corretamente a resolução do monitor, ou se não conseguiu ativar a saída

385
HDMI ou o segundo monitor, por exemplo, sua única opção é abrir o terminal e voltar ao velho processo de
configuração manual e instalação de drivers.

Sessões: A principal função dessa opção é configurar os aplicativos que serão carregados durante a
abertura do sistema. No Linux, os serviços e aplicativos carregados durante o boot podem ser divididos em
dois grupos: os carregados pelo sistema e os carregados pelo usuário.

Os carregados pelo sistema são quase sempre serviços, referenciados nos arquivos de configuração.
Você pode fazer com que comandos sejam executados automaticamente adicionando-os a um dos arquivos
de configuração (como o "/etc/rc.local") mas em um desktop isso se restringe a tarefas específicas.

Os aplicativos executados como usuário, por sua vez, são carregados juntamente com o GNOME ou
o KDE, incluindo aí qualquer aplicativo gráfico, ou que não seja executado como root. São justamente estes
que são configurados através do applet. Se você quer adicionar um atalho para que o Synergy seja aberto
automaticamente, ou quer desativar o tracker (a ferramenta de indexação de arquivos do GNOME) ou o
gerenciador de drivers restritos, aqui é o lugar:

Na aba de opções, existe também a opção de lembrar os aplicativos em execução ao encerrar a sessão
que, assim como o recurso de salvar as abas abertas do Firefox, acaba sendo bastante útil se você liga e desliga
o PC com frequência, já que evita que você perca tempo abrindo manualmente os aplicativos que utiliza a
cada boot. Existe também a opção de criar uma configuração fixa, onde o sistema passa a carregar o conjunto
de aplicativos atualmente em execução.

Som: Além de permitir ajustar os sons do sistema (como seria de se imaginar), essa opção também
permite definir os dispositivos de som usados, o que é útil na hora de solucionar problemas com o áudio ou
em situações em que você tem mais de uma placa de som (como em casos em que você usa uma placa de
som USB para as chamadas de VoIP) e quer que a segunda placa seja usada para outras funções.

O suporte a placas de som no Linux é um assunto bem mais complicado do que deveria, devido à
variedade de conjuntos de drivers e de servidores de som. Isso faz com que, dentro de cada opção, você
tenha um conjunto de configurações para cada dispositivo de som (incluindo as opções de usar o OSS, o Alsa
ou o PulseAudio), o que acaba lhe obrigando a testar cada uma das opções até encontrar a que funciona
melhor.

Um complicador é que, ao usar uma das opções do Alsa ou do OSS, muitos aplicativos deixarão de
conseguir acessar o som, já que esperam que a placa seja acessada através do PulseAudio, que é usado por
padrão a partir do Ubuntu 8.04.

386
Teclado: Como era de se esperar, essa opção permite ajustar o layout do teclado (use o "ABNT2
Brasileiro" para os teclados nacionais ou o "PC (Intl) Genérico de 105 teclas" para os com layout americano)
e também as opções de acessibilidade (teclas de aderência e outras).

A opção "Disposições > Outras opções" esconde um grande volume de opções com preferências
adicionais, que permitem resolver problemas comuns, como mapear o símbolo de Euro ao atalho AltGR+E,
desativar o Caps Lock (uma alternativa mais civilizada ao hábito de simplesmente arrancá-lo do teclado :),
definir a tecla usada para ativar as teclas de terceiro nível e assim por diante. Se você sofre o com o clássico
problema da repetição do teclado parar de funcionar esporadicamente, basta desativar e ativar novamente a
opção de repetição das teclas.

Outra dica é que você pode especificar intervalos forçados na digitação (importantes para a prevenção
de lesões por esforços repetitivos) na última aba, fazendo com que o sistema bloqueie o desktop durante dois
minutos uma vez por hora, por exemplo.

Tecnologias assistivas: Como comentei no início do capítulo, o Ubuntu oferece um bom suporte a
acessibilidade. Este menu agrupa as principais opções, permitindo ativar o Orca (o sintetizador que permite o
uso do sistema por deficientes visuais) ou o Dasher (que ativa um sistema alternativo de digitação que permite
a entrada de texto usando apenas o mouse ou outro dispositivo apontador), além de atalhos para as opções de
acessibilidade para o mouse, teclado e para a tela de login.

GERENCIAMENTO DE PACOTES E REPOSITÓRIOS

?Assim como todas as inúmeras outras distribuições derivadas do Debian, o Ubuntu utiliza o apt
como gerenciador de pacotes. Entretanto, para facilitar as coisas, o Ubuntu inclui também um conjunto de
gerenciadores gráficos que, de certa forma, permitem juntar o melhor dos dois mundos.

O gerenciamento dos repositórios é feito através do "Sistema > Administração > Canais de Software",
que funciona como um configurador para o arquivo "/etc/apt/sources.list", onde são especificados os
repositórios que serão usados pelo sistema. Os pacotes oficiais são divididos em 5 repositórios:

main: O repositório principal, que inclui os softwares suportados oficialmente pela equipe do Ubuntu.
Este repositório inclui um número relativamente pequeno de pacotes, incluindo os pacotes do GNOME (e os
outros softwares instalados por padrão), os pacotes de internacionalização e alguns poucos pacotes adicionais.
É basicamente o mesmo conteúdo da versão em DVD.

restricted: Este repositório inclui os drivers da nVidia, da ATI e alguns módulos adicionais para o
kernel (agrupados no pacote "linux-restricted-modules") que possuem o código-fonte fechado, ou possuem
restrições com relação à modificação ou distribuição. Agrupá-los em um repositório separado foi a solução
encontrada pela equipe do Ubuntu para poder distribuí-los como parte da distribuição.

Estes drivers são gerenciados de maneira automática pelo gerenciador de drivers restritos ("Sistema >
Administração > Drivers de hardware") que se encarrega de detectar os componentes e perguntar se você
deseja ativar os drivers correspondentes.

universe: Como o nome sugere, o Universe inclui quase todos os demais pacotes, um conjunto que
ultrapassa a marca dos 20 GB de arquivos. Ele é basicamente um snapshot do repositório do Debian
Unstable, que recebe uma rodada de testes e correções antes de ser disponibilizado ao público. A grande
diferença em relação aos pacotes do repositório main é que eles não são oficialmente suportados pela equipe
de desenvolvimento; são apenas oferecidos como um extra. A maior parte do trabalho de manutenção do
repositório Universe é feito por voluntários, incluindo aí o trabalho realizado pela equipe do Debian.

multiverse: É uma derivação do Universe, que agrupa softwares distribuídos sob licenças "não livres",
que possuam alguma restrição com relação à modificação ou distribuição. Inclui diversos codecs, emuladores,
plugins, programas diversos e até mesmo alguns drivers de impressora. Assim como no caso do restricted, o
multiverse foi criado para permitir que estes pacotes pudessem ser incluídos na distribuição, sem que
"contaminassem" os repositórios principais.

partner: Este é um repositório mantido pela Canonical (sem relação direta com o Ubuntu) para
disponibilizar componentes licenciados. Ele inclui o "adobe-flashplugin", que instala o suporte a flash no
Firefox e pacotes de documentação para alguns codecs comerciais vendidos no http://shop.canonical.com.

387
Além das questões filosóficas, a divisão permite que os repositórios sejam seletivamente desativados.
Você pode imaginar, por exemplo, o caso de uma empresa onde a equipe de TI tenha decidido utilizar apenas
os pacotes do repositório main, juntamente com alguns outros pacotes específicos, para prevenir o
aparecimento de problemas.

Em situações normais, você simplesmente mantém todos os repositórios ativados, com a possível
exceção dos repositórios com o código-fonte, que são úteis apenas para quem está interessado em compilar
seus próprios pacotes:

Você pode também escolher entre baixar os pacotes dos servidores principais (archive.ubuntu.com)
ou usar os servidores do Brasil (br.archive.ubuntu.com) que costumam ser mais rápidos. Por default, o
instalador utiliza também os pacotes do CD-ROM de instalação, que inclui alguns pacotes extras que não são
instalados juntamente com o sistema.

O que o gerenciador faz é simplesmente ativar ou desativar as linhas correspondentes dentro do


arquivo "/etc/apt/sources.list" conforme você altera as opções, exatamente o mesmo que você faria ao editar
o arquivo manualmente. As linhas referentes aos repositórios principais dentro do arquivo são:

deb http://archive.ubuntu.com/ubuntu/ intrepid main restricted


deb http://archive.ubuntu.com/ubuntu/ intrepid universe
deb http://archive.ubuntu.com/ubuntu/ intrepid multiverse
deb http://archive.canonical.com/ubuntu intrepid partner
Para cada um destes repositórios, está disponível também uma linha iniciada com "deb-src", que
corresponde ao repositório com o código-fonte dos pacotes.

Apesar de parecerem complicadas, estas linhas são bastante simples. Tudo começa como "deb", que
indica o início da configuração de um repositório. Em seguida, vai o endereço, a pasta com a versão e a sub-
pasta com os arquivos do repositório específico. Os repositórios são acessados via http, você pode inclusive
acessá-los pelo navegador.

Uma dica para quem gosta de arrumação é que você pode agrupar linhas com
repositórios dentro da mesma URL, separando-os por espaço. Em vez das 4 linhas anteriores, você
poderia usar apenas:

deb http://archive.ubuntu.com/ubuntu/ intrepid main restricted universe multiverse


deb http://archive.canonical.com/ubuntu intrepid partner

388
O "intrepid" em cada linha especifica a versão do Ubuntu em uso. Ao atualizar do 8.10 para o 9.04,
por exemplo, o "intrepid" em todas as linhas seria substituído por "jaunty". Aqui vai uma lista rápida dos
nomes e versões para referência:

warty: 4.10 feisty: 7.04


hoary: 5.04 gutsy: 7.10
breezy: 5.10 hardy: 8.04
dapper: 6.06 intrepid: 8.10
edgy: 6.10 jaunty: 9.04

Além dos repositórios principais, temos os repositórios adicionais, que são mantidos por equipes
independentes. A principal função deles é oferecer pacotes que, por um motivo ou outro, não podem ser
distribuídos através dos repositórios oficiais, como no caso da biblioteca libdvdcss2 (que permite assistir
DVDs protegidos) e diversos codecs. O gerenciamento deles é feito através da segunda aba:

Por default, é incluído somente o repositório partner, que na verdade é utilizado apenas para distribuir
o plugin do flash para o Firefox.

Você pode ter acesso a um grande volume de pacotes adicionais voltados para multimídia adicionando
o repositório do Medibuntu, especificando o "http://packages.medibuntu.org/" como URL e "free non-free"
no campo dos componentes, como no screenshot anterior. Isso equivale a adicionar a linha abaixo no
sources.list:

deb http://packages.medibuntu.org/ intrepid free non-free


Ao tentar atualizar o sistema ou instalar algum novo pacote (após ativar repositórios adicionais), você
receberá um erro similar a esse:

389
Ele indica que o sistema não possui a chave GPG de autenticação para o repositório adicionado,
problema que podemos resolver manualmente.

O GPG é um sistema de encriptação composto por duas chaves: uma chave pública, que é distribuída
abertamente, e uma chave privada, que é secreta. A chave privada pode ser utilizada para "assinar" arquivos,
cuja autenticidade pode ser comprovada usando a chave pública. Isso é 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. É
impossível, entretanto, descobrir o conteúdo da chave privada usando a chave pública e, devido à sua
complexidade, é também impossível fazê-lo via força bruta.

Do Ubuntu 6.06 em diante, 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 é um 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ê receba o
alerta ao tentar instalar os pacotes afetados e o problema seja detectado instantaneamente.

O link para a chave GPG fica normalmente em posição visível no site do projeto. No caso do
Medibuntu, por exemplo, o arquivo é o "http://packages.medibuntu.org/medibuntu-key.gpg".

Existem duas maneiras de instalar a chave. A primeira é baixar o arquivo manualmente (você precisará
geralmente usar o wget ou outro gerenciador de downloads, já que o Firefox o exibe como texto, em vez de
oferecer a opção de baixar) e usar a opção Autenticação > Importar Arquivo Chave" dentro do Canais de
Software para adicionar a chave:

390
Outra opção é adicionar a chave via linha de comando, usando "gpg" e o "apt-key". Os comandos são
um pouco longos, mas a vantagem nesse caso é que você não precisa procurar o arquivo da chave, já que ele
é baixado automaticamente pelo próprio GPG.

O primeiro passo é abrir um terminal e rodar o "sudo apt-get update". Ele retornará um erro similar
ao do gerenciador de atualizações, especificando o número da chave:

W: Erro GPG: http://packages.medibuntu.org intrepid Release: As assinaturas a seguir não puderam


ser verificadas devido à chave pública não estar disponível: NO_PUBKEY 2EBC26B60C5A2783
Para adicioná-la, use os dois comandos a seguir, especificando o número da chave, que você pode
colar usando o botão central do mouse. Na verdade, a identificação da chave são apenas os 8 dígitos finais,
mas não faz diferença se você simplesmente copiar o número inteiro:

# gpg --keyserver subkeys.pgp.net --recv-keys 2EBC26B60C5A2783


# gpg --export --armor 2EBC26B60C5A2783 | apt-key add -

É mais fácil executar os dois comandos diretamente como root (defina a senha usando o "sudo
passwd" e logue-se como root usando o "su"), já que o GPG tem dificuldade em acertar o path quando
executado através do sudo.

O primeiro comando se encarrega de baixar a chave a partir do servidor do pgp.net, enquanto o


segundo faz a importação. Note que é usado um pipe ( | ) para que a chave exportada pelo GPG seja lida
pelo apt-key.

No caso específico do Medibuntu, existe uma opção mais prática para adicionar a chave, que é
simplesmente instalar o pacote "medibuntu-keyring", que se encarrega de instalar a chave do repositório:

$ sudo apt-get install medibuntu-keyring

Como pode imaginar, este pacote foi criado para simplificar a configuração do repositório por parte
de novos usuários, uma vez que o repositório é usado por 7 em cada 10 usuários do Ubuntu. Entretanto,
você ainda precisará seguir estes passos manuais ao adicionar outros repositórios.

Apesar dos pesares, a principal vantagem de adicionar os repositórios extras na configuração, em vez
de simplesmente baixar os pacotes desejados manualmente, é que os pacotes passam a ser incluídos nas
atualizações do sistema, permitindo que você tenha acesso às atualizações. Eles também permitem que o
sistema instale eventuais dependências automaticamente, simplificando muito a instalação. Outra vantagem é
que outros pacotes disponíveis no repositório ficam disponíveis para quando precisar deles.

391
Atualizações do sistema

Em seguida, temos as opções de atualização do sistema, que são agrupadas na terceira aba. Elas são
divididas em 4 grupos:

security: Inclui as atualizações de segurança, que tapam as brechas do sistema, mas não adicionam
novas funcionalidades aos programas. As atualizações de segurança são especialmente importantes no
Ubuntu, já que o sistema não utiliza nenhum firewall por padrão, dependendo apenas das atualizações dos
serviços. Elas são atualizações de baixo risco, que raramente causam problemas.

updates: Inclui todas as novas versões dos programas, o que representa mais de 80% das atualizações
disponíveis. Se você quer apenas manter seu sistema estável, baixando somente as atualizações importantes,
você pode desativar este repositório, mantendo apenas o security.

proposed: Contém atualizações em estágio de teste, que não são inteiramente estáveis. É uma espécie
de versão "beta" do updates, que permite que você tenha acesso às atualizações em primeira mão, mas sem
garantia de estabilidade. Se você não quer dor de cabeça, é melhor mantê-lo desativado.

backports: As versões do Ubuntu são suportadas por um período de 18 meses (nas versões normais),
ou 36 meses (no caso das versões LTS), o que corresponde ao lançamento de duas ou cinco novas versões.
Os backports são versões portadas de algumas atualizações, adaptadas para rodarem nas versões antigas do
Ubuntu.

Eles permitem que você atualize alguns componentes do sistema (obtendo acesso a uma nova versão
do GNOME ou do KDE, por exemplo), sem precisar atualizar o sistema inteiro. A principal observação é
que os backports recebem apenas uma rodada rápida de testes, o que abre margem para o aparecimento de
bugs inesperados. Justamente por isso, você tem a opção de desativá-los no gerenciador:

Estas opções correspondem às linhas com o "security", "updates" e "backports" dentro do sources.list
que (descontados os comentários), seriam:

deb http://archive.ubuntu.com/ubuntu/ intrepid-security main restricted


deb http://archive.ubuntu.com/ubuntu/ intrepid-security universe
deb http://archive.ubuntu.com/ubuntu/ intrepid-security multiverse

deb http://archive.ubuntu.com/ubuntu/ intrepid-updates main restricted


deb http://archive.ubuntu.com/ubuntu/ intrepid-updates universe
deb http://archive.ubuntu.com/ubuntu/ intrepid-updates multiverse

deb http://archive.ubuntu.com/ubuntu/ intrepid-backports main restricted universe multiverse

392
Definidos os repositórios, falta a configuração das atualizações automáticas, que é feita através do
Gerenciador de Atualizações ("Sistema > Administração > Gerenciador de atualizações"). Ele é também o
responsável pela (muitas vezes irritante), setinha ao lado do relógio.

Por padrão, o sistema vem configurado para notificar sobre atualizações do security e do updates
diariamente, o que resulta em um volume muito grande de pacotes a baixar e faz com que muitos optem por
simplesmente desativar as atualizações automáticas. Entretanto, você pode reduzir o número de avisos
desativando o updates (mantendo apenas o security) e especificando um intervalo maior para as atualizações.

Outra opção é desmarcar o "Verificando atualizações", o que faz com que ele deixe de exibir os
avisos, se limitando a mostrar as atualizações disponíveis quando você clica sobre ele.

Embora não seja recomendável, é possível também remover completamente o gerenciador de


atualizações e passar a fazer as atualizações manualmente. Nesse caso, você usaria o "killall update-notifier" e,
em seguida, o "apt-get remove update-notifier".

Continuando, o gerenciador também avisa sobre a disponibilidade de novas versões do sistema, o que
é ajustado através da última opção, onde você pode escolher entre receber avisos de todas as novas versões,
atualizando a cada 6 meses, ou ser avisado apenas do lançamento de versões LTS, atualizando a cada 18
meses:

Como em outros sistemas, o upgrade direto de uma versão para outra é sempre um processo passível
de falhas. O grande problema é que (por simples falta de mão de obra suficiente) os upgrades são testados
apenas em configurações comuns, onde o sistema é usado sem grandes modificações.

Entretanto, na prática, é comum que você use um conjunto de pacotes muito diferente do original,
com muitos dos programas originais substituídos por outros, somado com a instalação de vários programas
adicionais. Isso faz com que o trabalho do atualizador seja muito mais complicado e os resultados mais
imprevisíveis, fazendo com que a atualização apresente defeitos diversos ou mesmo falhe completamente em
alguns casos específicos.

Outra observação importante é que você nunca deve desligar o sistema no meio do processo de
atualização, caso contrário você criará uma situação onde parte dos pacotes estão atualizados e outros não, o
que será uma receita para o desastre no próximo boot.

O ideal é que você inicie a atualização no final do dia, deixando que o sistema baixe os pacotes e inicie
o processo durante a noite e você possa apenas responder as configurações e terminar o processo na manhã
seguinte. Como de praxe, é sempre importante fazer um backup completo do diretório home e de outras
pastas do sistema onde guarde arquivos importantes, só por via das dúvidas.

Você notará que o gerenciador não oferece uma opção para baixar os pacotes através de
um proxy. Na verdade, ele simplesmente utiliza a configuração de proxy do sistema, definida no
"Sistema > Preferências > Proxy da rede". É possível também configurar diretamente o apt-get para
utilizar um proxy; veja a dica no tópico sobre ele.

Como quase tudo no sistema, a atualização pode ser feita também manualmente. Você precisa apenas
editar o sources.list, substituindo o nome da versão em todas as linhas (de "intrepid" para "jaunty", por
exemplo) e, em seguida, rodar o "apt-get update" seguido do "apt-get dist-upgrade", que é justamente o que é
feito pelo atualizador:

$ sudo apt-get update


$ sudo apt-get dist-upgrade

Diferente do "apt-get upgrade", que faz uma atualização seletiva, instalando apenas pacotes cujas
atualizações não demandem a instalação de novos pacotes, o dist-upgrade faz uma atualização completa do
sistema, atualizando todos os pacotes e instalando todas as novas dependências.

393
O dist-upgrade é especialmente importante se você está usando um alpha ou beta de uma nova versão
do sistema, já que nelas os bugs são corrigidos muito rapidamente e você precisa manter o sistema atualizado
para poder reportar bugs. Se você continuar a instalar todas as atualizações regularmente ao longo do ciclo de
desenvolvimento, acaba obtendo a versão final do sistema no fim do processo, sem precisar realmente baixar
o novo ISO e reinstalar o sistema.

Para reduzir o tempo que você precisará ficar na frente do micro acompanhando o upgrade, você
pode fazer com que ele baixe os pacotes na noite anterior, deixando para fazer o upgrade propriamente dito
no dia seguinte. Para isso, adicione a opção "-d", como em:

$ sudo apt-get -d dist-upgrade

O "-d" ativa o modo "download only", onde o apt apenas baixa os pacotes e os salva no cache. Isso
permite que você execute o comando novamente (sem o "-d") quando quiser fazer a atualização
propriamente dita.

Por default, o apt simplesmente usa toda a banda disponível, o que pode ser um problema se você
quiser fazer outras coisas enquanto ele baixa os arquivos, ou se compartilha a conexão com outras pessoas.
Para limitar a taxa de download, crie o arquivo "/etc/apt/apt.conf.d/98bandlimit", com o seguinte conteúdo:

Acquire {
Queue-mode "access";
http { Dl-Limit "48"; };
};
O "48" na terceira linha especifica a taxa máxima de download que será usada pelo apt, basta substituí-
lo pelo valor desejado. Uma boa fórmula é limitar o apt a 50% da banda total oferecida pela conexão, o que
faz com que o download continue sendo feito a um limite razoável e o impacto sobre outras atividades seja
pequeno.

Outra maneira de limitar a taxa de download do apt é executar o comando através do trickle (que você
pode instalar usando o "apt-get install trickle"), como em:

$ sudo trickle -s -d 48 apt-get -d dist-upgrade

Assim como no exemplo anterior, o "48" especifica a taxa máxima de download, em kbytes.

Usando o apt-get e o aptitude

O uso do gerenciador de atualizações e do Synaptic facilitam bastante a administração do sistema,


permitindo que o Ubuntu seja usado por mais usuários. Apesar disso, a possibilidade de usar o apt-get via
linha de comando para instalar novos pacotes e para atualizar o sistema continua disponível, assim como ao
usar qualquer outra distribuição derivada do Debian.

O uso do apt-get é bastante simples. Ele trabalha baixando pacotes a partir dos repositórios oficiais do
Debian ou do Ubuntu, de forma que você obtém sempre a versão mais atualizada. Para que o sistema
funcione, é preciso baixar periodicamente uma lista com os pacotes disponíveis em cada servidor, permitindo
que o apt-get mantenha seu banco de dados local. Isso é feito usando o:

$ sudo apt-get update

Ele deve ser executado regularmente (de preferência antes de fazer cada instalação), para que o sistema
instale sempre as versões mais recentes dos pacotes. Para instalar qualquer pacote pelo apt-get, use o
comando "apt-get install", como em:

$ sudo apt-get install vlc

O apt-get instala automaticamente todas dependências do pacote, pedindo sua confirmação. Em


muitos casos, é mostrada também uma lista de pacotes recomendados. Eles são pacotes opcionais, que não
são instalados por padrão, mas que podem adicionar funcionalidades importantes.

394
Quase todos os aplicativos gráficos criam um ícone no iniciar quando instalados, mas nos poucos
casos em que isso não acontece, basta criar o ícone manualmente, usando o editor de menus. Outra dica é
que você pode completar os nomes dos pacotes pressionando a tecla TAB, assim como nos demais
comandos. Sempre que houver mais de uma possibilidade, pressionar o TAB pela segunda vez mostra a lista
das alternativas possíveis. Você pode fazer buscas nos nomes dos pacotes usando o "apt-cache search" como
em:

$ apt-cache search theora

Ele retorna todos os pacotes que incluam o termo especificado no nome ou na descrição, ajudando a
achar o que procura. Se você quiser ser mais específico, pesquisando apenas nos nomes dos pacotes, adicione
a opção "-n", como em:

$ apt-cache search -n pulseaudio

Você pode também instalar vários pacotes de uma vez, especificando todos no mesmo comando,
como em:

$ sudo apt-get install vlc mplayer

O apt-get só é capaz de instalar pacotes que estejam disponíveis nos repositórios especificados no
"/etc/apt/sources.list", o que nos leva de volta à questão dos repositórios adicionais. Se você não adicionou
o repositório do Medibuntu, não vai conseguir instalar o pacote "libdvdcss2" necessário para assistir os
DVDs protegidos por exemplo, recebendo de volta um "O pacote libdvdcss2 não tem candidato para
instalação".

Nesses casos, a solução é pesquisar por endereços de repositórios adicionais que ofereçam o pacote
desejado, adicionar as linhas correspondentes no sources.list e rodar o "apt-get update" para atualizar as listas.

Continuando, para remover pacotes, basta usar o "apt-get remove", seguido pelo nome, como em:

$ sudo apt-get remove evolution

Quase sempre, o nome do pacote é o mesmo nome do aplicativo e do comando usado para chamá-lo
no terminal, o que facilita as coisas.

A principal observação é que o apt-get remove apenas o pacote especificado, sem mexer em outras
bibliotecas e pacotes que foram instalados junto com ele. Para evitar que estes componentes desnecessários se
acumulem, está disponível o "apt-get autoremove", que se encarrega de localizar e remover os pacotes
"órfãos", que não são mais necessários:

$ sudo apt-get autoremove

Lendo listas de pacotes... Pronto


Construindo árvore de dependências
Lendo informação de estado... Pronto
Os seguintes pacotes foram automaticamente instalados e não são mais requeridos:
libdca0 libass1 libdvbpsi4 libvlc2 vlc-nox libiso9660-5 liblua5.1-0 vlc-data libtar libimlib2
libvlccore0 libvcdinfo0 libebml0 libmatroska0 libsdl-image1.2

Os pacotes a seguir serão REMOVIDOS:


libass1 libdca0 libdvbpsi4 libebml0 libimlib2 libiso9660-5 liblua5.1-0 libmatroska0 libsdl- image1.2
libtar libvcdinfo0 libvlc2 libvlccore0 vlc-data vlc-nox

0 pacotes atualizados, 0 pacotes novos instalados, 15 a serem removidos e 5 não atualizados.


Depois desta operação, 25,5MB de espaço em disco serão liberados.
Você quer continuar [S/n]?

Como vimos no tópico anterior, é possível também atualizar o sistema diretamente via linha de
comando, usando o:

$ sudo apt-get update; sudo apt-get upgrade

395
... ou o:

$ sudo apt-get update; sudo apt-get dist-upgrade

A diferença entre os dois é que o "apt-get upgrade" atualiza apenas os pacotes que possuem
atualizações diretas, ou seja, pacotes cujas novas versões não incluam novas dependências, enquanto o "apt-
get dist-upgrade" faz uma atualização completa, instalando todos os novos pacotes que forem necessários. De
uma maneira geral, utilizamos o "upgrade" para instalar atualizações de segurança e outras atualizações de
rotina e o "dist-upgrade" ao atualizar para uma nova versão do sistema.

Em alguns casos, o apt exibe um prompt perguntando sobre a atualização de arquivos de


configuração, como nesse exemplo:

Ele é exibido em casos em que você modificou um arquivo de configuração manualmente, como ao
alterar a configuração do grub para inicializar outros sistemas. Nesses casos, o apt pergunta se você deseja
manter sua configuração atual (que é a opção mais segura) ou se deseja instalar a nova versão do arquivo
(versão do mantenedor do pacote), incluída na atualização.

O problema em usar a nova versão é que você perde a sua personalização, tendo que fazer a
configuração novamente. Como nem sempre você vai se lembrar do que é necessário fazer, o melhor nestes
casos é responder não à substituição (que é o default). Isso mantém o arquivo atual, que, afinal, está
funcionando.

Concluindo, você pode também atualizar pacotes individualmente. Nesse caso, basta usar o "apt-get
install pacote", como se quisesse instalá-lo novamente. O apt verifica os repositórios e se oferece para instalar
a nova versão, caso disponível.

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 diretório home. O apt-get nunca altera estes arquivos, o que faz com
que as suas preferências sejam sempre preservadas durante os upgrades.

Continuando, você pode também verificar os detalhes de um determinado pacote (esteja ele instalado
ou não) usando o "apt-cache show", como em:

$ apt-cache show vlc

Ele mostra um grande volume de informações sobre o pacote, incluindo a versão, o espaço que ocupa
quando instalado, de quais outros pacotes ele depende (ou seja, a lista de pacotes que serão instalados junto
com ele), a descrição, a página do projeto o mantenedor do pacote para o Ubuntu e assim por diante. Vendo
as descrições dos pacotes antes de instalar, você pode aprender bastante sobre eles.

Usando o Apitude: Embora o apt-get seja a ferramenta mais tradicional e a mais usada, ele disputa o
posto com o aptitude, um "sucessor" que se propõe a resolver os mesmos problemas, mas oferece algumas
vantagens técnicas sobre o apt-get.

396
A sintaxe básica é essencialmente a mesma, com a atualização das listas sendo feita com "aptitude
update", a instalação de pacotes com o "aptitude install pacote" e a remoção com o "aptitude remove pacote",
como em:

$ sudo aptitude update


$ sudo aptitude install mplayer
$ sudo aptitude remove totem

Ele pode ser usado também para atualizar o sistema, usando os parâmetros "upgrade" e "dist-
upgrade", da mesma forma que no caso do apt-get:

$ sudo aptitude dist-upgrade

Ele acumula também as funções do apt-cache, permitindo que você veja informações sobre um pacote
usando o "aptitude show" e faça a busca por pacotes usando o "aptitude search", como em:

$ aptitude show kaffeine


$ aptitude search sun-java

Em resumo, a escolha entre o apt-get e o aptitude recai mais sobre suas preferências pessoais, já que
ele é outra ferramenta destinada a solucionar exatamente o mesmo problema. Muitas das deficiências do apt-
get, que levaram ao aparecimento do aptitude já foram solucionadas nas versões recentes, o que fez com que
as duas ferramentas se tornassem mais e mais parecidas em termos de funções. Isso fez com que a disputa
entre os dois se tornasse mais um caso "Vi x Emacs", que provoca discussões acaloradas entre alguns
desenvolvedores, mas não faz muita diferença para os usuários finais.

O mais importante a enfatizar é que o aptitude é apenas mais um front-end para o apt, que pode ser
usado em parceria com o apt-get, o Synaptic e outros gerenciadores de pacotes. Não existe nada de errado em
alternar entre eles, usando um ou outro de acordo com a situação. Se usados corretamente, os resultados
serão sempre os mesmos.

Configurando o apt para utilizar um proxy: Outra dúvida comum é como configurar o apt para baixar
os pacotes através de um proxy, o que é um problema no caso de muitas empresas, onde o acesso é restrito e
feito apenas através de um proxy.

Nesse caso, crie o arquivo "/etc/apt/apt.conf.d/98proxy", adicionando uma seção "Acquire",


especificando o login e a senha de acesso, o endereço do servidor e a porta utilizada por ele, como em:

Acquire{
HTTP::proxy "http://gdh:12345@192.168.1.254:3128";
FTP::proxy "http://gdh:12345@192.168.1.254:3128";
}
A linha "FTP" é necessária apenas se o arquivo sources.list incluir algum endereço de repositório
acessado via FTP, o que é suportado pelo apt, porém raramente usado. Se você acessa através de um proxy
simples, que não exige senha, a configuração é ainda mais simples:

Acquire{
HTTP::proxy "http://192.168.1.254:3128";
FTP::proxy "http://192.168.1.254:3128";
}
Como a configuração é checada cada vez que o apt é executado, basta usar um "apt-get update"
depois de salvar o arquivo para testar a configuração; não é necessário reiniciar nenhum serviço.

Se você tem o hábito de usar o wget para baixar arquivos e quiser aproveitar para configurá-lo
também, abra o arquivo "/etc/wgetrc" e adicione a configuração no final do arquivo, seguindo este modelo:

http_proxy = http://gdh:12345@192.168.1.254:3128
ftp_proxy = http://gdh:12345@192.168.1.254:3128
use_proxy = on
... ou este, caso o proxy não use autenticação:

http_proxy = http://192.168.1.254:3128

397
ftp_proxy = http://192.168.1.254:3128
use_proxy = on

Entendendo o cache do apt e transportando os arquivos

Ao instalar qualquer pacote, o apt primeiro baixa o arquivo, para só depois fazer a instalação. Isso
evita problemas causados por instabilidade ou quedas na conexão, uma vez que se a conexão cai, ou o
processo é interrompido durante o download, a instalação sequer é iniciada. O apt é capaz também de
continuar os downloads em caso de interrupção e de baixar vários pacotes simultaneamente, aproveitando ao
máximo a banda da conexão.

Todos os pacotes baixados são salvos na pasta "/var/cache/apt/archives/" e continuam lá mesmo


depois de instalados. Com o tempo, o cache passa a ocupar uma dose generosa de espaço no HD, o que pode
se tornar um problema se você reservou uma partição pequena para a instalação do sistema. 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. Ela é uma boa opção se você tem o hábito de atualizar o sistema com
frequência, já que "limpa" o cache, eliminando todas as versões antigas dos pacotes.

A segunda opção, usada quando você quer realmente limpar o cache, eliminando todos os pacotes
salvos é a:

# apt-get clean

Ela equivale a usar o "rm -f /var/cache/apt/archives/*.deb", uma solução rápida para casos em que
você precisa liberar espaço no HD com urgência.

Complementando, temos a pasta "/var/lib/apt/lists/", que armazena as listas de pacotes, que são
baixadas ao rodar o "apt-get update".

Sempre que você inicia a instalação de algum pacote, o apt começa verificando o conteúdo da pasta
"/var/lib/apt/lists/" em busca de informações sobre o pacote solicitado (número da versão atual, nome do
arquivo, etc.), verifica se o arquivo já não está disponível na pasta "/var/cache/apt/archives/" e, caso não
esteja, executa o processo normal de download.

Como deve estar imaginando, é possível fazer backup destas duas pastas de forma a preservar o cache
do apt-get depois de reinstalar o sistema, ou mesmo para instalar os pacotes já baixados em outras máquinas,
como no caso de alguém que tem banda larga na escola ou no trabalho, mas acessa via modem discado em
casa, por exemplo. Basta fazer backup do conteúdo das duas pastas e restaurá-las no outro PC.

Você pode fazer os backups rapidamente usando o tar. Os dois comandos abaixo criam os arquivos
"lists.tar" e "archives.tar" no diretório atual:

$ tar -cvf lists.tar /var/lib/apt/lists/


$ tar -cvf archives.tar /var/cache/apt/archives

Você pode notar que não estou usando o parâmetro "z" do tar, que geraria arquivos compactados,
pois, como o arquivo incluirá pacotes .deb (que já são arquivos compactados), isso só serviria para tornar a
criação dos arquivos mais demorada.

Para restaurar os backups na outra máquina, você precisaria apenas executar (dentro do diretório com
os dois arquivos) os comandos:

# tar -xvf lists.tar --directory /


# tar -xvf archives.tar --directory /

A opção "--directory /" faz com que os arquivos sejam desempacotados no diretório raiz, de forma
que sejam restaurados nas pastas corretas. Sem isso, eles seriam extraídos dentro do diretório onde o

398
comando foi executado, criando algo como "/home/gdh/tmp/var/cache/apt/archives", em vez de
"/var/cache/apt/archives".

Para que os arquivos sejam realmente usados, é importante que as duas máquinas estejam rodando a
mesma distribuição (afinal, pacotes do Debian Etch não seriam de muita utilidade no Ubuntu 9.04, por
exemplo) e, igualmente importante, devem estar configuradas para utilizarem os mesmos repositórios no
arquivo "/etc/apt/sources.list". Uma boa maneira de se certificar disso, é simplesmente incluir o arquivo no
backup e restaurá-lo na outra máquina junto com os outros arquivos.

Para facilitar, você pode usar meu script, que está disponível no:
http://www.gdhpress.com.br/blog/script-kokar/

Ele automatiza o processo, permitindo gerar um arquivo ISO, que você pode gravar em CD, ou
simplesmente transportar em um pendrive e montar na outra máquina. O arquivo inclui um script de
recuperação, que automatiza a restauração. A ideia central é a mesma que era usada no Kurumin, para gerar o
CD do Kokar, mas nesse caso aplicada a outras distribuições.

Você pode baixar novos pacotes para o cache, sem instalá-los, usando a opção "-d" do apt-get, que
vimos anteriormente. Basta executar os comandos para instalar os pacotes desejados, incluindo a opção,
como em:

$ sudo apt-get install -d kubuntu-desktop

Isso permite que você use outra máquina para baixar os pacotes que deseja incluir no backup, sem
precisar realmente instalá-los.

Usando o dpkg e solucionando problemas

O dpkg complementa o apt-get/aptitude, permitindo instalar pacotes .deb baixados manualmente, o


que é comum ao instalar programas proprietários ou aplicativos muito recentes, que ainda não foram
incluídos nos repositórios oficiais.

Na verdade, o dpkg é quem faz o trabalho pesado ao instalar ou remover qualquer pacote, já que ele é
invocado pelo apt em cada operação. Entretanto, ao utilizá-lo manualmente, você deixa de contar com todas
as funções de cálculo de dependências e resolução de problemas empregadas pelo apt. É justamente por isso
que deixamos para utilizá-lo apenas em situações específicas.

Para instalar um único pacote, você usa o comando "dpkg -i", seguido pelo nome do arquivo. Para
instalar de uma vez vários pacotes, use o "dpkg -i *.deb" dentro da pasta com os arquivos.

O problema do dpkg é que ele apenas instala o pacote solicitado, sem instalar junto as dependências
necessárias. Isso muitas vezes causa problemas relacionados às dependências, mas eles são geralmente fáceis
de contornar. Veja um exemplo:

$ sudo dpkg -i skype-debian_2.0.0.72-1_i386.deb

Selecionando pacote previamente não selecionado skype.


(Lendo banco de dados ... 126618 arquivos e diretórios atualmente instalados).
Desempacotando skype (de skype-debian_2.0.0.72-1_i386.deb) ...
dpkg: problemas de dependência impedem a configuração de skype:
skype depende de libqt4-gui (>= 4.2.1); porém:
Pacote libqt4-gui não está instalado.
dpkg: erro processando skype (--install):
problemas de dependência - deixando desconfigurado
Erros foram encontrados durante o processamento de:
skype

Como você pode ver, o pacote skype precisa do pacote "libqt4-gui", uma biblioteca que está
disponível via apt-get, mas que não está instalada. Para solucionar este tipo de problema, 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.

399
No exemplo, ao rodar o "apt-get -f install", a biblioteca é instalada automaticamente e o problema
resolvido:

# apt-get -f install

Lendo listas de pacotes... Pronto


Construindo árvore de dependências
Lendo informação de estado... Pronto
Corrigindo dependências... Pronto
Os pacotes extra a seguir serão instalados:
libqt4-gui
Os NOVOS pacotes a seguir serão instalados:
libqt4-gui
0 pacotes atualizados, 1 pacotes novos instalados, 0 a serem removidos e 88 não atualizados.
1 pacotes não totalmente instalados ou removidos.
É preciso baixar 7552B de arquivos.
Depois desta operação, 77,8kB adicionais de espaço em disco serão usados.
Você quer continuar [S/n]?

Note que, em muitos casos, as dependências podem ser supridas por outros pacotes relacionados. Por
exemplo, o pacote "nxserver", que contém o servidor NX, precisa dos pacotes "nxnode" e "nxclient", que
também estão disponíveis no site do desenvolvedor (www.nomachine.com). Para instalar o nxserver, você
precisaria instalar os três pacotes usando o dpkg e só depois rodar o "apt-get -f install", para que o apt-get
cuidasse das dependências externas.

Em casos onde o "apt-get -f install" não consiga resolver o problema, experimente o "apt-get -f
remove", como em:

$ sudo apt-get -f remove

Ele tem uma função similar, mas dá preferência a remover os pacotes com problemas, ao invés de
tentar corrigir a instalação, resolvendo o problema em casos em que o pacote instalado manualmente dependa
de outros que não estão disponíveis via apt.

Outro comando que pode ser útil em algumas situações é o "dpkg --configure -a". Ele verifica
pendências na configuração dos pacotes, concluindo a instalação em casos em que a instalação foi abortada
no meio, como, por exemplo, quando o micro desliga por falta de energia:

$ sudo dpkg --configure -a

Além de instalar programas manualmente, o dpkg também permite removê-los, usando o parâmetro "-
r", como em "dpkg -r skype". Em situações normais, seria melhor simplesmente usar o apt-get ou o aptitude,
mas em algumas situações específicas o "dpkg -r" pode salvar o dia, como em casos onde pacotes extra-
oficiais problemáticos tentam subscrever arquivos que fazem parte de outros pacotes.

Esse tipo de problema acontece normalmente apenas ao utilizar repositórios não-oficiais, ou ao


utilizar versões de desenvolvimento, mas, de qualquer maneira, é importante saber lidar com eles. Aqui temos
um exemplo, causado por um pacote do Acrobat Reader disponibilizado através do Medibuntu no Ubuntu
8.10:

(Lendo banco de dados ... 147830 arquivos e diretórios atualmente instalados).


Desempacotando acroread-debian-files (de .../acroread-debian-files_0.0.24medibuntu1.1_i386.deb)
...

dpkg: erro processando /var/cache/apt/archives/acroread-debian-


files_0.0.24medibuntu1.1_i386.deb (--unpack):
tentando sobrescrever '/usr/bin/acroread', que também está no pacote adobereader-ptb
Erros foram encontrados durante o processamento de:
/var/cache/apt/archives/acroread-debian-files_0.0.24medibuntu1.1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

400
Como pode ver, o pacote tenta subscrever o arquivo "/usr/bin/acroread" que, por erro de
empacotamento, está incluído também no pacote "adobereader-ptb", disponível no mesmo repositório.
Nesse caso, o apt fica travado, repetindo a mensagem a cada instalação, impedindo que você faça qualquer
coisa até solucionar o problema. A solução nesse caso é remover manualmente o pacote anterior, usando o
dpkg, e em seguida deixar que o "apt-get -f install" coloque ordem na casa:

$ sudo dpkg -r adobereader-ptb


$ sudo apt-get -f install

Se você receber erros de dependências, mas mesmo assim quiser forçar a instalação do pacote (o que
nunca é uma boa ideia em sistemas baseados no Debian), pode usar o comando "dpkg -i --force-all
pacote.deb". Neste caso, tome cuidado com versões antigas ou conflitantes, pois este último comando não
checa dependências nem conflitos, apenas instala tudo de uma vez, na marra, o que pode causar os mais
diversos problemas.

O dpkg pode ser usado também para "desmontar" pacotes, permitindo que você examine os
componentes ou simplesmente use algum arquivo de configuração ou outro componente específico sem
precisar instalar todo o pacote. Para isso, crie uma pasta temporária e use o comando "dpkg -x",
especificando o pacote e em seguida a pasta onde ele será extraído, como em:

$ dpkg -x amora-server_1.1-1_i386.deb amora

Outro comando útil é o "apt-get install --reinstall", que força a reinstalação do pacote (mesmo que ele
já esteja instalado e atualizado), o que permite resolver casos de arquivos corrompidos devido a desligamentos
incorretos ou problemas diversos. Basta descobrir de qual pacote o arquivo corrompido faz parte e em
seguida reinstalá-lo, como em:

$ sudo apt-get install --reinstall evolution-common


Concluindo, o dpkg pode ser usado também para salvar uma lista de todos os pacotes instalados no
seu PC e instalá-los todos de uma vez em outro PC com apenas três comandos. Esta dica é muito útil ao
reinstalar o sistema, já que permite "clonar" sua instalação atual, fazendo com que a nova instalação contenha
todos os softwares que você usa, sem precisar instalar pacote por pacote. Se você preservar os arquivos do
seu diretório home, terá uma instalação do sistema virtualmente idêntica à atual.

O primeiro passo é salvar a lista dos pacotes atualmente instalados usando o "dpkg --get-selections".
Originalmente ele simplesmente escreveria a lista na tela, mas a seta faz com que ela seja salva no arquivo
indicado:

$ sudo dpkg --get-selections > meubuntu.txt

Na hora de restaurar a instalação, use o "dpkg --get-selections" no diretório onde salvou o arquivo,
invertendo a seta para que ele leia a lista a partir do arquivo:

$ sudo dpkg --set-selections < meubuntu.txt

O passo final é usar o "apt-get dselect-upgrade" para instalar os pacotes selecionados, restaurando a
instalação:

$ sudo apt-get dselect-upgrade

Synaptic, gnome-app-install e outros gerenciadores

Além do gerenciador de atualizações e da dupla apt-get/aptitude, o Ubuntu inclui também o "gnome-


app-install" (Aplicativos > Adicionar/Remover), que serve como um gerenciador simples, para instalar
aplicativos comuns:

401
Ele é um aplicativo destinado a iniciantes, que permite instalar os programas mais usados com dois
cliques. A principal vantagem é justamente o fato de ele ser simples e mostrar apenas uma lista de aplicativos
mais usados, excluindo bibliotecas e componentes incomuns.

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 pode ser instalado em outras distribuições
derivadas do Debian via apt-get e também pode ser encontrado no Fedora e em outras distribuições da
família do Red Hat.

O Synaptic parece 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. Ele oferece, também, uma função de busca que é
bastante prática na hora de encontrar pacotes que você não lembra o nome, ou para localizar qual pacote
inclui um arquivo ou componente específico.

A parte que mais assusta ao abrí-lo pela primeira vez é a quantidade de pacotes disponíveis, já que ele
mostra todos os pacotes disponíveis em todos os repositórios ativados no "/etc/apt/sources.list", incluindo o
Universe, Backports e outros. Os pacotes estão, naturalmente, divididos em categorias. Clicando sobre cada
pacote, você vê a descrição e, nas propriedades, pode ver mais detalhes, como os arquivos que fazem parte do
pacote 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 ícone do Ubuntu ao lado do quadrado indica os pacotes que fazem parte do
repositório principal (ou seja, os que contam com suporte oficial), permitindo diferenciá-los dos pacotes que
fazem parte do Universe ou de outros repositórios:

402
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 todas 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. Essencialmente, é o mesmo trabalho feito pelo gerenciador de atualizações.

É possível também usar o próprio Synaptic para adicionar e remover fontes de atualizações, através do
"Configurações > Repositórios". Na verdade, a opção simplesmente abre o "Canais de Software", o mesmo
gerenciador que vimos anteriormente:

Dentro dos menus, você encontra mais algumas opções úteis. A opção "Editar > Consertar Pacotes
Quebrados", por exemplo, equivale ao comando "apt-get -f install", permitindo resolver automaticamente
problemas causados pela instalação manual de pacotes com dependências quebradas.

A opção "Editar > Adicionar CD-ROM" permite que você adicione CDs ou DVDs contendo
conjuntos de pacotes como repositórios para o apt-get, de forma que o Synaptic instale pacotes a partir dos
CDs ao invés de baixá-los da Internet.

Você pode gerar as mídias usando o APTonCD, que oferece uma opção fácil para fazer download dos
repositórios (certifique-se de ter bastante espaço em disco, já que repositórios como o Universe ultrapassam a
marca dos 10 GB de pacotes). Ele pode ser obtido no http://aptoncd.sourceforge.net/ ou diretamente via
apt-get ("sudo apt-get install aptoncd"). Se você acessa via proxy, pode configurar o Synaptic para utilizá-lo
através do "Configurações > Preferências > Rede".

403
Embora o Synaptic possa ser instalado no Kubuntu (e em outras distribuições que utilizam o KDE)
via apt-get, o fato de ele ser baseado no GTK2 faz com que ele não seja usado por padrão. O substituto
tradicional era o Adept (que apesar de ser um projeto independente, tinha uma interface bastante similar à do
Synaptic). Entretanto, a partir do Kubuntu 9.04 ele deu lugar ao KpackageKit, um gerenciador bem mais
simples, baseado no PackageKit do Fedora.

Uma dica com relação aos gerenciadores de pacotes é 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". Isso se aplica também a casos em que você está com o Synaptic
aberto e tenta fazer alguma instalação via linha de comando usando o apt-get.

Concluindo, o aptitude também oferece uma interface de gerenciamento de pacotes, que é bastante
popular entre administradores de sistemas, já que pode ser usada em servidores sem interface gráfica
instalada, acessada via SSH. Para usá-la, basta chamar o aptitude sem argumentos, como em "sudo aptitude":

A interface é toda controlada através de atalhos de teclado, o que faz com que ela possa ser usada de
maneira bastante eficiente depois de pegar o jeito, mas, ao mesmo tempo, faz com que ela seja horrivelmente
inconveniente para quem está começando agora.

Você pode atualizar as listas (apt-get update) pressionando a tecla "u", marcar um pacote para
instalação ou atualização selecionando-o na lista e pressionando a tecla "+", remover pacotes pressionando "-
" e assim por diante (pressione a tecla "?" para ver a lista dos atalhos disponíveis e "q" para voltar ao menu
principal). Assim como no caso do Synaptic, você pode marcar várias operações e executá-las de uma só vez
pressionando a tecla "g".

Codecs, plugins, drivers e outros pacotes adicionais

O formato mais rudimentar para codificação de áudio é o WAV, que simplesmente armazena o som
em formato não comprimido. Similarmente, o formato RAW permite salvar vídeos sem compressão,
simplesmente gerando uma sequência de imagens em bitmap com os quadros do vídeo. Os dois formatos são
bastante simples e exigem pouco processamento para serem exibidos.

O grande problema é que os arquivos são muito grandes, o que os torna impróprios para transmissão
via web, ou mesmo para uso em sistemas de TV digital. Isso levou ao surgimento de diversos sistemas de
compressão de áudio e vídeo, como o MP3, AAC, Vorbis (OGG), FLAC, MPEG-4, Theora, WMV e tantos
outros, que permitem gerar arquivos menores.

Estes formatos podem ser divididos em dois grupos: os formatos livres, como o OGG, o FLAC e o
Theora (cujos codecs podem ser distribuídos livremente e que por isso podem ser encontrados pré-instalados
em quase todas as distribuições atuais) e os formatos proprietários e/ou patenteados, como o MP3, AAC,

404
MPEG-4, etc. cujos proprietários criam obstáculos para uso no Linux (e para a inclusão em players open-
source ou gratuitos de maneira geral), restringindo ou cobrando royalties sobre a distribuição dos codecs.

Por melhores que sejam os codecs livres, na maioria dos casos a escolha do codec usado não é
exatamente uma escolha, pois é feita não por você, mas sim por quem gerou o arquivo. Isso faz com que, no
final das contas, você não tenha muita escolha a não ser manter uma boa coleção de codecs instalados, de
maneira a poder abrir vários tipos de arquivos.

Entram em cena então os projetos de codecs open-source, como o Lame, que permite ouvir e gerar
arquivos mp3. Eles são desenvolvidos através de processos de engenharia reversa, onde o desenvolvedor
analisa o resultado da codificação e decodificação usando os codecs originais e desenvolve um algoritmo
próprio, que produza um resultado similar. Estes algoritmos, juntamente com o restante do código-fonte, são
protegidos pela lei da livre expressão, uma vez que são apenas uma forma de descrever o funcionamento do
algoritmo. Entretanto, quando compilados eles se enquadram na questão das patentes, o que dificulta a
distribuição.

É importante enfatizar que a distribuição dos pacotes compilados do Lame e de outros codecs open-
source não tem nada de ilegal. O grande problema é que ela abre margem para cobrança de royalties por parte
dos detentores dos direitos, o que faz com que praticamente nenhuma das grandes distribuições os incluam
por padrão, muito embora você possa instalá-los facilmente através de repositórios adicionais, como no caso
do PLF (do Mandriva) e o Medibuntu.

Nas primeiras versões do Ubuntu, a Conical adotou uma postura bem conservadora, não incluindo os
codecs em nenhum dos repositórios e não oferecendo nenhuma maneira simples de instalá-los. Com isso, os
usuários precisavam adicionar os repositórios e instalá-los manualmente, o que levou ao surgimento de
projetos como o Automatix, um conjunto de scripts que automatizava a instalação.

Nas versões atuais, as coisas são muito mais simples. A maior parte dos pacotes necessários são
disponibilizados através do repositório multiverse e, ao tentar abrir um arquivo em um formato não
suportado, o reprodutor de mídia dispara um assistente que localiza os pacotes necessários e oferece a
instalação:

Você pode também instalar os pacotes diretamente usando o apt-get:

# apt-get install gstreamer0.10-lame gstreamer0.10-ffmpeg \


gstreamer0.10-plugins-good gstreamer0.10-plugins-bad-multiverse \
gstreamer0.10-plugins-ugly-multiverse

405
Outra facilidade é o pacote "ubuntu-restricted-extras", um metapacote que se encarrega da instalação
de diversos componentes, incluindo o suporte a flash e java no Firefox, um conjunto bastante completo de
codecs e até mesmo o pacote msttcorefonts, que instala algumas fontes truetype do Windows:

$ sudo apt-get install ubuntu-restricted-extras

Assim como outros metapacotes, o ubuntu-restricted-extras é apenas um pacote vazio, que lista vários
outros pacotes em sua lista de dependências. Ao instalá-lo, o apt verifica a lista e instala junto todos os
pacotes citados. Em outras palavras, ele é apenas uma âncora, destinada a facilitar a instalação de um grupo
de outros pacotes. Instalá-lo, equivale a instalar manualmente os seguintes pacotes:

gstreamer0.10-plugins-ugly
gstreamer0.10-plugins-ugly-multiverse
msttcorefonts
flashplugin-nonfree
unrar
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse
gstreamer0.10-ffmpeg
libavcodec-unstripped-51
gstreamer0.10-pitfdll
libmp3lame0
libdvdread3
sun-java6-plugin
Para ativar o suporte a DVDs protegidos nos players de vídeo, é preciso instalar o pacote libdvdcss2,
que inclui a biblioteca necessária para quebrar a encriptação. Ele complementa o pacote "libdvdread3", que
permite visualizar os menus de abertura dos DVDs e está disponível no repositório do Medibuntu, que você
precisa ter ativado previamente:

$ sudo apt-get install libdvdcss2

Diferente de softwares anteriores, que utilizavam um conjunto de chaves de encriptação crackeadas


para ganhar acesso aos DVDs, o libdvdcss2 utiliza um sistema mais elegante, onde a biblioteca gera um
conjunto de chaves de desencriptação e testa uma a uma até encontrar uma que permita abrir o disco. A
legalidade do libdvdcss2 nunca foi contestada na justiça (e é improvável que isso aconteça agora, quando o
DVD já está em processo de substituição pelo BlueRay), mas a possibilidade de contestação com base no
DMCA (a lei norte-americana que proíbe a circunvenção de sistemas de criptografia) faz com que ele não seja
incluído nos repositórios oficiais do Ubuntu, daí a necessidade de instalá-lo a partir do Medibuntu.

Uma vantagem de utilizar o libdvdcss2 é que ele permite que o player ignore a seleção de região do
drive, permitindo que você assista DVDs de qualquer parte do mundo. A maioria dos DVDs são abertos
instantaneamente usando uma das chaves geradas, mas alguns obrigam o sistema a realizar um ataque de
força bruta, que demora vários minutos. Nesses casos, o player fica um bom tempo tentando abrir o DVD
até que consiga quebrar o algoritmo.

Uma curiosidade é que o libdvdcss2 é largamente utilizado também por players de mídia no Windows,
como uma maneira de incluir suporte a DVDs sem precisar pagar royalties, além de ser também utilizado no
VLC.

Outro pacote recomendável em se tratando de formatos de mídia é o w32codecs, que permite abrir
arquivos WMV e QuickTime. Ele inclui alguns arquivos .dll extraídos dos players para Windows o que faz
com que (muito embora os players sejam de uso gratuito) ele seja considerado proprietário e por isso não seja
incluído nos repositórios principais. Este é mais um pacote que pode ser encontrado apenas no Medibuntu:

$ sudo apt-get install w32codecs

Se por acaso a placa de som não tiver sido detectada pelo sistema, experimente instalar o pacote "alsa-
firmware". Ele inclui alguns firmwares proprietários que são necessários para ativar algumas placas, como a
ESS Maestro3, Tascam USX2Y USB, Turtle Beach Wavefront e a Yamaha DS-1 PCI. Depois de instalá-los,
rode o "sudo alsaconf" no terminal (ou reinicie o micro) e ela deverá passar a funcionar normalmente:

$ sudo apt-get install alsa-firmware

406
O Medibuntu inclui também pacotes para o Acrobat Reader
(http://get.adobe.com/br/reader/otherversions/), o Skype (http://skype.com/download/skype/linux/) e o
Google Earth (http://earth.google.com.br/download-earth.html).

Estes pacotes possuem exatamente os mesmos arquivos que seriam copiados ao instalar os aplicativos
manualmente. A vantagem é que a instalação é mais simples e você passa a poder atualizá-los via apt-get,
juntamente com o restante do sistema:

$ sudo apt-get install acroread skype googleearth

Caso esteja interessado no Picasa ou no Google Desktop, baixe o pacote .deb no


http://desktop.google.com/linux/ ou http://picasa.google.com/linux/ e instale usando o dpkg, como em:

$ sudo picasa_3.0-current_i386.deb

Estes pacotes são desenvolvidos para não possuírem dependências externas, sendo assim instaláveis
no Ubuntu, no Debian, ou em qualquer distribuição derivada deles. Em compensação, o fato de os pacotes
incluírem todos os componentes necessários, faz com que eles sejam muito grandes. Se eles fossem lançados
como aplicativos open-source e os pacotes fossem compilados pela equipe do Ubuntu, aproveitando os
componentes já incluídos no sistema, os pacotes seriam bem menores.

Com relação aos players de mídia, o Ubuntu utiliza por padrão o Totem, que é o player padrão do
GNOME. Ele foi criticado nas primeiras versões por incluir poucas funções, mas nas versões atuais ele se
tornou um player bastante competente. De qualquer maneira, é interessante ter à mão também o VLC e o
Mplayer, que permitem abrir muitos vídeos danificados ou em formatos exóticos, onde o Totem pede água:

$ sudo apt-gt install vlc mplayer

Outra boa opção é o SMPlayer, que combina as funções do Mplayer com uma interface bem mais
atual. Como comentei no capítulo do Mandriva, ele é baseado na biblioteca QT, mas, como não utiliza
componentes do KDE, ele não possui um overhead muito grande quando usado sobre o GNOME:

$ sudo apt-get install smplayer

Concluindo, temos a questão dos drivers restritos. Um problema clássico das distribuições Linux que,
em maior ou menor grau, persiste até hoje, é a questão dos drivers proprietários, que são distribuídos em
formato binário (ou seja, sem que o código-fonte seja disponibilizado) ou através de licenças restritivas, que
impedem a redistribuição. Estes dois fatores fazem com que as grandes distribuições não os incluam por
padrão, resultando no clássico problema de você precisar baixar e instalar o driver manualmente.

O "Drivers de hardware" (Gerenciador de drivers restritos) foi a solução encontrada pelos


desenvolvedores do Ubuntu para facilitar a instalação dos drivers, sem contudo precisar incluí-los diretamente
na distribuição. Ele é um utilitário que detecta o uso de dispositivos que precisam de drivers adicionais e se
oferece para instalá-los automaticamente:

407
A lista inclui os drivers 3D para placas da ATI e da nVidia, drivers para placas wireless com chipset
Atheros (que nas versões recentes passaram a vir pré-instalados no sistema) e também drivers para algumas
impressoras, softmodems e placas de TV.

Embora ajude, o utilitário está longe de ser infalível, por isso problemas são relativamente comuns. Na
maioria dos casos, você pode simplesmente desativar o driver e refazer a instalação usando os passos
manuais, mas, em casos de problemas na instalação dos drivers 3D, você pode cair no clássico problema do
X não abrir mais. Nessas situações, a solução é pressionar Ctrl+Alt+F2 para ir ao terminal de texto e remover
o driver manualmente, reinstalando o driver open-source em seguida, como em:

# apt-get remove --purge fglrx* xserver-xorg-video-ati


# apt-get install xserver-xorg-video-ati

Note que os pacotes com os drivers do X.org no Ubuntu recebem todos o prefixo "xserver-xorg-
video", como em "xserver-xorg-video-nv" ou "xserver-xorg-video-intel". Isso permite que você encontre os
pacotes com uma certa facilidade, usando a tecla TAB para ver as possibilidades.

Outra iniciativa para facilitar a instalação dos drivers de placas ATI e nVidia no Ubuntu (este não
suportado oficialmente) é o Envy, disponível no: http://albertomilone.com/nvidia_scripts1.html. Ele é um
utilitário gráfico que identifica a placa e se oferece para instalar o driver manualmente.

Se você preferir instalar o driver através do pacote oficial, o procedimento também é simples. Acesse a
área de downloads no http://www.nvidia.com e baixe o driver para Linux, indicando corretamente o modelo
da placa e se você está usando uma distribuição compilada para processadores de 32 ou 64 bits. Certifique-se,

408
também, de que o pacote "build-essential" está instalado (ele é necessário para que o instalador consiga gerar
o módulo para o kernel).

O driver da nVidia só pode ser instalado através de um terminal de texto puro e sem o X aberto, por
isso é necessário mudar para um dos terminais de modo texto, pressionando "Ctrl+Alt+F1" (ou qualquer
outra tecla de função até o F6).

Logue-se no terminal como root (ou, se não tiver definido a senha de root, logue-se com o login de
usuário e mude para o root usando o "sudo su"). Acesse a pasta onde salvou o driver e ative a permissão de
execução para ele, como em:

# chmod +x NVIDIA-Linux-x86-180.20-pkg1.run

Em seguida, finalize o GDM, o que encerrará o ambiente gráfico:

# sudo /etc/init.d/gdm stop

Com isso, falta apenas executar o arquivo e seguir com a instalação, deixando que ele gere a
configuração do X no final do processo:

# ./NVIDIA-Linux-x86-180.22-pkg1.run

Concluída a instalação, reabra o X usando o "/etc/init.d/gdm start" ou simplesmente reinicie o micro.

O instalador da nVidia salva um backup do arquivo de configuração original no


"/etc/X11/xorg.conf.backup". Nos raros casos em que o X não abre depois de instalado o driver (sintoma
de que a configuração não foi gerada corretamente), você pode restaurar o backup para recuperar a
configuração original.

CONFIGURAÇÃO DE IMPRESSORAS

As versões recentes do Ubuntu utilizam o "system-config-printer", que é o mesmo utilitário de


configuração de impressoras usado no Fedora (versões antigas usavam o "gnome-cups-add", que era bem
mais limitado). Ele está disponível através do "Sistema > Administração > Impressão" e permite adicionar
impressoras (tanto impressoras locais quanto de rede) de forma bastante simples através do "Server > New >
Printer".

Para instalar uma impressora compartilhada em uma máquina Windows (ou em um servidor Linux
rodando o Samba), você usaria a opção "Windows Printer via Samba", usando a função de localizar, ou
especificando o endereço da impressora na rede, como em "smb://servidor/impressora" e, para adicionar
uma impressora compartilhada através do Cups, usaria o "Internet Printing Protocol (ipp)" indicando o
endereço do servidor:

Entretanto, na grande maioria dos casos você não precisará fazer nenhuma configuração adicional, já
que as impressoras locais suportadas são automaticamente adicionadas pelo Cups, com a interface servindo

409
mais para ajustar as preferências de impressão e (em um servidor, ou em uma máquina usada por vários
usuários) também as permissões de uso das impressoras.

Uma crítica comum às versões antigas do Ubuntu era que elas não ofereciam nenhuma opção simples
para compartilhar impressoras usando o recurso nativo de compartilhamento do Cups (acessível através da
porta 631) nem para acessar impressoras compartilhadas em outras máquinas. Naturalmente, era
perfeitamente possível fazer a configuração manualmente, editando o arquivo "/etc/cups/cupsd.conf", mas
esta não era uma solução muito prática.

Isso foi solucionado com a inclusão de uma seção dentro da configuração, disponível através do
"Server > Settings". Basta marcar a opção "Publish shared printers connected to this system" para que as
impressoras sejam automaticamente compartilhadas com outras máquinas Linux da rede. Para que o
compartilhamento funcione, é necessário que a porta 631 esteja aberta no firewall (caso usado):

Como pode imaginar, a opção "Mostrar impressoras compartilhadas por outros sistemas" é destinada
a ativar a configuração automática de impressoras compartilhadas em outras máquinas, e deve ser ativada em
todas as outras máquinas da rede de onde você pretender usar a impressora.

Desde que as outras máquinas também estejam com a porta 631 aberta no firewall, e estejam
utilizando uma versão minimamente atual do Cups, a configuração é também feita de forma automática.

Por default, o servidor permite apenas impressões a partir de micros da rede local (ele verifica a faixa
usada pela interface e cruza as informações com uma tabela de endereços de rede interna), o que evita a
possibilidade de você esquecer a impressora compartilhada ao se conectar diretamente à web (usando um
modem 3G, por exemplo), e algum engraçadinho se aproveitar disso para acabar com seus cartuchos.

Concluindo, a opção "Permitir administração remota" permite que a interface de administração do


Cups seja acessada via navegador por outras máquinas da rede local, através da porta 631 do seu micro, como
em "http://192.168.1.21:631". Por padrão, a interface pode ser acessada apenas localmente.

É possível também acessar as impressoras compartilhadas através de PCs com o Windows, mas nesse
caso você precisa fazer a instalação manualmente, através do "Painel de Controle > Impressora > Adicionar
Impressora > Impressora de rede".

Selecione a opção "Conectar-se a uma impressora na internet ou na intranet" e preencha o campo


"URL" com o endereço do servidor, seguido por um "/printers/" e o nome da impressora (da mesma
maneira que aparece na interface de administração) como em "http://192.168.1.1:631/printers/Officejet-
J3600-series". Você vai precisar ter em mãos os CDs com os drivers para Windows da impressora, já que ele
não é capaz de usar os drivers do Cups, como no caso dos clientes Linux.

Para as impressoras e multifuncionais da HP, é usado o "Sistema > Preferências > HPLIP Toolbox".
Como você já deve ter me visto dizer várias vezes, as impressoras e multifuncionais da HP possuem um
excelente suporte no Linux, graças aos esforços da própria HP em desenvolver drivers e utilitários open-
source para Linux. Graças a isso, os drivers de impressão são diretamente integrados às distribuições e (desde
que você esteja usando uma distribuição suficientemente recente) as impressoras são detectadas
automaticamente quando plugadas.

410
O HPLIP Toolbox complementa os drivers, oferecendo as opções para enviar fax e escanear imagens
(disponíveis ao usar uma multifuncional), monitorar o nível dos cartuchos e outras funções. Ele possui
também uma opção para detectar novas impressoras (Atualizar dispositivo), mas, na grande maioria dos
casos, ela não é necessária, já que as distribuições atuais são capazes de detectar as impressoras
automaticamente:

Para usar as funções de escaneamento de páginas, é necessário instalar os pacotes "sane" e "xsane",
que não são instalados por padrão no Ubuntu:

$ sudo apt-get install sane xsane

Com o Sane instalado, clicar no "Iniciar trabalho de digitalização" abre uma janela do Xsane, onde
você pode ajustar as opções de cor, brilho contraste e assim por diante. Terminado, basta clicar no
"Digitalizar" para escanear a imagem:

Se você não gostou da interface espartana do Xsane, outra opção é utilizar o Flegita (também
chamado de "GNOME Scan", que é uma interface alternativa, baseada na biblioteca GTK. Ele oferece um
visual mais agradável e vai mais direto ao ponto, exibindo apenas as opções mais usadas. Para usá-lo, basta
instalar o pacote "flegita" usando o gerenciador de pacotes, ou simplesmente usar o "sudo apt-get install
flegita".

Concluindo, caso a impressora não esteja sendo detectada, verifique se o serviço "cups" está mesmo
ativo (ele fica ativado por padrão no Ubuntu, mas sempre existe a possibilidade de que você o tenha
desativado ou desinstalado o pacote por engano):

$ sudo /etc/init.d/cups restart

411
Se for o caso, você pode instalar ou reinstalar os pacotes usando o:

$ sudo apt-get install --reinstall cups cups-driver-gutenprint hplip hplip-data

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/

USANDO O KDE NO UBUNTU

A decisão da equipe do Ubuntu em utilizar o GNOME como desktop padrão, levou ao surgimento
do Kubuntu (http://www.kubuntu.org/), uma versão derivada que tem por objetivo oferecer uma opção
baseada no KDE.

A ideia do Kubuntu é manter as principais características do Ubuntu original, compartilhando do


mesmo repositório de pacotes, utilizando uma versão levemente modificada do mesmo instalador e
mantendo o uso dos mesmos serviços e utilitários básicos; mas, substituindo o ambiente de trabalho e os
aplicativos por versões alternativas, baseadas na biblioteca QT.

Um bom exemplo de como a ideia é levada a sério pelos desenvolvedores é que o Kubuntu não inclui
o Firefox por padrão (já que ele é baseado na biblioteca GTK), utilizando o Konqueror como navegador
default. Naturalmente, isso pode ser resolvido rapidamente instalando o pacote "firefox" usando o
gerenciador de pacotes, mas o fato de não incluírem um aplicativo utilizado por 80% dos usuários apenas
devido à questão da biblioteca, mostra quais são as prioridades.

Por ser desenvolvido por uma equipe menor e desfrutar de uma base de usuários igualmente reduzida,
o Kubuntu acaba não recebendo a mesma atenção que o irmão mais velho, o que resulta em um número
maior de bugs e de detalhes a corrigir depois da instalação.

Apesar disso, se você gosta da proposta do Ubuntu, mas prefere o KDE, o Kubuntu pode ser uma
boa opção, desde que você tenha um pouco de paciência em pesquisar soluções e fazer pequenos ajustes
manualmente.

A equipe do Kubuntu é também a responsável pelo desenvolvimento dos pacotes do KDE e de


aplicativos baseados nele, que estão disponíveis no repositório Universe, garantindo que aplicativos como o
Konqueror e o K3B possam ser instalados também sobre o Ubuntu, sem percalços. Basta usar o apt para
instalar os aplicativos desejados, como em:

$ sudo apt-get install k3b amarok

Como de praxe, o volume de dependências ao instalá-los sobre o Ubuntu é considerável, uma vez que
será necessário instalar também as bibliotecas do KDE, mas isso não chega a ser um grande problema para
quem utiliza uma conexão de banda larga. O uso de memória ao rodar aplicativos como o K3B sobre o
Ubuntu é também relativamente alto, mas, novamente, esse não é um grande problema ao usar uma máquina
atual.

Se você preferir instalar o KDE completo, a melhor opção é instalar o meta-pacote "kubuntu-
desktop", que instala um conjunto completo (pouco mais de 240 MB), contendo o KDE e o conjunto básico
de aplicativos. A partir daí, ambos os ambientes ficam instalados e você pode escolher qual usar na tela de
boot:

$ 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

412
Uma vez instalados, os programas do KDE passam a aparecer também no iniciar do GNOME e vice-
versa, permitindo que você utilize os aplicativos dos dois ambientes conforme necessário. Um ajuste
importante depois da instalação é configurar o tema visual e as fontes dos aplicativos do KDE, para que eles
fiquem parecidos com os do GNOME. Para isso, abra o Systemsettings e ajuste as opções na seção
"Aparência:

MAIS OPÇÕES DE ADMINISTRAÇÃO

No tópico sobre configuração do GNOME, mostrei as opções do "Sistema > Preferências", que
inclui as opções de usuário. Vamos agora ao resumo das opções do "Sistema Administração" que ainda não
foram abordadas em outros tópicos:

Autorizações: As primeiras versões do Ubuntu simplesmente utilizavam o gksu para executar as


ferramentas administrativas que precisavam de acesso de root, solicitando a senha antes de abrir. A partir do
Ubuntu 8.04, passou a ser usado o PolicyKit, que permite ajustar as permissões de maneira mais granular,
melhorando a segurança geral do sistema. Visualmente, não existem grandes mudanças, já que os aplicativos
continuam confirmando sua senha antes de permitir acesso às configurações, mas internamente o sistema é
bem diferente.

O "Autorizações" (polkit-gnome-authorization) é uma interface para o PolicyKit, que permite ajustar


as permissões. Ele é intencionalmente pouco intuitivo (já que a ideia é que seja usado apenas por usuários
avançados) mas a configuração não é tão complicada quanto pode parecer à primeira vista.

A coluna da esquerda inclui os aplicativos, organizados com base no desenvolvedor (GNOME,


Ubuntu, etc.) e a da direita, permite ajustar a autenticação. O "Console Ativo: No" simplesmente desativa os
botões de destravamento, bloqueando o acesso às opções administrativas dentro do aplicativo, para todos.

O "Admin Authentication" (que é o default para a maioria das opções) faz com que elas fiquem
acessíveis apenas para os usuários do sistema que podem usar o sudo, enquanto o "Authentication" libera o
uso para todos os usuários do sistema (depois de confirmar a senha). As opções "keep session" e "keep
indefinitely" permitem salvar a senha (apenas durante a sessão, ou indefinidamente), para que você não
precise digitá-la novamente toda hora:

413
De uma maneira geral, você utilizará o "Autorizações" apenas quando quiser liberar o acesso a algum
utilitário específico para usuários não administrativos (ou seja, outros usuários do sistema, que não foram
incluídos no grupo "admin" e que por isso não possuem permissão para usar o sudo) ou quando quiser
mudar o default para que a senha seja solicitada apenas uma vez por sessão.

Create a USB statup disk: Permite instalar o sistema em um pendrive, com direito a uma imagem de
loopback para salvar as configurações e programas adicionais. Veja mais detalhes no tópico sobre instalação
em pendrives, logo adiante.

Data e Hora: Apesar de ser uma configuração básica, o ajuste da data no Linux é uma configuração de
sistema, que pode ser alterada apenas pelo root, daí a necessidade de clicar no "Desbloquear" para liberar a
edição. O principal motivo disso é que o horário do sistema é utilizado por diversos serviços, tendo efeito até
mesmo sobre o uso das chaves PGP.

Se o relógio estiver muito atrasado (como em casos em que a placa-mãe perde as configurações do
Setup e o relógio volta à data default, alguns anos no passado) o apt-get passa a exibir um "Unknown error
executing gpg" ao tentar instalar pacotes.

A principal dica é que você não precisa ficar se preocupando em ajustar o horário do relógio
manualmente, nem ficar corrigindo atrasos causados por imprecisão do relógio da placa-mãe; basta usar a
opção "Configuração: Manter sincronizado com servidores na Internet", que ativa o sincronismo via NTP:

Ao ativar a instalação, o utilitário pedirá permissão para instalar o NTP, que é o serviço responsável
pelo sincronismo do relógio. O NTP permite que o relógio da sua máquina seja sincronizado em relação a
servidores ligados a relógios atômicos ou a sistemas de GPS (que também fornecem um horário bastante
preciso, cortesia dos satélites de GPS que orbitam a terra), com o sincronismo sendo feito de maneira

414
automática. O protocolo NTP leva em conta o ping entre as máquinas e outros fatores para fazer as
atualizações, o que resulta em um horário incrivelmente preciso.

Os servidores NTP atendem clientes de todo o mundo, independentemente do fuso horário, pois são
configurados para utilizar um horário comum, o UTC (Universal Time Zone). Os clientes ajustam o horário
de acordo com o fuso horário local, daí a importância de indicar corretamente o fuso-horário na primeira
opção. O ajuste em relação ao horário de verão é também aplicado de maneira automática, graças ao trabalho
da equipe que mantém o pacote "tzdata", que inclui uma tabela com as datas de início e fim do horário de
verão em diversos países do mundo.

Você pode também sincronizar o relógio manualmente, a qualquer momento, usando o comando
"ntpdate -u", seguido do endereço do servidor de sincronismo (é necessário que o pacote "ntpdate" esteja
instalado), como em:

$ sudo ntpdate -u pool.ntp.org

Drivers de hardware: Este é o link para o gerenciador de drivers restritos, que permite instalar os
drivers da nVidia, ATI e outros drivers proprietários no Ubuntu. Na maioria dos casos, você não precisará se
preocupar com ele, uma vez que ele fica ativo ao lado do relógio e pergunta se você quer instalar os drivers
correspondentes sempre que detecta uma placa compatível. Entretanto, ele fica disponível para que você
possa desativar os drivers em caso de problemas.

Editor de Partições: Este nada mais é do que um atalho para o Gparted, sobre o qual falei no primeiro
capítulo.

Ferramentas de rede: Este é um utilitário de verificação e diagnóstico de redes, que mostra a


configuração atual de cada uma das interfaces de rede (incluindo os endereços, volume de dados transmitidos,
MTU, velocidade do link e outras informações) e inclui opções para traçar rotas, verificar as portas abertas
em outras máquinas, ver as conexões abertas e assim por diante. Ele é na verdade uma interface para
ferramentas em texto, como o ifconfig, ping, netstat, traceroute, nmap, dig, finger e whois, que são velhas
conhecidas dos administradores de sistema:

Ele facilita bastante as coisas em diversas situações, permitindo que você faça uma varredura de portas
em uma máquina da rede (ou em um servidor remoto) de forma rápida, sem precisar lidar com os parâmetros
do nmap, por exemplo.

Janela de início de sessão: Este é um atalho para o gdmsetup, que é o configurador usado em
distribuições que utilizam o GDM como gerenciador de login. Além das opções visuais e de acessibilidade, o
configurador inclui opções para ativar o XDMCP, que permite que você se logue em outras máquinas da rede
e rode aplicativos remotamente.

415
Por não utilizar nenhum tipo de encriptação, o XDMCP é bastante inseguro, mas você pode usá-lo
como uma forma simples de acessar outras máquinas da rede local. Para isso, basta acessar a aba "Remoto" e
mudar a opção para "Simples com o navegador de faces" (a opção "Mesmo que o local", não funciona em
algumas versões do GDM, um bug bem conhecido).

Para que a alteração entre em vigor, é necessário reiniciar a máquina, ou reiniciar o serviço "gdm"
(/etc/init.d/gdm restart) através de um dos terminais de texto puro. A partir daí, basta usar a opção "Opções
> Sessão Remota via XDMCP" na tela de login das outras máquinas para abrir a sessão remota. Feita a
conexão, você vê a tela de login do servidor e pode se logar usando qualquer um dos logins cadastrados.

Na aba "Segurança" você pode ativar ou desativar o login automático (a mesma opção que é oferecida
durante a instalação) e, caso realmente faça questão, ativar o login como root (a opção "Permitir início de
sessão do administrador"), que vem desativado por padrão.

Log do sistema: Este é um gerenciador de logs simples, que reúne vários arquivos de log do sistema
em um único local, facilitando o acesso a eles.

Serviços: Este é o atalho para o services-admin, o gerenciador de serviços do sistema. Como comentei
no primeiro capítulo, ele mostra apenas um conjunto reduzido de serviços, considerados opcionais. Para ver a
lista completa, é necessário abrir o terminal e ir diretamente à pasta "/etc/rc2.d", onde ficam os links que
carregam os serviços durante o boot.

Outra observação importante é que, no Ubuntu, a maioria dos componentes do sistema carregados
durante o boot, não são serviços mas sim componentes do GNOME e acessórios diversos, carregados
durante a abertura do ambiente gráfico, que podem ser desativados através do "Sistema > Preferências >
Sessões".

Suporte a Idiomas: Por default, o instalador do Ubuntu baixa apenas os pacotes de idioma para a
linguagem escolhida na tela de boot. Entretanto, você pode instalar o suporte a vários idiomas e alternar entre
eles conforme desejado. Isso acaba sendo bastante útil se você divide o PC com pessoas que falam outras
línguas, ou se precisar de screenshots do sistema em outros idiomas para usar em artigos ou wikis.

Teste de hardware: Uma das grandes dificuldades em qualquer distribuição é manter o sistema
compatível com o maior número de máquinas possível, evitando regressões (quando um componente que
funciona em uma versão deixa de funcionar na seguinte), adicionando novos drivers e incluindo workarounds
(scripts, exceções ou remendos diversos) para adicionar suporte a periféricos difíceis. Este é um problema
ainda mais crítico no caso do Ubuntu, onde o sistema se propõe a detectar tudo automaticamente,
escondendo as configurações.

O teste de hardware (hwtest-gtk) é uma ferramenta desenvolvida para permitir a participação dos
usuários. Ele executa um conjunto de testes, reunindo informações sobre o sistema e fazendo perguntas no
estilo "você ouviu o som?" para identificar problemas com a configuração. As informações coletadas são
registradas em uma base de dados, que permite que os desenvolvedores possam localizar problemas e fazer os
ajustes necessários.

416
Executar o teste durante a fase beta das novas versões e enviar o report, é uma maneira de aumentar a
possibilidade do seu PC ser suportado sem percalços por ela. Outra opção, é abrir diretamente bug-reports no
Launchpad com os problemas que encontrar. Ele está disponível no:
https://launchpad.net/ubuntu

CRIANDO UM DIRETÓRIO ENCRIPTADO

Um problema trazido pela popularização dos notebooks e netbooks é o roubo de dados. Se você
simplesmente deixa todos os seus arquivos e senhas salvos no notebook, corre um sério risco de todas estas
informações virem a cair em mãos erradas caso ele seja roubado, um risco que acaba sendo, em muitos casos,
muito maior do que o valor do equipamento propriamente dito. Vamos então a uma rápida explicação sobre
as opções de encriptação:

A solução clássica: A solução clássica para o problema seria criar uma partição encriptada usando o
cryptsetup e passar a usá-la para armazenar os arquivos confidenciais. É possível também utilizá-la para
armazenar as pastas do Firefox, do leitor de e-mails e outros aplicativos; basta mover as pastas para dentro do
diretório onde ela for montada e substituir as pastas ocultas dentro do home por links.

O primeiro passo nesse caso é instalar os dois pacotes, o que no Ubuntu e em outras distribuições
derivadas do Debian pode ser feito via apt-get:

# apt-get install cryptsetup hashalot

Em outras distribuições, procure pelo pacote "cryptsetup", que hoje em dia é muito comum. Se tudo
mais falhar, você pode baixar um pacote genérico ou o pacote com o código-fonte no
http://luks.endorphin.org/dm-crypt.

Em seguida, use o Gparted para redimensionar uma das partições existentes e criar uma nova partição,
que será encriptada. O tamanho varia de acordo com o volume de arquivos que pretender armazenar dentro
dela: se forem apenas alguns arquivos soltos, pode criar uma partição de 1 ou 2 GB, por exemplo.

O próximo passo é gerar a unidade encriptada, usando o cryptsetup. Para isso, usamos o comando
"cryptsetup --verbose --verify-passphrase luksFormat", seguido do device da partição que será usada, como
em:

# cryptsetup --verbose --verify-passphrase luksFormat /dev/sda7

Como gerar a unidade encriptada implica na destruição de todos os dados anteriormente gravados, ele
pede sua confirmação. Você precisa responder "YES", em letras maiúsculas para continuar.

Ele pede em seguida uma passphrase, que será usada para proteger a partição. Ela pode ser tanto uma
senha longa, quanto uma frase, que misture palavras e alguns caracteres aleatórios. Quanto mais longa a
passphrase, maior a segurança, mas como você precisará digitá-la cada vez que for acessar a partição, ela
também não pode ser grande demais :). Uma senha com 12 a 16 caracteres, ou uma frase com 3 palavras e
mais alguns caracteres adicionais já garantem uma segurança muito boa.

O acesso à unidade encriptada é feito através do próprio cryptsetup. Ele cria um dispositivo virtual,
através do qual os dados da unidade podem ser acessados. O dispositivo pode ser formatado e usado
normalmente, como se fosse uma partição de disco, e a encriptação/desencriptação dos dados é feita de
maneira transparente.

Para acessar a unidade, use o comando "cryptsetup luksOpen", especificando a partição e o nome do
dispositivo através do qual ela será acessada (ele será criado dentro do diretório "/dev/mapper"). No
exemplo, estou usando "cofre", mas você pode usar o nome que preferir:

# cryptsetup luksOpen /dev/sda7 cofre

Formate a unidade em EXT3, usando o comando "mkfs.ext3 -m 1". Você pode utilizar outros
sistemas de arquivos, mas o EXT3 é uma opção segura nesse caso:

# mkfs.ext3 -m 1 /dev/mapper/cofre

417
O parâmetro "-m 1" que incluí, faz com que o sistema reserve apenas 1% do espaço da partição para
uso do root, ao invés de 5%. Isso faz com que você fique com mais espaço disponível para os arquivos. O
"/dev/mapper/cofre" é o device através do qual a unidade encriptada é acessada. Ele é criado depois do
comando anterior.

Com isso, a partição está pronta. Para montá-la, usamos o comando "cryptsetup luksOpen" (para abrir
o acesso à partição) e em seguida o "mount" para montá-la, como em:

# cryptsetup luksOpen /dev/sda7 cofre


# mkdir /mnt/cofre
# mount /dev/mapper/cofre /mnt/cofre

Uma vez montada a partição, você pode copiar arquivos para a pasta "/mnt/cofre" de forma
transparente. A partir daí, fica faltando apenas ajustar as permissões da pasta e criar um link dentro do seu
diretório home, para que você possa copiar os arquivos com praticidade:

# chown -R gdh:gdh /mnt/cofre


# ln -sf /mnt/cofre /home/gdh/cofre

Com isso, seu diretório encriptado está pronto. Você pode começar a mover os arquivos confidenciais
para a pasta "cofre" e deixar que o cryptsetup cuide da encriptação. Como comentei, você pode também
mover as pastas do Firefox, do leitor de e-mails e de outros aplicativos que armazenem senhas e outras
informações para dentro do diretório encriptado (é necessário que o aplicativo correspondente esteja fechado
no momento em que mover a pasta), deixando um link apontando para a nova localização, como em:

$ cd /home/gdh/
$ mv .mozilla cofre/
$ ln -s cofre/.mozilla .mozilla

Graças ao link, o Firefox continua encontrando a pasta de preferências e continua abrindo


normalmente. A grande observação é que você passa a precisar montar o diretório encriptado a cada boot
antes de poder abrir o Firefox, mas isso pode ser automatizado escrevendo um pequeno script com os
comandos de montagem. Basta salvá-lo no seu diretório home executá-lo (ou configurar o GNOME/KDE
para executá-lo automaticamente) depois de fazer login:

#!/bin/sh
sudo cryptsetup luksOpen /dev/sda7 cofre
sudo mkdir /mnt/cofre
sudo mount /dev/mapper/cofre /mnt/cofre
Ao executar os comandos de montagem, a partição fica montada até que você desligue o micro,
deixando os arquivos expostos. É possível desmontá-la manualmente usando o "umount" e, em seguida, o
"cryptsetup luksClose", como em:

# umount /mnt/cofre
# cryptsetup luksClose /dev/mapper/cofre

A principal observação é que a partição encriptada pode ser acessada unicamente utilizando a
passphrase. Como o cryptsetup utiliza encriptação AES de 512 bits, é virtualmente impossível recuperar os
dados caso você a esqueça.

Partições encriptadas são também, de uma maneira geral, mais sensíveis a desligamentos incorretos e a
problemas diversos, o que, novamente, pode colocar os dados em risco. Devido a isso, é especialmente
importante manter um backup completo de todos os dados em outro local, até por que, o uso da encriptação
impede que os dados sejam acessados pelas pessoas erradas, mas não impede que seu notebook seja roubado
ou perdido.

A solução do Ubuntu: Como pôde ver, a configuração da partição encriptada usando o cryptsetup não
é particularmente complicada, mas ainda não é simples o suficiente para ser utilizada por usuários sem
conhecimentos técnicos. Pensando nisso, a equipe do Ubuntu desenvolveu uma solução mais simples para o
problema, usando o ecryptfs e um script de configuração, que está disponível a partir do Ubuntu 8.10.

418
O script cria o diretório "Private" dentro do seu home, assumindo a mesma função do diretório
"cofre" do exemplo anterior. Como vimos, a possibilidade de criar partições e pastas encriptadas no Linux
existe faz tempo, mas o script se destaca no sentido de tornar o processo de configuração bastante rápido e
simples. O primeiro passo é instalar o pacote:

$ sudo apt-get install ecryptfs-utils

Em seguida, execute o script, usando seu login de usuário:

$ ecryptfs-setup-private

O script se limita a confirmar sua senha de usuário e solicitar a passphrase que será usada para
encriptar o diretório. Você não precisará digitá-la cada vez que montar a pasta (por isso ela pode ser bem
longa e complexa), mas é importante anotá-la em algum lugar, pois você precisará dela caso precise montar o
diretório manualmente para recuperar os dados, em caso de problemas.

Todos os demais passos são executados automaticamente:

Enter your login passphrase:


Enter your mount passphrase [leave blank to generate one]:
Enter your mount passphrase (again):

Unable to read salt value from user's .ecryptfsrc file; using default
Done configuring.
Testing mount/write/umount/read...
Testing succeeded.
Por baixo dos panos, o script cria a imagem de loopback para salvar os arquivos (acessível através do
diretório oculto ".Private", dentro do home), salva a passphrase no arquivo ".ecryptfs/wrapped-passphrase",
que é encriptado usando sua senha de login (é por isso que você precisa digitar apenas a senha e não a
passphrase ao montar) e cria a pasta "Private", para acesso ao diretório encriptado.

A encriptação é feita através do eCryptFS, um sistema de arquivos criptográfico


incluído diretamente no kernel (a partir do 2.6.26), que permite criar imagens encriptadas dentro de
uma partição de dados. Diferente do que temos ao utilizar o cryptsetup (onde é necessário usar uma
partição, ou um arquivo de loopback de tamanho fixo), no eCryptFS a imagem é redimensionada
automaticamente conforme você coloca arquivos dentro dela.

Ao acessar a pasta Private, você verá o link para fazer a montagem. Basta clicar sobre ele (e, em
seguida, clicar no botão de reload do gerenciador de arquivos) para ativar a montagem:

Se você estiver utilizando o login manual, o diretório será montado automaticamente na inicialização.
Caso tenha ativado o login automático, então a montagem automática é desativada e você precisará clicar no
"Access Your Private Data" e confirmar sua senha de usuário antes de ter acesso à partição (uma restrição
proposital, já que não faria sentido combinar o login automático com a montagem automática do diretório).

419
Por default, a pasta encriptada fica montada até que você faça logout, mas você pode desmontá-la
manualmente quando quiser, usando o comando:

$ ecryptfs-umount-private

Da mesma maneira, você pode também montá-lo diretamente, sem precisar clicar no ícone, usando o:

$ ecryptfs-mount-private

Assim como no exemplo do cryptsetup, você pode mover os diretórios do Firefox, Evolution e outros
aplicativos que armazenem senhas ou e-mails para dentro do diretório encriptado, como em:

$ cd /home/gdh
$ mv .evolution .mozilla Private/
$ ln -s Private/.evolution .evolution; ln -sf Private/.mozilla .mozilla

Isso também funciona usando a montagem manual, desde que você se lembre de montar o diretório
antes de começar a abrir os aplicativos.

Montando manualmente: Em caso de problemas com o sistema, você pode recuperar os dados dando
boot com um live-CD do Ubuntu (ou outra distribuição baseada no kernel 2.6.26 ou mais recente) e fazer a
montagem manualmente.

Nesse caso, comece montando a partição onde o diretório home está armazenado, como em:

$ sudo su
# mount /dev/sda1 /media/sda1

Em seguida, acesse a pasta home e use o "mount -t ecryptfs" para montar a pasta encriptada, como
em:

# cd /media/sda1/home/gdh/
# mount -t ecryptfs .Private Private

Isso abrirá um assistente em texto, que confirmará uma série de opções antes de fazer a montagem.
Responda "passphrase" na primeira pergunta ("Select key type to use for newly created files") e forneça a
passphrase especificada durante a configuração inicial. Continuando, responda "aes" na segunda pergunta
("Select cipher"), "16" na terceira ("Select key bytes") e "n" na quarta ("Enable plaintext passthrough").

Como você está montando a partir do live-CD, ele exibirá um alerta, avisando:

WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],


it looks like you have never mounted with this key before.
This could mean that you have typed your passphrase wrong.
Would you like to proceed with the mount (yes/no)?
Responda "yes" para que ele continue com a montagem. Essa mensagem é exibida sempre que você
tenta montar o diretório usando um login diferente do que usou para fazer a configuração inicial.

Concluída a montagem, os arquivos ficarão disponíveis no diretório "Private", para que você possa
copiá-los para algum local seguro antes de reinstalar ou tentar reparar a instalação do sistema.

Como comentei, a passphrase é salva no arquivo ".ecryptfs/wrapped-passphrase", que é encriptado


usando a senha de login. Se você esqueceu a passphrase, é possível recuperá-la a partir do arquivo, desde que
você ainda se lembre da senha. Nesse caso, é usado (ainda dentro do home) o comando "ecryptfs-unwrap-
passphrase", como em:

# ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase "minhasenha"

Em situações normais, você deveria limpar o histórico (usando o comando "history -c") depois de
usar o comando, para evitar que a senha ficasse dando sopa no arquivo .bash_history, que armazena uma
cópia de todos os comandos executados no terminal. Entretanto, ao usar os comandos a partir do live-CD,
você não precisa se preocupar, já que tudo é armazenado no ramdisk e perdido ao reiniciar o micro.

420
Criando pastas manualmente: Concluindo, você pode também usar o eCryptFS para criar outras
pastas encriptadas manualmente, o que pode ser feito em qualquer distribuição com um kernel recente, sem
depender do script de configuração.

Nesse caso, instale o pacote "ecryptfs-utils", crie o diretório e use o "mount -t ecryptfs" para ativar o
uso da encriptação, como em:

$ mkdir cofre
$ chmod 700 cofre
$ sudo mount -t ecryptfs cofre cofre

Ele executará o assistente de montagem, perguntando o tipo de chave que será usado, o algoritmo de
encriptação e o comprimento da chave. A configuração mais comum é usar uma passphrase, com o aes e
chaves de 16 bytes (512 bits), mas você fica livre para testar outras configurações.

A partir daí, você pode desmontar a pasta usando o comando "umount", como em:

$ sudo umount cofre

E montá-lo novamente repetindo o comando de montagem, como em:

$ cd ~
$ sudo mount -t ecryptfs cofre cofre

O problema com o comando manual é que ele repete o assistente a cada montagem, fazendo com que,
além de digitar a passphrase, você precise indicar as mesmas opções a cada montagem.

Você pode evitar isso criando um pequeno script de montagem, incluindo todas as opções
diretamente no comando, de forma que você precise digitar apenas a passphrase, como em:

#!/bin/sh
cd ~
sudo mount -t ecryptfs cofre cofre -o \
key=passphrase,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_passthrough=n
Veja que a linha especifica as mesmas opções que você precisa responder ao usar o comando manual
("passphrase", "aes", "16", etc.), deixando de fora apenas a passphrase propriamente dita. Você pode ajustar
os parâmetros na linha de acordo com as configurações que utilizar.

FIREWALL NO UBUNTU

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 em um PC conectado diretamente à


Internet. Você pode fazer isso escrevendo um script simples de firewall, que simplesmente bloqueie o acesso
a todas as portas.

Um exemplo de firewall manual, que fecha todas as portas, permitindo que você consiga acessar a
rede e a Internet, mas, ao mesmo tempo, impedindo que outros micros acessem serviços ativos na sua
máquina seria:

iptables -A INPUT -i lo -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. Para desativar as regras, voltando a aceitar todas as
conexões, use o comando:

$ sudo iptables -F

421
... ele limpa as regras do Iptables, restaurando a configuração inicial.

Para permitir acessos provenientes dos micros da rede local, você inclui mais uma regra (antes das
outras duas), especificando a faixa de endereços usada pelos micros dentro da rede local. Substitua o
"192.168.0.0" pela faixa de endereços usada na sua rede:

iptables -A INPUT -p tcp -s 192.168.0.0/255.255.255.0 -j ACCEPT


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
Se preferir, você pode também especificar a interface de rede usada na rede local no lugar da faixa de
endereços, o que é mais adequado em casos em que você utiliza interfaces separadas para acessar a rede local
e a Internet. Um bom exemplo seria o caso de alguém que utiliza a interface eth0 (rede cabeada) para a rede
local e um modem 3G (visto pelo sistema como a interface "ppp0") para acesso à web. Nesse caso, a regra de
firewall seria:

iptables -A INPUT -i eth0 -j ACCEPT


iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp --syn -j DROP
Este é outro exemplo de configuração, um pouco mais elaborado. Ele utiliza uma regra baseada no
parâmetro "-m state" para permitir apenas respostas a conexões iniciadas por você, bloqueando em seguida
todas as portas. A vantagem sobre o exemplo anterior é que ele bloqueia também as portas UDP, oferecendo
uma proteção mais completa:

iptables -A INPUT -i lo -j ACCEPT


iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -p udp -j DROP
Você pode também abrir portas específicas, ou intervalos de portas (como no caso das portas usadas
pelo bittorrent ou por jogos multiplayer) adicionando a regra a seguir no início do script:

iptables -A INPUT -p tcp --dport 6881:6889 -j ACCEPT


A regra para especificar apenas uma porta é bastante similar:

iptables -A INPUT -p tcp --dport 22 -j ACCEPT


Você pode também repetir a regra parar abrir várias portas e intervalos de portas, conforme
necessário.

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".

Outro uso comum para o firewall é compartilhar a conexão com a rede local. Este é um exemplo de
script que compartilha uma conexão 3G (a interface "ppp0"), aceitando conexões provenientes dos micros da
rede local (a interface "eth0" no exemplo) e bloqueando todas as conexões vindas da Internet, mantendo
aberta apenas a porta 5060 UDP (usada para receber chamadas de VoIP no Ekiga):

#!/bin/sh

echo "Ativando o Firewall."

# Limpa as regras anteriores:


iptables -F
iptables -t nat -F

# Compartilha a conexão na interface ppp0:


modprobe iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE

# Abre a porta 5060 UDP (SIP):


iptables -A INPUT -p udp --dport 5060 -j ACCEPT

# Permite pacotes de resposta:

422
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# Permite conexões na interface de rede local e na interface lo:


iptables -A INPUT -i eth0 -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

# Bloqueia as demais conexões:


iptables -A INPUT -p tcp -j DROP
iptables -A INPUT -p udp -j DROP
Naturalmente, configurar as regras manualmente só é necessário se você realmente gosta da linha de
comando e quer ter um melhor controle sobre a configuração. Uma opção mais simples de usar e, ao mesmo
tempo, bastante poderosa é o Firestarter, disponível via apt:

$ 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 usando uma conexão 3G (ou discada) ou via 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. Entretanto, 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 a porta (o SSH no exemplo), 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 para todo mundo, incluindo hosts da Internet.

Essa 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".

423
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 realmente desativar as
regras, você precisa clicar no "Parar Firewall" dentro da janela principal:

Outra opção de configurador gráfico é o Gufw (http://gufw.tuxfamily.org/pt/), um firewall voltado


para a facilidade de uso, baseado no UFW (o "Uncomplicated Firewall", que pode ser usado via linha de
comando). Por oferecer menos opções, ele acaba sendo mais adequado que o Firestarter para o uso de
pessoas não-técnicas, como em casos em que você instala o Ubuntu em PCs de familiares e amigos. Ele
também pode ser instalado usando o apt:

$ sudo apt-get install gufw

Uma vez instalado o pacote, será criado um atalho para ele no "Sistema > Administração >
Configuração de Firewall". Assim como no caso do Firestarter, a interface é usada apenas para alterar a
configuração do firewall. Uma vez ativado, ele continua ativo mesmo que a interface seja fechada.

O primeiro passo é marcar o "Firewall habilitado", o que ativa o Gufw em modo restritivo,
bloqueando todo o tráfego de entrada, mas permitindo o tráfego de saída; a clássica receita para firewalls
destinados a micros desktop. A ideia é justamente oferecer um bom nível de segurança por padrão, a partir da
qual você possa criar exceções usando as opções da interface.

A aba "Simples" permite especificar diretamente portas de entrada que devem ser liberadas. Você
pode tanto especificar as portas pelos números, como em "22" ou "6889", quanto pelo protocolo, como em
"ssh" ou "ftp". Usando o terceiro campo, você pode especificar se deve ser aberta a porta TCP, UDP ou
ambas:

424
A maioria dos protocolos utiliza portas TCP, mas existem casos como o do SIP, que usa a porta 5060
UDP para receber chamadas. No caso dele, por exemplo, não adiantaria abrir apenas a porta 5060 TCP, já
que não é ela a usada.

A aba "Pré-configurado" inclui algumas regras prontas para autorizar ou bloquear protocolos ou
aplicativos específicos. No Ubuntu 9.04 o conjunto de regras disponíveis é ainda bastante incompleto, por
isso a utilidade é questionável, mas ele deve melhorar nas versões seguintes.

Concluindo, a aba "Avançado" permite definir regras com um pouco mais de liberdade, especificando
endereços de origem e faixas de portas. Ela é um pouco contra-intuitiva, o que gera confusão.

O campo "De" permite especificar o endereço de origem das conexões, o que permite que você abra
portas apenas para endereços específicos. Se um amigo precisa se conectar à sua máquina via SSH, por
exemplo, você pode criar uma regra específica para ele, especificando o endereço no campo "De" e a porta 22
TCP no segundo campo do "Para":

425
O primeiro campo do "Para" permite especificar o endereço da sua máquina onde o pacote será
aceito. Ele é usado apenas em casos em que o PC possui duas ou mais interfaces de rede, como no clássico
caso em que você usa uma placa para a rede local e outra para a Internet. Deixando o campo em branco, você
permite conexões em qualquer uma das interfaces, mas ao especificar seu endereço de rede local, a regra passa
a permitir apenas conexões a partir de outros PCs da rede, descartando as conexões vindas da Internet.

Existem dois campos para especificar a porta, pois o segundo é usado quando você precisa especificar
um intervalo de portas. Um caso clássico é o bittorrent, que utiliza as portas da 6881 à 6889. Usando os dois
campos, você pode abrir todo o intervalo de uma vez, sem precisar criar uma regra para cada porta:

426
Concluindo, os menus incluem também opções para salvar as regras em um arquivo de texto (útil caso
precise usar a mesma configuração em várias máquinas) e também para exibir o ícone ao lado do relógio, que
serve como um atalho rápido para a interface.

CONFIGURANDO O GRUB

Com exceção do Slackware, que continua a utilizar o Lilo devido à simplicidade, praticamente todas as
outras distribuições migraram para o Grub ao longo da década passada. O Grub é um gerenciador de boot
bem mais moderno, que oferece mais opções e remedia muitas das limitações do antigo Lilo.

Conforme os PCs foram avançando, entretanto, mesmo o Grub começou a parecer antiquado em
algumas situações, levando surgimento do Grub 2, um sucessor modular que se tornou o gerenciador default
no Ubuntu a partir do 9.10 e aos poucos vem sendo adotado também em outras distribuições. O gerenciador
de boot é um componente tão importante do sistema que vale a pena estudar um pouco sobre ele para ser
capaz de solucionar problemas. Já vimos detalhes sobre a configuração do Lilo e do Grub, vamos agora
conhecer um pouco sobre o Grub 2.

Com o lançamento do Grub 2, o Grub original passou a ser chamado de "Grub Legacy". Ele continua
sendo mantido, mas vem recebendo basicamente correções de bugs. O desenvolvimento de novas funções
passou a ser concentrado no Grub 2. Você pode checar qual versão está sendo usada usando o comando
"grub-install -v":

$ grub-install -v

grub-install (GRUB) 1.99-18ubuntu1

Neste caso estou rodando a versão 1.99-18, que é a versão usada por default no Ubuntu 12.04. As
versões do Grub original vão até a 0.97, enquanto o Grub 2 começa a partir da 1.98.

O Grub 2 trás vários novos recursos, incluindo a possibilidade de carregar módulos para acesso a
diferentes sistemas de arquivos, possibilidade de personalização através de shell-scripts, bem como o uso de

427
temas visuais e assim por diante. Ele é capaz até mesmo de inicializar imagens ISO de distribuições Live-CD
ou outros sistemas diretamente a partir do HD, sem que você precise gravá-las num CD ou pendrive. Como
sempre, ms recursos significam uma configuração mais complexa, o que faz com que, embora bem
organizado, os recursos do Grub 2 acabem sendo mais difíceis de dominar.

No Grub 2, o arquivo "/boot/grub/menu.lst" de lugar ao "/boot/grub/grub.cfg". Entretanto, este é


um arquivo gerado como produto da execução de diversos scripts situados na pasta "/etc/grub.d/" que são
executados ao instalar ou atualizar o Grub 2 e, diferente do menu.lst, nunca deve ser editado manualmente. O
arquivo editável de configuração passou a ser o "/etc/default/grub/", onde vão as preferências e
configurações pessoais, que são salvas no /boot/grub/grub.cfg quando as alterações são aplicadas. Tudo isso
é lido pelo sistema ao executar o comando "sudo update-grub", que se encarrega de executar todos estes
scripts e configurações, gerando o arquivo /boot/grub/grub.cfg e instalando os outros componentes do
grub.

Para entender melhor como funciona este processo de geração, o primeiro passo é dar uma olhada no
conteúdo da pasta /etc/grub.d:

Como pode ver, esta pasta é populada por vários scripts, numerados sequencialmente. Sempre que o
update-grub é executado, estes scripts são executados na ordem em que são numerados, fazendo com que um
novo arquivo /boot/grub/grub.cfg seja gerado e a configuração atualizada. Este é mais um motivo para que
você não perca tempo tentando editar este arquivo diretamente, já que além de muito complexo, qualquer
configuração feita nele será perdida ao atualizar a configuração do Grub. A ideia é exatamente que a
configuração seja gerada e atualizada automaticamente, aplicando as suas configurações, definidas no
/etc/default/grub.

O primeiro script, o "00_header" lê as variáveis de ambiente e ajusta vários parâmetros e


configurações, preparando o terreno para a execução dos outros scripts. O seguinte é o "05_debian_theme",
que aplica o tema visual, carregando a imagem de background, definindo as cores do menu e assim por
diante.

Os demais scripts são dedicados à detecção e inserção dos diferentes sistemas operacionais, gerando a
lista que permite escolher qual usar durante o boot. O "10_linux" adiciona as entradas do sistema principal,
incluindo as diferentes versões do kernel que estejam instaladas. O "10_linux_xen" faz o mesmo com versões
do kernel com suporte ao Xen (caso alguma esteja instalada). O "20_memtest86+" adiciona a entrada do
Memtest, enquanto o "30_os-prober" detecta e adiciona entradas para outros sistemas operacionais
instalados, incluindo o Windows. Os dois últimos, "40_custom" e "41_custom" são dedicados à inserção de
scripts personalizados com outras funções que você queira executar.

A ordem com que as diferentes entradas aparecem na tela de boot é definida pela ordem com a qual
estes scripts são executados. Ao rodar o "sudo update-grub " neste PC, por exemplo, obtenho:

428
$ sudo update-grub

Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png

Found linux image: /boot/vmlinuz-3.2.0-21-generic


Found initrd image: /boot/initrd.img-3.2.0-21-generic
Found linux image: /boot/vmlinuz-3.2.0-19-generic
Found initrd image: /boot/initrd.img-3.2.0-19-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda2
done

Veja que ele inclui um total de 4 entradas: duas para o sistema principal (incluindo uma versão antiga
do kernel que ainda está instalada), uma para o Memtest e outra para uma cópia do Windows 7 esquecida em
uma partição no início do HD.

Se retiro a permissão de execução do script do Memtest (chmod -x /etc/grub.d/20_memtest86+),


fazendo com que ele deixe de ser executado, as outras entradas continuarão sendo adicionadas, mas o
Memtest será deixado de fora:

$ sudo chmod -x /etc/grub.d/20_memtest86+


$ sudo update-grub

Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png

Found linux image: /boot/vmlinuz-3.2.0-21-generic


Found initrd image: /boot/initrd.img-3.2.0-21-generic
Found linux image: /boot/vmlinuz-3.2.0-19-generic
Found initrd image: /boot/initrd.img-3.2.0-19-generic
Found Windows 7 (loader) on /dev/sda2
done

Caso renomeie o script "30_os-prober", para "09_os-prober" (fazendo com que ele seja executado
antes do "10_linux" que adiciona as entradas referentes ao Linux) faço com que o Windows apareça no topo
da lista:

$ sudo mv 30_os-prober 09_os-prober


$ sudo update-grub

[sudo] password for gdh:


Generating grub.cfg …
Found background image: /usr/share/images/desktop-base/desktop-grub.png

Found Windows 7 (loader) on /dev/sda2


Found linux image: /boot/vmlinuz-3.2.0-21-generic
Found initrd image: /boot/initrd.img-3.2.0-21-generic
Found linux image: /boot/vmlinuz-3.2.0-19-generic
Found initrd image: /boot/initrd.img-3.2.0-19-generic
done

Da mesma forma, é possível editar o conteúdo dos scripts ou adicionar outros que executem funções
adicionais. Esta acaba sendo a principal vantagem do Grub 2 e o grande motivo da mudança.

Como pode imaginar, a melhor forma de adicionar entradas personalizadas no menu do grub, sem
depender da detecção automática é adicionar as instruções desejadas no final do arquivo
"/etc/grub.d/40_custom", o que faz com que a sua entrada personalizada apareça no final da lista.

Basta adicionar as entradas da forma como quer que elas sejam incluídas no arquivo, após a linha
"exec tail -n +3 $0" dentro do arquivo. Para adicionar uma entrada que carrega o Windows em chainload

429
(como a que vimos no capítulo sobre o Mandriva), por exemplo, você adicionaria as seguintes linhas ao
arquivo "40_custom":

menuentry "Windows 7 em chainload" {


set root=(hd0,1)
chainloader +1
}
A linha "set root=(hd0,1) " especifica qual é a partição. Uma diferença entre o Grub 2 e o Grub antigo
é que no Grub 2 as partições são numeradas a partir do 1 (e não mais a partir do zero), de forma que "set
root=(hd0,1) " especifica que o Windows está instalado na primeira partição do HD.

Para que seja adicionada uma entrada para o boot de uma imagem ISO localizada em uma partição do
HD (que é uma das possibilidades interessantes do novo grub), você adicionaria as linhas a seguir no
"40_custom"

menuentry "ISO do Ubuntu" {


loopback loop (hd0,1)/home/gdh/ubuntu.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=home/gdh/ubuntu.iso noprompt
noeject quiet splash
initrd (loop)/casper/initrd.lz
}
Veja que esta entrada já é mais complicada, especificando a partição do HD onde está o ISO, como
em "(hd0,1)", que se refere à primeira partição do primeiro HD e o caminho para o arquivo dentro da
partição (/home/gdh/ubuntu.iso). A linha "linux..." inclui opções diversas para que o sistema inicialize
através do CD; veja que ela inclui novamente a localização do arquivo dentro da partição.

Incluindo as duas entradas, seu arquivo "/etc/grub.d/40_custom" ficaria como o a seguir e depois de
executar o "sudo update-grub" você veria as duas novas entradas no final da lista.

#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.

menuentry "Windows 7 em chainload" {


set root=(hd0,1)
chainloader +1
}

menuentry "ISO do Ubuntu" {


loopback loop (hd0,1)/home/gdh/ubuntu.iso
linux (loop)/casper/vmlinuz boot=casper iso-scan/filename=home/gdh/ubuntu.iso noprompt
noeject quiet splash
initrd (loop)/casper/initrd.lz
}
É importante enfatizar que o boot de imagens ISO só funciona em distribuições Linux que suportem
a inicialização a partir do ISO (o que inclui a grande maioria dos live-CDs atuais). Devido a esta dependência
de suporte por parte do hóspede, esta função não funciona para dar boot em ISOs com outros sistemas
operacionais, incluindo imagens de instalação do Windows.

Em seguida, temos o arquivo "/etc/default/grub" que concentra muitas das opções que no Grub
legacy estão concentradas no menu.lst. A primeira delas é a linha "GRUB_DEFAULT", que permite definir
qual será o sistema inicializado por padrão. Por default a linha é:

GRUB_DEFAULT=0
… o que faz com que o primeiro sistema operacional da lista seja inicializado por default. Se você quer
que o sistema da quarta entrada da lista passe a ser o default, você trocaria o valor para "3" (lembre-se, os
sistemas são contados a partir do zero, o que faz com que a quarta linha seja "3" e assim por diante:

GRUB_DEFAULT=3

430
Você pode também alterar esta configuração diretamente a qualquer momento, sem precisar editar o
arquivo e rodar o update-grub usando o comando "grub-set-default", como em:

$ sudo grub-set-default 3

A linha "GRUB_TIMEOUT=10" especifica o tempo de espera antes de inicializar o sistema default


(em segundos). Por default são 10 segundos, mas você pode aumentar ou reduzir o valor como desejado. O
valor "0" faz com que o boot ocorra imediatamente, sem a exibição do menu (nesse caso é necessário manter
a tecla Shift pressionada das vezes que você queira que o menu seja exibido), enquanto o valor "-1" faz com
que ele espere indefinidamente.

É possível também fazer com que o grub espere um tempo especificado porém sem exibir o menu de
seleção, o que é útil em casos em que o micro for usado por outras pessoas e você não quer que elas vejam os
outros sistemas instalados. Nesse caso o grub espera o tempo especificado, em segundos, mas você vê a tela
de seleção apenas caso pressione a tecla Shift dentro do tempo especificado, como em:

GRUB_HIDDEN_TIMEOUT=5
Em seguida temos a opção " GRUB_CMDLINE_LINUX_DEFAULT", que permite inserir
parâmetros a serem passados para o kernel, como o noapic, noacpi, nolapic, etc., como em:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Ela é usada em conjunto com a opção "GRUB_CMDLINE_LINUX". Estas duas opções existem por
que o grub adiciona duas entradas para cada versão do kernel encontrada, uma para boot normal e outra para
o modo de recuperação. A opção "GRUB_CMDLINE_LINUX_DEFAULT" inclui parâmetros que são
passados ao kernel apenas durante um boot normal, enquanto a "GRUB_CMDLINE_LINUX" inclui opções
que são passadas em ambos os casos. Como pode ser, as duas opções existem exatamente para permitir que
as opções do modo de recuperação sejam diferentes.

Se você nunca usa as entradas de recuperação e quer desativá-las para gerar uma lista com menos
entradas e consequentemente mais organizadas, adicione (ou descomente) a linha
"GRUB_DISABLE_RECOVERY", configurando-a com o valor true:

GRUB_DISABLE_RECOVERY="true"
Se você quiser desabilitar o script 30_os-prober, desabilitando a detecção de outros sistemas
operacionais instalados, pode adicionar a linha

"GRUB_DISABLE_OS_PROBER=true".
Outra configuração que pode ser útil em algumas situações é a "GRUB_INIT_TUNE", que toca um
beep no início da exibição do menu do grub. Ela é útil no caso de deficientes visuais, que precisam de uma
notificação audível para poderem escolher o sistema, bem como para desatentos:

GRUB_INIT_TUNE="480 440 1"


Esta opção pode ser usada para incluir músicas inteiras (experimente por exemplo:
GRUB_INIT_TUNE="480 900 2 1000 2 800 2 400 2 600 3"), mas tenha em mente que a soneta vai atrasar a
exibição do menu.

Lembre-se de sempre executar o comando "sudo update-grub" ao fazer alterações, do contrário elas
não entrarão em vigor. Caso ele retorne algum erro, verifique a configuração e tente solucionar o problema
antes de reiniciar o micro, caso contrário o grub pode ficar em um estado não-funcional, dificultando ou
impossibilitando o boot.

Concluindo, caso o grub seja danificado e o sistema deixe de inicializar, você pode recuperá-lo
seguindo as instruções a seguir:

a) Dê boot usando o live-CD do Ubuntu, executando um boot normal do sistema

b) Rode o comando "sudo fdisk -l" para verificar quais são as partições do HD. Verifique qual é a
partição do sistema.

c) Monte a partição em uma pasta. Se a partição é a "/dev/sda1", por exemplo, os comandos seriam:
sudo mkdir /mnt/sda1; sudo mount /dev/sda1 /mnt/sda1

431
d) Use o gerenciador de arquivos para checar o conteúdo da pasta e ver se esta é mesma a partição de
instalação do sistema.

e) Reinstale o grub, especificando o diretório onde a partição do sistema foi instalada. Como estamos
instalando o grub no gerenciador de boot, especificamos o device do HD (e não da partição). Veja que o
comando usa a opção "--root-directory", que especifica a pasta onde a partição foi montada: sudo grub-install
--root-directory=/mnt/sda1 /dev/sda

f) Verifique a saída do comando. Se houver algum erro, verifique os arquivos de configuração para
localizar o problema (em geral será alguma entrada personalizada adicionada por você). Verifique se os
arquivos não foram perdidos ou corrompidos (você pode restaurá-los a partir de outra máquina, ou do
próprio CD caso esteja dando boot na mesma versão do sistema que está instalada).

f) Desmonte a partição e reinicie o micro: sudo umount /mnt/sda1; reboot

Em casos em que você precise restaurar o boot de uma instalação do Windows no HD, que deixou se
ser inicializável depois de remover uma distribuição Linux instalada no HD, você pode usar o Lilo para
regravar o MBR, removendo o grub e permitindo que o Windows volte a inicializar. Depois de dar boot com
o Live-CD do Ubuntu, instale o pacote via apt-get e use o comando "lilo -M", especificando o device do HD
e o parâmetro "MBR" para que ele seja gravado:

$ sudo apt-get update; sudo apt-get install lilo


$ sudo lilo -M /dev/sda mbr

UPSTART E A CONFIGURAÇÃO DOS SERVIÇOS

Tradicionalmente, utilizamos o sistema SystemV para a inicialização e configuração dos serviços no


Linux. O boot começa com o arquivo "/etc/inittab" (que especifica o runlevel padrão e contém comandos
para a abertura dos terminais de texto e do ambiente gráfico) e prossegue com a execução de scripts linkados
no diretório "/etc/rc5.d/" (ou rc3.d no caso de um servidor configurado para inicializar no runlevel 3, sem a
interface gráfica). Neste sistema, ativar ou desativar um serviço é simples, já que basta criar ou remover o link
para ele na pasta /etc/rc5.d/, o que pode ser tanto feito manualmente, quanto com a ajuda de utilitários
como o update-rc.d ou o "service".

O SystemV é simples e robusto, mas oferece uma desvantagem crucial, que é o fato de os serviços
serem executados sequencialmente, um de cada vez, o que faz com que a inicialização do sistema seja mais
demorada e possa ficar engasgada por um longo tempo por causa de algum serviço que está demorando mais
do que deveria (como o cliente DHCP tentando obter o endereço IP enquanto o roteador da rede está fora
do ar, ou o Exim tentando inicializar enquanto o cabo de rede está desconectado). A menos que você seja um
dos que apenas coloca o PC para dormir, sem nunca reiniciá-lo, um longo tempo de boot é seguramente algo
que incomoda.

O Upstart oferece uma solução para o problema, oferecendo um sistema de inicialização paralela dos
serviços, capaz de reduzir significativamente o tempo de boot (chegando a uma redução de quase 50% em
algumas situações), além de oferecer mais recursos em relação à detecção de dispositivos, carregamento de
firmwares e assim por diante. Isso fez com que ele fosse adotado como o sistema padrão de inicialização no
Ubuntu a partir da versão 6.10. Embora (pelo menos até o 12.04) os antigos scripts do SystemV continuem
presentes no Ubuntu, o Upstart passou a receber prioridade e grande maioria dos serviços passaram a ser
inicializados através dele.

Como resultado, o boot do Ubuntu é bastante rápido, com um tempo inferior a 30 segundos entre a
tela do grub e a tela de login na maioria das máquinas. Por outro lado, a configuração dos serviços é bem
diferente do que temos em outras distribuições, o que acaba confundindo a muitos.

Além do Ubuntu, o Upstart foi também utilizado no Fedora, da versão 9 até a versão 14. Entretanto,
os desenvolvedores optaram por voltar a utilizar o SystemV a partir da versão 15, embora os pacotes do
Upstart continuem disponíveis no repositório para instalação manual. Embora mexer em um componente tão
central do sistema seja sempre uma mudança polêmica, o uso do Upstart vem sendo considerado também
pelos desenvolvedores de outras distribuições. É esperado também que no futuro o Upstart englobe também
funções de agendamento de tarefas, substituindo serviços com o cron e o at, de forma que vale à pena
conhecer um pouco mais sobre ele.

432
O Upstart é baseado no uso de eventos, que podem ser disparados em resposta a algum
acontecimento específico (como uma nova interface de rede disponível, por exemplo), ou simplesmente
serem executados na hora do boot como parte da inicialização do sistema. A menos que especificado o
contrário, o Upstart também se encarrega de verificar a execução dos serviços e reiniciar processos travados
ou que não estão funcionando corretamente.

No Fedora e também em versões antigas do Ubuntu (anteriores ao 10.04) os scripts com os eventos
do Upstart são armazenados na pasta "/etc/event.d/". Por enquanto, todas as distribuições que utilizam o
Upstart ainda conservam os antigos scripts SystemV na pasta /etc/init.d/ (com os usuais links na pasta
/etc/rc5.d/ e compania) mas se você tentar invocar diretamente um dos scripts que já foram migrados, você
receberá um aviso de que eles foram convertidos em serviços do Upstart e que devem ser invocados através
dele:

Os scripts de invocação do Upstart seguem sempre a mesma estrutura básica, incluindo uma descrição
(description), que tem um caráter puramente informativo, uma instrução "start", que especifica quando ele
deve ser iniciado e uma linha "exec", que especifica o comando que será executado para realizar a tarefa. Um
exemplo é o "hostname.conf", que define o nome da máquina. Ele é um dos scripts mais simples:

description "set system hostname"


start on startup
task
exec hostname -b -F /etc/hostname
Estes scripts podem ser bem mais complexos, indicando que o script deve ser executado como parte
da inicialização de outro serviço, indicando diretamente uma série de comandos (em vez de um único
comando como no caso do hostname.conf) e assim por diante. Um exemplo é o hwclock.conf, que ajusta o
relógio do sistema durante o boot:

description "adjust system clock and timezone"


start on starting mountall
task
script
. /etc/default/rcS
[ "$UTC" = "yes" ] && tz="--utc" || tz="--localtime"
[ "$BADYEAR" = "yes" ] && badyear="--badyear"
exec hwclock --systz $tz --noadjfile $badyear
end script
Veja que a linha "start" especifica agora "on starting mountall", que faz com que o script seja
executado após o início da execução do "mountall.sh", o script que monta as partições do HD e é executando
no início do boot.

Dando uma olhada no conteúdo do mountall.conf temos a introdução de outro parâmetro


interessante, que é o "emits" ("emits virtual-filesystems ", "emits local-filesystems" , "emits remote-filesystems
", etc.). Ele permite que um script emita diferentes sinais que ativam a execução de outros.

433
Se olharmos o conteúdo do arquivo "udev.conf", por exemplo, que é o serviço responsável pela
detecção de pendrives e outros dispositivos, encontramos a linha start on virtual-filesystems", que indica que
o serviço será executado quando o sinal "virtual-filesystems" é emitido pelo mountall:

description "device node and kernel event manager"


start on virtual-filesystems
stop on runlevel [06]
expect fork
respawn
exec /sbin/udevd --daemon
Scripts mais complexos podem conter também duas seções adicionais, a "pre-start script " e a "post-
start script ", que executam, respectivamente, comandos adicionais que precisam ser executados antes e
depois do comando principal. Um bom exemplo é o "cups.conf", onde o pre-start script executa tarefas
como o carregamento de módulos, carregamento de configurações e criação de diretórios, enquanto o post-
start script verifica se o serviço subiu corretamente e tenta detectar impressoras USB antigas, cuja detecção é
demorada.

Diferente do que temos no SystemV, onde os scripts são numerados e é fácil entender a ordem em
que eles são executados, o Upstart temos simplesmente uma salada de scripts dentro da pasta /etc/init/ ou
/etc/event.d/ e você precisa realmente ler os scripts para entender a ordem em que eles são executados:

Todos os scripts que fazem parte da pasta são instalados e desinstalados automaticamente juntamente
com os respectivos pacotes. Ao remover o pacote "bluez" e suas variações, por exemplo, você
automaticamente remove junto o script responsável pela inicialização do Bluetooth. Com isso, você acaba
não precisando se preocupar muito com eles na maior parte do tempo, já que se um serviço está instalado,
você provavelmente vai desejar que ele seja ativado de qualquer forma.

A principal limitação enquanto escrevo é que não existe uma forma simples de desativar serviços de
forma definitiva sem remover os pacotes correspondentes. Todos os scripts que estão na pasta são
automaticamente executados, de forma que para desativar um serviço manualmente você precisa ou editar o
script (modificando a linha "start" para que ele nunca seja executado) ou, mais simples, mover os scripts que
deseja desativar para outra pasta, o que permite restaurá-los mais tarde caso desejado.

Para desativar o bluetooth, por exemplo, você precisaria apenas mover o script bluetooth.conf:

# mkdir /etc/init-disabled
# mv /etc/init/bluetooth.conf /etc/init-disabled/

Por outro lado, o início, parada e reinicio dos serviços pode ser feito de forma bastante simples,
através dos comandos "start", "stop" e "restart", como em:

# stop bluetooth
# restart udev

434
Você pode também ver a lista dos serviços em execução através do comando "initctl list", que em uma
instalação padrão do Ubuntu retorna uma longa lista.

Para fazer com que o sistema execute um novo serviço ou algum script que você criou manualmente,
basta criar um novo script dentro da pasta "/etc/init/", seguindo a estrutura que vimos. Este é o exemplo de
um script simples, destinado a simplesmente executar um script personalizado durante o boot:

# meuscript.sh
description "Executa o meuscript.sh"
start on started dbus
task
exec /usr/local/bin/meuscript.sh
Veja que usei a linha "start on started dbus ", que faz com que ele seja executado no meio do boot,
depois que as partições já foram montadas e o sistema está enumerando os dispositivos disponíveis. Outra
opção popular para scripts personalizados é a "start on desktop-session-start ", que faz com que o comando
seja executado quando se faz login no ambiente gráfico.

Em resumo, o Upstart pode ser considerado uma evolução do ponto de vista técnico, já que reduz o
tempo de inicialização do sistema e oferece uma plataforma mais robusta para a execução dos serviços. Por
outro lado ele adiciona uma camada adicional de complexidade, tornando mais difícil a configuração manual
do sistema.

INSTALANDO ATRAVÉS DO ALTERNATE CD

Uma das queixas com relação à instalação do Ubuntu através do live-CD é que ele torna a instalação
mais demorada, já que você precisa primeiro esperar pela inicialização do sistema para depois poder abrir o
instalador e começar a instalação propriamente dita. A necessidade de carregar o desktop antes de abrir o
instalador também faz com que o sistema consuma mais memória, o que dificulta a instalação em micros
antigos.

Como uma forma de minimizar o problema, as versões recentes do Ubuntu passaram a oferecer uma
opção de instalação na tela de boot, que faz com que o sistema abra o instalador logo depois de carregar o
servidor X, sem carregar o GNOME e os outros componentes do desktop.

Outra opção, ainda mais minimalista, é instalar usando o alternate CD (disponível no


http://www.ubuntu.com/getubuntu/downloadmirrors#alternate), que bipassa a abertura do ambiente
gráfico completamente, permitindo instalar o sistema diretamente em modo texto. Isso torna a instalação
mais rápida e permite que você instale o sistema mesmo em micros com 128 MB de memória RAM, onde o
instalador gráfico não abriria, ou onde a demora tornaria a operação inviável. Naturalmente, depois de
instalado o sistema, você ainda precisaria fazer um certo trabalho de personalização para melhorar o
desempenho, mas, pelo menos, o problema inicial é solucionado.

O alternate CD utiliza o mesmo instalador em modo texto que era usado nas primeiras versões do
Ubuntu (que é, por sua vez, derivado do instalador do Debian). Apesar das diferenças na instalação, o
resultado final é exatamente o mesmo do que você obteria ao instalar a versão desktop. Em outras palavras, o
sistema é exatamente o mesmo, muda apenas o instalador.

O principal ponto fraco é o instalador pouco amigável. Para quem prefere uma opção mais intuitiva, o
ideal é usar um live-CD com o Gparted (você pode usar o Gparted Live, disponível no
http://gparted.sourceforge.net/download.php) para particionar o HD antes de começar. Basta seguir a
receita básica de criar a partição para a instalação do sistema e uma partição menor para o swap.

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 solucionar outros
pepinos manualmente através de opções de boot. Você pode ver as opções 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 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.

435
Pressionando a tecla F4, você tem acesso a um menu adicional, que inclui a opção de fazer uma
instalação em linha de comando. Como pode imaginar, ela faz uma instalação minimalista do sistema (sem o
X, o GNOME, ou qualquer outro componente gráfico) destinada ao uso em servidores (você pode ver alguns
exemplos de configuração de servidores de rede local no capítulo 6 do livro Redes, Guia Prático).

Ela pode ser útil também como uma forma de criar uma instalação mínima, que você pode montar
manualmente, instalando o X e todos os pacotes desejados via apt-get. A vantagem dessa abordagem é que
você pode instalar apenas o que realmente precisar. A instalação em linha de comando pode ser feita em
máquinas com apenas 64 MB de RAM, o que a torna uma opção também para reaproveitar micros antigos.

Nas versões recentes do Ubuntu, está disponível também a opção "Instalar um servidor LTSP". Ela é
uma contribuição da equipe do Edubuntu (uma versão do Ubuntu destinada ao uso em escolas) que instala
um servidor de terminais, criando uma configuração básica do LTSP 5. Ela é mais uma opção para
reaproveitar máquinas antigas, utilizando-as como terminais.

No LTSP, o servidor realiza todo o processamento e os terminais exibem apenas as imagens na tela, o
que permite utilizar até mesmo micros com processadores Pentium 1 e 32 MB de RAM. Um servidor com
um processador dual-core e 2 GB de RAM pode atender a 20 terminais, ou mais.

Assim como na versão regular do Ubuntu, a linguagem e o layout do teclado são definidos logo na tela
inicial e são apenas confirmados pelo instalador. A instalação propriamente dita começa com a configuração
da rede. Toda a instalação é feita em modo texto, usando uma variação do instalador do Debian. 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 em outro micro da rede:

436
O próximo passo é o particionamento, que é feito usando uma versão em modo texto do Partman, o
mesmo particionador usado pela versão Live-CD. A principal diferença são as opções para usar LVM e usar
LVM criptografado:

Como comentei no capítulo sobre o OpenSUSE, a principal vantagem do LVM é flexibilizar o


particionamento, permitindo que você redimensione os volumes lógicos e adicione mais HDs quando
precisar de mais espaço, sem nem mesmo precisar reiniciar a máquina. Esses são recursos interessantes para
uso em servidores, mas não muito para desktops. Justamente por isso, as opções são mostradas apenas ao
instalar usando o Alternate CD.

Escolhendo o particionamento manual, você tem acesso a uma lista com as partições disponíveis. Ao
selecioná-las, você tem acesso a um menu adicional, onde pode definir como cada uma será usada,
especificando o sistema de arquivos, o ponto de montagem e as demais opções:

437
A flag "sync", por exemplo (que pode ser marcada ao acessar as opções de montagem), faz com que a
partição seja acessada em modo síncrono (sem o uso de cache de disco), o que reduz o desempenho, mas em
troca melhora a segurança contra perda de dados em casos de queda de luz ou desligamentos acidentais. O
uso do "sync" não seria aconselhável para uso na partição de instalação do sistema (o desempenho ficaria
muito ruim), mas ela pode ser usada em uma partição separada, destinada a armazenar arquivos e
configurações, por exemplo.

A opção "Blocos reservados" especifica uma percentagem do espaço da partição que fica reservado ao
uso do root (o default são 5%). Este espaço reservado é importante na partição raiz, para evitar que o sistema
deixe de inicializar caso você se descuide e entupa a partição com arquivos diversos, mas pode ser reduzido
em outras partições, destinadas a apenas armazenarem arquivos.

No caso de um HD já particionado, você usaria a opção "Remover a partição" para excluir algumas
das partições antigas e liberar espaço para criar outras. Note que está disponível também a opção "Copiar os
dados de outra partição", que permite transferir os dados de uma partição antiga durante o próprio processo
de particionamento. Ao terminar, use o "Finalizar a configuração da partição".

O processo se repete para cada partição que precisar criar ou modificar. Não se esqueça de criar uma
partição pequena para o swap (basta escolher "swap" na opção "usar como") e, de preferência, criar uma
partição separada para o diretório home, ou para armazenar arquivos. Se por acaso você tiver um segundo
HD disponível (sobra de algum upgrade anterior, por exemplo), uma boa coisa é montá-lo em outro diretório
e usá-lo para backup:

438
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. O instalador detecta e usa as partições swap automaticamente, mesmo que o HD
eventualmente 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.

Caso você tenha dois ou mais HDs, o instalador oferece a opção de usar 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. Nesse caso, não existe ganho algum 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 trabalha usando as portas SATA ou IDE 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.

439
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.

Depois de definidas as senhas, o passo final é configurar o gerenciador de boot. O Ubuntu usa o 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?". Assim como ao instalar usando o Live-CD, o instalador é capaz de
detectar outros sistemas operacionais instalados e incluir as entradas no menu de boot automaticamente.

Se, por outro lado, 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 o gerenciador na MBR, uma vai
substituir a outra e no final você vai conseguir inicializar apenas a última.

Para instalar o grub no primeiro setor da partição, responda "não" na pergunta e especifique a partição
de instalação do sistema seguindo a nomenclatura do grub. Se você está instalando na partição "/dev/sda2",
por exemplo, responda "hd0,1", se está instalando "/dev/sda5", responda "hd0,4" e assim por diante.

440
Outra dica é que se você fez alguma escolha errada ao longo da instalação, pode corrigir o erro no
final. Respondendo "não" quando o instalador pergunta se você quer reiniciar a máquina, você tem acesso a
um menu que permite repetir qualquer passo da instalação.

INSTALANDO A PARTIR DO WINDOWS

O Ubuntu inclui também (desde a versão 8.04) uma opção de instalação através do Windows, usando
o Wubi. Ele é um pequeno aplicativo disponível no diretório raiz do CD, que pode ser executado diretamente
dentro do Windows XP ou Vista.

Ele se encarrega de instalar o sistema dentro de um arquivo de imagem (de 4 ou 8 GB), salvo na pasta
"C:\ubuntu" e alterar a configuração do gerenciador do boot do Windows, fazendo com que você passe a ter
a opção de inicializar o Windows ou o Ubuntu a cada boot, criando um sistema alternativo de dual-boot.

Durante o boot, a configuração criada pelo Wubi faz com que a imagem binária onde o sistema está
instalado seja montada como se fosse uma partição, permitindo que o sistema inicialize de forma normal.

A instalação é completamente funcional, permitindo que você instale programas e utilize todas as
demais funções. Não se trata de uma máquina virtual ou de algum sistema de emulação, mas sim de uma
instalação completa do sistema, que é carregada a partir do gerenciador de boot do Windows.

O uso da imagem permite que o Ubuntu seja instalado dentro da partição do Windows (funciona
mesmo em partições NTFS), o que facilita as coisas para os iniciantes, já que elimina a necessidade de
reparticionar o HD.

As limitações são que o desempenho do sistema é um pouco inferior (já que temos uma partição
virtual, dentro de uma imagem binária, dentro de uma partição NTFS) e que o espaço dentro da partição de
instalação é limitado. Em vez de poder escolher livremente o tamanho da partição, você pode apenas escolher
entre criar uma imagem de 4 GB (onde você dispõe de pouco mais de 1 GB livre) a 8 GB (com
progressivamente mais espaço disponível), sem opção de especificar outros tamanhos. Ao instalar em uma
partição com pouco espaço livre, é importante desfragmentá-la antes da instalação, para evitar que a imagem
de instalação fique fragmentada em diversos pontos do HD, reduzindo o desempenho.

Apesar das limitações, o Wubi é uma forma bastante simples de instalar o sistema, que pode ajudar em
diversas situações. Ele é também uma opção ao uso do sistema dentro de uma máquina virtual para fins de

441
teste. A instalação é ridiculamente simples: basicamente, você precisa apenas definir uma senha e clicar no
"Instalar":

Depois de concluída a cópia inicial, ele pede para reiniciar o micro. Ao inicializar o Ubuntu pela
primeira vez, o instalador conclui a instalação, criando um arquivo de swap (dentro da imagem) e executando
os demais passos da instalação de forma automática (o que demora uns 15 minutos).

Concluído o processo, o sistema está pronto para ser usado, basta reiniciar e escolher o "Ubuntu" no
menu de boot. Para desinstalar, basta usar o "Uninstall-Ubuntu.exe", dentro da pasta "C:\ubuntu", através do
próprio Windows.

INSTALANDO EM UM PENDRIVE

Além de serem usados para transportar arquivos, os pendrives são excelentes opções para criar
instalações portáteis do sistema, já que, diferente dos CDs e DVDs, eles suportam a gravação de arquivos,
permitindo que o sistema salve as alterações. Os pendrives são também a forma mais usada para instalar o
sistema em netbooks, que não possuem drive de CD.

Antigamente, instalar distribuições Linux em pendrives era um processo complicado, que envolvia
copiar os arquivos manualmente, configurar o syslinux ou o grub (ativando assim a inicialização) e,
opcionalmente, criar um arquivo de loopback para salvar as alterações. Você pode ver um exemplo de como
as coisas funcionavam nos primórdios no capítulo 2 do livro Linux, Ferramentas Técnicas, que está
disponível no:
http://www.gdhpress.com.br/ferramentas/leia/index.php?p=cap2-42

Felizmente, hoje em dia as coisas já são bem mais simples. No caso do Ubuntu, a instalação em
pendrives pode ser feita usando o USB-Creator, um utilitário que automatiza os passos, permitindo fazer a
instalação com poucos cliques. Ele vem pré-instalado a partir do Ubuntu 8.10 e pode ser encontrado no
"Sistema > Administração > Create a USB startup disk".

Para usá-lo, é necessário ter um pendrive (você pode também usar cartões de memória, espetados em
leitores USB) com pelo menos 700 MB de espaço livre. Por segurança, o USB-Creator não formata o
pendrive, oferecendo apenas a opção de instalar o sistema usando o espaço livre.

442
A instalação funciona perfeitamente em pendrives formatados em FAT16 ou FAT32, o que dispensa
o particionamento e o uso do EXT3 ou outro sistema de arquivos do Linux. Tudo o que você precisa fazer é
colocar o CD de instalação do Ubuntu no drive, plugar o pendrive e executar o USB-Creator. Ele detecta o
CD-ROM no drive e o pendrive, oferecendo diretamente a opção de instalação.

Clicando no "Other" você pode também especificar a localização de uma imagem ISO (que permite
uma instalação mais rápida, devido à melhor taxa de transferência em relação ao CD). Ele também permite
escolher qual pendrive utilizar, caso mais de um esteja plugado:

Note que existe uma opção para ajustar o volume de espaço destinado a salvar arquivos e
documentos. Isso permite que o pendrive seja usado como uma instalação completa do sistema, onde você
pode salvar arquivos, mudar as configurações, ou até mesmo instalar novos programas via apt-get.

Essa opção cria um arquivo chamado "casper-rw" no diretório raiz do pendrive, que é, na verdade,
uma imagem de loopback, que é montada usando o UnionFS, o mesmo sistema que era usado no Knoppix (e
outros live-CDs anteriores) para permitir salvar as configurações ao rodar a partir do CD. Este pequeno
truque é o principal responsável por permitir que o sistema seja capaz de salvar as alterações, mesmo sendo
instalado em uma partição FAT.

Outra dica é que o USB-Creator pode ser usado também para criar pendrives bootáveis a partir de
imagens ISO do Kubuntu, Xubuntu e de outras distribuições derivadas do Ubuntu suportadas pelo utilitário,
o que acaba sendo extremamente prático quando você quer testar as diferentes versões do sistema, sem
precisar queimar cada uma em CD.

Ao examinar os arquivos dentro do pendrive depois da instalação, você notará que ele passa a conter
uma estrutura de arquivos similar à encontrada no CD de instalação. Apesar disso, você pode utilizar o
espaço livre para salvar arquivos normalmente, inclusive a partir do Windows:

443
A vantagem dessa abordagem, em relação a uma instalação tradicional do sistema é que a "instalação"
consome muito menos espaço no pendrive, já que a imagem do sistema é copiada de forma compactada. Isso
permite que a instalação ocupe apenas 700 MB do pendrive (mais o espaço reservado à imagem de loopback),
em vez de ocupar 2.3 GB como uma instalação regular do Ubuntu. Isso permite que você faça a instalação até
mesmo em pendrives de 1 GB, ficando ainda com quase 300 MB livres para os arquivos e configurações.

Como de praxe, o passo seguinte é configurar o PC para dar boot através do pendrive. Muitos PCs e
notebooks antigos utilizam BIOS bugadas, com problemas diversos que impedem o boot a partir das portas
USB, mas você não terá problemas com os aparelhos mais recentes. Na maioria dos micros, você pode
acessar um menu rápido de boot pressionando ESC ou F10 durante a contagem de memória. Ele permite dar
boot pelo USB sem precisar alterar a configuração do setup.

Ao inicializar usando o pendrive pela primeira vez, ele exibirá a tela de boot padrão do CD,
perguntando o idioma a utilizar. O ambiente de trabalho é também exatamente igual ao usado ao dar boot
pelo CD, entretanto, as alterações feitas são armazenadas no arquivo casper-rw (e não na memória RAM,
como seria feito ao usar o CD-ROM), o que faz com que tudo seja salvo de volta no pendrive.

Graças à melhor taxa de transferência e aos tempos de acesso mais baixos oferecidos pelo pendrive, o
desempenho é também muito melhor que ao rodar a partir do CD, sem aquelas "paradinhas" causadas pela
aceleração e desaceleração do CD dentro do drive. O pendrive pode ser também usado para instalar o sistema
no HD normalmente, exatamente da mesma forma que o CD de boot. Nesse caso, é feita uma instalação
regular do sistema, sem que sejam copiadas as configurações e os arquivos salvos.

Além de pendrives, o USB-Creator pode ser usado para instalar o sistema em outros dispositivos que
suportem o modo usb-storage, como câmeras, MP3 Players e até mesmo muitos celulares e smartphones.
Desde que exista espaço suficiente disponível no cartão, você pode criar uma "câmera de boot" ou um
"celular de boot" sem dificuldade.

Concluindo, é possível também usar o pendrive para criar uma pequena partição swap, destinada a
permitir o boot em micros com pouca memória RAM. Para isso, basta usar o Gparted para redimensionar a
partição principal e criar uma partição swap de 100 ou 200 MB no final. Desde que a partição esteja
formatada, ela será ativada automaticamente durante o boot.

Usar partições swap em pendrives não é muito recomendável, devido à questão dos ciclos de leitura e
escrita, mas, de qualquer maneira, é um recurso que você pode lançar mão em caso de necessidade.

Mais uma dica é que você pode acessar os arquivos salvos dentro da instalação do pendrive (em
qualquer distribuição) montando o arquivo "casper-rw" que, como comentei, é apenas uma imagem de
loopback, criada para permitir que as configurações e arquivos do sistema sejam salvos em partições FAT.
Para isso, acesse o pendrive e monte o arquivo usando o "mount -o loop", como em:

444
# mkdir /mnt/casper
# mount -o loop casper-rw /mnt/casper

Acesse a pasta e você verá verá uma estrutura de arquivos similar aos de uma instalação Linux, basta
acessar a pasta "/home/ubuntu", onde ficam armazenados os arquivos criados pelo usuário default do live-
CD:

Por ser um projeto open-source, o USB-Creator está disponível também para outras distribuições. A
versão para o Fedora, por exemplo, pode ser instalada usando o "yum install usb-creator", ou baixada no
https://fedorahosted.org/liveusb-creator/. Na página está disponível uma versão para o Windows, que
permite criar os pendrives a partir do XP ou Vista.

LIVE-CD DO UBUNTU COMO SISTEMA DE RECUPERAÇÃO

Além de funcionar como um live-CD, o que permite testar o sistema antes de instalar, o Ubuntu
Desktop inclui também o suporte ao AUFS (o sucessor do UnionFS), que permite instalar programas. Como
comentei no primeiro capítulo, o AUFS combina os arquivos do CD-ROM com um ramdisk, que é usado
para guardar as modificações. Com isso, você pode baixar arquivos, instalar programas usando o apt-get, ou
até mesmo compilar programas, com o sistema rodando a partir do CD-ROM.

Embora o Ubuntu não venha com muitas ferramentas de diagnóstico e recuperação pré-instaladas,
você pode simplesmente configurar a rede e usar o apt-get para instalar os programas desejados. Com isso,
você pode utilizar o sistema para recuperar arquivos em instalações danificadas do Windows (ou de outras
distribuições Linux), fazer backup de partições usando o partimage, clonar HDs, regravar o grub, resetar a
senha de root e assim por diante, tarefas que eram popularmente executadas usando distribuições live-CD
especializadas.

Vamos então a uma lista mais detalhada das tarefas que você pode executar usando um simples CD do
Ubuntu:

Particionamento: As versões recentes do Ubuntu trazem o Gparted pré-instalado, disponível através


do "Sistema > Administração > Editor de partições". Ele permite que você use o CD do Ubuntu para
particionar o HD para a instalação de outros sistemas, redimensionar partições do Windows e assim por
diante.

Regravar o grub: 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. Nesses casos, a solução é regravar o grub, fazendo com que ele volte à sua
posição de direito.

Como o Ubuntu inclui os executáveis do grub mesmo ao rodar em modo live-CD, a configuração é
bastante simples. Comece abrindo o prompt do grub, usando o sudo:

$ sudo grub

Dentro do prompt, use os comandos "root" e "setup", que fazem a gravação na MBR. O primeiro
comando especifica a partição onde o sistema está instalado e o segundo especifica o HD, seguindo a

445
nomenclatura do grub. Se o Windows está instalado na primeira partição e a distribuição Linux na segunda,
os comandos seriam:

root (hd0,1)
setup (hd0)
Isso regrava o grub, mantendo a mesma configuração usada anteriormente. Em muitos casos, você
precisará fazer pequenos ajustes, incluindo a opção de inicializar o Windows, por exemplo. Nesses casos,
você precisa apenas montar a partição de instalação do sistema e editar o arquivo "/boot/grub/menu.lst"
dentro dela, como em:

$ sudo mkdir /mnt/sda2


$ sudo mount /dev/sda2 /mnt/sda2
$ sudo gedit /mnt/sda2/boot/grub/menu.lst

Resetar a senha de root: Esquecer a senha de root e ficar sem acesso ao sistema é outro caso clássico.
Felizmente, este é um problema muito simples de resolver. A menos que você tenha encriptado a partição de
instalação do sistema, pode resetar a senha de root através do live-CD, montando a partição onde o sistema
está instalado e abrindo um chroot (que permite executar comandos dentro da partição), como em:

$ sudo mkdir /mnt/sda1


$ sudo mount /dev/sda1 /mnt/sda1
$ sudo chroot /mnt/sda1

Com isso, você obtém um prompt de root do sistema instalado dentro da partição, que pode usar para
substituir a senha de root usando o comando "passwd":

# passwd

Como você já está logado como root dentro do terminal, ele simplesmente pedirá a nova senha, sem
solicitar a anterior. O mesmo pode ser feito para trocar a senha de qualquer usuário do sistema, como em
"passwd gdh".

O chroot pode ser usado para executar também outros comandos de recuperação. Se o PC foi
desligado no meio de um "apt-get upgrade" e agora a inicialização para em algum ponto, resultado da
atualização feita pela metade, você pode usar o chroot para terminar o processo:

# dpkg --configure -a
# apt-get upgrade

A principal limitação deste prompt de recuperação é que não é possível rodar ferramentas gráficas, já
que o sistema dentro do chroot não tem acesso ao X. É possível exportar a tela, mas isso só funciona bem
quando as duas distribuições (dentro e fora do chroot) usam versões similares do X.

Recuperar arquivos na partição do Windows: O uso de live-CDs de distribuições Linux para recuperar
arquivos em partições do Windows não é nada novo. Em 2003 já se fazia isso em larga escala usando CDs do
Knoppix. Basicamente, basta dar boot usando o live-CD, acessar a partição e copiar os arquivos desejados
para um HD externo (ou qualquer outro dispositivo de armazenamento removível) ou para um
compartilhamento de rede.

Com a inclusão do NTFS-3G, novas possibilidades foram abertas, já que você pode também substituir
arquivos dentro da partição. Isso permite que você tente recuperar a partição substituindo arquivos de
sistema, repare configurações manualmente, entre outras possibilidades.

Recuperar configurações em uma instalação Linux: Outro caso comum é o uso do live-CD para
recuperação de arquivos dentro de uma instalação Linux, para que você possa reinstalar o sistema. Se você
precisa apenas de alguns arquivos específicos, a maneira mais simples de copiá-los é simplesmente acessar a
partição usando o ícone no desktop e copiar usando o próprio gerenciador de arquivos.

Como o sistema respeita as permissões de acesso dos arquivos dentro da partição, você vai precisar
abrir uma instância do nautilus como root para ter acesso completo. Para isso, basta usar o sudo:

$ sudo nautilus

446
Se, por outro lado, você precisa fazer uma cópia completa do diretório home (incluindo todas as
configurações), o melhor é usar o comando "cp -a" (como root), que faz uma cópia exata, mantendo todas as
permissões de acesso e incluindo todos os arquivos ocultos e as subpastas, como em:

$ sudo cp -a /media/disk-1/home /media/disk-2/

Você pode gerar também um arquivo compactado usando o tar, como nesse exemplo, onde o backup
da partição montada na pasta "/media/disk-1/home" é salvo no arquivo "/media/disk-2/backup-
home.tar.gz":

$ sudo tar -zcvf /media/disk-2/backup-home.tar.gz /media/disk-1/home

Backup e restauração de partições: O Ubuntu pode ser usado também para fazer backup de partições
no HD usando o Partimage, que você pode instalar via apt-get. Como ele faz parte do repositório Universe
(que fica desabilitado por padrão no modo live-CD), é necessário editar o arquivo "/etc/apt/sources.list":

$ sudo gedit /etc/apt/sources.list

... e ativar o repositório descomentando a linha:

deb http://archive.ubuntu.com/ubuntu/ jaunty universe


A partir daí, você pode instalá-lo da maneira tradicional:

$ sudo apt-get update


$ sudo apt-get install partimage

Se você acompanhou meus livros anteriores, o Partimage é um velho conhecido, que indico desde a
época do Kurumin. Ele permite criar cópias do conteúdo das partições do HD, gerando imagens que podem
ser restauradas posteriormente. Como ele copia apenas os dados dentro da partição (diferente de ferramentas
como o dd, que fazem uma cópia bit a bit) e salva tudo em um formato compactado, as imagens geradas são
relativamente pequenas, facilitando a cópia em pendrives e compartilhamentos de rede.

A vantagem de utilizá-lo rodando o sistema a partir de um live-CD é que todas as partições do HD


ficam desmontadas, permitindo que você faça os backups livremente.

Em resumo, você deve montar a partição (ou o compartilhamento de rede) de destino, onde as
imagens serão salvas e, dentro do Partimage, indicar a partição da qual será feito o backup e o arquivo de
destino (ou seja, o arquivo dentro da pasta onde foi montada a partição ou o compartilhamento, onde a
imagem será salva):

447
Para restaurar, basta inverter o processo, indicando o arquivo como origem e a partição como destino,
usando a opção "Restaurar a partir de um ficheiro de imagem" em vez da "Guardar num novo ficheiro de
imagem". Como o Partimage precisa de acesso completo às partições, é necessário sempre executá-lo como
root:

$ sudo partimage

Caso queira fazer um backup completo do HD, que possa ser restaurado em um HD limpo, é
necessário fazer também um backup do MBR, onde é armazenada a tabela de partições. Isso pode ser feito
usando o dd, como em:

$ sudo dd if=/dev/sda of=/mnt/backup/mbr-sda.img bs=512 count=1

Como de praxe, o "/dev/sda" especifica o device do HD (é preciso indicar diretamente o dispositivo


e não a partição), o "/mnt/backup/mbr-sda.img" indica o arquivo onde a cópia será salva (salve de
preferência no mesmo diretório das imagens das partições), enquanto o "bs=512 count=1" serve para limitar
a cópia aos primeiros 512 bytes da partição.

Na hora de restaurar, você usaria novamente o dd, especificando o arquivo como origem e o device
do novo HD como destino:

$ sudo dd if=/mnt/backup/mbr-sda.img of=/dev/sdb

Mais uma vez, devo enfatizar que é necessário muito cuidado ao usar o dd, já que um parâmetro
errado pode facilmente fazer com que ele destrua os dados de seu HD de trabalho.

Este é apenas um resumo rápido do uso do Partimage, você pode ler mais detalhes sobre ele no
capítulo 2 do livro Linux, Ferramentas Técnicas, que está disponível na página da GDH Press:
http://www.gdhpress.com.br/ferramentas/leia/index.php?p=cap2-38

Clonagem de HDs: O CD do Ubuntu pode ser usado também para clonar HDs de forma fácil,
novamente usando o dd. Tudo o que você precisa fazer é instalar o segundo HD, dar boot usando o live-CD,
verificar os devices que foram atribuídos aos dos HDs pelo sistema (você pode usar o Gparted, por exemplo)
e usar o dd para fazer uma cópia direta de todos os dados, como em:

$ sudo dd if=/dev/sda of=/dev/sdb

Nesse caso, estamos fazendo uma cópia binária de todos os dados do "/dev/sda" para o "/dev/sdb".
Como pode imaginar, o segundo HD deve ter uma capacidade igual ou maior do que o primeiro (a
capacidade excedente aparecerá como espaço não particionado), caso contrário você perderá dados e coisas
estranhas irão acontecer.

A desvantagem é que a cópia levará várias horas (e o dd não exibirá nenhuma barra de progresso),
mas, por outro lado, quem ficará trabalhando será o PC: você pode ir fazer outra coisa e dar apenas uma
olhada de vez em quando para ver se a cópia já acabou. Quando a cópia finalmente terminar, o segundo HD
conterá uma cópia exata do primeiro e poderá ser usado diretamente no lugar dele.

A vantagem de usar o dd é que ele copiará absolutamente tudo, incluindo o MBR, a tabela de
partições, os UUIDs das partições e todos os dados, incluindo até mesmo arquivos deletados que possam ser
recuperados usando o Photorec ou outro programa de recuperação. Em outras palavras, o dd é antigo e
arcano, mas faz o trabalho.

Se você está em busca de uma alternativa mais moderna, uma boa opção é o Clonezilla
(http://clonezilla.org/), um live-CD que inclui diversas ferramentas de cópia e restauração e permite copiar
partições ou HDs inteiros de maneira muito prática. Ele possui também uma versão server, que permite fazer
as cópias e restaurações através da rede.

Ao fazer a cópia dos arquivos usando outros métodos (usando o comando "cp -a" ou o rsync, por
exemplo) você precisará também reinstalar o grub e ajustar os UUIDs das partições do novo HD usando o
comando "tune2fs -U", para que eles utilizem os mesmos UUIDs das partições antigas, como em:

# tune2fs -U 989d9fd5-91bc-4994-9af0-02720a46f443 /dev/sdb1

448
Isso é necessário por que o Ubuntu referencia as partições no arquivo "/etc/fstab" e no
"/boot/grub/menu.lst" pelos UUIDs e não pelos devices. Se os UUIDs das partições mudam, o sistema não
consegue mais acessá-las.

É por isso que acaba sendo mais fácil fazer a cópia usando o dd ou o Clonezilla, já que eles são
capazes de copiar os UUIDs juntamente com os dados.

Teste de memória: O Ubuntu inclui o bom e velho Memtest86, disponível através da opção "Teste de
memória" no boot pelo CD. Ele permite localizar defeitos nos módulos de memória, evitando que você perca
tempo tentando instalar em um PC com problemas de hardware.

Ele fica num loop eterno, repetindo os testes e indicando os erros que encontrar até que você se sinta
satisfeito. A alma do negócio é ter paciência e deixar ele fazer seu trabalho, concluindo os 8 testes.

Recuperando dados e partições: Você pode também usar o live-CD para recuperar dados ou partições
apagados acidentalmente, utilizando o Photorec e o Testdisk.

Assim como no caso do Partimage, eles fazem parte do repositório Universe, que precisa ser ativado
dentro do "/etc/apt/sources.list" antes que você possa instalá-los via apt-get. No Ubuntu, os dois fazem
parte do pacote "testdisk":

$ sudo apt-get update; sudo apt-get install testdisk

Apesar do nome, o Photorec é um software de recuperação de uso geral, que permite recuperar
arquivos deletados em HDs ou pendrives, desde que eles ainda não tenham sido sobrescritos por outros.

O Testdisk, por sua vez, permite recuperar partições deletadas, salvando o dia em casos em que o HD
perde a tabela de particionamento por defeitos (ou pela ação de vírus ou outros softwares nocivos), ou em
casos em que você se embanana no particionamento. Ambos podem ser usados para recuperar tanto arquivos
e partições Linux quanto dados e partições do Windows.

Você pode ler mais sobre o uso dos dois no capítulo 6 do livro Hardware, o Guia Definitivo:
http://www.gdhpress.com.br/hardware/leia/index.php?p=cap6-13

A FAMÍLIA UBUNTU

Além do Ubuntu propriamente dito, que é mantido através da combinação dos esforços da Canonical
e da Ubuntu Foundation, a família inclui diversos outros projetos menores, desenvolvidos de forma
comunitária, como o Kubuntu, o Xubuntu e o Edubuntu.

Eles oferecem versões alternativas do sistema, que utilizam o mesmo repositório de pacotes, o mesmo
instalador e mantêm as mesmas características básicas, mas incluem diferentes conjuntos de pacotes,
atendendo a diferentes públicos. Falei um pouco sobre o Kubuntu no tópico sobre o uso do KDE. Vamos
então a uma explicação rápida sobre as outras opções disponíveis:

Xubuntu: O Xubuntu (http://www.xubuntu.org/) é uma versão "sem colesterol" do Ubuntu, onde o


GNOME dá lugar ao XFCE. Em resumo, o XFCE é um desktop leve baseado na biblioteca GTK2, o que
oferece um ambiente de trabalho até certo ponto similar ao do GNOME, mas utiliza ferramentas de
configuração próprias e é composto por um volume muito menor de componentes, o que resulta em um
melhor desempenho e um consumo de memória mais baixo.

Aplicativos GTK2 como o Firefox e o Gimp rodam de forma muito ágil sobre o XFCE. O grande
problema é que, aplicativos que utilizam componentes do GNOME ou do KDE acabam sendo penalizados,
já que precisam carregar componentes e bibliotecas do ambiente correspondente antes de poderem ser
abertos. Com isso, o ganho efetivo de desempenho ao rodar o XFCE depende muito dos aplicativos que
você utiliza.

Assim como no caso do Kubuntu, é possível instalar o XFCE e os demais componentes do Xubuntu
sobre o Ubuntu padrão através do metapacote "xubuntu-desktop":

$ sudo apt-get install xubuntu-desktop

449
Com ele instalado, basta voltar à tela de login e abrir uma sessão do XFCE:

Você vai perceber que a mistura deixará os menus um pouco bagunçados (já que o pacote apenas
instala os aplicativos do Xubuntu, sem remover os aplicativos já instalados), mas, de resto, a transição é
simples. Se não gostar, basta dar logout e voltar ao GNOME.

Edubuntu: O Edubuntu (http://edubuntu.org/) é o braço educacional do Ubuntu, destinado ao uso


em escolas de primeiro e segundo grau. Os dois grandes diferenciais são uma implementação bastante simples
de usar do LTSP 5 e uma coleção de aplicativos educacionais, incluindo o GCompris (uma suíte educacional
com atividades para crianças), o SchoolTool Calendar (um aplicativo de groupware destinado ao uso em
escolas) e os aplicativos do KDE Education Project, que inclui títulos como o KStars (planetário) e o
Kalzium (tabela periódica), sem falar no TuxPaint e outros aplicativos disponíveis no CD.

Incluir o suporte ao LTSP (tradicionalmente complicado de instalar) em uma distribuição destinada a


ser usada por professores e voluntários pode parecer uma ideia estranha, mas na verdade se encaixa bem com
a realidade da maioria das escolas, onde são usadas máquinas antigas ou com poucos recursos:

PCs com o Edubuntu em uma creche na Inglaterra e em um laboratório de informática de uma escola
em Gana

O uso do servidor LTSP permite que elas sejam usadas como terminais, dando boot diretamente pela
rede. Isso acaba reduzindo bastante o trabalho necessário para colocar o laboratório para funcionar, já que
você não precisa instalar o sistema em cada uma das máquinas. Basta configurar o servidor e, em seguida,
configurar os terminais para darem boot através da rede, ajustando a ordem de boot no setup.

450
O trabalho da equipe do Edubuntu em simplificar a instalação do LTSP acabou dando origem à opção
"Instalar um servidor LTSP", que fica disponível na tela de boot das versões recentes do Ubuntu.

É possível também evocar o script de instalação com o sistema já instalado (funciona também no
Kubuntu e nos outros membros da família) instalando os pacotes "ltsp-server-standalone" e "openssh-server"
e, em seguida, executando o script "ltsp-build-client":

$ sudo apt-get install ltsp-server-standalone openssh-server


$ sudo ltsp-build-client

Ubuntu Studio: O Ubuntu Studio (http://ubuntustudio.org/) é mais uma derivação do Ubuntu,


dedicada ao processamento de arquivos de áudio, vídeo e imagens. Ele inclui aplicativos como o Ardour e o
Audacity (edição de áudio), o JACK (um servidor de áudio alternativo, de baixa latência), o PiTiVi e o Kino
(edição de vídeo), Blender, Scribus e diversos outros. A página é a http://ubuntustudio.org/.

Além de instalar o sistema através das imagens disponíveis no site, é possível adicionar os
componentes a uma instalação regular do Ubuntu instalando um conjunto de metapacotes:

$ sudo apt-get install ubuntustudio-desktop ubuntustudio-audio \


ubuntustudio-audio-plugins ubuntustudio-graphics ubuntustudio-video

Mythbuntu: Esta é mais uma versão especializada do Ubuntu, destinada ao uso em DVRs (PCs usados
para gravar e exibir programas da TV) e em home theaters. Ele permite que você utilize um PC com uma
placa de captura para gravar os programas da TV e exibir arquivos de mídia diversos, com direito à gravação
programada e outras funções.

Por utilizar um banco de dados MySQL e ser dividido em dois componentes, o MythTV é
tradicionalmente um pouco indigesto de instalar, atendendo bem ao público geek, mas passando longe do
usuário médio. O Mythbuntu (http://www.mythbuntu.org/) soluciona o problema, oferecendo uma versão
pré-instalada que é configurada através de um painel de controle gráfico.

Normalmente, o PC é configurado em modo "Both", onde ele simplesmente executa todas as funções,
gravando, armazenando e exibindo. Entretanto, é possível também configurar instalações do Mythbuntu em
modo "Frontend", onde elas atuam como clientes de um PC já configurado, permitindo assistir os vídeos
gravados via streaming.

Medibuntu: Diferente dos outros, o Medibuntu (http://www.medibuntu.org/) não é uma distribuição,


mas sim um repositório de pacotes, destinado a distribuir codecs e outros pacotes de distribuição restrita
(como o Acrobat Reader e o Skype) ou com disputas relacionadas a patentes (como o Mplayer), que não
podem ser incluídas na distribuição principal por questões diversas. Graças à equipe do Medibuntu, eles
podem ser instalados sem dificuldades em todas as distribuições da família, depois de adicionado o
repositório no sources.list.

Ubuntu Server: Diferente dos outros, que são projetos comunitários, o Ubuntu Server
(http://www.ubuntu.com/products/whatisubuntu/serveredition) é mantido diretamente pela Canonical,
junto ao Ubuntu principal.

Embora o repositório seja o mesmo, o Ubuntu Server é instalado usando o instalador em modo texto
(não existe uma versão Live-CD) e instala por padrão apenas um conjunto mínimo de pacotes (sem interface
gráfica), permitindo que o servidor seja configurado com somente os pacotes desejados.

Um dos principais diferenciais do Ubuntu Server, em relação a outras distribuições destinadas a


servidores, é o longo período de suporte (nada menos do que 5 anos), o que permite que os servidores sejam
usados por muito tempo, sem grandes intervenções além da instalação das atualizações de segurança.

Ubuntu Netbook Remix (UNR): Este é o caçula da família: uma versão do sistema otimizada para uso
em netbooks baseados em processadores Intel Atom (http://www.canonical.com/projects/ubuntu/unr).

Ele mantém o uso do GNOME e dos demais componentes do Ubuntu tradicional, mas adota um
novo lançador de aplicativos e diversas pequenas mudanças para facilitar o uso em telas pequenas:

451
Ele inclui também um conjunto de otimizações para reduzir o consumo elétrico do sistema e tirar o
melhor proveito dos recursos de hardware dos equipamentos, com algumas otimizações específicas para
processadores Intel Atom e também melhoras relacionadas ao tempo de boot e ao desempenho geral.

Embora ele também seja disponibilizado ao público, assim como as demais versões do Ubuntu, a
grande ênfase do projeto está no uso por parte dos fabricantes, para que o sistema venha já pré-instalado nos
equipamentos, o que é uma medida bem positiva considerando a baixa qualidade de algumas distribuições que
são usadas por muitos integradores.

Além da própria Canonical, o projeto tem o apoio da Intel, que tem investido também no
desenvolvimento do Moblin (http://moblin.org/), uma distribuição Linux otimizada para uso em MIDs, que
são mini-PCs para acesso à web ainda mais compactos que os netbooks.

Eles são também baseados em processadores Intel Atom ou outros chips de baixo consumo, mas são
mais leves (a maioria pesa menos de 600 gramas) e utilizam um design próprio para uso com ambas as mãos,
saindo do conceito de "mini-notebook" e se aproximando dos tablets. Apesar do formato, eles nada mais são
do que mini-PCs, que rodam o Firefox e podem acessar a web através de redes Wi-Fi ou de modems 3G:

452
Inicialmente, o Moblin foi desenvolvido pela própria Intel, mas logo ganhou o status de projeto
neutro, passando a ser hospedado pela Linux Foundation e sendo desenvolvido através da combinação das
contribuições da Intel e de outras empresas. É bem provável que você ainda ouça falar bastante dele.

LINUX MINT

Mais sobre o Cinnamon

O Cinnamon http://cinnamon.linuxmint.com/ ("canela" em Inglês) é um desktop gráfico baseado no


Gnome 3 e no Mutter, oferecendo um desktop funcional e configurável, similar ao Gnome 2 personalizado
oferecido no Linux Mint, que promete oferecer refúgio aos usuários desgostosos com os rumos do Gnome 3
e do Unity. Embora tenha sido anunciado a pouco menos de um mês, o Cinnamon já está na versão 1.1.3 e ja
é considerável utilizável, muito embora ainda careça de uma ferramenta gráfica de configuração, prometida
para a versão 1.1.4.

Um post no Blog do Mint http://blog.linuxmint.com/?p=1910 oferece uma visão geral sobre o


Cinnamon e o que já foi obtido pelo projeto. Em resumo, o Cinnamon foi uma resposta direta ao lançamento
do Gnome 3, que obrigou os desenvolvedores a buscarem uma alternativa viável ao velho Gnome 2, já que o
Gnome 3 foi considerado muito simples e limitado para uso na distribuição. Por ter obra dos mesmos
desenvolvedores, o Cinnamon compartilha das mesmas ideias fundamentais do Mint sobre como deve ser um
desktop, o que fará com que os fãns do Mint automaticamente se interessem pelo novo ambiente:

453
O Cinnamon é um fork do Gnome Shell, baseado no Mutter e no Gnome 3, que já oferece um
desktop moderadamente estável e bastante funcional, já com pacotes disponíveis para o Ubuntu 11.10,
Fedora 16, OpenSUSE 12.1, Arch Linux e para o Mint 12, e em breve entrará também nos repositórios do
Debian Testing. Ele é instalado através do pacote "cinnamon-session", que instala o desktop e faz com que
ele seja incluído no menu de ambientes gráficos da tela de login.

Pessoalmente eu vejo bastante potencial no Cinnamon, principalmente pelos desenvolvedores estarem


focados diretamente na usabilidade do ambiente, desenvolvendo rapidamente uma alternativa ao Gnome 3 a
partir da reutilização de código e ferramentas de outros projetos, em vez de tentarem reinventar a roda,
criando um novo e revolucionário ambiente a partir do zero, que ficaria pronto apenas depois de dois ou três
anos.

Por outro lado, a situação do Gnome 3 mostra mais uma vez um dos grandes problemas do Linux no
desktop, que é a falta de continuidade em muitos projetos. Quando um ambiente ou aplicativo atinge um
certo nível de maturidade e funcionalidade, e o código começa a se tornar difícil de manter, muitos
desenvolvedores resolver "começar de novo", adotando uma nova biblioteca gráfica ou linguagem e em
seguida tentando portar todo o ambiente anterior para ela. Não apenas leva muito tempo até que o novo
ambiente se torne estável (veja o caso do KDE 4 por exemplo), como muitas das funcionalidades antigas
nunca são portadas, sem falar no fato de que os desenvolvedores muitas vezes priorizam suas preferências e
ideais pessoas em vez das preferências da maioria dos usuários. Isso contrasta com o modelo adotado pela
Microsoft, por exemplo, que apesar de todos os problemas e abusos pelo menos oferece um desktop que
evolui de uma forma mais ou menos previsível, no qual os usuários se sentem confortáveis e podem usar o

454
tempo para realmente trabalhar e executarem suas tarefas computacionais, em vez de se debaterem com as
mudanças bruscas e perda de funcionalidade introduzidas pela nova versão do ambiente gráfico ou
distribuição usada.

CRIANDO SUA PRÓPRIA VERSÃO COM O UBUNTU BUILDER

Antigamente, lançar uma nova distribuição significava criar todo um novo repositório, envolvendo
todo o processo de geração dos pacotes, desenvolvimento do instalador e de utilitários de configuração,
personalização dos pacotes e assim por diante.

Entretanto, o surgimento dos Live-CDs deu origem a uma nova classe de distribuições:
Personalizações, que mantém o uso do repositório e da estrutura da distribuição-mãe, diferenciando-se
apenas em relação às configurações do sistema, usabilidade e pacotes instalados por padrão. Estas
personalizações são fáceis de manter e geralmente são projetos de um homem só, mas algumas delas
conseguem formar comunidades e adquirir vida própria, como no caso do Mint, que passou a inclusive sediar
projetos próprios, como o Cinnamon.

Embora em muitos casos a questão se degrade a uma simples questão de ego, existem muitos bons
motivos para desenvolver uma personalização, já que isso torna possível que você gere uma imagem
modificada do sistema que possa ser instalada em várias máquinas, algo geralmente muito menos trabalhoso
do que precisar aplicar as modificações desejadas em cada uma delas.

No caso do Ubuntu, é possível gerar personalizações de uma forma muito simples usando o Ubuntu
Builder, que permite "abrir" o arquivo ISO do sistema, fazer as modificações desejadas e fechá-lo novamente,
gerando uma nova imagem, pronta para ser gravada em um CD ou DVD. Se houver uma partição disponível
no HD, é possível até mesmo fazer todo processo através do próprio Live-CD, sem precisar sequer instalar o
sistema. Além do próprio Ubuntu, ele pode ser usado também para personalizar outras distribuições baseadas
nele (que mantenham a mesma estrutura), como no caso do Mint.

Ele pode ser baixado no https://launchpad.net/ubuntu-builder. Basta instalar o pacote da forma


usual, usando o dpkg, como em:

$sudo dpkg -i ubuntu-builder_1.4.1-1_all.deb


$ sudo apt-get -f install

Feito isso basta chamá-lo com o comando "ubuntu-builder.gambas". Ele deve ser executado
diretamente como root (e não através do sudo) caso contrário muitas das funções funções não funcionarão
corretamente. Este é um bug que pode vir a ser corrigido em versões posteriores:

$ sudo su
# ubuntu-builder.gambas

455
Comece selecionando o arquivo ISO que será personalizado (source). O utilitário pedirá a senha de
root para montá-lo, criando um diretório com os arquivos extraídos (um chroot), onde será feito o processo
de personalização.

O grupo "Informations" inclui apenas alguns ajustes cosméticos: o nome do sistema, usuário padrão,
nome da máquina e link de referência. As opções de personalização propriamente ditas estão concentradas
nos campos à direita.

O primeiro passo é definir qual será o ambiente gráfico padrão e clicar no "Install DE/VM" para que
o utilitário baixe os pacotes necessários para dentro do chroot. Para que o ambiente seja usado por padrão, é
necessário também editar o arquivo /etc/lightdm/lightdm.conf dentro do chroot (usando as opções
"Console" ou "Desktop"), alterando o "ubuntu" na linha "user-session=ubuntu " para "ubuntu-2d", "lxde" ou
outro valor, como em:

[SeatDefaults]
user-session=ubuntu-2d
greeter-session=unity-greeter
Se não souber qual é o comando do ambiente desejado, você pode alterar o ambiente no seu próprio
desktop e ver qual é a configuração que é salva no arquivo.

Se você pretende instalar pacotes de outros repositórios, como o Ubuntu Tweak e tantos outros, você
pode aproveitar para já adicionar os repositórios desejados clicando no "Edit sources.list". O botão "Install
deb packages" abre um wizard que permite instalar pacotes deb baixados manualmente dentro do chroot,
checando as dependências automaticamente. Você pode também usar o apt-get e outras ferramentas para
gerenciar os pacotes e fazer outras alterações clicando no "Console", que abre uma janela de terminal que
permite executar comandos dentro do próprio chroot. Outra opção é usar o Synaptic, que é muito útil na
hora de procurar pacotes desnecessários para remover, liberando espaço para manter o sistema cabendo
dentro de um CD.

O recurso mais interessante entretanto é a "Desktop", que abre um desktop virtual mostrando o
ambiente gráfico do remaster. Não se trata de emulação, mas sim de uma janela do Xephyr, que abre uma
instância do X dentro de uma janela, carregando as configurações do sistema dentro do chroot. Este desktop
virtual permite que você personalize o ambiente a gosto, deixando tudo da forma como quer que os usuários
vejam quando derem boot no sistema. A terminar, basta fechar a janela.

O tamanho da janela pode ser ajustado no "Tools > Settings > General Settings". O default é
1024x768, o que não funciona bem em muitos notebooks, onde você tem apenas 800 ou 768 pixels verticais e
a janela acaba extrapolando a área livre do desktop.

Ao terminar, use o "Build ISO" para gerar a nova imagem do sistema, que você pode testar usando o
VirtualBox ou qualquer outro virtualizador. Ele já até oferece um botão para testar usando o QEMU.

456
O Ubuntu Builder armazena o chroot e todas as configurações dentro da pasta "ubuntubuilder"
dentro do home do usuário com o qual ele for executado. Ao executá-lo como root, por exemplo, você terá a
pasta "/root/ubuntubuilder". Ao terminar, use a opção "Tools > Clean Workpath" ou delete a pasta
manualmente para recuperar o espaço.

GERANDO UMA IMAGEM PERSONALIZADA COM O CLONEZILLA

Outra opção para gerar mídias personalizadas de instalação do sistema é usar o modo de configuração
OEM oferecido pelo próprio Ubuntu para gerar uma instalação personalizada e em seguida cloná-la usando o
Clonezilla.

O modo de instalação OEM permite que você instale o sistema em uma máquina, faça as alterações
desejadas nos pacotes e configuração do sistema e oferece uma opção de remover todos os dados
particulares, deixando o sistema pronto para ser enviado ao usuário final. Durante o primeiro boot após isso,
o sistema executará o oem-config, um assistente de configuração pessoal, que permite ao usuário final
selecionar a linguagem, configuração do teclado e criar uma conta de usuário:

Para fazer a instalação em modo OEM, pressione F4 na tela de boot do CD (depois de escolher a
linguagem) e escolha a opção "Instalação OEM". De volta ao menu principal, use a opção "Instalar Ubuntu"
para instalar o sistema, gerando a matriz que será posteriormente duplicada:

Depois de terminada a instalação, faça todas as configurações desejadas no sistema, instalando outros
pacotes, alterando o gerenciador gráfico, personalizando o desktop e tudo mais o que desejar, como faria em
qualquer instalação do Ubuntu. Ao terminar, clique no ícone "Prepare for shipping to end user" no desktop
para "fechar" o sistema:

457
Desligue o PC e dê um novo boot, mas agora usando o live-CD do Clonezilla, que você pode baixar
no: http://clonezilla.org/clonezilla-live.php

Existem versões tanto para serem gravadas em CD quanto em um pendrive e até mesmo uma imagem
para ser inicializada através da rede, escolha a que for mais prática no seu caso. Você vai precisar também de
um HD externo ou de um pendrive para armazenar a imagem final (é possível também usar um
compartilhamento de rede, o que pode ser mais prático em um laboratório com várias máquinas).

Na tela de boot do sistema, defina a linguagem e o layout do teclado, para então finalmente inicializar
o sistema no terceiro menu. Ao usar um HD externo, use a opção "device-image" e "local-dev" para salvar a
imagem do sistema. Usando o "beginner mode" você precisa apenas usar a opção "savedisk" (para criar uma
imagem do HD inteiro) ou "savepart" (para salvar apenas a partição de instalação do sistema) e dê um nome à
imagem. Selecione o destino e siga as confirmações até que a imagem seja criada.

Na hora de instalar em outros PCs, basta repetir o processo, dando boot através do CD e usando a
opção de restaurar a imagem. Ao usar a opção "save disk" você pode restaurar a imagem em HDs maiores
que o inicial, mas o espaço adicional aparecerá como espaço não particionado, e você precisará editar a tabela
de partições para criar ou redimensionar as partições de forma a usá-lo. Usando a opção "save partition" seu
trabalho será um pouco mais longo, pois você precisará particionar o HD de destino manualmente e restaurar
o boot antes de conseguir inicializar a imagem restaurada.

458
CAPÍTULO 6: DEBIAN COMO DESKTOP

Embora o Debian "puro" seja mais usado em servidores, ele também pode perfeitamente ser usado
em desktops. Se você se sente confortável em usar o apt-get/aptitude e gosta da estrutura geral do sistema,
mas está em busca de um sistema mais leve e personalizável, o Debian pode ser a melhor opção.

O Debian é a base para o Ubuntu e inúmeras outras distribuições. O próprio repositório "universe"
do Ubuntu nada mais é do que um snapshot do repositório instável do Debian, com alguns patches e
personalizações adicionais. Se somarmos o Ubuntu, Kubuntu e todos os descendentes diretos e indiretos, as
distribuições da família Debian são usadas em mais de 70% dos desktops Linux.

O maior problema em utilizar o Debian diretamente, em vez de usar o Ubuntu ou outro derivado, é
que o sistema é bastante espartano, carecendo de muitas ferramentas de configuração automática. Em
compensação, ele é bem mais leve do que o Ubuntu, pois muitos pacotes são compilados com menos
componentes e opções mais otimizadas, o que resulta em um desempenho geral sensivelmente superior,
sobretudo nas máquinas mais modestas.

Ao instalar e remover pacotes, você vai notar também que o sistema é menos "engessado" em relação
às dependências de pacotes, permitindo que você tenha um desktop funcional com um volume muito menor
de pacotes.

O Debian é também (de uma forma geral) muito mais estável do que o Ubuntu, justamente devido à
postura conservadora dos desenvolvedores. Os releases estáveis do Debian são realmente "estáveis", com
todos os pacotes do repositório sendo exaustivamente testados em busca de erros e brechas de segurança.

O Ubuntu, por sua vez, tende a ser desenvolvido de uma forma mais liberal, incorporando softwares
que ainda não foram suficientemente testados, o que muitas vezes causa problemas graves, como no caso da
versão problemática do PulseAudio incluído no 8.04 LTS. Outra diferença importante é que no Ubuntu
apenas os pacotes do repositório principal passam por um conjunto extensivo de testes. Os pacotes dos
repositórios "universe" e "multiverse" (que englobam quase 90% dos pacotes, em número) recebem apenas
uma rodada rápida de testes.

A versão estável atual do Debian (enquanto escrevo) é o Lenny, lançado em 14 de fevereiro de 2008.
Ele é composto por nada menos do que 5 DVDs (ou 31 CDs!), que totalizam 23.2 GB de download.
Entretanto, como pode imaginar, estes DVDs todos incluem uma cópia completa dos repositórios oficiais,
que é necessária apenas para quem realmente quer fazer uma instalação completa do sistema e não quer
correr o risco de precisar baixar pacotes adicionais.

Para situações normais, você pode escolher entre baixar apenas o primeiro CD ou o primeiro DVD.

Os pacotes são organizados dentro das mídias com base na relevância, de forma que a primeira mídia
contém os pacotes mais usados e a segunda contém os seguintes, uma organização que vai até a última mídia,
que contém os pacotes mais incomuns.

459
Graças a isso (tanto no caso do CD quanto do DVD), a primeira mídia inclui quase todos os pacotes
necessários para fazer uma instalação básica do sistema e o instalador se encarrega de baixar outros pacotes
que sejam usados (como os pacotes de tradução para o português do Brasil) durante a própria instalação,
usando qualquer conexão disponível.

Se você tem uma conexão de banda larga, outra opção é baixar o NetInstall, uma imagem de 180 MB
que inclui apenas os pacotes básicos do sistema e baixa o restante dos pacotes selecionados durante a
instalação.

Como de praxe, aqui está a lista dos links rápidos:

Site Oficial: http://debian.org/


Download: http://www.debian.org/CD/http-ftp/
Wiki: http://wiki.debian.org/
Blogs: http://planet.debian.net/
Comunidade no Brasil: http://www.forumdebian.com.br/

Você pode também acessar diretamente o servidor de download no Brasil no


http://ftp.br.debian.org/debian-cd/.

Como o Debian possui versões para diversas arquiteturas e as imagens de boot estão disponíveis em
diversos formatos, a organização dos diretórios nos mirrors acaba sendo pouco intuitiva. As imagens dos
DVDs estão disponíveis na pasta "debian-cd/5.x.x/i386/iso-dvd/" (ou debian-cd/5.x.x/amd64/iso-dvd, no
caso da versão de 64 bits) as dos CDs na pasta "debian-cd/5.x.x/i386/iso-cd/" e a dos live-CDs na pasta
"debian-cd/5.x.x-live/i386/iso-cd/".

INSTALANDO O LENNY

O release estável atual do Debian é o Lenny que, assim como os nomes de todos os demais releases
do Debian, tem o nome baseado em um personagem do filme Toy Story, onde o Lenny é o par de binóculos
andante.

Ao dar boot pelo CD ou DVD, a primeira escolha é utilizar o tradicional instalador em modo texto
(que é muito similar ao utilizado pelo alternate CD do Ubuntu) ou o novo instalador gráfico, que é uma
novidade do Lenny. Na verdade, o instalador gráfico nada mais é do que uma interface em GTK para o
instalador em modo texto, o que faz com que as opções em ambos os casos sejam basicamente as mesmas.

Na época em que surgiu a ideia de criar o instalador gráfico, muitos desenvolvedores defenderam o
uso do Anaconda (o instalador usado no Fedora), mas ele acabou sendo abandonado em favor do instalador
próprio devido a uma questão muito simples: em vez de se limitar aos PCs, o Debian suporta várias
plataformas, uma característica da qual os desenvolvedores se orgulham bastante. Para usar o Anaconda,
precisariam portá-lo para cada uma das plataformas suportadas, o que levou à conclusão de que desenvolver
uma interface gráfica para o instalador tradicional seria a melhor saída.

Como de praxe, você pode também especificar opções de boot para solução de problemas, como em
"installgui acpi=off" ou "installgui noapic". Para isso, pressione a tecla TAB para ter acesso à linha com as
opções de boot.

Está disponível também uma instalação em modo expert, que oferece um controle muito maior sobre
a instalação (você pode indicar se quer utilizar o Debian Stable, Testing ou Unstable e escolher
individualmente quais pacotes instalar, por exemplo), mas, por outro lado, o maior volume de opções tornam
a instalação mais complicada e demorada. Para simplificar as coisas, vamos usar a opção de instalação
tradicional em modo gráfico (Graphical Install).

460
O Lenny é uma das poucas distribuições lançadas em 2009 que ainda utiliza o KDE 3.5. Esse é, na
verdade, um ponto positivo, pois oferece uma opção para quem não gostou do KDE 4 e prefere a
estabilidade e a leveza da versão antiga. A próxima versão estável do Debian não deve ser lançada antes do
final de 2010 e, mesmo após isso, o Lenny ainda continuará sendo suportado por um bom tempo, permitindo
que você continue usando o KDE 3.5 até se sentir confortável em migrar.

Por default, o Debian instala o GNOME como desktop e não existe opção dentro do instalador para
alterar isso. Para usar o KDE, é necessário usar a opção "desktop=kde". Similarmente, você pode instalar
com o XFCE usando a "desktop=xfce" ou com o LXDE usando a opção desktop=lxde".

Naturalmente, você pode alterar o desktop padrão ao instalar usando a opção avançada (que adiciona
diversas outras escolhas à instalação), mas acaba sendo muito mais rápido simplesmente usar a opção de
boot.

Para serem usadas, as opções devem ser especificadas como um parâmetro na tela de boot. Para isso,
selecione a opção "Graphical Install" no menu, pressione a tecla TAB para ter acesso à linha de boot e
adicione a opção no final da lista:

Como de praxe, a primeira pergunta é sobre a linguagem; basta digitar "p" e selecionar o português do
Brasil. A pergunta seguinte é sobre a localização (que define a moeda, o padrão de medidas e outras opções
regionais), seguida pela confirmação do layout de teclado.

A menos que você esteja com a coleção completa das mídias de instalação em mãos, é importante
possuir uma conexão de rede disponível durante a instalação, para que o instalador possa baixar os pacotes
necessários. O ideal é sempre usar uma conexão de rede local compartilhada, já que o instalador não oferece
suporte a modems 3G e outras modalidades mais exóticas de conexão, se limitando a suportar placas
cabeadas e placas wireless que possuem drivers open-source.

461
Por default, ele tenta configurar a rede via DHCP e, caso nenhum servidor esteja disponível, oferece a
opção de configurar os endereços manualmente. É possível também desativar a configuração via DHCP
especificando a opção de boot "netcfg/disable_dhcp=true" na tela de boot.

Depois de ajustado o fuso-horário, chegamos ao particionamento, que, novamente, é composto de


opções similares às usadas no instalador do Ubuntu Alternate CD, com as tradicionais opções de instalação
assistida ou particionamento manual, que é sempre a opção recomendada para ter um melhor controle sobre
o tamanho das partições e evitar acidentes.

462
Dentro do particionador, basta dar um duplo clique sobre uma partição ou um trecho de espaço livre
para abrir o menu de opções, que permite criar, remover ou indicar o diretório onde a partição será montada.
Como de praxe, você precisa de pelo menos uma partição raiz (/) e uma partição swap, sendo recomendada
também uma partição separada para o diretório /home.

Você pode compartilhar a partição home entre várias distribuições, mas é fortemente recomendável
utilizar usuários diferentes para cada uma para evitar misturar as configurações.

É importante também prestar atenção ao configurar a partição, usando sempre a opção "não, manter
os dados existentes" para preservar os arquivos existentes ao instalar o Debian:

Ao terminar, basta usar o "Finalizar o particionamento e escrever as mudanças no disco", ou voltar


atrás nas modificações escolhendo o "Desfazer as mudanças nas partições":

463
Depois de aplicadas as mudanças nos discos, o instalador prossegue para a instalação do sistema base
(o mesmo incluído no CD do NetInstall), que inclui apenas o kernel e os utilitários básicos do sistema,
incluindo o apt.

Em seguida, o instalador solicita a senha de root e cria uma conta de usuário para o uso regular do
sistema. Diferente do Ubuntu, o Debian não utiliza o sudo por padrão, por isso a administração do sistema é
feita da maneira tradicional, usando o "su -" ou "sux" para se logar como root.

Download dos pacotes, instalação e gerenciador de boot

Chegamos então à etapa principal da instalação, que é a instalação dos pacotes adicionais. Ela começa
com a configuração do gerenciador de pacotes, onde as mídias que serão usadas durante a instalação precisam
ser "catalogadas", para que o instalador gere uma lista dos pacotes disponíveis em cada uma.

Como deve estar imaginando, se você gravou os 5 DVDs, ou os 21 CDs, vai precisar catalogar cada
um deles antes de prosseguir com a instalação. Se, por outro lado, você seguiu o meu conselho e está usando
apenas a primeira mídia, basta responder "não" e continuar. :)

464
A etapa seguinte é a escolha do mirror de onde serão baixados os pacotes adicionais que forem
necessários durante a instalação. Responda "sim" no "Utilizar um espelho de rede" e, em seguida, escolha
qual será usado.

O mirror do Brasil (br.debian.org) é hospedado na Universidade Federal do Paraná, que tem uma boa
conectividade com todos os principais backbones usados pelos provedores do Brasil. Na grande maioria dos
casos ele é o mais rápido, mas sempre existem casos isolados em que o mirror dos Estados Unidos pode ser
mais rápido, de acordo com o estado onde mora e o provedor que utiliza. Você pode fazer um teste rápido a
partir de outro PC da rede, acessando o http://packages.debian.org/ e tentando baixar um pacote qualquer a
partir dos dois para comparar a velocidade.

O instalador baixa então as listas de pacotes do mirror (similar a um "apt-get update") e, em seguida,
você tem acesso à tela de seleção de pacotes. O ideal é sempre manter selecionado apenas o "Ambiente
Desktop" e o "Sistema Básico". As demais categorias são destinadas à instalação de servidores que, de
qualquer forma, podem ser instalados posteriormente, usando o aptitude ou o apt-get:

465
A opção "Laptop" instala o NetworkManager, juntamente com um conjunto de utilitários de
gerenciamento de energia e outras funções. Se você está instalando em um notebook, é importante marcá-lo
também.

Temos em seguida a "etapa do cafezinho", onde o instalador vai obter todos os pacotes necessários,
parte deles a partir da mídia de instalação e outros via download, para só então iniciar a instalação
propriamente dita. Os downloads dos pacotes para uma instalação padrão usando apenas o primeiro CD
demora cerca de uma hora em uma conexão de 1 megabit. Instalando a partir do primeiro DVD (ou usando
uma conexão mais rápida), o download demora bem menos.

Uma dica caso você precise instalar o sistema em várias máquinas (e não queira criar um mirror local,
ou clonar a instalação inicial) é usar um proxy transparente (veja as dicas de configuração no capítulo 2 do
livro Servidores Linux, Guia Prático). Como o instalador baixa os pacotes via http, o proxy armazenará os
pacotes no cache, permitindo que você instale em várias máquinas com um único download.

Finalizando, temos a configuração do grub (o instalador é capaz de detectar outros sistemas instalados
automaticamente, assim como no Ubuntu) e a configuração do relógio, com a velha opção de usar ou não o
UTC:

466
Para instalar o grub no primeiro setor da partição (em vez de no MBR) responda "não" na pergunta
inicial e, na tela seguinte, especifique a partição de instalação.

Assim como as versões recentes do Ubuntu, o Debian Lenny também inclui o Wubi, o que permite
instalar o sistema dentro da partição do Windows, criando uma imagem de loopback. Para usá-lo, basta
colocar o CD ou DVD no drive e rodar o executável.

Além do instalador tradicional, outra opção é baixar um dos CDs do "Debian-Live", uma série de live-
CDs, contendo instalações com o KDE, GNOME, XFCE ou LXDE, que podem ser baixados no:
http://ftp.br.debian.org/debian-cd/5.0.0-live/i386/iso-cd/

... ou, diretamente no: http://debian-live.alioth.debian.org/

O Debian-Live é o projeto oficial para a criação de live-CDs baseados no Debian. Além de ser
responsável por disponibilizar as versões live com o KDE, GNOME e outros ambientes, o Debian-Live
disponibiliza um conjunto de scripts que permitem a criação de versões personalizadas dos CDs, que podem
ser criadas para fins de teste, ou simplesmente como uma forma de replicar um conjunto de personalizações
em várias máquinas.

CONFIGURAÇÃO BÁSICA

Tanto ao utilizar o KDE quanto ao utilizar o GNOME, você perceberá que a configuração do
ambiente de trabalho no Debian não é muito diferente do que vimos no capítulo do Slackware (KDE 3.5) e
do Ubuntu (GNOME).

Se você instalou o Debian Lenny usando a opção "desktop=kde" na tela de boot, o sistema foi
configurado com uma versão vanilla do KDE 3.5.10, que lembra bastante o KDE usado no Slackware 12.2,
que também é entregue sem nenhuma personalização. O primeiro passo é abrir o Kcontrol e personalizar o
ambiente, assim como vimos no capítulo do Slackware. Não se esqueça de ajustar as fontes no "Aparência &
Temas > Fontes", ativando o antialiasing (que vem desativado por padrão) e configurando as demais opções
a seu gosto.

A partir daí, você pode aplicar as dicas do tópico de configuração, adicionando os repositórios
adicionais e instalando os softwares que for utilizar. Ao contrário da crença popular, não existe uma grande
diferença de desempenho ao rodar alguns aplicativos GTK (como o Synaptic ou o Gimp) sobre o KDE. A

467
biblioteca GTK é bastante leve e, se você está usando o Firefox ou o Iceweasel, já está com o GTK carregado
de qualquer maneira.

O maior problema são aplicativos que dependem de um grande volume de bibliotecas e componentes
do GNOME, como por exemplo o Evolution ou o Totem. Eles sim rodam com um grande overhead sobre o
KDE, já que precisam carregar todos os componentes na abertura. Entretanto, é muito fácil reconhecê-los, já
que eles exigem uma longa lista de dependências ao serem instalados e demoram alguns segundos a mais para
carregar.

Uma das coisas que você perceberá ao usar o KDE sobre o Debian, é que ele é muito mais leve que
em outras distribuições (com exceção do Slackware, que é bastante otimizado), carregando muito rápido e
consumindo pouca memória RAM.

Parte disso se deve ao uso do KDE 3.5.10, que é consideravelmente mais leve que o KDE 4.x., mas o
principal fator reside nas opções de compilação (e outras otimizações), combinada com uma escolha mais
frugal das dependências e componentes adicionais. O Debian carrega menos componentes durante o boot
por default, o que deixa o sistema muito mais leve. Este é um dos motivos de muitas distribuições optarem
por utilizar o Debian como base, em vez do Ubuntu, por exemplo.

Um ponto bastante positivo no Debian é a disponibilidade de diversos ambientes de trabalho, que


você pode testar conforme quiser. Mesmo que tenha optado pela instalação do KDE ou do GNOME, você
pode instalar e testar outras interfaces de forma bastante simples usando o apt-get; basta instalar os pacotes
correspondentes, como em:

# apt-get install lxde


# apt-get install xfce

Como de praxe, o apt se encarregará de instalar as dependências, resultando em uma instalação


funcional do ambiente, que você pode selecionar na tela de login.

A principal vantagem de utilizar o Debian é justamente o brutal número de pacotes disponíveis nos
repositórios, que são igualmente suportados por parte dos desenvolvedores, diferente do que temos no
Ubuntu, onde apenas os pacotes do repositório "main" recebem suporte oficial.

Depois de instalar a interface desejada, basta fazer um logoff para voltar ao KDM/GDM e alterar a
interface usada no link das sessões, disponível no canto esquerdo inferior. Você pode também configurar o
gerenciador para fazer o login automaticamente através do Kcontrol (no caso do KDM) ou do gdmsetup (no
caso do GDM).

Ao usar o GNOME, você notará que as opções do ambiente são muito similares às do Ubuntu, uma
vez que a maior parte das opções de configuração e dos utilitários que vimos no capítulo anterior nada mais
são do que utilitários do GNOME, que são encontrados em qualquer distribuição baseada nele. O visual
default é bastante espartano, mas você pode resolver isso rapidamente no "Sistema > Preferências >
Aparência"

Assim como o Ubuntu, o Debian utiliza o apt-get e o aptitude como gerenciadores de pacotes, com
exatamente as mesmas opções e dicas que vimos no capítulo do Ubuntu. Você pode também instalar o
Synaptic usando o "apt-get install synaptic" e atualizar todo o sistema usando o "apt-get upgrade".

As únicas grandes mudanças com relação ao gerenciamento de pacotes são que o Debian não utiliza o
gerenciador de atualizações do Ubuntu (você simplesmente atualiza o sistema diretamente através do apt-
get/aptitude) e que, naturalmente, os repositórios utilizados são diferentes.

Com relação ao vídeo, o Lenny utiliza o X.org 7.3 que, similarmente ao que temos nas versões
recentes do Ubuntu e do Fedora, é capaz de detectar a resolução nativa do monitor automaticamente via
DDC, dispensando configuração manual. Não existe nenhum assistente para ajudar na instalação dos drivers
da nVidia ou da ATI, mas você pode instalá-los da forma manual, ou usando as dicas que veremos a seguir.

As placas de vídeo onboard com chipset Intel são ativadas automaticamente (graças ao driver open-
source da Intel, que é incluído ao X.org), de forma que você não precisa se preocupar muito com elas. O
desempenho 3D fica limitado aos recursos do hardware, mas funciona.

468
Configurando os repositórios

Depois de instalar o Debian, o primeiro passo é ajustar os repositórios, para que você possa instalar
todos os demais pacotes necessários para obter um desktop funcional. O Debian tem por objetivo oferecer
apenas pacotes distribuídos sob licenças livres, por isso pacotes com componentes proprietários são
segregados, dando origem ao repositório "non-free".

Similarmente ao que temos no caso do Medibuntu, o Debian conta com o debian-multimedia, um


repositório adicional, dedicado a distribuir pacotes com pendências relacionadas a patentes, como o
libdvdcss2 e o w32codecs.

Por default, o arquivo "/etc/apt/sources.list" do Debian Lenny inclui apenas três repositórios: main
(o repositório principal), updates (atualizações de segurança) e volatile (um novo repositório, destinado a
oferecer atualizações para pacotes que mudam com frequência), como nesse exemplo:

deb http://ftp.br.debian.org/debian/ lenny main


deb-src http://ftp.br.debian.org/debian/ lenny main

deb http://security.debian.org/ lenny/updates main


deb-src http://security.debian.org/ lenny/updates main

deb http://volatile.debian.org/debian-volatile lenny/volatile main


deb-src http://volatile.debian.org/debian-volatile lenny/volatile main
Assim como no caso do Ubuntu, as linhas "deb-src" incluem os repositórios com código-fonte, que
são necessárias apenas se você pretender compilar pacotes manualmente.

Você encontrará também uma linha apontando para o CD/DVD de instalação logo no início do
arquivo. Ela faz com que o apt tente instalar pacotes que ainda não receberam atualizações a partir do
CD/DVD (em vez de baixá-los diretamente), o que acaba sendo inconveniente em muitos casos, já que você
passa a precisar colocar a mídia no drive. A menos que você acesse através de uma conexão muito lenta, é
interessante removê-la.

Para ativar os repositórios adicionais, adicione um "contrib non-free" nas linhas referentes aos dois
primeiros repositórios, complementando o "main". Aproveite para adicionar também a linha do debian-
multimedia, que conclui as modificações:

deb http://ftp.br.debian.org/debian/ lenny main contrib non-free


deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main contrib non-free


deb-src http://security.debian.org/ lenny/updates main contrib non-free

deb http://volatile.debian.org/debian-volatile lenny/volatile main


deb-src http://volatile.debian.org/debian-volatile lenny/volatile main

deb http://www.debian-multimedia.org lenny main


Você pode substituir a linha do debian-multimedia pela "deb http://ftp.br.debian.org/debian-
multimedia/ lenny main", que orienta o apt a utilizar o mirror nacional, em vez do servidor principal.

Como de praxe, ao rodar o "apt-get update", você receberá um erro de chave pública não disponível
relacionada ao repositório do debian-multimedia, que acabou de ser adicionado.

Você pode resolver o problema instalando o pacote "debian-multimedia-keyring", usando o apt. Ele é
usado para distribuir a chave pública do repositório, permitindo que o apt faça a configuração
automaticamente. Como o download é feito antes que o repositório possa ser verificado, é necessário que
você responda "s" para continuar a instalação:

# apt-get install debian-multimedia-keyring

Outra opção é adicionar a chave manualmente (copie o código da chave a partir das mensagens de
aviso exibidas pelo apt), usando os dois comandos que vimos no capítulo do Ubuntu:

469
# gpg --keyserver subkeys.pgp.net --recv-keys 07DC563D1F41B907
# gpg --export --armor 07DC563D1F41B907 | apt-key add -

A partir daí, você pode completar o time de suporte a multimídia instalando o VLC e o Mplayer,
juntamente com o libdvdcss2 e o w32codecs. Diferente do que temos no Ubuntu, a instalação do VLC e do
Mplayer dispara a instalação de diversos codecs, que completam o time. Se você estiver usando o KDE, é
interessante instalar também o Kaffeine, que é o player default na série 3.5:

# apt-get install vlc mplayer kaffeine libdvdcss2 w32codecs

Por algum motivo, o instalador do Lenny instala apenas o suporte à descompactação de arquivos gzip,
sem suporte a arquivos .tar.bz2, .zip, .7z ou .rar, que precisam ser instalados manualmente:

# apt-get install bzip2 zip rar p7zip

O Lenny utiliza por padrão fontes da série DejaVu (que é uma evolução do conjunto Bitstream-Vera),
combinado com as fontes Liberation e Dustin. Entretanto, os repositórios incluem diversos outros conjuntos
de fontes (os pacotes que começam com "xfonts" e "ttf", que você pode usar para reforçar o conjunto pré-
instalado, como em:

# apt-get install xfonts-terminus xfonts-terminus-oblique xfonts-mona ttf-georgewilliams ttf-nafees


ttf-freefont ttf-bitstream-vera

Para instalar as fontes do Windows, instale o pacote "mscorefonts-installer", que é o sucessor do


"msttcorefonts", usado nas versões anteriores:

# apt-get install ttf-mscorefonts-installer

Ele é na verdade um pacote vazio, contendo apenas um script de instalação que se encarrega de baixar
os arquivos das fontes, extrair os arquivos, copiá-los para a pasta de fontes do sistema e atualizar a
configuração.

Se quiser ativar o servidor SSH, basta instalar o pacote "openssh-server" para que o serviço passe a ser
inicializado automaticamente durante o boot:

# apt-get install openssh-server

O SSH é muito útil também em redes locais, graças às funções de transferência de arquivos. Deixando
o servidor SSH ativado em todas as máquinas, você pode acessar qualquer pasta remotamente abrindo o
"sftp://login@endereço" tanto a partir do Konqueror quanto a partir do Nautilus. É possível também
acessar os arquivos a partir de máquinas Windows através do Filezilla (http://filezilla-project.org/), usando a
opção de abrir uma conexão via SFTP.

Configuração da rede

O Debian não utiliza o NetworkManager por padrão (ele é instalado apenas ao marcar a categoria
"Laptop" durante a instalação), o que é na verdade uma boa coisa dentro da ideia de um sistema simples e
leve, pois permite que você simplesmente configure a rede manualmente através do arquivo
"/etc/network/interfaces", sem precisar se preocupar com o applet do NetworkManager, como no Ubuntu.

Por default, o sistema configura a rede via DHCP, o que atende à maior parte dos usuários, que
simplesmente acessam através de uma conexão compartilhada. Descontados os comentários, a configuração
default no arquivo "/etc/network/interfaces" é similar a esta:

auto lo eth0
iface lo inet loopback

iface eth0 inet dhcp


Para configurar a rede manualmente, basta substituir o "inet dhcp" por "inet static", especificando os
endereços diretamente, como em:

auto lo eth0

470
iface lo inet loopback

iface eth0 inet static


address 192.168.1.2
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

Ao configurar a rede manualmente, você deve especificar também os endereços dos servidores DNS
que serão usados no arquivo "/etc/resolv.conf", com em:

nameserver 208.67.222.222
nameserver 208.67.220.220

Se você usa uma placa wireless, deve fazer a configuração em dois passos que vimos no tópico sobre o
NetworkManager (no capítulo do Ubuntu), gerando a configuração do wpa_supplicant e adicionando as duas
linhas extras no final do arquivo "/etc/network/interfaces". Se a placa é vista pelo sistema como "wlan0"
(use o comando "cat /proc/net/wireless" em caso de dúvida) o SSID da rede é "gdhn" e a chave de acesso é
"gdh12345", o comando seria:

# wpa_passphrase gdhn gdh12345 > /etc/wpa_supplicant.conf

Gerado o arquivo, falta apenas ajustar a configuração no arquivo "/etc/network/interfaces". Ao usar


DHCP, ela ficaria:

auto lo wlan0
iface lo inet loopback

iface wlan0 inet dhcp


wpa-driver wext
wpa-conf /etc/wpa_supplicant.conf
Você pode também configurar a rede usando meu script de configuração, disponível no:
http://www.gdhpress.com.br/blog/script-wireless-debian-ubuntu/

Se você precisa se conectar a várias redes wireless diferentes, existe a opção de usar os comandos
manuais, que permitem conectar e desconectar conforme necessário. Nesse caso o primeiro passo é gerar
arquivos de configuração diferentes para cada rede usando o wpa_passphrase.

A partir daí, use os comandos a seguir para se conectar, especificando o arquivo de configuração
apropriado para a rede à qual quer se conectar:

# killall wpa_supplicant
# wpa_supplicant -i wlan0 -c /etc/rede1.conf -B -D wext
# dhclient wlan0

O "killall wpa_supplicant" é necessário para finalizar instâncias anteriores do wpa_supplicant que


estejam ativas, já que, uma vez ativado, ele fica ativo em background até que o micro seja desligado. É preciso
também esperar dois ou três segundos antes de usar o "dhclient wlan0", para que o wpa_supplicant tenha
tempo de estabelecer a conexão.

Para facilitar, você pode transformar estes comandos em um pequeno script, que pode usar de
maneira mais prática:

#!/bin/sh
killall wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/$1.conf -B -D wext
dhclient wlan0

Nesse exemplo, bastaria indicar o arquivo de configuração que seria usado ao executar o script, como
em:

471
# ./meu-script rede1

Outra observação é que, os firmwares necessários para ativar placas wireless com chipset Intel ou
Ralink foram movidos para o repositório "non-free" e precisam ser instalados manualmente, através de um
destes três pacotes:

firmware-iwlwifi : Firmware para placas Intel Wireless 3945 e 4965


firmware-ipw2×00 : Firmware para placas Intel Pro Wireless 2100, 2200 e 2915
firmware-ralink : Firmware para placas Ralink RT2561, RT2571, RT2661 e RT2671

Basta reiniciar o PC (ou descarregar e recarregar os módulos manualmente) depois de instalar o pacote
referente à placa para que os firmwares passem a ser carregados e ela passe a ser ativada automaticamente
durante o boot. Como pode imaginar, estes pacotes fazem parte do repositório "non-free", que deve ter sido
previamente ativado.

Se você usa uma conexão 3G, seja utilizando um modem USB ou o próprio smartphone, pode
conectar seguindo as dicas do livro Smartphones, Guia Prático, ou simplesmente utilizar meu script de
conexão, disponível no: http://www.gdhpress.com.br/blog/script-vivo-zap/

Caso você opte por utilizar o NetworkManager, a configuração é bem similar à do Ubuntu, com o uso
do nm-applet (no caso do GNOME) ou do KNetworkManager, no caso do KDE.

Um dos motivos de muitos não gostarem de usar o NetworkManager é a necessidade de fornecer a


senha para destravar o chaveiro de senhas a cada boot. Para quem não está muito preocupado com a
segurança, existe a opção de salvar as chaves diretamente na configuração do KNetworkManager
(dispensando assim qualquer autenticação adicional), o que pode ser feito no "Opções > Configurar >
Configuração Geral > Guardar as chaves na Configuração".

O problema nesse caso é que as chaves são armazenadas em texto puro (dentro do arquivo
".kde/share/config/knetworkmanagerrc", dentro do home) o que abre brechas para ataques, caso alguém
consiga acesso a alguma das máquinas:

Chaves armazenadas em texto puro nem sempre são uma boa idéia... :)

Outra opção para quem quer um gerenciador de redes gráfico é o Wicd


(http://wicd.sourceforge.net/) um gerenciador mais simples, que utiliza o NetworkManager como backend,
manipulando a configuração da rede diretamente. Ele é uma boa opção para quem utiliza o LXDE ou o
XFCE, já que não possui dependências do GNOME e é bastante leve.

O Wicd não faz parte dos repositórios do Lenny, mas você pode instalá-lo adicionando a linha com o
repositório no final do arquivo "/etc/apt/sources.list" e em seguida instalando-o via apt-get, como explicado
no: http://wicd.sourceforge.net/download.php

472
Ele é composto por dois componentes, um serviço de sistema (o "wicd"), que fica ativo
continuamente, e o "wicd-client", que é o cliente gráfico, responsável pelo applet ao lado do relógio. Ao abrí-
lo pela primeira vez, execute o serviço como root, usando o:

# /etc/init.d/wicd start

... e, em seguida, abra o wicd-client usando seu login de usuário:

$ wicd-client

A partir daí, você pode gerenciar a rede através do ícone ao lado do relógio, de maneira muito similar
ao que faria ao utilizar o NetworkManager. O wicd oferece suporte tanto a redes wireless quanto a redes
cabeadas, com a possibilidade de chavear entre diferentes conexões conforme necessário:

Wicd rodando sobre o XFCE

Terminal e sudo

Por default, o Debian vem com o bash_completion desativado para o root, o que faz com que você
não consiga completar os comandos usando a tecla TAB. Para resolver isso, é necessário instalar o pacote
"bash-completion" manualmente:

# apt-get install bash-completion

Em seguida, abra o arquivo "/etc/bash.bashrc" e, próximo ao final, descomente as três linhas a seguir,
que fazem com que o script de ativação seja ativado sempre que um terminal é aberto:

if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
fi
Como pode ver, essa função consiste em simplesmente verificar se o arquivo "/etc/bash_completion"
existe e, em seguida, processar seu conteúdo.

Também funciona se você incluir a linha ". /etc/bash_completion" em qualquer arquivo que seja
executado quando um terminal é aberto, como o arquivo ".bashrc" dentro do home, ou o arquivo
"/etc/profile". Você poderia, por exemplo, fazer a ativação usando o:

# echo ". /etc/bash_completion" >> /etc/profile

Continuando, para que o terminal fique colorido (pastas aparecem em azul, arquivos compactados em
vermelho e assim por diante, o que torna mais fácil identificar os arquivos) adicione a linha:

alias ls="ls --color=auto"


... no final do arquivo "/etc/profile".

473
Em ambos os casos, você deve fazer logout no terminal (usando o comando "exit", ou pressionando
Ctrl+D) e em seguida logar-se novamente para que a alteração entre em vigor.

Diferente do Ubuntu, o Debian não utiliza o sudo para permitir que usuários normais do sistema
executem aplicativos como root. Apesar disso, o pacote vem pré-instalado e você pode alterar a configuração
do sistema para que ele se comporte da mesma maneira que o Ubuntu fazendo apenas uma modificação
simples no arquivo "/etc/sudoers", que, como de praxe, deve ser editado usando o root.

Para criar uma configuração similar à do Ubuntu, onde os usuários adicionados ao grupo "sudo"
podem executar comandos como root depois de confirmar a senha de usuário, adicione a linha:

%sudo ALL=(ALL) ALL


Se preferir que os comandos sejam executados diretamente, sem precisar fornecer senha, a linha fica:

%sudo ALL=NOPASSWD: ALL


Em ambos os casos, é necessário que você cadastre seu login de usuário (e outros em que quiser usar
o sudo) no grupo "sudo", como em:

# adduser gdh sudo

Iceweasel x Firefox

Devido a escaramuças relacionadas à licença, o Debian não inclui o Firefox, mas sim o Iceweasel, que
é uma versão alternativa do navegador, mantida pela equipe do Debian, que exclui todas as artes e marcas de
propriedade da fundação Mozilla. Na verdade, o Iceweasel não é nem melhor nem mais seguro que o Firefox,
é apenas uma derivação originada de discussões filosóficas.

Apesar disso, nada impede que você instale o Firefox manualmente, baixando o pacote disponível no:
http://www.mozilla.com/pt-BR/firefox/all.html

Para substituir o Iceweasel por ele, é necessário remover o pacote, descompactar o arquivo na pasta
/opt, criar o link "/usr/bin/firefox", apontando para o executável dentro da pasta e substituir a pasta
"/opt/firefox/plugins" por um link para a pasta "/usr/lib/mozilla/plugins", que é o diretório onde os
plugins são instalados por padrão no Debian.

Você pode baixar o arquivo no seu diretório home e fazer o restante usando o root, como em:

# apt-get remove iceweasel


# mv firefox-3.0.6.tar.bz2 /opt
# cd /opt
# tar -jxvf firefox-3.0.6.tar.bz2
# ln -s /opt/firefox/firefox /usr/bin/firefox
# rm -rf /opt/firefox/plugins
# ln -sf /usr/lib/mozilla/plugins /opt/firefox/plugins

Com tudo pronto, fica faltando apenas recriar o ícone no iniciar, apontando para o
"/usr/bin/firefox", o que você pode fazer rapidamente usando o editor de menus.

Como ao fazer a instalação manual você não poderá contar com as atualizações de segurança via "apt-
get upgrade", é importante ativar as atualizações automáticas do Firefox. Para isso, transfira a posse da pasta
"/opt/firefox" para o seu usuário, como em:

# chown -R gdh /opt/firefox

Isso permitirá que o próprio Firefox modifique o conteúdo da pasta, instalando as atualizações
conforme elas forem disponibilizadas. Para que o sistema funcione, verifique se as atualizações automáticas
estão ativadas no "Editar > Preferências > Avançado > Atualizações".

Concluindo, o tema visual default do Firefox é um pouco feio, mas você pode baixar outros no
https://addons.mozilla.org/pt-BR/firefox/browse/type:2. Uma boa opção é o Nemesis.

474
Se você preferir ficar com o Iceweasel (a principal vantagem em utilizá-lo é ter acesso às atualizações
diretamente pelo "apt-get upgrade"), é importante modificar a identificação do navegador dentro do
"about:config".

Pesquise pela opção "general.useragent.extra.firefox". Originalmente ela contém o valor


"Iceweasel/3.0.6", o que faz com que muitos sites não reconheçam o navegador e bloqueiem o acesso ou
exibam a versão simplificada para dispositivos móveis. Para resolver o problema, mude o texto para
"Firefox/3.0.6".

Com relação aos plugins, o Lenny usa por padrão o swfdec, que é um plug-in flash open-source. Ele
funciona bem para exibir animações básicas, mas possui várias limitações com relação à exibição de vídeos e
execução de jogos e mini-aplicativos. Você pode substituí-lo pelo plugin da Adobe (disponível no repositório
non-free) via apt:

# apt-get remove swfdec-mozilla


# apt-get install flashplayer-mozilla

Importante: Se você estiver usando o GNOME, uma falha nas dependências do pacote fará com que
o apt tente remover quase todo o GNOME ao tentar remover o pacote "swfdec-mozilla". Nesse caso, em vez
de removê-lo, simplesmente instale o pacote "flashplayer-mozilla" em conjunto com ele e, em seguida, use o
comando:

# /usr/sbin/update-alternatives --config flash-mozilla.so

Ele perguntará qual dos dois plugins será usado por padrão; basta escolher o "flashplayer-mozilla" na
lista.

O update-alternatives é um script que permite definir aplicações preferenciais. Ele é usado em outras
situações em que dois ou mais componentes instalados oferecem a mesma função. Apesar de parecer
complexo à primeira vista, tudo o que ele faz é criar links simbólicos, que fazem com que o sistema execute o
aplicativo escolhido.

No caso do suporte a flash, por exemplo, é criado o link "/usr/lib/mozilla/plugins/flashplayer-


mozilla.so", que pode apontar para o swfdec, ou para o plugin da Adobe. Outro exemplo de uso é o "update-
alternatives --config editor", que permite ajustar qual será o editor de texto padrão do sistema.

Concluindo, você pode também instalar o suporte a Java através dos pacotes "sun-java6-jre" (o JRE
propriamente dito) e "sun-java6-plugin" (o plugin para o Firefox/Iceweasel), que também fazem parte do
repositório non-free:

# apt-get install sun-java6-jre sun-java6-plugin

Outra dica é que, independentemente de usar o Iceweasel ou o Firefox, você se deparará com o velho
problema de o visual dos aplicativos GTK ficar diferente do dos aplicativos do KDE. Para resolver isso,
instale o pacote "gtk-qt-engine" (ele funciona tanto no KDE 3 quanto no KDE 4):

# apt-get install gtk-qt-engine

Em seguida, ative a opção "Use my KDE style in GTK applications" dentro da seção "GTK Styles
and fonts" do Centro de Controle.

NTFS-3g

O Lenny não ativa o NTFS-3g por default, mesmo que você tenha partições NTFS do Windows no
HD. Para ativar o suporte a escrita, você deve instalar o pacote usando o apt e alterar a linha referente à
partição no "/etc/fstab" para que ele seja usado. Felizmente, isso é bastante simples; o primeiro passo é
instalar o pacote, como em:

# apt-get install ntfs-3g

Em seguida, abra o arquivo "/etc/fstab" e adicione uma nova linha para a partição do Windows,
especificando o uso do NTFS-3g, como vimos no capítulo do Mandriva:

475
/dev/sda1 /mnt/windows ntfs-3g defaults 0 0
Não se esqueça de criar a pasta de montagem usando o mkdir ("mkdir /mnt/windows"), já que o
mount não é capaz de criá-la automaticamente.

Como de praxe, você pode também montar a partição manualmente, basta especificar o "ntfs-3g"
como sistema de arquivos no comando do mount, como em:

# mount -t ntfs-3g /dev/sda1 /mnt/windows

... ou, simplesmente:

# ntfs-3g /dev/sda1 /mnt/windows

Como comentei no capítulo do Mandriva, o default nas versões recentes do NTFS-3g é montar as
partições do Windows com permissão de leitura e escrita para todos os usuários do sistema, o que é um
comportamento desejável em um desktop (já que simplifica a configuração), mas pode ser bastante perigoso
caso você mantenha o SSH, NFS, Samba ou qualquer outro servidor ativo, já que qualquer um que tenha
acesso ao seu micro, teria automaticamente acesso a todos os arquivos dentro da partição do Windows.

É possível fazer uma "montagem segura", restringindo o acesso a um login específico usando as
opções "uid" e "umask" do NTFS-3g, como em:

# mount -t ntfs-3g -o uid=1000,umask=077 /dev/sda1 /mnt/windows

O "umask=077" retira todos os privilégios dos outros usuários, liberando o acesso apenas para o
dono. Ele trabalha usando uma tabela simples de subtração. As permissões originais seriam "777" (acesso
completo para todos), subtraindo o "077" sobraria apenas "700", que dá permissão completa para o dono,
mas nega o acesso de todos os demais.

Uma particularidade do NTFS-3g é que é necessário especificar o dono com base no UID e não no
login. Para descobrir qual é o UID de um determinado usuário, usamos o comando "id", como em:

# id gdh

uid=1000(gdh) gid=1000(gdh) grupos=1000(gdh)

Essas opções podem ser também especificadas na linha do fstab, como em:

/dev/sda1 /mnt/windows ntfs-3g defaults,uid=1000,umask=077 0 0

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, permitindo que você monte-a manualmente
apenas quando for utilizá-la, usando o "mount /mnt/windows".

USANDO O KVM (QEMU) NO DEBIAN

Na introdução, falei sobre como usar o VMware Player para rodar distribuições Linux de forma rápida
dentro do Windows para fins de teste; no capítulo sobre o Mandriva, falei sobre o uso do VMware Player no
Linux e no do OpenSUSE falei sobre o Xen. Para manter a tradição, vou apresentar mais um ambiente de
virtualização, o KVM (complemento para o antigo Qemu), que oferece um bom desempenho e pode ser
instalado rapidamente sobre o Debian.

Embora seja um software open-source bastante antigo e conhecido, o Qemu nunca foi muito usado,
pois era muito lento. Diferente do VMware e do VirtualBox, que são virtualizadores, capazes de rodarem
outros sistemas operacionais com um overhead relativamente baixo, o Qemu é um emulador, que funciona
de forma similar aos emuladores de consoles antigos, que usamos para rodar jogos de SNES e Mega-Drive no
PC.

Em vez de utilizar um sistema de virtualização, 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 consegue que o

476
sistema guest rode com de 70 a 90% do desempenho que teria se estivesse rodando diretamente, enquanto o
Qemu obtém de 5 a 10%, um desempenho brutalmente inferior.

Em 2005 o Qemu ganhou um módulo adicional, o Kqemu, um "acelerador" que faz com que ele
passe a ser capaz de virtualizar as instruções, passando a oferecer um desempenho muito melhor. O Kqemu
melhorou consideravelmente o desempenho do Qemu, mas, ainda assim, ele continuou atrás do VMware em
questão de desempenho. Outro problema era que o Kqemu era um componente proprietário, o que fez com
que ele continuasse sendo pouco usado.

O segundo salto veio em 2007, com o lançamento do KVM (http://kvm.qumranet.com/kvmwiki),


um sistema de virtualização incluído diretamente no kernel, disponível a partir da versão 2.6.20. O KVM
substituiu o Kqemu como "acelerador" e, por ser licenciado sob a GPL, passou a ser desenvolvido de forma
ativa, incorporando melhorias e rapidamente se tornando uma opção viável de virtualização.

Assim como nos exemplos anteriores, o KVM pode ser instalado sobre qualquer uma das outras
distribuições (procure pelos pacotes "kvm" e "qemu"); o uso no Debian é apenas para fins de exemplo.

O primeiro passo é instalar os dois pacotes. A grande vantagem do KVM é que, por ser um
virtualizador open-source, ele é bastante simples de instalar nas distribuições atuais. O módulo vem incluído
diretamente no kernel e os demais componentes podem ser instalados usando o gerenciador de pacotes:

# apt-get install kvm qemu

Depois de instalar, adicione o usuário que estiver utilizando no grupo "kvm", para que ele tenha
permissão para usar o acelerador:

# adduser gdh kvm

Com isso, a instalação está concluída: falta apenas criar os discos virtuais e rodar as VMs. Assim como
no caso do VMware, o KVM suporta o uso de discos virtuais dinâmicos, que começam como arquivos vazios
e vão crescendo conforme você instala coisas dentro da VM. O comando para criar os discos virtuais é o
"qemu-img create nome.img -f qcow tamanho", como em:

$ qemu-img create ubuntu.img -f qcow 10G

Este comando deve ser executado com o seu login de usuário (e não mais como root), já que ele é
quem deve ser o dono do arquivo. Se você criar as imagens usando o root, você não terá permissão para
escrever dentro dos arquivos ao usar o KVM, o que vai fazer com que a instalação dentro da VM falhe com
uma mensagem "não é possível escrever no disco", ou similar.

Como pode imaginar, o "ubuntu.img" é o nome do arquivo e o "10G" é o limite máximo de tamanho
para o disco virtual. Ele é originalmente criado como um arquivo vazio, que ocupa apenas alguns kbytes e
pode crescer até o limite especificado.

É recomendável agrupar os discos virtuais em uma mesma pasta, para fins de organização, mas isso
fica a seu critério: se quiser espelhá-los pelo HD, também não há problema. Com o disco virtual criado, falta
apenas inicializar a VM usando o CD/DVD ou a imagem ISO com o sistema de boot e começar a instalação
do sistema.

O comando agora é o "kvm", seguido pelo arquivo ISO com a imagem de boot (pode ser tanto o ISO
de uma distribuição Linux quanto uma imagem de uma mídia de instalação do Windows), seguido pelo disco
virtual que será usado, a quantidade de memória RAM reservada à VM (em MB) e a opção "-boot d", que faz
com que o KVM inicialize a VM a partir do CD-ROM:

$ kvm -cdrom /dev/cdrom -hda ubuntu.img -m 512 -boot d

Se quiser usar diretamente um CD ou DVD gravado dentro do drive, especifique o dispositivo


"/dev/cdrom", que permite acesso direto à mídia dentro do drive:

$ kvm -cdrom /dev/cdrom -hda ubuntu.img -m 512 -boot d

477
Assim como em outros virtualizadores, uma nova janela é aberta e o boot ocorre da maneira
tradicional. Ao clicar sobre a janela, o mouse fica "preso" dentro dela; para soltá-lo, pressione Ctrl+Alt:

Instalador do Ubuntu rodando sobre no Etch, com o KVM

O KVM não possui uma opção de tela cheia, mas você pode aumentar o espaço útil removendo a
borda da janela, o que no KDE é feito clicando com o botão direito na barra de título e usando a opção
"Avançado > Sem Borda" (pressione "Alt+F3" para que ela volte a ser exibida).

Você pode também mover a janela (o que é muito útil quando sistema dentro da VM configura o
vídeo com uma resolução vertical maior do que a área útil da tela), segurando a tecla Alt e arrastando a janela
usando o botão esquerdo do mouse.

Em alguns casos (que estão se tornando cada vez mais raros, conforme o software evolui), o KVM
pode apresentar erros diversos durante a instalação de alguns sistemas operacionais específicos. Nesse caso,
você tem a opção de desativar o KVM, ficando apenas com o Qemu sem aceleração, que, embora muito mais
lento, consegue completar a instalação na maioria dos casos. Para isso, basta executar o mesmo comando,
substituindo o "kvm" por "qemu -no-kvm":

$ qemu -no-kvm -cdrom /dev/cdrom -hda ubuntu.img -m 512 -boot d

Normalmente, estes problemas se manifestam apenas durante a instalação, de maneira que você pode
voltar a usar o KVM normalmente depois que ela estiver concluída.

Outra opção destinada a solucionar problemas de instalação é a "-no-acpi" (que era necessária para
instalar o Windows em versões anteriores do KVM), que pode ser adicionada no final do comando, como
em:

$ kvm -cdrom winxp.iso -hda xp.img -m 256 -boot d -no-acpi

Depois de instalado o sistema dentro da VM, o comando para inicializá-la daí em diante é bem mais
simples, indicando apenas o disco virtual e a quantidade de memória reservada, como em:

$ kvm -hda ubuntu.img -m 512

Para facilitar, crie ícones de atalho para as VMs criadas. Basta indicar o comando, especificando o
caminho completo para o arquivo do disco virtual:

478
O KVM pode ser usado também como uma maneira fácil de testar distribuições live-CD, sem que
você precise se dar ao trabalho de criar um disco virtual. Assim como é possível rodar um live-CD em um PC
sem HD, você pode usá-lo também em uma máquina virtual sem HD, simplesmente instruindo o KVM a dar
boot usando diretamente o arquivo ISO, como em:

$ kvm -cdrom puppy-4.1.2-k2.6.25.16-seamonkey.iso -m 256

Nesse caso, é importante apenas reservar uma quantidade suficiente de memória RAM, já que sem um
disco virtual o sistema dentro da VM não terá como fazer swap.

Você deve estar se perguntando como funciona a configuração da rede, já que até agora não toquei no
assunto. Na verdade, você não precisa se preocupar muito com isso, pois o KVM inclui um sistema de
compartilhamento de conexão, que simplesmente compartilha a conexão de rede via NAT, permitindo que o
sistema guest configure a rede via DHCP.

Graças a isso, você não precisa executar nenhum passo adicional para que a VM acesse a web, basta
deixar que ela obtenha a configuração de rede via DHCP durante a instalação. Este modo é equivalente às
opções "-net nic -net user", que precisavam ser especificadas manualmente em versões antigas.

Concluindo, se ao abrir a VM você receber um erro como:

open /dev/kvm: Permission denied


Could not initialize KVM, will disable KVM support
... significa que o KVM não está carregado, ou que (mais provável) as permissões de acesso ao
dispositivo virtual não foram ajustadas corretamente pelo responsável pelo pacote. Nesse caso, carregue o
módulo (apenas por desencargo) e ajuste as permissões manualmente, como em:

# modprobe kvm
# chown root:kvm /dev/kvm
# adduser gdh kvm

Se você é o único que utiliza o PC e não está tão preocupado com a segurança, pode simplesmente
abrir as permissões do dispositivo, de modo a não precisar mais se preocupar com isso:

# chmod 666 /dev/kvm

A principal limitação do KVM é que ele funciona apenas em processadores com suporte a
virtualização via hardware, o que deixa de fora a maioria das máquinas antigas. Você pode checar se o
processador possui ou não suporte à virtualização usando o comando "cat /proc/cpuinfo", onde o campo
"flags" deve incluir o "vmx" ou o "svm", como em:

479
flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse
sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow rep_good nopl pni cx16 lahf_lm cmp_legacy
svm extapic cr8_legacy 3dnowprefetch
É necessário também que o suporte a virtualização esteja ativado no Setup (caso a opção esteja
disponível). Procure pela opção "Enable SVM" ou "Virtualization support".

Caso o processador não suporte nenhum dos dois, você ainda poderá usar o Qemu em modo de
emulação (usando os mesmos comandos), mas tudo ficará muito lento. Nesse caso, o melhor seria partir para
o VMware ou o VirtualBox, que não dependem de suporte especial por parte do processador.

MIGRANDO PARA O SQUEEZE

Seguindo a tradição de manter o desenvolvimento simultâneo das versões Stable, Testing e Unstable,
juntamente com o lançamento do Lenny, foi iniciado o desenvolvimento do Squeeze (6.0), a atual versão
Testing, cujo lançamento está inicialmente previsto para o segundo semestre de 2010.

Embora, por definição, o Testing seja uma versão de desenvolvimento, que possui diversos bugs (é
normal que você passe a ter pequenos problemas ao atualizar o sistema ou que um ou outro programa deixe
de funcionar corretamente depois de atualizado, por exemplo), ela acaba sendo a melhor maneira de ter
acesso a um sistema atualizado, sem com isso precisar migrar para o Ubuntu ou outra distribuição.

Você pode migrar do Lenny para o Squeeze a qualquer momento e a partir daí passar a ter acesso às
novas versões dos pacotes. Se continuar a atualizar o sistema até o final do ciclo, vai eventualmente acabar
com uma instalação da próxima versão estável, com a opção de repetir o ciclo indefinidamente, atualizando
do Lenny para o Squeeze e dele para a próxima versão estável. Não é incomum encontrar usuários antigos do
Debian que atualizaram do Sarge para o Etch, do Etch para o Lenny e que agora estão utilizando o Squeeze,
sem nunca terem precisado reinstalar o sistema.

Para fazer a alteração, substitua todas as referências ao "lenny" dentro do arquivo


"/etc/apt/sources.list" por "squeeze", comente a linha do "volatile.debian.org" (ele está disponível apenas
para as versões estáveis) e adicione a linha que ativa o uso dos repositórios do Unstable. Depois das
alterações, o arquivo ficará assim:

deb http://ftp.br.debian.org/debian/ squeeze main contrib non-free


deb-src http://ftp.br.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free


deb-src http://security.debian.org/ squeeze/updates main contrib non-free

#deb http://volatile.debian.org/debian-volatile squeeze/volatile main


#deb-src http://volatile.debian.org/debian-volatile squeeze/volatile main

deb http://www.debian-multimedia.org squeeze main

deb http://ftp.br.debian.org/debian/ sid main contrib non-free


Os repositórios do security.debian.org ficarão sem uso enquanto estiver usando o Testing, pois as
atualizações de segurança ficam disponíveis apenas para as versões estáveis. Entretanto, não faz mal deixar as
linhas no arquivo, já que elas passarão a ser usadas quando o Squeeze for declarado estável.

É recomendável usar os repositórios do Squeeze (Testing) junto com os repositórios do Sid


(Unstable), 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.

Quando o Squeeze entrar em freeze (ou seja, for congelado), o que acontece cerca de 6 meses antes
do lançamento da nova versão, você pode comentar a linha do Sid e passar a usar apenas o Squeeze, que já
estará praticamente completo.

Nesse caso, é importante que você crie (ou modifique) o arquivo "/etc/apt/apt.conf", adicionando a
linha:

480
APT::Default-Release "squeeze";
Isso explica ao apt que ele deve utilizar os pacotes do Squeeze por padrão, recorrendo aos pacotes do
Sid apenas quando os pacotes solicitados ainda não estejam disponíveis. Isso faz com que o Sid seja usado
apenas enquanto os repositórios do Squeeze estiverem incompletos, deixando de ser usado conforme a
versão for finalizada.

Depois de alterar a configuração, utilize os tradicionais "apt-get update" e "apt-get dist-upgrade" para
atualizar o sistema do Lenny para o Squeeze. A partir daí, você pode continuar atualizando o sistema
periodicamente usando o "apt-get upgrade", até que o Squeeze esteja finalmente pronto. Quando isso
ocorrer, você tem novamente a escolha de ficar com ele, ou de migrar para a próxima versão Testing,
recomeçando o ciclo. :)

Uma nota importante é que os pacotes do Testing/Unstable são atualizados muito rapidamente
(diferente dos pacotes do Stable que recebem apenas atualizações de segurança), por isso é perda de tempo
rodar o "apt-get upgrade" diariamente para tentar manter o sistema atualizado.

Todos os dias haverão 100 ou 200 MB de atualizações, contendo revisões menores dos pacotes, que
você só precisa realmente atualizar se for um beta-tester. Uma boa dosagem nesse caso é atualizar o sistema a
cada duas ou quatro semanas, mantendo-o atualizado, mas sem cair na paranóia de tentar testar cada nova
versão de cada pacote.

Concluindo, embora não seja recomendável, você pode também usar simultaneamente as linhas
referentes ao Lenny e ao Squeeze dentro do sources.list. Neste caso, o apt-get vai usar por padrão a versão
que for citada na opção "APT::Default-Release" 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
squeeze" (ou "-t lenny"), como em:

# apt-get install -t squeeze 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 ideia, 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 BrOffice, Firefox/Iceweasel, Thunderbird/Icedove, Java, Skype e outros,


são relativamente independentes de outros pacotes instalados e quase sempre funcionam, independentemente
da versão. Contudo, 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, seja atualizar todo o KDE, por exemplo. Justamente por isso, misturar
os dois repositórios é uma configuração recomendada apenas para fins de teste.

ATUALIZANDO O KURUMIN 7 PARA O LENNY

Embora tenha sido descontinuado no início de 2008, o Kurumin 7 ainda possui um volume
considerável de usuários, que continuam usando o sistema e atualizando-o em relação aos repositórios do
Debian.

Por trás da aparência e dos scripts, o Kurumin 7 nada mais é do que uma instalação personalizada do
Debian Etch, com alguns extras. Assim como é possível atualizar diretamente de uma versão para outra do
Debian, é possível também atualizar o Kurumin 7 em relação ao Lenny, de forma que você possa ter acesso
às novas versões dos pacotes sem precisar mudar de sistema.

Isso permite que você continue usando o Kurumin 7, atualizando-o em relação às novas versões do
Debian, até que se sinta confortável em mudar de distribuição.

O arquivo "/etc/apt/sources.list" usado no Kurumin 7, inclui originalmente os repositórios do


Debian Etch, do Debian Multimedia e do Debian Unofficial. Note que todas as entradas fazem referência ao
nome da versão ("etch") e não a "stable", o que fez com que os repositórios do Etch continuem sendo
usados, independentemente do lançamento de novas versões do Debian:

# Etch (atual stable, lançado em Dezembro de 2006)


deb http://ftp.br.debian.org/debian etch main contrib non-free
deb http://security.debian.org etch/updates main contrib

481
# Debian Unofficial (contém o java, acrobat e outros pacotes "não livres")
deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

# Debian Multimedia (pacotes do mplayer, vários codecs e outros pacotes)


deb http://www.debian-multimedia.org etch main
Para atualizar, o primeiro passo é comentar ou remover a linha do Debian Unofficial, já que os
pacotes que estavam anteriormente disponíveis nele passaram a ser oferecidos através do Debian Multimedia
e do repositório non-free do Debian:

# deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted

Para reduzir a possibilidade de problemas durante a atualização para o Lenny, o ideal é começar
fazendo uma atualização geral do sistema em relação ao Etch, para ter certeza que estamos utilizando as
últimas versões dos pacotes:

# apt-get update; apt-get dist-upgrade

O principal motivo disso é que quase todos os testes de atualização feitos durante a fase de testes de
uma nova versão do Debian são feitos tomando como base uma instalação atualizada do sistema. Em outras
palavras, embora essa atualização prévia não seja obrigatória, ela reduz a chance de surgirem problemas
inesperados durante a atualização principal. Essa mesma dica é válida também para instalações do Debian de
uma forma geral.

A atualização vai deixar para trás o "lilo", que foi incluído na imagem do sistema apenas como uma
opção de instalação, para máquinas onde o grub eventualmente apresentasse problemas. Presumindo que
esteja usando o grub como gerenciador de boot, você pode simplesmente removê-lo. Se você não usa o NFS,
aproveite pare remover os pacotes também, caso contrário o serviço passará a ser ativado automaticamente
durante o boot:

# apt-get remove lilo nfs-common nfs-kernel-server

Aproveite para atualizar também o pacote "debian-keyring", que inclui as chaves atualizadas dos
repositórios oficiais:

# apt-get install debian-keyring

Com as preparações concluídas, o próximo passo é atualizar o arquivo sources.list, alterando os


repositórios do Etch para o Lenny. Outra mudança importante é incluir o volatile.debian.org, o novo
repositório que passou a ser usado a partir do Lenny.

Descontando os comentários, o arquivo ficará assim:

deb http://ftp.br.debian.org/debian lenny main contrib non-free


deb http://security.debian.org lenny/updates main contrib

deb http://www.debian-multimedia.org lenny main

deb http://volatile.debian.org/debian-volatile lenny/volatile main


É preciso adicionar também a chave do novo repositório:

# k-add-key F42584E6

A partir daí, você pode atualizar as listas e começar o download dos pacotes:

# apt-get update
# apt-get -d dist-upgrade

A atualização resultará em cerca de 700 MB de arquivos para baixar, o que torna o download
demorado. Justamente por isso, adicionamos o "-d" ao comando, para que você possa fazer a atualização em
duas etapas, deixando que o sistema baixe todos os pacotes enquanto faz outras coisas (ou durante a
madrugada) e deixar para fazer a atualização propriamente dita quando você estiver com tempo disponível.

482
Além de atualizar praticamente todos os pacotes do sistema e de baixar um conjunto de novas
bibliotecas e alguns novos aplicativos (marcados como dependências nas novas versões dos pacotes), o
upgrade removerá alguns pacotes que se tornaram obsoletos no Lenny, como por exemplo o "915resolution",
que era antigamente necessário para ajustar a resolução do vídeo em alguns notebooks com vídeo Intel, mas
se tornou desnecessário nas novas versões do driver.

Devido a um problema com as dependências, a atualização removerá o Gimp, que poderá ser
reinstalado manualmente depois:

Concluído o download dos pacotes, chegamos ao grande momento, que é fazer a atualização
propriamente dita.

Uma dica importante é fazer o upgrade a partir de um terminal de texto puro (e não a partir do
ambiente gráfico), pois durante a atualização do PAM o sistema precisará reiniciar o KDM (derrubando todo
o ambiente gráfico), o que abortaria a atualização caso esta estivesse sendo feita dentro de um terminal
gráfico.

Para isso, finalize os programas em que estiver trabalhando e pressione "Ctrl+Alt+F1" para mudar
para o terminal de texto puro. Logue-se como root e execute o upgrade a partir dele:

# apt-get dist-upgrade

Em um certo ponto da atualização (quando o X é reiniciado) você será jogado de volta ao KDE.
Pressione novamente o "Ctrl+Alt+F1" para voltar ao terminal de texto e continuar com a atualização.

Você notará que, mesmo depois de baixados todos os pacotes, a atualização demorará um bom
tempo, já que praticamente todos os componentes do sistema estão sendo substituídos.

Em alguns pontos do upgrade, você terá a opção de preservar arquivos de configuração do sistema
(como o "/etc/kde3/kdm/kdmrc", que contém a configuração do gerenciador de login) ou de instalar as
novas versões dos arquivos, subscrevendo a configuração atual. Nesses casos, a escolha segura é
simplesmente pressionar "Enter", mantendo os arquivos originais. Não existe problema em subscrever os
arquivos, mas isso fará com que alguns dos componentes do sistema passem a se comportar de maneira
diferente.

Se a atualização for interrompida em qualquer ponto (falta de energia, erro humano, cagaço, etc.) é
necessário rodar o "dpkg-reconfigure -a" e o "apt-get -f install") para arrumar a casa antes de recomeçar o
upgrade, como em:

483
# dpkg-reconfigure -a
# apt-get -f install
# apt-get dist-upgrade

Se você tiver os CDs/DVDs de instalação do Lenny em mãos, pode fazer com que o apt
obtenha os pacotes a partir das mídias, em vez de precisar baixá-los. Para isso, coloque a mídia no
drive e use o apt-cdrom para que ela seja adicionada à lista de repositórios:

# apt-cdrom add -d /mnt/cdrom/

Usar a primeira mídia já é suficiente para reduzir bastante o volume de downloads, mas você
pode continuar adicionando as outras mídias que tiver em mãos. A principal observação é que o apt
continuará baixando os pacotes que já tiverem recebido atualizações em relação aos disponíveis nas
mídias. Em outras palavras, adicioná-las apenas reduz o tempo de download, mas não elimina a
etapa completamente.

Terminada a atualização, execute mais uma vez o "apt-get dist-upgrade", para que ele faça a
atualização do Amarok, que, por conflitar com o antigo pacote "amarok-xine", ficará pendente. Aproveite
também para reinstalar o Gimp:

# apt-get dist-upgrade
# apt-get install gimp

No final do processo, você pode aproveitar para reiniciar o sistema, o que na verdade não é
necessário, mas serve para testar a ordem de inicialização dos serviços e ter certeza que todos estão sendo
ativados na ordem correta. Você pode reiniciar diretamente a partir do terminal de texto usando o bom e
velho "reboot".

Com isso, a atualização está oficialmente concluída. Como o Lenny mantém o uso do KDE 3.5, você
notará poucas mudanças no ambiente de trabalho. Entretanto, os quase dois anos de atualizações do Lenny
em relação ao Etch resultam em atualizações de quase todos os aplicativos e muitas melhorias espalhadas pelo
sistema. Você notará pequenos problemas e mudanças após a atualização, mas eles são na maioria detalhes
fáceis de resolver.

Você pode recuperar os 700 MB de espaço usados para o download dos pacotes usando o "apt-get
clean", ou então usar o "Clica-aki > Ícones Mágicos > Gerar CD do Kokar" caso queira usar o cache dos
arquivos baixados para atualizar outras máquinas.

Vamos então aos ajustes finais:

Mesmo depois de concluída a atualização, o apt continuará informando que o Kaffeine e alguns
outros pacotes serão mantidos em suas versões atuais. Essa é a lista dos pacotes cujas dependências conflitam
com novos pacotes incluídos no Lenny. Para atualizá-los, é necessário usar o "apt-get install", especificando-
os manualmente (você pode colar a lista usando o botão do meio do mouse), como em:

# apt-get install gdk-imlib11 kaffeine libgtk1.2 libmjpegtools0 mjpegtools xdialog

Isso resultará em mais uma pequena lista de pacotes a atualizar, juntamente com a remoção dos
pacotes obsoletos:

484
A principal baixa é o XMMS que, apesar de ter prestado bons serviços, chegou ao fim de sua vida útil
com o lançamento do Lenny. Ele foi substituído pelo Audacious, que oferece as mesmas funções básicas, mas
é baseado em bibliotecas atualizadas. Basta instalá-lo usando o:

# apt-get install audacious

O Kurumin utiliza um conjunto de scripts próprios para a configuração da rede. Eles fazem o trabalho
mas, naturalmente, não se comparam ao nível de praticidade em chavear entre várias redes oferecido pelo
NetworkManager. Se quiser fazer a troca, remova o Knemo (o monitor de rede incluído no sistema) e instale
o KnetworkManager:

# apt-get remove knemo


# apt-get install knetworkmanager

Para usá-lo, é necessário mais um passo importante: adicionar o usuário "kurumin" (ou qualquer outro
login com o qual você queira usá-lo) ao grupo "netdev". Sem isso, o KnetworkManager não tem permissão
para configurar a rede e não funciona:

# adduser kurumin netdev

Feito isso, você pode testar a configuração reiniciando o serviço "network-manager" (como root) e
abrindo o "knetworkmanager" com o seu login de usuário, como em:

$ sudo /etc/init.d/network-manager restart


$ knetworkmanager

Para finalizar, fica faltando apenas fazer com que ele seja aberto automaticamente durante o boot.
Para isso, arraste o ícone do KnetworkManager da pasta "Iniciar > Internet" para a pasta ".kde/Autostart"
dentro do diretório home.

Outra novidade do Lenny é que o BrOffice passou a fazer parte dos repositórios principais, evitando
que você precise baixá-lo manualmente a partir do broffice.org. Para migrar para os pacotes do Debian e de
quebra aproveitar para atualizar para o BrOffice 2.4, use o:

# apt-get install broffice.org

Continuando, uma nova checagem de segurança do Kommander, faz com que ele passe a exibir um
aviso de segurança ao abrir o Clica-Aki, reclamando que o bit de execução do arquivo não está ativado (o que
não era necessário nas versões anteriores). Para resolver o problema, use o:

# chmod +x /etc/Painel/*.kmdr

485
O Kommander 4:3.5.9-3 usado no Lenny possui um bug que faz com que ele ignore a codificação do
sistema e use sempre o UTF-8, fazendo com que os caracteres acentuados nas legendas dos painéis do Clica-
aki fiquem trocados. Se isso lhe incomodar, baixe a versão anterior, a partir do:
http://packages.debian.org/etch/i386/kommander/download

... e instale-o da forma usual, usando o dpkg:

# dpkg -i kommander_3.5.5-1_i386.deb

Para "pinar" o pacote, impedindo que ele seja atualizado pelo apt daí em diante, crie o arquivo
"/etc/apt/preferences", contendo o seguinte:

Package: kommander
Pin: version 3.5.5-1
Pin-Priority: 1000
Um passo final é atualizar o kernel, para que você possa deixar de lado o antigo 2.6.18.1 usado por
padrão no Kurumin 7. O upgrade de kernel é um passo necessário apenas se você quer ter acesso aos novos
drivers e outras melhorias trazidas pelo kernel atual. Se você está usando um PC antigo e está satisfeito com o
reconhecimento de hardware da versão antiga, não existe problema em continuar com ela.

O primeiro passo é usar o comando a seguir para criar o arquivo "/etc/kernel-img.conf", contendo a
linha "do_initrd = Yes". Isso orienta o script de pós-instalação do novo kernel a gerar o arquivo initrd com
os módulos que serão usados durante o boot:

# echo "do_initrd = Yes" > /etc/kernel-img.conf

O próximo passo é instalar o kernel propriamente dito, incluindo os headers e os compiladores


básicos. O "2.6.26-1-686" é o kernel usado na versão inicial do Lenny; ao instalar, verifique se não existem
outras versões disponíveis:

# apt-get install linux-image-2.6.26-1-686


# apt-get install linux-headers-2.6.26-1-686 build-essential

Com a instalação do pacote, serão criados dois novos arquivos na pasta /boot, o "vmlinuz-2.6.26-1-
686" e o "initrd.img-2.6.26-1-686", que correspondem ao kernel e ao initrd.

Para que ele seja usado, precisamos atualizar a configuração do grub, o que pode ser feito usando o
comando "update-grub". Comece renomeando o arquivo "/boot/grub/menu.lst" antigo e criando um novo
arquivo em branco. Em seguida, use o update-grub para que ele gere a nova configuração:

# mv /boot/menu.lst /boot/menu.lst.k7
# touch menu.lst
# update-grub

Este é o mesmo script que é usado na instalação do Debian, Ubuntu e outras distribuições. Ele se
encarregará de detectar o novo kernel e gerar um novo arquivo, contendo tanto o kernel novo quanto o
antigo, oferecendo a opção de escolher qual dos dois usar durante o boot. Isso permite que você volte a usar
o kernel original em caso de problemas.

INSTALANDO DRIVERS ADICIONAIS NO DEBIAN

Embora o Debian não inclua o gerenciador de drivers restritos disponível no Ubuntu, a instalação dos
drivers da nVidia, ATI, assim como outros drivers e aplicativos proprietários (como o VMware) não é
nenhum bicho de sete cabeças.

O primeiro passo é instalar os compiladores básicos e os headers do kernel, usando o:

# apt-get install build-essential linux-headers-`uname -r`

O "build-essential" é o mesmo pacote de compiladores e bibliotecas que está disponível no Ubuntu.


Ele instala o GCC, G++ e os demais integrantes do kit básico de compilação.

486
O pacote "linux-headers" inclui os headers do kernel, o conjunto de arquivos e ponteiros necessários
para que o compilador seja capaz de gerar módulos adequados ao kernel em uso. Existem várias versões do
pacote, uma para cada versão do kernel disponível nos repositórios (como em "linux-headers-2.6.26-1-686");
por isso, para facilitar, usamos o "linux-headers-`uname -r`" (o ` é o símbolo de craze) que faz com que o apt
descubra sozinho qual versão deve instalar a partir do comando "uname -r". Com isso, a casa fica pronta para
a instalação dos drivers.

No caso da nVidia, existem duas maneiras de instalar o driver. O primeiro é fazer o procedimento
manual, baixando o pacote no site da nVidia e executando em um terminal de texto, como fizemos no
capítulo do Slackware.

Nesse caso, o primeiro passo é parar o KDM ou GDM, de maneira a finalizar o ambiente gráfico
(uma exigência do instalador da nVidia):

# /etc/init.d/kdm stop
(ou "/etc/init.d/gdm stop")

De volta ao terminal de texto, logue-se como root e execute o arquivo a partir da pasta onde ele foi
baixado, como em:

# cd /tmp
# chmod +x NVIDIA-Linux-x86-180.29.pkg1.run
# ./NVIDIA-Linux-x86-180.29.pkg1.run

A partir daí, é só aceitar o contrato de licença e deixar que o instalador compile os módulos
necessários e atualize a configuração do X.

O Debian oferece também pacotes semi-prontos do driver do repositório non-free, que podem ser
instalados diretamente através do apt-get. A vantagem de usá-los é que o sistema passa a ser capaz de atualizar
o driver automaticamente quando você atualiza para uma versão mais recente do kernel, evitando que você
precise reinstalar o driver manualmente depois de perceber que o X deixou de abrir.

O primeiro passo é instalar o module-assistant e, caso não tenha instalado anteriormente, os pacotes
"build-essential" e "linux-headers":

# apt-get install module-assistant build-essential linux-headers-`uname -r`

O module-assistant (ou simplesmente "m-a") é um gerador de módulos para o kernel, que é capaz de
baixar os pacotes com o código-fonte, compilar, instalar e atualizar os módulos, tudo de forma automatizada.

Para que ele funcione, é necessário que o arquivo "/etc/apt/sources.list" inclua a linha com os
repositórios deb-src, como em:

deb-src http://ftp.br.debian.org/debian/ lenny main contrib non-free


... já que o module-assistant precisa ter acesso aos pacotes com o código-fonte dos módulos para
poder compilá-los e instalá-los.

No caso do driver da nVidia, o primeiro passo é instalar os pacotes "nvidia-glx", "nvidia-settings" e


"nvidia-xconfig", que incluem as bibliotecas e os utilitários utilizados pelo driver:

# apt-get install nvidia-glx nvidia-settings nvidia-xconfig

O passo seguinte é usar o module-assistant para compilar e instalar o módulo de kernel. Ele gerará
uma versão do pacote "nvidia-kernel" com o mesmo número de versão do kernel em uso, que será instalada
automaticamente no final do processo:

# m-a a-i nvidia-kernel-source

Com tudo concluído, fica faltando apenas mudar a configuração do vídeo para que o novo driver seja
usado. Você pode tanto 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 atualizar a configuração do vídeo
automaticamente utilizando o "nvidia-xconfig":

487
# nvidia-xconfig

Antes de reiniciar o X para testar o driver, abra o arquivo "/etc/X11/xorg.conf" e verifique a seção de
configuração do teclado. Se ela tiver ficado apenas com as linhas "Generic Keyboard" e "kbd", como em:

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
EndSection
... adicione manualmente as linhas Option "XkbModel" "abnt2" e Option "XkbLayout" "br", que
especificam o layout do teclado:

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection
Esse problema da remoção da configuração do teclado é uma questão antiga, que afeta também as
instalações feitas usando o instalador oficial da nVidia, tornando necessário o retoque manual.

Ao ser usado, o nvidia-xconfig salva uma cópia de backup da configuração anterior do vídeo no
arquivo "/etc/X11/xorg.conf.backup", que você pode restaurar em caso de problemas.

O driver inclui um módulo de kernel, o "nvidia", que deve ser carregado durante o boot para que a
aceleração 3D possa ser usada. Ele deve passar a ser carregado automaticamente pelo sistema assim que o
driver é instalado, mas, se quiser garantir, adicione a linha "nvidia" no final do arquivo "/etc/modules", o que
força o carregamento, independentemente do sistema detectar ou não a placa.

O Debian inclui também os pacotes dos drivers 3D da ATI, que são instalados de maneira
praticamente automática pelo apt e pelo module-assistant. Desde que você tenha instalado os compiladores,
os headers do kernel e o module-assistant nos passos anteriores, você pode instalar o driver usando o
comando:

# m-a a-i fglrx

No final da instalação, o dpkg irá reclamar que o "fglrx-kernel" (o pacote com o módulo de kernel,
compilado pelo module-assistant) depende dos pacotes "fglrx-driver" e "fglrx-glx " (que incluem os demais
componentes do driver), mas o apt se encarrega de baixá-los e concluir a instalação automaticamente, um
bom exemplo da capacidade de correção automática de problemas do gerenciador de pacotes.

Com isso, a instalação do driver está concluída. Falta apenas carregar o módulo e chamar o "aticonfig
--initial " para que ele ajuste a configuração do X:

# modprobe fglrx

# aticonfig --initial

No protocol specified
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saved back-up to /etc/X11/xorg.conf.original-0
Como pode ver pela saída do comando, ele ajusta a configuração do X, salvando uma cópia do
arquivo original no arquivo "/etc/X11/xorg.conf.original-0 ".

Para testar a configuração, reinicie o ambiente gráfico pressionando Ctrl+Alt+Backspace e rode o


comando "fglrxinfo | grep render" (como usuário). Ele deverá responder algo similar a:

OpenGL renderer string: ATI Radeon Xpress Series


Aproveite para rodar também o "fgl_glxgears" (ou algum jogo 3D, como o Chromium) para testar o
desempenho do vídeo.

488
Se por acaso algo der errado, basta recuperar o backup do arquivo de configuração do X:

# cp /etc/X11/xorg.conf.original-0 /etc/X11/xorg.conf

Em caso de problemas mais sérios com a configuração, você pode também começar de novo, fazendo
com que o sistema reconstrua a configuração do X usando o comando:

# dpkg-reconfigure -phigh xserver-xorg

Além dos drivers da nVidia e da ATI, o module-assistant pode ser usado para instalar outros drivers
proprietários, ou drivers que não venham instalados por padrão no sistema. Em versões anteriores, por
exemplo, era comum que ele fosse usado para instalar o fuse, que é usado por diversos sistemas de montagem
de sistemas de arquivos, mas que não vinha instalado por padrão no Debian Sarge.

INSTALANDO O DEBIAN EM NETBOOKS

Com o lançamento do Eee PC no início de 2008, foi dada a largada para a corrida dos netbooks, que
levou ao aparecimento do HP Mini Note, do MSI Wind (revendido no Brasil na forma do Positivo Mobo
White), do Dell Inspiration Mini, das variações do Eee 900 e do Eee 1000, entre diversos outros modelos.

Apesar das diferenças externas, eles possuem uma configuração muito parecida. A maioria dos
modelos são baseados no Intel Atom e no chipset Intel 945GSE. As principais exceções ficam por conta do
Eee 900 e do Eee 701, que são baseados no Celeron M e do HP Mini Note, que é baseado no VIA C7-M.

O principal motivo por trás do sucesso dos netbooks é que eles são bastante leves e portáteis,
desempenhando bem a função de mini-notebook. O problema é que o fraco desempenho dos processadores
usados faz com que eles não sejam muito adequados para rodar distribuições como o Ubuntu ou o
OpenSUSE, assim como eles também não são adequados para o Windows Vista.

O Debian Lenny ganhou um bom suporte a netbooks, o que, combinado com o uso do KDE 3.5 e
dos baixos requisitos de hardware do sistema, faz com que ele seja uma boa escolha para quem tem um Eee
900 ou outro modelo. O mesmo se aplica a notebooks antigos ou de configuração modesta em geral, onde o
Lenny se apresenta como uma boa opção de distribuição para instalar e usar por um bom tempo sem ter
problemas.

Um complicador no caso dos netbooks é que eles não possuem drive óptico, o que torna necessário
instalar usando um pendrive, sem falar nas outras peculiaridades do hardware. Isso nos leva ao DebianEeePC,
o sub-projeto dentro do Debian destinado a oferecer suporte a eles:
http://wiki.debian.org/DebianEeePC

Na página está disponível uma pequena imagem de boot com uma versão modificada do Debian
NetInstall, com suporte ao hardware dos diferentes modelos do Eee PC. Ele também funciona na maioria
dos outros netbooks baseados no Atom ou no Celeron, já que o hardware é similar. Faça o download no:
http://wiki.debian.org/DebianEeePC/HowTo/Install

Para gerar o pendrive bootável, basta gravar a imagem usando o dd. Para isso, plugue o pendrive e
cheque qual é o device atribuído a ele pelo sistema usando o "dmesg" ou o "cat /proc/partitions". Em
seguida, use o dd como root, especificando o arquivo e o device do pendrive, como em:

# dd if=debian-eeepc.img of=/dev/sdf
32000+0 records in
32000+0 records out
16384000 bytes (16 MB) copied, 9,5173 seconds, 1,7 MB/s

Note que o comando especifica o dispositivo raiz do pendrive e não a partição, já que a imagem inclui
o gerenciador de boot e a MBR. A gravação apagará todas as partições (e todos os dados do pendrive), por
isso verifique se não tem nada importante antes de pressionar o Enter.

Por default, o netbook deve vir configurado para dar boot através das portas USB, mas, se for o caso,
basta acessar o Setup e alterar a ordem de boot.

489
Assim como no instalador padrão do Lenny, o ambiente gráfico default é o GNOME. Para fazer uma
instalação com o KDE, pressione a tecla TAB na tela de boot e adicione o parâmetro "desktop=kde" na linha
de boot:

Com exceção do Eee 701 (que possui apenas uma unidade interna de 4 ou 8 GB), o espaço de
armazenamento do Eee é dividido em duas unidades: uma de 4 GB (mais rápida) que é usada para a
instalação do sistema e outra de 8 ou 16 GB (mais lenta) que você pode utilizar para o diretório home:

Você notará que a unidade de 4 GB inclui duas pequenas partições de 8 MB (ou uma única de 16
MB). Elas são usadas pelo BIOS para ativar o "Boot Booster", um recurso que reduz consideravelmente o
tempo de inicialização. É aconselhável preservá-las, removendo apenas as duas partições maiores.

490
Devido à questão do limite dos ciclos de leitura e escrita da memória flash, é recomendável instalar
sem usar uma partição swap. A maioria dos modelos vêm com 1 GB de memória RAM, que de qualquer
forma são mais do que suficientes para usar o Lenny sem precisar de swap.

Outra medida saudável é ativar o uso do tmpfs para os diretórios "/tmp" e "/var/tmp", fazendo com
que os arquivos temporários passem a ser armazenados em um ramdisk e sejam automaticamente descartados
a cada boot, em vez de se acumularem até esgotarem o pouco espaço disponível na partição raiz. Para isso
adicione as duas linhas a seguir no "/etc/fstab" após a instalação:

tmpfs /tmp tmpfs defaults 0 0


tmpfs /var/tmp tmpfs defaults 0 0
Outra vantagem de usar o tmpfs é que você pode usar o ramdisk para armazenar também o cache do
Firefox. O grande problema em mantê-lo no SSD secundário é que a grande latência das operações de escrita
faz com que o navegador dê uma paradinha de 1 ou 2 segundos antes de exibir cada página, que
correspondem ao tempo que ele demora para escrever os arquivos temporários. Ao armazená-los no ramdisk,
o problema desaparece, sem que você precise desativar o cache completamente.

Para isso, acesse o "about:config" e crie a string "browser.cache.disk.parent_directory" (ela não existe
previamente), deixando-a com o valor "/tmp".

Outra dica relacionada ao desempenho é montar as partições no SSD secundário usando o modo
"writeback" do EXT3. Ele reduz o número de operações de escrita relacionadas ao journal e ativa o uso de
um cache de escrita, que reduzem muito os problemas de lentidão relacionadas ao uso de clientes de
bittorrent e outros aplicativos que ficam escrevendo continuamente dados no disco.

Para isso, adicione a opção "data=writeback" na linha referente à partição no fstab, como em:

/dev/sdb1 /home ext3 noatime,data=writeback 0 2

Para completar a configuração, atualize o journal usando o tune2fs:

# tune2fs -o journal_data_writeback /dev/sdb1

A desvantagem em usar o modo writeback é que possibilidade de perder dados devido a


desligamentos incorretos é muito maior, por isso passa a ser muito mais importante configurar o sistema para
desligar automaticamente quando a carga da bateria estiver perto do fim.

Continuando, ao criar as partições, marque o "relatime" entre as opções de montagem. Ele melhora
sensivelmente o desempenho do SSD e de quebra reduz o volume de operações de escrita, aumentando a
vida útil do drive.

Naturalmente, o uso de duas unidades separadas é uma peculiaridade de alguns modelos do Eee, que
não se aplica a todos os netbooks. Muitos modelos atuais utilizam SSDs de maior capacidade, ou adotam o
uso de HDs mecânicos, o que elimina as preocupações com relação ao espaço ou aos ciclos de leitura.

Em seguida, você tem os menus para fornecer as senhas e criar a conta de usuário e a seleção das
categorias de pacotes que serão instalados. A menos que pretenda montar um mini-servidor, marque apenas o
"Ambiente Desktop", "Laptop" e "Sistema Básico". Em seguida vem a parte chata da instalação, onde o
instalador faz o download dos pacotes e realiza o longo processo de instalação:

491
Uma das grandes vantagens de usar a imagem de instalação do DebianEeePC em vez de simplesmente
usar o instalador tradicional, é que ele oferece suporte à placa wireless do Eee, incluindo o suporte a WPA.
Você pode tirar proveito disso para fazer a instalação onde tiver uma conexão rápida disponível, sem
depender unicamente da conexão que tem em casa.

Dicas de configuração

Concluída a instalação, não se esqueça de rodar o "apt-get clean" para limpar o cache do apt, já que o
instalador deixa para trás um cache de mais de 700 MB de pacotes, o que acaba resultando em menos de 400
MB de espaço livre na partição de 4 GB usada para a instalação do sistema.

Diferente das versões anteriores, onde você precisava fazer malabarismos para colocar o sistema para
funcionar, o Lenny faz um trabalho muito bom em detectar o hardware do Eee PC (e de outros netbooks),
configurando o vídeo na resolução correta, detectando a placa de som e a placa de rede e até mesmo ativando
as teclas de atalho (se elas não estiverem funcionando, verifique se o pacote "eeepc-acpi-scripts" está
instalado).

O instalador do DebianEeePC também se encarrega de ativar por padrão os repositórios "non-free" e


"contrib" e adicionar um repositório extra no "/etc/apt/sources.list", que inclui o pacote com os scripts para
ativar as funções ACPI do Eee.

A grande deficiência fica por conta da placa wireless. Ela é detectada durante a instalação devido às
modificações no instalador, mas ao instalar o sistema reverte ao default do Debian, que é utilizar o módulo
ath5k, que não oferece um bom suporte às placas com chipset Atheros utilizadas em vários modelos do Eee.

Você pode checar se está usando um dos modelos equipados com ela pela saída do lspci, como em:

# lspci | grep Wireless

01:00.0 Ethernet controller: Atheros Communications Inc. AR242x 802.11abg Wireless PCI
Express Adapter (rev 01)

A solução para essa questão é migrar para o driver madwifi, que pode ser instalado usando o module-
assistant, como em:

# apt-get install module-assistant build-essential


# m-a a-i madwifi

492
Naturalmente, isso deve ser feito usando a rede cabeada, já que a placa wireless não estará
funcionando.

Não se esqueça também de ativar a placa usando o "Fn+F2". Por default, ela fica desativada no
primeiro boot, o que acaba causando confusão. Uma curiosidade dessa placa é que o BIOS simula uma
desconexão do dispositivo quando você a desativa pressionando a tecla de atalho, o que faz com que ela deixe
de aparecer na listagem do lspci, como se tivesse mesmo sido removida do netbook.

Ao instalar o madwifi, ele criará o arquivo "/etc/modprobe.d/madwifi" contendo a linha "blacklist


ath5k", que faz com que o driver antigo deixe de ser carregado deixando o caminho livre para que o "ath_pci"
(o módulo que faz parte do madwifi) possa fazer seu trabalho. Nesse ponto, fica apenas faltando reiniciar o
Eee para concluir a troca.

A partir daí, o NetworkManager (ou KNetworkManager) passará a mostrar as redes disponíveis, como
de praxe:

Outro recurso importante em um portátil são as funções de suspender e hibernar, que permitem que
você tenha acesso rápido aos aplicativos ao carregar o netbook com você, sem precisar passar pelo tradicional
processo de boot e login.

O recurso de suspender para a RAM funciona perfeitamente no DebianEeePC; basta clicar com o
botão direito sobre o ícone do KPowersave (ou sobre o applet do GNOME), configurar o sistema para
suspender quando você fechar a tela ou simplesmente usar o "Fn+F1". O único problema ainda não
solucionado é que você precisa pressionar "Fn+F2" duas vezes depois de restaurar, para desativar e, em
seguida, reativar a placa wireless. Sem isso, o NetworkManager não consegue reconectar à rede.

Um problema chato, que afeta os usuários do Eee desde a época do Eee 701 são as famosas
"paradinhas do som", que acontecem a cada aproximadamente 10 segundos. Elas fazem com que assistir
vídeos ou ouvir música se torne uma fonte de frustração.

Esse problema ocorre devido a um bug na implementação do ACPI no BIOS da Asus, que faz com
que o sistema pare por uma fração de segundo cada vez que o status da bateria é verificado pelo HAL. Você
pode simular o problema usando o comando "cat /proc/acpi/battery/BAT0/info" enquanto assiste um
vídeo: cada vez que ele é executado, o som dá uma saltada.

493
A solução definitiva veio apenas com o kernel 2.6.28, o que exclui o Lenny, que é ainda baseado na
versão 2.6.26-1. Uma solução simples para conviver com o problema enquanto não atualizar o kernel é
simplesmente desativar o HAL quando for usar o som, usando (como root) o:

# /etc/init.d/hal stop

Ele vai desativar o applet da bateria e a detecção de pendrives e outros dispositivos USB, mas você
não vai precisar deles enquanto estiver assistindo de qualquer maneira. Ao terminar, basta ativar o HAL
novamente, usando o "/etc/init.d/hal start". Crie atalhos no desktop para facilitar o uso (você pode ativar o
uso do sudo para poder executar os comandos através dos atalhos sem precisar confirmar a senha de root):

Se decidir atualizar para uma versão mais recente do kernel (veja o tópico sobre atualização do kernel
logo a seguir), você vai precisar reinstalar o driver madwifi (basta executar novamente o "m-a a-i madwifi")
ou, caso tenha problemas com a instalação, migrar para o driver "ath5k" que a partir do kernel 2.6.29 oferece
um bom suporte à placa incluída no Eee 900.

Nesse caso, remova o arquivo "/etc/modprobe.d/madwifi" (que inclui a linha "blacklist ath5k", que
faz com que o driver deixe de ser usado) e reinicie a máquina.

Outra dúvida comum é sobre o ajuste da frequência do processador no Eee 900, que é baseado no
Celeron M, em vez de utilizar um Intel Atom, como nos modelos mais recentes. A grande desvantagem do
Celeron M é que ele não oferece suporte ao ajuste de frequência, o que faz com que o processador opere o
tempo todo a 900 MHz. No caso dele, não existe muito o que você possa fazer para reduzir de maneira
significativa o consumo do processador.

Um prêmio de consolação é que você pode ajustar a velocidade de rotação do cooler (que fica ativo
continuamente), reduzindo o barulho (e economizando um pouco de energia) enquanto o processador estiver
ocioso. Para isso, use o:

# echo 1 > /sys/class/hwmon/hwmon1/pwm1_enable

A partir daí, você pode ajustar a velocidade de rotação ajustando o valor do arquivo
"/sys/class/hwmon/hwmon1/pwm1" com um valor entre 0 (rotação mínima) e 254 (rotação máxima),
como em:

# echo 10 > /sys/class/hwmon/hwmon1/pwm1

Naturalmente, manter o cooler girando a uma rotação baixa fará com que a temperatura de operação
fique mais alta (você pode verificar a temperatura do processador usando o "cat
/proc/acpi/thermal_zone/TZ00/temperature"). Para reativar o controle automático (sem precisar reiniciar),
use o:

# echo 0 > /sys/class/hwmon/hwmon1/pwm1_enable

Continuando, se você chegou a utilizar o Ubuntu Eee, ou outra distribuição derivada do Ubuntu, vai
notar uma grande melhora no desempenho ao utilizar o Lenny, sobretudo com relação ao uso de aplicativos
mais pesados, como o OpenOffice, e à exibição de vídeos. Isso acontece devido à combinação do baixo
consumo de memória (e do bom conjunto de otimizações do Debian Lenny) e a relativa leveza do KDE 3.5,

494
se comparado às versões recentes do GNOME e do KDE 4. Você notará melhoras também em relação à
versão do Xandros que vem pré-instalada.

Como você vai logo perceber, a redução na largura vertical da tela faz com que muitos menus
extrapolem a altura da tela, ficando com os botões de confirmação fora da área visível. A solução básica é
manter pressionada a tecla ALT enquanto move a janela, o que permite que você a arraste para fora da área
da tela, ganhando acesso às funções escondidas.

Para aumentar o espaço útil da tela, é fortemente recomendável usar apenas uma barra de tarefas no
GNOME e/ou reduzir o tamanho da barra do KDE, usando o tamanho "Pequeno" (30 pixels de altura) ou o
"Minúsculo" (24 pixels), economizando o precioso espaço vertical. Considere também a possibilidade de usar
a ocultação automática. Ao navegar usando o Firefox, se acostume a ativar o modo de tela cheia,
pressionando a tecla F11.

Conexão 3G e Bluetooth

Com um netbook capaz de navegar e exibir vídeos, onde você pode editar documentos, jogar e
instalar qualquer um dos mais de 20 mil pacotes disponíveis no Lenny, fica faltando apenas o suporte a
conexões 3G.

A melhor opção para solucionar esse último empecilho é ainda o meu script do vivo-zap (que apesar
do nome, pode ser usado para ativar conexões de outras operadoras):
http://www.gdhpress.com.br/blog/script-vivo-zap/

Basta copiar o "conectar-vivozap" para a pasta "/usr/local/bin/" e executá-lo como root quando
quiser ativar a conexão, seguindo os passos do assistente para fazer a conexão inicial. Além dos modems
USB, ele permite utilizar smartphones com chips de dados, com conexão via USB ou via Bluetooth:

495
Para usar o script, é necessário apenas que você tenha instalado o pacote "wvdial", que está disponível
via apt. Para conectar via Bluetooth, basta apenas espetar o transmissor (que é ativado pelo Lenny
automaticamente) e fazer o pairing entre o netbook e o smartphone.

As conexões 3G são boas companheiras para os usuários de netbooks, já que permitem que você
navegue em qualquer lugar, independente de ter ou não uma rede wireless disponível.

Para transferir arquivos entre o netbook e o smartphone, você pode utilizar o Kbluetoothd. Ele não é
instalado por padrão no Debian, mas você pode adicioná-lo instalando o pacote "kdebluetooth":

# apt-get install kdebluetooth

A partir daí, basta abrir o "kdebluetooth" e clicar sobre o ícone ao lado do relógio para acessar as
funções. O kdebluetooth oferece um suporte extremamente completo ao OBEX (o módulo do Bluetooth
para transferência de arquivos), permitindo que você acesse os arquivos no smartphone, como se o cartão e a
unidade interna fossem compartilhamentos de rede:

Aproveitando que já estamos usando o transmissor Bluetooth, outra adição interessante seria um
mouse Bluetooth, que oferece a vantagem de não precisar de um transmissor USB separado.

A maneira manual de ativar um mouse Bluetooth no Linux seria usar os comandos que comentei na
introdução, especificando o endereço do mouse, como em:

496
hciconfig hci0 down
/etc/init.d/bluetooth restart
hciconfig hci0 up
hidd --connect 00:07:61:62:cb:bb

O problema com essa abordagem é que você precisa criar um script com os comandos e configurar o
sistema para inicializá-lo durante o boot, para que a conexão seja estabelecida automaticamente.

Outra opção é alterar diretamente a configuração do Bluetooth, o que é a solução mais permanente.
Para isso, edite o arquivo "/etc/default/bluetooth", substituindo a linha "HIDD_ENABLED=0" (perto do
início do arquivo) por:

HIDD_ENABLED=1
Em seguida, adicione a linha IDD_OPTIONS="--connect xx:xx:xx:xx:xx:xx --server" no final do
arquivo, especificando o endereço do mouse, como em:

IDD_OPTIONS="--connect 00:07:61:62:cb:bb --server"


Se você tiver mais de um dispositivo (um mouse e um teclado, por exemplo), basta adicionar uma
segunda linha com o endereço do segundo, como em:

IDD_OPTIONS="--connect 00:07:61:62:cb:bb --server"


IDD_OPTIONS="--connect 00:07:e0:18:9a:02 --server"
Concluídas as alterações, não se esqueça de reiniciar o Bluetooth para que elas entrem em vigor:

# /etc/init.d/bluetooth restart

Na maioria dos casos, você vai precisar fazer a conexão inicial manualmente, usando o:

# hidd --connect 00:07:61:62:cb:bb

... no PC, especificando o endereço do dispositivo. Esse comando coloca o PC em modo de


sincronismo, que precisa ser concluído pressionando o botão de conexão no dispositivo. Isso precisa ser feito
apenas uma vez, já que a partir do boot seguinte a conexão passará a ser feita automaticamente.

Você pode também compartilhar o mesmo mouse entre dois micros (o PC e o notebook,
por exemplo), sem necessidade de ficar plugando e desplugando o transmissor, como em um mouse
sem fio convencional. Basta criar atalhos no desktop para executar o comando "hidd --connect
endereço" em ambos. Ao clicar no ícone no notebook e pressionar o botão de conexão no mouse,
ele se desconectará do desktop e vice-versa.

Normalmente, os mouses e teclados Bluetooth trazem o endereço estampado em uma etiqueta na


parte inferior, mas, caso necessário, você pode descobrir os endereços pressionando o botão de conexão no
dispositivo e em seguida rodando o comando "hcitool scan" no PC, como em:

# hcitool scan

Scanning ...
00:07:61:62:CB:BB Bluetooth Travel Mouse

Concluindo o tópico, outro pequeno ajuste que optei por fazer no Eee 900 foi remapear a tecla Menu
(ao lado do AltGr) atribuindo a ela a função da tecla "/ ?". Essa tecla foi removida no Eee com teclado
ABNT2, fazendo com que você precise pressionar "Fn+0" para a barra e "Fn+W" para a interrogação, o que
é desconfortável.

Para ativar o remapeamento, basta adicionar a linha a seguir no arquivo ".bashrc" ou ".profile" dentro
do seu home (para que ele seja aberto ao abrir qualquer terminal) ou criar um atalho para o comando na pasta
".kde/Autostart", para que ele seja executado durante a abertura do KDE:

497
xmodmap -e "keycode 117 = slash question"

Você pode remapear outras teclas que precisar usando as dicas que vimos no capítulo do Mandriva.

Liberando espaço no SSD

Concluindo, aqui vai uma pequena lista de pacotes que você pode remover no Lenny com o KDE 3.5
para liberar espaço na partição raiz (e obter um pequeno ganho de desempenho). Estas mesmas dicas podem
ser usadas para liberar espaço em outras situações, mas são especialmente úteis no caso do Eee 900, já que a
unidade primária possui apenas 4 GB.

Todos os pacotes citados a seguir são pacotes base do sistema, que fazem o apt remover diversos
outros pacotes relacionados, por isso é sempre bom ter um pouco de cuidado e verificar a lista de pacotes que
serão removidos antes de continuar:

cups cups-common hplip foomatic-db: Se você não vai usar uma impressora, pode remover os
pacotes necessários para o suporte a impressão, liberando 161 MB de espaço. Para isso, basta remover os 4
pacotes e, em seguida, rodar o "apt-get autoremove" para que o apt remova as demais bibliotecas.

libkdegames1: Esta é a biblioteca básica usada pelos jogos do pacote KDE Games. Ao removê-la,
você remove todos os jogos do KDE, liberando 28 MB de espaço.

libkdepim1a: Removendo esta biblioteca, você desinstalará os pacotes da suíte KDE PIM (que inclui o
kaddressbook, kalarm, kmail, knode, kontact, e outros), o que reduz bastante o volume de componentes
instalados pelo KDE, liberando 67 MB de espaço em disco e deixando o sistema mais ágil. Se por acaso você
perceber que precisa de algum dos aplicativos mais tarde, basta reinstalá-lo usando o apt-get.

k3b: A menos que você pretenda usar um gravador USB, não faz muito sentido manter o K3B e os
demais aplicativos de gravação instalados em um netbook sem drive óptico. Removendo o k3b e rodando o
"apt-get autoremove" você libera 35 MB de espaço.

kde-i18n-pt: Ao selecionar o português como língua de instalação, o Debian instala os pacotes "kde-
i18n-pt" (português de Portugal) e o kde-i18n-ptbr (português do Brasil). Como deve estar imaginando, você
só precisa de um deles, por isso pode remover o outro para liberar mais 31 MB.

openoffice.org: Embora bastante útil, o OpenOffice é praticamente um sistema operacional à parte,


de tão grande e complexo. Se você pretende usar o Abiword/Gnumeric ou se simplesmente não precisa de
uma suíte de escritório, pode removê-lo para economizar quase 500 MB de espaço. Usando o "apt-get
remove openoffice.org*" você remove de uma vez todos os aplicativos da suíte, incluindo os componentes
externos, como as bibliotecas com os componentes Java.

exim4-base exim4-config mutt: Assim como o OpenSUSE, o Debian instala um servidor de e-mails
por padrão (o Exim), que é completamente desnecessário em um desktop. A menos que você seja um
administrador de sistemas das antigas, barbudo e um pouco louco, você pode remover também o Mutt, que
hoje em dia é usado por apenas 6 pessoas. :)

Outra boa maneira de economizar um pouco de espaço é remover os arquivos de tradução não
utilizados, deixando apenas as traduções para o português ou outras linguagens desejadas. Para isso, instale o
pacote "localepurge":

# apt-get install localepurge

No final da instalação, ele executará um assistente que permite que você defina as linguagens que
serão mantidas. Certifique-se de que o "pt" e o "pt_BR.UTF-8" (ou o "pt_BR", caso tenha configurado o
sistema para usar o ISO 8859-1 no lugar do UTF) estejam marcados na lista:

498
Logo em seguida, o localepurge faz seu trabalho e exibe um relatório com o espaço em disco liberado:

localepurge: Disk space freed in /usr/share/locale: 120236K


localepurge: Disk space freed in /usr/share/man: 4472K

Total disk space freed by localepurge: 124708K


Como pode ver, a economia é significativa. No meu caso, ele conseguiu liberar 124 MB de espaço
adicional, mesmo depois de já ter removido vários pacotes.

A partir daí, o localepurge passa a ser executado automaticamente sempre que você instalar novos
pacotes usando o apt, exibindo o relatório de espaço salvo no final da instalação. Você pode também executá-
lo manualmente usando o comando "localepurge" como root".

Caso precise alterar a configuração posteriormente, ativando o suporte a novas linguagens, use o
comando "dpkg-reconfigure localepurge". A principal observação nesse caso é que a nova configuração só
será aplicada aos pacotes que forem instalados daí em diante. A única maneira de recuperar as traduções já
eliminadas é reinstalar os pacotes usando o "apt-get install --reinstall".

USANDO O DEBIAN EM PCS ANTIGOS

Para criar uma instalação do Lenny destinada a PCs antigos, existem duas abordagens: instalar usando
o KDE 3.5.10 (que oferece uma interface mais completa e mais amigável) e personalizar o ambiente,
desativando efeitos e componentes, com o objetivo de reduzir o consumo de memória (não espere reduzir o
consumo em mais do que 8 ou 10 MB em relação à configuração original), ou utilizar o LXDE, que oferece
um ambiente bem mais espartano, mas em troca também consome menos memória e menos processamento.

Em ambos os casos, é necessário indicar o ambiente que será instalado na hora do boot, usando a
opção "desktop=kde" ou "desktop=lxde", já que o default do instalador é usar o GNOME.

Talvez você esteja se perguntando por que não usar o XFCE. A resposta é que, embora seja
relativamente leve se comparado ao GNOME ou ao KDE 4, o XFCE na verdade não é tão leve quanto
muitos pensam. Se comparado ao KDE 3.5.10 incluído no Lenny, o consumo de memória do XFCE é similar
ou até um pouco superior, o que faz cair por terra o uso como ambiente leve. Este é justamente um fator que
tem impulsionado o crescimento do LXDE, que passou a ser visto por muitos como um "XFCE leve".
Vamos então a algumas dicas de configuração:

Usando o LXDE

O LXDE é uma nova opção de ambiente gráfico leve, baseado na biblioteca GTK2. Ele tem crescido
rapidamente em popularidade, atendendo ao público que procura um ambiente gráfico simples e leve, sem
todos os inúmeros componentes (e as centenas de megabytes de memória gastos) pelo KDE 4 e pelo
GNOME. Afinal, no final das contas o que você realmente utiliza são os aplicativos; o ambiente gráfico é
simplesmente uma ferramenta para lançá-los e gerenciá-los. Em alguns casos, o melhor ambiente de trabalho
é o mais simples, que não fica no seu caminho.

499
Assim como outros ambientes, o LXDE é composto por uma série de componentes. O principal
deles é o OpenBox, que é o gerenciador de janelas utilizado por padrão. Ele é complementado por applets,
ferramentas de configuração e um pequeno conjunto de aplicativos, que se somam para criar um ambiente de
trabalho funcional.

O Lenny inclui uma versão pouco personalizada do LXDE, que é utilizável mas tem um visual bem
longe do ideal. O primeiro passo é ajustar os tamanhos das fontes e outras opções básicas usando o
Lxappearance e o Obconf, que estão disponíveis no "Iniciar Configurações":

Aproveite também para ajustar a resolução do monitor usando o Lxrandr (Display Settings) e para
desativar a proteção de tela e/ou ajustar as opções de economia de energia usando o Xscreensaver.

Para trocar o wallpaper, clique com o botão direito sobre o desktop e acesse o "Configurações da Área
de trabalho". Da mesma forma, você pode personalizar a barra de tarefas clicando com o botão direito sobre
ela e acessando o "Configurações do Painel":

Além de ajustar as opções visuais, ele permite adicionar ou remover applets. Aproveite para remover o
pager e o medidor de CPU (se não for utilizá-los) e adicionar o applet do relógio, que não vem ativado por
padrão no Lenny. Se o applet do relógio não aparecer depois de ativado, verifique a cor da fonte na aba
"Geral" do painel (o default é um tom de cinza que fica quase invisível ao desativar a decoração da barra).

Entre os applets, não se esqueça de manter o "Bandeja de sistema" ativo, já que é dentro dele que
muitos applets são exibidos:

500
O menu é atualizado automaticamente conforme você instala novos aplicativos, mas você pode
também editá-lo usando o obmenu que, como o nome sugere, é um editor de menus para o OpenBox. Ele
não vem instalado por padrão, mas basta instalar o pacote usando o apt-get:

# apt-get install obmenu

Para a configuração da rede, você pode escolher entre fazer a configuração manualmente (se você usa
uma rede cabeada, pode deixar que o sistema simplesmente configure a rede via DHCP, como faz por
default), ou utilizar o Wicd, como comentei no capítulo sobre a configuração da rede.

O LXDE possui um applet próprio de configuração da rede, o LXNM (que pode ser instalado usando
o apt-get e em seguida adicionado usando o gerenciador de plugins), mas a versão incluída no Lenny é ainda
bastante limitada e problemática.

Também não é uma boa ideia tentar utilizar o NetworkManager e o nm-applet sobre o LXDE, devido
às dependências relacionadas a componentes do GNOME. As melhores opções são mesmo a configuração
manual e o Wicd.

Dicas de aplicativos leves

Embora possa não parecer à primeira vista, o LXDE é baseado na biblioteca GTK2, o que faz com
que os melhores aplicativos para usar sobre ele (dentro da ideia de desktop leve) são os aplicativos baseados
na biblioteca que não utilizam componentes do GNOME, combinados com aplicativos leves baseados em
outras bibliotecas. Os aplicativos do KDE, por sua vez, ficam sempre bastante pesados, já que além dos
componentes do KDE, eles precisam da biblioteca QT. Se você pretende usar predominantemente
aplicativos do KDE, vai ter melhores resultados usando o KDE 3.5, em vez do LXDE.

Vamos então às dicas:

Para navegação, a melhor opção seria o Opera, que oferece um consumo de memória bem inferior ao
do Firefox e roda melhor em máquinas com processadores lentos. Outra vantagem é o turbo mode (o mesmo
que utilizamos para navegar em conexões lentas), que causa uma redução adicional no processamento
necessário para montar as páginas, já que o navegador passa a receber a página já mastigada, pré-processada
pelo servidor proxy.

Para quem prefere o Firefox, a melhor opção seria continuar com o Iceweasel do Debian, que é um
pouco mais leve que o Firefox propriamente dito e se integra melhor ao sistema. O segredo nesse caso é usar
o NoScript e o Flashblock para desativar o carregamento automático de scripts e de animações em flash, que
correspondem à maior parte dos recursos consumidos pelas páginas.

501
O Iceweasel/Firefox roda bem sobre o LXDE (já que é também baseado no GTK2), mas você notará
que o desempenho ao abrir muitas abas ou navegar em páginas com flash não é dos melhores em máquinas
antigas, devido ao alto consumo de memória.

Outra opção de navegador leve é o Midori, que é baseado na engine Webkit. Ele ainda está em estágio
inicial de desenvolvimento, mas já é bastante funcional. Ele ainda não é incluído nos repositórios do Lenny,
mas (se estiver disposto a migrar para o Testing/Unstable) é possível instalá-lo a partir dos repositórios do
Sid.

Para exibição de PDFs, você pode usar o Epdfview que além de ser muito leve, oferece uma boa
qualidade de renderização e uma interface limpa. Outra opção é o XPDF que, apesar do visual ultrapassado, é
leve e também faz o trabalho.

Para edição de documentos você pode lançar mão da dupla Abiword e Gnumeric, que têm melhorado
bastante nas últimas versões, mantendo a leveza. Caso não possa abrir mão do OpenOffice, a melhor saída é
personalizá-lo com as dicas que vimos no capítulo do Mandriva, desativando o Java e reduzindo os caches
para que ele consuma menos memória.

Não seria uma boa ideia usar o K3B para gravação de CDs, devido ao uso das bibliotecas do KDE,
nem o Brasero (que sofre do mesmo problema em relação às do GNOME), mas você pode usar o bom e
velho X-CD-Roast (o pacote se chama apenas "xcdroast"), que serve como opção leve, mas com bons
recursos.

Em termos de processamento, mesmo um Pentium II é capaz de exibir vídeos com 400p e DVDs,
desde que conte com a ajuda de uma placa com um bom suporte a aceleração de vídeo (basicamente qualquer
placa minimamente atual, que não seja da SiS ou da VIA), restando apenas a questão das bibliotecas e
componentes usados pelo player. Nesse quesito, o Mplayer e o VLC se destacam, já que não possuem
dependências externas. Se você faz questão de uma interface mais elaborada, pode usar também o SMPlayer,
que apesar de ser baseado na biblioteca QT, não utiliza componentes do KDE e é também relativamente
leve.

O Debian Lenny não inclui mais o XMMS, que seria a opção tradicional de player de áudio leve. O
sucessor direto é o Audacious, que ainda é relativamente leve, mas já possui um pequeno conjunto de
dependências externas. Outra opção é o Alsaplayer, que é bastante espartano, mas consome pouca memória e
oferece as funções básicas.

Se você precisa de um cliente de e-mails local, uma boa opção é o Sylpheed, que é um dos clientes de
e-mail mais leves. Outra boa opção é o Claws Mail (pacote "claws-mail"), que não chega a ser tão leve, mas
em compensação oferece mais recursos.

Não é viável utilizar o Thunderbird, muito menos o Evolution em máquinas com 256 MB de memória
ou menos, pois mesmo que no começo a velocidade seja aceitável, eles vão ficando cada vez mais lentos
conforme as pastas de e-mail crescem.

Para baixar arquivos bittorrent, as duas melhores opções são o Transmission (que, apesar de ser usado
por default em muitas distribuições com o GNOME, não depende de bibliotecas do ambiente) ou o próprio
btdownloadcurses, em modo texto.

Para visualização e edição de imagens, você pode usar o trio GQview, Gimp e Inkscape que,
respectivamente, oferecem as funções de visualizador, editor de bitmaps e editor vetorial. Os três são
baseados no GTK2 e rodam muito bem sobre o LXDE, incluindo o Gimp, que apesar de demorar um pouco
para carregar, oferece um consumo aceitável de memória depois de aberto.

Outra opção é o GPicView, um visualizador de imagens leve, que oferece um consumo de memória
mais baixo que o do GQview.

O LXDE inclui também um conjunto de aplicativos próprios, que são bastante leves. O "kit" inclui o
PCManFM (gerenciador de arquivos), Leafpad (editor de texto), Xarchiver (descompactador de arquivos) e o
LXTerminal. Eles são os melhores em termos de custo-benefício dentro do LXDE, já que oferecem um
consumo de memória muito baixo e oferecem boas funções.

502
Uma última dica é que, por default, o Debian instala o Cups, o Exim4 e o Portmap, serviços que ficam
ativos consumindo recursos do sistema. O Cups é necessário se você pretende usar impressoras, mas os
outros dois são úteis apenas em servidores, e não em um desktop leve. Você pode desativá-los usando o
"update-rc.d serviço remove", ou simplesmente remover os pacotes usando o apt-get:

# apt-get remove exim4-base cups-common portmap


# apt-get autoremove

Embora o LXDE não faça milagres, ele está se tornando rapidamente a melhor opção em termos de
desktop leve. A configuração padrão do Debian é bastante desajeitada, mas, depois de configurá-lo a seu
gosto, ele se torna uma opção bastante simples e efetiva de desktop:

Combinado com um bom conjunto de aplicativos leves, ele é capaz de prestar bons serviços, mesmo
em máquinas com apenas 128 MB de RAM. É provavelmente o melhor que você conseguirá sem precisar
apelar para uma distribuição antiga, ou para algum sistema minimalista.

ATUALIZANDO O KERNEL NO DEBIAN

As atualizações de kernel são um tema "místico" dentro do Linux, envolvendo mais mitos e lendas do
que, possivelmente, qualquer outro aspecto do sistema. Até hoje perdura, por exemplo, o mito de que é
possível obter um grande ganho de desempenho simplesmente por recompilar o kernel desabilitando
componentes não usados, algo que deixou de fazer muita diferença desde que o kernel ganhou suporte a
módulos, quase 15 anos atrás.

O principal motivo para atualizar o kernel é ter acesso a novos drivers e correções para problemas,
uma necessidade comum para quem usa PCs com componentes muito atuais, que são suportados
adequadamente apenas por versões recentes do kernel. Um bom exemplo é o bug com relação ao HAL que
comentei no tópico sobre o DebianEeePC, que foi solucionado a partir do kernel 2.6.28.

Você pode encontrar detalhes sobre as atualizações e mudanças incluídas em cada versão do kernel (e
poder ver se seu problema já foi corrigido) no:
http://wiki.kernelnewbies.org/LinuxChanges

Em resumo, instalar uma nova versão do kernel envolve: instalar o executável principal na pasta
"/boot" (gerando também um arquivo initrd, caso utilizado), instalar os módulos em uma pasta no diretório
"/lib/modules" (criando uma nova pasta, com uma numeração correspondente à versão do kernel) e atualizar
o gerenciador de boot, incluindo a opção de inicializar o novo kernel.

503
Como o kernel é o principal componente do sistema, as atualizações são algumas vezes problemáticas
(como ao atualizar alguma instalação antiga, que ainda utilize um kernel da série 2.4 para um kernel da série
2.6), mas, nas versões atuais do Debian (e da maioria das outras distribuições), atualizar o kernel é uma tarefa
bastante simples, não muito diferente de atualizar qualquer outro pacote do sistema.

Ao instalar o novo kernel, um script de pós instalação se encarrega de ativar os novos módulos e
adicionar uma entrada no menu do grub. Concluída a instalação, basta reiniciar o micro e você tem a opção
de dar boot usando a nova versão. O kernel antigo continua disponível até ser manualmente removido, o que
permite que você volte a ele caso tenha problemas.

O primeiro passo é verificar quais são as versões disponíveis. Para isso, você pode fazer uma busca
por "linux-image" no gerenciador de pacotes, ou simplesmente digitar "apt-get install linux-
image<tab><tab>" no terminal para ver as possibilidades.

De uma forma geral, as atualizações de kernel disponíveis no Debian estável são bem espaçadas. Em
geral são disponibilizadas apenas atualizações menores, destinadas a corrigirem bugs. Entretanto, você pode
ter acesso a versões bem mais atualizadas ao ativar o repositório do Sid no "/etc/apt/sources.list",
adicionando a linha:

deb http://ftp.br.debian.org/debian/ sid main contrib non-free


Após rodar o "apt-get update", você pode instalar o novo kernel a partir do repositório instável, como
em:

# apt-get install linux-image-2.6.29-1-686

No final da instalação do pacote, você verá uma série de mensagens exibidas pelo script de pós
instalação, como em:

Configurando linux-image-2.6.29-1-686 (2.6.29-3) ...


Running depmod.
Running update-initramfs.
update-initramfs: Generating /boot/initrd.img-2.6.29-1-686

Running update-grub.
Searching for GRUB installation directory ... found: /boot/grub
Searching for default file ... found: /boot/grub/default
Testing for an existing GRUB menu.lst file ... found: /boot/grub/menu.lst
Searching for splash image ... none found, skipping ...
Found kernel: /boot/vmlinuz-2.6.29-1-686
Found kernel: /boot/vmlinuz-2.6.26-2-686
Updating /boot/grub/menu.lst ... done
Estes são justamente os passos de instalação de um novo kernel, que são executados automaticamente
pelo script.

Tudo começa com a instalação dos pacotes propriamente ditos, que instalam o executável principal do
kernel e os módulos. Em seguida, o script executa o comando "depmod -a", que verifica os módulos
instalados e gera a tabela com as dependências entre eles.

O terceiro passo é executar o script "update-initramfs", que verifica os módulos atualmente em uso
(do kernel antigo), gera uma lista dos módulos que são necessários na etapa inicial do boot e, a partir dela,
gera um arquivo "initrd.img" correspondente à nova versão do kernel, que é salvo na pasta "/boot".

As mensagens seguintes são executadas pelo "update-grub", o script responsável por atualizar o
gerenciador de boot, que é também executado automaticamente. Ele adicionará novas entradas no início do
arquivo "/boot/grub/menu.lst", correspondentes ao novo kernel, como em:

title Debian GNU/Linux, kernel 2.6.29-1-686


root (hd0,2)
kernel /boot/vmlinuz-2.6.29-1-686 root=/dev/sda3 ro quiet
initrd /boot/initrd.img-2.6.29-1-686
Em geral, versões próximas do kernel não possuem dependências externas o que permite que você
atualize apenas o kernel em relação ao Unstable, sem precisar necessariamente migrar todo o sistema. A partir

504
daí, você tem a opção de manter a linha do Sid no sources.list, e passar a atualizar o sistema em relação a ele,
ou comentar a linha e voltar a usar o Stable.

É interessante instalar também o pacote correspondente do "linux-headers", que inclui os headers do


kernel, necessários para compilar módulos adicionais:

# apt-get install linux-headers-2.6.29-1-686

Atualizar o kernel faz com que todos os drivers instalados manualmente (como os drivers da nVidia,
driver para placas wireless com chipset Atheros, etc) e também aplicativos que utilizem módulos de kernel
(como o VMware) deixem de funcionar, uma vez que eles precisam ser compilados especificamente para o
kernel em uso.

Se você estiver usando o driver 3D da nVidia, por exemplo, o vídeo deixará de abrir ao dar boot com
o novo kernel, fazendo com que você precise reinstalar o driver manualmente a partir do terminal de texto.
Para evitar isso, uma opção seria mudar o driver de vídeo na configuração do X de "nvidia" para "nv" antes
da atualização, deixando para desfazer a mudança depois de reinstalar o driver.

GERANDO UM KERNEL PERSONALIZADO

Além de instalar um dos pacotes com versões pré-compiladas do kernel, é possível também gerar seus
próprios pacotes, baixando o código-fonte e compilando manualmente. Em situações normais, não existe
nenhum bom motivo para fazer isso (já que os pacotes pré-compilados são atualizados com frequência e,
quase sempre, são bastante otimizados), mas conhecer as opções do kernel é uma boa maneira de aprender
mais sobre os recursos do sistema. A compilação manual permite também que você teste patches e recursos
experimentais, que não fazem parte dos pacotes disponibilizados pelas distribuições.

O primeiro passo é, naturalmente, obter o código-fonte do kernel, que iremos compilar. Se você quer
apenas criar um kernel personalizado, pode usar como base o código-fonte do próprio kernel incluído na sua
distribuição.

No caso do Debian (e derivados), procure pela versão do pacote "linux-source" correspondente à


versão do kernel em uso (ou da versão que deseja compilar), como em:

# apt-get install linux-source-2.6.26

O pacote simplesmente copiará o arquivo "linux-source-2.6.26.tar.bz2" (com o código-fonte completo


do kernel) para a pasta "/usr/src". Para concluir a instalação, é necessário acessar a pasta e descompactar o
arquivo:

# cd /usr/src
# tar -jxvf linux-source-2.6.26.tar.bz2

É sempre muito mais fácil usar como base o código-fonte e a configuração do kernel que está
instalado na sua máquina, com todos os patches e modificações. Assim você começa com uma configuração
que está funcionando e faz apenas as alterações desejadas, com uma possibilidade muito menor de surgirem
problemas.

Depois de pegar um pouco de prática, você pode se aventurar a baixar uma versão "crua" da última
versão do kernel no http://www.kernel.org e fazer uma experiência começando do zero.

Salve o arquivo no diretório "/usr/src/", onde por padrão ficam armazenados os fontes do kernel e
descompacte-o usando o "tar -jxvf" ou "tar -zxvf". Não se assuste, o arquivo com o fonte do kernel é mesmo
grande, quase 50 MB (compactado em .tar.gz) nas versões recentes.

Em ambos os casos, é necessário instalar também o gcc, make, libc6-dev e outros pacotes de
desenvolvimento necessários para fazer a compilação. No Debian você pode instalá-los através dos pacotes
"build-essential" e "kernel-package":

# apt-get install build-essential kernel-package

Com tudo pronto, acesse a pasta com o código-fonte, como em:

505
# cd /usr/src/linux-source-2.6.26

O primeiro passo é definir os componentes que serão incluídos no novo kernel, o que é feito usando
o xconfig, uma ferramenta de configuração que ajuda a selecionar as opções disponíveis e gerar um arquivo
de texto (o ".config"), que será usado durante a compilação. Ele é executado através do comando:

# make xconfig

Antigamente (na época do kernel 2.4) o make xconfig abria um utilitário bastante espartano, baseado
na biblioteca tk, mas no kernel 2.6 o "make xconfig" chama o Qconf, um utilitário mais amigável, criado
usando a biblioteca QT.

Da primeira vez que tentar abrí-lo, você provavelmente receberá uma mensagem de erro:

* Unable to find the QT3 installation. Please make sure that


* the QT3 development package is correctly installed and
* either install pkg-config or set the QTDIR environment
* variable to the correct location.
Ela é mostrada quando a biblioteca de desenvolvimento (necessária para compilar e exibir a interface)
não está instalada. Para resolver o problema, instale o pacote "libqt3-mt-dev" usando o gerenciador de
pacotes:

# apt-get install libqt3-mt-dev

Mesmo sendo um aplicativo gráfico e exibindo os textos de descrição para cada opção, o Qconf é
bastante intimidador. Um conselho geral para reduzir a possibilidade de erros é começar carregando o
arquivo com a configuração atual do kernel. Fazendo isso, você pode examinar as opções e mudar apenas o
que deseja ativar ou desativar, sem ter que se preocupar com cada uma das opções.

Por padrão, o arquivo com a configuração do kernel vai sempre na pasta "/boot" (você encontrará um
arquivo para cada kernel instalado, com o prefixo "config", como em "/boot/config-2.6.26-2-686". Você
precisa apenas carregar o arquivo usando a opção "File > Load" do Qconf.

506
De volta à configuração, as opções estão divididas em categorias, com uma descrição resumida de
cada opção no nível mais baixo. A esmagadora maioria das opções está relacionada justamente com suporte a
dispositivos.

Para cada módulo existem três opções: compilar no executável principal do kernel (built-in,
representado por um símbolo de visto no no Qconf), compilar como módulo (representado com um ponto)
ou desativar.

Compilar o componente na forma de um módulo faz com que ele seja carregado apenas quando
necessário, sem inchar o kernel. Esta é a opção ideal para todos os componentes que quiser manter, mas não
tem certeza se serão usados frequentemente.

Coisas como o suporte à sua placa de rede, som, suporte a gerenciamento de energia para o seu
notebook podem ser compilados diretamente no kernel. Mas, não exagere, pois um kernel muito grande
aumentará o tempo de boot da máquina e terá um desempenho um pouco inferior. O ideal é compilar tudo o
que não for essencial como módulo, assim como fazem as principais distribuições, de forma que o executável
principal não fique com muito mais do que 2 ou 2.5 MB.

Uma ressalva importante é que você sempre deve adicionar o suporte ao sistema de arquivos no qual a
partição raiz do sistema está formatada (EXT3, EXT4, XFS, etc.) diretamente no kernel e não como módulo,
caso contrário você cria um problema do tipo o ovo e a galinha: o kernel precisa carregar o módulo referente
ao sistema de arquivos para acessar a partição, mas precisa acessar a partição para carregar o módulo. No final
das contas, você acaba com um kernel panic. O mesmo se aplica aos módulos relacionados com o suporte à
controladora SATA/IDE onde o HD está instalado.

Um remendo para este tipo de situação é criar um initrd (veja a dica a seguir) contendo o módulo
necessário. O initrd é carregado diretamente pelo gerenciador de boot, o que permite que o kernel tenha
acesso ao módulo antes de ter acesso à partição. Ele é um arquivo compactado, contendo uma imagem de
sistema que vai na pasta "/boot". O arquivo initrd é carregado automaticamente sempre que especificado na
configuração do gerenciador de boot.

Os módulos com o suporte aos sistemas de arquivos principais (EXT4, XFS, JFS, etc.) estão logo no
diretório principal da seção "File systems" do Qconf.

O suporte a sistemas de arquivos menos comuns estão nos subdiretórios. Você deve compilar o
suporte a EXT4 diretamente no kernel se a partição raiz do sistema está formatada neste sistema de arquivos,
mas pode compilar como módulo se a partição raiz está formatada em EXT3 e apenas a partição home está
formatada em EXT4, por exemplo.

O suporte a sistemas de arquivos não nativos, como no caso do suporte a FAT e NTFS pode ser
sempre compilado como módulo, enquanto o suporte a sistemas menos comuns, que você nunca vai usar
(Minix e Amiga, por exemplo) pode ser desabilitado.

507
Para ativar o suporte a ACPI, por exemplo, acesse a categoria "Power management options" e ative o
"ACPI Support", junto com os módulos "AC Adapter" (usado em micros desktop ou notebooks ligados na
tomada) e "Battery" (que monitora o estado da bateria do notebook e ativa os recursos de economia de
energia suportados).

Os outros módulos adicionam mais funções úteis: a opção "Fan" permite diminuir a rotação dos
coolers, o módulo "Processor" permite diminuir a frequência do processador para economizar energia, e
assim por diante.

Quase todas as opções possuem descrições, mas é preciso ter bons conhecimentos de hardware para
entender a função da maioria delas. A pasta "Documentation/", dentro da pasta com o código-fonte, contém
descrições bem mais completas sobre a função de cada módulo. Os textos falam mais sobre os componentes
e recursos suportados por cada módulo do que sobre programação, por isso também são muito úteis para
quem está estudando sobre hardware e suporte a dispositivos no Linux.

A opção mais importante com relação ao desempenho é indicar qual processador está sendo utilizado.
Isto fará com que o kernel seja compilado com otimizações para a arquitetura, o que pode resultar em um
ganho de desempenho de até 10% em alguns casos. Para isto, acesse a seção "Processador Type and
Features" na tela principal do xconfig e clique na opção "Processador family":

508
A opção 386 gera um código que funciona em qualquer PC, desde um 386 até um Pentium 4 ou
Athlon X2. A opção 486 gera algumas otimizações para a arquitetura pipelinizada do 486, mas mantendo a
compatibilidade com todos os processadores daí em diante.

A opção "586/K5/5x68/6x86/6x86MX" é a mais usada, pois gera um kernel compatível com todos
os processadores a partir do Pentium, com um nível de otimização razoável. Acima desta temos otimizações
específicas para cada família de processadores, que garantirão um nível máximo de desempenho, em troca da
perda de compatibilidade com os demais. Compilar o kernel com otimizações para a plataforma Core irá
torná-lo incompatível com máquinas baseadas em outras famílias de processadores, mas, naturalmente, isso
não é um problema se você só utilizará este novo kernel na sua própria máquina.

Na verdade, o nível de otimização do kernel tem um efeito pequeno sobre o desempenho geral da
máquina na maioria dos casos, pois o kernel em si representa apenas uma pequena parte do sistema. Sobre ele
temos pesos pesados como o X, KDE e o OpenOffice. Em geral, otimizar o kernel para o seu processador,
sem mexer nos demais programas, resulta num ganho médio inferior a 2%.

Uma opção importante hoje em dia é ativar o suporte a SMP (a opção "Symmetric multi-processing
support", dentro da seção "Processador Type and Features"), necessário para que o sistema consiga tirar
proveito de processadores dual-core ou quad-core.

Ativar o suporte a multiprocessamento não faz com que o kernel gerado deixe de ser compatível com
máquinas equipadas com processadores single-core (o kernel é capaz de detectar o número de núcleos
disponíveis durante o boot), apenas faz com que o desempenho seja levemente inferior, já que o sistema
continua com o código necessário carregado na memória. Para ativar, habilite (ainda dentro da seção
"Processador Type and Features") a opção: "Symmetric multi-processing support".

Depois de terminar, não se esqueça de clicar no "Save" (para salvar as configurações, gerando o
arquivo ".config", dentro da pasta com o código-fonte). Em seguida, feche o Qconf para voltar ao terminal.

Além do xconfig, você pode utilizar também o menuconfig, que oferece basicamente as mesmas
opções, mas numa interface de modo texto. Ele serve como segunda opção caso o xconfig (que no kernel 2.6
depende da biblioteca Qt) esteja indisponível. Para chamá-lo, use o comando:

# make menuconfig

509
Tanto faz utilizar o xconfig ou o menuconfig, pois os dois fazem exatamente a mesma coisa: mostrar
as opções disponíveis e salvar a configuração no final do processo, gerando o arquivo ".config" que orienta o
sistema durante a fase de compilação.

Existe ainda uma quarta opção, ainda mais espartana: o "make config", que chama um programa de
modo texto que simplesmente vai perguntando um a um quais componentes devem ser incluídos (e exige
uma boa dose de paciência... :).

Compilando e instalando

Depois de salvar a configuração, o próximo passo é fazer a compilação propriamente dita, gerando o
executável do novo kernel e em seguida os módulos, o que é feito com três comandos.

O primeiro é o "make clean", que serve para limpar a casa, removendo restos de compilações
anteriores e módulos desnecessários.

# make clean

Em versões antigas (da série 2.4) era necessário rodar também o comando "make dep",
que verifica a cadeia de interdependências do kernel, mas ele deixou de ser necessário a partir da
série 2.6.

Ao executar o "make clean", todos os módulos e componentes anteriormente compilados são


removidos, fazendo com que a compilação seja realmente feita a partir do zero. Se você já compilou o kernel
anteriormente e fez agora apenas uma pequena modificação (como ativar um módulo adicional), pode omitir
o "make clean", de forma que os objetos gerados na compilação anterior sejam aproveitados e a compilação
seja muito mais rápida.

O próximo passo é o "make" que compila o executável principal do kernel, o arquivo que vai na pasta
/boot. O tempo varia de acordo com a velocidade do processador, mas é sempre relativamente rápido, já que
estamos falando de um executável com cerca de 2 MB. Em um PC atual, demora poucos minutos.

# make

No final do processo de compilação você verá um relatório informando o tamanho da imagem


(importante, já que o tamanho do executável do kernel influencia o tempo de boot e o consumo de memória)
gerada, como em:

510
Setup is 12444 bytes (padded to 12800 bytes).
System is 1526 kB
CRC b148216f
Kernel: arch/x86/boot/bzImage is ready (#1)

Em máquinas com processadores dual-core, você pode reduzir o tempo de compilação usando a
opção "-j4", que faz com que o make processe 4 módulos de cada vez, ao invés de apenas um como faria por
padrão. Isto faz com que o segundo processador realmente fique ocupado, reduzindo em até 40% o tempo
de compilação. Neste caso, o comando fica:

# make -j4

Este comando também pode ser utilizado em máquinas com apenas um processador (ou com um
Pentium 4 com HT), mas neste caso o ganho de performance é bem menor. Geralmente você terá melhores
resultados usando a opção "-j2" (apenas dois módulos por vez, ao invés de quatro).

Em versões antigas do kernel, era usado o comando "make zImage" mas ele tem uma
limitação quanto ao tamanho máximo do kernel a ser gerado, por isso só funciona em kernels muito
antigos, da série 2.0. Em seguida, passou a ser usado o "make bzImage", que permitia gerar kernels
sem limite de tamanho.

A partir da versão 2.6.16, o comando foi simplificado, já que, por causa do limite de tamanho,
não existe mais nenhum motivo para alguém gerar uma "zImage". Com isso, o comando de
compilação passou a ser apenas "make", como usado em outros programas.

Depois de compilar o executável principal, temos o "make modules", que conclui o trabalho,
compilando todos os componentes marcados como módulos. Assim como no comando anterior, você pode
acrescentar o "-j4" ou "-j2" para reduzir o tempo de compilação, como em:

# make -j4 modules

Concluída a compilação, falta apenas copiar os arquivos e fazer a configuração do gerenciador de


boot.

O executável principal do kernel é gravado no arquivo "arch/i386/boot/bzImage", dentro do


diretório de compilação. É necessário copiá-lo manualmente para a pasta "/boot". Aproveite para renomear o
arquivo, incluindo o número da versão:

# cp arch/i386/boot/bzImage /boot/vmlinuz-2.6.26-1

Além do arquivo principal, é necessário instalar também os módulos, que são copiados para um
diretório na pasta "/lib/modules" (criado automaticamente) correspondente à versão do kernel, como em
"/lib/modules/2.6.26". Para isto, use o:

# make modules_install

Um passo que pode ou não ser necessário, de acordo com o conjunto de componentes que você
incluiu diretamente no kernel é a geração do arquivo initrd, que inclui os módulos necessários durante o início
do boot que não foram compilados no executável principal.

Para gerá-lo, você precisa do "mkinitramfs", que faz parte do pacote "initramfs-tools". Ele substituiu o
Yaird, usado em distribuições anteriores e pode ser instalado usando o gerenciador de pacotes, como em:

# apt-get install initramfs-tools

Com ele instalado, você pode gerar o initrd usando o comando:

# mkinitramfs -o /boot/initrd.img-2.6.26 2.6.26

511
... onde o "2.6.26" é a versão do kernel que foi compilada e o "/boot/initrd.img-2.6.26" é o arquivo
que será gerado. É importante seguir essa nomenclatura (/boot/initrd.img-versão) ao definir o nome do
arquivo, para que ele seja encontrado pelo script de atualização do grub.

Com isso, fica faltando apenas atualizar a configuração do gerenciador de boot, o que pode ser feito
automaticamente rodando o:

# update-grub

Você pode também fazer a configuração manualmente, adicionando uma nova seção no arquivo
"/boot/grub/menu.lst", indicando a localização do executável do novo kernel e (caso usado) do arquivo
initrd, como em:

title Kernel 2.6.26


root (hd0,2)
kernel /boot/vmlinuz-2.6.26 root=/dev/sda3 ro quiet
initrd /boot/initrd.img-2.6.26
Não remova a seção referente ao kernel antigo, pois você pode ainda precisar dele em caso de
problemas de boot com o novo. Como a configuração do kernel inclui um volume muito grande de opções, é
muito fácil desativar alguma função essencial (como o suporte à controladora SATA da placa-mãe, por
exemplo, onde o HD está instalado) e ficar assim com um kernel inoperante. Nesses casos, basta reiniciar
usando o kernel antigo e tentar novamente.

Compilando no Debian

Depois de gerada a configuração, fica faltando o mais importante, que é a compilação e instalação do
novo kernel. O Debian oferece uma ferramenta chamada kernel-package que facilita bastante o processo,
executando a maioria dos passos automaticamente.

Ele cuida de todo o processo de compilação e no final gera um arquivo .deb com o novo kernel, que
pode ser rapidamente instalado usando o comando "dpkg -i" e, inclusive, instalado em outros micros.

Para gerar o pacote, acesse a pasta com o código-fonte e, depois de gerar a configuração usando o
"make xconfig", use os comandos:

# make-kpkg clean
# make-kpkg --revision=meu.0.1 kernel_image

O "meu.0.1" indica o número de versão que será atribuído ao pacote. A numeração permite que você
gere vários pacotes a partir do mesmo código-fonte (com configurações diferentes), atribuindo versões para
cada um (0.1, 0.2, etc.).

Mesmo em uma máquina atual, é normal que a compilação demore 30 minutos ou mais, de acordo
com o número de componentes e módulos a gerar. No final do processo será gerado um arquivo "kernel-
image" dentro da pasta "/usr/src" com o novo kernel, como em "/usr/src/linux-image-
2.6.26_custom.0.1_i386.deb".

Este pacote contém a imagem completa, incluindo o arquivo vmlinuz que vai na pasta "/boot",
módulos e um script de instalação (executado ao instalar o pacote) que automatiza a instalação.

Você pode instalar o pacote gerado rodando o dpkg -i, como em:

# dpkg -i /usr/src/linux-image-2.6.26_custom.0.1_i386.deb

Ele exibirá as mensagens de praxe, avisando sobre a execução do depmod, do script de pós-instalação
e da atualização do menu de grub, com a adição do novo kernel:

Configurando linux-image-2.6.26 (meu.0.1) ...


Running depmod.
Examining /etc/kernel/postinst.d.
Running postinst hook script update-grub.

512
Se você estiver tentando instalar um kernel de mesma versão que o já instalado, o script de pós-
instalação exibe uma mensagem confirmando a atualização, o que é uma precaução de segurança devido à
pasta com os módulos, que passará a ser compartilhada entre os dois. A pegadinha é que, quando o instalador
pergunta "Stop install since the kernel-image is already installed?", o "Sim" fica marcado por default, fazendo
com que a instalação seja abortada caso você simplesmente pressione Enter sem ler.

Outra dica é que o make-kpkg não gera o arquivo initrd automaticamente. Caso queira usá-lo, é
necessário instalar o initramfs-tools, gerar o arquivo e em seguida atualizar o grub, usando os comandos que
vimos no tópico anterior:

# apt-get install initramfs-tools


# mkinitramfs -o /boot/initrd.img-2.6.26 2.6.26
# update-grub

No final do processo, abra o arquivo "/boot/grub/menu.lst" e veja se a linha com o arquivo foi
incluída corretamente na entrada referente ao kernel. Caso necessário, você pode corrigí-la manualmente.

Se você quer que sejam gerados também pacotes com o fonte e os headers do kernel,
use o comando:

# make-kpkg --revision=meu.0.1 kernel_image kernel_source kernel_headers

Neste caso, serão gerados três pacotes no total, contendo o "kit completo" do kernel,
incluindo os headers e também o código-fonte completo. Como comentei em outros tópicos, os
headers são necessários para instalar drivers e módulos adicionais, por isso são sempre importantes.
Ele é especialmente importante se você pretende distribuir o kernel ou instalá-lo em várias
máquinas.

O pacote com o fonte permite que outras pessoas recompilem o seu kernel, aplicando patches
adicionais ou alterando a configuração.

Em alguns casos, a compilação pode ser abortada em algum ponto, com o compilador exibindo um
erro como:

drivers/message/fusion/mptsas.c: In function mptsas_setup_wide_ports:


drivers/message/fusion/mptsas.c:391: internal compiler error: Falha de segmentação
Please submit a full bug report, with preprocessed source if appropriate.
Na grande maioria dos casos, esses erros são causados por bugs ou problemas diversos dentro de
módulos experimentais. A maneira mais simples de lidar com eles é executar novamente o "make xconfig" e
usar a função de busca para localizar o módulo problemático, para então desativá-lo:

513
Depois de salvar a configuração, basta executar novamente o make-kpkg para que ele conclua a
compilação. Nesse caso, você ganha tempo deixando de executar o "make-kpkg clean", já que ele pode
aproveitar os módulos que já foram gerados na tentativa anterior, em vez de precisar recomeçar do início.

USANDO O HDPARM

O hdparm é um utilitário de linha de comando que permite ajustar opções de desempenho e de


gerenciamento de energia dos HDs. Um dos usos mais conhecidos para ele é ativar o uso do DMA do acesso
de 32 bits para HDs e drives ópticos IDE, uma necessidade básica para um bom desempenho.

Para checar o status atual do drive, logue-se como root e use o "hdparm -c -d", seguido pelo
dispositivo, como em:

# hdparm -c -d /dev/hda

Você receberá um relatório como este:

/dev/hda:
IO_support = 0 (default 16-bit)
using_dma = 0 (off)
Este é o pior caso possível. Veja que tanto o acesso de 32 bits quanto o DMA estão desativados. O
DMA é um recurso básico, que faz com que o dispositivo possa transferir dados diretamente para a memória,
sem passar pelo processador. Com o DMA desativado, o processador é obrigado a ler cada bloco de dados e
transferí-los um a um para a memória, o que faz com que a taxa de transferência seja muito baixa (na faixa
dos 3 a 4 MB/s) e a utilização de processamento fique nas alturas durante as transferências.

Um exemplo comum são as "paradinhas" ao assistir DVDs, que acontecem quando o DMA do drive
óptico está desativado. Como o processador tem que parar a decodificação do vídeo para ler mais dados a
cada 5 ou 10 segundos, o vídeo acaba sendo exibido com falhas.

O acesso de 32 bits não tem uma influência tão dramática sobre o desempenho, mas também tem um
certo impacto, por permitir que a controladora leia mais dados de cada vez. Para ativar a dupla, basta usar o
"hdparm -c1 -d1", como em:

# hdparm -c1 -d1 /dev/hda

Aproveite para adicionar o comando no final do arquivo "/etc/rc.local", para que ele seja executado a
cada boot.

Muitos tutoriais adicionam também a opção "-k 1" no comando. Ela faz com que a
configuração seja mantida em casos de erros, onde a controladora do HD realiza um soft reset. Isto
ocorre em casos de erros de leitura em setores do HD e outros problemas relativamente graves. Sem
o "-k 1", estes erros fazem com que o DMA seja desativado.

Eu particularmente prefiro esta configuração (sem o -k 1), pois serve como uma espécie de
"alarme". Um erro ocorre, o DMA é desativado e, pela lentidão do sistema, você percebe que algo
está errado. Usando o comando "dmesg" você pode verificar o que ocorreu e decidir se é o caso de
atualizar os backups ou trocar de HD.

Na grande maioria dos casos, simplesmente ativar o DMA e o modo de transferência de 32 bits já faz
com que o HD trabalhe de forma otimizada, pois o hdparm detecta as configurações suportadas pela
controladora.

Mas, em alguns casos, você pode conseguir pequenos ganhos ajustando o modo Ultra DMA usado
pelo HD. Neste caso, use os parâmetros "-X66" (UDMA 33), "-X68" (UDMA 66) ou "-X69" (UDMA 100),
como em:

# hdparm -X69 /dev/hda

514
Esta opção deve ser usada apenas em conjunto com HDs IDE, nunca com os HDs serial ATA, que já
operam nativamente a 150, 300 ou 600 MB/s.

Ao tentar forçar um modo de transferência não suportado pelo seu drive, você recebe uma mensagem
de erro, como em:

# hdparm -X70 /dev/hda

/dev/hda:
setting xfermode to 70 (UltraDMA mode6)
HDIO_DRIVE_CMD(setxfermode) failed: Input/output error

Nestes casos, o padrão do hdparm é voltar à configuração anterior para evitar perda de dados. Mas,
em alguns poucos casos, forçar um modo não suportado pode realmente corromper os dados do HD, por
isso uso este recurso com cautela.

Você pode verificar os modos suportados pelo seu drive usando o comando "hdparm -i", como em:

# hdparm -i /dev/hda

Os modos suportados aparecem na linha "UDMA Modes", como nesse exemplo:

UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5

A principal observação é que isso é necessário apenas em dispositivos IDE. Ao tentar executá-lo em
dispositivos SATA, você receberá uma mensagem de erro, avisando que os parâmetros não são suportados,
como em:

# hdparm -c1 -d1 /dev/sda

/dev/sda:
setting 32-bit IO_support flag to 1
HDIO_SET_32BIT failed: Invalid argument
setting using_dma to 1 (on)
HDIO_SET_DMA failed: Inappropriate ioctl for device

Isso acontece por que a ativação e desativação do DMA e do acesso de 32 bits são uma
particularidade das interfaces IDE, configurações que surgiram por questões histórias, já que os recursos
foram incluídos ao longo do desenvolvimento do padrão. No caso do SATA, o uso do DMA é um recurso
intrínseco do padrão, o que dispensa qualquer configuração.

De qualquer forma, se você achar que o desempenho do HD está abaixo do normal, pode tirar a
dúvida usando o "hdparm -t", que faz um teste rápido de leitura, indicando a taxa obtida. Em HDs atuais, a
taxa deve ficar acima dos 50 MB/s, com exceção de alguns HDs de notebook:

# hdparm -t /dev/sda

/dev/sda:
Timing buffered disk reads: 190 MB in 3.01 seconds = 63.15 MB/sec

O segundo uso para o hdparm, este independente da interface usada pelo HD, é o ajuste das opções
relativas ao gerenciamento de energia.

A principal configuração é o ajuste do tempo de espera ou seja, o tempo de inatividade antes que o
HD seja colocado em modo de economia de energia (spindown). Ele é ajustado através da opção "-S",
seguida por um número que vai de 1 a 255.

Esta opção possui uma notação peculiar, onde os números de 1 a 240 indicam múltiplos de 5
segundos (1 para 5 segundos, 10 para 50 segundos e 240 para 20 minutos) e os números de 241 em diante
indicam múltiplos de 30 minutos (242 indica uma hora, 244 duas horas, e assim por diante). Para um tempo
de espera de 10 minutos, por exemplo, use:

515
# hdparm -S 120 /dev/sdb

Essa opção é bastante útil se você tiver uma máquina com vários HDs instalados, onde apenas o HD
principal é usado regularmente e os demais são usados para backup ou armazenamento de arquivos pouco
usados.

Nesse caso, uma boa forma de garantir que os HDs fiquem desligados enquanto não são usados
(economizando energia e evitando que eles se desgastem desnecessariamente) é fazer com que eles sejam
desligados depois de 5 minutos, por exemplo. Nesse caso, você precisaria apenas incluir linhas como essas no
"/etc/rc.local", especificando os tempos de espera para cada um dos HDs:

# Spindown dos HDs depois de 5 minutos de inatividade:


hdparm -S 60 /dev/sdb
hdparm -S 60 /dev/sdc
hdparm -S 60 /dev/sdd
A grande observação é que a opção "-S" é inefetiva quando usada no HD principal (onde o sistema
está instalado), pois as atividades de escrita dos logs, leitura de arquivos e bibliotecas (que ocorrem sempre
que qualquer programa precisa de uma função adicional que ainda não está carregada) fazem com que o HD
acabe nunca ficando tempo suficiente sem uso para ativar o spindown. Forçar uma configuração agressiva (5
ou 10 segundos, por exemplo) acaba sendo contra-produtivo (e perigoso!) pois vai fazer com que o HD fique
constantemente acelerando e desacelerando, acabando por consumir mais energia que consumiria se
simplesmente ficasse o tempo todo girando.

Uma forma simples de reduzir o problema é adicionar a opção "relatime" entre as opções de
montagem para a partição no "/etc/fstab", como em:

/dev/sda1 / ext3 relatime,errors=remount-ro 0 1


Ela reduz o uso das operações de atualização de data de acesso (que acabam fazendo com que o
sistema precise realizar uma operação de escrita para atualizar a data de acesso sempre que lê cada arquivo), o
que não apenas reduz bastante o volume de operações de escrita, mas também melhora o desempenho.

Outra opção, um pouco mais agressiva, é a "noatime", que desativa as atualizações completamente,
resultando em um ganho adicional. Ela não é indicada para uso em servidores ou em estações de trabalho (já
que você passa a não ter como saber quando cada arquivo foi modificado), mas pode ser usada para aumentar
um pouco a autonomia das baterias em notebooks, por exemplo. Nesse caso, a entrada no fstab ficaria:

/dev/sda1 / ext3 noatime,errors=remount-ro 0 1


Outra dica é ativar o laptop-mode, que (entre outras coisas) atua sobre o cache de escrita do HD,
reduzindo (quando possível) o número de escritas no HD ocasionadas pelos logs e outras funções. Ele pode
ser instalado através do pacote "laptop-mode-tools", que está disponível em quase todas as distribuições,
como em:

# apt-get install laptop-mode-tools

Com o pacote instalado, basta ativar o serviço:

# /etc/init.d/laptop-mode start

A segunda opção é o "-B", que ajusta o gerenciamento avançado de energia. Diferente do spindown,
que faz o HD simplesmente estacionar as cabeças e parar de girar, o gerenciamento avançado controla fatores
como a velocidade de rotação, a tensão usada, o estacionamento das cabeças e outros fatores.

Devido ao problema de 2007, onde uma configuração agressiva adotada pelo Ubuntu e o Mandriva
fazia com que os HDs em algumas máquinas ficassem acelerando e desacelerando constantemente (reduzindo
a vida útil), a maioria das distribuições passou a usar a opção "-B 254", que reduz a atividade do
gerenciamento a um mínimo. Você pode ganhar alguns minutos de autonomia usando a opção "-B 127", que
ainda é bem conservadora, mas já propicia uma boa economia:

# hdparm -B 127 /dev/sda

Como de praxe, é necessário adicionar o comando no arquivo "/etc/rc.local" (ou outro arquivo
executado durante a inicialização), para que ele seja ativado durante o boot, já que as configurações do

516
hdparm não são persistentes. Outra opção para salvar as opções é usar o arquivo "/etc/hdparm.conf"
("/etc/conf.d/hdparm" nas distribuições derivadas do Red Hat), que é lido pelo sistema no início do boot.

Uma opção menos conhecida, mas que é bastante útil em alguns HDs, é o gerenciamento acústico
que, quando suportado pelo HD, permite escolher entre um modo de funcionamento "silencioso", onde o
HD gira a uma velocidade mais baixa, produz menos barulho e consome menos energia, ou um modo
"barulhento", onde ele simplesmente funciona com o melhor desempenho possível.

Esta opção é definida usando o parâmetro "-M", seguido de um número entre 128 e 254, onde 128 é o
modo silencioso e o 254 é o modo barulhento. Alguns HDs suportam números intermediários, que permitem
escolher a melhor relação performance/barulho.

Para descobrir quais os valores suportados pelo seu dive, use o comando "hdparm -I" (i maiúsculo),
como em:

# hdparm -I /dev/hda | grep acoustic

Recommended acoustic management value: 128, current value: 254

Para alterar a configuração, indique o valor desejado, como em:

# hdparm -M128 /dev/hda

Lembre-se de que apenas alguns HDs suportam efetivamente este recurso. Nos demais modelos, a
configuração não altera nada.

Concluindo, o hdparm pode ser usado também para limitar a velocidade do CD-ROM, o que pode ser
útil em drives muito barulhentos, ou em notebooks, onde você queira economizar energia. Para isso, use o
parâmetro "-B", seguido da velocidade e o device do drive, como em:

# hdparm -E 8 /dev/hdc

Todas as configurações do hdparm não são persistentes. Por isso, lembre-se de incluir os comandos
em algum dos arquivos de inicialização, para que sejam executados durante o boot.

GERENCIAMENTO DE ENERGIA

Se fôssemos comparar a indústria dos processadores à industria automotiva, os primeiros anos do


século 21 seriam equivalentes à década de 70: uma época de carros gastadores, onde o que importava era a
potência e não a eficiência. Passada a época do Pentium 4, a ênfase passou a ser a eficiência, ou seja a
"performance por watt", o que levou ao lançamento dos processadores da safra atual.

Além de toda a questão ecológica, a redução no consumo elétrico tem muitas vantagens práticas, já
que se traduz em um aumento da autonomia da bateria (no caso dos notebooks), redução na temperatura e
redução na conta de luz. Com exceção de versões antigas do Celeron, todos os processadores atuais oferecem
suporte a sistemas avançados de gerenciamento de energia, que são suportados no Linux através do próprio
kernel. Quase todas as distribuições configuram as funções básicas de economia de energia de forma
automática, mas é sempre bom entender melhor como o sistema funciona.

A base de tudo é um pequeno conjunto de módulos de kernel (chamados de "governors", ou


gerenciadores) que oferecem diferentes opções de gerenciamento. O módulo "cpufreq_powersave" é o mais
conservador, mantendo o processador o tempo todo na frequência mínima, enquanto o
"cpufreq_performance" faz o oposto, mantendo o processador o tempo todo na frequência máxima
(essencialmente desativando o gerenciamento).

Entre os dois temos os módulos "cpufreq_ondemand", que é o mais equilibrado, ajustando a


frequência de acordo com a demanda e o "cpufreq_conservative", que também ajusta a frequência de acordo
com a carga, mas é mais conservador que o ondemand, priorizando o uso das frequências mais baixas:

517
A maneira mais prática de alternar entre eles é simplesmente usar o applet do gnome-power-manager
ou o Kpowersave, mas você pode também ajustar a configuração via linha de comando usando o comando
"cpufreq-set" (ele faz parte do pacote "cpufrequtils", que deve ser instalado previamente), como em:

# cpufreq-set -g ondemand

ou:

# cpufreq-set -g powersave

Tradicionalmente, o powersave é o que oferece a melhor autonomia, já que ele simplesmente trava o
clock do processador no nível mais baixo. Entretanto, o ondemand vem se tornando bastante eficiente nas
versões recentes do kernel e a diferença entre os dois em situações normais de uso já é bem pequena, já que o
chaveamento entre as frequências é feito de forma muito rápida, de acordo com a carga de processamento
exigida. O processador passa então a maior parte do tempo operando na frequência mínima, chaveando para
as outras frequências rapidamente quando tem trabalho a realizar e logo voltando ao estado de baixo
consumo.

Outra observação importante é que o gerenciamento do clock é baseado em funções do ACPI, por
isso deixam de funcionar caso o serviço "acpid" seja desativado, ou caso você use o "acpi=off" na tela de
boot.

Embora pouco usado, está disponível também um utilitário para definir a frequência manualmente, o
"cpufreq-set". Para usá-lo, o primeiro passo é verificar as frequências suportadas pelo processador, usando o
"cpufreq-info" (que também faz parte do pacote "cpufrequtils)":

$ cpufreq-info

cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006


Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:

driver: powernow-k8
CPUs which need to switch frequency at the same time: 0
hardware limits: 1000 MHz - 2.00 GHz
available frequency steps: 2.00 GHz, 1.80 GHz, 1000 MHz
available cpufreq governors: powersave, performance, userspace
current policy: frequency should be within 1000 MHz and 2.00 GHz.
The governor "userspace" may decide which speed to use
within this range.
current CPU frequency is 1000 MHz (asserted by call to hardware).

Neste exemplo, estou usando um Athlon 64 3000+, que opera nativamente a 2.0 GHz e suporta
também as frequências de 1.8 e 1.0 GHz. Para que o processador ficasse o tempo todo funcionando a 1.8
GHz, por exemplo, usaria:

# cpufreq-set -g userspace
# cpufreq-set -f 1800MHz

518
O "cpufreq-set -g userspace" do primeiro comando ativa o governador "userspace", que desativa o
chaveamento automático e permite que você especifique a frequência manualmente. O cpufreq-set permite
apenas chavear entre as frequências suportadas, por isso não adianta tentar usá-lo para tentar forçar outros
valores, pois os comandos serão simplesmente ignorados.

Em situações normais, não existe motivo para usá-lo, já que se for para usar a frequência mínima você
pode simplesmente usar o "powersave" e, se for para utilizar qualquer estágio intermediário, seria mais
eficiente usar o "ondemand". Entretanto, ele pode ser útil para fazer testes, simulando o desempenho de
processadores com clocks diferentes, por exemplo, ou servindo como uma ferramenta para solucionar
problemas, em casos em que o sistema detecte incorretamente a frequência máxima de operação do
processador.

Uma observação importante é que, tanto os processadores Intel Core quanto os Athlon
X2 e Phenom, suportam apenas três ou quatro frequências diferentes, com a frequência mínima
sendo sempre de 600 MHz a 1.0 GHz. Esta foi a solução encontrada pelos fabricantes para manter
um desempenho equilibrado, evitando que o PC ficasse excessivamente lento quando o processador
estivesse em estágio de baixo consumo e fazendo com que o chaveamento entre os modos fosse
rápido.

Existe também um módulo antigo, o "p4-clockmod", que era usado em conjunto com os
processadores Pentium 4 e continua sendo compatível com muitos dos processadores atuais. Ele
permite definir frequências muito mais baixas, a partir de 133 MHz. O grande problema é que ele é
baseado no uso de ciclos de espera e não na redução do clock, o que faz com que o desempenho
caia drasticamente, mas o consumo continue quase o mesmo.

Se você tiver um Eee 900 ou qualquer outro portátil baseado no Celeron M (que não suporta
os outros módulos de gerenciamento), você poderia fazer o teste usando o:

# modprobe p4-clockmod
# cpufreq-set -f 113MHz

Você verá que o desempenho será realmente reduzido, mas a temperatura do processador e o
uso da bateria continuarão quase os mesmos, sintoma de que o processador continua ativo. Ou seja,
é besteira tentar usá-lo. Ele é apenas uma herança nefasta da plataforma NetBurst.

Embora o ajuste de frequência seja geralmente relacionado aos notebooks, ele é também muito
importante nos desktops, que muitas vezes ficam ligados continuamente sem fazer nada. O simples fato de
ativar o gerenciamento usando o gerenciador "ondemand" pode gerar uma redução de 30 a 40 watts no
consumo, o que representa uma economia mensal considerável. Para isso, basta instalar o cpufreutils:

# apt-get install cpufreutils

Em distribuições antigas, era necessário carregar uma lista de módulos manualmente antes de poder
usar o cpufreq, como em "modprobe acpi freq_table speedstep-centrino cpufreq_powersave
cpufreq_conservative cpufreq_ondemand cpufreq_userspace". Entretanto, nas distribuições atuais isso não é
mais necessário, já que os módulos são carregados automaticamente pelo HAL.

Outra diferença é que nas versões atuais do kernel é usado o novo módulo "acpi-cpufreq", em vez dos
módulos speedstep-centrino (Pentium-M e processadores da plataforma Core), powernow-k8 (processadores
AMD de 64 bits) e powernow-k7 (Athlon XP Mobile), que eram usados nas versões anteriores. Você pode
verificar qual driver está sendo usado na linha "driver:", na saída do cpufreq-info.

Ao ser instalado, o cpufrequtils ativa automaticamente o gerenciador ondemand e fica ativo


continuamente como serviço, passando a ser inicializado automaticamente durante o boot. Caso precise
desativá-lo temporariamente, use o "/etc/init.d/cpufrequtils stop".

Execute novamente o "cpufreq-info" e ele deverá mostrar que o processador está trabalhando na
frequência mínima, indicando que o gerenciamento está ativo, como em:

519
available frequency steps: 2.00 GHz, 1.60 GHz, 1.20 GHz
available cpufreq governors: userspace, powersave, ondemand, conservative, performance
current policy: frequency should be within 1.20 GHz and 2.00 GHz.

The governor "ondemand" may decide which speed to use within this range.
current CPU frequency is 1.20 GHz.

Embora as respostas para algumas tarefas leves (como abrir menus) possam ficar sutilmente mais
lentas, o desempenho do sistema em tarefas intensivas continuará rigorosamente o mesmo, já que o
processador demora poucos milessegundos para chavear para a frequência máxima quando exigido. Além da
economia na conta de luz, o gerenciamento tem um efeito positivo sobre a vida útil, já que reduz a dissipação
térmica e, consequentemente, a temperatura.

Caso necessário, você pode também alterar as opções do cpufreutils, usando o gerenciador powersave
ou restringindo a frequência máxima, por exemplo. Nesse casos, crie (ou edite) o arquivo
"/etc/default/cpufrequtils" (ou "/etc/sysconfig/cpufrequtils", nas distribuições derivadas do Red Hat),
especificando o gerenciador que será usado e (opcionalmente) a frequência mínima e máxima que você quer
que sejam usadas, entre as suportadas pelo processador, como em:

governor="ondemand"
min_freq="1GHz"
max_freq="2GHz"
Sempre que modificar o arquivo, não esqueça de reiniciar o serviço, como em:

# /etc/init.d/cpufrequtils restart

PowerTOP e outras dicas

Ao usar um notebook, outro aliado importante é o PowerTOP (http://www.lesswatts.org/), um


aplicativo open-source, desenvolvido pela Intel, que se oferece para monitorar o consumo de energia do
notebook e detectar mudanças de configuração que podem ser usadas para melhorar o consumo. Ele oferece
um relatório bastante completo, mostrando o consumo de energia atual, em watts, a percentagem de tempo
que o processador passou operando em cada um dos degraus de frequência, os aplicativos ou periféricos que
acordam o processador com mais frequência e assim por diante.

Mais do que servir como um simples monitor, ele oferece dicas de configurações que podem reduzir o
consumo. Você pode tanto selecionar os comandos sugeridos com o botão do meio e colá-los no terminal
(sempre executando como root) quanto deixar que ele mesmo faça as alterações, pressionando a tecla
especificada:

520
A maioria das configurações não são permanentes, de forma que ao reiniciar o micro e abrir
novamente o PowerTOP, ele voltará a sugerir as mesmas alterações. Você pode tornar as alterações
definitivas inserindo os comandos no arquivo "/etc/rc.local", de forma que eles sejam executados durante o
boot.

Para abrir o PowerTOP, basta chamá-lo através do terminal, como root:

# powertop

Se ele não estiver disponível, instale-o usando o gerenciador de pacotes, como em:

# apt-get install powertop

ou:

# yast --install powertop

Como você pode imaginar, o PowerTOP é otimizado para uso em conjunto com processadores da
Intel, mas nada impede que você também o utilize em notebooks com processadores da AMD ou da VIA.
Nesse caso, ele não será capaz de exibir detalhes sobre os estados do processador, mas as dicas de otimização
(que são o mais importante) continuam sendo exibidas. Nesse exemplo, ele está rodando em um notebook
com um AMD Turion:

521
,
Para melhores resultados, é recomendável utilizar uma distribuição baseada no kernel 2.6.21 ou mais
recente, a que foi a partir dessa versão que o kernel passou a ser tickless, abandonando o uso do timer de
1000Hz, usado nas versões anteriores, que obrigava o processador a acordar a cada um milhão de ciclos,
reduzindo a eficiência dos sistemas de economia de energia. Foi também a partir dessa versão que o kernel
ganhou o suporte à desativação das portas USB que não estão em uso, entre diversas outras melhorias.

Ao mexer nas opções de gerenciamento, é importante medir o consumo, de forma que você possa ir
acompanhando os resultados. Desde que o ACPI esteja ativo, você pode acompanhar o consumo e a carga da
bateria usando o comando:

$ cat /proc/acpi/battery/BAT0/state

Ele mostra algo como:

present: yes
capacity state: ok
charging state: discharging
present rate: 18711 mW
remaining capacity: 31922 mWh
present voltage: 11623 mV
Este comando deve ser executado com o notebook desligado da tomada, para que o sistema possa
medir o consumo da bateria. O campo "present rate" indica o consumo atual (no caso 18.711 watts-hora) e o
campo "remaining capacity" mostra a energia restante (31.922 watts-hora, suficientes para pouco mais de uma
hora e meia de autonomia, se mantida esta média de consumo).

Naturalmente, a autonomia da bateria varia de acordo com o consumo, por isso, quanto mais baixo o
consumo, maior a autonomia das baterias. Outra observação é que em alguns modelos, como na maioria dos
HP, o consumo é informado em miliamperes e não em miliwatts, tornando o cálculo um pouco mais
complicado, já que você precisa multiplicar pela tensão da bateria.

Se o comando "cat /proc/acpi/battery/BAT0/status" informa que o notebook está consumindo 2000


miliamperes e ele utiliza uma bateria de 11.1V, significa que ele está consumindo 22220 miliwatts (2000 x
11.1), ou seja, 22.2 watts. Se ele utiliza uma bateria de 4400 mAh, significa que, mantendo esta média de
consumo, a bateria duraria exatamente duas horas.

522
A saída do comando varia frequentemente, de acordo com o uso. Você pode deixar o terminal
monitorando o consumo continuamente usando o comando:

$ watch cat /proc/acpi/battery/BAT0/state

Em casos em que a medição do ACPI não esteja disponível, você pode ver algumas informações
através do comando lshal, como em:

# lshal | grep battery

Depois do gerenciamento do clock do processador, o próximo passo é ajustar o brilho da tela, já que
depois dele (processador), a tela é justamente o componente que consome mais energia. Em muitos
notebooks, a diferença entre usar a tela com o brilho no máximo e no mínimo pode chegar a quase 10 watts.

Você pode ir ajustando o brilho da tela usando as teclas de atalho e ir acompanhando a redução no
consumo em cada nível de brilho, até chegar na melhor relação entre consumo e conforto.

Em casos onde o ajuste do brilho através das teclas de atalho não funciona, pode ser possível ajustar o
brilho também através de algum arquivo dentro do diretório /proc. No caso dos notebooks da Asus, por
exemplo, o ajuste pode ser feito através do arquivo "/proc/acpi/asus/brn" (é necessário que o módulo
"asus_acpi" esteja carregado), que contém um número de 0 a 15, indicando o nível de brilho. É possível
alterar a configuração alterando o arquivo com o valor desejado, como em:

# echo 4 > /proc/acpi/asus/brn

ou:

# echo 10 > /proc/acpi/asus/brn

Não é muito prático ficar fazendo esses ajustes via linha de comando, mas você pode criar ícones no
desktop com os comandos que usa mais corriqueiramente, de forma a facilitar o acesso a eles.

Outra medida saudável é desativar o protetor de tela e no lugar configurar o monitor para desligar
depois de um certo tempo de inatividade. Na maioria das distribuições, você pode ajustar isso através do
Kcontrol (Periféricos > Tela) ou outra ferramenta de configuração. É possível também fazer o ajuste via linha
de comando, usando o xset:

# xset +dpms
# xset dpms 0 0 120

O primeiro comando ativa o DPMS, necessário para poder desligar a tela via software, enquanto o
segundo ajusta o tempo de inatividade, em segundos. O "120" que usei no exemplo faz com que a tela seja
desligada depois de dois minutos de inatividade.

A placa wireless é também uma consumidora de energia respeitável. Naturalmente, se você usa uma
rede cabeada (ou um modem 3G), pode simplesmente desativar o transmissor usando a tecla de atalho ou o
botão correspondente. Entretanto, na maioria dos casos, o wireless é um recurso essencial, que você não
pode se dar ao luxo de desativar.

Nas placas com chipset Intel, está disponível um sistema de gerenciamento de energia para a placa
wireless, que, assim como no caso do gerenciamento do clock do processador, é capaz de reduzir o consumo
sem prejudicar o funcionamento da placa. Ele pode ser ativado usando o comando:

# iwpriv eth1 set_power 5

Note que o "eth1" indica o device da placa de rede e pode mudar de acordo com o notebook (use o
comando "ifconfig" em caso de dúvidas) e o "5" indica o nível de gerenciamento, que vai do "0" (desativado)
ao "5" (nível máximo de economia).

Nos notebooks com placa de rede Intel E1000 (Gigabit), você pode economizar mais um pouco de
energia reduzindo a velocidade da interface para 100 megabits, o que é feito usando o comando:

523
# ethtool -s eth0 autoneg off speed 100

Para voltar à velocidade original, use:

# ethtool -s eth0 autoneg off speed 1000

Embora não seja um consumidor de energia tão voraz quando o LCD, o HD consome de 3 a 4 watts
(dependendo do modelo) quando ativado, o que corresponde a uma boa parcela do consumo do notebook. A
ideia é mantê-lo no estado de baixo consumo na maior parte do tempo.

Uma das opções mais efetivas para economizar energia para o HD é usar a opção "noatime" como
parâmetro de montagem. Ela evita que o sistema precise atualizar a informação de "último acesso" dos
arquivos cada vez que eles são lidos. Com isso, o desempenho é melhor e o HD passa mais tempo nos
estágios de economia de energia.

Para isso, edite o arquivo "/etc/fstab", adicionando o parâmetro "noatime" para todas as partições
(com exceção da partição swap), incluindo a partição raiz, como em:

/dev/sda1 / ext3 defaults,relatime 0 1


/dev/sda2 /home ext3 defaults,noatime 0 2
Para que as alterações entrem em vigor sem precisar reiniciar o micro, você pode usar o comando
"mount -o remount,noatime", seguido do diretório referente à cada partição, como em:

# mount -o remount,noatime /
# mount -o remount,noatime /mnt/sda6

O próximo passo é configurar o hdparm, de forma a ativar o gerenciamento avançado de energia (-B
1) para o drive e fazer com que ele entre em estado de baixo consumo automaticamente (-S) após um certo
período de inatividade.

Para fazer com que o drive entre em estágio de baixo consumo depois de dois minutos, use:

# hdparm -B 1 -S 24 /dev/sda

Para que entre depois de 30 segundos (configuração bastante agressiva), use:

# hdparm -B 1 -S 6 /dev/sda

O valor depois do "-S" indica o tempo em múltiplos de 5 segundos. Para usar outros valores, basta
multiplicar o número em minutos por 12. Para 10 minutos, por exemplo, você usaria o valor "120".

Ao usar qualquer distribuição com um kernel recente, do 2.6.19 em diante, você pode ativar também o
"laptop mode", que faz com que o kernel utilize diversas opções de gerenciamento de energia e de uso dos
barramentos de I/O adequadas a notebooks. Ativar o laptop mode resulta em mais uma pequena redução no
consumo, sobretudo quando o notebook está executando tarefas leves. Você pode ativá-lo usando o
comando:

# echo 5 > /proc/sys/vm/laptop_mode

Outra otimização é com relação ao buffer de escrita, usado para cachear as operações de escrita dos
programas, reduzindo o número de vezes que o HD precisa ser ativado.

Por padrão, o kernel realiza as gravações a cada 5 segundos, o que reduz a possibilidade de perda de
dados em desligamentos incorretos, mas em troca faz com que o HD seja acordado de forma muito
frequente. Como em um notebook temos a bateria, que evita que o equipamento seja desligado ou reinicie
por causa de variações na rede elétrica, é seguro usar intervalos maiores, desde que você não tenha o hábito
de ficar desligando o notebook no botão.

A configuração vai no arquivo "/proc/sys/vm/dirty_writeback_centisecs", onde o intervalo é


especificado em centésimos de segundo. Para que o valor seja ajustado para dois minutos, por exemplo, use:

# echo 12000 > /proc/sys/vm/dirty_writeback_centisecs

524
Outra mudança que ajuda a reduzir o volume de leituras no HD, permitindo que o drive passe mais
tempo em modo de baixo consumo é armazenar os logs e arquivos de trava do sistema em um ramdisk
usando o tmpfs. Isso tem a desvantagem de fazer com que os logs sejam perdidos ao reiniciar o micro (o que
não é um grande problema em um notebook de qualquer maneira), mas faz com que todas estas operações de
escrita (que em situações normais acordariam o HD) passem a ser feitas na memória RAM, sem qualquer
impacto sobre o consumo.

O grande problema em armazenar os logs no ramdisk é que muitos aplicativos (entre eles o apt)
presumem que as pastas que utilizam para armazenar os logs estarão sempre presentes dentro do diretório e
se recusam a trabalhar se o diretório estiver vazio (isso também acontece caso você inadvertidamente delete o
conteúdo do diretório "/var/log" manualmente).

Para resolver isso, precisamos fazer com que o sistema passe a recriar as pastas atualmente presentes
durante o boot. Uma forma rápida de fazer isso é usar este mini-script, que verifica quais são as pastas
atualmente presentes no diretório e adiciona os comandos no arquivo "/etc/rc.local" para que elas sejam
recriadas durante o boot:

#!/bin/sh

# Acessa o diretório:
cd /var/log/

# Escreve a lista das pastas no arquivo "/etc/rc.local"


for i in `ls -d */`; do
echo "mkdir /var/log/$i" >> /etc/rc.local
done

sed -i -e '/exit 0/D' /etc/rc.local


O comando do sed na última linha do script, remove a linha "exit 0" no final do arquivo, que faz com
que ele seja finalizado antes de executar os comandos. Você pode simplesmente editar o arquivo e remover a
linha "exit 0" manualmente se preferir.

A partir daí, falta apenas ativar a montagem propriamente dita, adicionando as linhas a seguir no final
do arquivo "/etc/fstab" e reiniciando o PC:

tmpfs /var/log tmpfs defaults 0 0


tmpfs /var/lock tmpfs defaults 0 0
Em caso de problemas, basta remover as linhas e reiniciar novamente. As pastas "/var/log" e
"/var/lock" antigas não são deletadas durante a montagem, por isso continuam disponíveis para o caso de
mudar de ideia.

Monitorando com o lm-sensors

A partir da época do Pentium II, as placas-mãe passaram a vir com sensores de temperatura para o
processador e, mais tarde, com sensores para o chipset e também monitores de rotação dos coolers. Como os
processadores dissipam cada vez mais calor, os sensores acabam sendo um recurso importante. Se o
processador trabalha a uma temperatura alta mesmo nos dias frios, significa que provavelmente vai começar a
travar nos dias mais quentes, ou nos momentos de atividade mais intensa.

Outro problema é que, com o tempo, os coolers acumulam sujeira e passam a girar mais devagar,
perdendo eficiência. Usando os sensores, você pode programar um alarme caso a rotação caia abaixo de um
certo valor, sendo avisado do problema.

No Linux, o suporte aos sensores da placa-mãe é provido por dois projetos, o I2C e o LM-sensors.
Até o kernel 2.4 era necessário baixar os pacotes e compilá-los manualmente, mas, a partir do 2.6, eles foram
incluídos oficialmente no kernel, o que facilitou as coisas. Usando uma distribuição atual você já encontrará
os módulos pré-instalados. Com isso, fica faltando apenas instalar o pacote "lm-sensors", que contém os
utilitários de configuração e arquivos necessários, juntamente com o "i2c-tools":

# apt-get install lm-sensors i2c-tools

525
A configuração inicial é feita pelo script "sensors-detect", que ajuda na configuração inicial, detectando
os sensores presentes na placa-mãe e dizendo quais módulos devem ser carregados para habilitar o suporte:

# sensors-detect

Ele faz várias perguntas, e exibe vários textos explicativos. Você pode simplesmente ir aceitando os
valores default, que fazem ele executar todos os testes.

Caso os sensores da sua placa-mãe sejam suportados, ele exibirá no final um relatório com os passos
necessários para ativá-los, oferecendo a opção de fazer as alterações necessárias automaticamente:

To make the sensors modules behave correctly,


add these lines to /etc/modules:

#----cut here----
# I2C adapter drivers
i2c-nforce2
# I2C chip drivers
asb100
w83l785ts
eeprom
#----cut here----
Do you want to add these lines to /etc/modules
automatically? (yes/NO)

No exemplo, é preciso apenas carregar os módulos i2c-nforce2, asb100, w83l785ts e eeprom, o que
pode ser feito manualmente, usando o comando "modprobe", ou de forma definitiva, adicionado as linhas no
final do arquivo "/etc/modules", o que orienta o sistema a carregá-los durante o boot. Você pode ver uma
lista dos chips suportados por cada módulo no: http://www.lm-sensors.org/wiki/Devices

Com os sensores habilitados, você pode ver um relatório com as informações disponíveis usando os
comandos:

# sensors -s
$ sensors

O primeiro precisa ser executado como root e calibra os valores dos sensores usando uma série de
parâmetros específicos para cada chipset. A partir daí, você pode executar o segundo comando usando seu
login de usuário para verificar os valores já calibrados:

Não é muito prático ficar abrindo o terminal cada vez que quiser checar a temperatura. Você pode
resolver isso instalando um monitor gráfico, como o Ksensors e o Gkrellm, instalados através dos pacotes de

526
mesmo nome. O Ksensors é interessante para quem usa o KDE, pois permite usar um ícone com a
temperatura ao lado do relógio, enquanto o Gkrellm tem seu público fiel graças ao bom design.

Em ambos os casos, você precisa ativar os sensores que serão exibidos na janela de configuração. No
Ksensors existe a opção de exibir cada mostrador ao lado do relógio (Dock) ou na barra do programa (Panel).

Na configuração, existe uma opção para que o Ksensors seja aberto durante a inicialização do KDE.
Mas, em versões antigas do programa, esta opção não funciona, fazendo com que você precise sempre
inicializá-lo manualmente. Se for o caso, adicione manualmente uma entrada para ele dentro da pasta
"/home/$USER/.kde/Autostart/", onde ficam ícones de atalho para todos os programas que serão
inicializados durante o boot.

Existem ainda vários tipos de scripts, painéis do Superkaramba e diversos pequenos programas que
monitoram a temperatura e oferecem funções diversas. Estes scripts são fáceis de escrever, pois simplesmente
utilizam as informações exibidas pelo comando "sensors". Um exemplo é o pequeno script a seguir, que gera
um arquivo chamado "/tmp/cpu" e o atualiza a cada dois segundos com a temperatura do processador. O
texto deste arquivo poderia ser exibido em uma barra do Superkaramba (ou em um plasmóide do KDE 4) ou
postado em uma página web, por exemplo.

while [ 1 = 1 ]; do
sensors | grep 'temp:' | sed -r 's/ +/ /g' | cut -d " " -f2 > /tmp/cpu
sleep 2
done
Outra forma de acompanhar a temperatura (que funciona em muitas placas e também notebooks que
não são compatíveis com o lm-sensors) é usar o comando "acpi -V", que mostra informações sobre o status
da bateria e também a temperatura do processador e da placa-mãe, como em:

$ acpi -V

Battery 1: charged, 100%


Thermal 1: active[2], 62.0 degrees C
Thermal 2: ok, 49.0 degrees C
Thermal 3: ok, 31.0 degrees C
AC Adapter 1: on-line
Veja que neste caso o notebook tem três sensores de temperatura: para o processador, chipset da
placa-mãe e HD.

527
Com relação à bateria, você pode encontrar algumas informações interessantes também dentro da
pasta "/proc/acpi/battery/". Dentro da pasta, você encontra subpastas para cada bateria disponível e, dentro
de cada uma, o arquivo de texto "info". Você pode listar todos de uma vez usando o comando:

$ cat /proc/acpi/battery/*/info

present: yes
design capacity: 3788 mAh
last full capacity: 3788 mAh
battery technology: rechargeable
design voltage: 10800 mV
design capacity warning: 190 mAh
design capacity low: 38 mAh
capacity granularity 1: 100 mAh
capacity granularity 2: 100 mAh
model number: Primary
serial number: 57353 2005/03/19
battery type: LIon
OEM info: Hewlett-Packard

Pela saída do comando, você pode ver que o notebook do exemplo usa uma bateria Li-Ion e que a
bateria está em bom estado, já que na última carga ela atingiu a carga máxima. Quando a bateria começa a
ficar viciada, a carga máxima atingida vai ficando cada vez mais abaixo da máxima, fator que é acompanhado
por uma redução ainda maior na autonomia. Por estas informações você tem como verificar a saúde da
bateria sem precisar ficar carregando e descarregando para cronometrar o tempo de autonomia.

Todas essas informações são mostradas através de funções do ACPI, por isso é indispensável que o
kernel ofereça um bom suporte ao seu modelo. Se você desativou o ACPI usando o "acpi=off" (ou similar)
nas opções de boot, ou se está usando uma versão antiga do kernel que não oferece suporte ao seu modelo,
você vai apenas receber um "present: no".

Outra observação é que no Ubuntu 8.10 (e em algumas outras distribuições), o gerenciador de bateria
do GNOME acaba matando o ACPI depois de algum tempo de atividade. O sintoma nesses casos é que o
medidor de bateria ao lado do relógio desaparece sozinho depois de algum tempo.

A solução nesses casos é remover o gerenciador e passar a acompanhar a carga através de outro applet
(ou simplesmente usando o "acpi -V"):

# apt-get remove gnome-power-manager

Além de usar os sensores do ACPI, é possível acompanhar a temperatura do HD através do


"hddtemp". Ele é um pacote extremamente pequeno, que está disponível na maioria das distribuições. No
Debian você pode instalar via apt-get:

# apt-get install hddtemp

Com ele instalado, use o comando "hddtemp" para checar a temperatura do HD desejado, como em:

$ hddtemp /dev/sda

/dev/sda: SAMSUNG SP2504C: 43°C

Muitos programas de monitoramento, como o Gkrellm e vários widgets do KDE 4 (e temas do


Superkaramba, no caso do KDE 3.5.x) são capazes de acompanhar o relatório do hddtemp, exibindo a
temperatura em tempo real.

USANDO O NOTEBOOK COMO SEGUNDO MONITOR

Hoje em dia, muito se fala sobre o uso de vários monitores e o possível ganho de possibilidade que
uma área de trabalho mais espaçosa pode fazer. A ideia de usar vários monitores não é nada nova: o recurso é
suportado desde versões muito antigas do Xfree, através do Xinerama e, no mundo Windows, está disponível
desde o Windows 98.

528
Entretanto apenas recentemente, com a vertiginosa queda nos preços dos monitores de LCD e a
maior disponibilidade de placas de vídeo com suporte a twin-view ou dual-head, é que a ideia começou a
pegar. Além de usar dois monitores, outra alternativa é usar seu notebook como segundo monitor, o que
acaba sendo muito mais simples, já que você não precisa gastar nada.

Quase todo mundo que utiliza um notebook possui também um desktop em casa ou no trabalho.
Quase sempre, os dois são vistos como computadores separados, que você usa em situações diferentes.
Entretanto, é possível criar uma função muito mais ativa para o notebook, usando-o como segundo monitor
para o desktop. Essa dica permite tanto que você use seu notebook e o desktop simultaneamente quanto que
aproveite notebooks antigos, utilizando-os como monitores adicionais.

A base de tudo é o Synergy, sobre o qual falei no livro de redes. Ele permite que você controle vários
PCs simultaneamente, com o cursor do mouse (e o foco) do teclado circulando livremente entre eles,
exatamente como se fossem dois monitores ligados ao mesmo PC. Para usá-lo, é necessário apenas que os
dois estejam ligados em rede.

Como ele está disponível nos repositórios de todas as principais distribuições, a instalação é bastante
simples, basta instalar o pacote "synergy" usando o gerenciador de pacotes:

# apt-get install synergy

O Synergy possui também uma versão para Windows, o que o torna uma opção bem democrática, já
que permite que você use Linux no desktop e Windows no notebook (ou vice-versa) e continue conectando
os dois da mesma maneira. Ela está disponível no http://synergy2.sourceforge.net/ onde você pode
encontrar também os tradicionais pacotes com o código-fonte.

Configurar o Synergy é bastante simples, você precisa apenas criar o arquivo ".synergy.conf" dentro
do diretório home (ou o arquivo "/etc/synergy.conf", como preferir), especificando os nomes dos dois PCs e
as posições das telas. Use este modelo de configuração, substituindo apenas os nomes e o endereço IP do
notebook:

# /home/$USER/.synergy.conf
# Configuração do synergy para 2 micros

section: screens
desktop:
notebook:
end

section: links
desktop:
right = notebook
notebook:
left = desktop
end

section: aliases
desktop:
192.168.1.22
notebook:
192.168.1.23
end

section: options
switchCorners = all
switchCornerSize = 50
switchDelay = 200
heartbeat = 5000
end
Como pode ver, o arquivo começa listando os nomes dos dois micros (como definido na configuração
da rede) e, em seguida, especifica que o notebook está à direita (right) do desktop e que o desktop está à

529
esquerda (left) do notebook. Essa informação é necessária para que o Synergy consiga controlar a transição
do mouse.

A seção "options" no final contém opções adicionais, que costumo utilizar. A "switchCornerSize =
50" cria uma barreira nos cantos da tela, evitando chaveamentos acidentais quando você precisar clicar no
botão de fechar em janelas maximizadas. O "switchDelay = 200" também contribui para evitar chaveamentos
acidentais, impondo um delay de 200 ms à transição do mouse, enquanto o "heartbeat = 5000" faz com que o
Synergy monitore a conexão, encerrando-a caso o notebook seja desligado ou desconectado da rede.

O arquivo de configuração é criado apenas no desktop. Não é necessário fazer nenhuma configuração
no notebook, apenas instalar o pacote do Synergy.

Para ativar a conexão, execute no desktop (como usuário, não como root) o comando:

$ synergys --daemon --restart

No notebook, execute o "synergyc" (o cliente do Synergy) especificando o endereço do desktop, ao


qual ele vai se conectar:

$ synergyc --daemon --restart 192.168.1.22

As opções "--daemon --restart" nos dois comandos fazem com que o Synergy rode em background e
reative a conexão automaticamente em caso de interrupção.

Se quiser encerrar a conexão manualmente, use o "killall synergys" (no desktop) ou o "killall synergyc"
(no notebook).

No GNOME, você encontra um utilitário para alterar a orientação da tela no "Sistema > Preferências
> Resolução de tela". Nas placas que suportam o recurso (como nos notebooks com chipsets Intel e da
nVidia) você tem a opção de girar a imagem para a esquerda ou para a direita, colocando-a em modo portrait:

Como pode imaginar, esse truque pode ser usado para que o notebook seja usado "virado", tirando
proveito da tela wide para exibir mais texto na vertical. Essa disposição é ideal ao utilizar o segundo monitor
para a janela do editor de textos (ou para ler arquivos em PDF), pois você pode visualizar uma página inteira
na tela:

530
Para que o Synergy seja inicializado durante o boot, crie uma entrada para o comando no "Sistema >
Preferências > Sessões > Programas iniciais" (se você usa o GNOME) ou coloque um ícone de atalho dentro
da pasta "/home/nome/.kde/Autostart" (no KDE).

Configurando o desktop para executar o "synergys --daemon --restart" e o notebook para executar o
"synergyc --daemon --restart 192.168.1.22", a conexão entre os dois será feita de maneira automática quando
o notebook estiver conectado na rede.

É interessante também que você crie ícones de atalho no desktop, para forçar a conexão em casos
onde ela é perdida por falhas na rede, ou em situações onde a conexão automática está demorando mais do
que o esperado.

Nesse caso, os comandos são, respectivamente, "killall synergys; synergys --daemon --restart" e "killall
synergyc; synergyc --daemon --restart 192.168.1.22". O "killall" é necessário para que a instância do Synergy
que foi aberta durante o boot seja fechada antes de ativar a nova conexão.

531
A área de transferência funciona perfeitamente entre os dois micros, permitindo que você copie
URLs, trechos de texto e outras informações entre os dois facilmente. Fica faltando apenas uma forma
simples de transferir arquivos entre os dois.

A maneira mais prática de transferir arquivos entre os dois é simplesmente usar o SSH. Para isso, é
necessário apenas ativar o servidor SSH no notebook, instalando o pacote "openssh-server":

# apt-get install openssh-server

O script de pós-instalação do pacote ativará o serviço automaticamente (o script responsável por ele é
o "/etc/init.d/ssh"), fazendo com que ele passe a ser inicializado durante o boot.

A partir do desktop, acesse o "sftp://usuario@endereco", como em "sftp://gdh@192.168.1.23". Isso


faz com que o gerenciador de arquivos abra uma conexão SFTP e acesse os arquivos através dela, como se
estivesse acessando um compartilhamento de rede. O "sftp://" é suportado tanto pelo Nautilus quanto pelo
Konqueror (onde substituiu o "fish://", usado em versões antigas).

Abrindo duas abas (ou dividindo a janela em duas, no caso do Konqueror), você pode arrastar
rapidamente os arquivos de um PC para o outro, como se fossem duas pastas no HD:

O Synergy funciona bem também através de redes wireless, o que permite que o sistema funcione de
maneira bastante transparente para quem usa o NetworkManager para gerenciar a rede. Configurando o
NetworkManager para se conectar à rede wireless quando ela estiver disponível e configurando o sistema para
ativar o Synergy durante o boot, ele passará a funcionar "sozinho", estabelecendo a conexão entre o desktop e
o notebook sempre que você estiver dentro do alcance da rede. Seu único trabalho fica sendo colocá-lo sobre
a mesa.

Ele utiliza a porta 24800 (TCP) por default. Caso esteja usando um firewall, não se esqueça de mantê-
la aberta. Não existe problema em usar PCs com diferentes distribuições Linux, ou mesmo misturar micros
com Windows e Linux. A única observação é que você deve procurar usar sempre versões similares do
Synergy, para evitar problemas inesperados.

Em caso de problemas com a conexão, experimente substituir o "--daemon" nos comandos por "-f"
(como em "synergys -f --restart") e executá-los em um terminal visível. Isso faz com que ele exiba as
mensagens de conexão na tela, permitindo localizar os problemas.

Se ele retornar um erro como "WARNING: synergys.cpp,505: cannot listen for clients: cannot bind
address: Address already in use", por exemplo, significa que já existe uma instância do synergy ativa de um
teste anterior. Nesse caso, basta finalizá-la usando o "killall", ou usando o gerenciador de processos.

Concluindo, existe também uma interface gráfica para o Synergy for Linux, o QuickSynergy, que você
pode instalar usando o gerenciador de pacotes, como em:

# apt-get install quicksynergy

532
Ele é muito mais simples de usar, pois você precisa apenas incluir o nome e o endereço IP do
notebook, indicando a posição dele em relação ao desktop e clicar no executar. No notebook, você faria o
mesmo, indicando o nome ou IP do desktop na aba "usar":

As desvantagens são que ele não permite especificar parâmetros adicionais (como as bordas e o tempo
de espera antes de alternar entre as telas que adicionei no modelo de configuração) e que ele não oferece a
opção de estabelecer a conexão automaticamente, como fizemos ao criar o atalho para o comando. Por outro
lado, ele é bastante prático para criar arranjos rápidos, onde você quer apenas estabelecer a conexão da forma
mais rápida possível.

USANDO DOIS MONITORES EM PLACAS NVIDIA

Usar dois monitores pode aumentar bastante a sua produtividade, já que permite que você mantenha a
janela do aplicativo em que está trabalhando maximizada no monitor principal e abra janelas com funções
secundárias (navegador, IM, etc.) no segundo monitor. O fato de não precisar mais ficar alternando entre as
janelas acaba fazendo uma grande diferença, permitindo que você se concentre melhor no que está fazendo.

Para quem trabalha com gráficos, o segundo monitor oferece outra possibilidade interessante, que é
manter a imagem em que se está trabalhando no monitor principal e mover todas as barras de ferramentas
para o secundário. Ao usar uma VM, ou acessar outra máquina usando o VNC/desktop/NX, você pode usar
o segundo monitor para a janela referente à segunda máquina e assim por diante.

Embora pouco usado (o efeito é bastante estranho) é possível também maximizar as janelas de forma
que elas ocupem a área dos dois monitores, como se fossem uma única tela.

Você pode inclusive combinar o uso dos dois monitores com o uso do Synergy (que abordei em
matérias anteriores), combinando os dois monitores com o notebook ou netbook:

533
Tradicionalmente, para usar dois monitores era necessário usar duas placas de vídeo, o que tornava a
configuração problemática, já que você quase sempre precisava encontrar alguma placa de vídeo PCI antiga,
para usar em conjunto com a placa AGP. Entretanto, com o advento do PCI Express e das placas dual-head
(com suporte nativo a dois monitores), a configuração se tornou muito mais simples.

Hoje em dia, praticamente todas as placas offboard da nVidia oferecem suporte ao uso de dois
monitores, graças ao TwinView:

534
No Windows, a configuração é elementar, já que basta ativar o segundo monitor nas propriedades do
vídeo. No Linux, a configuração também é simples, mas possui algumas peculiaridades.

Como as placas atuais utilizam um conector VGA e um DVI, ou dois conectores DVI e a maioria dos
monitores de baixo custo ainda utilizam conectores VGA analógicos, o primeiro passo é obter o adaptador
para o segundo monitor. Hoje em dia eles são bastante baratos (os adaptadores genéricos custam na faixa dos
25 reais e você pode encontrar por menos de 5 dólares na dealextreme ou no ebay) mas podem ser um pouco
difíceis de encontrar.

Ao comprar, certifique-se de que o adaptador possui os pinos 8, C1, C2, C3, C4 e C5, que são
justamente os pinos que transmitem o sinal analógico:

Existem no mercado alguns adaptadores DVI-D, que possuem o mesmo formato, mas não usam os 4
pinos. Naturalmente, eles não servem no cosso caso.

Para melhores resultados, o ideal é sempre utilizar dois monitores iguais, já que é quase impossível
conseguir obter exatamente o mesmo juste de cor em dois monitores de marcas diferentes. Entretanto, se
você não se importar da imagem no segundo monitor ficar um pouco mais azul, ou um pouco menos nítida
que no primeiro, é perfeitamente possível usar dois monitores diferentes, inclusive combinando monitores de
diferentes resoluções.

Depois de ligar o segundo monitor, certifique-se de que você está utilizando uma versão recente do
driver da nVidia. Se por acaso estiver usando o driver "nv", instale o driver da nVidia (disponível no

535
http://www.nvidia.com/object/unix.html) antes de continuar, já que o driver nv não oferece suporte ao
TwinView.

Para ativar a configuração, você tem duas opções. Para quem gosta de arquivos de configuração, a
opção mais simples é abrir o arquivo "/etc/X11/xorg.conf" e modificar a seção "device", deixando-a como
nesse exemplo:

Section "Device"
Identifier "NVIDIA"
Driver "nvidia"
Option "TwinView" "true"
Option "MetaModes" "1280x1024,1280x1024"
Option "SecondMonitorHorizSync" "30-81"
Option "SecondMonitorVertRefresh" "56-75"
Option "TwinViewOrientation" "RightOf"
EndSection
As opções mais importantes são o Driver "nvidia" (que ativa o uso do driver 3D) e a Option
"TwinView" "true" (que ativa o uso do TwinView).

A linha Option "MetaModes" "1280x1024,1280x1024" indica as resoluções que serão usadas nos dois
monitores. Ao usar monitores de resoluções diferentes, é aqui que você indica a resolução do segundo
monitor, como em: Option "MetaModes" "1280x800,1024x768".

A linha Option "TwinViewOrientation" "RightOf" indica a posição do segundo monitor em relação


ao primeiro, orientando o cursor do mouse. O "RightOf" indica que o segundo monitor está à direita do
primeiro, mas são suportadas também as opções:

"LeftOf": O segundo monitor está à esquerda.


"Above": Está acima
"Below": Abaixo
"Clone": O segundo monitor exibe apenas uma cópia da imagem do primeiro. Essa opção é útil para
exibir a imagem em uma TV ou em um projetor.
As opções "SecondMonitorHorizSync" e "SecondMonitorVertRefresh" "56-75" indicam as taxas de
atualização suportadas pelo segundo monitor (essa configuração do exemplo é adequada à maioria dos
monitores de 17"). Ela é na verdade opcional, pois as versões do X são capazes de detectar as taxas
suportadas pelo segundo monitor automaticamente. Se você não souber as taxas usadas, comente as duas
linhas para que o X detecte sozinho o segundo monitor.

Para quem não gosta de configuração manual, a segunda opção é usar o comando "nvidia-xconfig --
twinview" como root, deixando que o configurador da nVidia gere a configuração automaticamente:

# nvidia-xconfig --twinview

A configuração pode ser também editada posteriormente usando o "nvidia-settings" que é instalado
juntamente com o driver 3D:

536
Depois de gerada a configuração, reinicie o X para que ela entre em vigor. Inicialmente, você notará
um comportamento estranho, com o wallpaper esticado e as janelas sendo divididas entre os dois monitores
ao serem maximizadas. Isso acontece por que ainda não ajustamos a configuração do gerenciador de janelas.

Se estiver usando o KDE 3.x, acesse a opção "Periféricos > Tela > Múltiplos Monitores" dentro do
Kcontrol e marque todas as opções. :

É interessante marcar também a opção "Área de Trabalho > Comportamento da Janela > Movendo >
Permitir que as janelas maximizadas sejam movidas/redimensionadas", que permite que você mova as janelas
maximizadas entre os dois monitores. Sem ela, você precisa desmaximizar as janelas, mover e depois
maximizar novamente, o que é realmente imprático.

537
Se estiver usando o KDE 4, a configuração vai dentro da opção "Tela" do Systemsettings e, ao usar o
Gnome, no "Sistema > Preferências > Vídeo".

Dois desktops: Concluindo, é possível também fazer com que os dois monitores exibam dois
desktops separados, cada um com sua própria barra de tarefas e um conjunto próprio de aplicativos abertos.
Esse modo é mais complicado de configurar que o TwinView e oferece a desvantagem de não permitir mover
as janelas entre os monitores.

Entretanto, alguns preferem esse modo justamente devido à essa separação. Se quiser testar, faça um
backup do arquivo "/etc/X11/xorg.conf" com a configuração do TwinView e gere outro a partir da
configuração original.

Para começar, é preciso duplicar a seção "Device" do arquivo, como nesse exemplo:

Section "Device"
Identifier "Card0"
BusID "PCI:1:0:0"
Driver "nvidia"
Screen 0
EndSection

Section "Device"
Identifier "Card1"
BusID "PCI:1:0:0"
Driver "nvidia"
Screen 1
EndSection
Veja que a segunda seção usa um identificador diferente (Card1) e especifica o segundo monitor
(Screen 1) em vez do primeiro.

A opção BusID "PCI:1:0:0" é necessária e indica o endereço de hardware usado pela placa (você pode
checá-lo através da saída do comando "lspci"). Se você está usando uma placa PCI Express espetada no
primeiro slot x16 da placa mãe, o endereço será sempre o "PCI:1:0:0", como no exemplo. Note que as duas
seções especificam o mesmo endereço, já que os dois monitores estão espetados na mesma placa.

Em seguida, é preciso duplicar também a configuração do monitor. Se os dois monitores forem iguais
(ou suportarem as mesmas taxas de atualização), você pode simplesmente duplicar a seção, mudando apenas
o identificador, como em:

Section "Monitor"
Identifier "Monitor0"
VendorName "SAM"
ModelName "SAM011e"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0 Option "DPMS" "true"
EndSection

Section "Monitor"
Identifier "Monitor1"
VendorName "SAM"
ModelName "SAM011e"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0 Option "DPMS" "true"
EndSection
É preciso também criar uma segunda seção "Screen" e configurá-la para utilizar a segunda
configuração da placa e o segundo monitor, como em:

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24

538
Option "hw_cursor"
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
DefaultDepth 24
Option "hw_cursor"
SubSection "Display"
Depth 24
Modes "1280x1024"
EndSubSection
EndSection
Concluindo, fica faltando apenas editar a seção "ServerLayout" no início do arquivo, especificando as
duas telas e a posição de cada uma em relação à outra:

Section "ServerLayout"
Identifier "Xorg"
Screen 0 "Screen0" leftOf "Screen1"
Screen 1 "Screen1" rightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Como pode ver, a configuração é mais complicada que a do TwinView e o resultado não é tão
interessante. Se você gostou do TwinView, melhor simplesmente ficar com ele. :)

539
CAPÍTULO 7: FEDORA

O Red Hat Desktop foi uma das primeiras distribuições Linux e foi também a mais usada até 2003,
quando a Red Hat pegou todos de surpresa, anunciando que descontinuaria o sistema, concentrando os
esforços no Red Hat Enterprise (o braço comercial da distribuição, destinado ao uso em empresas) e nos
programas de suporte e certificação que eram (e continuam sendo) os grandes responsáveis pelo faturamento
da empresa.

Embora o Red Hat Desktop fosse vendido em caixinhas, a distribuição em lojas de varejo era muito
problemática (já que o sistema era atualizado rapidamente e era quase impossível fazer com que as lojas
atualizassem os estoques na mesma velocidade) e, descontados todos os custos com produção e transporte, a
renda obtida com as vendas sempre foi muito pequena. Estes mesmos problemas foram enfrentados por
outras distribuições que apostaram na venda de caixinhas, o que explica o por que desse sistema de
distribuição ter sido quase que inteiramente descontinuado, em favor dos downloads, venda de CDs via web
e prestação de serviços em geral.

A descontinuidade do Red Hat Desktop levantou sérias dúvidas sobre a própria viabilidade do uso de
Linux em desktops, mas elas foram rapidamente dirimidas com o anúncio do Fedora, que assumiu o posto de
legítimo herdeiro do Red Hat Desktop, passando a ser desenvolvido por uma comunidade, com o apoio e
contribuições dos desenvolvedores da Red Hat.

A ideia inicial do Fedora foi a de diminuir o custo de desenvolvimento da distribuição para a Red Hat
e, ao mesmo tempo, incentivar contribuições da comunidade, fazendo com que o projeto pudesse crescer.

O motivo de não continuar usando o nome "Red Hat" para a nova distribuição tem mais a ver com
marketing. A marca "Red Hat" passou a ser usada apenas nos produtos comerciais, como uma forma de
incentivar a compra, enquanto o Fedora ficou como o braço comunitário, desvinculado das atividades
comerciais da empresa.

Até a versão 6, o Fedora era chamado de "Fedora Core". Isso acontecia devido à
separação dos pacotes em dois repositórios: o "Core", que incluía os pacotes principais, mantidos
por desenvolvedores da Red Hat e o "Extras", mantido por voluntários. As mídias de instalação
incluíam apenas os pacotes do repositório Core (os pacotes do Extras ficavam disponíveis para
instalação manual através do gerenciador de pacotes), daí a distribuição ser chamada de "Fedora
Core". A partir da versão 7, os dois repositórios foram unidos e o Fedora passou a se chamar apenas
"Fedora", dando fim à questão.

AS CARACTERÍSTICAS BÁSICAS

O ambiente de trabalho do Fedora é bastante similar ao do Ubuntu, já que ambas as distribuições são
baseadas no GNOME (e, normalmente, utilizam versões bastante próximas do ambiente) e utilizam o visual
clássico, com duas barras.

As versões recentes do Fedora também utilizam o NetworkManager para a configuração da rede e,


além dele, você notará que o Fedora possui diversas outras ferramentas em comum com o Ubuntu, o que
torna as duas distribuições ainda mais parecidas na superfície. Isso acontece por que a maioria destes
utilitários, incluindo o próprio NetworkManager, foram originalmente desenvolvidos pelas equipes do Red
Hat e do Fedora e, a partir daí, incorporados em outras distribuições que utilizam o GNOME, incluindo o
próprio Ubuntu.

540
Mesmo que você não use o Fedora, tem muito a agradecer aos desenvolvedores, já que muitas das
inovações que são hoje usadas em outras distribuições para adicionar recursos ou facilitar a nossa vida, foram
criadas ou aperfeiçoadas graças ao trabalho deles.

Isso mostra como, apesar de não possuir uma base de usuários tão grande, o Fedora é uma
distribuição bastante importante para o crescimento do sistema, servindo como um celeiro para o
desenvolvimento de muitos dos componentes que mais tarde são incorporados em outras distribuições.

Uma das principais características do Fedora é o frenético ritmo das atualizações. O sistema não é
apenas atualizado a cada seis meses, mas inclui sempre um conjunto formidavelmente atualizado de pacotes.
Naturalmente, isso também tem seu preço, já que usar as versões mais recentes de cada software implica em
ter acesso também a todos os novos bugs e problemas.

Um bom exemplo são os problemas recorrentes com a instalação dos drivers da nVidia, causados pela
inclusão de versões muito recentes do X.org, com as quais o driver ainda não é compatível. Em outras
distribuições, os desenvolvedores optariam por fazer o downgrade da versão do X.org, para preservar a
compatibilidade, mas no caso do Fedora a decisão é quase sempre a de incluir a última versão, do X.org, custe
o que custar.

Outra característica digna de nota é que (excluindo as personalizações visuais e alguns utilitários
próprios), a equipe do Fedora opta quase sempre por manter as características originais dos pacotes, como
disponibilizados pelos desenvolvedores originais. Com isso, uma nova configuração que se torna default no
X.org (por exemplo), passa automaticamente a ser utilizada também no Fedora, mesmo que em muitos casos
seja alguma alteração polêmica, como a remoção do arquivo xorg.conf, ou a desativação do
Ctrl+Alt+Backspace.

Em resumo, se você quer apenas um desktop estável, que possa utilizar por muito tempo, instalando
somente correções de segurança e pequenas atualizações, o Ubuntu LTS, o Debian estável ou o CentOS
seriam opções mais recomendáveis. Entretanto, se você gosta de fortes emoções, não tem medo de
problemas e quer ter acesso a novas versões dos pacotes e novos recursos antes que eles estejam disponíveis
em outras distribuições, então o Fedora é para você.

Aqui está a lista de links rápidos:

Site Oficial: http://fedoraproject.org/


Download: http://fedoraproject.org/pt_BR/get-fedora
Documentação: http://docs.fedoraproject.org/
Wiki: http://fedoraproject.org/wiki/
Blogs: http://planet.fedoraproject.org/
Comunidade no Brasil: http://www.projetofedora.org/

Além das versões oficiais, o Fedora possui também uma versão instável, o Rawhide, que serve como
um campo de provas para todas as atualizações e mudanças que farão parte da próxima versão. O Rawhide
tem como única pretensão oferecer as versões de desenvolvimento dos pacotes, sem nenhuma garantia de
estabilidade e nem mesmo de preservação dos dados.

Não é impossível que uma atualização nos módulos dos sistemas de arquivos cause perda de dados,
por exemplo. Devido a isso, os próprios desenvolvedores brincam dizendo "Rawhide eat children" (Rawhide
devora criancinhas), levando as reclamações na esportiva. A recomendação geral é que você o use em um
segundo PC ou dentro de uma VM, nunca em seu micro principal.

Embora o Fedora seja uma excelente distribuição, o esforço em lançar o sistema em intervalos
regulares, "custe o que custar", tem feito com que muitas das versões sejam lançadas com muitos bugs
relacionados aos pacotes desktop, o que ao longo dos anos afugentou muitos dos usuários, erodindo a
popularidade do sistema.

A maioria dos usuários do Fedora são entusiastas, administradores de sistemas ou desenvolvedores


(um grupo bastante vocal e importante, mas pequeno em número), que utilizam o sistema justamente para ter
acesso a versões atualizadas dos pacotes, pesquisando soluções para os problemas conforme eles aparecem.
Isso contrasta com o que temos em distribuições como o Ubuntu, por exemplo, que é utilizado
predominantemente por iniciantes e usuários domésticos.

541
Paradoxalmente, o Fedora é uma das distribuições mais usadas em servidores, sobretudo em serviços
de hospedagem. O principal motivo é que os pacotes relacionados a servidores recebem mais atenção e são
sempre muito melhor testados. Parte deste enfoque tem origem na própria Red Hat, que contribui de maneira
ativa com o Fedora, mas prioriza o desenvolvimento das funções relacionadas a servidores, que são
posteriormente incluídas no red Hat Enterprise Server, que é surpreendentemente popular em servidores
corporativos.

Os pacotes do GNOME e dos demais aplicativos desktop são primariamente mantidos por
voluntários, um esforço que depende de contribuições e reports de bugs por parte dos usuários. Embora o
sistema de colaboração seja bem organizado e os desenvolvedores sejam bastante competentes, ele carece da
"força bruta" de uma comunidade maior. Isso acaba fazendo com que muitos problemas passem
despercebidos e precisem ser corrigidos através de atualizações depois que a versão oficial já foi lançada.

Quando os problemas são finalmente corrigidos, os desenvolvedores começam novamente o rápido


ciclo de atualizações, incluindo uma longa lista de recursos experimentais e recomeçando o interminável
processo de quebra e reparo. Definitivamente, não é para os fracos de espírito. :)

Para quem está em busca de uma versão "estável" do Fedora, uma opção é o CentOS
(http://www.centos.org/). Ele não é um derivado do Fedora, mas sim uma distribuição comunitária gerada a
partir do código-fonte do Red Hat Enterprise Linux (RHEL).

Muito embora o RHEL seja um produto comercial, vendido em conjunto com contratos de suporte,
todo o código-fonte da distribuição está disponível, o que permite gerar uma versão "quase idêntica" do
sistema simplesmente compilando os pacotes e montando as imagens de instalação, um trabalho que é feito
de maneira muito competente pela equipe do CentOS.

A diferença central entre o Fedora e o RHEL é que o Fedora é uma distribuição bleeding-edge, que
inclui todas as novidades e muda radicalmente de uma versão para a outra, enquanto o RHEL segue um
caminho muito mais conservador, com lançamentos mais espaçados e um exaustivo processo de teste de
novos componentes.

De uma forma geral, podemos dizer que o Fedora é uma espécie de "campo de provas" para o RHEL,
onde novas funções são testadas. Em geral, os novos recursos introduzidos no Fedora são incorporados na
versão seguinte do RHEL e continuam sendo usados por um período muito longo, até que uma nova versão
seja disponibilizada. Ao compará-los, é impossível deixar de fazer a analogia com as versões do Debian, onde
temos o Sid, que é a eterna versão instável, e as versões estáveis, que são lançadas regularmente.

Se você está interessado na estabilidade do Red Hat Enterprise, ou se quer simplesmente uma versão
mais previsível do sistema, que você possa usar em seu desktop de trabalho sem sustos, o CentOS seria a
opção mais indicada dentro da família.

INSTALAÇÃO E O ANACONDA

Assim como no caso do Mandriva, a versão tradicional do Fedora ocupa um DVD inteiro, mas
existem também duas opções de live-CDs, uma com o GNOME e outra com o KDE.

O Fedora utiliza o Anaconda, que (com as devidas atualizações) é o mesmo instalador usado desde as
primeiras versões do sistema. Ele é um instalador bastante robusto e fácil de usar, que peca apenas pelo uso
do antiquado Disk Druid para o particionamento.

Assim como em outras distribuições, você pode incluir opções para o kernel na linha de boot, de
forma a solucionar problemas de compatibilidade, como a "acpi-off", "noapic", "all-generic-ide", "irqpoll" e
"outras", como em:

linux noapic irqpoll


Está disponível também a opção "text" que executa a versão em modo texto do instalador, que acaba
sendo útil ao instalá-lo em máquinas antigas ou em servidores.

O instalador começa se oferecendo para realizar um teste da mídia de instalação e, em seguida,


pergunta sobre a linguagem do sistema (o português do Brasil está disponível desde as primeiras versões) e o

542
layout do teclado, seguido pela definição do nome da máquina, ajuste do fuso-horário e definição da senha de
root.

Durante a instalação, você pode ver o log de mensagens geradas pelo instalador pressionando
"Ctrl+Alt+F3" e ter acesso a um terminal de texto (que pode ser usado para solucionar problemas)
pressionando "Ctrl+Alt+F2".

Caso você esteja instalando o sistema em um HD ainda não particionado (ou caso, por qualquer
motivo, o particionador não consiga ler a tabela de partição do HD), ele se oferecerá para "inicializar o disco"
(ou seja, criar uma nova tabela de partições) o que, naturalmente, apagará dados anteriormente gravados no
HD.

Em seguida, temos o particionamento, onde você pode escolher entre permitir que o Fedora
simplesmente use todo o HD, destruindo as partições existentes (útil para fazer uma instalação rápida em
uma máquina nova); substituir uma distribuição Linux já instalada; redimensionar a partição do sistema
instalado e fazer uma instalação em dual-boot (Shrink current system); fazer a instalação usando um trecho de
espaço não particionado previamente reservado (Use free space) ou criar um layout personalizado:

543
Ao usar qualquer uma das opções automáticas, é importante marcar a opção "Rever e modificar o
layout do particionamento", que permite ajustar o particionamento sugerido pelo instalador antes de aplicá-lo.

O Fedora utiliza o LVM por padrão, criando um único volume lógico, englobando todo o espaço
disponível. Por default, são criadas apenas duas unidades, uma para o diretório root e outra para o swap, mas
você pode criar outros volumes (usando um volume separado para o diretório home, por exemplo), da
mesma maneira que faria ao utilizar partições:

É usada também uma partição "/boot" separada, que fica fora do volume LVM, já que o grub não é
capaz de inicializar o sistema se o diretório "/boot" estiver dentro de um volume lógico.

544
A opção "Criptografar sistema", disponível na tela inicial, permite encriptar as partições dentro do
volume lógico usando o "dm_crypt", um sistema de encriptação com baixo overhead, que garante a segurança
sem causar uma redução muito grande no desempenho.

Ao marcar a opção, todo o sistema passa a ser armazenado em volumes criptografados (com exceção
da pequena partição de boot, que fica fora do LVM), incluindo não apenas o diretório home ou algumas
pastas específicas, mas realmente todas as pastas do sistema, incluindo até mesmo os arquivos temporários,
logs e swap. Ao criar os volumes manualmente, certifique-se de que a opção "Criptografar" está marcada (os
volumes encriptados aparecem com um cadeado).

Ao encriptar as partições, o instalador pedirá que você defina uma passphrase, que passará a ser
solicitada no início do boot. Muitos pensam que a passphrase funciona como uma espécie de senha, mas na
verdade ela é uma peça da chave criptográfica que é usada para acessar as partições. Sem a passphrase, a
chave fica incompleta e é impossível ler os dados. Este é também o motivo de ser virtualmente impossível
recuperar os dados dentro das partições caso a passphrase seja esquecida.

De volta ao particionamento, é importante enfatizar que o uso do LVM é apenas uma opção. Nada
impede que você crie um layout personalizado, utilizando partições convencionais. Nesse caso, basta criar a
partição raiz, swap e, opcionalmente, a partição home, como faria ao instalar qualquer outra distribuição. A
opção de encriptar as unidades também continua disponível:

A principal vantagem do LVM é a possibilidade de redimensionar os volumes, permitindo que eles


sejam expandidos para ocuparem o espaço de vários HDs, por exemplo. Isso é muito útil em servidores de
armazenamento, onde é preciso trabalhar com vários HDs e organizar o espaço de uma forma eficiente, mas
não é assim tão útil em um desktop, onde você raramente precisa alterar o particionamento depois que o
sistema já está instalado.

Outra observação é que, a partir do Fedora 11, o EXT4 passou a ser o sistema de arquivos default (o
Fedora foi, como de praxe, uma das primeiras distribuições a dar a cara à tapa e fazer a transição), mas você
pode chavear para o bom e velho EXT3 simplesmente acessando as propriedades das partições. O kernel
2.6.29 usado no Fedora 11 ainda não é capaz de inicializar diretamente a partir de uma partição EXT4, mas
isso não é um problema ao utilizar o LVM, onde é usada uma partição separada para o diretório "/boot" de
qualquer maneira.

Concluído o particionamento, o próximo passo é a configuração do gerenciador de boot. Assim como


praticamente todas as outras distribuições atuais, o Fedora é capaz de detectar outros sistemas instalados no

545
HD e adicionar as entradas automaticamente, permitindo que você verifique e personalize a configuração
através do menu principal.

Clicando no "Alterar dispositivo", você tem acesso à opção de instalar o grub no primeiro setor da
partição, que é útil caso você já tenha outra distribuição instalada e queira inicializar o Fedora a partir dela, em
vez de substituir o gerenciador de boot:

A opção "Utilizar uma senha no gerenciador de inicialização" define uma senha administrativa, que é
solicitada pelo grub caso você tente acessar o prompt de edição (pressionando a tecla "C" na tela de boot), ou
inicializar o sistema em modo single-user.

Ela pode ser usada como um primeiro nível de segurança, uma medida para afastar curiosos, mas ela
não é efetiva por si só, já que basta alterar a configuração do Setup e dar boot usando um live-CD (ou um
pendrive) para ter acesso aos dados. Para ficar seguro, seria necessário combiná-la com o uso de encriptação.

O próximo passo é a configuração da rede, onde você tem as clássicas opções de especificar os
endereços manualmente, ou usar o DHCP. O Fedora inclui o NetworkManager, por isso, se você tem um
notebook e pretende usá-lo para gerenciar a rede wireless, pode simplesmente deixar as configurações como
estão e conectar na rede da forma usual.

Em seguida, temos a seleção dos pacotes, que é a principal vantagem de instalar usando o DVD. A
primeira tela oferece apenas três opções básicas, instalando os pacotes tradicionais para desktop (Escritório e
produtividade), ferramentas de desenvolvimento e/ou os pacotes para criar um servidor LAMP:

546
Entretanto, ao marcar o "Personalizar agora" você tem acesso ao menu completo, onde pode marcar
os pacotes individualmente. Normalmente, você marcaria o GNOME, KDE ou XFCE dentro da categoria
"Ambiente de trabalho", manteria as opções dentro do "Sistema básico" marcadas e ajustaria as demais seções
de acordo com os aplicativos que pretendesse utilizar, mas, na verdade, todas as categorias são opcionais.
Mesmo que você desmarque tudo, ainda terá uma instalação básica do sistema em modo texto.

Cada uma das opções é composta por um conjunto de pacotes. Selecionando a categoria e clicando no
"Pacotes opcionais", você tem acesso ao menu de seleção individual. Depois de selecionados os pacotes, o
sistema ficará um longo tempo calculando as dependências antes de prosseguir com a instalação. A demora
tem a ver com a maneira como o yum processa a metadata dos pacotes e é normal no caso do Fedora.

547
Depois de concluída a cópia dos arquivos e reiniciado o micro, é aberto um agente de configuração,
que conclui a instalação do sistema. Ele oferece as opções para criar a conta de usuário e ajustar as opções de
autenticação, ajustar a data e hora e, opcionalmente, enviar o perfil de hardware para a lista de
compatibilidade, o que fornece um feedback valioso para os desenvolvedores.

O "Usar autenticação de rede", dentro do assistente para a criação do usuário, esconde um conjunto
de opções avançadas, incluindo a autenticação em servidores LDAP e o uso de leitores de impressões digitais
para autenticação. Ao marcar o suporte ao leitor (presumindo que ele já seja suportado pelo sistema), você
pode definir a impressão digital no "Sistema > Preferências > Sobre mim" (gnome-about-me) após concluída
a instalação:

A opção de sincronizar o relógio usando um servidor NTP fica disponível na segunda aba do
assistente de data e hora. Por default, o Fedora utiliza servidores de NTP próprios, mas você pode adicionar
outros endereços manualmente:

548
É sempre interessante ativar o uso do NTP em qualquer máquina com acesso à web, para que você
não precise mais se preocupar em ajustar o horário do relógio. A principal observação é não marcar a opção
"Sincronizar o relógio do sistema antes de iniciar o serviço" (sobretudo em notebooks), pois ela faz com que
o sistema interrompa o boot para sincronizar o relógio, o que paralisa o boot quando a rede não está
disponível.

Outra dica é que o Anaconda oferece um modo de instalação remota, via VNC, que é bastante útil
quando você precisa instalar o sistema em um servidor ou em uma máquina que fica longe da sua mesa de
trabalho e não quer ter que ficar toda a instalação sentado na frente dela. Para ativá-lo, basta pressionar a tecla
"Tab" na tela de boot do CD e adicionar a opção "vnc" na linha de boot.

O instalador faz a tradicional pergunta sobre a verificação da mídia e passa em seguida para um
assistente de configuração da rede (você pode simplesmente usar o DHCP). Concluída a etapa inicial, ele
inicia o servidor VNC e informa o endereço da máquina, onde você pode se conectar para finalizar a
instalação:

A partir daí, você pode se conectar a partir de qualquer PC da rede usando um cliente VNC (até
mesmo em uma máquina Windows). No Linux, você pode usar o "vncviewer" via linha de comando, que
vem pré-instalado na maioria das distribuições, como em:

$ vncviewer 192.168.1.185:1

549
Na falta dele, você pode utilizar o Krdc, o Vinagre ou qualquer outro cliente de acesso remoto com
suporte ao protocolo.

Por default, a seção do VNC fica acessível sem senha, permitindo a conexão de qualquer um, uma
configuração feita para ser simples e não segura. Para especificar uma senha, adicione a opção
"vncpassword=minhasenha" na tela de boot, logo depois do "vnc".

Live-CDs e instalação via rede

Como de praxe, o Fedora é fornecido também em duas versões live-CD, uma delas com o GNOME e
a outra com o KDE. Similar ao que temos no Ubuntu, elas são versões pré-configuradas do sistema, que
podem ser usadas diretamente e também instaladas.

Os live-CDs também utilizam o Anaconda como instalador. A grande diferença em relação à versão
em DVD é que você não tem a opção de escolher quais pacotes serão instalados, com o instalador se
limitando a copiar o conjunto de pacotes incluído no CD. Eles também não suportam algumas das opções
avançadas de instalação, como o recurso de instalar remotamente via VNC.

A tela de boot dos live-CDs não oferece nenhuma opção de boot, mostrando apenas um contador de
tempo antes do início do boot automático. Para ter acesso ao menu de boot (que inclui a opção de fazer o
teste de memória ou inicializar a partir do HD), pressione a tecla ESC e, para ter acesso à linha com os
parâmetros de boot do kernel, pressione o Tab.

Os live-CDs do Fedora estão entre os com boot mais lento, o que faz com que muitos simplesmente
desistam de instalar o sistema, achando que ele continuará com o mesmo desempenho depois de instalado.
Entretanto, isso não poderia estar mais longe da verdade. Depois de instalado, o boot das versões recentes do
Fedora é bastante rápido (inferior a 30 segundos em muitas máquinas), graças ao Plymouth, incluído a partir
da versão 10.

Ele é um novo sistema de inicialização (sucessor do RHGB), que ataca o problema da demora na
inicialização em duas frentes. A primeira é a inicialização paralela de serviços, que permite que o sistema
inicialize serviços sem dependência múltipla simultaneamente, o que representa uma economia generosa de
tempo, já que a inicialização de muitos serviços depende de fatores externos (como receber uma resposta do
servidor DHCP, ou aguardar alguns segundos até que um dispositivo USB seja ativado), que não possuem
relação direta com o desempenho da máquina.

A outra frente é o readahead, um serviço que monitora os arquivos carregados durante a inicialização
do sistema, gerando um log que permite carregá-los de maneira mais eficiente nos próximos boots. A
inicialização de uma distribuição Linux demanda o carregamento de um volume muito grande de pequenos

550
arquivos (como arquivos de configuração em texto e pequenas bibliotecas), o que torna otimizações na
ordem de leitura e o pré-carregamento de arquivos especialmente efetivo.

Você pode evitar o lento boot do live-CD e ir diretamente para a instalação usando a opção "liveinst"
na linha de boot (pressione Esc e depois Tab para ter acesso à linha de opções). Ela faz com que o sistema
desative o carregamento do GNOME e dos demais componentes do sistema, carregando em seu lugar uma
seção pelada do X, rodando o instalador:

Assim como no caso do OpenSUSE, está disponível também uma imagem de instalação via rede, o
NetInstall (está disponível nos mirrors, junto com as outras imagens de instalação) que é uma imagem de
boot com apenas 167 MB, contendo somente o instalador e alguns dos pacotes básicos.

Todo o restante do sistema é baixado via web durante a instalação, o que faz com que ele seja uma
opção ao DVD para quem tem uma conexão rápida e precisa instalar em apenas uma máquina. Em vez de
perder tempo baixando os 4 GB do DVD, você pode baixar apenas os pacotes que for realmente instalar, o
que, na maioria dos casos, totaliza apenas 800 ou 900 MB de downloads:

Para usar o NetInstall sem complicação, o ideal é usar uma conexão compartilhada, com um servidor
DHCP ativo. Mesmo que você acesse usando um modem 3G ou outro tipo de conexão não-contínua, pode
usar outro PC para compartilhar a conexão e conectá-lo ao PC onde está instalando o Fedora usando um hub
ou um cabo cross-over. Com isso, o outro PC faz o trabalho pesado, enquanto o Fedora obtém a
configuração da rede automaticamente.

551
Como o download dos pacotes é feito no final da instalação (depois de particionar o HD, selecionar
os pacotes, etc.), você pode deixar a instalação correndo durante a noite (quando não precisará da conexão de
qualquer maneira) e finalizá-la no outro dia de manhã.

Outra dica é que você pode gravar as imagens de instalação do Fedora em pendrives usando o script
"livecd-iso-to-disk", que faz parte do pacote "livecd-tools". Ele pode ser instalado usando o yum, como em:

# yum install install livecd-tools

Se você não tiver outra máquina com o Fedora, pode simplesmente dar boot usando o live-CD e fazer
a instalação a partir dele. Com o pacote instalado, basta rodar o script, indicando a localização do arquivo .iso
e o device da primeira partição do pendrive onde ele será gravado, como em:

# livecd-iso-to-disk Fedora-11-i386-netinst.iso /dev/sdc1

A imagem do NetInstall é bastante prática nesse caso, já que ela é muito pequena, permitindo a
gravação em pendrives de praticamente qualquer capacidade. Entretanto, se você pretender gravar a imagem
em DVD, vai precisar de um pendrive de 4 GB.

Continuando, temos ainda os Fedora Spins, que são remasterizações do sistema desenvolvidas por
voluntários, incorporando diferentes recursos. Dois exemplos são o Live-XFCE (uma remasterização do live-
CD que utiliza o XFCE como ambiente de trabalho, no lugar do GNOME ou do KDE) e o Live-Games, que
inclui diversos jogos pré-instalados. Eles podem ser baixados no: http://spins.fedoraproject.org/

Você pode também desenvolver seu próprio Spin do Fedora, incluindo os pacotes que utiliza, ou
criando uma personalização destinada a um determinado nicho. A diferença entre fazer um Spin do Fedora e
criar alguma nova distribuição derivada é que os Spins preservam todas as características originais do Fedora,
incluindo as ferramentas de configuração, utilitários, uso dos repositórios e assim por diante, mudando
apenas o conjunto de pacotes incluídos na imagem.

Um Spin nada mais é do que uma instalação personalizada do sistema, que atende ao propósito de
oferecer um sistema modificado, sem com isso obrigar o usuário a se adaptar a uma nova distribuição. Você
pode ver mais detalhes sobre o projeto e consultar a lista dos Spins disponíveis no:
http://fedoraproject.org/wiki/Infrastructure/CustomSpins

MULTIMÍDIA E REPOSITÓRIOS ADICIONAIS

Uma observação importante com relação ao Fedora é que o sistema não inclui softwares não-livres ou
componentes cobertos por patentes, o que deixa de lado o suporte a arquivos AAC, MPEG-4 e até mesmo
MP3, sem falar na falta de suporte a flash e DVDs, uma política bem mais estrita do que a adotada no
Ubuntu, por exemplo. Com isso, uma instalação limpa do Fedora é virtualmente inútil em relação a
multimídia. Basicamente, as únicas coisas que você conseguirá ouvir são CDs de música e arquivos .wav.

As versões recentes do Fedora incluem o assistente do PackageKit, cuja função é monitorar a abertura
de arquivos e se oferecer para instalar os visualizadores para formatos de arquivos não-suportados. A ideia
seria que, ao tentar abrir um arquivo qualquer, ele verificasse qual é o aplicativo que oferece o melhor suporte
a ele e se oferecesse para baixá-lo automaticamente. Parece bom no papel, mas na prática não resolve o
problema dos formatos proprietários, simplesmente por que o PackageKit não tem informação sobre os
codecs para formatos proprietários e não sabe como baixá-los.

Como de praxe, a solução é instalar os pacotes manualmente, através do uso de repositórios


adicionais, mais especificamente, do RPM Fusion (http://rpmfusion.org/), que é a junção dos projetos
Dribble, Freshrpms e Livna, que no passado ofereciam repositórios separados.

Ele pode ser instalado de duas maneiras. A primeira, mais simples, é fazer a ativação diretamente
através do Firefox. Basta acessar o http://rpmfusion.org/Configuration e clicar no link referente à versão do
Fedora em uso. Use a opção de abrir o pacote usando o gerenciador de arquivos e confirme a senha de root
(e os avisos sobre a falta da assinatura GPG) para concluir a ativação:

552
O RPM Fusion é composto de dois repositórios separados: o "free", que é o repositório com pacotes
extras disponibilizados sob licenças livres e o "nonfree", que é o repositório com os codecs e componentes
proprietários em geral. É preciso ativar ambos.

A segunda opção é fazer a instalação via linha de comando, instalando os pacotes usando o "rpm -
Uvh". Nesse exemplo, os pacotes estão sendo instalados diretamente via web, mas você poderia também
baixá-los e instalá-los localmente:

# rpm -Uvh \
http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
# rpm -Uvh \
http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm

O que estes dois pacotes fazem, é simplesmente adicionar os arquivos de configuração referentes aos
dois repositórios dentro da pasta /etc/yum.repos.d/", similar ao que faríamos ao adicionar uma linha com
um novo repositório no arquivo "/etc/apt/sources.list" do Debian.

Com os pacotes instalados, você pode instalar o VLC, Mplayer e outros softwares desejados,
juntamente com os drivers da nVidia e outros pacotes restritos. O próprio Totem (que, assim como no
Ubuntu, é o player de mídia default) passará a perguntar sobre a instalação de codecs quando você tentar
abrir arquivos em formatos diversos, baixando os pacotes necessários a partir do RPM Fusion.

Para instalar o trio Mplayer/SMPlayer/VLC, basta usar o:

# yum install mplayer smplayer vlc

Você pode também instalar um "pacotão" de codecs, incluindo tanto os utilizados pelo Totem e
outros players baseados no GStreamer quanto pelo Xine e os outros players baseados nele usando o:

# yum install gstreamer-plugins-ugly gstreamer-plugins-bad \


gstreamer-ffmpeg xine-lib-extras-freeworld

Instalar esse conjunto de pacotes tem um efeito similar a instalar o "ubuntu-restricted-extras" no


Ubuntu.

Para os DVDs protegidos, precisamos (como sempre) do libdvdcss, que é disponibilizado através do
http://rpm.livna.org/, que continua disponível separadamente para oferecer este único pacote. Para instalar,
adicione o repositório seguindo as instruções da página e, em seguida, instale o pacote da forma usual:

# rpm -ivh http://rpm.livna.org/livna-release.rpm


# yum install libdvdcss

Ao instalar o Amarok ou o Audacious, é necessário instalar também os pacotes "amarok-extras-


nonfree" e/ou "audacious-plugins-nonfree-mp3", para que você tenha suporte a arquivos em MP3, como em:

553
# yum install amarok amarok-extras-nonfree audacious audacious-plugins-nonfree-mp3

O RPM Fusion não inclui o pacote "w32codecs", mas é possível instalar os codecs manualmente
baixando o arquivo "all-20071007.tar.bz2" disponível no:
http://www.mplayerhq.hu/MPlayer/releases/codecs/

Para instalar, basta descompactar o arquivo e copiar o conteúdo para dentro da pasta
"/usr/local/lib/codecs", que deve ter sido previamente criada. Com os arquivos no lugar, os players de mídia
passarão a localizar os arquivos automaticamente.

Para instalar o suporte a flash, acesse o http://get.adobe.com/br/flashplayer/ e baixe o pacote .rpm,


que é primariamente destinado à instalação no Fedora. Basta instalá-lo clicando sobre ele no gerenciador de
arquivos, ou usando o "rpm -Uvh pacote.rpm". O plugin é instalado na pasta "/usr/lib/flash-plugin" e um
link na pasta "/usr/lib/mozilla/plugins" é criado automaticamente.

A partir do Fedora 10, o sistema inclui uma instalação do Java da Sun por padrão, acompanhando a
mudança na licença de distribuição do software. Entretanto, o plugin para o Firefox não vem instalado por
padrão, o que você pode resolver instalando o pacote "java-1.6.0-openjdk-plugin" (note que o "1.6.0" é o
número da versão e pode variar de acordo com a versão do Fedora), como em:

# yum install java-1.6.0-openjdk-plugin

Você pode também fazer com que o Firefox passe a abrir arquivos em PDF (e diversos outros tipos
de arquivos) diretamente dentro da janela (em vez de em uma nova janela do Evince ou de outro aplicativo)
instalando o pacote "mozplugger":

# yum install mozplugger evince

A função dele é monitorar os arquivos carregados e abrí-los usando os aplicativos apropriados dentro
da própria janela do Firefox, tornando o processo mais transparente, sobretudo para novos usuários. Ele está
disponível também em outras distribuições, onde pode ser instalado através do gerenciador de pacotes.

GERENCIAMENTO DE PACOTES

As versões recentes do Fedora utilizam o PackageKit como gerenciador de pacotes e atualizações,


substituindo o Pirut que era encontrado em versões anteriores.

A interface de gerenciamento (o "gpk-application") é bastante simples, lembrando um pouco o


"gnome-app-install", encontrado no Ubuntu. Os pacotes são organizados em categorias, com um campo de
busca e algumas opções de filtros de exibição, que permitem exibir apenas os pacotes instalados ou apenas
pacotes com aplicativos gráficos, por exemplo:

554
Existe também uma função para configurar os repositórios no "Sistema > Fontes de programas", mas
o PackageKit se limita a mostrar os repositórios já configurados e permitir que você os ative ou desative, sem
entretanto oferecer opções para adicionar ou remover os repositórios, o que precisa ser feito manualmente:

O PackageKit é também o responsável pelas atualizações automáticas, na forma do "update-viewer",


disponível no "Sistema > Administração > Atualizar sistema". Ele é outro aplicativo bastante simples, que se
limita a exibir as atualizações disponíveis, sem muitas opções.

Tanto o gpk-application quanto o update-viewer são apenas interfaces para disponibilizar as funções.
O PackageKit propriamente dito é um daemon de sistema (o packagekitd), que recebe os comandos e executa
as operações usando o yum.

Boa parte do trabalho do PackageKit é feito "por baixo dos panos", incluindo as funções de instalação
de firmwares para componentes de hardware suportados e as associações de arquivos, que permitem instalar
pacotes ou ativar repositórios simplesmente clicando sobre os links em páginas web (como no caso dos
repositórios do RPM Fusion).

Apesar disso, é de se argumentar que ele é simples demais para atender às necessidades de qualquer
usuário mais avançado. Até mesmo o Ubuntu, que é claramente posicionado como uma distribuição
destinada a ser fácil de usar, oferece bem mais opções.

Uma solução popular é instalar o Synaptic, que está disponível nos repositórios do Fedora e pode ser
instalado rapidamente usando o "yum install synaptic" ou a busca do PackageKit. Diferente da versão usada
no Ubuntu (que trabalha em conjunto com o apt-get), o pacote para o Fedora vem pré-configurado para
trabalhar junto ao apt-rpm, que é a versão do apt adaptada para trabalhar em conjunto com o Fedora e outras
distribuições da família Red Hat.

Uma vez instalado, além do ícone para o Synaptic no "Aplicativos > Sistema" você ganha a
possibilidade de instalar e remover pacotes usando o apt-get, com os tradicionais "apt-get update", "apt-get
install" e "apt-get remove", como no Debian.

A principal observação é que, ao usar o Synaptic, você deixa de usar o PackageKit e o yum, passando
a utilizar o apt-rpm como gerenciador de pacotes. Embora ele funcione perfeitamente bem, o uso dele em
conjunto com o Fedora é menos testado, o que pode levar a problemas inesperados em algumas situações.

Isso nos leva ao Yumex (Yum Extender) que serve como uma terceira opção. Ele é também bastante
simples de usar e mantém o uso do yum, mas oferece mais opções que o gpk-application, exibindo mais
informações e permitindo que você tenha um controle maior sobre a instalação:

555
Ele também está disponível no repositório principal e pode ser instalado diretamente, como em:

# yum install yumex

Agora que foram feitas as devidas apresentações, vou aproveitar para falar um pouco sobre o yum,
que, similarmente ao que temos no apt e no urpmi, também pode ser usado diretamente via linha de
comando, servindo como uma forma rápida de administrar o sistema, sem precisar das interfaces.

Usando o yum

O yum é o gerenciador de pacotes usado por padrão no Fedora, assumindo o papel que no Debian e
no Ubuntu é desempenhado pelo apt-get. O yum foi originalmente desenvolvido pela equipe do Yellow Dog
(uma distribuição baseada no Red Hat, destinada a computadores com chips PowerPC) e foi
sistematicamente aperfeiçoado pela equipe da Red Hat, até finalmente assumir o posto atual.

Ele trabalha de forma bastante similar ao apt, baixando os pacotes a partir dos repositórios
especificados nos arquivos de configuração, junto com as dependências necessárias. Assim como o apt-get,
ele é capaz de solucionar conflitos automaticamente e pode ser também usado para atualizar o sistema.
Essencialmente, o yum e o apt solucionaram o antigo problema das dependências (um pacote precisa de
outro, que por sua vez precisa de um terceiro) que atormentava os usuários de distribuições mais antigas.

Apesar disso, existem muitas diferenças entre o Fedora e o Debian. Uma delas é o formato dos
pacotes utilizados: o Fedora utiliza pacotes .rpm, enquanto o Debian utiliza pacotes .deb. Ambos também
utilizam repositórios separados, com pacotes construídos especificamente para cada uma das duas
distribuições, de forma que existem algumas diferenças nos nomes dos pacotes e também em muitos dos
arquivos de configuração do sistema.

Voltando ao yum, para instalar um pacote use o comando "yum install", como em:

# yum install evince

Para removê-lo posteriormente, use o "yum remove" como em:

# yum remove evince

Diferente do apt-get, onde você precisa rodar o "apt-get update" antes de cada instalação para
atualizar a lista de pacotes, o yum faz a atualização automaticamente cada vez que uma instalação é solicitada,
checando os repositórios, baixando os headers dos pacotes e calculando as dependências antes de confirmar a
instalação.

556
Naturalmente, a praticidade também tem seu preço, pois torna a instalação de pacotes usando o yum
mais demorada do que seria ao utilizar o apt-get, já que ele precisa baixar e processar todas as informações
antes mesmo de confirmar a instalação do pacote e começar o download.

Você pode evitar isso de duas maneiras. A primeira é editar o arquivo "/etc/yum.conf" e descomentar
a linha "metadata_expire=90m" no final do arquivo, alterando o "90m" (que corresponde a 90 minutos) por
um valor maior, como em:

metadata_expire=3d
Isso fará com os dados sejam preservados por até três dias (uma configuração aceitável para um
desktop), fazendo com que as operações do yum passem a ser bem mais rápidas.

A segunda opção é adicionar a opção "-C" aos comandos de instalação quando estiver com pressa, o
que faz com que o yum ignore a atualização e simplesmente utilize as informações armazenadas no cache da
última vez que foi executado, como em:

# yum -C install k3b

Outro truque é o parâmetro "groupinstall", que permite instalar grupos inteiros de pacotes de uma só
vez. Para instalar o XFCE, por exemplo, você usaria o:

# yum groupinstall xfce

A partir daí, ele ficará disponível na tela de login, de maneira similar ao que temos ao instalar o pacote
"xubuntu-desktop" no Ubuntu.

O yum possui também um recurso de busca, que é bastante útil quando você está procurando por um
pacote mas não sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relação a
outras distribuições. Use o comando "yum search", seguido por alguma palavra ou expressão que faça parte
do nome do pacote ou da descrição, como em:

# yum search lame

Ele retorna um relatório contendo todos os pacotes relacionados, incluindo o texto de descrição de
cada um. Isso resulta geralmente em uma lista relativamente longa. Para fazer uma busca mais restrita,
procurando apenas nos nomes dos pacotes, use o parâmetro "list", como em:

# yum list lame

Ele é bem menos falador, retornando apenas os pacotes que possuem "lame" no nome, sem pesquisar
nas descrições.

Uma terceira opção é a "provides", que mostra os pacotes que incluem um determinado arquivo,
pesquisando não no nome ou na descrição, mas sim no conteúdo. Ela é bastante útil em casos em que você
precisa de alguma ferramenta ou biblioteca que faz parte de outro pacote maior, como no caso do mcedit (um
editor de texto simples, preferido por muitos por ter atalhos fáceis de usar), que faz parte do pacote "mc":

# yum provides mcedit

Para atualizar um pacote já instalado, use o comando "yum update", como em:

# yum update totem

O comando "yum install" também pode ser usado para atualizar pacotes. A diferença entre o "install"
e o "update" é que o "update" se limita a atualizar pacotes já instalados. Ao perceber que o pacote solicitado
não está instalado, ele exibe um aviso e aborta a instalação. Isso reduz a possibilidade de você acabar
instalando novos pacotes por engano.

Assim como no caso do apt-get e do aptitude, o yum pode ser usado também para atualizar todo o
sistema. Nesse caso, comece usando o parâmetro "check-update", que lista as atualizações disponíveis:

# yum check-update

557
Se usado sem especificar um pacote, o "update" vai atualizar de uma vez só todos os pacotes do
sistema, de forma similar ao "apt-get dist-upgrade" do Debian:

# yum update

Existe ainda o comando "yum upgrade", que é um pouco mais incisivo, incluindo também pacotes
marcados como obsoletos (que não existem mais na versão atual). Ele é útil em casos em que é necessário
atualizar uma instalação antiga do sistema:

# yum upgrade

Diferente do apt, que utiliza um arquivo central para a configuração dos repositórios (o
"/etc/apt/sources.list"), a lista de repositórios usados pelo yum é dividida em diversos arquivos, organizados
na pasta "/etc/yum.repos.d/".

Quando você adiciona um novo repositório através de um arquivo .rpm (como no caso do RPM
Fusion), o que o pacote faz é justamente adicionar os arquivos correspondentes dentro da pasta. O yum
verifica os arquivos dentro da pasta cada vez que é executado, fazendo com que o novo repositório passe a
ser usado automaticamente.

Naturalmente, é possível também adicionar repositórios manualmente, criando os arquivos e copiando


o conteúdo de algum tutorial ou howto. Um exemplo é o repositório do Google (que oferece os pacotes do
Google Earth, Picasa, Google Desktop e outros). Para adicioná-lo, você criaria o arquivo
"/etc/yum.repos.d/google.repo", com o seguinte conteúdo:

[google]
name=Google - i386
baseurl=http://dl.google.com/linux/rpm/stable/i386
enabled=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
Uma vez ativado o repositório, você pode testá-lo instalando alguns dos pacotes disponíveis nele,
como em:

# yum install picasa google-desktop-linux

Assim como o apt-get, o yum utiliza chaves GPG para checar a autenticidade dos pacotes antes de
fazer a instalação. Cada pacote é assinado digitalmente pelo desenvolvedor, o que atesta que foi realmente
gerado por ele. Mesmo que alguém tentasse adulterar o pacote (incluindo um rootkit ou um script malicioso,
por exemplo), não teria como falsificar também a assinatura, o que levaria o yum a reportar o problema e
abortar a instalação.

As chaves de verificação dos repositórios são salvas na pasta "/etc/pki/rpm-gpg/". Originalmente ela
inclui apenas as chaves dos repositórios do Fedora, mas ao instalar os pacotes do RPM Fusion, as chaves
também serão adicionadas na pasta.

Em casos em que você precise importar chaves manualmente (como é o caso do repositório Karan,
usado no CentOS), é usado o comando "rpm --import", como em "rpm --import
http://centos.karan.org/RPM-GPG-KEY-karan.org.txt".

Da mesma forma, para remover um repositório posteriormente, você excluiria o arquivo da pasta,
para que o yum deixe de usá-lo. É interessante também limpar o cache do yum, usando os comandos:

# yum clean headers


# yum clean packages

Concluindo, temos a instalação de pacotes locais. Para instalar um pacote baixado manualmente, é
usado o comando "rpm -U", que tem uma função análoga ao "dpkg -i" do Debian. Para usá-lo, você deve
acessar a pasta onde foi baixado o arquivo, ou incluir o caminho completo até ele (lembre-se de que você
pode usar a tecla Tab para completar o nome do arquivo), como em:

# rpm -U nxclient-3.1.0-6.i386.rpm

558
Usado dessa forma, o rpm simplesmente instala o pacote silenciosamente, sem exibir qualquer
confirmação. Se quiser ver uma barra de progresso e detalhes da instalação, adicione os parâmetros "vh",
como em:

# rpm -Uvh nxclient-3.1.0-6.i386.rpm

Embora o rpm seja o mais usado para fazer instalações locais, devido à simplicidade, você pode
também fazer a instalação usando o próprio yum, através do parâmetro "localinstall", como em:

# yum localinstall nxclient-3.1.0-6.i386.rpm

O problema é que yum verificará a assinatura do pacote e, a menos que ele tenha vindo de um dos
repositórios oficiais, reclamará que ele não está assinado, ou que a assinatura não é reconhecida (abortando a
instalação), como em:

Package nxclient-3.1.0-6.i386.rpm is not signed


Se você confia na fonte do pacote, ou seja, tem certeza de que não se trata de um trojan ou de um
pacote que inclui algum script malicioso, você pode desativar temporariamente a verificação das assinaturas
pelo yum, de forma que ele permita a instalação do pacote.

Para isso, edite o arquivo "/etc/yum.conf" e substitua a linha "gpgcheck=1" por:

gpgcheck=0
Depois de instalar o pacote, volte ao arquivo e desfaça a alteração, de forma que o yum volte a
verificar as assinaturas, o que garante a autenticidade dos pacotes.

A grande vantagem de usar o yum é que ele é capaz de baixar eventuais dependências do pacote
automaticamente (caso os pacotes necessários estejam disponíveis nos repositórios), enquanto o rpm se limita
a avisar sobre o problema e abortar a instalação.

Finalmente, caso precise configurar o yum para utilizar um servidor proxy, edite o arquivo
"/etc/yum.conf" e adicione a linha abaixo no final do arquivo, especificando o endereço do proxy e a porta
usada por ele, como em:

proxy=http://192.168.1.1:3128
Caso o proxy exija autenticação, são necessárias duas linhas adicionais, especificando o login e a senha
de acesso:

proxy=http://192.168.1.1:3128
proxy_username=usuario
proxy_password=senha

CONFIGURANDO O FEDORA

Ao usar o Fedora, você notará que, em muitos pontos, a configuração do ambiente e o próprio
conjunto de utilitários de administração disponíveis são bastante similares aos do Ubuntu, o que não é
surpresa, já que ambas as distribuições são baseadas no GNOME:

559
O Fedora incorpora também as ferramentas da família "redhat-config" (renomeadas para "system-
config", para excluir a marca registrada) que são herdadas do Red Hat Enterprise, além de algumas
ferramentas novas, que são usadas por algum tempo no Fedora antes de chegarem a outras distribuições.
Vamos então a um apanhado geral sobre as opções de configuração, excluindo apenas as que já foram
abordadas no capítulo sobre o Ubuntu.

Dicas gerais

Por default, o Fedora simplesmente monta as partições usando as opções default, diferente da maioria
das outras distribuições atuais, que usam as opções "relatime" ou "noatime". Isso resulta em uma redução
significativa no desempenho de acesso a disco e, se você usa um notebook, também em uma pequena
redução na autonomia, já que o HD passa mais tempo em atividade.

Para mudar isso, edite o "/etc/fstab" e adicione a opção "relatime" após o "defaults" referente à
partição raiz, como em:

UUID=84a0b768-12da-4266-8d13-9d9137b68626 / ext3 defaults,relatime 1 1


Você pode aproveitar para adicionar a opção também para outras partições, caso esteja usando
partições separadas para a pasta "/usr" ou "/var", por exemplo.

No caso da partição home e outras partições usadas para armazenar arquivos, você pode usar o
"noatime", que oferece um pequeno ganho adicional, desabilitando inteiramente a atualização das datas de
acesso aos arquivos.

Diferente do Ubuntu, o Fedora não utiliza o sudo por padrão, mantendo a política clássica de solicitar
a senha do root para as tarefas administrativas. Entretanto, o pacote do sudo vem pré-instalado e você pode
ativar o uso do sudo para os usuários simplesmente adicionando as linhas apropriadas no arquivo
"/etc/sudoers".

Para utilizar uma configuração similar à do Ubuntu, onde os usuários que fazem parte do grupo
"adm" possam usar o sudo depois de confirmarem a senha de usuário, adicione a linha:

%adm ALL=(ALL) ALL


A partir daí, faltaria apenas adicionar os logins desejados ao grupo usando o comando "usermod -a -G
usuario grupo", como em:

# usermod -a -G gdh adm

... ou utilizar o "system-config-users", acessando as propriedades do login e marcando o "adm" na aba


"grupos".

560
Como de praxe, você pode também fazer com que o sistema não solicite a senha, alterando a linha
para "%adm ALL=NOPASSWD: ALL", ou especificar diretamente o login do usuário desejado (evitando
assim o trabalho de ter que adicioná-lo ao grupo manualmente), como em:

gdh ALL=(ALL) ALL


Por default, o Fedora utiliza o modo "spatial view" do Nautilus, onde cada pasta é aberta em uma
janela, mas você pode fazer com ele volte ao modo tradicional de exibição marcando o "Editar > Preferências
> Comportamento > Sempre abrir em janelas de navegador".

Outro detalhe que incomoda muitos usuários é a configuração das fontes. Em vez de utilizar uma
configuração fixa (90 ou 75 DPI, como em outras distribuições), as versões recentes do Fedora tentam ajustar
a resolução das fontes com base nas dimensões do monitor, o que em muitos casos faz com que as fontes
fiquem gigantes, fazendo com que a tela WXGA do seu notebook fique parecendo a tela de 800x480 de um
Eee PC:

A solução é ajustar a resolução das fontes no "Sistema > Preferências > Aparência > Detalhes",
reduzindo os 120 ou 140 DPI detectados pelo sistema para 90 ou 75 DPI, de acordo com suas preferências.
Deixe para ajustar o tamanho das fontes só depois de ajustar a resolução, já que ao reduzir o DPI, o tamanho
das fontes é reduzido proporcionalmente.

Ao rodar em modo live-CD, o Fedora (a partir da versão 11) oferece uma conta de convidado, o
"guest". Ao se logar com ela, todas as alterações são perdidas ao fechar os aplicativos (diferente de um login
normal no live-CD, onde as informações são preservadas no ramdisk até que o PC seja reiniciado), o que
evita que os dados fiquem acessíveis caso o usuário abandone a seção, como é comum em LanHouses.

Este recurso deve ser expandido no futuro, para que possa ser usado em mais situações, como uma
forma "limpa" de permitir que um amigo use seu notebook para checar os e-mails ou terminar algum
trabalho, sem xeretar nos seus arquivos, nem deixar senhas e documentos para trás.

Configuração da rede

Assim como o Ubuntu, o Fedora utiliza o NetworkManager para gerenciamento da rede. Como
comentei anteriormente, o Fedora foi na verdade a principal distribuição por trás do desenvolvimento do
NetworkManager, antes que ele fosse incluído no Ubuntu e em outras distribuições.

Para quem prefere a configuração manual, está disponível o "system-config-network" (Sistema >
Administração > Rede), que permite desativar o NetworkManager e especificar a configuração manualmente.
Basta desmarcar o "Controlado pelo NetworkManager" nas propriedades da interface:

561
Assim como o Mandriva, o Fedora salva a configuração da rede em scripts dentro da pasta
"/etc/sysconfig/network-scripts/" (é usado o script "ifcfg-eth0" para a interface eth0, por exemplo), em vez
de utilizar o arquivo "/etc/network/interfaces" como no Debian. Os scripts dentro da pasta são editados
automaticamente pelo system-config-network conforme você altera as opções, mas, como de praxe, você
pode também editá-los diretamente.

Um pequeno complicador com relação à configuração das placas wireless, é que os firmwares usados
por diversas placas não são instalados por padrão, muito embora estejam disponíveis nos repositórios. Isso
acontece devido a uma simples cláusula na licença, que torna necessário que o instalador exiba o texto e peça
sua confirmação antes de instalar. Outras distribuições trazem estes firmwares pré-instalados, mas no Fedora
é necessário instalá-los manualmente antes de poder utilizar a placa.

Se você utiliza uma placa chipset Intel PRO/Wireless 3945, PRO/Wireless 4965 ou PRO/Wireless
5000, deve instalar, respectivamente, o pacote "iwl3945-firmware", "iwl4965-firmware" ou o "iwl5000-
firmware" e, se utiliza um notebook com uma antiga IPW2200 ou 2100, instalar o pacote "ipw2200-firmware"
ou o "ipw2100-firmware".

O Fedora 11 utiliza por padrão o driver "ath5k", que dá suporte às placas com chipset Atheros. Ele é
um substituto para o driver MadWiFi (a opção mais tradicional), que oferece a vantagem de ser inteiramente
open-source, o que permite que ele venha pré-instalado no sistema.

Ele é ainda um trabalho em andamento e por isso não oferece suporte a muitas placas (em especial
para placas mais antigas), mas você pode substituí-lo pelo MadWiFi caso necessário, usando as dicas do
tópico seguinte.

Complementando o time, estão disponíveis os módulos "adm8211" (placas com chipset Admtek),
"zd1211rw" (placas wireless USB com chipset Zydas), "rtl8180" e "rtl8187" (para placas com chipset Realtek)
e rt2x00 (placas com chipset Ralink). Diferente dos drivers para placas Intel, estes são drivers "completos",
que podem ser usados diretamente, sem necessidade de baixar nenhum pacote de firmware.

Está disponível também o módulo "b43", que dá suporte às placas com chipset Broadcom, mas para
utilizá-lo é necessário primeiro extrair o firmware da placa a partir dos drivers Windows (os arquivos estão
disponíveis no http://linuxwireless.org/en/users/Drivers/b43#devicefirmware) usando o "b43-fwcutter".

Como o driver b43 também está longe de ser completo (apresentando problemas diversos em muitas
placas), acaba sendo mais prático simplesmente ativar a placa usando o Ndiswrapper. Nesse caso, é necessário
bloquear o carregamento (dando lugar ao Ndiswrapper), o que é feito adicionando a linha:

blacklist b43
... no final do arquivo "/etc/modprobe.d/blacklist".

562
Uma luz no fim do túnel é o novo driver "broadcom-wl", que no Fedora pode ser instalado (depois de
ativar o RPM fusion) usando o:

# yum install broadcom-wl kmod-wl

Este driver é desenvolvido pela própria Broadcom, mas é distribuído sob uma licença que não permite
a modificação, daí o fato de não vir instalado por padrão.

Módulos adicionais

O Fedora inclui uma série de módulos de kernel adicionais, distribuídos através de um conjunto de
pacotes "kmod". Para instalar o Ndiswrapper, por exemplo, basta instalar o pacote "kmod-ndiswrapper", que
instalará junto o pacote com os utilitários:

# yum install kmod-ndiswrapper

A partir daí, você pode carregar o arquivo .inf do driver usando o "ndiswrapper -i" e, em seguida,
ativar o driver usando o "modprobe ndiswrapper", como em outras distribuições.

Ao adicionar o repositório do RPM Fusion, você ganha também acesso aos drivers da nVidia, ATI e
mais alguns drivers restritos, como no caso do driver MadWiFi, para placas wireless com chipset Atheros,
que, embora seja open-source, utiliza um HAL proprietário e por isso não é incluído no repositório padrão.
Ele pode ser instalado em substituição do driver ath5k.

Para ativá-lo, instale os pacotes "madwifi" (os utilitários) e "kmod-madwifi" (o módulo de kernel
propriamente dito), como em:

# yum install madwifi kmod-madwifi

Em seguida, é necessário desativar o driver ath5k pré-instalado, para que ele dê lugar ao módulo
"ath_pci" do MadWiFi. Para isso, adicione a linha a seguir no arquivo "/etc/modprobe.d/blacklist":

blacklist ath5k
Para que os devices da interface de rede sejam criados corretamente, é necessário editar também o
arquivo "/etc/modprobe.conf", adicionando as três linhas a seguir:

alias wifi0 ath_pci


alias ath0 ath_pci
options ath_pci autocreate=sta
Os drivers da nVidia e da ATI são uma questão um pouco mais complicada, já que a instalação
depende da versão do kernel usada e da versão corrente dos drivers. Por utilizar sempre a versão mais recente
do kernel disponível na época do lançamento, juntamente com a versão mais atual do X.org e algumas
modificações adicionais, o Fedora possui um histórico de incompatibilidades com drivers proprietários em
geral, especialmente os drivers da nVidia, que frequentemente demoram semanas para serem atualizados em
relação a uma nova versão do Fedora.

Durante esse tempo, resta aos usuários utilizar o driver nv (ou o Nouveau, que está disponível por
padrão a partir do Fedora 11) ou adiar o upgrade até que o driver tenha sido atualizado.

De qualquer maneira, você pode instalar os drivers tanto seguindo os passos manuais (como vimos no
capítulo do Slackware), quanto instalando diretamente a partir dos repositórios (é necessário ter ativado o
RPM Fusion), através dos pacotes "akmod-nvidia", "xorg-x11-drv-nvidia" e "xorg-x11-drv-nvidia-libs", como
em:

# yum install akmod-nvidia-173xx xorg-x11-drv-nvidia-173xx-libs \ xorg-x11-drv-nvidia-173xx-libs

Como de praxe, o "173xx" corresponde ao número da versão. Você pode checar quais estão
disponíveis aos instalar usando o "yum search".

Para os drivers da ATI, são usados os pacotes "kmod-fglrx" e "xorg-x11-drv-fglrx-libs", como em:

# yum install kmod-fglrx xorg-x11-drv-fglrx-libs-32bit

563
Firewall e SELinux

Diferente do Ubuntu que, como vimos, dispensa o uso de um firewall por padrão, adotando uma
política de não manter portas abertas, o Fedora dá uma grande ênfase à configuração do firewall, bloqueando
todas as portas por padrão (com exceção do SSH) e oferecendo um utilitário de configuração bastante
poderoso, o "system-config-firewall", disponível no "Sistema > Administração > Firewall":

Ele segue a política básica de permitir que você especifique as portas ou intervalos de portas que
deseja abrir, oferecendo também opções para definir interfaces confiáveis (nas quais todas as portas ficam
abertas), compartilhar a conexão e encaminhar portas.

Para abrir portas adicionais, basta marcar os serviços desejados na seção "Serviços confiáveis" (que
inclui uma lista de serviços comuns), ou especificar manualmente as portas desejadas na seção "Outras
portas", verificando sempre se o serviço desejado utiliza conexões TCP ou UDP. Ao fazer cada alteração, é
necessário clicar no "Aplicar", para que o configurador salve as novas regras no arquivo
"/etc/sysconfig/iptables" e recarregue as regras do firewall.

Se você tiver a curiosidade de verificar as regras do Iptables ativas em uma instalação padrão do
Fedora (sem nenhuma alteração na configuração do Firewall) usando o comando "iptables -L", vai encontrar
o seguinte:

Essas regras fazem com que o firewall aceite respostas às conexões iniciadas por você (ou seja, não
bloqueie as respostas de servidores remotos quando você acessar um site ou baixar um arquivo), aceite
pacotes ICMP (o que inclui resposta a pings), aceite conexões na porta do SSH (é importante desmarcá-la na
seção "Serviços confiáveis" se você não quiser que sua máquina fique acessível via SSH) e rejeite conexões
nas demais portas, juntamente com o encaminhamento de pacotes.

564
Como não são especificadas interfaces confiáveis, essas regras valem para todos, incluindo os PCs da
rede local. Não é preciso dizer que isso leva ao aparecimento de muitas dúvidas, já que se você instalar o
Samba para compartilhar algumas pastas com arquivos, por exemplo, as requisições serão bloqueadas pelo
firewall, até que você ajuste a configuração.

Para aceitar conexões na interface da rede local, você deve marcá-la manualmente na seção "Interfaces
confiáveis". A partir daí, o sistema passará a aceitar todas as conexões na interface especificada, mas
continuará bloqueando conexões em outras interfaces. Ao se conectar diretamente usando um modem 3G
USB, por exemplo (o que adiciona a interface ppp0), o sistema bloquearia todas as conexões provenientes da
Internet automaticamente.

Se você decidisse mais adiante compartilhar a conexão do modem 3G, bastaria marcar a interface
"ppp0" na seção "Mascarar". Isso equivaleria à compartilhar a conexão executando manualmente o comando
"iptables -t nat -A POSTROUTING -o ppp0 -j MASQUERADE", que citei nos exemplos de firewall para o
Ubuntu.

Ao compartilhar a conexão, uma necessidade comum é encaminhar portas para PCs da rede local,
para que eles possam rodar servidores ou aplicativos diversos que precisem de portas de entrada. Isso pode
ser feito através da seção "Encaminhamento de portas", onde você deve especificar a interface de Internet, a
porta de entrada e o endereço do PC da rede local que receberá o encaminhamento:

O default é fazer com que a porta de entrada seja encaminhada para a mesma porta do PC de destino,
mas você pode especificar uma porta diferente marcando a opção "Encaminhar para outra porta". Isso

565
permite que você encaminhe as requisições recebidas na porta 2222 do servidor para a porta 22 do PC na
rede interna, por exemplo.

A seção Filtro ICMP permite bloquear seletivamente determinados tipos de pacotes ICMP, incluindo
o ping ("requisição de eco"). Embora os pacotes ICMP possam ser usados para descobrir algumas
informações sobre a máquina (o ping é o mais óbvio, já que é a maneira mais simples de descobrir se uma
máquina está online), a importância deles é frequentemente superestimada, desviando o foco das atenções das
questões mais importantes, que são as portas abertas e as atualizações de segurança para os serviços. Afinal,
não adianta remover seu nome da lista telefônica se você deixa a porta da frente de casa aberta.

Em seguida, temos o SELinux (Secure Linux), um sistema que visa reforçar a segurança do sistema,
aplicando um conjunto de diretivas rígidas de segurança. Ele surgiu como um projeto open-source do NSA
(uma agência do departamento de defesa do EUA), que ganhou o apoio de muitos desenvolvedores e foi
incorporado ao kernel Linux a partir de 2003.

Ele é mais uma tecnologia que começou sendo usada no Fedora (gerando bastante dor de cabeça aos
usuários nas primeiras versões, até que as regras e permissões fossem devidamente afinadas) para, a partir daí,
começar a ser usado em outras distribuições. No Ubuntu, por exemplo, ele está disponível nos repositórios
principais a partir da versão 8.04 e pode ser instalado usando o "apt-get install selinux".

A ideia do SELinux é restringir as permissões, de forma que cada serviço ou aplicativo tenha
permissão para realizar apenas as tarefas a que é destinado. Isso impede que serviços vulneráveis sejam
usados para obter privilégios adicionais, como é comum em ataques.

Assim como em tantos outros casos, o SELinux foi implantado de uma forma abrupta no Fedora 2, o
que resultou em problemas relacionados à configuração de muitos serviços, que deixavam de funcionar ou
apresentavam comportamentos inesperados por não conseguirem acessar determinados arquivos ou recursos
do sistema, devido à ação do SELinux.

Para solucionar o problema, os desenvolvedores passaram a utilizar a política "targeted" (modo


direcionado) do SELinux, desenvolvendo configurações específicas, que aplicam as políticas a apenas alguns
serviços e aplicativos específicos. Essa nova abordagem reduziu bastante o volume de problemas e foi
evoluindo ao longo das versões do Fedora até os dias de hoje.

É graças a este trabalho que, muito embora o SELinux venha ativado em modo "Reforçado"
(Enforcing) nas versões atuais do Fedora, o número de relatos de problemas caiu muito, fazendo com que a
maioria mantenha a configuração padrão.

Continuando, a configuração do SELinux pode ser alterada através do "system-config-selinux" ou


através do ícone no "Sistema > Administração":

566
Por default, o SELinux fica ativo em modo Enforcing, que faz com que as regras realmente sejam
aplicadas. Alterando a configuração para "Permissivo" ele passa a apenas gerar um log das operações que
seriam bloqueadas (que você pode acompanhar usando o comando "dmesg") mas sem realmente fazer nada.
A diferença entre o "Permissivo" e o "Desabilitado" é que no segundo ele realmente deixa de verificar as
operações.

Com o SELinux ativado, existem muitas situações em que você precisa ativar módulos para conseguir
utilizar recursos específicos relacionados a servidores. Para criar um servidor FTP com um diretório de
upload para usuários anônimos, por exemplo, você precisaria marcar o módulo "allow_ftp_anon_write" na
segunda aba:

Na política padrão, o SELinux aplica suas políticas de segurança apenas ao dhcpd (o servidor DHCP),
httpd (o Apache), named (o Bind), nscd, ntpd, portmap, snmpd, squid (servidor proxy) e o syslogd
(responsável pelos logs do sistema). Isso faz com que ele não faça realmente muita diferença para quem usa o
Fedora como desktop, diferente do que temos nos servidores, onde ele representa uma melhoria real na
segurança.

Como em outras ferramentas, o real potencial do SELinux está na possibilidade de definir novas
políticas, protegendo os serviços mais importantes e fazendo com que ele se molde à configuração usada. O
grande problema é que isso demanda muito tempo e uma boa dose de conhecimento, um investimento que
faz sentido em um servidor importante, mas não faz muito sentido em um desktop que pode ser protegido de
maneira mais efetiva com a combinação do firewall e atualizações de segurança para os navegadores e outros
aplicativos que acessam a web.

Muito se fala em desenvolver políticas do SELinux para o Firefox e outros aplicativos desktop, mas o
volume de recursos diferentes suportados por eles faz com que a tarefa seja incrivelmente complicada, o que
explica a demora no surgimento de opções utilizáveis nesse sentido.

Mesmo sem o SELinux, o Fedora é uma distribuição bastante segura, desde que as atualizações de
segurança sejam aplicadas em dia. O Firewall serve como uma camada extra de proteção, para o caso de você
instalar serviços adicionais e esquecê-los abertos, enquanto o SELinux dá sua parcela de contribuição caso
você decida rodar um servidor web ou um servidor proxy na máquina.

A principal observação com relação à segurança é que o Fedora instala o servidor SSH por padrão e
deixa a porta 22 aberta no firewall. Como ele aceita logins como root, temos uma possibilidade real de acesso
caso você use alguma senha fraca e um invasor obstinado dê a sorte de adivinhá-la. Para evitar isso, feche a
porta 22 na configuração do firewall se não for usar o SSH (e desabilite o serviço "sshd") e use boas senhas.

567
CAPÍTULO 8: VIRTUALIZAÇÃO E WINE

Apesar da grande variedade de aplicativos disponíveis no Linux, sempre existem situações em que
você precisa de algum aplicativo específico, ou precisa usar algum dispositivo que tem drivers apenas para
Windows.

A solução mais comum para o problema é simplesmente manter uma instalação do Windows em dual-
boot e usá-lo quando necessário. O grande problema com essa abordagem é que ela é bastante imprática, já
que você precisa fechar todos os programas e reiniciar o micro cada vez que precisa usar alguma coisa no
Windows.

Outra opção, cada vez mais comum hoje em dia, é usar o Windows dentro de uma máquina virtual.
Essa é a opção mais prática para quem precisa executar apenas alguns aplicativos específicos, ou precisa do
Windows apenas para testes (como um administrador de redes, que precisa testar todas os recursos da rede
tanto no Linux quanto no Windows, ou um desenvolvedor web que precisa testar a visualização das páginas
no Explorer) já que você pode rodar o Windows dentro de uma janela, sem precisar reiniciar o micro.

Embora hoje em dia usar uma máquina virtual seja algo corriqueiro, os softwares de emulação e
virtualização passaram por uma longa evolução antes de chegarem ao que temos hoje.

Na verdade, quase tudo pode ser simulado via software: é possível até mesmo simular um computador
de arquitetura diferente, para que os softwares escritos para 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 Nintendo, Playstation e outros, como o
Zsnes, que emula um Super-Nes e o ePSXe, que emula um PS1:

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 passa então a ser chamado de "host" (hospedeiro) e o sistema dentro da máquina
virtual passa a ser chamado de "guest" (convidado). Ele acha que tem um PC completo para si, quando, na
verdade, está rodando dentro de uma "matrix", na máquina virtual.

Antigamente, usar uma máquina virtual resultava em uma grande perda de desempenho, já que o PC
passa a executar dois sistemas em vez de um, consumindo mais memória e processamento. Entretanto, com
as máquinas que temos hoje em dia isso deixou de ser um grande problema. Se seu PC tem 2 GB de RAM ou
mais e usa um processador minimamente atual, você pode confortavelmente manter uma máquina virtual
com o Windows XP ou do Windows 7 aberta dentro do Ubuntu ou do Fedora, por exemplo.

Além da praticidade, outra grande vantagem de usar o Windows em uma máquina virtual, em vez de
mantê-lo em dual-boot, é a facilidade de fazer backups e restaurações da máquina virtual em caso de vírus ou
problemas, já que você só precisa salvar uma cópia do disco virtual (ou criar um snapshot) e restaurar a VM
quando qualquer coisa der errado. Ou seja, usando uma VM, você não precisa mais perder tempo
reinstalando o sistema.

568
Além do Windows, você pode rodar outras distribuições Linux ou mesmo outros sistemas
operacionais para micros PC (como o Sylabis, ReactOS, SkyOS e muitos outros sistemas "alternativos"),
permitindo que você teste diversos sistemas, sem precisar ficar reparticionando o HD e tenha todos sempre a
mão para sempre que quiser fazer algum teste ou experiência.

Note que o uso de virtualização resolve apenas o aspecto técnico da questão. Você continua tendo
que ter as licenças das cópias do Windows e de outros sistemas que pretender instalar dentro da máquina
virtual, caso contrário estará incorrendo em pirataria da mesma forma. Uma observação com relação a isso é
que 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, simplesmente usando o que você já pagou.

USANDO O VIRTUALBOX

Até pouco tempo, usar uma máquina virtual era sinônimo de usar o VMware Player ou o VMware
Server. Ao contrário do que o nome pode sugerir, o VMware Server é perfeitamente utilizável em um PC
doméstico, a única contra-indicação é que ele oferece mais opções e é dividido em dois componentes (o
servidor propriamente dito e a interface), o que o torna um pouco mais complicado de usar. O VMware
Player é mais simples de usar, mas ele tem caído em popularidade devido às limitações da interface e ao
grande uso de recursos do sistema, sem falar no fato de ser um software proprietário, embora gratuito.

Isso mudou com o crescimento do VirtualBox, que começou como um projeto da Innotek (uma
empresa alemã de desenvolvimento de softwares) e foi posteriormente incorporado pela Sun (que, por sua
vez, acabou sendo incorporada pela Oracle), dando origem a uma solução de virtualização para desktops
muito poderosa e simples de usar.

Até a versão 3.x o VirtualBox era dividido em duas versões, a versão "oficial" (também chamada de
PUEL, que é o nome da licença usada) incluía alguns componentes proprietários e é distribuída através de
uma licença específica e por isso é evitada pelos puristas. Assim como em outros casos, a Sun ganhava
dinheiro vendendo versões aprimoradas do software, destinadas ao ramo corporativo, o que permite manter
os investimentos no projeto.

Além desta versão parcialmente proprietária, existia também o VirtualBox Open Source Edition
(OSE), que é a versão inteiramente livre, que tem todo o código-fonte disponível e pode ser usada dentro dos
termos da GPL. Esta era a incluída incluída nos repositórios das distribuições, que podia ser instalada
diretamente usando o gerenciador de pacotes.

Entretanto, a partir da versão 4.x isso mudou. O VirtualBox passou a ser distribuído em uma versão
única, completamente licenciada sob os termos da GPL, disponível tanto no
https://www.virtualbox.org/wiki/Downloads quanto nos repositórios das distribuições.

Os componentes proprietários passaram a ser distribuídos separadamente através do Oracle VM


VirtualBox Extension Pack, um pacote de extensão. Ele adiciona suporte ao compartilhamento de recursos
USB 2.0 e à função de gerenciamento remoto via RDP disponível no VirtualBox, dois recursos que muitos
usuários podem acabar nunca dando falta. O Extension Pack está disponível para download no site da
Oracle, mas ele é gratuito apenas para uso pessoal.

Esta mudança no sistema de distribuição acabou juntando o melhor dos dois mundos, já que permite
que o VirtualBox ficasse inteiramente integrado ao mundo open-source, sendo disponibilizado diretamente
pelas distribuições (ou até mesmo vindo pré-instalado em alguns casos) com os componentes proprietários
ficando disponíveis através de um download adicional, que você tem a opção de instalar ou não.

Na maioria das distribuições atuais, você pode instalar o VirtualBox diretamente através do
gerenciador de pacotes, através do pacote "virtualbox" ou "virtualbox-ose", sem dificuldades.

569
O principal ponto de falha é que o VirtualBox demanda o uso de alguns módulos de kernel para
acesso de baixo nível ao hardware, uma necessidade para qualquer virtualizador. No caso das distribuições
mais populares estes módulos já estarão incluídos nos pacotes, mas caso você esteja usando uma distribuição
menos comum, ou um sistema personalizado, você pode ter algumas dificuldades no sentido de precisar gerar
os módulos durante a instalação. Vamos então às dicas.

Se o pacote não estiver disponível, o primeiro passo é adicionar os repositórios do VirtualBox no


arquivo "/etc/apt/sources.list". Para o Debian Wheezy ou o Squeeze, por exemplo, as linhas seriam,
respectivamente:

deb http://download.virtualbox.org/virtualbox/debian wheezy contrib non-free


deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free
As versões recentes do Ubuntu já trazem o repositório ativo por padrão, mas caso necessário você
pode adicioná-lo manualmente. A URL é a mesma em todos os casos, mudando apenas o campo com o
nome da distribuição. Não se esqueça de :

deb http://download.virtualbox.org/virtualbox/debian oneiric contrib


deb http://download.virtualbox.org/virtualbox/debian natty contrib
Para que o apt não acuse a falta da chave pública, adicione a chave da Oracle com o comando a seguir,
como root, ou com o sudo:

# wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key


add -

A partir daí é só atualizar as listas de pacotes e instalar o pacote, como em:

$ sudo apt-get update


$ sudo apt-get install virtualbox-4.1 dkms

O pacote "dkms" é uma adição recomendável, pois ele monitora o sistema e gera novos módulos para
o kernel caso o kernel seja atualizado em algum ponto. Sem ele você precisaria gerar novamente os módulos
manualmente a cada atualização do kernel.

Para instalar o VirtualBox no Mageia, acesse o "Gerenciador de software > Configurar mídias fonte
para instalação" no mcc e certifique-se de que os repositórios "Contrib" e "Contrib Updates" estão marcados.
Se for a primeira vez que está acessando o gerenciador, clique no "Adicionar" para que ele configure os
repositórios.

A partir daí, você pode acessar o "Instalar & Remover Software" e instalar os pacotes "virtualbox" e
"dkms-virtualbox" (marque a opção "Todos" no menu da esquerda em vez de "Pacotes com GUI" para que
ele apareça na pesquisa).

570
Como de praxe, ele instalará também algumas dependências, totalizando cerca de 60 MB de softwares.
Apesar do VirtualBox precisar de um módulo de kernel, o "vboxdrv", que precisa ser gerado durante a
instalação, o gerenciador do Mandriva se encarrega de executar os passos necessários de forma automática:

Depois de instalado, o VirtualBox fica acessível através no ícone no "Iniciar > Ferramentas >
Emuladores" ou via terminal, com o comando "VirtualBox".

No OpenSuSE, você pode instalar o VirtualBox diretamente através do Yast. Acesse o gerenciador de
pacotes e faça uma busca por "virtualbox". Assim como no caso do Mandriva e do Ubuntu, os repositórios
do OpenSUSE incluem o "virtuabox-ose", que é a versão open-source. Ao marcar o pacote, o gerenciador
marca também o pacote com a versão correta do módulo para o kernel. Se você está usando o kernel
instalado por padrão, o módulo será instalado diretamente, sem necessidade de compilação:

571
O pacote "virtualbox-ose-guest-tools" que aparece na busca inclui as imagens com os drivers extras
para os sistemas instalados dentro das VMs, que usaremos mais adiante. Ele é opcional, pois o VirtualBox se
oferece para baixar as imagens automaticamente, quando necessário.

O pacote "xorg-x11-driver-virtualbox-ose" inclui o driver de vídeo para uso do OpenSuSE como


guest no VirtualBox, ou seja, para quando ele é instalado dentro de uma VM. Não custa nada instalá-lo, mas
ele não é necessário no nosso caso.

Caso a instalação falhe durante a compilação dos módulos, é sinal de que você precisa dos headers do
kernel e/ou do gcc/make, necessários para a compilação.

Nesse caso, use o comando "uname -r" para verificar qual é a versão do kernel em uso:

$ uname -r
3.2.0-21-generic

Em seguida, instale a versão correspondente do pacote "linux-headers", que contém os headers do


kernel, necessários para compilar módulos, como em:

$ linux-headers-3.2.0-21-generic

Instale também os pacotes "make" e "gcc", que incluiem os componentes básicos de compilação. Nas
distribuições derivadas do Debian você pode instalar o pacote "build-essential", que inclui estes e outros
pacotes relacionados à compilação, também resolvendo o problema. A partir daí você pode repetir a
instalação e os módulos devem compilar sem problemas.

O ícone para o VirtualBox é criado no "Aplicações > Ferramentas do Sistema", mas, como de praxe,
você pode chamá-lo diretamente via terminal. Em algumas distribuições, pode ser que você receba uma
mensagem de erro avisando que o driver não está acessível para o usuário atual.

Isso acontece em situações em que os usuários do sistema não recebem permissão para usar o módulo
do VirtualBox, fazendo com que apenas o root consiga utilizá-lo. Felizmente, este é um bug fácil de resolver,
basta adicionar seu login de usuário ao grupo "vboxusers", como em:

# adduser gdh vboxusers

ou:

# usermod -G vboxusers gdh

Se preferir, você pode adicionar o usuário ao grupo usando o "users-admin" ou outro utilitário. Acesse
as propriedades do usuário e, na aba "grupos", marque o "vboxusers". Em qualquer um dos casos, é
necessário fazer logout para que a alteração entre em vigor:

572
Concluindo, existe também a opção de instalar diretamente a versão genérica do VirtualBox, que
aparece no final da lista de downloads no https://www.virtualbox.org/wiki/Linux_Downloads na forma de
um arquivo ".run", no link "All Distributions".

Esta é a versão tamanho único que pode ser instalada em qualquer distribuição que não possua um
pacote próprio. O pacote é bem simples de instalar, basta tornar o arquivo executável e rodá-lo como root,
como em:

$ chmod +x VirtualBox-4.1.12-77245-Linux_x86.run
$ su
# ./ VirtualBox-4.1.12-77245-Linux_x86.run

Verifying archive integrity... All good.


Uncompressing VirtualBox for Linux installation........
Installing VirtualBox to /opt/VirtualBox
Building the VirtualBox kernel module
Building the VirtualBox netflt kernel module
VirtualBox has been installed successfully.

Depois de instalado, ele se comporta exatamente da mesma forma que os pacotes. A única
peculiaridade é que a instalação é feita dentro da pasta "/opt", o que faz com que você precise especificar o
caminho completo ao chamá-lo via terminal, como em:

# /opt/VirtualBox/VirtualBox

Se, por acaso, você precisar atualizar o kernel do sistema, use o comando a seguir para que um novo
módulo seja gerado:

# /etc/init.d/vboxdrv setup

Assim como no VMware, os dispositivos de hardware vistos pelo sistema dentro da máquina virtual
são diferentes dos dispositivos reais da máquina. Independentemente da configuração do seu micro, o
VirtualBox simula um PC com chipset Intel e (por default) uma placa de rede AMD PCNET. O HD é
reconhecido como "VBOX HARDDISK", o CD-ROM como "VBOX CD-ROM" e assim por diante:

573
O ruim dessa diferença nos dispositivos é que você não pode rodar uma instalação do Windows já
existente dentro de uma máquina virtual (pelo menos não sem fazer alterações no registro e um longo
processo de substituição de drivers) mas, em compensação, oferece a possibilidade de rodar as máquinas
virtuais em qualquer PC com o VirtualBox instalado, já que os dispositivos virtuais serão sempre os mesmos.
Para isso, basta exportar a VM, ou simplesmente copiar a pasta com ela para outro PC.

As opções básicas

Com o VirtualBox instalado, basta chamá-lo usando o comando "virtualbox". Apesar de ter acesso
direto ao hardware da máquina, ele não precisa de privilégios de root para ser executado. Pelo contrário, é
fortemente recomendável que você o rode usando seu login de usuário, assim como qualquer outro aplicativo
no Linux. A parte do software que roda com privilégios mais altos são os módulos de kernel gerados durante
a instalação.

Acessando o "Arquivo > Preferências" você tem acesso às configurações gerais do VirtualBox. A
primeira opção a verificar é a "Geral > Pasta padrão para Máquinas", que define onde serão armazenadas as
VMs. O default é que seja usada a pasta VirtualBox dentro do seu home, mas como as VMs tendem a ocupar
vários GB e você vai provavelmente querer mantê-la a salvo durante as eventuais reinstalações do sistema,
você pode preferir usar uma partição ou HD separado.

574
Em versão antigas do VirtualBox, anteriores à 4.0, eram usadas pastas separadas para armazenar a
configuração das VMs e as imagens de disco, agrupando os arquivos referentes a várias VMs na mesma pasta,
mas nas versões recentes cada VM recebe uma pasta própria, onde ficam armazenados tanto os discos quanto
as configurações (similar ao que temos no VMware), o que simplifica a estrutura e facilita os backups.

A opção "Entrada" define a Tecla Hospedeiro (tecla host), que libera o rastro do mouse e o foco do
teclado da janela da VM, para que você possa voltar a usar o host. Defina uma tecla que não vá ser usada com
frequência dentro da VM (como a tecla Ctrl direita ou a tecla Super/Windows). De qualquer forma, este
chaveamento manual é geralmente usado apenas durante a instalação e configuração inicial do sistema dentro
da VM. O VirtualBox inclui um conjunto de drivers (com versões para vários sistemas) para ser instalado
dentro da máquina virtual, que permite o redimensionamento dinâmico da janela e o uso livre do mouse.

Além de mudar o foco do mouse esta tecla é usada em vários atalhos. Pressionando Host+F você
alterna entre o modo de tela cheia; Host+R envia um sinal de reboot para a VM, enquanto Host+H a desliga.
Pressionando Host+Del você envia um Ctril+Alt+Del para o sistema dentro da VM, enquanto
Host+Backspace envia um Ctrl+Alt+Backspace, um atalho importante em hosts Linux. Pressionando
Host+F1 (ou outra tecla de função até o F12) envia um Ctrl+Alt+F1, que no Linux permite chavear para o
terminal de texto. Neste caso, Host+F7 (Ctrl+Alt+F7) permite voltar par o X.

O mais interessante entretanto é o Host+C, que ativa o modo escalonado, que permite usar uma
resolução mais alta dentro da VM que a área útil do monitor. No modo escalonado, você pode redimensionar
a janela livremente, que o VirtualBox reduz as dimensões da imagem para caber dentro do espaço disponível,
similar à função disponível em muitos softwares de acesso remoto. Ela é a salvação da lavoura para quem usa
telas pequenas e não quer ficar alternando entre o modo de tela cheia:

575
Além das opções de idiomas, extensões e proxy, temos também a categoria "Rede", que permite criar
interfaces virtuais de rede, cada uma com uma faixa de endereços específicas. Estas interfaces podem ser
então atribuídas a diferentes VMs, permitindo que você simule redes inteiras usando o VirtualBox, sem
precisar sequer expor as máquinas virtuais à sua rede local:

Naturalmente, o uso das interfaces virtuais é opcional. Se você não criar nenhuma interface adicional,
o VirtualBox simplesmente conectará todas as VMs à sua rede local, permitindo que elas recebam endereços
do servidor DHCP e sejam configuradas como qualquer outro PC da rede.

Criando as máquinas virtuais

Para usar o VirtualBox, o primeiro passo é criar uma máquina virtual. Para isso, clique no "Novo" e
siga os passos do assistente. Na primeira tela, dê um nome à VM e indique qual o sistema operacional será
instalado dentro dela. Isso permite que o VirtualBox ative uma série de otimizações, que melhoram o
desempenho e evitam problemas diversos. Caso não exista uma entrada referente à versão exata que está
instalando, use o "Other", "Other Linux" ou "Other Windows" para usar otimizações genéricas.

576
Na tela seguinte, indique a quantidade de memória RAM que será alocada para a máquina virtual, de
acordo com o sistema que será usado e o tipo de aplicativos que pretende rodar dentro dele. Embora você
possa perfeitamente instalar o Windows XP com até 128 MB e o Windows 7 com 512 MB, é recomendável
reservar 384 MB para o Windows XP e 1 GB para o Windows 7, deixando espaço para rodar aplicativos sem
que a VM use muita memória swap. É importante lembrar que dentro da VM o uso de swap é ainda mais
prejudicial do que no PC principal, já que existe um grande overhead no acesso a disco dentro da VM. Se
você pretende rodar múltiplas VMs simultaneamente, é fortemente recomendável usar um PC com pelo
menos 4 GB de memória RAM, já rodando um sistema operacional de 64 bits.

Naturalmente, você pode também usar o VirtualBox para rodar outras distribuições Linux, reservando
o volume necessário de memória RAM. A maioria das distribuições roda bem com 512 MB, com muitas das
distros mais leves se comportado bem com apenas 384 ou mesmo 256 MB. Naturalmente, caso você
realmente queira trabalhar dentro da VM, rodando aplicativos pesados, é aconselhável reservar 1 GB, caso
contrário o desempenho ficará comprometido ao abrir muitos aplicativos simultaneamente, devido ao uso de
swap dentro da VM.

A memória é toda reservada para a VM assim que ela é aberta, por isso você precisa levar também em
consideração o uso de memória do sistema host, caso contrário muitos componentes do sistema serão
movidos para a swap e tudo ficará muito lento ao chavear da VM de volta para o host. Do ponto de vista do
desempenho do hospedeiro, o ideal é reservar um pouco menos da metade da memória RAM total, de forma
a não prejudicar o desempenho do sistema principal enquanto a VM estiver ativa. Também não existe
problema em instalar sistemas operacionais de 32 bits dentro de VMs executadas em hosts rodando sistemas
de 64 bits.

O próximo passo é criar um disco virtual, que é na verdade um arquivo dentro da pasta "VirtualBox
VMs" no seu diretório home (ou outra pasta definida na configuração). Embora o VirtualBox ofereça a opção
de usar um disco anteriormente criado (de outra VM) é sempre melhor começar do zero, criando um novo
disco. O VirtualBox oferece suporte a discos em vários formatos (incluindo discos criados no VMware e no
Parallels) mas o formato VDI, nativo do VirtualBox é o que oferece melhor desempenho dentro dele:

577
Você terá também a opção de criar um disco dinamicamente alocado ou de tamanho fixo. Embora os
discos de tamanho fixo ofereçam uma pequena vantagem em termos de desempenho, eles possuem uma
desvantagem crucial, que é o fato de ocuparem, logo de cara, todo o espaço definido. Se você criar um disco
virtual de 100 GB, ele realmente ocupará 100 GB no seu HD, o que limitará muito o número de VMs que
você terá espaço para criar. Os discos dinamicamente alocados por sua vez começam como arquivos vazios,
que crescem conforme você instala o sistema operacional e outros arquivos e aplicativos dentro deles. Um
disco virtual de 100 GB com apenas 12 GB ocupados, ocupará apenas 12 GB no HD, tornando as suas VMs
muito mais enxutas.

Em seguida, você precisa definir o tamanho do disco virtual, que naturalmente, deve ser suficiente
para instalar o sistema e os programas desejados. Em uma VM com o Windows XP, por exemplo, você pode
sobreviver com um disco virtual de apenas 4 ou 6 GB, mas uma instalação do Windows 7 ou 8 precisaria de
bem mais espaço.

Como pode imaginar, o Windows XP é ainda uma boa opção para o uso em máquinas virtuais, já que
é muito mais leve e (mesmo depois de instaladas todas as atualizações) ocupa menos espaço. O fato de rodá-

578
lo dentro de uma VM também permite que você relaxe um pouco as as atualizações e outras práticas de
segurança, já que em caso de problemas basta deletar a pasta. De qualquer forma, com as atualizações de
segurança sendo descontinuado em 2014, os dias do sistema estão contados, com exceção de casos em que
você precise apenas rodar alguns aplicativos específicos dentro da VM, sem acesso direto à Internet.

Se você precisa apenas rodar alguns programas antigos, sem acesso à web, pode experimentar até
mesmo criar um VM com o Windows 98 que, por ser um sistema muito mais simples, pode rodar com
desenvoltura dentro de uma VM com apenas 96 MB de memória reservada. Lembre-se de que o Windows 98
ainda usa o sistema antigo de instalação, onde você dá boot pelo MS-DOS, particiona o HD usando o
"fdisk", formata usando o "format c:" e instala acessando a unidade do CD-ROM (geralmente E: ou F:) e
executando o "instalar.exe" dentro da pasta "Win98SE".

Para os demais casos, o Windows 7 acaba sendo a opção padrão, já que é uma versão ainda atual do
sistema, que ainda receberá atualizações de segurança por um bom tempo e que já é por natureza bem
otimizado para o uso dentro de um VM. O grande problema do Windows 7 é que os requisitos do sistema
são bem mais altos do que o XP. Entretanto, você pode amenizar isso com o emprego de algumas dicas
simples:

 Desative todos os efeitos virtuais, revertendo para o tema "Windows Clássico".


 Desative o serviço do SuperFetch (em "Ferramentas Administrativas > Serviços"), ele é
muito intensivo em uso de I/O e memória e desnecessário em uma VM.
 Desative os pontos de recuperação do sistema. Use snapshots do VirtualBox caso precise
reverter a VM a estágios anteriores.
 Desative o Windows Defender e (caso julgue necessário) instale um antivírus mais leve.
 Desative o screensaver e as opções de economia de energia, elas só atrapalham no caso de
um VM.
 Caso você tenha mais de um HD, instale a VM em um HD diferente do onde está instalado
o sistema principal, com a possível exceção de casos em que o HD principal é um SSD.

Continuando, depois de criar o disco virtual, clique em "Próximo" e depois no "Finalizar" para
concluir a criação da VM:

Continuando, depois de criar o disco virtual, clique em "Próximo" e depois no "Finalizar" para
concluir a criação da VM:

Ao executá-la pela primeira vez, será executado um assistente com a finalidade de definir a mídia de
instalação. O default é usar um disco no drive óptico do hospedeiro, mas clicando na pasta à direita você

579
pode selecionar um arquivo ISO, que é normalmente a opção mais prática de instalação, especialmente no
caso das distribuições Linux:

Assim como qualquer PC, a VM possui um BIOS virtual, que permite definir a ordem de boot,
pressionando F12 na tela de boot. Entretanto, este é apenas um atalho para a seleção temporária. A
configuração definitiva está escondida na opção "Sistema > Placa-mãe > Ordem de boot" das preferências.
Esta é a mesma opção onde você pode ajustar a quantidade de memória RAM compartilhada:

Além do ajuste do volume da memória RAM reservada, existe também um ajuste para a memória de
vídeo que, naturalmente, também é simulada usando parte da memória RAM do sistema host. A opção está
disponível no "Monitor > Vídeo". Por default, o VirtualBox simula uma placa de vídeo VESA, puramente
2D, por isso a única função da placa de vídeo é armazenar o frame-buffer, ou seja, a imagem que está sendo
exibida dentro da janela da VM.

580
Para saber quanto de memória você precisa, basta multiplicar a resolução pela profundidade de cor
usada (em bytes). Se você usa 1024x768 com 32 bits (equivalentes a 4 bytes) de cor, por exemplo, teríamos
1024x768x4, que dá 3.145.728 bytes, ou seja, menos de 4 MB. Você poderia então reduzir o volume de
memória reservada de 8 para 4 MB, deixando mais memória livre para outros usos. Nas versões recentes
estão disponíveis opções para ativar aceleração 2D, bem como aceleração 3D, como veremos a seguir.

Com a VM criada, falta agora o mais importante, que é instalar o sistema operacional e os programas,
o que é feito seguindo exatamente os mesmos passos que em um PC real. Você pode até mesmo instalar
sistemas operacionais antigos, usando imagens de disquetes, realizar instalações via rede e assim por diante.
Usando um único PC com memória RAM suficiente, você pode simular um laboratório inteiro de máquinas
virtuais, com servidores, clientes de rede, estações de trabalho e assim por diante, uma possibilidade sem
preço para quem quer estudar mais sobre redes, servidores ou sistemas operacionais.

Acessando a opção "Armazenamento", você pode alterar a configuração dos discos virtuais e imagens
de boot, não apenas trocando a imagem do drive óptico virtual, mas também adicionando novos discos
virtuais (ou acessando discos já existentes) e assim por diante. Uma forma rápida de recuperar arquivos
dentro de uma VM cujo sistema operacional deixou de inicializar, por exemplo, é simplesmente conectá-lo a
outra máquina virtual.

Na configuração do drive óptico virtual, a opção "Drive do Hospedeiro" faz com que o VirtualBox
simplesmente compartilhe o CD/DVD dentro do drive, permitindo que você use mídias gravadas em vez de
arquivos ISO no HD.

Com tudo pronto, clique no "Iniciar" para ativar a VM. Se você compartilhou corretamente o CD ou
DVD de instalação, a instalação do sistema será aberta diretamente. A partir daí, é só instalar o sistema e os
programas, como faria em um PC real, incluindo o particionamento do disco virtual:

Ao clicar sobre a janela da VM, o cursor do mouse e o foco do teclado são capturados e direcionados
para a janela. Para liberar o cursor, é necessário pressionar a tecla Ctrl direita (diferente do VMware, onde é
usado Ctrl+Alt), tecla que pode ser personalizada nas configurações.

Se você estiver instalando uma distribuição Linux ou qualquer outro SO com vários CDs, use as
opções "Dispositivos > Desmontar CD/DVD-ROM" e "Dispositivos > Montar CD/DVD-ROM" para
trocar os CDs durante a instalação. O mesmo se aplica se você estiver instalando a partir de vários arquivos
ISO, basta clicar sobre o ícone do CD na área de notificação e usar a opção "Selecione um arquivo de
CD/DVD virtual" para trocar a mídia. Esta mesma opção pode ser usada a qualquer momento para trocar a
imagem dos discos virtuais a qualquer momento:

581
Uma dica geral é que você desative todos os efeitos visuais, animações e outras perfumarias dentro da
máquina virtual, deixando o sistema com um visual o mais limpo possível. O motivo é simples: tudo o que é
feito dentro da máquina virtual precisa ser processado pelo VirtualBox, consumindo memória e ciclos de
processamento da máquina.

Os efeitos visuais são especialmente taxativos, já que precisam ser executados via software, diferente
do que ocorre em um PC real, onde parte do trabalho seria realizado pela placa de vídeo (graças aos recursos
de aceleração). Usando o estilo e a barra de tarefa clássica do Windows XP, desativando efeitos e animações e
desabilitando a proteção de tela e assim por diante, você conserva os recursos para o que é realmente
importante, ou seja, rodar os aplicativos.

Instalando os extras para o convidado

Como comentei, o VirtualBox oferece um conjunto de drivers para instalação dentro do hospedeiro,
que melhoram consideravelmente o desempenho e ativam a função de ajuste automático da resolução quando
você redimensiona a janela, bem como foco automático para o mouse (que elimina a necessidade de ficar
pressionando a tecla host para liberar o mouse).

Ele é instalado usando a opção "Dispositivos > Instalar adicionais para o convidado", o que simula a
inserção de um CD-ROM dentro do convidado, contendo o software de instalação. Para reduzir o tamanho
do pacote, a equipe do VirtualBox optou por não incluir as imagens diretamente, por isso o software irá se
oferecer para baixar a imagem e salvá-la em um diretório dentro do home.

No Windows o sistema executa o autorum por default, de modo que o instalador abre sozinho e você
precisa apenas do tradicional "next > next > finish". Uma observação fica em relação ao suporte 3D para o
vídeo, caso você opte por ativar esta opção.

Todas as versões recentes do VirtualBox oferecem suporte experimental a aceleração 3D para o


sistema convidado, opção que pode ser ativada na seção "Monitor > Vídeo" das configurações. O suporte 3D
funciona tanto no Linux quanto no Windows (presumindo naturalmente que os drivers 3D da placa estejam
corretamento instalados no host). Assim como em uma placa 3D real, suporte a 3D significa que a memória
de vídeo passará a ser usada para armazenar texturas e outras informações, por isso ao ativar a opção é
necessário aumentar o volume de memória de vídeo compartilhada, em geral pelo menos 64 MB.

Enquanto escrevo, o suporte é ainda experimental e provavelmente continuará assim por mais alguns
anos. Ele não é inteiramente estável e o desempenho em muitas situações é ainda baixo, mas ele já é bem
utilizável para rodar jogos antigos e aplicativos 3D que não demandem muito da máquina:

582
A opção de instalar os drivers 3D é oferecida aos instalar os add-ons para o convidado. Entretanto,
para instalar o suporte a 3D para uma VM com o Windows, é necessário instalar os add-ons com o sistema
rodando em modo de segurança (pressione F8 durante o boot para acessar o menu), caso contrário o
instalador aborta a instalação.

Para a instalação dos drivers em VMs com o Linux, o processo é mais manual, já que depois de inserir
a imagem você anda precisará montar o CD-ROM virtual e instalar os drivers manualmente dentro do
sistema convidado via linha de comando.

Comece instalando o pacote "dkms" no sistema convidado, usando o gerenciador de pacotes. Este é
um pequeno daemon que se encarregará de recompilar os módulos do VirtualBox quando o kernel do
sistema guest for atualizado. Sem ele, você perderá a instalação dos add=ons cada vez que isso acontecer.

Depois de instalado o dkms, monte o CD virtual, acesse a pasta e, dentro dela, execute o arquivo
VBoxLinuxAdditions.run (como root), o que executará o instalador:

# ./VBoxLinuxAdditions.run

Algumas distribuições, como no caso das versões recentes do Ubuntu, já trazem os headers do kernel
e os compiladores básicos e como resultado você pode rodar o instalador diretamente, sem precisar se

583
preocupar em instalar estes componentes. Em outras distribuições entretanto é preciso primeiro instalá-los
usando o gerenciador de pacotes.

No Fedora, instale o pacote "gcc". No OpenSUSE, instale os pacotes "make" e "gcc" e em seguida
use o comando "uname -a" para descobrir a versão do kernel em uso e em seguida instale o pa cote "kernel-
devel" correspondente, como em " kernel-2.6.31.12-0.2-devel. No Debian os passos são similares,
envolvendo a instalação dos pacotes "make" e "gcc", bem como o pacote com os headers da versão do kernel
em uso, como em "linux-headers-2.6.26-2-686".

Como opção, você pode instalar o pacote "virtualbox-guest-additions" ou similar caso disponível no
repositório da distribuição. Ao ser instalado, o pacote disparará um script de configuração que se encarregará
de gerar os módulos e instalá-los. Embora nem sempre as distribuições ofereçam a versão mais recente do
pacote, instalá-lo a partir do repositório é geralmente a opção mais fácil.

Além do suporte a resoluções de vídeo mais altas e melhorias de desempenho, outra grande melhoria
que você notará depois de instalar os drivers é que o cursor do mouse não ficará mais "preso" dentro da tela
da máquina virtual até que você pressione a tecla Ctrl, o que permite usar a máquina virtual de uma maneira
muito mais transparente. A janela simplesmente passa a se comportar da mesma forma que outro aplicativo
qualquer.

Como se não bastasse, você ganha também a possibilidade de redimensionar a janela, com o sistema
convidado ajustando a resolução de tela automaticamente, sem ficar preso às resoluções padrão. Você pode
inclusive usar o botão de maximizar, para que a janela passe a ocupar todo o espaço útil da tela. Para ativar ou
desativar, marque a opção "Visualizar > Redimensionar Tela Automaticamente", ou simplesmente pressione
Host+G:

Outra opção interessante, que pode ser ativada no mesmo menu, é o "Modo Seamless", que integra o
desktop da máquina virtual ao desktop principal, fazendo com que os aplicativos nativos e os aplicativos
rodando dentro da máquina virtual sejam executados lado a lado. Como você pode ver no screenshot, você
fica com duas barras de tarefas:

584
Esta é uma possibilidade interessante especialmente ao usar o Unity ou outra interface que use a barra
de tarefas na vertical, já que ao usar outro sistema com uma barra tradicional no guest, ela ocupará a parte
inferior, sem roubar muita área útil. Caso os dois sistema usem barras horizontais, a barra do guest ficará
sobre a barra do host:

Na verdade, o modo seamless não passa de um truque gráfico, que faz com que o fundo da janela com
a máquina virtual fique transparente, dando a impressão de que você tem um desktop só. Apesar disso, o
resultado é realmente interessante. Um usuário que não soubesse como o sistema funciona teria realmente a
impressão de estar rodando algum tipo de sistema híbrido.

Mais configurações

A janela de configurações da máquina virtual esconde mais uma infinidade de opções importantes.
Muitas delas são novidade nas versões recentes do VirtualBox, por isso mesmo que você já o tenha usado no
passado, pode ser que não conheça muitas delas.

Na aba "Geral > Avançado" permite definir a pasta onde serão gravados os snapshots, um recurso
bastante engenhoso do VirtualBox, que permite salvar o status da máquina virtual em qualquer ponto,
voltando a ele posteriormente caso desejado. Você pode criar um snapshot antes de fazer mudanças na
configuração do sistema e voltar para ele caso algo dê errado por exemplo, sem ter que passar pelo processo
normal de recuperação do sistema:

Os snapshots armazenam tanto estado da memória RAM quanto dos arquivos no HD, permitindo
que a VM seja restaurada exatamente no ponto em que estava quando o snapshot foi gravado. Em ve de
gravar uma cópia burra do status, o VirtualBox armazena uma cópia diferencial, que é bem mais eficiente no
uso do espaço. O tamanho dos snapshots em disco varia de acordo com a complexidade da VM, podendo
ocupar de algumas centenas de megabytes a vários gigabytes de espaço.

585
Você pode salvar vários deles, mas não se esqueça de acompanhar o uso de espaço em disco. Eles são
gerados através botão "Snapshots" ao lado do "Detalhes". Você pode salvar um snapshot a qualquer instante,
mas é necessário que a VM esteja desligada para que você possa retornar a um snapshot anterior.

O VirtualBox suporta o compartilhamento da área de transferência com a VM, que nas versões atuais
vem habilitado por padrão. Em geral você vai desejar que ele seja bi-direcional, mas alguns consideram isso
uma brecha de segurança, o que deu origem à opção.

Outra opção interessante é a opção Clonar, disponível no menu da janela principal do VirtualBox
(selecione a VM na lista e use a opção "Máquina > Clonar"). Embora seja possível clonar uma VM
simplesmente copiando a pasta, a opção de clonar é mais flexível, com a opção de criar uma cópia diferencial
da VM, que similarmente a um snapshot usa os arquivos da VM original como ponto de partida,
armazenando apenas uma cópia diferencial, diferente do clone completo onde todos os arquivos são
duplicados, criando uma nava VM, completamente independente da primeira:

Assim como os snapshots, os clones são muito úteis na hora de fazer testes e experiências diversas,
pois você pode fazer qualquer coisa destrutiva dentro da cópia e depois simplesmente deletá-la, voltando à
VM original.

Outra opção relacionada é a "Arquivo > Exportar Appliance", que permite empacotar uma VM já
configurada, deixando-a pronta para ser instalada em outras máquinas usando a opção "Arquivo > Importar
Appliance". Novamente, é outra tarefa que poderia ser executada copiando a pasta, mas que fica mais prático
usando a função:

586
Continuando, uma das preocupações com o uso de VMs é que elas consumam todos os recursos do
sistema, deixado o PC lento e irresponsível. Isso pode ser resolvido na opção "Sistema > Processador", onde
você pode definir o número de núcleos disponíveis para a VM, bem como o percentual de utilização. A regra
geral é que se você for reservar apenas um núcleo (o default) não existe problema em liberar 100% da
utilização, mas se você for liberar o uso de todos os núcleos (melhorando assim o desempenho dentro da
VM) é melhor ser um pouco mais precavido:

Além das opções relacionadas à memória e à ordem de boot, a aba "Placa-Mãe" oferece as opções de
ativar o IO APIC (que deve ficar marcado ao rodar o Windows, bem como ao ativar o uso de mais de um
núcleo para a VM) e o suporte ao EFI (necessário para instalar sistemas operacionais específicos, projetados
para usar o EFI em vez do BIOS). O uso do EFI torna a máquina virtual incompatível com sistemas que não
o suportam, ele é mesmo apenas para casos específicos. Concluindo, a aba "Aceleração" contém as opções
relacionadas ao Intel VT-x e do AMD-V. Hoje em dia, com exceção de alguns modelos do Celeron e
Pentium, praticamente todos os processadores suportam estas funções, que melhoram consideravelmente o
desempenho dentro da VM.

Além da quantidade de memória de vídeo e o suporte a aceleração 3D, a seção "Monitor" esconde
uma novidade das versões recentes do VirtualBox, que é a habilidade de simular uma VM com dois ou mais
monitores (mesmo que você tenha um único monitor no host), abrindo uma janela separada para cada
monitor virtual:

587
Se os recursos do hospedeiro permitirem, é possível criar até 8 monitores virtuais o que abre muitas
possibilidades de testes. Se você usa dois ou mais monitores no host, criar uma VM com o mesmo número
também permite que ela seja maximizada de forma a ocupar toda a área útil, em todos os monitores.

A seção "Armazenamento", permite alterar a configuração dos discos virtuais e imagens de boot,
adicionando novos discos virtuais (ou acessando discos já existentes) ou mesmo mudando a configuração das
controladoras virtuais. Assim como você pode retirar o HD de uma máquina e instalar em outra, você pode
também conectar os discos virtuais de uma máquina virtual em outra, mudar um disco de interface e assim
por diante:

Neste screenshot por exemplo, estou usando duas controladoras virtuais, uma IDE, onde estão
conectados o HD primário e o CD-ROM virtual e uma SATA, onde está conectado um segundo HD virtual.

588
O VirtualBox permite usar controladores virtuais IDE, SATA, SCSI e até mesmo SAS e, assim como
em uma máquina real, existe diferença no nível de utilização do processador entre as diferentes interfaces,
com a IDE virtual oferecendo um desempenho um pouco mais baixo e uma utilização de processador um
pouco mais alta que uma SATA. Por outro lado, para usar SATA é necessário que o sistema guest ofereça
suporte a controladores SATA, o que faz com que o VirtualBox use o IDE em muitos casos, de acordo com
o sistema operacional que especificar na tela inicial. De qualquer forma, você pode alterar a configuração
manualmente a qualquer tempo, desconectado um HD virtual de uma interface IDE e o conectado à
interface SATA, por exemplo.

A opção "Tipo" permite definir qual o chipset da controladora que será simulado. Até a versão 3.x do
VirtualBox estava disponível apenas o velho PIIX3, um chipset usado na época do Pentium II, que não é
mais bem suportado por alguns sistemas operacionais atuais. A partir da versão 4, estão disponíveis também o
PIIX4 (a opção recomendável para a maioria dos casos) e também o novo ICH6, que embora ainda
experimental, é necessário para a instalação de alguns sistemas recentes, como o OS X Server.

A opção "Utilizar cache de I/O do hospedeiro" pode ser desmarcada em situações em que você
deseje reduzir o consumo de recursos no host (em especial memória) em troca de uma pequena redução no
desempenho de acesso a disco da VM. Em resumo, os discos virtuais do VirtualBox são acessados pelo
sistema como qualquer outro arquivo, com o emprego do cache de disco (que por sua vez é feito usando uma
parte reservada da memória RAM). O problema é que os discos virtuais são geralmente arquivos muito
grandes, o que faz com que o cache de disco do host fique rapidamente saturado. Desabilitando a opção, o
VirtualBox passará a usar um pequeno cache próprio para as operações de escrita, que é combinado pelo
cache de disco feito pelo próprio sistema guest.

Por default, o VirtualBox compartilha a placa de som com o hospedeiro, reproduzindo todos os
fluxos de áudio gerados pelas VMs. Em muitos casos, isso pode ser exatamente o que você quer, já que
permite usar editores de vídeo, aplicativos de video-conferência e etc. que talvez não estejam disponíveis no
sistema host. Por outro lado, isso pode às vezes se tornar inconveniente.

Na seção "Áudio" é possível desabilitar o compartilhamento do som com a VM, bem como escolher o
dispositivo de saída. Se você tiver mais de uma interface de som (uma segunda placa de som USB, por
exemplo), você pode usar essa opção para atribuí-la à máquina virtual, fazendo com que ela possua seu
dispositivo de som próprio

A seção "Rede" permite ajustar a configuração das interfaces de rede virtuais. Por default o VirtualBox
usa uma interface em modo NAT, com o convidado recendo um endereço IP na faixa 10.0.x.x e acessando a
Internet através do compartilhamento da conexão do host. Este modo funciona bem enquanto você quer
apenas usar a VM como cliente, acessando a web, mas a partir do momento que você quiser que ela fique
disponível para a rede local ou para a Internet, ela se revela inadequada, pois a interface fica inacessível até
mesmo para o host, de forma que a única maneira de acessar serviços dentro da VM seria criar manualmente
redirecionamentos de porta via linha de comando com o VBoxManage. Naturalmente, existem outras opções
mais simples, como veremos no tópico sobre a configuração da rede a seguir.

Um ponto alto do VirtualBox é o compartilhamento de dispositivos USB, o que permite que até
mesmo dispositivos incompatíveis com o sistema operacional host sejam usados dentro da VM. O
compartilhamento é feito de forma simples, mas para que o suporte a dispositivos USB 2.0 funcione, é
necessário que o Oracle VM VirtualBox Extension Pack esteja instalado.

Como comentei no início, em versões antigas, o VirtualBox era distribuído na forma de duas versões
separadas, a versões open-source, de distribuição livre e a versão PUEL (nomeada por causa da licença usada)
que continha alguns componentes proprietários (com destaque para os módulos de acesso remoto e suporte
ao compartilhamento de dispositivos USB 2.0) que era distribuída separadamente pela Oracle. A partir do
VirtualBox 4 isso mudou, com a versão livre passando a ser a única disponibilizada e os componentes
proprietários passando a serem distribuídos através de uma extensão, o "Oracle VM VirtualBox Extension
Pack". Apesar de proprietária, esta é uma extensão de download gratuito, que pode ser baixada no:
http://www.oracle.com/technetwork/server-storage/virtualbox/downloads/

O download é o mesmo para todas as plataformas, já que se trata de uma extensão para uso do
próprio VirtualBox, e não e um arquivo executável. De posse do arquivo, você pode instalá-lo usando o
comando "VBoxManage extpack install" (com seu login de usuário) como em:

$ VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-4.1.12-77245.vbox-extpack

589
Uma vez instalada a extensão, você pode habilitar o suporte ao USB 2.0 marcando a opção "Habilitar
Controladora USB 2.0 (EHCI)". Caso os dispositivos USB do host não estejam aparecendo na lista é
provável que seu login de usuário não tenha sido adicionado automaticamente no grupo "vboxusers" e por
isso o VirtualBox não esteja recebendo permissão para acessá-los. Para resolver isso, basta usar o comando
"adduser" para adicionar seu login ao grupo, como em:

$ sudo adduser gdh vboxusers

Feito isso, faça log-out e ao logar novamente os dispositivos devem aparecer normalmente.

Juntamente com o suporte ao USB 2.0, outro recurso que fica disponível ao instalar o extpack é o
suporte à visualização de tela remota, disponível no "Monitor > Tela Remota":

Esta opção permite que a VM seja acessada externamente usando qualquer aplicativo compatível com
o protocolo RDP, como o mstsc (no Windows) ou o rdekstp (no Linux). Basta conectar-se da forma usual,
especificando o endereço e a porta, como em:

$ rdesktop 192.168.1.34:3389

Este terminal remoto é um recurso do VirtualBox e não do sistema guest, por isso funciona em
conjunto com qualquer sistema operacional.

Além da porta, você precisa definir o método de autenticação, opção que demanda mais atenção. Por
default é usada a opção "Nula", que simplesmente permite que qualquer um se conecte à VM, sem segurança
alguma. A opção "Externa" usa a biblioteca de autenticação do VirtualBox, que permite o acesso com base
nas contas de usuário do sistema host. Em outras palavras, ao usar esta opção você usaria seu próprio login e
senha de usuário no sistema principal para acessar as VMs remotamente, em vez das contas criadas na própria
VM. A terceira opção "Convidado" ´e uma opção ainda experimental, que tenta fazer a autenticação
diretamente em relação às contas de usuários cadastradas no sistema guest. Ela pode não funcionar
adequadamente em alguns casos ou apresentar problemas diversos, sempre que isso acontecer a melhor
solução é voltar para a opção "Externa".

Concluindo, a opção "Pastas Compartilhadas" no final da lista permite compartilhar pastas do HD


com o sistema dentro da máquina virtual, o que possibilita a troca de arquivos entre os dois. As pastas
compartilhadas aparecem como unidades de rede dentro da VM, o que funciona diretamente no Windows
(basta acessar o ambiente de rede) mas exige configuração adicional em hosts com outros sistemas, com a
instalação do Samba e a configuração do acesso à rede.

Usando o VirtualBox via linha de comando

Além de todas as opções visuais, o VirtualBox também oferece vários utilitários de linha de comando
para controle e modificação das máquinas virtuais, que oferecem opções adicionais.

O principal deles é o VBoxManage, que permite acionar as VMs diretamente via linha de comando
(sem precisar primeiro abrir a janela principal do VirtualBox), permitindo até mesmo criar e deletar VMs
diretamente, sem precisar passar pela interface principal.

590
Para iniciar uma VM já configurada, use-o com o parâmetro "startvm", seguido pelo nome da VM
entre aspas (caso ele contenha espaços), como em:

$ VBoxManage startvm "Windows XP"

Embora o processo seja complexo (útil apenas você esteja criando scripts ou uma interface própria)
ele pode ser usado também para criar uma VM diretamente via linha de comando, como em:

$ VBoxManage createvm -name "Slack" -register

O problema nesse caso é que a VM será criada usando as configurações padrão (apenas 128 MB de
RAM, sem disco virtual, etc.). Para criar o disco virtual, você usaria o comando a seguir, especificando o
arquivo (para manter as coisas organizadas, crie um arquivo .vdi dentro da pasta da VM com o mesmo nome)
e o tamanho máximo (em MB). O default é já criar um disco de tamanho variável:

$ VBoxManage createhd --filename /mnt/sda6/VMs/Slack/Slack.vdi --size 10000 -register

Este HD virtual precisa ser ainda ataxado à VM, um processo um pouco complicado devido ao
grande número de parâmetros necessários:

$ VBoxManage storagectl "Slack" --name "SATA Controller" --add sata


$ VBoxManage storageattach "Slack" --storagectl "SATA Controller" --port 0 --device 0 --type hdd --
medium /mnt/sda6/VMs/Slack/Slack.vdi

Para ataxar um arquivo ISO como drive óptico virtual, os comandos seriam:

$ VBoxManage registerimage dvd /mnt/ISOs/Slackware.iso


$ VBoxManage storagectl "Slack" --name "IDE Controller" --add ide
$ VBoxManage storageattach "Slack" --storagectl "IDE Controller" --port 0 --device 0 --type dvddrive
--medium /mnt/ISOs/Slackware.iso

A quantidade de memória RAM, juntamente com outros parâmetros pode ser modificada usando a
opção "modifyvm", como em:

$ VBoxManage modifyvm "Slack" --memory 512 --vram 32 --boot1 dvd

O VBoxManage suporta um volume assustadoramente grande de opções, incluindo até mesmo muitas
que não estão disponíveis na interface gráfica (você pode até mesmo modificar a tela do BIOS virtual). Você
pode ver uma descrição delas no "man VBoxManage".

Um bom exemplo de opção que está disponível apenas através dele é a "modifyhd", que permite
redimensionar um disco virtual previamente criado, muito útil em situações em que você precisa de mais
espaço disponível:

$ VBoxManage modifyhd /mnt/sda6/VMs/Slack/Slack.vdi --resize 20000

Neste exemplo, redimensionamos o disco virtual criado no exemplo anterior para 20.000 MB, que
dentro do cálculo dos fabricantes equivale a 20 GB. Veja que neste comando especificamos diretamente o
arquivo e não a VM.

Para ver todas as informações sobre uma VM diretamente pelo terminal, use o parâmetro
"showvminfo":

$ VBoxManage showvminfo Slackware

Continuando, temos também a opção de inicializar VMs em modo headless, onde a VM inicia
normalmente e fica acessível via rede como de costume, mas a janela gráfica com o desktop não é aberta.
Este modo oferece a vantagem de economizar recursos em situações onde você está configurando uma VM
como servidor ou como algum tipo de appliance para a qual a janela gráfica seria simplesmente uma distração
ou em casos em que esteja rodando o VirtualBox em um servidor remoto. O comando em si é simples:

$ VBoxHeadless -s "Slack" &

591
Em qualquer um destes casos, você começaria criando a VM e instalando o sistema operacional da
forma usual, configurando a rede e ativando o SSH, RDP ou outro sistema de acesso remoto. Uma vez que a
VM estiver configurada, aí sim você pode passar a usá-la em modo headless. No caso de um servidor remoto,
você poderia copiar a pasta com uma VM já configurada.

Para desligar uma VM aberta desse modo, recorremos novamente ao VBoxManage, usando o
parâmetro "controlvm":

$ VBoxManage controlvm "Windows XP" poweroff

Além do "poweroff", que como esperado desliga a máquina, ele suporta também os parâmetros
"reset", "pause", "resume" e "savestate".

Outro comando interessante é o VBoxSDL, que é a minha "interface" preferida para o VirtualBox.
Ele oferece como diferencial o fato de rodar a VM em uma janela "limpa", sem todos os menus e indicadores
que seriam exibidos normalmente. Além de permitir ganhar tempo (você pode inclusive colocar os comandos
em ícones no desktop para acesso rápido às VMs) isso libera mais espaço útil na tela, ajudando a quem usa
um notebook ou monitor de resolução mais baixa. Basta usar o comando "VBoxSDL -vm", seguido do nome
da VM, como em:

$ VBoxSDL -vm "Windows XP"

O VBoxSDL é muito prático para quem já está habituado com os atalhos usando as teclas Host que
mostrei no início (Host+F, Host+H, Host+C, etc.) que permitem controlar o status da máquina virtual com
poucos cliques, iniciando e parando-as com muita agilidade.

Uma pequena dificuldade nesse caso é que o VBoxSDL não lê a configuração da tecla de host definida
na interface (já que ele é completamente independente dela) usando sempre a tecla Ctrl direita, que é o
default. Caso você queira usar outra tecla, comece usando o "VBoxSDL --detecthostkey " que vai exibir uma
janela onde você pode pressionar a nova tecla para obter o identificador dela, te devolvendo algo como "--
hostkey 306 64" (para a tecla Ctrl esquerda). Basta adicionar este parâmetro no comando para iniciar a VM,
como em:

$ VBoxSDL -vm "Windows XP" --hostkey 306 64

Para não precisar ficar especificando o parâmetro todas as vezes, adicione um alias para o comando no
final do arquivo ".bashrc" dentro do seu diretório home, como em:

alias VBoxSDL='VBoxSDL --hostkey 306 64'


Dessa forma, sempre que executar o comando "VBoxSDL" os parâmetros serão incluídos
automaticamente pelo interpretador. Você pode também adicionar outros parâmetros que você use sempre.

Voltando às opções, para iniciar a VM em tela cheia, adicione o parâmetro "--fullscreen". Para iniciar a
VM com uma quantidade diferente de memória RAM que a configurada, use o parâmetro "--memory",
especificando a memória desejada (em MB) como em:

592
$ VBoxSDL -vm "Mageia" --memory 512

A opção "--cdrom" permite especificar manualmente uma imagem ISO, enquanto a "--boot" permite
especificar manualmente a ordem de boot ("a" para disquete, "c" para o primeiro HD, "d" para o drive óptico
e "n" para rede). Você pode usar as duas para fazer a VM iniciar diretamente pelo CD quando precisar
reinstalar ou modificar o sistema, como em:

$ VBoxSDL -vm "Ubuntu LTS" --cdrom /mnt/sda6/ISOs/linuxmint.iso --boot d

O VBoxSDL suporta vários outros parâmetros, que você pode checar usando o "man VBoxSDL".

Configuração da rede virtual

Se você tiver a curiosidade de checar a configuração da rede dentro do guest, verá que a máquina
virtual recebe sempre um endereço IP dentro da faixa "10.0.x.x" e usa o endereço "10.0.2.2" como gateway
padrão, configuração que é obtida automaticamente via DHCP (mesmo que você não tenha um servidor
DHCP na rede).

Isso acontece por que o VirtualBox cria uma interface de rede virtual entre o sistema convidado e o
host, que é usada para estabelecer a comunicação entre os dois sistemas e também para compartilhar a
conexão via NAT, permitindo que o sistema dentro na máquina virtual navegue e acesse outras máquinas da
rede local.

Na hora de trocar arquivos entre os dois sistemas, você pode utilizar o recurso de compartilhamento
de pastas, disponível através do "Dispositivos > Pastas Compartilhadas". Ele permite que você compartilhe
pastas entre o sistema hospedeiro e o guest de forma bastante simples, especificando as permissões de acesso
para cada uma:

As pastas compartilhadas aparecem no ambiente de redes, no "Toda a Rede > VirtualBox Shared
Folders" e podem ser mapeadas, da mesma forma que um outro compartilhamento de redes qualquer. Como
você pode imaginar, o VirtualBox cria na verdade um compartilhamento de rede oculto, que fica acessível
apenas para o sistema dentro da máquina virtual. Este compartilhamento de arquivos também funciona bem
no Linux, basta usar o Nautilus ou qualquer outro gerenciador de redes que ofereça suporte a
compartilhamentos de rede do Windows.

593
Entretanto, se você desejar fazer o caminho inverso, ou seja, fazer com que o sistema guest é que
compartilhe pastas, utilizar softwares de acesso remoto ou que ele fique acessível na rede, você esbarra nas
limitações deste sistema.

A primeira solução nesse caso seria criar um redirecionamento de portas, o que pode ser feito via linha
de comando com o VBoxManage, ou usando a opção "Redirecionamento de Portas" na configuração, que
fica disponível apenas ao usar o modo NAT:

Nesse caso, por exemplo, a porta 2222 do host passará a encaminhar para a porta 22 na máquina
virtual, permitindo que ela seja acessada via SSH. Note que os campos com o endereço IP do hospedeiro e
do convidado ficaram em branco, o que simplifica a configuração, fazendo com que os pacotes recebidos em
qualquer interface do host sejam encaminhados. Na verdade estes campos são usados apenas quando você
deseja restringir o encaminhamento, fazendo com que apenas os pacotes recebidos em uma certa interface
sejam encaminhados.

Naturalmente, essa não é a solução mais prática, especialmente se você precisa redirecionar várias
portas. Chegamos então à configuração da rede em modo bridge. Em versões antigas do VirtualBox isso
exigia uma configuração complicada, envolvendo instalar o pacote bridge-utils e escrever um script com os
comandos para criar um bridge entre a interface de rede do host e a interface virtual do guest, como em:

#!/bin/sh

# Carrega o módulo e ajusta as permissões:


modprobe tun
chmod 666 /dev/net/tun

# Cria a interface br0, usada pelo bridge:


brctl addbr br0

# Adiciona a interface de rede no bridge:


ifconfig eth0 0.0.0.0 promisc
brctl addif br0 eth0

# Reconfigura a rede:
ifconfig br0 192.168.1.41 netmask 255.255.255.0
route add default gw 192.168.1.1 dev br0

# Adiciona a interface virtual ao bridge, especificando o usuário:


VBoxAddIF vbox1 gdh br0

Felizmente estes tempos passaram. Desde a versão 2.1 o VirtualBox passou a se encarregar
diretamente de criar o bridge virtual, sem demandar nenhuma configuração externa. Para alterar o modo de
operação da placa basta acessar a seção "Rede" dentro da configuração da VM, usando a opção "Placa em
modo Bridge" para a interface virtual:

594
Veja que a sessão oferece abas separadas, permitindo a configuração de 4 adaptadores de rede virtuais,
com configurações independentes. Isso permite simular a configuração de PCs com várias interfaces de rede,
em situações onde isso for necessário, como no caso de roteadores e firewalls.

O campo "nome" lista as interfaces de rede disponíveis no host (eth0, wlan0, etc.), permitindo que
você escolha a qual a interface virtual será conectada. No VirtualBox 4 ainda existem algumas limitações no
suporte a interfaces wireless, como a falta de suporte a IPV6, mas no geral o suporte a elas já funciona bem.
No caso das interfaces cabeadas por sua vez o suporte é total, incluindo até mesmo suporte a jumbo frames.

A seção avançado esconde mais alguns campos. O "Tipo de placa" indica qual chipset será simulado
para a interface virtual. Tradicionalmente, o AMD PCnet é a opção mais usada, mas como se trata de um
chipset antigo, que já não é bem suportado por alguns sistemas operacionais recentes, está disponível também
a opção de simular um chipset Intel PRO/1000.

A última opção, "Rede paravirtualizada (virtio-net)" dispensa a simulação do hardware de rede,


dependendo do suporte ao virtio-net por parte do guest. Este é um padrão de rede desenvolvido pelos
criadores do projeto KVM, que demanda a instalação do driver apropriado no sistema guest. Os drivers para
Linux (pré-instalados em muitas distribuições) estão disponíveis no http://www.linux-kvm.org/page/Virtio e
os para Windows no http://www.linux-kvm.org/page/WindowsGuestDrivers. Uma vez que os drivers são
instalados, a rede virtual se comporta da forma usual. Em resumo, essa opção adiciona uma etapa adicional na
configuração, em troca de um overhead mais baixo e um melhor desempenho.

Concluindo, o "Modo promíscuo" permite que o tráfego de dados nas interface possa ser escutado
usando softwares de monitoramento como o Ethereal, o que pode ser útil na hora de detectar problemas ou
estudar sobre o comportamento de sistemas ou softwares, mas é por outro lado um risco de segurança em
sistemas de produção. Se a ideia é simplesmente que a rede funcione, o modo promíscuo pode ficar
desativado.

VMWARE SERVER EM DESKTOPS

Apesar do "server" no nome, o VMware Server é outra boa opção de virtualização para uso em
desktops. Embora consuma mais recursos da máquina, ele é, em muitos aspectos, mais fácil de configurar que
o VirtualBox e oferece um recurso bem interessante, que é a possibilidade de acessar as máquinas virtuais em
outros PCs da rede, usando o navegador.

Embora não seja um aplicativo open-source, nem de livre distribuição, ele é inteiramente gratuito:
você precisa apenas fazer um registro simples para obter o serial e a licença de utilização.

595
Diferente do que temos no caso do VMware Player (que abordei na introdução do livro), ele é uma
solução completa, que inclui as opções para criar e modificar as máquinas virtuais, sem restrições. Ele é
fornecido gratuitamente como uma forma de divulgação para as soluções corporativas da VMware, com as
quais a empresa realmente ganha dinheiro.

Comece abrindo o http://www.vmware.com/products/server/ e acessando a seção de download. É


necessário preencher o cadastro e criar uma conta, fornecendo um e-mail válido. Depois de acessar o link de
ativação enviado por e-mail, você chega à página de download, no topo da qual são mostrados dois seriais
(um para a versão Linux e outro para a versão Windows), que você precisa fornecer durante a instalação.

Na página você tem a opção de baixar um pacote .rpm ou um pacote .tar.gz. Na verdade, o conteúdo
dos dois é rigorosamente o mesmo, a única diferença é que o .tar.gz é mais fácil de instalar em várias
distribuições, já que basta descompactar o arquivo e executar o instalador. Independente do processador
usado, a versão de 64 bits deve ser usada apenas ao utilizar uma distribuição compilada para processadores de
64 bits.

Instalando o VMware Server

Para funcionar, o VMware precisa gerar um conjunto de módulos de kernel, para acesso de baixo nível
aos recursos do sistema. O pacote inclui módulos pré-compilados para diversas distribuições comuns
(Fedora, Mandriva, etc.), mas a lista deixa de fora muitas distribuições, incluindo o Ubuntu e outras
distribuições derivadas do Debian. No caso delas, é necessário ter instalados os headers do kernel e os
compiladores básicos. Para o Ubuntu, você precisa apenas do pacote "build-essential":

# apt-get install build-essential

Para iniciar a instalação propriamente dita, você precisa apenas descompactar o arquivo, acessar a
pasta criada e executar o "/vmware-install.pl" como root (ou usando o sudo):

$ tar -zxvf VMware-server-2.0.0-122956.i386.tar.gz


$ cd vmware-server-distrib
$ su
# ./vmware-install.pl

O VMware usa um instalador em texto extremamente simples, o que permite que ele seja instalado em
servidores sem interface gráfica, como é muito comum em ambientes de produção. Ele começa fazendo
várias perguntas sobre os diretórios de instalação (aceite todas, deixando que ele use os diretórios padrão).
Depois de copiados os arquivos, ele executa o "/usr/bin/vmware-config.pl", que é o responsável por gerar
os módulos e executar os demais passos da instalação:

Before running VMware Server for the first time, you need to configure it by
invoking the following command: "/usr/bin/vmware-config.pl". Do you want this
program to invoke the command for you now? [yes]
Ele começa confirmando a localização do gcc e dos headers do kernel. Assim como nos passos
anteriores, as opções são preenchidas automaticamente e você só precisa pressionar Enter:

None of the pre-built vmmon modules for VMware Server is suitable for your

596
running kernel. Do you want this program to try to build the vmmon module for
your system (you need to have a C compiler installed on your system)? [yes]

What is the location of the directory of C header files that match your running
kernel? [/lib/modules/2.6.27-7-generic/build/include]
Em caso de erros durante a geração dos módulos, verifique se os compiladores e os headers do kernel
estão mesmo instalados. Abra o gerenciador de pacotes e procure pelos pacotes "gcc", "cpp", "g++" e pelo
pacote "linux-headers" correspondente à versão em uso.

O VMware possui problemas recorrentes de instalação em versões recentes do kernel, o


que afeta quem usa versões de desenvolvimento das distribuições (que sempre utilizam versões
muito recentes do kernel). Ao tentar instalar em uma versão do kernel que ainda não é suportada,
ele exibirá um erro na etapa de compilação dos módulos e a instalação será abortada.

Nesses casos, a única saída é tentar fazer a instalação usando o vmware-any-any, um patch
destinado a permitir a instalação do VMware em versões não suportadas do kernel. Baixe a versão
mais recente no http://groups.google.com/group/vmkernelnewbies/files/

Para usá-lo, descompacte o arquivo, acesse a pasta que será criada e execute o arquivo
"runme.pl". Ele aplicará o patch e executará novamente o instalador do VMware, concluindo a
instalação.

Se nem com ele você conseguir instalar, é por que realmente não tem jeito. Nesse caso, as
soluções são fazer o downgrade da versão do kernel (o que nem sempre é simples, já que as
distribuições normalmente disponibilizam apenas atualizações e não backports de versões antigas)
ou aguardar o lançamento de uma nova versão do VMware que corrija o problema. Se não puder
esperar, você pode também acompanhar as mensagens no http://www.vmware.com/community/
ou fazer buscas no Google por "vmware kernel versão" (como em "vmware kernel 2.6.30") para
verificar se não existe alguma receita ou um patch extra-oficial para fazer a instalação.

As perguntas seguintes são relacionadas à configuração da rede. O VMware cria um "hub virtual", ao
qual as máquinas virtuais são conectadas. Com isso, os sistemas dentro das VMs podem acessar a rede
normalmente, exatamente da mesma forma que fariam se estivessem ligados diretamente ao switch ou ponto
de acesso, usando seus próprios endereços IP e tudo mais.

O VMware se encarrega de encaminhar corretamente os pacotes recebidos, simulando inclusive a


existência de diversos endereços MAC, um para cada placa de rede virtual:

Do you want networking for your virtual machines? (yes/no/help) [yes]


Please specify a name for this network. [Bridged]
Caso seu PC tenha várias placas de rede, ele pergunta a qual delas a rede virtual será conectada. Se
você usa a placa wireless, por exemplo, você usaria a "wlan0" e se usa a placa cabeada, usaria a "eth0". A
"pan0" que aparece no exemplo se refere ao transmissor Bluetooth, que não interessa no nosso caso:

Your computer has multiple ethernet network interfaces available: eth0, pan0,
wlan0. Which one do you want to bridge to vmnet0? [eth0] wlan0
Responda "no" quando ele perguntar se você deseja configurar outra rede, caso contrário o processo
será repetido. Ela se destina a servidores com várias placas de rede.

As opção para criar uma rede NAT permite que as máquinas virtuais sejam configuradas com
endereços internos, e acessem a rede através do host, usando uma conexão compartilhada, que é a mesma
configuração que mostrei no introdução do livro. Ela é inteiramente opcional, você pode desativá-la e
configurar as máquinas virtuais para acessarem a rede diretamente.

Em seguida, ele confirma as portas de conexão, que são usadas para acessar a interface de
administração. Elas são mostradas para permitir que o administrador as altere em situações onde as portas
estão sendo usadas por outros serviços, mas ao instalar em um PC de uso pessoal, o mais simples é manter os
valores default.

Please specify a port for remote connections to use [902]

597
Please specify a port for standard http connections to use [8222]
Please specify a port for secure http (https) connections to use [8333]
Quando ele perguntar sobre o usuário administrativo, responda "yes" e especifique o login que utiliza
para usar a máquina. Isso permite que você se logue no VMware usando seu próprio login, sem precisar usar
o root:

The current administrative user for VMware Server is ''. Would you like to
specify a different administrator? [no] yes
Please specify the user whom you wish to be the VMware Server administrator : gdh
Em seguida, você deve definir a pasta onde as máquinas virtuais serão armazenadas. Como as pastas
das máquinas virtuais ocupam muito espaço, é importante usar uma pasta dentro da sua partição de arquivos.
Em um PC de uso pessoal, o mais simples é usar uma pasta dentro do seu diretório home, como em
"/home/gdh/vms".

Depois de fornecer o serial e confirmar os diretórios de instalação do vix (que correspondem à


interface de administração) a instalação estará concluída. A partir daí, o VMware pode ser iniciado e parado
através do serviço "vmware", como em "/etc/init.d/vmware start" ou "/etc/init.d/vmware stop". Sempre
que tiver problemas, experimente, antes de mais nada, reiniciar o serviço.

Usando a interface de administração

Diferente do antigo VMware Server 1.x, que utilizava uma interface separada, o VMware Server 2.0 é
administrado através do próprio navegador, usando uma interface web. Você pode, inclusive, acessá-lo a
partir de outros PCs da rede, desde que as portas usadas por ele (a 902, 8222 e 8333) não estejam bloqueadas
no firewall.

Para conectar, basta acessar o "https://ip-da-maquina:8333" usando o Firefox. Ao acessar localmente,


você pode se conectar através do 127.0.0.1, que é o endereço da interface de loopback, acessando o:
https://127.0.0.1:8333

Da primeira vez que tentar se conectar, ele exibe um aviso relacionado ao certificado SSL (que é
gerado durante a instalação e por isso não é reconhecido por nenhuma entidade certificadora). Para
continuar, clique no "Ou você pode adicionar uma exceção…" e edicione a exceção para o certificado.

Você pode então se logar usando o login que especificou durante a instalação, ou usando diretamente
a conta de root. Se você estiver usando o Ubuntu, vai precisar destravar a conta de root executando o "sudo
passwd" antes de poder usá-la:

Apesar de ser relativamente pesada, a interface de administração via web facilitou o uso, já que você
não precisa mais instalar um cliente separado. Você pode também usar máquinas virtuais criadas em outras
versões do VMware, basta copiar a pasta para dentro do diretório definido durante a instalação e usar a opção
"Add Virtual Machine to Inventory" do menu de comandos:

598
Para criar uma nova VM, o processo é muito similar ao de versões anteriores do VMware. Clique no
"Create Virtual Machine" e comece indicando um nome para ela. O "Datastore" que aparece no campo
inferior da janela nada mais é do que a pasta definida na instalação (o "/home/gdh/vms" do exemplo), que
indica onde a nova VM será armazenada. Você pode adicionar novas pastas usando o "Add Datastore" da
janela principal, e escolher entre elas na hora de criar as VMs, mas, naturalmente, nada disso é necessário em
um desktop:

Vamos então a um resumo das opções:

Guest Operating System: O VMware utiliza um conjunto de otimizações para melhorar o


desempenho e o nível de compatibilidade com diversos sistemas operacionais. Como cada sistema possui
características específicas, é necessário indicar corretamente o sistema usado. No menu, existem opções para
as diferentes versões do Windows, para diversas distribuições Linux e até mesmo para outros sistemas
operacionais, como o Solaris e o BSD. Ao usar uma distribuição Linux que não faça parte da lista, use o
Other 2.6x Linux":

599
Memory and Processors: Apesar do VMware ser capaz de executar várias máquinas virtuais
simultaneamente, você continua limitado aos recursos de hardware da máquina, sobretudo à quantidade de
memória RAM disponível, que precisa ser dividida entre o sistema principal e o convidado dentro da máquina
virtual.

O ideal é reservar apenas a quantidade de memória de que você acha que realmente vai precisar dentro
da VM. Se você precisar apenas de uma instalação básica do Windows XP para rodar aplicativos leves, não há
necessidade de reservar mais do que 256 ou 384 MB de memória, por exemplo. Se mais tarde você perceber
que a VM está usando swap (sintoma de falta de memória), você pode ajustar o valor nas configurações:

Ao usar um PC com um processador dual-core, ou quad-core, você pode especificar o número de


processadores que a máquina virtual poderá usar. Limitá-la a apenas um processador é uma boa forma de
evitar que ela comprometa o desempenho do sistema principal.

Hard Disk: Em vez de usar uma partição real no HD, a máquina virtual usa um disco virtual, que nada
mais é do que um conjunto de arquivos salvos dentro da pasta. A capacidade, definida ao criar o disco virtual
é apenas um limite; inicialmente, o disco virtual é um arquivo vazio, que ocupa poucos kbytes.

600
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 aos arquivos armazenados. 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.

A principal dica é ativar a opção "Optimize for performance" nas propriedades do disco virtual. Ela
ativa o uso de cache de disco para a VM, que melhora consideravelmente o desempenho. Como pode
imaginar, a opção concorrente, a "Optimize for safety", faz justamente o contrário, limitando o uso de cache
com o objetivo de reduzir a possibilidade de perda de dados em caso de desligamentos incorretos. Ela é
recomendável para uso em servidores, mas não para situações onde você quer simplesmente usar uma VM
para fuçar ou rodar aplicativos.

Network Adapter: A configuração da rede é outro passo importante, já que sem ela a VM não
acessaria a web nem outros PCs da rede local. O VMware oferece 3 tipos de rede virtual. No primeiro, o
modo bridge, a máquina virtual tem acesso completo à rede, pode receber um IP próprio e fica com todas as
portas de entrada disponíveis, como se fosse um PC independente conectado à rede. Este é justamente o
modo mais usado.

No modo NAT (que precisa ter sido ativado durante a instalação para ser usado), a máquina virtual
tem acesso à rede através de uma conexão compartilhada. O VMware usa seus poderes dissimulatórios para
criar uma segunda interface de rede virtual e fazer o sistema principal compartilhar a conexão com ela, como
se tivesse duas placas de rede. No modo host-only a VM é conectada a um cabo cross-over virtual e tem
acesso apenas ao próprio host, ficando desconectada do resto da rede.

601
CD/DVD Drive: Assim como no caso de um novo PC, a primeira tarefa a realizar depois de criar a
máquina virtual é fazer a instalação do sistema. Para isso, você vai precisar de um CD ou DVD de boot. Você
pode tanto usar um CD-ROM físico (Use a Physical drive), dentro do drive, quanto usar diretamente um
arquivo ISO (útil para testar outras distribuições Linux sem precisar queimar o CD), o que é definido nessa
opção.

A principal dica é que, no caso do VMware Server, é necessário copiar o arquivo ISO que será usado
para dentro da pasta das máquinas virtuais (a "/home/gdh/vms" do exemplo). Diferente do VMware
Workstation, que permite usar arquivos salvos em qualquer lugar, o VMware Server não acessa nada colocado
fora da pasta.

Floppy Drive: Muitos sistemas operacionais antigos podem ser inicializados apenas através de
disquetes. Embora eles não sejam mais muito usados, essa opção permite que o VMware Server continue
compatível com eles, permitindo tanto usar um drive de disquetes físico quanto uma imagem. Se você não for
usar nem uma coisa nem outra, é necessário usar o "Don't add a floppy drive", caso contrário o assistente lhe
obriga a indicar um drive.

USB Controller: O VMware Server permite também que a máquina virtual acesse dispositivos USB
plugados no micro, o que é bastante útil, permitindo inclusive que você use impressoras, scanners ou outros

602
dispositivos que eventualmente não sejam suportados no Linux, dentro da máquina virtual. A limitação é que
o sistema permite acesso apenas a dispositivos USB (e não a placas PCI ou outros periféricos internos), o que
impede que você use um softmodem que não é suportado no Linux dentro da VM, por exemplo.

Usando as VMs

Com a VM criada, falta apenas ativá-la, clicando na seta verde no topo da interface. Isso faz com que
ela seja inicializada e fique rodando silenciosamente em background. Para ver a imagem da tela, acesse a aba
"Console".

Da primeira vez que tentar acessar o console, o navegador exibirá uma mensagem solicitando a
instalação do plugin de visualização (que possui versões para o Firefox e para o IE). Diferente dos antigos
plugins em Active-X, que foram tão usados na época do IE 6, o plugin do VMware está disponível também
na forma de uma extensão para o Firefox, que funciona perfeitamente no Linux:

O plugin é na verdade uma versão completa do Server Console, modificada de forma a facilitar a
instalação. É por isso que o plugin para o Firefox tem nada menos que 15 MB. Clicando sobre a janela dentro
da interface de gerenciamento, o console é aberto em uma nova janela:

Apesar de rodar dentro de uma janela do navegador, ele continua utilizando a mesma interface de
acesso a vídeo do VMware Server Console (o cliente de visualização usado nas versões antigas do VMware

603
Server), o que faz com que o desempenho do vídeo seja similar ao que você obteria ao usar o VMware Player.
A máquina virtual não possui aceleração 3D, por isso é inútil para jogos, mas aplicativos de produtividade e
programas 2D funcionam perfeitamente bem. Você pode também maximizar a janela para ver a VM em tela
cheia, assim como no VMware Player.

Em muitas distribuições, você notará um problema estranho com o teclado dentro da


máquina virtual, com diversas teclas, incluindo as setas direcionais, não sendo reconhecidas.

Ele surge devido a uma diferença entre o mapeamento de teclas usado pelo sistema e o usado
pelo VMware. Para solucioná-lo, é necessário especificar as teclas manualmente, criando o arquivo
".vmware/config", dentro do seu diretório home, adicionando as linhas a seguir:

xkeymap.keycode.108 = 0x138 # Alt_R


xkeymap.keycode.111 = 0x148 # Up
xkeymap.keycode.116 = 0x150 # Down
xkeymap.keycode.113 = 0x14b # Left
xkeymap.keycode.114 = 0x14d # Right
xkeymap.keycode.105 = 0x11d # Control_R
xkeymap.keycode.118 = 0x152 # Insert
xkeymap.keycode.119 = 0x153 # Delete
xkeymap.keycode.110 = 0x147 # Home
xkeymap.keycode.115 = 0x14f # End
xkeymap.keycode.135 = 0x15d # Menu

Para que a alteração entre em vigor, feche a janela de visualização e abra-a novamente.

Outra solução, mais simples, mas que não funciona em todos os casos, é adicionar a opção:

xkeymap.nokeycodeMap = TRUE

... em vez de todas as anteriores. Ela desativa o uso do mapeamento de teclas por parte do
VMware, resolvendo o problema pela raiz.

Você pode criar várias máquinas virtuais e ativá-las ou desativá-las usando os botões de iniciar e parar
no menu do topo. Está disponível também uma função de pausa, que faz com que todo o conteúdo da
memória RAM da VM seja salvo em um arquivo, permitindo que ela volte ao mesmo ponto em que estava ao
ser reativada.

É importante enfatizar que as máquinas virtuais são inteiramente independentes da janela de


visualização. Ao fechar a janela, a VM continua rodando em background. Para realmente desativá-la, é
necessário voltar à interface de administração e clicar no botão de parar:

604
Ao usar uma VM com o Windows, é importante 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. Ele é 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.

Para instalar, use o "Install VMware Tools" na interface de administração. O VMware simula a
inserção de um CD-ROM dentro da máquina virtual, o que (dentro do Windows) faz com que o instalador
seja aberto automaticamente dentro da VM:

Para usar dispositivos USB dentro da máquina virtual, volte à tela inicial e clique no ícone ao lado do
de reiniciar. Isso abre um menu com os dispositivos USB plugados, onde basta marcar os que quer
compartilhar com a VM. Em muitos notebooks, a câmera e/ou o leitor de cartões são internamente ligados
ao barramento USB, o que permite que você os compartilhe com a VM, junto com outros periféricos.

É possível também compartilhar a placa de som com a máquina virtual, o que permite ouvir música e
usar programas como o Skype. Para isso, finalize a VM usando o botão de parar e, dentro do menu de
comandos, clique no "Add Hardware". No menu seguinte, clique no "Sound Adapter" e confirme:

605
Este mesmo menu pode ser usado para adicionar novos discos virtuais, simulando um PC com vários
HDs (uma boa forma de testar a instalação de vários sistemas em dual-boot por exemplo). É possível
também adicionar vários CD-ROMs virtuais, indicando várias imagens ISO.

O VMware oferece também um "Setup" para as máquinas virtuais. Ele permite ajustar a ordem de
boot, acertar o relógio e algumas outras opções, e pode ser acessado pressionando a tecla F2 logo no início
do boot. Assim como em um PC real, a opção é mostrada muito rapidamente. Para vê-la, é preciso reiniciar a
VM com a interface de visualização aberta.

Outra opção (mais à prova de falhas) para acessar o Setup é usar a opção "Configure VM > Power >
Enter the BIOS setup screen the next time this virtual machine boots" que, como o nome sugere, faz com
que a VM exiba a tela do Setup no próximo boot, sem que você precise pressionar a tecla F2:

Como você vai logo perceber, a interface de administração do VMware Server não é completamente
estável, algo que era de se esperar, considerando que ela leva as tecnologias de desenvolvimento web ao
limite. Este é o principal motivo de muitos terem resistido à ideia, preferindo continuar utilizando as versões
antigas do VMware Server (da série 1.0.x), que ainda usam uma interface tradicional.

De qualquer maneira, os problemas com a interface web não atrapalham tanto (já que problemas na
interface não afetam o funcionamento das VMs) e basta dar um reload na janela do navegador quando algo
acontece. Além disso, eles tendem a desaparecer com o lançamento de versões atualizadas do software.

USANDO O WINE

Enquanto o VMware e outros softwares de virtualização criam 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. Isso é enfatizado pelo próprio nome do projeto, onde o Wine
é abreviação de "Wine is not an emulator", ou seja, "o Wine não é um emulador".

606
Originalmente, não existe 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.

Para evitar acusações relacionadas a uso de propriedade intelectual, todo o desenvolvimento é feito
usando um sistema clean-room ("sala limpa", em analogia aos ambientes livres de partículas, usados para a
fabricação de processadores e outros equipamentos sensíveis). Nesse processo, um desenvolvedor com
acesso ao software ou ao código que será duplicado, realiza testes e descreve seu funcionamento e o time
principal desenvolve a nova implementação com base nessa descrição escrita, sem ter acesso ao código
original.

A necessidade de tomar tantos cuidados, combinada com a própria complexidade da API do


Windows, com todas as suas chamadas escondidas e bugs (que são muitas vezes utilizados por alguns
aplicativos para implementar recursos adicionais), faz com que o desenvolvimento do Wine seja bastante
lento.

O Wine foi provavelmente o maior alpha da história. Foram 12 anos desde o anúncio da primeira
versão, em 1993. Em outubro de 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. Para complicar, as distribuições
costumavam aplicar um grande volume de patches adicionais, com o objetivo de melhorar a compatibilidade
com aplicativos específicos. Isso aumentava ainda mais as diferenças e dificultava muito o uso do Wine,
fazendo com que 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.

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. A fase beta
continuou por mais quase 3 anos, até que foi lançada a versão 1.0, em junho de 2008, nada menos do que 15
anos após o início do projeto.

A partir de então, o Wine passou a utilizar uma metodologia de desenvolvimento similar à usada no
kernel, onde as versões estáveis recebem final par (1.0, 1.2, etc.) e as versões de desenvolvimento recebem
final ímpar (1.1, 1.3, etc.). Isso torna a escolha muito mais simples, já que você pode começar com a versão
estável mais atual e dar uma olhada na versão de desenvolvimento caso ela falhe em rodar os aplicativos de
que precisa.

Embora a lista de aplicativos compatíveis com o Wine venha crescendo a cada nova versão, ele ainda
está longe de rodar todos os aplicativos Windows sem falhas. Isso faz com que ele seja mais adequado a
situações em que os aplicativos nativos atendem à maior parte das suas necessidades, mas você precisa de
alguns aplicativos específicos que existem apenas para Windows.

Por outro lado, ele não é adequado em casos onde seu trabalho depende de aplicativos Windows,
como no caso de um engenheiro que trabalha usando o AutoCAD, ou de um artista gráfico que trabalha
usando o Photoshop e o Corel Draw, já que o desempenho e a compatibilidade raramente é perfeita.

Embora seja muito menos problemático rodar aplicativos Windows dentro de uma máquina virtual,
usando o Virtual Box, VMware ou outra das opções que vimos ao longo do livro, o Wine oferece três
vantagens que justificam o uso em muitas situações.

A principal é o fato de você não precisar de uma licença do Windows, já que o próprio Wine
implementa as funções do sistema operacional. A segunda é que ele oferece um overhead menor, já que o
aplicativo roda diretamente, sem que seja necessário manter uma cópia inteira do Windows carregada dentro
da VM. Finalmente, temos outra característica (a mais importante para muitos) que é o fato do Wine oferecer
suporte a 3D, o que permite rodar muitos jogos.

607
A lista oficial de aplicativos compatíveis com o Wine, mantida graças aos esforços da equipe de
desenvolvimento e de um grande número de voluntários, pode ser encontrada no:
http://appdb.winehq.org/.

Os aplicativos listados são divididos em três categorias: "Platinum" (que inclui apenas os aplicativos
que rodam perfeitamente em uma instalação limpa do Wine, sem precisar de configurações adicionais),
"Gold" (aplicativos que rodam sem limitações, mas que precisam de ajustes manuais) e "Silver", que inclui
aplicativos que rodam com pequenas limitações ou glitches, ou que precisam de um conjunto maior de
ajustes.

Dois sites dedicados a fornecer dicas e listas adicionais de aplicativos compatíveis são o
http://www.wine-reviews.net/ e o http://www.frankscorner.org/. Naturalmente, nenhuma das listas pode
ser considerada completa, de forma que a melhor maneira de saber se um determinado programa roda ou
não, é simplesmente testando.

O Wine inclui também um substituto para o Internet Explorer 6, que é usado por aplicativos que
dependem do uso do navegador. Este browser alternativo na verdade não tem nada a ver com o Internet
Explorer (ele é baseado no código do Firefox), ele apenas se faz passar por ele para melhorar o nível de
compatibilidade dos aplicativos. Existem receitas para instalar o Internet Explorer dentro do Wine, mas elas
não são muito recomendáveis, já que o navegador roda com falhas e existem complicadores legais, uma vez
que a EULA do Internet Explorer proíbe o uso em PCs sem uma licença válida do Windows.

Além do Wine propriamente dito, temos também a Winelib, uma biblioteca que permite portar
aplicativos Windows para o Linux, de forma que eles rodem como se fossem aplicativos nativos. Através dela,
é possível recompilar o código do aplicativo, gerando um executável que é capaz de rodar no Linux (e em
outros sistemas UNIX), com relativamente pouco esforço.

A mudança não é inteiramente indolor, já que é necessário fazer pequenas modificações no código-
fonte do aplicativo, substituindo chamadas e funções potencialmente problemáticas e adicionando chamadas
às funções nativas do sistema onde for possível. Mesmo depois de recompilado, o resultado não é muito
diferente do obtido ao executar o mesmo aplicativo no Linux usando o Wine, mas nesse caso temos a
vantagem de ele já vir "completo", incluindo todos os componentes necessários no pacote.

Um dos primeiros aplicativos portados com a ajuda da Winelib foi o Kylix (lançado em 1999), que
nada mais era do que uma versão portada do Delphi, que permitia desenvolver aplicativos Linux e também
portar aplicativos do Delphi para o Linux (e vice-versa). Ele era um aplicativo comercial, que existia em duas
versões. A Open Edition era gratuita, mas podia ser usada apenas em aplicativos open-source, enquanto a
versão Professional (que podia ser usada no desenvolvimento de aplicativos comerciais) era paga.

A ideia acabou não dando muito certo, devido à baixa qualidade do software e ao alto custo da versão
Professional, mas serviu como um precedente importante com relação à interoperabilidade entre as duas
plataformas.

Um exemplo recente de aplicativo complexo portado com a ajuda da Winelib é o Google Picasa,
lançado em 2006:

608
Versão Linux do Picasa, portada com a ajuda da Winelib

Durante o processo, o Google patrocinou o desenvolvimento de um conjunto de melhorias no Wine,


que ajudaram também a melhorar a compatibilidade com outros aplicativos gráficos, como o Photoshop.

Instalação e uso

A forma mais fácil de instalar o Wine é simplesmente instalar o pacote "wine" usando o gerenciador
de pacotes, como em:

# apt-get install wine

Se você faz questão de baixar a última versão, ou quer testar a versão de desenvolvimento, pode
utilizar os pacotes disponíveis na página do projeto, onde você encontra pacotes para várias distribuições:
http://www.winehq.org/site/download

Em ambos os casos, depois de instalar o pacote, rode o "winecfg", usando seu login de usuário. 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 você pode personalizar a lista, ativando apenas os diretórios que quiser
que os aplicativos dentro do Wine possam acessar. A única pasta obrigatória é a pasta ".wine/drive_c" dentro
do home, que é vista pelos aplicativos como o "C:".

É importante ter um pouco de cautela ao compartilhar os diretórios, pois assim como roda aplicativos,
o Wine é também capaz de rodar muitos vírus, que podem contaminar arquivos dentro das pastas, ou até
mesmo deletá-los, assim como faria em uma máquina Windows.

Para os mais precavidos, uma dica é usar um login separado para executar os
aplicativos, isolando os aplicativos Windows potencialmente perigosos da sua conta principal. Para
isso, você precisa apenas criar a conta usando o "adduser" e usar o "sux" para chavear para ela,
como em:

$ sux wine

Qualquer programa executado usando este usuário separado poderá, no máximo, modificar
arquivos dentro do home da conta, sem risco para seus arquivos.

609
Na aba "Applications" você pode escolher qual versão do Windows será simulada. A maior parte dos
programas roda melhor emulando o Windows 2000 ou o Windows XP, mas existem casos de aplicativos
antigos, que rodam melhor simulando o Windows 98. Além da configuração global, é possível criar exceções
para aplicativos específicos, usando o botão "Adicionar aplicação":

Depois de salvar a configuração no winecfg, o Wine já estará pronto para uso. A forma tradicional de
executar aplicativos dentro do Wine é chamá-los via terminal (sempre usando seu login de usuário), como em:

$ wine ps55.exe

Entretanto, na maioria das distribuições atuais os arquivos ".exe" (entre outras extensões do
Windows) já estão associadas com o Wine, o que permite que você simplesmente clique nos arquivos dentro
do gerenciador de arquivos.

No caso dos aplicativos .MSI (os aplicativos empacotados usando o Windows Installer), você pode
usar o msiexec, mais um pequeno utilitário do Wine que permite executá-los diretamente, sem que você
precise instalar primeiro o instalador da Microsoft e fazer algum malabarismo para fazê-lo funcionar dentro
do Wine. Para instalar um programa, basta chamar o msiexec, seguido pelo parâmetro "/i" e o nome do
arquivo, como em:

$ msiexec /i /home/gdh/msxml6.msi

Todos os aplicativos são instalados dentro da pasta ".wine/drive_c" dentro do home, respeitando a
estrutura de diretórios do Windows. O Wine monitora a instalação de aplicativos e adiciona os ícones no
iniciar (ou no desktop, de acordo com as opções do instalador) automaticamente na maioria dos casos, mas,
em casos em que o sistema falha, você pode executar o aplicativo manualmente, acessando a pasta de
instalação e clicando sobre o executável:

610
Também funciona se você executar o aplicativo via terminal, mas nesse caso você precisaria
especificar o caminho completo (adicionando barras invertidas antes dos espaços, como em "wine
~/.wine/dosdevices/c:/Arquivos\ de\ programas/Adobe/Photoshop\ 5.5/Photoshp.exe").

Como todos os aplicativos e as configurações ficam instalados dentro da pasta ".wine", é fácil se livrar
de uma instalação do Wine com problemas: basta remover a pasta e começar de novo.

O Ubuntu 9.04 (em diante) inclui um assistente para a execução de aplicativos dentro
do Wine, que é executado ao clicar sobre um arquivo .exe dentro do Nautilus. Ele se encarrega de
instalar os pacotes do Wine e fazer a configuração básica, de maneira similar ao assistente para a
instalação de codecs restritos que é disparado ao tentar assistir um vídeo em um formato não
suportado no Totem. Ele é apenas um pequeno truque destinado a facilitar a instalação inicial,
tornando o uso dos aplicativos mais natural.

O Ubuntu 9.04 (em diante) inclui um assistente para a execução de aplicativos dentro do Wine, que é
executado ao clicar sobre um arquivo .exe dentro do Nautilus. Ele se encarrega de instalar os pacotes do
Wine e fazer a configuração básica, de maneira similar ao assistente para a instalação de codecs restritos que é
disparado ao tentar assistir um vídeo em um formato não suportado no Totem. Ele é apenas um pequeno
truque destinado a facilitar a instalação inicial, tornando o uso dos aplicativos mais natural.

Photoshop 5.5: um exemplo de aplicativo antigo que roda perfeitamente dentro do Wine

611
Antigamente, se recomendava instalar o "dcom98", uma atualização da Microsoft para o Windows 98
que, quando executado dentro do Wine, instalava alguns componentes e bibliotecas adicionais, melhorando a
compatibilidade com alguns aplicativos. Ele é desnecessário nas versões atuais, muito embora ainda existam
muitos outros componentes que ainda são úteis, como veremos a seguir, no tópico sobre o Winetricks.

O Wine possui também uma ferramenta para remover programas instalados, o "uninstaller", que
substituiu o "Adicionar/Remover" do Windows. Basta chamá-lo diretamente via terminal, assim como o
winecfg:

$ uninstaller

Outra dica é que o Wine é capaz também de acessar impressoras instaladas através do Cups
automaticamente, permitindo que os aplicativos imprimam sem necessidade de drivers adicionais. Em outras
palavras, desde que a impressora seja reconhecida pelo sistema, você não terá grandes problemas em utilizá-la
dentro do Office 2003 instalado dentro do Wine, por exemplo.

Nas versões recentes, você pode também instalar fontes do Windows, simplesmente copiando os
arquivos para dentro da pasta ".wine/drive_c/windows/Fonts/". As fontes são um fator importante para a
compatibilidade, já que muitos aplicativos não rodam se pelo menos as fontes básicas (Times, Arial, Verdana,
etc.) não estiverem disponíveis.

Concluindo, embora seja mais relacionado com a execução de aplicativos 2D e programas de


escritório, o Wine possui também uma implementação funcional do Direct3D, que permite rodar muitos
jogos 3D, incluindo o World of Warcraft, Call of Duty 4, Counter-Strike e uma longa lista de outros títulos.

World of Warcraft, rodando sobre o Wine

Para rodar os jogos 3D no Linux, a melhor opção é utilizar uma placa relativamente recente da nVidia.
Alguns jogos rodam no Linux sem uma grande perda de desempenho, mas na maioria você tem uma perda
de 20 a 40% no FPS, que precisa ser compensada com a desativação de alguns efeitos visuais ou por um
pouco mais de força bruta na potência da placa de vídeo e do processador.

As placas da ATI não são muito indicadas, devido aos intermináveis problemas com os drivers e ao
baixo desempenho das versões do Catalyst para o Linux em relação ao das versões Windows. Os chipsets da

612
Intel são bem suportados (em quase todas as distribuições atuais, o suporte a 3D é configurado
automaticamente, graças aos drivers open-source incluídos no X.org), mas como o desempenho dos chipsets
integrados é relativamente baixo, eles acabam servindo apenas para rodar os jogos mais simples.

Uma observação importante é que o Wine não inclui suporte aos sistemas anti-cópia usados em
muitos jogos, por isso muitos títulos (instalados a partir dos CDs originais) se recusam a rodar depois de
instalados, reclamando que não foi possível encontrar a mídia, ou que o CD não é autêntico. Nesses casos, é
necessário baixar um "no-cd patch" (ou seja, um crack para que o jogo deixe de verificar o CD) e também
instalá-lo dentro do Wine. Um exemplo de site especializado em patches e modificações é o
http://www.megagames.com/.

Outra dica é que, em muitos casos, você elimina a necessidade de instalar o patch simplesmente
montando o CD-ROM com a opção "-o unhide", que faz com que o sistema exiba os arquivos ocultos
usados por muitos sistemas anti-cópia, fazendo com que eles passem a funcionar dentro do Wine. Para isso,
basta desmontar o CD-ROM e montá-lo manualmente incluindo a opção, como em:

# umount /media/cdrom
# mount -o unhide /dev/cdrom /media/cdrom

Dicas para o Winecfg

Ao ser executado pela primeira vez, o Winecfg cria uma configuração utilizável para o Wine,
permitindo que você execute muitos aplicativos sem precisar se preocupar em alterar as opções. Entretanto,
você vai precisar dele ao tentar rodar algum aplicativo problemático, ou para solucionar problemas diversos
de compatibilidade. Vamos então às dicas:

Depois das configurações básicas que vimos no tópico anterior, o próximo passo é a aba "Graphics",
que inclui um conjunto de opções importantes, sobretudo em jogos 3D. O default do Wine é tentar abrir os
jogos em tela cheia, alterando o modo de exibição do vídeo. Entretanto, é possível também rodar os jogos em
uma janela (usando a opção "Emular uma área de trabalho virtual"), o que soluciona alguns problemas de
compatibilidade (nos casos em que o Wine não é capaz de chavear o vídeo para o modo correto), e permite
que você faça outras coisas enquanto está jogando.

A opção "Programas DirectX podem impedir que o mouse deixe a janela" determina se os jogos
rodando em janelas poderão ou não bloquear o cursor do mouse. Marcar essa opção soluciona casos em que
o jogo deixa de responder quando o cursor sai da área da janela.

Finalmente, temos a opção de ativar o suporte a vertex shaders e pixel shaders, caso suportados pela
placa de vídeo. Os shaders são suportados no Linux tanto em placas com chipset nVidia, quanto nos chipsets
recentes da Intel. Entretanto, o suporte no Wine é ainda incipiente, o que cria muitos problemas de
compatibilidade. Nesses casos, basta desativar a opção e desativar o uso de shaders dentro da configuração do
jogo.

613
A configuração do som é bastante similar à do gMplayer e outros aplicativos de mídia, com a escolha
do sistema de som que será usado. O Wine 1.0.x ainda não possui compatibilidade direta com o PulseAudio,
mas você pode fazer os dois trabalharem juntos utilizando o "padsp", que cria o dispositivo virtual
encarregado de criar a camada de compatibilidade.

Para isso, abra o winecfg usando o comando "padsp winecfg" (em vez de apenas "winecfg") e marque
a opção "OSS Driver" na aba "Audio". Isso faz com que o Wine utilize o dispositivo virtual e consiga usar o
PulseAudio assim como qualquer outro aplicativo.

Concluindo, a aba "Bibliotecas" permite ajustar a configuração das DLLs instaladas, fazendo com que
o Wine utilize as funções incluídas no próprio Wine (builtin) ou procure por DLLs do Windows instaladas
manualmente (native):

614
O uso de DLLs do Windows é uma forma de "trapacear" na configuração do Wine, usando
componentes do outro sistema para suprir as funções ainda não implementadas. Muitas das receitas para
rodar softwares ainda não completamente suportados envolve, justamente, copiar manualmente um conjunto
de DLLs e/ou ajustar algumas chaves de registro.

As DLLs podem ser instaladas de três maneiras. A primeira é simplesmente copiar os arquivos a partir
de uma instalação do Windows XP ou 2000 (ou do Windows 98, em alguns casos) e salvá-los manualmente
na pasta ".wine/drive_c/windows/system32/", de forma que os softwares encontrem os arquivos quando
precisarem deles.

A segunda maneira é através da instalação de atualizações de sistema e outros componentes dentro do


Wine, que incluam as bibliotecas desejadas, enquanto a terceira é o download manual, a partir de sites como o
http://www.dll-files.com/.

Em qualquer um dos três casos, a maneira mais fácil de verificar quais DLLs o aplicativo está tentando
usar é executá-lo via terminal (em vez de simplesmente clicar sobre ele no gerenciador de arquivos) e prestar
atenção nas mensagens "DLL not found" ou "FIXME:" que indicam, respectivamente, que o aplicativo está
tentando acessar uma DLL que não está disponível, ou que está tentando usar uma função que ainda não foi
implementada dentro da biblioteca builtin correspondente.

Na maioria dos casos, você pode solucionar o problema instalando as DLLs manualmente e
configurando o Wine para utilizá-las em modo "native", em vez de em modo "builtin".

A cópia manual deve ser sempre feita caso a caso, seguindo as mensagens do terminal, ou alguma
receita. Não caia no erro de tentar copiar diretamente todos os arquivos da pasta "\windows\system32" de
uma instalação do Windows, pois muitos dos arquivos (como o kernel32.dll, user32.dll, ntdll.dll, entre outros)
precisam de acesso de baixo nível a funções do sistema, que não estão disponíveis no Wine. Ao tentar utilizá-
los, o Wine simplesmente deixará de funcionar, exibindo erros diversos.

A configuração das DLLs é complementada pela configuração do registro, implementado no Wine


por questão de compatibilidade com os aplicativos. Ele é armazenado na forma de três arquivos editáveis
(system.reg, user.reg e userdef.reg) salvos dentro da pasta ".wine" no home, e pode ser editado também
usando o regedit (basta executar o comando no terminal), que imita a interface do regedit do Windows:

O registro é usado também para armazenar as próprias configurações do Wine, que são salvas na pasta
"HKEY_CURRENT_USER\Software\Wine", conforme editadas dentro do winecfg.

Como pode imaginar, muitas receitas para rodar aplicativos no Wine incluem listas de alterações em
chaves do registro, que alteram o comportamento do programa, ou desativam recursos que o impedem de
rodar dentro do Wine.

Winetricks

O Winetricks é um script que automatiza a instalação de diversos componentes, que ajudam a


melhorar a compatibilidade do Wine com aplicativos diversos. Embora a interface não seja muito convidativa,
ele é o script de instalação de add-ons para o Wine mais ativamente desenvolvido, sendo também utilizado

615
como backend por outros projetos, como o PlayOnLinux e o Bordeaux, que contribuem de volta com novas
funções e melhorias.

Para usá-lo, é necessário ter instalado o pacote "cabextract", que permite extrair arquivos .cab, o
formato utilizado em muitos dos arquivos que são baixados através das opções do Winetricks. Basta instalá-lo
usando o gerenciador de pacotes, como em:

# apt-get install cabextract

Um dos pontos fortes do Winetricks é que ele funciona em qualquer distribuição e em conjunto com
qualquer versão atual do Wine, já que ele nada mais é do que um shell-script que se adapta ao ambiente
disponível. Para instalá-lo, basta baixar o arquivo disponível no http://www.kegel.com/wine/winetricks,
como em:

$ wget http://www.kegel.com/wine/winetricks

Em seguida, ative a permissão de execução e rode o script usando seu login de usuário:

$ chmod +x winetricks
$ ./winetricks

Se preferir, copie o arquivo para a pasta "/usr/local/bin/", para que ele seja reconhecido como um
comando de sistema e você possa executá-lo diretamente, sem precisar do "./".

Quando aberto, o Winetricks exibe uma lista com as opções suportadas. Você pode inclusive marcar
várias de uma vez:

Estas mesmas funções podem ser executadas diretamente via linha de comando, passadas como
argumentos ao executar o script, como em:

$ ./winetricks allfonts allcodecs fakeie6 vcrun6 msxml6 directx9

Isso faz com que ele execute todas as funções especificadas sequencialmente, baixando os arquivos,
descompactando, executando os instaladores (quando usados) e executando os demais passos necessários
para instalar os componentes corretamente:

616
A lista das opções disponíveis varia de acordo com a versão, já que o Winetricks evolui junto com as
versões do Wine, se adaptando às deficiências das versões disponíveis, mas alguns módulos que são
tradicionalmente bastante úteis são:

allfonts: Instala todos os pacotes de fontes disponíveis, incluindo as fontes da Microsoft e as da


família Liberation. Estas fontes suprem as necessidades da grande maioria dos aplicativos, mas se precisar de
outras, basta copiar os arquivos para dentro da pasta ".wine/drive_c/windows/Fonts/" (nas versões recentes
do Wine as novas fontes são usadas automaticamente, sem necessidade de passos adicionais).

allcodecs: Instala um pacote de codecs, úteis se pretender instalar players de mídia e aplicativos de
conversão.

comctl32 e comctl32.ocx: Estas são bibliotecas do Visual Basic, que são usadas também por
instaladores baseados no InstallShield. Em versões antigas do Wine elas eram necessárias para instalar muitos
aplicativos, mas nas versões atuais as bibliotecas builtin fazem um bom trabalho, tornando a instalação
manual desnecessária na maioria dos casos.

msscript, msxml3, msxml4, msxml6: Suporte ao MS Script e às diferentes versões do MS XML. Estes
componentes são utilizados primariamente pelo IE, mas podem ser úteis ao instalar aplicativos que fazem
conversão de documentos baseados no XML da Microsoft.

vb3run, vb4run, vb5run e vb6run: Instala as runtimes das diferentes versões do MS Visual Basic, que
são necessárias para rodar aplicativos baseados na linguagem. O Wine oferece suporte nativo a muitas das
funções, mas a lista é ainda incompleta, por isso muitos aplicativos só rodam ao usar as bibliotecas da
Microsoft. Os pacotes não são conflitantes, por isso você pode simplesmente instalar todos em caso de
dúvida.

vcrun6, vcrun2003, vcrun2005 e vcrun2008: Incluem as bibliotecas das diferentes versões do MS


Visual C++, também usadas por muitos aplicativos.

fakeie6 e gecko: O fakeie6 é um pseudo-pacote, que simplesmente modifica um conjunto de chaves de


registro, com o objetivo de enganar os instaladores que se recusam a continuar caso o IE 6 não esteja
instalado. O gecko completa o time, ativando o navegador alternativo incluído no Wine, que é utilizado no
lugar do IE 6 para renderizar páginas HTML exibidas dentro dos aplicativos.

directx9: Se você pretende rodar jogos 3D, é interessante instalar também o pacote do DirectX, que
complementa as chamadas suportadas pelo Wine com um conjunto de DLLs da versão da Microsoft.

PlayOnLinux

617
O PlayOnLinux é outro facilitador para o Wine, bastante popular. Ele oferece um conjunto de scripts
escritos em Bash e Python para automatizar a instalação de jogos 3D.

Os jogos são possivelmente o uso mais comum para o Wine atualmente, o que explica tantos títulos
estarem listados dentro das listas Platinum e Gold do http://appdb.winehq.org/. Jogos como o Warcraft III,
Counter Strike, World of Warcraft, Diablo II, EVE Online, Guild Wars, etc. são suportados pelo Wine há
bastante tempo e rodam diretamente na maioria dos casos, demandando apenas ajustes menores para
solucionar problemas de estabilidade.

O PlayOnLinux leva a ideia adiante, criando uma lista de jogos e aplicativos suportados, que podem
ser instalados de forma simples. A página do projeto é a http://www.playonlinux.com, onde estão
disponíveis pacotes para várias distribuições, incluindo o Debian, Ubuntu, Fedora, OpenSUSE e Mandriva e
outros.

Ao instalar, você tem a opção de adicionar o repositório e fazer a instalação "do jeito certo", ou
simplesmente baixar o pacote e instalar manualmente, usando o "dpkg -i" ou o "rpm -Uvh". Caso opte pela
instalação manual no Debian ou no Ubuntu, não se esqueça de usar o "apt-get -f install" depois de instalar o
pacote, para que ele baixe o pacote "python-wxgtk" e as demais dependências.

Depois de tudo pronto, você pode inicializá-lo usando o comando "playonlinux" ou o ícone no
"Iniciar > Jogos".

A interface é baseada no conceito de gerenciador de pacotes. Ao abrí-lo pela primeira vez, ele consulta
o repositório em busca de atualizações para os scripts e prossegue para uma sequência de checagens,
verificando se o Wine está instalado, se os diretórios estão configurados corretamente e assim por diante. Ele
se oferece também para baixar as fontes do pacote msttcorefonts, que são necessárias para rodar muitos
aplicativos.

Concluídas as operações iniciais, basta clicar no botão "Install" para começar a instalar os jogos e
outros aplicativos disponíveis na lista. Cada um corresponde a um pequeno script, que se encarrega de
executar os passos necessários para instalar o título e fazer os ajustes necessários para rodá-lo sem percalços
dentro do Wine:

Um dos truques empregados é criar um diretório de instalação diferente para cada aplicativo (muitas
vezes usando também uma versão específica do Wine, onde ele foi testado), utilizando uma configuração
diferente para cada um. Isso permite aumentar a compatibilidade (já que cada jogo pode utilizar um conjunto
diferente de tweaks e ajustes) e, ao mesmo tempo, isolar as instalações, evitando que problemas na instalação
de um dos jogos afetem os demais.

618
A maioria dos scripts é baseada na instalação através do CD ou DVD de instalação (que deve ser
montado da forma usual) mas, no caso dos títulos disponíveis para download, muitos dos scripts são capazes
de baixar e instalar automaticamente.

Como é de se esperar, alguns dos scripts não funcionam adequadamente, já que manter tantos scripts
e testá-los em diversas distribuições diferentes não é uma tarefa simples. De qualquer maneira, os scripts são
em sua maioria bastante simples, permitindo que você verifique os passos executados pelo script e tente
localizar o problema. Você pode consultá-los diretamente no: http://www.playonlinux.com/repository/

CrossOver, Bordeaux e Cedega

Assim como em outros casos, o desenvolvimento do Wine deu origem também a alguns projetos
comerciais, que oferecem interfaces fáceis de usar e são compatíveis com alguns softwares adicionais. A
principal função deles é oferecer versões "suportadas" do Wine, onde a compatibilidade com alguns
aplicativos específicos seja mais ou menos garantida.

O projeto mais tradicional é o CrossOver Office da CodeWeavers. Ele surgiu com o objetivo de
facilitar o uso do Microsoft Office sob o Wine e a partir daí foi gradualmente expandido, ganhando também
suporte a várias versões do Photoshop, Microsoft Visio, Quicken e outros. Ele está disponível (US$ 39, com
trial de 30 dias) no http://www.codeweavers.com/products/cxlinux/.

O pacote é distribuído na forma de um arquivo executável, que você precisa apenas executar como
root para instalar, como em:

# chmod +x ./install-crossover-standard-demo-7.1.0.sh
# ./install-crossover-standard-demo-7.1.0.sh

A partir daí, basta abrir a interface e instalar os aplicativos disponíveis na lista, fornecendo os CDs de
instalação conforme solicitado. É possível também instalar outros aplicativos, marcando a opção "Instalar
software não suportado", mas nesse caso a compatibilidade não é muito diferente da oferecida pelo Wine
regular.

Em resumo, o CrossOver Office pode ser uma opção em casos específicos, onde você precisa de um
dos softwares incluídos na lista de compatibilidade e não teve sucesso em rodá-lo sobre o Wine puro. Apesar
da interface ser simples e fácil de usar, o CrossOver não oferece grandes vantagens em relação ao Wine para
os aplicativos não listados, por isso não é muito interessante para rodar aplicativos diversos.

Mais recentemente foi lançado também o CrossOver Games, que oferece uma interface para a
instalação de jogos 3D, similar ao PlayOnLinux e ao Cedega.

619
Em seguida temos o Bordeaux (http://bordeauxgroup.com/) outro projeto comercial, que oferece
suporte a um conjunto limitado de aplicativos, incluindo o Office 2007, Visio 2003, Photoshop CS2, Trillian e
jogos baseados no Steam, além de oferecer uma interface simplificada para instalar outros aplicativos
suportados pelo Wine.

Embora a interface seja proprietária, os scripts, DLLs e outros componentes incluídos no pacote são
open-source, o que contribui no desenvolvimento do Wine e de outros softwares. Muitas das funções
disponíveis no Winetricks, por exemplo, vieram justamente do trabalho no Bordeaux. A principal vantagem
dele em relação ao CrossOver Office é o preço, já que custa apenas US$ 20.

Finalmente, temos o Cedega (http://transgaming.com), outro projeto bastante antigo, desenvolvido


com o objetivo de oferecer suporte aprimorado a jogos 3D. Ele é distribuído em um sistema de assinatura,
onde você paga US$ 45 por uma assinatura de 12 meses e pode baixar todas as novas versões que forem
disponibilizadas durante o período em que for assinante.

Depois de instalado, abra o programa usando o comando "cedega" ou o ícone do menu. Nas versões
recentes (a partir do 5.0) os games são instalados e abertos usando uma interface que inclui opções para
montar o CD e instalar. A partir do 5.2 foi incluído um banco de dados, que permite ao Cedega usar
automaticamente as melhores opções de configuração para cada jogo, baixando as informações a partir de
uma base de dados atualizada com frequência:

A principal crítica com relação ao Cedega é o fato de ele ser um aplicativo inteiramente fechado, que
simplesmente obtém código do Wine, sem contribuir de volta, nem disponibilizar as modificações.

Foi justamente essa atitude predatória que levou a equipe do Wine a substituir a licença MIT (mais
liberal) pela licença LGPL em 2002. Assim como no caso dos softwares disponibilizados sob a GPL, o uso da
LGPL torna necessário que os desenvolvedores de versões modificadas disponibilizem as modificações.

A principal diferença entre as duas licenças é que a LGPL permite que o Wine seja usado para portar
softwares proprietários, como no caso do Google Picasa, enquanto a GPL exige que trabalhos derivados
tenham o código aberto e sejam disponibilizados sob a mesma licença.

A mudança fez com que o Cedega se tornasse um fork da última versão do Wine disponibilizada sob a
licença MIT (em 2002), sem poder incorporar as melhorias incluídas desde então. Isso fez com que a lista de
jogos suportados pelo Wine (e pelo CrossOver Games, que é baseado nas versões atuais do Wine) passasse a

620
divergir, com o Wine passando a suportar um número cada vez maior de jogos que não são suportados no
Cedega.

APLICATIVOS OPEN-SOURCE PARA O WINDOWS

Muitos dos aplicativos tipicamente usados no Linux, como o Pidgin, OpenOffice, Firefox, Gimp e
muitos outros possuem também versões nativas para Windows. O uso deles, abre diversas portas, já que você
pode rodar os mesmos aplicativos nos PCs com Linux e nos com o Windows, compatibilizando as duas
plataformas.

Eles são também uma excelente alternativa para criar um sistema suave de migração, já que, uma vez
que você consegue migrar os aplicativos, dar o passo final e migrar o sistema operacional acaba sendo muito
mais fácil. Vamos então a uma pequena lista das opções disponíveis:

OpenOffice: Embora a história seja pouco conhecida hoje em dia, o OpenOffice teve suas origens no
StarOffice, que era originalmente uma suíte de escritório para Windows, desenvolvida pela StarDivision. Por
ter sido desenvolvido em C++, o StarOffice era bastante portável, o que levou à criação da versão Linux.
Esta suíte de escritório multiplataforma atraiu a atenção da Sun, que decidiu comprar a StarDivision em 1999,
abrindo o código da suíte e dando origem ao OpenOffice que conhecemos.

Apesar das mudanças, o OpenOffice continua disponível em versão Windows, que oferece o mesmo
conjunto de recursos e o mesmo "look and feel" da versão Linux. Não é preciso dizer que com as melhorias
no suporte a documentos, suporte nativo a PDFs, corretor ortográfico atualizado e assim por diante, ele é
uma excelente alternativa ao MS Office. Você pode escolher entre baixar o OpenOffice da Sun, disponível no
http://download.openoffice.org ou o BrOffice, disponível no http://broffice.org/download.

Firefox: O Firefox é a jóia da coroa entre os aplicativos open-source. Com o crescimento no uso de
wep-apps e no acesso à web de forma geral, o navegador se torna um componente cada vez mais importante
e mais estratégico.

Há quem preveja que em um futuro próximo quase todos os aplicativos rodarão dentro do navegador
e que o próprio sistema operacional se tornará algo secundário. Se as previsões vierem a se realizar, o Firefox
tem tudo para assumir uma posição de ainda mais destaque. Você pode baixar a versão em português do
Brasil diretamente no: http://pt-br.www.mozilla.com/

Para os poucos sites que ainda são compatíveis apenas com o IE, existe a opção de usar o IE Tab
(http://ietab.mozdev.org/), uma extensão que permite abrir uma aba com o Internet Explorer, deixando que
ele lide com o site problemático. Naturalmente, essa extensão é apenas para Windows, já que ela
simplesmente utiliza a instalação do IE disponível nele.

Entre os projetos da fundação Mozilla estão também o Sunbird, que é um aplicativo de calendário e
organizador pessoal, e o Thunderbird, que atende a quem prefere um cliente de e-mail local.

621
Filezilla: Além de ser um excelente cliente de FTP, o Filezilla é um dos poucos clientes Windows que
oferece suporte à transferência de arquivos via SFTP, o que o torna uma ferramenta indispensável em redes
mistas e também para quem administra servidores Linux. Além do cliente (que está disponível também em
versão Linux) está disponível uma versão servidor, que permite disponibilizar arquivos via FTP. Faça o
download no: http://filezilla-project.org/

VLC: O mesmo VLC usado no Linux ao lado do Gmplayer, Totem, Xine e Kaffeine, possui também
uma versão Windows, que oferece a mesma interface e o mesmo conjunto de codecs que está disponível no
Linux. Ele é uma excelente opção de player de vídeo para instalações "virgens" do Windows, poupando-o de
precisar instalar players e codecs manualmente: o VLC sozinho resolve o problema. Ele está disponível no:
http://www.videolan.org/vlc/

PuTTY: O PuTTY é mais conhecido que o Elvis, mas mesmo assim não poderia deixar de citá-lo, já
que ele resolve o problema da falta de um cliente SSH no Windows:
http://www.chiark.greenend.org.uk/~sgtatham/putty/

Na página está disponível também o PSFTP, que é um cliente SFTP de linha de comando, mas o
Filezilla é bem mais prático de usar. Outra opção de cliente SFTP open-source é o WinSCP, disponível no:
http://winscp.net/

Pidgin: O Pidgin possui uma versão portada para Windows desde a época do Gaim. Ele é uma
excelente opção de mensageiro multiprotocolo, que pode se conectar simultaneamente a praticamente todas
as redes conhecidas. Ele é também bem mais leve que a maioria dos outros aplicativos similares para
Windows e, naturalmente, livre de pragas e propagandas. Ele está disponível no:
http://www.pidgin.im/download/

Ekiga: Apesar de ser um projeto relativamente novo, o Ekiga já possui uma versão Windows,
disponível através do http://wiki.ekiga.org/index.php/Windows_Users. Ele é uma boa opção de cliente SIP,
que pode ser configurado para trabalhar em conjunto com diversos serviços de VoIP.

Audacity: Apesar da interface simples, o Audacity é um editor de áudio bastante poderoso, que se sai
bem mesmo quando comparado a muitos aplicativos comerciais. Uma das grandes vantagens de aprender a
trabalhar com ele é justamente o fato de possuir versões para Linux e Windows, em vez de rodar sobre
apenas uma das duas plataformas: http://audacity.sourceforge.net/download/

Gimp: O Gimp é outro veterano entre os aplicativos multiplataforma. O desenvolvimento do Gimp


para Windows deu origem à versão Windows da biblioteca GTK, que é atualmente usada por um grande
número de aplicativos open-source para a plataforma.

Como o Gimp for Windows é mantido por uma equipe muito menor, ele fica muitas vezes uma ou
duas versões atrás e alguns poucos recursos não estão disponíveis, mas, apesar disso, ele é bem mais
poderoso que outros editores de imagem gratuitos. A página oficial (que oferece apenas os pacotes para
desenvolvedores) é a http://www.gimp.org/windows/ e a versão instalável está disponível para download no
http://gimp-win.sourceforge.net/.

Para usar os scripts em Python, é preciso instalar também o interpretador Python, que você pode
baixar no http://www.python.org/download/.

7-Zip: O 7-Zip é um utilitário de compactação e descompactação open-source, que oferece uma


solução simples para a falta de suporte nativo à descompressão de arquivos .tar.gz (e outros formatos
popularmente usados no Linux) dentro do Windows. A página é a: http://www.7-zip.org/

DeVeDe: Permite criar DVDs e VCDs que podem ser exibidos em DVD players domésticos. Ele é
mais um aplicativo que tem versões para Linux e Windows, sendo que a versão para o sistema da Microsoft
está disponível no: http://www.majorsilence.com/devede

Inkscape: Embora não ofereça todos os recursos encontrados em aplicativos especializados, como o
Corel ou o Illustrator, o Inkscape possui a seu favor o uso de uma interface simples e de uma excelente
documentação: http://www.inkscape.org/download/

622
Blender: Embora seja um aplicativo muito mais específico (mais complicado de usar e destinado ao
público profissional), o Blender é outro aplicativo multiplataforma que é bastante popular também entre os
usuários do Windows: http://www.blender.org/download/get-blender/

Scribus: Completando o time, temos também a versão Windows do Scribus, que serve como uma boa
opção de aplicativo de desktop publishing. Ele é um aplicativo que vem evoluindo em um ritmo bastante
acelerado. http://www.scribus.net/?q=downloads

Migrando as configurações: Na maioria dos casos, é possível migrar as configurações dos aplicativos
em um PC com Windows para uma instalação do Linux, uma vez que a estrutura de arquivos de configuração
usada pelos aplicativos é a mesma nas duas plataformas. Para isso, localize a pasta com as configurações do
aplicativo no "C:\Documents and Settings\nome\Dados de aplicativos" no Windows e copie o conteúdo
para dentro da pasta de configurações correspondente dentro do home, no Linux.

623
CAPÍTULO 9: OUTRAS DISTRIBUIÇÕES

Como comentei no primeiro capítulo, a grande variedade de distribuições Linux é, ao mesmo tempo,
o principal ponto forte do sistema e um dos grandes obstáculos à sua popularização, já que novas
distribuições trazem novas ideias e conceitos, mas também fragmentam a base de usuários e confundem os
iniciantes.

Embora seja impossível abordar todas as distribuições existentes (mesmo que fosse para escrever
apenas alguns parágrafos sobre cada uma), este capítulo reúne dicas sobre algumas distribuições de destaque,
que possuem um grande número de usuários no Brasil, ou que por um motivo ou outro conseguem se
destacar dentro da multidão.

Muitas delas são otimizadas para tarefas específicas (como o SliTaz, que oferece um desktop
minimalista, ou o Slax, que se destaca por ser um live-CD facilmente personalizável) e podem ser muito úteis
em situações específicas, enquanto outras são distribuições de uso geral, que tentam oferecer diferenciais em
relação às grandes distribuições.

Conhecer um pouco sobre as distribuições derivadas é sempre interessante, pois permite que você
tenha contatos com outras ideias e veja como o sistema pode ser utilizado de maneiras bem diferentes do
originalmente proposto.

KNOPPIX

O Knoppix pode ser considerado o "pai" dos live-CDs. Não seria exagero dizer que, direta ou
indiretamente, ele foi uma das distribuições que mais contribuíram para a popularização do uso do Linux em
desktops.

O projeto começou em 1999, como um simples projeto de live-CD desenvolvido para estudo e uso
pessoal por Klaus Knopper. Ele passou a ser disponibilizado ao público a partir de 2000 e continuou sendo
desenvolvido sem muito alarde até o lançamento da versão 3.1 (disponibilizada em outubro de 2002) que foi a
primeira versão do sistema a ganhar repercussão. A partir daí, o sistema deixou de ser um projeto obscuro e
passou a ser divulgado em diversos meios e a ganhar derivações:

Knoppix 3.1: onde tudo começou

624
Tradicionalmente, o Knoppix é baseado no KDE, trazendo um grande volume de aplicativos (com
destaque para um bom conjunto de ferramentas de diagnóstico e utilitários), sendo sempre baseado no
Debian Sid, ou seja, no repositório instável.

Um dos principais diferenciais do sistema era o "hwsetup", um pequeno programa escrito em C que,
combinado com um script de configuração, fazia um excelente trabalho em detectar os componentes do PC e
colocar o sistema para funcionar mesmo nas configurações mais bizarras, tudo isso em uma época em que os
instaladores de muitas distribuições ainda perguntavam qual era o tipo de mouse usado. Não era à toa que ele
era usado por muitos para testar a compatibilidade dos PCs com o Linux, antes de comprar.

O sistema foi sempre apresentado estritamente como um live-CD, destinado a ser usado como
sistema de testes ou como ferramenta de recuperação, o que explica o fato de nunca ter existido um
instalador oficial.

Naturalmente, isso nunca impediu que os interessados instalassem o sistema no HD, usando o "knx-
hdinstall" (um script desenvolvido em 2003 pelo Christian Perle, que deu origem ao instalador usado no
Kurumin) e outros instaladores não-oficiais, obtendo assim uma instalação rápida do Debian. No Knoppix 6
é usado o "0wn", um instalador em shell script, que tem uma interface simples (bash e Xdialog) mas que
também faz o trabalho.

Uma das características do Knoppix é o fato de incluir um volume muito grande de aplicativos e
ferramentas, o que o torna uma espécie de canivete suíço entre as distribuições, desempenhando muito bem a
função de CD de recuperação e de distribuição "testdrive", permitindo testar softwares diversos sem precisar
instalar. Além das tradicionais versões em CD, o Knoppix ganhou também algumas versões em DVD ao
longo de sua longa caminhada, que incluem um volume ainda maior de softwares prontos para uso.

Com a mudança do KDE 3.x para o KDE 4.x (que se tornou bem maior e mais complexo,
dificultando o uso em um CD de 700 MB), o Knoppix se reinventou, transformando-se em uma distribuição
leve, baseada no LXDE. Essa mudança radical acabou afastando muitos usuários antigos, mas, em
compensação, permitiu que o Knoppix passasse a atender um novo nicho, servindo também como uma
opção de distribuição leve:

Entretanto, isso não exclui a possibilidade de serem lançadas novas versões baseadas no KDE,
sobretudo dentro da série live-DVD.

625
A configuração da rede é feita usando o NetworkManager, e a do vídeo usando o "LXRandR"
(disponível através do ícone ao lado do iniciar), que é o utilitário de configuração de vídeo do LXDE. Assim
como no caso do gnome-display-properties, ele se limita a oferecer as resoluções detectadas pelo X, o que
funciona muito bem nas versões atuais do X.org.

Como o apt-get funciona normalmente ao rodar a partir do CD (graças ao uso do AUFS, disponível
nas versões recentes), você pode instalar também outros utilitários e aplicativos de que precise, ficando
limitado apenas à memória RAM disponível.

Infelizmente, o Knoppix não possui uma opção de boot para o português do Brasil, mas é possível
mudar a linguagem do sistema ajustando a configuração do locales, assim como no Debian. Para isso,
reinstale o pacote "locales" (ele vem incompleto no Knoppix, devido à questão da economia de espaço) e use
o dpkg-reconfigure para reconfigurá-lo:

# apt-get install --reinstall locales


# dpkg-reconfigure locales

Dentro do menu de seleção, marque o "pt_BR.UTF-8 UTF-8" e defina-o como padrão. A partir daí,
os aplicativos cujas traduções estiverem instaladas, passarão a ser exibidos automaticamente em pt-BR.

Como o Knoppix usa o LXDE, você não poderá contar com os utilitários de configuração do teclado
do KDE ou do GNOME. Em vez deles, a configuração é feita diretamente no arquivo
"/etc/X11/xorg.conf". Basta editar a seção referente ao teclado, deixando-a como o exemplo a seguir e
reiniciar o X para que a configuração entre em vigor:

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
EndSection

A página oficial do Knoppix é a http://www.knoppix.org, que inclui os change-logs e notas de


lançamento, além dos links para download. Temos também o http://www.knoppix.net que, apesar de ser um
site não-oficial, hospeda o maior fórum dedicado ao Knoppix, de onde saíram muitos dos projetos baseados
nele.

SIDUX

O sidux é um dos derivados mais bem sucedidos do Knoppix, desenvolvido pela sidux e.V., uma
entidade sem fins lucrativos sediada na Alemanha.

O principal objetivo do sidux é oferecer uma versão "suportada" do Debian Sid para uso em desktops,
adicionando scripts e ferramentas de configuração e solucionando bugs e problemas diversos relacionados ao
uso dos pacotes instáveis, de maneira que o sistema possa ser usado e atualizado sem sustos.

Entre os truques usados estão o reempacotamento ou o congelamento de pacotes problemáticos (uma


versão corrigida do pacote é disponibilizada como uma solução temporária, ou a versão anterior continua
sendo usada até que uma versão corrigida seja disponibilizada pela equipe do Debian) e o uso de versões
alternativas de alguns pacotes.

Embora o sidux não seja exatamente uma boa escolha para iniciantes, ele é bastante popular entre os
usuários mais técnicos, justamente por combinar o uso de pacotes muito atuais com uma boa estabilidade e
flexibilidade. Como pode imaginar, a ênfase é (diferente do Knoppix) que você realmente instale o sistema no
HD e o use como distribuição principal.

626
O sidux surgiu como uma derivação do Kanotix, um projeto anterior também baseado no Knoppix e
no Debian Sid. Devido a divergências com relação aos rumos da distribuição, Stefan Lippers (slh), que era o
responsável pelos pacotes do Kernel e outros componentes do sistema, decidiu criar um novo projeto, dando
origem ao sidux, que rapidamente herdou a maior parte dos usuários e dos desenvolvedores, tornando-se
uma espécie de sucessor do Kanotix.

Com o tempo, ele acabou se tornando um "epicentro" para diversos usuários avançados e
desenvolvedores herdados de outras distribuições, que acabaram formando uma equipe bastante competente
e coesa.

Oficialmente, o sidux não é mais baseado no Knoppix, já que praticamente todos os scripts e
componentes herdados dele já foram substituídos por outras ferramentas, fazendo com que o sidux ganhasse
uma identidade própria. Entretanto, historicamente é impossível negar a descendência, assim como no caso
do Mandriva, que veio do Red Hat.

O nome é uma derivação de "Sid", o eterno release instável do Debian, que ganhou este nome a partir
do personagem do filme Toy Story. Uma curiosidade é que nome "sidux" é sempre escrito em letras
minúsculas, um ponto em que os desenvolvedores colocam uma grande ênfase.

A página oficial é a http://sidux.com/, mas temos também uma comunidade nacional bastante ativa,
que você acessa no http://www.sidux.com.br ou no http://sidux.forumdebian.com.br/.

Usando o sidux, você notará muitas semelhanças com o Kurumin, incluindo a organização do
desktop, os menus, o uso de uma pasta separada para os ícones de montagem das partições, a janela do
Konqueror com o manual que é aberta durante o boot, e assim por diante. As semelhanças não são mera
coincidência, já que estes são, na verdade, traços de personalidade herdados do Knoppix.

Até a versão 2009-1 (Ouranos) o sudux foi baseado no KDE 3.x, seguindo a tradição iniciada com o
Knoppix. A partir daí, foi feita a migração para o KDE 4.x, acompanhando a atualização dos pacotes no
Debian Sid que seguiu o lançamento do Lenny.

Um dos pontos fortes do sidux e o que faz com que ele seja perfeitamente utilizável para usuários do
Brasil é o bom suporte a internacionalização incluído no sistema. Embora o inglês seja a língua oficial, o sidux
inclui também suporte a português do Brasil, basta pressionar a tecla F4 na tela de boot:

627
Se você estiver usando a versão em DVD, que já vem com os pacotes de internacionalização pré-
instalados, as traduções são usadas automaticamente. Mesmo se estiver usando a versão KDE-lite (a versão
em CD-ROM), é possível instalar os pacotes de internacionalização manualmente usando o apt:

# apt-get update
# apt-get install kde-i18n-ptbr myspell-pt-br iceweasel-l10n-pt-br aspell-pt-br

Assim como no caso do Ubuntu, o sidux vem com o sudo ativado por padrão, permitindo que você
se logue como root ao rodar a partir do live-CD com um "sudo su" ou "sudo sh" e a partir daí defina as
senhas, use o apt e configure o sistema como quiser. Quando o sistema é instalado, o uso do sudo é
desativado, mas você pode ativá-lo novamente configurando o arquivo "/etc/sudoers".

O instalador merece uma saudação à parte. Embora seja um descendente indireto do knoppix-install
(o script original de instalação do Knoppix, do qual o instalador do Kurumin também se originou), ele
evoluiu de forma independente, abandonando as raízes e se tornando um instalador gráfico bastante elegante
e efetivo:

628
As opções são organizadas em um conjunto de abas, permitindo que você configure tudo antes de
iniciar a instalação. Ao clicar no "Guardar Configuração & Seguinte", o restante da instalação acontece
automaticamente, sem que você precise ficar na frente do micro acompanhando o processo. Assim como em
outros live-CDs baseados no Knoppix, a instalação consiste em copiar os arquivos da imagem para o HD (e
não instalar um conjunto de pacotes, calculando as dependências, como em distribuições tradicionais), por
isso o processo é bastante rápido.

Por default, o sidux utiliza apenas o repositório principal do Debian, deixando de lado os repositórios
não-livres. Assim como no caso do Debian, é necessário adicioná-los manualmente, incluindo o "contrib
non-free" no final da linha, como em:

deb http://ftp.br.debian.org/debian/ sid main contrib non-free

Por questões de organização, a configuração do repositório do Debian vai no arquivo


"/etc/apt/sources.list.d/debian.list" e não diretamente no "/etc/apt/sources.list". A linha com o repositório
do sidux (que inclui os pacotes com os scripts e os componentes extras), por sua vez, vai no
"/etc/apt/sources.list.d/sidux.list".

O sidux inclui também um painel de controle simples, que serve apenas como uma interface para
outras ferramentas do sistema. Essa é uma abordagem bastante inteligente, pois permite que o painel cumpra
seu papel sem reinventar a roda, consumindo poucos recursos de desenvolvimento. Além de estar disponível
através do "Iniciar > Sistema > sidux Control Center", existe também uma versão em modo texto, o
"siduxcc", que é bastante útil em casos de problemas com a abertura do ambiente gráfico.

629
Entretanto, a grande ênfase do sidux não é na facilidade de uso, mas sim nas atualizações de sistema.
Grande parte do trabalho dos desenvolvedores é focado justamente em testar as atualizações do Debian
Unstable, criar mecanismos para reduzir a incidência de problemas e postar avisos de problemas transitórios,
que possam comprometer a atualização.

Atualizar o sidux (ou qualquer outra distribuição baseada no Debian Unstable) é como ir para a praia:
existem bons dias, onde faz sol e a atualização "desce redondo" e maus dias, onde chove e algum pacote
problemático trava a atualização ou causa algum problema posterior.

A "previsão do tempo" é postada regularmente no http://sidux.com/, com os tradicionais avisos de


"No Dist-Upgrade" (vai chover), postados quando existe algum problema pendente nos repositórios.

Escaldados, os desenvolvedores criaram uma ferramenta de atualização, disponível dentro do


"siduxcc", que executa uma serie de workarounds para corrigir problemas e avisa sobre eventuais dificuldades
com a atualização.

Para prevenir os problemas derivados da necessidade de reiniciar o ambiente gráfico ao atualizar


alguns pacotes, ele precisa ser executado sempre em um terminal de texto puro. Para usá-lo, pressione
Ctrl+Alt+F1 para chavear para o terminal, logue-se como root, finalize o ambiente gráfico digitando "init 3"
e em seguida execute o atualizador chamando o comando "siduxcc":

# init 3
# siduxcc

Dentro dele, use a opção "Software > run a dist-upgrade only":

630
A diferença em usar a função do painel (em vez de simplesmente rodar um "apt-get upgrade" no
terminal) é que o script de atualização executa algumas checagens adicionais e evita a instalação de pacotes
problemáticos, marcados manualmente pela equipe do sidux. Está disponível também a opção "Software >
Show DU warnings" que exibe avisos sobre eventuais problemas com o dist-upgrade devido a bugs ainda não
corrigidos em pacotes do Debian Unstable.

Outra opção é usar o smxi, um script que permite fazer um "upgrade assistido" do sistema,
oferecendo diversas opções, realizando checagens adicionais e exibindo mensagens explicativas (em inglês)
durante o processo. Embora ele apareça no siduxcc (a opção "run smxi"), o script não vem pré-instalado no
sistema. Para instalá-lo, é necessário baixar os scripts para a pasta "/usr/local/bin/"

# cd /usr/local/bin
# wget http://smxi.org/smxi.zip
# unzip smxi.zip

A partir daí, você pode executá-lo através da opção no siduxcc, ou diretamente, executando o "smxi"
(no terminal de texto puro) como root.

DREAMLINUX

Embora tenha começado como um projeto nacional, voltado para usuários do Brasil, o Dreamlinux
seguiu um caminho diferente, passando a ser desenvolvido primariamente em inglês. Esta mudança permitiu
que o projeto atraísse um grande volume de usuários e colaboradores de outros países, e, ao mesmo tempo,
evitasse as críticas e escaramuças a que distribuições nacionais são normalmente submetidas. Isso permitiu
que o projeto crescesse e, curiosamente, passasse a ser mais respeitado mesmo dentro do Brasil.

A página oficial é a http://www.dreamlinux.com.br/ e o fórum de discussão e suporte (em inglês) está


disponível no http://www.dreamlinuxforums.org/. Está disponível, também, um wiki com diversos tutoriais
(também em inglês) no http://wiki.dreamlinuxforums.org/.

A proposta básica do Dreamlinux é oferecer um sistema com todos os apetrechos visuais e um visual
inspirado no MacOS X, mas que seja ao mesmo tempo leve e rápido. A versão primária do sistema é baseada
no XFCE (o que garante um consumo de memória RAM e processamento mais baixo que na maioria das
outras distribuições), com a opção de uma versão baseada no GNOME. O sistema inclui também um
conjunto completo de codecs, plugins e de players de mídia.

Na configuração padrão, a barra de tarefas é posicionada no canto superior e combinada com o


Engage, que é um lançador de aplicações que imita o Dock do MacOS X. Ele inclui também uma versão pré-
configurada do Compiz-Fusion, que pode ser ativada através do painel de controle caso o suporte 3D para a
placa de vídeo esteja disponível.

631
Assim como tantos outros live-CDs, o Dreamlinux começou como uma remasterização do Knoppix,
que incorporou também elementos do Morphix e de algumas outras distribuições. Até a série 2.x era usado o
instalador do Morphix, mas a partir da versão 3.0 migraram para um instalador próprio (o
"/usr/local/bin/dli.rb").

Ele utiliza uma interface simples, onde você indica o nome da máquina e o login do usuário padrão,
define as senhas, indica a partição de instalação do sistema e o device onde será gravado o grub e clica no
"Apply" para iniciar a instalação, sem opções adicionais:

A configuração do sistema é feita através de um configurador próprio, o "Dreamlinux Control Panel"


(que corresponde ao script "/usr/local/bin/dcp.rb"), que agrupa os demais scripts disponíveis no sistema,
uma lista que inclui ferramentas de configuração de hardware, configuração de rede, serviços, usuários e
grupos, instalação dos drivers da nVidia e opções visuais:

632
Ele é complementado pelo "Easy-Install", que oferece scripts de instalação para alguns aplicativos
populares e pelo "MkDistro", uma ferramenta de remasterização que permite gerar uma cópia modificada do
sistema a partir de uma instalação no HD, ou diretamente a partir do live-CD. A ideia é que você

633
simplesmente personalize o ambiente como quiser e, em seguida, use o MkDistro para gerar o ISO da versão
modificada.

Quase todos os utilitários foram escritos em Ruby, com alguns poucos escritos usando o Lua ou shell-
script. A maioria dos scripts não possuem muitas funções de fallback (ou seja, quando algo dá errado, você
fica simplesmente sem saber o que aconteceu) e não oferecem legendas ou mensagens de ajuda, presumindo
que você conheça as opções mostradas e saiba o que fazer.

Outro problema é que a predominância de scripts próprios, que duplicam funcionalidades básicas,
como instalar o sistema ou configurar o grub, acabam fazendo com que o sistema tenha muitos bugs (já que a
carga de desenvolvimento sobre a pequena equipe se torna muito maior) e faz com que o conhecimento
acumulado ao utilizar o Dream não seja portável para outras distribuições.

O suporte a internacionalização é também bastante deficiente. Mesmo depois de alterar a linguagem


padrão do sistema no painel de controle e reiniciar, é necessário instalar manualmente os pacotes de
internacionalização e traduzir manualmente vários dos menus para usar o português ou qualquer outra língua.

Essa combinação de fatores faz com que ele seja uma distribuição peculiar, que ajuda você a pensar
"fora da caixa", oferecendo um jeito de ser diferente do de outras distribuições. Seria difícil recomendá-lo
como distribuição principal, mas sem dúvidas ele merece um teste.

Excluindo todos os scripts e personalizações, o Dreamlinux se comporta como uma instalação regular
do Debian, o que permite que você arregace as mangas e configure o sistema manualmente sempre que
necessário, instalando softwares adicionais pelo apt e executando manualmente configurações não previstas
dentro do painel de controle.

LINUXMINT

As distribuições derivadas do Debian se diferenciam das derivadas do Ubuntu devido ao uso dos
repositórios. Naturalmente, as distribuições derivadas do Ubuntu são também descendentes indiretas do
Debian, mas por utilizarem as modificações introduzidas pelo Ubuntu, as duas famílias acabam sendo bem
diferentes.

O LinuxMint é uma derivação do Ubuntu, que tem como objetivo ser um sistema mais "pronto para
usar", com codecs e plugins pré-instalados e um visual mais atraente. A versão principal é baseada no
GNOME, seguindo o padrão ditado pelo Ubuntu, mas existem também versões alternativas, incluindo uma
baseada no XFCE e outra com o KDE.

Está disponível também uma versão "Universal" em DVD, que não inclui plugins e aplicativos
proprietários, mas em compensação inclui os pacotes de tradução para diversas linguagens. Todas podem ser
baixadas no: http://linuxmint.com/

Embora em essência ele continue sendo uma instalação do Ubuntu, onde você pode aplicar todas as
dicas que vimos até aqui, as modificações no visual fazem com que à primeira vista o sistema pareça bastante
diferente. Um bom exemplo é o uso do SLAB (o menu iniciar modificado, introduzido pelo OpenSUSE) no
lugar do iniciar padrão do GNOME, que é combinado com um tema visual bastante modificado em relação
ao tema padrão do Ubuntu.

Esse conjunto de modificações faz com que o sistema seja mais agradável de usar do que uma
instalação padrão do Ubuntu, o que explica a popularidade. O Linux Mint chegou a ocupar a segunda posição
no rank de popularidade do DistroWatch, perdendo apenas para o próprio Ubuntu.

O Mint não inclui os pacotes de tradução para o português e nem apresenta a tela de seleção de
linguagem no início do boot, inicializando em Inglês por default. Entretanto, ele herda todos os pacotes de
tradução do Ubuntu e utiliza o mesmo instalador, o que permite que você simplesmente altere a linguagem na
primeira tela da instalação:

634
Assim como no caso do Ubuntu, o instalador tenta baixar os pacotes de tradução para o OpenOffice
e outros aplicativos no final da instalação, desde que exista uma conexão disponível.

Caso você queira alterar a linguagem ao rodar a partir do próprio live-CD (sem precisar primeiro
instalar), acesse o "Menu > Administration > Language Support" e marque o "Portuguese", deixando que ele
baixe e instale os pacotes usando o ramdisk.

Para que a alteração entre em vigor, altere a linguagem padrão do sistema (ainda dentro do Language
Support), faça logout (usando o "Menu > Logout > Switch User") e, de volta à tela de login, clique no
"Language > Portugueses (Brazilian)" para alterar a linguagem e finalmente ver o sistema em português.

Uma observação é que, no LinuxMint o login padrão do sistema ao rodar a partir do live-CD é "mint"
e não "ubuntu". Basta se logar com ele, deixando a senha em branco.

Depois de instalado, o Mint se comporta como uma instalação regular do Ubuntu, preservando as
personalizações encontradas no live-CD. Uma pequena diferença é que no primeiro boot ele executa um
assistente adicional, que se oferece para definir uma senha para o root, o mesmo que você poderia fazer
usando o "sudo passwd".

O Mint inclui também alguns utilitários adicionais de configuração, desenvolvidos pela própria equipe,
alguns deles originais e outros desenvolvidos com base em trabalhos anteriores.

635
Um bom exemplo é o "mintInstall" (Gerenciador de Software), um instalador de pacotes simplificado,
que oferece uma lista de aplicativos selecionados, incluindo a descrição e um screenshot, uma interface que
lembra um pouco os painéis dos ícones mágicos do Kurumin. Ele se destaca pelo grande número de
aplicativos disponíveis e por agrupar informações adicionais sobre os aplicativos, incluindo links para reviews
e comentários publicados em sites na web:

A lista dos programas é atualizada frequentemente (basta clicar no "Atualizar), mas o lado ruim é que
ele precisa baixar um grande volume de arquivos XML e screenshots, o que torna o processo demorado.
Esteja preparado para esperar de 15 a 30 minutos antes de poder utilizá-lo pela primeira vez.

Outro exemplo é o "mintNanny", que oferece um sistema prático para bloquear sites, que serve como
um sistema simples de controle parental. Ele funciona de maneira bastante prosaica (e fácil de burlar),
simplesmente adicionando entradas no arquivo "/etc/hosts", que relacionam os domínios bloqueados com o
endereço "0.0.0.0", sabotando a resolução do domínio e impedindo que eles sejam acessados.

Estes softwares são disponibilizados através de um repositório adicional, o packages.linuxmint.com, o


que permite que eles sejam atualizados juntamente com o restante do sistema. Naturalmente, quase todos os
pacotes continuam vindo dos repositórios do Ubuntu, que são usados em conjunto com o Medibuntu e
alguns outros repositórios adicionais.

Continuando, apesar de utilizar os repositórios do Ubuntu, o Mint utiliza uma ferramenta própria de
atualização, o "mintUpdate", que substitui o Ubuntu Update. O principal motivo da mudança é a introdução
de um sistema de classificação dos pacotes, que passam a ser classificados em 5 níveis. Os pacotes rotulados
com o nível 1 ou 2 são as atualizações "seguras", que foram testadas pela equipe do Linux Mint. Os pacotes
de nível 3 são pacotes vindos diretamente dos repositórios do Ubuntu, sem checagem adicional, enquanto os
de nível 4 e 5 são atualizações potencialmente perigosas, que devem ser evitadas:

636
Esse sistema permite que você instale as atualizações de forma seletiva, evitando atualizações que
possam desestabilizar o sistema. O principal motivo é que Linux Mint utiliza repositórios adicionais,
combinados com pacotes baixados de forma avulsa pelo mintInstall, o que abre as portas para problemas
diversos ao atualizar o sistema.

Cada release do Linux Mint segue o lançamento de um dos releases do Ubuntu. O Linux Mint 6
Felicia) é baseado no Ubuntu 8.10, o Linux Mint 5 (Elyssa) é baseado no 8.04 e assim por diante.

O Mint inclui também um conjunto diferente de aplicativos pré-instalados. Ele vem com o Mplayer
instalado por padrão, usa o Thunderbird no lugar do Evolution, traz o Ndiswrapper e o Ndisgtk instalados
por padrão (facilitando a ativação de placas wireless que só funcionam usando os drivers do Windows) e
inclui o Gufw, uma opção de firewall fácil de usar. Ele vem com suporte a flash, java e um conjunto bastante
completo de plugins e codecs instalados por default, simplificando bastante a configuração inicial do sistema.

Uma característica negativa, entretanto, é a substituição de algumas das ferramentas do Ubuntu por
outras e a troca dos nomes de alguns utilitários para variações da palavra mint, o que é desnecessário e acaba
apenas complicando as coisas para usuários que já estão acostumados com o Ubuntu e precisam relacionar as
ferramentas que já conhecem com as versões alternativas.

No geral, o Mint atende bem ao propósito de ser uma versão polida do Ubuntu, que torna o sistema
mais fácil de usar para usuários iniciantes. Graças aos pacotes de tradução e ao instalador herdado do Ubuntu,
você pode facilmente mudar a linguagem de instalação do sistema durante a instalação, o que permite que o
LinuxMint seja uma boa opção também para usuários do Brasil.

Ele é um bom exemplo de como pequenas distribuições podem se destacar em relação às


distribuições-mãe, adicionando componentes adicionais e personalizações que, por questões legais ou
ideológicas não podem ser incluídos diretamente na distribuição principal.

Grandes distribuições, como o Ubuntu e o Mandriva não podem se dar ao luxo de incluir
componentes com disputas relacionadas a patentes ou entraves legais, já que são um alvo muito visado para
processos legais por parte de empresas interessadas em extorquir dinheiro (como no célebre caso da SCO).
Entretanto, distribuições menores podem oferecer os mesmos componentes de forma relativamente segura.
Outra questão é que grandes distribuições precisam ser tudo para todos, o que acaba resultando em um visual
neutro e um conjunto um pouco sem sal de aplicativos, ao passo que distribuições menores podem se
concentrar em um público específico.

Uma palavra de cautela é que o Mint não tem por objetivo ser uma distribuição leve, muito pelo
contrário. Os componentes e gadgets adicionais fazem com que os releases sejam sempre um pouco mais
pesados que as versões correspondentes do Ubuntu. O Felicia, por exemplo, consome (já depois de instalado)
224 MB de memória RAM em um boot limpo, o que é quase o quádruplo do consumido por uma instalação
limpa do Debian Lenny com o KDE 3.5, por exemplo. Se você usa um PC antigo (principalmente se usa
menos de 1 GB de RAM), ou um netbook, o Linux Mint não seria a melhor opção.

637
BIG LINUX

O Big Linux é outra distribuição baseada no Ubuntu, que se destaca por oferecer um ambiente pré-
configurado para os usuários do Brasil, com um conjunto de scripts e ferramentas de configuração e um
conjunto bem escolhido de softwares pré-instalados. A página oficial é a http://biglinux.com.br/.

Ele começou como uma remasterização do Kurumin, utilizando os repositórios do Debian, mas a
partir da versão 3 migrou para os repositórios do Ubuntu. A mudança permitiu também que os scripts e
ferramentas já existentes fossem reforçadas por algumas das ferramentas do Ubuntu e as atualizações do
sistema não ficassem vinculadas ao lento ciclo de desenvolvimento das versões estáveis do Debian.

A interface padrão em todas as versões do Big é uma versão bastante personalizada do KDE,
incluindo opções para ativar efeitos visuais diversos e um conjunto bastante completo de aplicativos:

Muito se discute sobre as vantagens e desvantagens do uso dos repositórios do Debian e do Ubuntu
por distribuições derivadas. O uso do Debian é uma faca de dois gumes, já que a versão estável demora para
ser atualizada e a versão instável resulta em problemas periódicos, que exigem a publicação e avisos e
workarounds (como no caso do sidux).

O Ubuntu, por sua vez, oferece a vantagem de ser atualizado a cada seis meses, mas, por outro lado,
possui um histórico de problemas bem mais extenso e utiliza pacotes com um nível maior de personalização,
o que dificulta um pouco o uso em outras distribuições. O fato de os pacotes do repositório Universe serem
gerados a partir dos pacotes do Debian Sid, também não ajuda com relação à estabilidade. Como pode ver,
essa é uma questão mais espinhosa do que pode parecer à primeira vista.

Até a série 4.x, o Big Linux foi baseado no KDE 3.5, utilizando os pacotes do Debian e em seguida os
pacotes do Ubuntu/Kubuntu (o Big Linux 4.2, por exemplo, é baseado nos repositórios do Ubuntu 8.04). A
versão 5, por sua vez, marcou a migração para o KDE 4, seguindo a migração feita pela equipe do Kubuntu.

O principal diferencial do Big Linux é o painel de controle, que concentra um grande número de
scripts e funções para instalar pacotes adicionais e solucionar problemas. Nas primeiras versões eles foram
baseados nos scripts do Kurumin, mas desde então passaram a evoluir de maneira independente, acumulando
novas funções em resposta ao feedback dos usuários. Ele é provavelmente a distribuição ainda ativa que mais
se aproxima do modo de funcionamento do Kurumin 7, oferecendo um sistema automatizado e fácil de usar.

638
Outro destaque é a comunidade reunida em torno do fórum (disponível no
http://www.biglinux.com.br/forum/). A maioria dos usuários são iniciantes, acompanhando o público-alvo
da distribuição, por isso o nível técnico não é especialmente alto, mas, em compensação, as discussões são

639
saudáveis e predomina um clima de ajuda mútua. O fórum também serve como um canal para coordenar
contribuições, muito embora (assim como em outras distribuições comunitárias), quase todo o trabalho seja
feito por uma única pessoa.

O principal mérito do Big Linux é oferecer uma versão "estabilizada" do Ubuntu/Kubuntu,


substituindo a pressa em lançar novas versões por um processo mais metódico, com atualizações mais lentas
e workarounds para os problemas, combinada com uma comunidade bastante ativa.

A desvantagem em utilizá-lo é que o sistema se comporta de maneira bem diferente, fazendo com que
muito do aprendido não se aplique diretamente a outras distribuições. As atualizações mais lentas fazem
também com que ele não seja a distribuição mais adequada para máquinas recentes, já que utiliza versões mais
antigas do kernel e dos demais pacotes.

Em resumo, ele poderia ser recomendado para iniciantes em geral e também para usuários mais
avançados que estejam interessados em aperfeiçoar o sistema e contribuir com scripts e melhorias.

PCLINUXOS

Apesar de ser uma das distribuições mais antigas, com uma história que remete aos tempos do
Mandrake Linux, o Mandriva não possui muitas distribuições derivadas, ao contrário do que temos no caso
do Debian, do Ubuntu, ou mesmo do Slackware. Existem alguns fatores que explicam isso, um deles seria o
simples fato de que os pacotes do Mandriva são mais personalizados e moldados à distribuição, diferente dos
pacotes do Debian ou do Slackware, que possuem um mínimo de personalização, facilitando assim o uso em
projetos derivados.

De qualquer maneira, a distribuição mais bem sucedida entre as derivadas do Mandriva é o


PCLinuxOS. Ele começou em 2003 como uma remasterização do Mandrake 9.2 (a versão corrente na época),
desenvolvida pelo Texstar, um antigo colaborador do sistema, que mantinha um repositório com pacotes
extras.

Esta primeira versão permaneceu em estágio de desenvolvimento e testes até novembro de 2005,
quando foi lançado o PCLinuxOS 0.92, o primeiro release oficial. Ele foi seguido pelo PCLinuxOS 2007
(lançado em maio de 2005) e pelo PCLinuxOS 2009.1, lançado em março de 2009.

O principal objetivo do sistema é ser uma distribuição fácil de usar, oferecendo um live-CD com um
ambiente de trabalho personalizado, que pode ser instalado no HD ou remasterizado rapidamente. A página
oficial é a http://www.pclinuxos.com e existe também uma comunidade no Brasil, que mantém a
http://www.pclinuxos.com.br/.

Embora tenha sido lançado apenas um pouco antes da versão final do Mandriva 2009.1, o
PCLinuxOS 2009.1 é um sistema bem diferente, que é ainda baseado no KDE 3.5.10. Essa decisão resultou
em um sistema relativamente leve e bastante estável no geral, mas que, por outro lado, oferece menos
recursos que o Mandriva.

640
Pressionando a tecla F2 na tela de boot, você tem o tradicional menu de seleção de linguagem, que
inclui o português do Brasil. Prosseguindo com o boot, ele pergunta o layout do teclado e prossegue para a
tela de login, que usa senhas default para o usuário "guest" e para o root (sem o uso do sudo). O uso destas
senhas default é uma brecha grave de segurança, mas um assistente executado no primeiro boot após a
instalação se oferece para trocá-las.

Apesar da opção de escolha da linguagem, o sistema não possui os componentes de


internacionalização, por isso continuará em inglês, independentemente da linguagem indicada na tela de boot.
As traduções para as demais linguagens (que fazem parte dos pacotes dos aplicativos) são simplesmente
removidas do sistema para economizar espaço.

Entretanto, é possível fazer uma tradução parcial do sistema instalando os pacotes "kde-i18n-pt_BR",
"locales-pt", "myspell-pt_BR" e "aspell-pt". Com eles instalados, acesse o "País/Região & Idioma >
Localização" dentro do Kcontrol para alterar a linguagem do KDE e, em seguida, edite o arquivo
"/etc/environment" (onde vai a definição de linguagem para os demais aplicativos do sistema), deixando-o
com o seguinte conteúdo:

LC_ALL=pt_BR
LANGUAGE=pt_BR
LC_MESSAGES=pt_BR
LANG=pt_BR

Você vai notar que, mesmo depois das alterações, muitos dos aplicativos continuarão em inglês (ainda
devido à falta dos arquivos de localização). No caso deles, a única solução é reinstalar os pacotes através do
Synaptic, para que os componentes removidos sejam restaurados.

O 2009.1 inclui o "setup-language", um script que automatiza o processo. Ele está disponível através
do ícone "Utilitários" no desktop, que inclui também atalhos para alguns outros scripts de configuração
complementares. Esse script executado através do ícone no desktop é diferente da opção disponível dentro
do Centro de Controle, que oferece apenas variações do inglês:

641
O script baixa os pacotes básicos de internacionalização e, em seguida, reinstala vários aplicativos do
sistema, restaurando os componentes de internacionalização. É uma solução deselegante, que baixa quase 200
MB de pacotes e demora quase uma hora, mas que no final funciona.

O PCLinuxOS mantém o uso do Mandriva Control Center, mas ele foi renomeado para "PCLinuxOS
Control Center" e parte das funções foram removidas, deixando apenas os recursos que os desenvolvedores
consideram suportados. Foram feitas também algumas modificações nas legendas das funções, com o
objetivo de torná-las mais descritivas, mas elas acabam não sendo muito efetivas para usuários do Brasil, já
que são apenas em inglês, sem tradução para outras línguas:

O instalador é o mesmo do Mandriva One (com pequenas modificações nas artes), excluindo apenas
as opções relacionadas ao uso do LVM e RAID via software, que foram removidas devido à falta dos pacotes
correspondentes.

O gerenciador de pacotes primário é o Synaptic, combinado com o apt-rpm (a versão modificada do


apt-get, que trabalha com pacotes rpm); o que permite que você utilize o "apt-get install" para instalar pacotes
pelo terminal, como faria se estivesse usando o Ubuntu ou outra distribuição derivada do Debian. O grande
problema é que com um gerenciador de pacotes diferente e com repositórios diferentes, as mudanças em
relação ao Mandriva acabam sendo grandes.

642
Além da versão principal, que é baseada no KDE, estão disponíveis também algumas versões
modificadas, como o "PCLinuxOS GNOME Edition", que, como o nome sugere, é baseada no GNOME,
priorizando o uso de aplicativos GTK2.

O principal destaque é a inclusão de uma interface para o Mklivecd, um script (originalmente


desenvolvido pela equipe do Debian) que permite criar um live-CD a partir de uma instalação do sistema no
HD. Ele permite criar personalizações do sistema de forma bastante simples (você precisa apenas instalar o
sistema, fazer as alterações desejadas e em seguida executar o script para gerar uma nova imagem), o que
levou ao aparecimento de um grande número de pequenas distribuições baseadas nele:

Embora tenha seus pontos positivos e sem dúvidas mereça um teste, o PCLinuxOS não é
recomendável como distribuição de trabalho, pois os releases são muito espaçados e o sistema não é
atualizado de maneira pontual, carecendo principalmente de atualizações de segurança.

A versão original do PCLinuxOS (criada a partir dos pacotes do antigo Mandrake 9.2) foi atualizada de
forma independente até 2007, quando decidiram começar de novo, reconstruindo a distribuição com base nos
pacotes do Mandriva 2007, o que deu origem ao PCLinuxOS 2007. O sistema voltou então a ser atualizado
de maneira independente a partir daí, dando origem ao PCLinuxOS 2009.1, que é a versão atual.

Em vez de simplesmente acompanharem os releases do Mandriva, obtendo os pacotes e as


atualizações de segurança a partir dos repositórios principais e adicionando alguns pacotes extras e
personalizações, os desenvolvedores optaram por criar um fork do sistema, duplicando todo o trabalho de
atualização e tornando os dois sistemas incompatíveis.

Isso faz com que o sistema acabe também apresentando muitos bugs, resultado da combinação de
uma pequena equipe tentando dar conta de tudo e uma comunidade composta predominantemente por
usuários leigos, que acabam não tendo como testar adequadamente o sistema e indicar os problemas de forma
precisa.

Embora ele herde o mcc (renomeado para "pcc", acompanhando a mudança nas legendas) e a maioria
das ferramentas do Mandriva, não é feito muito esforço no sentido de manter a consistência do sistema, o
que faz com que muito do que você aprende ao usar o PCLinuxOS não seja aplicável ao Mandriva ou a
outras distribuições. Essa mesma abordagem se estende à documentação do sistema, onde em vez de tentar
aproveitar a documentação do Mandriva, os desenvolvedores optaram por tentar duplicar tudo, criando um
pequeno conjunto de tutoriais disponíveis no http://docs.pclinuxos.com/.

O PCLinuxOS está longe de ser uma distribuição ruim, muito pelo contrário. A grande questão é que
ele não apresenta muitos diferenciais em relação ao próprio Mandriva, acabando por, na verdade, oferecer
menos opções e versões antigas de muitas das ferramentas. Ele teria melhores chances de fazer a diferença
caso fosse adotada uma abordagem mais simples, com os desenvolvedores se limitando a personalizar o
release corrente do Mandriva, aparando as arestas e adicionando facilitadores, em vez de tentar recriar todo o
trabalho de desenvolvimento do sistema.

643
O principal argumento a favor do PCLinuxOS 2009.1 seria o fato de ele ser baseado no KDE 3.5.10,
diferente do Mandriva 2009.1, que utiliza o KDE 4.2. Isso fez com que ele ganhasse alguns usuários que, por
um motivo ou outro, não gostaram da transição para a nova versão. Ele é também preferido por alguns por
oferecer um conjunto mais completo de codecs pré-instalados e outros facilitadores. Entretanto, muitas das
facilidades também estão disponíveis no Mandriva One, que também é um live-CD voltado para a facilidade
de uso.

Em resumo, o PCLinuxOS tem o mérito de oferecer uma alternativa ao Mandriva. Por utilizar um
kernel diferente e incluir algumas modificações nos scripts de boot, ele é capaz de funcionar em algumas
máquinas onde o Mandriva One não roda adequadamente (e vice-versa), o que permite que ele seja usado
como uma segunda opção em caso de problemas. O sistema peca por não oferecer um suporte a
internacionalização, mas, por outro lado, o script de remasterização torna o processo de criar uma versão
personalizada, com os pacotes de tradução pré-instalados, relativamente simples.

VECTOR LINUX

Diferente do Slax, que tem como objetivo ser um live-CD flexível, o Vector Linux segue a abordagem
tradicional, com um repositório de pacotes e instalador. Ele se propõe a ser um sistema leve para desktops,
que possa rodar com um bom desempenho mesmo em micros antigos. Ele inclui também o VASM, um
painel de configuração que facilita muitas tarefas, resultando em um sistema mais fácil de usar do que o
Slackware.

A versão regular do Vector (o Vector Standard) utiliza o XFCE como gerenciador de janelas padrão.
Além dela, temos também o Vector SOHO (que utiliza o KDE) e o Vector Light, uma versão destinada a
micros antigos, que usa o IceWM.

Embora seja baseado no Slackware, o Vector "reinventa a roda", trazendo versões recompiladas de
muitos pacotes (muitas vezes com o único objetivo de alterar as informações sobre a versão), oferecendo
também alguns pacotes próprios. Apesar disso, ele continua compatível com os pacotes da versão regular do
Slackware, que podem ser instalados da forma tradicional, usando o installpkg. A página oficial é a
http://vectorlinux.com/.

O grande diferencial do Vector em relação ao Slackware regular é a inclusão de muitas ferramentas de


configuração. A configuração do vídeo, por exemplo, é feita no final da instalação através do "vxconf", uma
versão aperfeiçoada do xorgsetup, que permite ajustar a configuração do vídeo. Ele oferece mais opções,
incluindo a seleção do driver nos casos em que existe mais de uma possibilidade (como no caso das placas da
ATI, onde você pode escolher entre usar o driver open-source ou o driver proprietário da AMD) e a seleção
manual da resolução do monitor e da profundidade de cor.

A configuração de redes wireless é feita através do "wicd", que fica disponível ao lado do relógio. Para
a instalação de pacotes, está disponível o "gslapt", uma interface gráfica para o slapt-get, que facilita a
instalação, mostrando uma lista com os pacotes disponíveis, onde você pode ver quais já estão instalados, ler
os textos de descrição e instalar os pacotes desejados marcando-os na lista. Ele é complementado pelo
"vpackager", um assistente que permite instalar pacotes a partir do código-fonte, automatizando o processo
de compilação. Essas ferramentas (entre outras) são agrupadas no VasmCC, o Centro de Controle do Vector:

644
Apesar da língua nativa ser o inglês, o Vector possui um bom suporte a internacionalização. O
instalador oferece apenas o português de Portugal, mas depois de concluída a instalação, você pode mudar a
linguagem do sistema para o português do Brasil, usando a opção "Idioma" na tela de login.

O Vector é uma das distribuições mais antigas, um veterano que em 2009 completa 11 anos de
estrada. Embora ele tenha alguns fãs fiéis, é difícil recomendá-lo como distribuição principal, pois hoje em dia
ele é superado por outras distribuições em todas as áreas a que se propõe.

Muito embora seja baseado no XFCE e tenha um boot relativamente rápido, o Vector Standard 6.0
consome quase 90 MB de memória em um boot limpo, bem mais do que uma instalação limpa do Slackware
ou do Debian Lenny, cujo consumo de memória (rodando o KDE 3.5) fica na casa dos 65 MB. Essa grande
diferença coloca em cheque a questão da leveza, que seria o principal fator para utilizá-lo.

Com relação à facilidade de uso, ele perde para distribuições como o Mandriva, o OpenSUSE ou
mesmo para o Ubuntu, que oferecem conjuntos de ferramentas de configuração bem mais desenvolvidos e
fáceis de usar. A interface do VasmCC é confusa, com muitas funções acumuladas ao longo dos anos que não
são mais relevantes hoje em dia.

Devido ao fato de misturar pacotes de várias origens, sem um sistema funcional de controle de
dependências, o Vector acaba não sendo uma das distribuições mais estáveis. Isso faz com que ele perca para
o Debian estável ou para o próprio Slackware como distribuição para desktops de trabalho.

Por causa das múltiplas camadas de ferramentas de configuração e scripts, ele também não é uma boa
opção como distribuição para aprender (função que é desempenhada de maneira mais competente pelo
Slackware ou pelo Debian puro) já que a estrutura do sistema não é fácil de entender como no Slackware e o
conhecimento obtido ao usá-lo não é portável a outras distribuições.

Em resumo, o Vector é o Vector. Ele oferece um conjunto de características e ferramentas bem


diferente do oferecido por outras distribuições, o que o torna um caso único. Em termos técnicos, ele não
possui nenhum grande diferencial, mas a soma das partes pode agradar a alguns.

ARCH LINUX

O Arch Linux é uma distribuição voltada para usuários avançados, que é bastante personalizável e
oferece um desempenho muito bom, com pacotes otimizados para processadores de 64 bits ou para
processadores i686. Toda a configuração do sistema é feita diretamente nos arquivos de configuração, sem
direito a scripts ou muito menos um painel de controle. Em troca, ele utiliza uma configuração bastante
simplificada, com uma configuração legível e arquivos bem comentados.

645
Embora o Arch seja similar ao Slackware em muitos aspectos, ele é uma distribuição independente,
que utiliza um repositório próprio e possui diversas peculiaridades. A página oficial é a
http://www.archlinux.org e temos também uma comunidade nacional no http://www.archlinux-br.org.

Em vez de utilizar um sistema de versões, como na maioria das outras distribuições, o Arch é baseado
em um sistema "rolling release", onde o sistema é atualizado continuamente e você obtém acesso às novas
versões simplesmente mantendo o sistema atualizado através do gerenciador de pacotes. Os releases
disponibilizados para download nada mais são do que snapshots do repositório, que passam por um período
adicional de testes.

A ideia dos rolling releases é bastante similar ao sistema de desenvolvimento utilizado no Debian Sid
(o Unstable), que é também atualizado continuamente. A ideia tem seus pontos positivos, já que permite que
você tenha acesso às versões mais recentes de todos os softwares sem precisar utilizar uma versão instável ou
de desenvolvimento mas, por outro, faz com que (por mais que os desenvolvedores possam dizer o
contrário) as atualizações do sistema apresentem mais problemas, já que não é possível testar adequadamente
cada uma das atualizações em diversas configurações diferentes.

Embora seja bastante rápido e otimizado, o Arch não é um sistema para máquinas antigas, já que a
opção pelo uso da arquitetura 686 deixa de fora máquinas antigas, com processadores Pentium, K6 ou
Crusoe. Ele também não é uma distribuição indicada para quem não utiliza uma conexão rápida, já que todo
o funcionamento do sistema é baseado em baixar longas listas de pacotes e atualizações. Além disso, ele
também não é indicado se você não tem pelo menos um ou dois dias para instalar, configurar e entender o
sistema, já que ele é um espécime muito peculiar, diferente de outras distribuições.

É praticamente impossível utilizar o Arch sem ler a documentação, já que você precisa no mínimo
consultar os nomes dos pacotes e as opções básicas de configuração antes de começar a se achar dentro do
sistema. Não deixe de consultar o Wiki, disponível no http://wiki.archlinux.org.

Em resumo, o Arch apresenta uma combinação de fatores que agradam a muitos usuários mais
antigos (que sabem corrigir os pequenos problemas por contra própria) e também a alguns novos usuários,
que gostam da possibilidade de entender melhor o sistema e aprender durante o processo contínuo de
atualizações e solução de problemas. Por outro lado, são estes os mesmos fatores que fazem com que o Arch
fique restrito a uma base de usuários relativamente pequena.

Ao fazer download, estão disponíveis versões para gravação em pendrives (as com extensão ".img"),
complementando as tradicionais imagens para gravação em CD, que recebem a extensão .iso. As versões
"FTP" (as menores), são imagens de instalação via rede, que baixam as versões mais atualizadas dos pacotes
durante a instalação, enquanto as versões "Core" são imagens maiores, que permitem a instalação em modo
offline:

646
A vantagem de instalar a partir da imagem FTP é que você já instala o sistema com todos os pacotes
atualizados, diferente da versão Core, que é um snapshot do repositório, quase sempre vários meses
desatualizado. Como de praxe, a melhor opção para a instalação via rede é usar uma conexão compartilhada
via NAT, onde o PC possa simplesmente obter a configuração da rede via DHCP.

As imagens .iso podem ser gravadas normalmente, usando o K3B ou outro aplicativo de gravação,
enquanto as imagens .img podem ser gravadas no pendrive usando o dd, como em:

# dd if=archlinux-2009.02-core-x86_64.img of=/dev/sdd
# sync

O Arch utiliza um prompt inicial muito similar ao do Slackware, onde você cai em um terminal de
texto puro, no qual precisa se logar como "root" (sem senha) e executar o comando "/arch/setup" para
iniciar a instalação. É possível também ajustar o layout do teclado antes de instalar, usando o comando "km".

O instalador é um script em texto, que oferece uma lista de passos (novamente, bastante similar ao
instalador do Slackware), que você pode executar antes de iniciar a cópia dos arquivos. A lista inclui o ajuste
do fuso-horário, particionamento do HD, configuração da rede e escolha do mirror de download (no caso da
imagem FTP) e a seleção dos pacotes que serão instalados:

A partir daí, temos a opção 4 (Install Packages), que faz a cópia inicial dos arquivos (e o download dos
pacotes, no caso da imagem FTP) e a opção 6 (Install Bootloader), que faz a instalação do Grub. A opção 5
(Configure System) é opcional, já que você pode fazer a configuração depois do primeiro boot.

Depois de reiniciar, você cai em um prompt em modo texto. Assim como no prompt inicial da
instalação, você se loga como root (sem senha). Naturalmente, o primeiro passo é definir a senha de root e
aproveitar para criar um usuário de sistema, como em:

# passwd
# adduser gdh

Diferente de outras distribuições, onde você pode escolher as categorias de pacotes que serão
instalados (como no Mandriva ou no OpenSUSE), ou onde é instalado um desktop pré-configurado (como
no caso do Ubuntu), o Arch instala apenas um sistema básico, em linha de comando, que você deve
personalizar a partir daí. A vantagem dessa abordagem é que você tem inteira liberdade para adicionar apenas
os pacotes que deseja usar e moldar o sistema às suas necessidades, mas, por outro lado, torna a configuração
do sistema bem mais demorada e trabalhosa.

647
O principal arquivo de configuração do Arch é o "/etc/rc.conf", que engloba inclusive a configuração
da rede. O primeiro passo depois da instalação é editar o arquivo, alterando a linguagem (use "pt_BR.utf8"
para português do Brasil) e o layout do teclado ("br-abnt2" para teclados ABNT2) na seção inicial do arquivo,
como em:

LOCALE="pt_BR.utf8"
HARDWARECLOCK="UTC"
USEDIRECTISA="no"
TIMEZONE="America/Sao_Paulo"
KEYMAP="br-abnt2"
CONSOLEFONT=
CONSOLEMAP=
USECOLOR="yes"

O editor de texto padrão é o nano, que apesar de espartano é relativamente simples de usar. Para
editar um arquivo, basta incluí-lo diretamente na linha de comando, como em "nano /etc/rc.conf" e, para
salvar e sair, você pressiona "Ctrl+O" e, em seguida, "Ctrl+X".

A maioria das versões do Arch incluem um erro de configuração (o nome da máquina usado por
padrão no arquivo "/etc/rc.conf" é diferente do especificado no "/etc/hosts") que bloqueia a comunicação
entre os processos locais, fazendo com que os aplicativos gráficos fiquem extremamente lentos.

Para solucionar o problema, edite novamente o "/etc/rc.conf", especificando o nome da máquina na


opção "HOSTNAME", como em:

HOSTNAME="gdh"

Em seguida, edite o arquivo "/etc/hosts", incluindo o mesmo nome no final da linha, como em:

127.0.0.1 localhost.localdomain localhost gdh

O Arch utiliza um gerenciador de pacotes próprio, o Pacman, que é capaz de baixar os pacotes
automaticamente, calcular dependências e atualizar o sistema, de maneira similar ao Slackpkg e outros
gerenciadores.

Ele é configurado através do arquivo "/etc/pacman.conf", onde são citados os repositórios. Por
default ele já inclui os repositórios "core", "extra" e "community" (os três repositórios base do Arch), mas
você pode editá-lo para incluir repositórios adicionais.

O primeiro passo antes de usá-lo é sincronizar as listas de pacotes, usando o:

# pacman -Syy

Os dois "y" são apenas uma precaução adicional, que faz com que ele atualize as listas mesmo que elas
já pareçam atualizadas, evitando qualquer possibilidade de problemas.

A lista dos mirrors disponíveis vai no arquivo "/etc/pacman.d/mirrorlist" (cada mirror inclui uma
cópia completa dos três repositórios principais). Se o Pacman estiver exibindo mensagens de erro ao baixar os
pacotes, experimente editar o arquivo, deixando apenas os mirrors do Brasil, ou os que pretender utilizar.

A partir daí, você pode instalar pacotes adicionais usando o "pacman -S", como em:

# pacman -S openssh

É possível também especificar vários pacotes de uma vez, como em:

# pacman -S tar gzip bzip2 unzip unrar p7zip

No Arch, os serviços de sistema vão na pasta "/etc/rc.d", assim como no Slackware. A única grande
diferença é que no Arch os scrips recebem diretamente o nome do serviço, como em "/etc/rc.d/sshd", em
vez de começarem com "rc.". Para iniciar ou parar os serviços, basta chamá-los com os parâmetros "start",
"stop" ou "restart", como em outras distribuições:

648
# /etc/rc.d/sshd start

O SSH é um serviço bastante útil durante a configuração inicial do Arch, pois permite que você se
conecte a ele a partir de outra máquina da rede e execute os comandos de configuração remotamente,
enquanto consulta o Wiki ou o fórum (http://forum.archlinux-br.org), em vez de precisar fazer tudo no
terminal local.

Por default, o servidor SSH do Arch é configurado para recusar todas as conexões. Para liberar o
acesso (a mesma configuração que é default em outras distribuições), é necessário adicionar a linha "sshd:
ALL" (sem as aspas) no final do arquivo "/etc/hosts.allow". Como de praxe, você pode fazer isso
rapidamente usando o "echo":

# echo "sshd: ALL" >> /etc/hosts.allow

Para que o servidor seja inicializado automaticamente durante o boot, é necessário editar o arquivo
"/etc/rc.conf", adicionando o "sshd" à linha "DAEMONS", como em:

DAEMONS=(syslog-ng network netfs crond sshd)

Naturalmente, para que você consiga se conectar remotamente e possa instalar os pacotes, é
necessário configurar a rede. Você pode configurar uma placa cabeada rapidamente usando o "dhcpcd",
como em:

# dhcpcd eth0

A configuração definitiva vai, novamente, no arquivo "/etc/rc.conf", onde você pode usar o DHCP
ou especificar os endereços manualmente, como em:

eth0="eth0 192.168.1.111 netmask 255.255.255.0 broadcast 192.168.1.255"


INTERFACES=(eth0)
gateway="default gw 192.168.1.1"
ROUTES=(gateway)

Ao usar a configuração manual, não se esqueça também de definir os endereços dos servidores DNS
no "/etc/resolv.conf".

Como parte da ideia de oferecer um sistema minimalista, que você possa personalizar livremente, o
Arch não instala os pacotes do X.org por padrão, fazendo com que você precise começar do zero, instalando
o X, configurando o vídeo e em seguida instalado o KDE ou outro ambiente de trabalho. O primeiro passo é
instalar os pacotes básicos do X, utilizando o Pacman:

# pacman -S libgl
# pacman -S xorg xf86-input-evdev

Em seguida, é necessário instalar o pacote com o módulo correspondente à sua placa de vídeo (os
pacotes começam com "xf86-video"). Você pode instalar de uma vez os módulos para as placas usadas
atualmente com o:

# pacman -S xf86-video-ati xf86-video-intel xf86-video-nv xf86-video-openchrome \


xf86-video-sis xf86-video-vesa xf86-video-vmware

A partir daí, você pode gerar a configuração do X usando o "Xorg -configure", que salvará a
configuração no arquivo "/root/xorg.conf.new":

# Xorg -configure

Depois de verificar a configuração (veja as dicas de configuração manual do X no capítulo sobre o


Slackware), copie o arquivo para a localização padrão:

# cp /root/xorg.conf.new /etc/X11/xorg.conf

649
Antes de abrir o X, é necessário que você ative o HAL, caso contrário seu mouse e teclado USB
provavelmente não serão detectados e você ficará preso dentro do X, sem poder fazer nada:

# /etc/rc.d/hal start

Aproveite para adicionar o serviço na linha "DAEMONS" do arquivo "/etc/rc.conf", para que ele
passe a ser inicializado por padrão durante o boot:

DAEMONS=(syslog-ng network netfs crond hal)

Depois de tudo isso, você pode finalmente se logar com seu login de usuário e experimentar abrir o X:

# su gdh
$ startx

Para seu espanto, o único ambiente instalado por padrão no Arch é o pré-histórico TWM, com suas
janelas verdes e seus três terminais. Para ter um ambiente mais agradável, você vai precisar instalar seu
ambiente de trabalho preferido e configurar o Arch para utilizá-lo.

Comece instalando o pacote "zlib" e o "shared-mime-info", juntamente com um conjunto básico de


fontes TrueType:

# pacman -S zlib shared-mime-info ttf-ms-fonts ttf-dejavu

A partir daí, você pode instalar os pacotes do ambiente desejado. Para o KDE 4, basta instalar o
pacote "kde" e o "kde-l10n-pt_br", que disparam a instalação de todo o grupo de pacotes, com quase 700 MB
no total:

# pacman -S kde kde-l10n-pt_br

Para o GNOME, instale também o pacote "gnome-extra", que inclui os vários add-ons que você está
acostumado a ver em outras distribuições. Ele é menor que o KDE, somando pouco mais de 350 MB de
downloads:

# pacman -S gnome gnome-extra

Para o XFCE, é interessante instalar também o "xfce4-goodies" e o "gtk2-themes-collection", que


incluem o kit de ferramentas e temas:

# pacman -S xfce4 xfce4-goodies gtk2-themes-collection

Se preferir um ambiente leve, pode instalar o LXDE através do pacote de mesmo nome. Os pacotes
do LXDE somam apenas 6 MB, o que o torna uma boa opção para quem quer algum ambiente para testar o
sistema, sem precisar baixar os 700 MB do KDE:

# pacman -S lxde

Com os pacotes instalados, o próximo passo é editar o arquivo "/etc/rc.conf", incluindo o KDM (se
tiver instalado o KDE) ou o GDM (para o GNOME ou o XFCE), o que fará com que o sistema passe a
exibir o gerenciador no final do boot, permitindo que você escolha o ambiente que quer utilizar e faça login,
como em outras distribuições.

É necessário ativar também o serviço "hal" (caso já não o tenha ativado no passo anterior) e o serviço
"fam", como em:

DAEMONS=(syslog-ng network netfs crond sshd hal fam kdm)

ou:

DAEMONS=(syslog-ng network netfs crond sshd hal fam gdm)

Para não precisar reiniciar, você pode executar os serviços manualmente da primeira vez, como em:

650
# /etc/rc.d/hal start
# /etc/rc.d/fam start
# /etc/rc.d/kdm start

Se não houver nenhum problema com a configuração do X, você verá a familiar tela de login, que
marca o fim de sua jornada pelo VT1:

Para quem tem saudade dos tempos em que os homens caçavam com lanças, faziam suas próprias
ferramentas de pedra e abriam o X usando o "startx", a configuração de qual ambiente utilizar é feita no
arquivo ".xinitrc", dentro do seu diretório home. Basta criá-lo incluindo a linha que inicializa o ambiente
desejado, como em:

$ echo "exec startxfce4" >> ~/.xinitrc

Para o KDE, a linha seria "exec startkde", para o GNOME seria "exec gnome-session" e para o
LXDE seria "exec startlxde".

Depois de criado o arquivo, você pode passar a usar o ambiente gráfico e instalar os demais
aplicativos que quiser usar como em qualquer outra distribuição. Para instalar o Firefox, por exemplo, você
usaria o "pacman -S firefox". Para os aplicativos que não fazem parte dos repositórios (como no caso do
BrOffice), você pode seguir os passos de instalação manual no Slackware, que quase sempre funcionam
também no Arch, sem precisar de alterações.

Para usar placas wireless, é necessário instalar os pacotes "wireless_tools" (que inclui o comando
iwconfig, usado para conectar a redes com encriptação WPA) e o "wpa_supplicant", que é necessário para se
conectar a redes com encriptação via WPA ou WPA2:

# pacman -S wireless_tools wpa_supplicant ndiswrapper

Graças aos drivers incluídos no kernel e ao trabalho do HAL, que se encarrega de detectar as placas
suportadas, a configuração não é diferente do que temos em outras distribuições.

Basicamente, você verifica qual foi o device atribuído à placa wireless usando o "cat
/proc/net/wireless" e, em seguida, conecta ao ponto de acesso usando o wpa_supplicant, como faria em
outras distribuições.

Caso você tenha uma placa com chipset Intel, é necessário instalar o pacote com o firmware referente
à sua placa. Você pode instalar de uma vez toda a família usando o:

651
# pacman -S ipw2100-fw ipw2200-fw iwlwifi-3945-ucode \
iwlwifi-4965-ucode iwlwifi-5000-ucode

Nas versões atuais do Arch, o suporte às placas com chipset Atheros é prestado através do módulo
"ath5k", incluído diretamente no kernel. A partir do 2.6.29 ele realmente faz um bom trabalho, substituindo o
madwifi. De qualquer maneira, ele também está disponível no repositório e pode ser instalado usando o
"pacman -S madwifi".

Como comentei no início, uma das características mais emblemáticas do Arch é o conceito de "rolling
release", onde você simplesmente vai atualizando o sistema usando o gerenciador de pacotes, sem precisar
reinstalar o sistema para ter acesso a novas versões. Para atualizar todo o sistema usamos o "pacman -Syu",
onde o "y" faz com que ele baixe as listas de pacotes e o "u" faz a atualização do sistema, como em:

# pacman -Syu

Ele exibirá um relatório da atualização, especificando os pacotes que serão atualizados e o total de
downloads, como em:

Targets (39): groff-1.20.1-2 man-db-2.5.5-1 attr-2.4.43-1 acl-2.2.47-2 cracklib-2.8.13-2 pam-1.0.4-1


shadow-4.1.3.1-1 coreutils-7.2-1 dash-0.5.5.1-2 device-mapper-1.02.31-1 dhcpcd-4.0.12-1 dmapi-2.2.9-1
e2fsprogs-1.41.4-1 gawk-3.1.6-3 gettext-0.17-3 pcre-7.9-1 grep-2.5.4-1 hdparm-9.15-1 kbd-1.15-1 ncurses-5.7-
2.1 initscripts-2009.03-2 kernel26-firmware-2.6.29-1 kernel26-2.6.29.1-4 klibc-udev-141-1 less-429-1
logrotate-3.7.8-1 lvm2-2.02.45-1 mailx-8.1.1-7 man-pages-3.20-2 mdadm-2.6.9-1 nano-2.0.9-2 pacman-
mirrorlist-20090405-1 pciutils-3.1.2-1 syslog-ng-3.0.1-6 tzdata-2009f-1 util-linux-ng-2.14.2-1 libnl-1.1-1
wpa_supplicant-0.6.9-1 xfsprogs-3.0.0-1

Total Download Size: 63.55 MB


Total Installed Size: 227.85 MB
Proceed with installation? [Y/n] Y

Como comentei, o conceito não é muito diferente do que temos ao utilizar o Debian Sid ou o Fedora
Rawride, que são também atualizados continuamente. A única grande diferença é que o Sid e o Rawride são
claramente destinados a serem sistemas de desenvolvimento, enquanto o Arch é desenvolvido com o objetivo
de ser um sistema estável, que você possa atualizar regularmente, sem (muitos) sustos. Normalmente, quando
é detectado um problema com as atualizações, ele aparece como destaque no http://www.archlinux.org/.

SABAYON

O Sabayon (http://www.sabayonlinux.org/) é uma distribuição para uso em desktops baseada no


Gentoo. À primeira vista, a escolha parece bastante estranha, já que o Gentoo tem fama de ser extremamente
complicado e demorado de instalar, mas o resultado final surpreende pelo apelo visual e pela facilidade de
uso.

A ideia central em torno do Gentoo é o uso de pacotes com código-fonte, que são baixados e
compilados localmente durante a instalação. A vantagem dessa abordagem é que você tem a possibilidade de
otimizar os pacotes para a arquitetura do processador (entre outras opções), o que resulta em um pequeno
ganho de desempenho em relação a outras distribuições, que são compiladas para processadores i486 ou i686.

Todo o processo é automatizado graças à ajuda do Portage, que é o gerenciador de pacotes oficial no
Gentoo. Ele torna o processo bastante simples, não muito diferente da instalação de pacotes em qualquer
outra distribuição. O grande problema é que a compilação local torna a instalação dos pacotes bastante
demorada, com softwares muito grandes (como o OpenOffice ou o KDE) demorando uma tarde inteira para
serem compilados, mesmo em uma máquina relativamente potente.

A resposta do Sabayon é adotar o uso de pacotes pré-compilados, que, assim como em outras
distribuições, são gerados pela equipe de desenvolvimento e disponibilizados através de um repositório
central, a partir do qual podem ser baixados e instalados diretamente. A opção de usar pacotes pré-
compilados também existe no Gentoo, na forma do Stage 3, mas a equipe do Sabayon levou a ideia a um
novo patamar, criando um sistema pré-configurado bastante prático de usar:

652
O Sabayon é oferecido na forma de um live-DVD, que oferece um ambiente desktop bastante
personalizado, com um tema visual bem trabalhado (e a opção de ativar os efeitos 3D diretamente na tela de
boot) e um grande volume de aplicativos pré-instalados. Como em outras distribuições, o desempenho do
live-DVD não é dos melhores (devido à baixa taxa de leitura do drive), mas isso é resolvido ao instalar o
sistema.

Ao baixar, você tem 4 opções. O "x86_K.iso" é a versão com o KDE para processadores de 32 bits,
enquanto o "x86_G.iso" é a versão de 32 bits com o GNOME. Em seguida, temos o "amd64_K.iso" e o
"amd64_G.iso" que são as versões para processadores de 64 bits.

Todas as versões em DVD incluem todos os pacotes de linguagens disponíveis, incluindo


naturalmente o português do Brasil. Basta pressionar a tecla F2 na hora de boot e indicar a linguagem, como
faria no Ubuntu. Está disponível também a "miniEdition", que tem apenas 698 MB, mas ela não é
recomendada no nosso caso, já que suporta apenas o inglês.

Um dos destaques do Sabayon é a grande preocupação com o aspecto visual e com a usabilidade. A
partir da versão 4.0, o visual é consistente da tela de boot ao desktop, passando por todas as etapas
intermediárias. Como se não bastasse, o sistema ainda toca música (!) a partir da segunda etapa do boot, o que
é sem dúvida uma ideia original.

O usuário default do live-DVD é o "sabayonuser" (a senha é o próprio login) e a senha do root é


"root". O sudo também vem ativado no modo live, permitindo que você se logue como root usando o "sudo
su". Ele é desativado durante a instalação, mas basta ativá-lo novamente adicionando a linha "meulogin
ALL=(ALL) ALL" no final do arquivo "/etc/sudoers".

Os efeitos 3D podem ser ativados na própria tela de boot (basta escolher a opção "Sabayon 3D") ou
executando o "accel-manager" como root. Ele identifica a placa de vídeo, verifica o status da aceleração 3D e
oferece a opção de ativar o "Enhanced Desktop" caso suportado. Depois de salvar a configuração, é
necessário reiniciar o X (pressionando "Ctrl+Alt+Backspace") para que ela entre em vigor. O Sabayon inclui
os drivers binários para placas da nVidia e da ATI (além dos drivers open-source para placas Intel), o que
permite que o suporte a 3D seja ativado automaticamente nas placas suportadas.

653
Ele inclui também uma instalação completa do XBMC, o que permite que ele seja usado como Media
Center. Como todos os codecs necessários (incluindo até mesmo o suporte a DVDs protegidos) já vêm pré-
instalados, basta abrir, ajustar as configurações básicas e usar:

Por default, o XBMC usa resolução de 480p, otimizada para TVs analógicas. Não deixe de ajustar a
configuração no "Settings > Appearance > Screen" para que ele use a resolução nativa do monitor. Em
seguida, acesse o "Settings > Filemanager" e adicione as partições de disco com os vídeos, usando a opção
"Add Source". Se estiver usando o sistema em modo live, não se esqueça de montar as partições previamente,
usando o Dolphin ou o Nautilus.

Durante a instalação, você tem a opção de instalar o Sabayon em modo Media Center, onde ele cria
uma instalação dedicada do XBMC, que passa a ser aberta automaticamente no final do boot. Ela é uma boa
opção para quem pretende usar um PC ligado à TV como media-center, ou quer um sistema em dual-boot
apenas para assistir vídeos e ouvir música:

654
Está disponível também uma opção de instalação reduzida, que instala apenas os pacotes básicos do
sistema, o X e o Fluxbox, permitindo que você instale os pacotes desejados a partir daí. Ela atende a quem
quer um sistema simples e leve, com apenas os aplicativos que for utilizar e também a quem quer uma
instalação rápida do Gentoo. A última opção (Sabayon Core) cria uma instalação minimalista, apenas com os
componentes básicos e o gerenciador de pacotes, destinada ao uso em servidores dedicados.

O Sabayon inclui um gerenciador de pacotes próprio, o Entropy, mas mantém também a possibilidade
de usar o Portage, herdado do Gentoo.

Além de utilizar o Entropy através do Spritz, o gerenciador de pacotes gráfico disponível no menu, é
possível usá-lo diretamente via linha de comando, assim como no caso do apt ou do yum, nesse caso
utilizando o Equo.

A sintaxe é bastante simples. Comece usando o "equo update", que atualiza as informações sobre os
repositórios. A partir daí, você pode instalar os pacotes usando o "equo install", como em:

# equo install audacious

Para remover um pacote ou fazer uma busca, basta usar os parâmetros "remove" e "search", como no
aptitude. Ele pode ser usado também para atualizar todo o sistema, similar ao "apt-get dist-upgrade". Nesse
caso, é usado o parâmetro "world", como em:

# equo world --ask

Como pode imaginar, o "--ask" é uma precaução de segurança, que faz com que ele confirme cada
passo durante o processo, permitindo que você revise as atualizações antes de aplicá-las. Você pode consultar
as outras opções disponíveis usando o "equo --help".

Os repositórios são bastante completos e os nomes dos pacotes são basicamente os mesmos que em
outras distribuições, com poucas variações, o que permite que você instale os aplicativos desejados com
pouco esforço. Para instalar o Virtual Box, por exemplo, bastaria usar o:

# equo install virtualbox-bin virtualbox-modules

Em caso de dúvida sobre o nome de algum pacote em especial, use a função de busca do Spritz ou o
"equo search" para localizá-lo.

655
Continuando, todos os pacotes instalados através do Equo e do Spritz são pacotes binários, baixados
a partir dos repositórios do Sabayon. Existe também a opção de instalar pacotes usando o Emerge, que
instala os pacotes a partir dos ebuilds do Gentoo, fazendo toda a compilação localmente.

Nesse caso, comece usando o "emerge --sync", que sincroniza a árvore local com os repositórios do
Gentoo. A partir daí, basta especificar o pacote desejado, como em:

# emerge audacity

Embora a instalação seja muito mais demorada, o Emerge oferece a vantagem de permitir personalizar
a compilação do pacote, adicionando flags e desativando componentes que você não pretende utilizar, o que
pode ser bastante útil em alguns casos.

Além da compatibilidade com o Emerge, o Sabayon mantém toda a estrutura e os demais utilitários do
Gentoo, o que faz com que toda a documentação disponível para o Gentoo (dê uma olhada no
http://gentoo-wiki.com) se aplique também a ele. De certa forma, ele lembra bastante o Knoppix, que, nas
primeiras versões, era justamente uma maneira mais simples de usar o Debian.

Usar o Sabayon permite ter uma amostra dos recursos do Gentoo e acumular alguma experiência com
o uso do sistema, sem com isso precisar abrir mão de ter um desktop bem acabado e fácil de usar.

O grande volume de softwares incluídos, combinado com os efeitos 3D e o bom trabalho de


personalização, faz com ele seja especialmente útil como um sistema Linux de demonstração (que permite
testar todos os recursos e impressionar os amigos) e também como um desktop "completo", onde quase tudo
já vem pré-instalado e você pode apenas sentar e usar, sem se preocupar em ativar os drivers 3D ou instalar
muitos aplicativos adicionais.

Ele pode ser também uma opção para quem não tem uma conexão rápida (já que o DVD já inclui um
grande volume de softwares e o sistema não depende tanto de instalações e atualizações via web) e é também
uma boa plataforma para rodar jogos (tanto os títulos nativos quanto jogos do Windows executados através
do Wine), graças à configuração automática do 3D.

DISTRIBUIÇÕES `PRA INGLÊS VER`

O programa do PC Conectado, iniciado em 2005, trouxe uma ideia que a princípio parecia muito boa:
oferecer incentivos fiscais para PCs de baixo custo com Linux, cujos fabricantes se comprometessem em
fornecer suporte aos softwares por um período de um ano e cumprissem alguns outros pré-requisitos.

Na época, a medida foi festejada por muitos, como uma forma de incentivar a produção nacional de
softwares e de suporte aos usuários, ajudando a reduzir a dependência tecnológica do país e outras ideias
nobres.

Até certo ponto, o programa atingiu seus objetivos, já que as reduções nos preços dos equipamentos
permitiram que muitos comprassem o primeiro PC, sem falar nos tantos outros que puderam trocar os
micros antigos por PCs e notebooks novos. Os incentivos fiscais também fizeram com que muitas empresas
montassem fábricas na Zona Franca de Manaus, passando a executar alguns passos da produção no Brasil,
em vez de simplesmente importarem todos os equipamentos.

Por outro lado, o programa trouxe um lado ruim, que foi o surgimento de diversas pseudo-
distribuições, que se aproveitaram de brechas nas regras para ganharem algum dinheiro com o programa.

Em resumo, o programa do Computador para todos (http://www.computadorparatodos.gov.br)


especificava que distribuições interessadas em participar deveriam fornecer uma lista de aplicativos pré-
instalados e prestar suporte telefônico aos usuários por um ano, recebendo um total de R$ 30 por PC vendido
com o sistema.

A ideia pode parecer boa em teoria, mas na prática esbarra em um problema muito simples: o custo de
prestar suporte telefônico a usuários finais é muito alto (devido ao elevado volume de chamadas e a grande
variedade de temas a cobrir) e é inviável prestar suporte por esse valor. Não importa qual seja a metodologia
aplicada. Se os usuários realmente começam a usar o suporte, a empresa passa a ter prejuízo e o modelo de
negócios simplesmente entra em colapso.

656
Como as empresas recebiam os 30 reais "por cabeça", independentemente de o usuário usar o sistema
ou não, a solução adotada por muitas das participantes foi tão simples quanto cruel: oferecer sistemas ruins a
ponto de os usuários desistirem de utilizá-los, fazendo com que as chamadas de suporte fossem poucas e os
30 reais (multiplicados por algumas centenas de milhares de unidades) se convertessem em lucro.

Como os pré-requisitos especificados nas regras do programa incluíam apenas uma lista de fatores
isolados (incluir uma lista de 28 aplicativos, ser configurado para o hardware da máquina, etc.), era fácil para
estas empresas criarem distribuições que cumprissem os pré-requisitos estabelecidos, muito embora o
resultado final fosse muito ruim. Como pode ver, é mais um caso em que o "jeitinho brasileiro" prevaleceu.

O nicho seguinte foi o de integradores interessados em venderem PCs de baixo custo, fazendo ou não
parte do programa. Grandes fabricantes e integradores quase nunca vendem PCs sem algum sistema
operacional instalado. Isso está em grande parte relacionado à ação da ABES e outras entidades anti-pirataria,
que argumentam que PCs vendidos sem sistema operacional incentivam a pirataria (como se todos usassem
Windows...).

O grande problema para os fabricantes é que, ao fornecer um sistema pré-instalado, eles acabam
sendo obrigados a oferecer suporte a ele, tanto devido à questão do código de defesa do consumidor, quanto
ao fato de que os compradores podem simplesmente devolver ou trocar os PCs nas lojas (dentro do prazo de
7 dias) caso não consigam usá-lo.

Tradicionalmente, os integradores pagam a "taxa Microsoft", incluindo alguma versão do Windows


nos PCs e deixando que a Microsoft lide com o suporte, atualizações e outros detalhes. Como a maioria das
pessoas têm familiaridade com o Windows e quase ninguém consegue respostas úteis no suporte da
Microsoft de qualquer maneira, o custo relacionado para a Microsoft acaba sendo bastante baixo.

Ao optarem por não fornecerem o Windows nos equipamentos, os fabricantes precisam encontrar
alguma outra empresa que forneça o sistema e preste suporte a ele, o que, novamente nos leva às
"distribuições pra inglês ver", que recebem por cópia vendida e por isso têm poucos motivos para fazer com
que os usuários realmente utilizem o sistema.

A característica fundamental que diferencia estes produtos de distribuições comunitárias como o


LinuxMint, DreamLinux, Big Linux, GoblinX e outros (que, apesar de receberem pouco apoio, são projetos
desenvolvidos de maneira honesta e que atendem a públicos específicos), é o fato de que o objetivo não é
oferecer um sistema que ofereça algum diferencial e seja desenvolvido com base nas necessidades dos
usuários, mas simplesmente produzir um engodo que possa ser vendido aos integradores e empurrado aos
usuários.

Como a prioridade é fechar os contratos e gastar o mínimo possível com o suporte posterior aos
usuários, a qualidade do sistema é quase sempre ruim, o que faz com que a maioria dos usuários
simplesmente desista e instale outra distribuição ou uma cópia pirata do Windows, o que permite que o
fabricante lave as mãos e deixe de prestar suporte.

O trabalho deficiente feito por estas distribuições acabou por criar um forte estigma em diversos
círculos, dando a impressão de que o Linux é um produto inferior, usado em alguns modelos de baixo custo
simplesmente por ser mais barato. Ultrajados, muitos usuários mais antigos passaram a estigmatizar estas
distribuições e os fabricantes que as utilizam, criando um clima pouco saudável.

É provável que, no futuro, empresas mais bem estruturadas e dispostas a fazer um trabalho mais sério
substituam esta primeira leva de pseudo-distribuições, fazendo com que elas sejam lembradas apenas como
uma página negra da história, assim como as placas da PC-Chips e os PCs sem memória cache.

Uma possível candidata seria a Canonical, que já possui contratos com alguns integradores (como a
Dell), que pagam um pequeno valor por unidade vendida para terem acesso a serviços de personalização e
suporte. Outra possível candidata seria a Mandriva, que tem também uma certa experiência na área, já tendo
desenvolvido personalizações para alguns integradores.

DISTRIBUIÇÕES MINIMALISTAS

Em se tratando de sistemas operacionais, nem sempre o sistema mais completo ou com mais funções
é o melhor, simplesmente por que cada usuário utiliza um conjunto diferente de recursos. Outro problema

657
em tentar incluir muitas funções é que o sistema acaba ficando invariavelmente grande e pesado, um
problema que afeta diversas distribuições atuais.

Outra abordagem é criar um sistema minimalista, incluindo apenas um pequeno conjunto de recursos
e oferecer ferramentas que permitam instalar funções adicionais e personalizar o sistema. Isso nos leva às
distribuições minimalistas, que atendem a quem procura um sistema simples e leve.

Puppy Linux

O Puppy é uma distribuição minimalista independente, que utiliza um sistema próprio de


gerenciamento de pacotes. Ele combina bem com o jeito Slackware de ser, oferecendo um sistema bastante
simples, onde você pode manipular diretamente os componentes e entender como as coisas funcionam.

Ele é uma das distribuições Linux mais leves, o que o torna uma opção para uso em PCs antigos. O
sistema é surpreendentemente compacto, incluindo um conjunto completo de softwares em uma imagem de
apenas 95 MB. Ele está disponível no: http://puppylinux.com/

As versões são tipicamente disponibilizadas em pares, uma com uma versão atual do kernel e outra
com uma versão mais antiga, compilada de maneira mais conservadora e destinada a máquinas antigas, onde a
versão principal eventualmente apresente problemas. No caso da versão 4.1.2, por exemplo, a versão
principal é a puppy-4.1.2-k2.6.25.16-seamonkey.iso" e a versão conservadora é a "puppy-4.1.2retro-k2.6.21.7-
seamonkey.iso".

O "2.6.25.16" indica a versão do kernel usada, enquanto o "seamonkey" indica que as imagens incluem
o Seamonkey (a versão original do Mozilla, que inclui o cliente de e-mails, o livro de endereços e o editor
HTML), usado como navegador. Está disponível também o "puppy-unleashed", um conjunto de pacotes e
scripts que permite gerar uma versão personalizada do Puppy, com os pacotes desejados.

Durante o boot, ele pergunta sobre o mouse e sobre o layout do teclado. Em muitas máquinas, ele é
capaz de detectar o vídeo automaticamente, assim como em outras distribuições atuais, mas em outras ele
exibe um wizard simples, perguntando qual resolução usar:

A possibilidade de indicar a resolução manualmente ajuda bastante ao rodar o sistema em micros


antigos, que muitas vezes usam placas de vídeo sem suporte adequado no Linux ou monitores sem suporte a
DDC (onde o sistema não tem como detectar a resolução automaticamente). Muitas distribuições atuais
falham nessas condições, mas no Puppy basta indicar a resolução manualmente.

Outra opção que você talvez estranhe é a possibilidade de escolher entre dois servidores gráficos.
Além do Xorg, que é o servidor padrão, usado em outras distribuições, o Puppy inclui também o "Xvesa",
que é um servidor gráfico mais simples e leve, que simplesmente utiliza o driver VESA para acesso à placa de
vídeo. Ele é limitado com relação ao desempenho e às resoluções suportadas, mas oferece a vantagem de ser
mais leve e funcionar em praticamente qualquer placa de vídeo.

658
O boot do Puppy é surpreendentemente rápido, muito diferente da maioria dos live-CDs, onde o
boot demora de dois a três minutos. O segredo é justamente o tamanho reduzido do sistema, que faz com
que o PC tenha menos dados a ler no CD e menos instruções a processar.

Outra vantagem do tamanho reduzido é que o sistema é capaz de rodar inteiramente a partir da
memória RAM, o que representa um salto adicional em termos de desempenho. Nas versões recentes, a cópia
para memória RAM é feita automaticamente em PCs com a partir de 256 MB de RAM: o sistema fica uns 30
segundos no "copying to ram" no início do boot e, a partir daí, as coisas acontecem quase instantaneamente.

O gerenciador de janelas padrão do Puppy é o JWM, um gerenciador leve, que tem uma aparência
similar à do antigo IceWM, mas é mais leve e oferece vários recursos adicionais. Examinando o menu você
vai logo perceber que apesar do pequeno tamanho, o Puppy oferece um volume muito grande de aplicativos e
opções:

O visual espartano do Puppy não vai ganhar nenhum concurso de beleza, mas em termos de leveza e
simplicidade ele é difícil de superar, rodando com desenvoltura mesmo em máquinas antigas, com apenas 128
ou mesmo 64 MB de RAM.

Ele inclui um pequeno painel de configuração (o ícone "Setup" no desktop), que oferece as opções de
configuração para o layout do teclado, som, vídeo, suporte a impressão, gravadores de CD/DVD, firewall e,
o mais importante, a configuração de rede, que, diferente de outras distribuições, não é obtida
automaticamente via DHCP durante o boot:

659
O sistema inclui também suporte a placas wireless, incluindo um conjunto moderadamente completo
de drivers, juntamente com um script de configuração. A principal dificuldade é que muitas placas não são
detectadas automaticamente, mas sim através da opção "Load Module" no script de configuração de rede, que
permite que você indique o módulo usado pela placa e verifique se a placa foi ou não ativada. Está disponível
também um script de configuração do Ndiswrapper, que permite ativar placas incompatíveis usando os
drivers do Windows.

O Puppy inclui também suporte a diversos modelos de softmodems e a conexões ADSL PPPoE.
Nenhuma das conexões é ativada automaticamente, mas basta usar as opções no menu. O sistema também
não detecta automaticamente a placa de som, para ativá-la use a opção "Setup Alsa Sound", que dispara o
alsaconf.

O grande segredo do Puppy para conseguir incluir tantas funções em tão pouco espaço, é justamente
o uso extensivo de scripts e aplicativos próprios para desempenhar funções que em outras distribuições são
executadas por aplicativos mais complexos. O visual pode não ser dos melhores, mas eles oferecem a
vantagem de serem muito rápidos e de praticamente não ocuparem espaço.

Um bom exemplo é o suporte a VoIP. Em distribuições maiores, essa função é cumprida pelo Ekiga,
que possui um grande volume de dependências (incluindo a biblioteca GTK e diversos componentes do
GNOME), que juntos consomem quase tanto espaço quanto o Puppy propriamente dito, tornando inviável a
inclusão dentro da distribuição.

Os desenvolvedores criaram então "Psip VOIP", um pequeno aplicativo de VoIP, disponível a partir
da versão 4.1. Ele é na verdade uma interface gráfica para um aplicativo de linha de comando, o "pjsua", que
é extraordinariamente leve e ocupa muito pouco espaço em disco. Com isso, conseguiram solucionar o
problema, incluindo um aplicativo de VoIP sem aumentar muito o tamanho da distribuição. Levando em
conta que soluções similares são usadas em diversas outras partes do sistema, fica fácil entender como ele
pode ser tão compacto. Alguns exemplos são:

ROX-Filer: É um gerenciador de arquivos bastante simples e rápido, usado por padrão no Puppy e em
diversas outras distribuições minimalistas. Um dos destaques no Puppy são as associações de arquivos pré-
configuradas, que tornam o uso bem mais prático.

Pmount: É o script responsável por criar os ícones para acesso às partições no desktop, detectando os
sistemas de arquivos usados e oferecendo as opções de montar e desmontar.

Pfind: Um script de localização de arquivos que oferece várias opções. Ele é útil para localizar
arquivos dentro de partições de dados ao usar o Puppy como sistema de recuperação.

puppyPDF: Mais um script, que permite converter arquivos em formatos diversos para PDF.

PupDial: Um discador simples, que complementa o suporte a softmodems, permitindo estabelecer a


conexão.

Pwireless: Em outras distribuições, as redes wireless disponíveis são mostradas pelo applet do
NetworkManager, disponível ao lado do relógio. Entretanto, ele é pesado demais para ser incluído no Puppy,
o que levou os criadores a desenvolverem um script simples para localizar as redes disponíveis. Ele é
complementado pelo Xautoconnect, que permite se conectar automaticamente a redes abertas.

Pctorrent: Uma interface simples para baixar arquivos .torrent, baseada no ctorrent, um aplicativo de
linha de comando.

Pburn: Este é um pequeno aplicativo de gravação de CDs, que além de CDs de dados, permite gravar
também CDs de música e VCDs.

O trabalho de redução e otimização se estende também aos aplicativos, escolhidos com base no
tamanho e no volume de dependências externas. Em vez do Firefox, temos o Seamonkey; em vez do
OpenOffice temos o Abiword e o Gnumeric; em vez do Totem ou do Kaffeine temos o Gxine; em vez do
Acrobat Reader temos o ePDFView, e assim por diante. Estes mesmos aplicativos podem ser usados também
em outras distribuições, para casos em que você procura alternativas leves para usar em PCs com poucos
recursos.

660
Devido ao tamanho, o Puppy não utiliza o apt, o yum ou outro gerenciador de pacotes tradicional,
(que demandariam grandes mudanças na estrutura do sistema e representariam um aumento de algumas
dezenas de megabytes no tamanho da imagem). Em vez disso, ele utiliza o "PETget", um gerenciador de
pacotes próprio, disponível através do menu ou do ícone "Instalar" no desktop:

Os pacotes do Putty são na verdade arquivos compactados, que são extraídos no diretório raiz do
sistema quando instalados, muito similar ao que temos no Slackware. Como o Puppy não utiliza nem o KDE,
nem o GNOME, a lista de pacotes disponíveis é bastante limitada, mas, em compensação, os pacotes são
bastante otimizados. O pacote do Gimp, por exemplo (que é um dos maiores), tem apenas 5 MB, sem
dependências externas.

O Puppy é também parcialmente compatível com pacotes do Slackware. Basta salvá-los em alguma
pasta e convertê-los para o formato do Puppy usando o "tgz2pet", como em:

# tgz2pet bittorrent-4.4.0-noarch-2.tgz

Ele gera um arquivo com a extensão ".pet", que é instalado ao clicar sobre ele no gerenciador de
arquivos.

Embora não exista nenhuma garantia de compatibilidade, a maioria dos pacotes "simples", que não
precisam de componentes do KDE ou do GNOME funcionam bem. É possível até mesmo instalar
programas mais complexos, desde que você consiga instalar junto todos os pacotes com dependências.

Graças ao uso do UnionFS, a instalação de programas adicionais funciona perfeitamente com o


sistema rodando a partir do CD. Como de praxe, tudo é instalado na memória RAM, mas como os pacotes
são muito pequenos, dificilmente você terá problemas de falta de memória.

Existem também diversas opções para salvar as modificações e os programas instalados, de forma que
eles possam ser usados nos boots seguintes. Isso permite que você tenha um sistema persistente, salvando
todas as configurações, arquivos e programas, mesmo com o sistema rodando a partir do CD-ROM.

Entre as possibilidades estão as tradicionais opções de usar um pendrive, ou criar um arquivo em uma
das partições do HD. Entretanto, a mais engenhosa delas é a possibilidade de criar um CD multisessão, onde
o sistema carrega as configurações durante o boot e grava as alterações ao desligar, criando uma nova sessão
no CD.

Como pode imaginar, isso só é possível por que o sistema roda a partir da memória RAM, lendo todos
os arquivos no início do boot e depois desmontando a mídia dentro do drive. Se ele rodasse a partir do CD-
ROM (como em outros live-CDs), a unidade ficaria ocupada e seria impossível salvar as alterações de volta
antes de desligar.

661
Para usar esta opção, basta criar um CD multisessão ao gravar a imagem ISO, sem finalizar o CD
depois da gravação. Os CDs multisessão estão fora de moda hoje em dia, mas a opção continua disponível
nos programas de gravação.

As opções de salvar as configurações são exibidas por um script em texto, sempre que você finaliza o
sistema usando a opção "Shutdown" no menu:

Outra opção é simplesmente instalar o Puppy em um pendrive ou em uma pequena partição do HD.
Como o sistema é muito compacto, uma partição de 1 GB é mais do que suficiente. A menos que você esteja
instalando em um PC com menos de 256 MB, também não é necessário criar uma partição swap, já que o uso
de memória RAM do sistema é muito baixo:

O instalador é um shell-script bastante comentado, que oferece várias opções de instalação. Ao


instalar em um pendrive, use a "USB Flash Drive" e, ao instalar em uma partição no HD, use a "Internal
(IDE or SATA) hard drive". Embora seja possível instalar o Puppy em uma partição FAT, o ideal é criar uma
partição EXT3 usando o Gparted, que é aberto durante a instalação. Ao instalar em um pendrive, é
necessário marcar a flash "Boot", no "Partition > Manage Flags" e, naturalmente, configurar o Setup do
micro para dar boot através da porta USB.

Outra observação é que durante a instalação são feitas várias confirmações, onde você precisa
pressionar qualquer tecla e depois Enter. É importante prestar atenção nas mensagens, pois pressionar apenas
Enter faz com que ele aborte a operação.

662
Concluindo, não seria muito recomendável tentar usar o Puppy como distribuição principal, já que ele
é muito espartano, mas ele é uma excelente opção de distribuição para carregar na carteira, ou para instalar no
pendrive e usar como sistema rápido de boot. Ele é também uma boa opção para ressuscitar máquinas
antigas.

Slax

O Slax é uma mini-distribuição baseada no Slackware, que permite fuçar e testar e fuçar sem precisar
instalar e passar pela etapa inicial de configuração. Embora seja um live-CD, o Slax pode ser facilmente
personalizado, o que faz com que ele seja também uma boa opção de mini-distribuição de bolso. A página
oficial é a http://www.slax.org/ e você encontra as imagens para download também no
http://merlin.fit.vutbr.cz/mirrors/slax/.

Um dos grandes atrativos do Slax é ser um sistema bem simples e limpo, com poucos programas
instalados por padrão. Ele é baseado nos pacotes da versão corrente do Slackware: o Slax 6.0.9, por exemplo,
é baseado no Slackware 12.2 e utiliza o KDE 3.5.10 como ambiente default.

Como não poderia ser diferente em uma distribuição minimalista, o conjunto inicial de aplicativos do
Slax é bastante espartano, centralizado em aplicativos do KDE. O método primário para instalar novos
softwares é o "Slax Module Manager", um gerenciador de módulos que permite incrementar o sistema com
módulos adicionais, que você pode baixar no: http://www.slax.org/modules.php

A instalação não poderia ser mais simples, basta baixar os pacotes desejados e instalá-los usando o
gerenciador:

Para ativar o suporte ao português, por exemplo, você precisa apenas instalar o módulo "KDE PT-
BR", disponível na categoria de internacionalização e alterar a linguagem dentro do Centro de Controle do
KDE.

Os módulos utilizam um sistema engenhoso, que permite que eles sejam usados para criar live-CDs
personalizados. Cada módulo é uma imagem compactada em LZMA, que pode ser acessada diretamente pelo
sistema, diferente de um pacote tradicional, cujos arquivos seriam descompactados e copiados para uma pasta
específica.

Quando você instala um módulo com o sistema rodando a partir do live-CD, o sistema simplesmente
o copia para a pasta "/mnt/live" e monta a imagem do módulo usando o AuFS, tirando proveito do recurso
de montagem de múltiplas imagens suportado pelo sistema de arquivos. Isso permite que os arquivos dentro
da imagem fiquem acessíveis e o software possa ser usado diretamente, sem precisar de uma instalação
tradicional.

663
Além da tradicional imagem ISO, destinada a ser gravada em CD, está disponível também um arquivo
.tar, destinado a ser instalado em pendrives formatados em FAT16 ou FAT32.

Para instalar, basta desempacotar o arquivo, copiar o conteúdo para o diretório raiz do pendrive e
executar o script "boot/bootinst.sh" (no Linux) ou "boot/bootinst.bat" (no Windows) para tornar o pendrive
bootável. A partir daí, basta configurar o setup do micro e dar boot através dele, como de praxe:

Outra opção é simplesmente dar boot através do live-CD, espetar o pendrive e copiar todo o
conteúdo do CD para ele, executando o "boot/bootinst.sh" no final do processo. Na verdade, o conteúdo do
CD e do arquivo .tar é exatamente o mesmo, muda apenas o formato do arquivo.

É possível também utilizar um pendrive formatado em EXT3 ou em outro sistema de arquivos do


Linux. Nesse caso, é usado o script "boot/liloinst.sh", que grava o setor de boot usando o lilo, em vez do
syslinux.

É ao usar o pendrive que a ideia dos módulos passa a realmente fazer sentido. Em vez de precisar
copiar os módulos para alguma mídia e instalá-los a cada boot do live-CD usando o gerenciador, você pode
simplesmente copiar todos os módulos desejados para a pasta "slax/modules/" do pendrive. Isso faz com
que os módulos sejam carregados automaticamente durante o boot, permitindo que o Slax se transforme em
um eficiente sistema de bolso.

Como o sistema ocupa menos de 200 MB e os módulos são também arquivos compactados, é
possível instalar um volume muito grande de softwares mesmo em um pendrive de 512 MB.

Assim como em outros casos, é importante sempre desligar o sistema corretamente para evitar
corrupção e/ou perda de arquivos, o que é muito comum em partições FAT. Em casos de problemas, você
pode executar um "scandisk" a partir do live-CD usando o comando "fsck.vfat -wa", seguido do device do
pendrive, como em:

# fsck.vfat -wa /dev/sde1

O "-wa" faz com que o fsck corrija a maioria dos erros automaticamente. No caso de erros mais
graves, que não sejam corrigidos pelo teste automático, use o "-wr", que ativa a recuperação interativa:

# fsck.vfat -wr /dev/sde1

Todas as modificações nas configurações, assim como todos os arquivos salvos são gravados de volta
para o pendrive (salvos na pasta "slax/changes/"), o que faz com que ele se comporte de maneira muito
similar a um sistema instalado.

Na tela de boot, você tem a opção de usar o "Slax Always Fresh", que permite dar um boot em modo
live-CD, sem carregar as configurações salvas em seções anteriores, nem salvar as modificações. Existe
também a opção "Slax Graphics VESA mode", que ajuda a solucionar problemas com a detecção do vídeo
em máquinas problemáticas:

664
Se você precisar usar alguma opção específica (como a "acpi-off" ou a "nosmp" que são necessárias
para que o sistema conclua o boot em algumas máquinas), pressione a tecla "Esc" na tela de boot para ter
acesso à linha de opções. Outra opção é passá-las ao kernel através do arquivo "boot/slax.cfg", onde vai a
linha de boot. Procure pela linha "APPEND", dentro da opção "Slax Graphics mode (KDE)" e adicione as
opções desejadas:

A vantagem dessa abordagem é que a opção se torna fixa e você não precisa mais digitá-la a cada boot.
Como pode imaginar, o slax.cfg contém as configurações do gerenciador de boot, ele é usado no lugar do
menu.lst, já que o Slax usa o syslinux como gerenciador em vez de grub.

Mesmo depois de instalado no pendrive, 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.

Entretanto, 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, já que fica muito mais
fácil explorar brechas de seguranças nos programas. Para evitar isso, você pode criar um novo
usuário para uso regular do sistema, como em: adduser tux

Para que o sistema passe a utilizá-lo por padrão, abra o Centro de Controle do KDE e ajuste o
"Administração do sistema > Gerenciador de Login > Conveniência > Habilitar login automático",
selecionando o novo usuário. Aproveite para definir uma senha de root usando o "sudo passwd"
para poder utilizar a conta quando precisar fazer alterações no sistema.

665
Voltando à questão da instalação de softwares adicionais, alguns dos módulos são pacotes compilados
especialmente para o Slax, mas a grande maioria são apenas versões reempacotadas de pacotes do Slackware
(ou, em alguns casos, de pacotes do Debian). Isso nos leva a uma constatação óbvia: você pode simplesmente
bipassar o sistema de módulos e instalar diretamente pacotes da versão correspondente do Slackware. Basta
copiar os pacotes desejados para um pendrive ou outra mídia (ou simplesmente baixá-los via web a partir do
ftp://ftp.slackware-brasil.com.br/ ou outro mirror) e instalá-los usando o installpkg.

Isso também funciona para servidores e serviços de sistema em geral (SSH, Squid, Apache, etc). Para
instalar o servidor SSH no Slax, por exemplo, instale o pacote "openssh" 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:

# /etc/rc.d/rc.sshd start

Outra opção, mais elegante, é transformar o pacote do Slackware em um módulo do Slax, que você
pode simplesmente copiar para a pasta "slax/modules" do pendrive. A conversão é feita usando o comando
"tgz2lzm", que faz parte do Slax. Basta indicar o arquivo .tgz e o arquivo que será gerado (você pode escolher
o nome, mas é necessário manter a extensão .lzm), como em:

# tgz2lzm synergy-1.3.1-i486-1.tgz synergy.lzm

Você pode também configurar o sistema para executar comandos e abrir aplicativos automaticamente
durante o boot seguindo o processo tradicional. Comandos para inicializar serviços e outros executados pelo
sistema devem ser colocados no final do arquivo "/etc/rc.d/rc.local" e atalhos para aplicativos que devem ser
abertos durante o carregamento do KDE devem ser copiados para a pasta ".kde/Autostart/" dentro do
home.

O suporte a redes wireless no Slax é fraco se comparado a outras distribuições, já que ele inclui um
conjunto reduzido de drivers, não inclui nenhum utilitário de configuração e também não inclui o
wpa_supplicant, que é necessário para se conectar a redes com encriptação WPA ou WPA2. Para se conectar
à rede, você precisaria seguir as dicas do tópico sobre configuração da rede wireless no Slackware, instalando
o wpa_supplicant e configurando a rede manualmente.

O mesmo vale para outros utilitários de configuração usados no Slackware, como o alsaconf para
detectar a placa de som e o pppoe-setup para configurar conexões ADSL PPPoE. Entretanto, o Slax realiza
muitas etapas de configuração automaticamente (ele detecta a placa de vídeo e a resolução correta do
monitor, detecta a placa de som, carrega o ambiente gráfico automaticamente, etc.) o que reduz muito o
trabalho de configuração do sistema se comparado ao de uma instalação limpa do Slackware.

Podemos dizer que o Slackware serve bem como uma distribuição para aprender, que deixa você
configurar tudo manualmente e entender como o sistema funciona, enquanto o Slax se propõe a ser uma
versão simplificada do sistema, mais prática de usar.

Em versões antigas, o Slax incluía o "Slax Installer", um instalador simples, que se encarregava de
instalá-lo no HD, criando uma mini-instalação do Slackware. Entretanto, o instalador foi removido das
versões atuais, dando lugar ao uso dos módulos e à instalação em pendrives. Naturalmente, é possível usar os
mesmos passos da instalação em pendrives para "instalar" o sistema em uma partição do HD, mas ele
continua trabalhando em modo live-CD, usando os módulos compactados, assim como ao ser instalado no
pendrive.

Pesquisando no Google é possível encontrar versões alternativas do script de instalação, que permitem
instalar as versões atuais no HD, mas nesse caso seria mais recomendável simplesmente fazer uma instalação
normal do Slackware. O forte do sistema é mesmo a possibilidade de rodar de forma eficiente a partir de um
pendrive.

666
Concluindo, temos mais um recurso interessante do sistema, que é a possibilidade de criar CDs
personalizados a partir do próprio site:

Para usá-lo, basta acessar o http://www.slax.org/build.php e usar a opção "Add more modules",
marcando os módulos adicionais que devem ser adicionados na imagem. As opções da página disparam um
conjunto de scripts, que fazem com que o servidor gere um novo arquivo ISO, incluindo os componentes
marcados, e ofereça o link para download da versão customizada.

GoblinX

O GoblinX é um live-CD desenvolvido por brasileiros, que é indiretamente baseado no Slax.


Indiretamente, pois ele utiliza os scripts do Linux Live (http://www.linux-live.org/), que correspondem à
estrutura básica do Slax, sem entretanto usar diretamente os módulos do sistema. Os scripts permitem criar
sistemas live-CD a partir de uma instalação do sistema no HD, além de possibilitarem a criação de módulos a
partir de pacotes do Slackware, instalação em pendrives e outros recursos. O GoblinX "sobe nos ombros de
gigantes" ao combinar estes componentes com alguns recursos próprios.

A página oficial é o http://www.goblinx.com.br e o fórum está disponível no


http://forum.goblinx.com.br/. Você encontra também uma página com diversos tutoriais (em inglês) no
http://www.goblinx.com.br/en/?cat=7.

Uma das principais características do GoblinX é a disponibilidade de várias versões diferentes do


sistema, cada uma com um conjunto diferente de módulos e destinada a um público específico.

Por um lado, essa abordagem confunde e afasta muitos usuários (já que você precisa primeiro
entender as diferenças entre as versões para depois escolher uma e poder finalmente testar o sistema) mas,
por outro, oferece uma flexibilidade muito grande, já que você pode utilizar uma ou outra versão de acordo
com suas preferências ou necessidades. Quer uma versão baseada no FluxBox ou no XFCE? Sem problemas,
basta usar o GoblinX Micro ou o GoblinX Mini. Vamos então a uma rápida descrição de cada uma das
versões:

G:Standard: É a versão principal do sistema, que inclui várias opções de gerenciadores de janelas e um
conjunto moderadamente completo de aplicativos em uma imagem com pouco mais de 300 MB.

G:Premium: Uma versão levemente aprimorada do G:Standard, destinada a ser instalada no HD e


usada como desktop principal. Ela é o "ganha pão" do projeto, vendida em CD-ROM ou em pendrive, como
uma forma de arrecadar fundos.

G:Mini: É uma versão minimalista do sistema, que utiliza o XFCE como gerenciador gráfico e um
conjunto reduzido de aplicativos, com o objetivo de caber dentro de uma imagem de 200 MB.

G:Micro: Similar ao G:Mini, mas utiliza o FluxBox como gerenciador de janelas, o que torna o sistema
ainda mais minimalista e geek. Ele é uma opção para quem gosta do FluxBox, ou quer um sistema o mais leve
possível para uso em micros antigos.

667
G:Noblin: Esta é a versão mais recente do sistema, baseada no GNOME. Junto com a mudança no
ambiente, quase todos os aplicativos foram substituídos por aplicativos baseados na biblioteca GTK2, o que
faz com que o sistema tenha um jeito de ser completamente diferente.

Todas as versões estão disponíveis em dois formatos: o tradicional arquivo ISO, que pode ser gravado
em CD, e um arquivo .zip, destinado à instalação em pendrives. O processo de instalação para eles é o
mesmo do Slax: descompactar o arquivo, copiar o conteúdo para o raiz do pendrive e executar o script
"boot/bootinst.sh" ou "boot/bootinst.bat" para torná-lo bootável.

Embora use o inglês por default (por estranho que possa parecer, o GoblinX possui mais usuários e
colaboradores no exterior do que no próprio Brasil), você pode alterar a linguagem padrão através das opções
de boot. Basta pressionar a tecla TAB depois de escolher o ambiente e substituir o "locale=english" por
"locale=portuguese_br lang.br":

As opções de boot alteram apenas a configuração do sistema; para concluir a mudança na linguagem,
você precisa instalar também o pacote de internacionalização do KDE, que você pode baixar (juntamente
com outros módulos extras) no: http://goblinx.linuxish.net/modules/. Outra opção para instalar softwares é
usar o Gslapt, disponível no "Iniciar > System" e, como de praxe, você pode também instalar pacotes do
Slackware, usando o installpkg.

A maior parte do trabalho de personalização é feito em torno do XFCE e do Fluxbox, deixando o


KDE e o GNOME um pouco em segundo plano, mas o visual é sempre uma questão de gosto, que você
pode personalizar em poucos minutos. Logo no primeiro boot, você vai perceber que o GoblinX tem um
jeito próprio de ser, tanto com relação à aparência (ele é uma das poucas distribuições com o KDE que utiliza
a barra no topo da tela, por exemplo) quanto com relação à própria organização do sistema.

Um dos pontos fortes do GoblinX é a facilidade em remasterizar o CD, incluindo módulos ou opções
personalizadas. Você pode inclusive fazer a remasterização diretamente a partir do live-CD, desde que tenha
disponível um pendrive ou espaço em uma partição do HD para salvar a nova imagem. O script de
remasterização está disponível (junto com diversos outros scripts de configuração) dentro do Magic Center,
um painel de administração gráfico:

668
Se você se identifica com o jeito de ser do Slackware, está à procura de uma distribuição leve para uso
em micros antigos, ou quer um live-CD que possa ser personalizado com facilidade, o GoblinX sem dúvidas
merece um teste. Os dois principais concorrentes diretos seriam o Slax (que também é facilmente
personalizável como live-CD) e o próprio Slackware, que permanece como uma opção mais estável e elegante
como desktop.

Tiny Core

O Tiny Core é uma mini-distribuição relativamente nova, desenvolvida por um time de


desenvolvedores dissidentes do Damn Small Linux. Ele eleva o termo "minimalista" a um novo patamar, com
inacreditáveis 10 MB.

Diferente do que poderia parecer à primeira vista, não se trata de alguma mini-distribuição em modo
texto, apenas com alguns utilitários básicos, mas sim de um sistema relativamente completo, com ambiente
gráfico e um gerenciador de pacotes que permite instalar aplicativos adicionais. A ideia é oferecer um sistema
minimalista, que rode com desenvoltura em qualquer máquina, no qual você possa adicionar os softwares
desejados através de módulos. A página oficial é a http://www.tinycorelinux.com/.

Uma das vantagens de ser tão pequeno é que ele roda inteiramente a partir da memória RAM.
Diferente de outras distribuições, onde o kernel (o arquivo /boot/vmlinuz) é copiado para a memória RAM
no início do boot e o restante do sistema é inicializado a partir do HD ou CD-ROM, no Tiny Core todo o
sistema é armazenado em um arquivo compactado que, assim como o kernel, também é descompactado na
memória RAM logo no início do boot.

Como pode imaginar, isso faz com que ele seja extremamente rápido, já que o único gargalo é o
barramento entre o processador e a memória, mas, por outro lado, também exige diversas concessões. Em
vez de utilizar o X.org, por exemplo o Tiny Core é baseado no Tiny X, um servidor gráfico que utiliza os
modos VESA (com alguns tweaks para aumentar o volume de resoluções suportadas) para acesso direto ao
vídeo. Ele inclui também apenas um pequeno conjunto de módulos de kernel, o que limita o suporte a
dispositivos.

Por default, o Tiny Core não inclui praticamente nenhum aplicativo (afinal, se viesse com o Firefox e
o OpenOffice, não poderia ser chamado de "Tiny Core" :p), de forma que a primeira coisa a fazer é abrir o
appbrowser e instalar alguns módulos de aplicativos. Para isso, clique no "Connect > TCZ" e escolha entre os
módulos da lista:

669
O gerenciador é surpreendentemente competente, baixando também as eventuais dependências das
extensões, tudo automaticamente. Embora a facilidade de uso não esteja entre as prioridades, o Tiny Core é
bastante intuitivo. Conforme você vai instalando módulos, são criados ícones para os aplicativos na barra
inferior, que faz o papel de lançador de programas:

O ponto fraco da abordagem é que os módulos precisam ser desenvolvidos especialmente para o Tiny
Core e, como não é possível (pelo menos nas versões iniciais) instalar pacotes de outras distribuições, você
fica limitado aos módulos existentes. Entretanto, não deve demorar para que alguém apareça com alguma
maneira de converter pacotes do Slackware ou do Debian em módulos do Tiny Core, o que resolveria o
problema.

670
Muitos componentes que damos certos em outras distribuições, precisam ser instalados através do
gerenciador. Para adicionar o suporte a placas wireless, por exemplo, você precisa instalar os módulos
"wireless", "wireless_tools" e "wpa_supplicant".

O gerenciador de janelas é o JWM (o mesmo usado no Puppy), configurado para se comportar de


maneira similar ao Fluxbox, onde o iniciar é acessado clicando com o botão direito sobre uma área vazia da
área de trabalho.

Para poupar espaço, o Tiny Core utiliza o BusyBox como interpretador de comandos (no lugar do
Bash), mas você perceberá que a maioria dos comandos básicos estão disponíveis. O ícone para o terminal na
barra abre um terminal em modo de usuário, mas você pode abrir um terminal de root no "XShells > Root
Access > Light".

Como de praxe, o Tiny Core suporta diversas opções de boot, que podem ser usadas para configurar
o sistema e solucionar problemas. Você pode ver a lista pressionando as teclas F2 e F3 na tela de boot. Para
que ele pergunte a resolução (em vez de usar o default de 1024x768), por exemplo, use a opção "tinycore
xsetup".

É possível também fazer com que ele salve os módulos instalados e os arquivos salvos no diretório
home em um pendrive ou em uma partição do HD usando as opções "tce=" e "home=", como em
"tce=sda1 home=sda1". Isso faz com que ele crie dois diretórios na partição selecionada e passe a montá-los
automaticamente nos boots seguintes.

Você pode também criar versões modificadas do CD, incluindo diretamente os módulos desejados
(afinal, chega a ser um desperdício usar uma mídia para gravar apenas 10 MB :) de forma bastante simples.

Comece (a partir de outra distribuição Linux) copiando o arquivo ISO para uma pasta qualquer e crie
duas subpastas:

# mkdir tinyiso
# mkdir novo

Em seguida, monte o arquivo ISO na primeira pasta e copie os arquivos para a segunda:

# mount -o loop tinycore_1.3.iso tinyiso


# cp -a tinyiso/* novo/
# mkdir novo/tce/

Como pode imaginar, a pasta "novo" contém os arquivos do nosso novo ISO. A pasta "tce" que
criamos no último comando é a pasta onde o sistema procura os módulos durante o boot. Basta colocar
todos os módulos desejados dentro dela para que o sistema os ative automaticamente. Você pode baixar os
módulos no:
http://distro.ibiblio.org/pub/linux/distributions/tinycorelinux/tce.html

Muitos dos módulos dependem de outros módulos (a maioria dos aplicativos gráficos precisam do
"gtk+-2" e do "glib2", por exemplo), por isso é importante checar o arquivo de informações de cada um e
baixar também as dependências, citadas no campo "requires".

Depois de terminar, use o comando a seguir para gerar o novo ISO. O "MeuTiny" especifica o nome
do projeto, o "tiny.iso" é o arquivo que será gerado e o "novo/" é o diretório onde estão os arquivos:

mkisofs -l -J -V MeuTiny -no-emul-boot -boot-load-size 4 \


-boot-info-table -b boot/isolinux/isolinux.bin -c \
boot/isolinux/boot.cat -o tiny.iso novo/

Uma observação é que os arquivos ".tce" são descompactados na memória no início do boot (assim
como o kernel) por isso eles acabam consumindo um volume três vezes maior (aproximadamente) de
memória que os arquivos originais. Em outras palavras, se você colocar 50 MB de módulos dentro da
imagem, o sistema vai consumir 150 MB a mais de RAM no boot.

671
Para reduzir o consumo de memória ao usar muitos módulos, existe a opção de usar os módulos
TCZ, que são montados diretamente (rodando a partir do CD), reduzindo o uso de memória.

Existe também a possibilidade de instalar o sistema no HD ou em um pendrive. Nesse caso, você


precisa copiar a pasta "boot" e a pasta "tce" (caso usada) para o diretório raiz da partição e fazer uma
instalação simplificada do grub, para que ela se torne inicializável (como detalhado no
http://tinycorelinux.com/install.html).

É possível também instalar o Tiny Core em "dual boot" com outra distribuição Linux já presente no
HD. Nesse caso, a instalação consiste em apenas copiar os arquivos "bzImage" e "tinycore.gz" para dentro da
pasta "/boot" e adicionar uma seção adicional no final do arquivo "/boot/grub/menu.lst" da distribuição
instalada, como em:

title TinyCore
uuid 77e43f2e-063f-4e4f-8708-be403c49a492
kernel /boot/bzImage quiet xsetup
initrd /boot/tinycore.gz

A opção "uuid" é usada no caso de distribuições que usam UUIDs para identificar as partições, como
no caso do Ubuntu. Basta copiar o valor do UUID a partir da entrada principal. A opção "xsetup" faz com
que ele exiba o configurador do Tiny X no boot, permitindo que você ajuste a resolução do vídeo.

Para completar, crie os diretórios "/tce" e "/home/tc" no diretório raiz da partição, para permitir que
o Tiny Core salve os módulos instalados e os arquivos do home:

# mkdir /tce
# mkdir /home/tc

Opcionalmente, você pode criar o arquivo "mydata.tgz", que é usado pelo Tiny Core para salvar os
arquivos e configurações ao marcar a opção "backup" no menu de desligamento:

# touch mydata.tgz

Essa instalação em "dual boot" do Tiny Core funciona muito bem como um sistema de instant-on,
para quando quiser apenas fazer alguma tarefa rápida ou ouvir música (instale o "audacious" pelo
gerenciador). O boot é mesmo muito rápido.

Concluindo, o Tiny Core é um dos projetos mais interessantes que vi nos últimos anos. Entre tantas
distribuições criadas apenas para serem remasterizações de outras distribuições existentes, mudando apenas o
papel de parede e o elenco de aplicativos instalados, o Tiny Core é um exemplo de como alguém pensando
fora da caixa pode aparecer com conceitos revolucionários.

É cedo para dizer se algum dia o Tiny Core vai deixar de ser apenas uma mini-distribuição para uso
como sistema de emergência e instalação em pendrives, mas existe uma chance de que ele venha a ser usado
em netbooks (já que é incrivelmente leve e ocupa pouco espaço) ou como um sistema de boot instantâneo
para vir pré-instalado em placas-mãe, similar ao SplashTop, que vem pré-instalado em algumas placas da
Asus. Ele é também uma boa plataforma para o desenvolvimento de sistemas de recuperação, terminais leves
e sistemas especializados em geral.

SliTaz

Se o Tiny Core impressiona pelo potencial, o SliTaz impressiona pelo que já faz nas versões atuais. Ele
é outra distribuição minimalista, mas desenvolvida com o objetivo de ser um sistema bem acabado, pronto
para ser usado mesmo pelos usuários mais leigos, diferente do Tiny Core que vem "crú", esperando ser
personalizado. A página do projeto é a: http://www.slitaz.org/

A base dos dois sistemas é similar, com o uso de um kernel otimizado, combinado com o BusyBox e
uma versão minimalista do X, que ocupam pouco espaço na imagem e utilizam pouca memória RAM, mas as
diferenças param por aí:

672
Como pode ver no screenshot, o SliTaz oferece um desktop completo, incluindo o Firefox e um
punhado de aplicativos GTK, com direito a um conjunto bastante completo de ferramentas de configuração,
tudo isso em uma imagem de apenas 29 MB, que roda com um bom desempenho em máquinas com 256 MB
de RAM.

Assim como outras distribuições Live CD, ele suporta um conjunto de opções de boot, incluindo
tanto as opções para o kernel, quanto opções próprias, destinadas a alterar o comportamento do sistema.
Você pode ver uma lista pressionando a tecla F6 na tela de boot. Usando a opção "slitaz home=sda2", por
exemplo, você orienta o sistema a utilizar a partição especificada (que deve obrigatoriamente ter sido
formatada em EXT3) como home, salvando os arquivos e configurações.

O gerenciador de janelas default (na versão 2.0) é o OpenBox (http://icculus.org/openbox), um


gerenciador bastante competente, que lembra um pouco o XFCE, mas se destaca por ser incrivelmente leve e
rápido.

Durante o boot, ele exibe um conjunto de menus em texto, perguntando a linguagem, o layout do
teclado e a resolução do vídeo. Um dos destaques é que ele oferece um excelente suporte ao português,
incluindo traduções para os manuais disponíveis no site. Durante o boot, o sistema configura a rede via
DHCP e detecta automaticamente a placa de som, oferecendo um desktop minimalista bastante funcional.

A rede pode ser configurada através do "Netbox Manager" (netbox), um gerenciador gráfico que fica
ativo ao lado do relógio. Ele inclui também um atalho para o "Wireless Manager" (wifibox), que permite
configurar redes wireless.

O SliTaz oferece um suporte bastante completo a placas wireless (principalmente se levarmos em


conta o fato de ele ser uma distribuição minimalista), mas existe uma observação importante: para a maioria
das placas é necessário primeiro baixar o firmware correspondente na aba "Drivers" do Wireless Manager.
Para uma placa Intel PRO/Wireless 3945, por exemplo, você baixaria o "iwlwifi-3945-firmware":

673
Está disponível também a opção para ativar a placa usando o Ndiswrapper, através do "Install
Windows Drivers".

Uma vez que a conexão estiver ativa, você pode usar o gerenciador de pacotes para instalar outros
aplicativos desejados. Use o "Recharge lists" e, em seguida, o "List" para ver a lista dos pacotes disponíveis.
Para assistir vídeos, por exemplo, você instalaria o "mplayer" e o "mplayer-codecs".

O SliTaz utiliza um gerenciador de pacotes próprio, o "Tazpkg", que é um gerenciador minimalista,


escrito em shell script. Os pacotes utilizam um formato muito similar ao utilizado pelos pacotes do Slackware,
mas incluem um arquivo de descrição (receipt), que adiciona um sistema simples de de verificação de
dependências.

Além de usar o gerenciador gráfico, você pode também usar o Tazpkg diretamente via linha de
comando. Para isso, comece atualizando a lista de pacotes, usando o:

# tazpkg recharge

A partir daí, para baixar e instalar um pacote, use o "tazpkg get-install", como em:

# tazpkg get-install mplayer

Para remover um pacote instalado, use o "tazpkg remove", como em:

674
# tazpkg remove gimp

Como pode ver, o Tazpkg é bastante simples de usar, não muito diferente do apt-get ou do yum, por
exemplo. A principal limitação é que o uso de um repositório próprio faz com que a lista dos pacotes
disponíveis seja pequena se comparada a outras distribuições.

Está disponível também o Tazusb (disponível no "Menu > System Tools"), um pequeno utilitário que
permite gerar um pendrive bootável com o sistema. Embora ele possa ser instalado em uma partição FAT32,
é fortemente recomendável que você reformate o pendrive, criando uma pequena partição (de 500 MB ou
menos) formatada em EXT3 e a use para a instalação do SliTaz. A vantagem de fazer isso é que a partição
EXT3 pode ser usada para armazenar o home, diferente de uma partição FAT. Está disponível também o
Tazlito, que permite gerar uma versão personalizada do Live-CD, incluindo os pacotes que tiver instalado:

Além de ser usado em modo live, o SliTaz suporta a instalação no HD (ou em pendrives) o que
permite instalá-lo e usá-lo a partir do disco, assim como em uma distribuição tradicional. Antes de instalar
(usando o "Menu > System Tools > SliTaz Installer"), é necessário criar as partições usando o Gparted,
também incluído no sistema. A instalação é bem simples, consistindo apenas em indicar a partição de
instalação, definir o nome da máquina, esperar 45 segundos (ou menos) enquanto os arquivos são copiados e
instalar o gerenciador de boot.

675
O instalador do SliTaz (pelo menos até a versão 2.0) oferece apenas a opção de instalar ou não o grub
na MBR, sem a opção de instalá-lo no primeiro setor da partição, como em outras distribuições. Se você
estiver instalando o SliTaz em dual-boot com outra distribuição e não quiser que ele substitua o gerenciador
de boot da distro já instalada, cancele a instalação do grub e, depois de reiniciar, edite o arquivo
"/boot/grub/menu.lst" da outra distribuição, adicionando uma nova seção para iniciar o SliTaz, como em:

title Slitaz
root (hd0,1)
kernel /boot/vmlinuz-2.6.25.5-slitaz root=/dev/sda2

Nesse exemplo, o SliTaz foi instalado na segunda partição do HD, em uma máquina com um HD
SATA. Veja que a segunda linha especifica a localização dentro da sintaxe do grub, enquanto na terceira linha
é especificado diretamente o device da partição.

Por default, o SliTaz cria o usuário "tux" (sem senha) e usa a senha "root" para o root, o que é,
naturalmente, uma configuração bastante insegura. É importante trocar as senhas logo no primeiro boot,
usando o comando "passwd". Como de praxe, você pode também adicionar novos usuários usando o
"adduser".

Como o SliTaz utiliza um servidor X minimalista (o Xvesa), você pode ter problemas em alguns
aplicativos que utilizam aceleração gráfica. Um bom exemplo é o próprio Mplayer, que só consegue exibir
vídeos depois que você altera o driver de vídeo padrão de "xv" para "x11" na configuração.

Para solucionar o problema, você pode abrir mão da simplicidade e instalar o X.org completo. Para
isso, instale o pacote "xorg-server" usando o Tazpkg:

# tazpkg get-install xorg-server

Em seguida, veja os drivers disponíveis usando o "tazpkg search xorg-xf86-video" e instale o driver
apropriado para a sua placa de vídeo (em caso de dúvidas, veja a explicação sobre os drivers de vídeo do X no
capítulo do Slackware), como em:

# tazpkg get-install xorg-xf86-video-intel

A partir daí, fica faltando apenas gerar a configuração do X usando o comando "Xorg -configure" e
copiar o arquivo para a localização correta:

# Xorg -configure
# cp /root/xorg.conf.new /etc/X11/xorg.conf

Concluindo, embora não ofereça todos os recursos de uma distribuição "completa", como o Ubuntu
ou o Mandriva, o SliTaz oferece a vantagem de ser muito rápido e leve, podendo ser usado mesmo em micros
com poucos recursos. A instalação de novos pacotes e a configuração básica do sistema é também bastante
simples, graças aos utilitários incluídos.

Naturalmente, você vai sentir falta de muitos recursos (afinal, estamos falando de uma distribuição
com apenas 29 MB), mas ele pode atender bem a alguém que precisa apenas navegar, assistir vídeos e
executar outras tarefas simples.

676

Você também pode gostar