Opção pela Simplicidade
Gerenciadores de janelas de alto desempenho e flexibilidade que não comprometem quando rodam em antigos 386
Augusto César Campos
augusto@tre-sc.com.br
Conheça o IceWM e o BlackBox, dois gerenciadores de janelas leves para Linux, que se opõem aos ambientes
gráficos pesados demais. Boa parte do sucesso que o Linux tem obtido com os usuários finais de microinformática recentemente
pode ser atribuído à facilidade de uso oferecida pelos ambientes gráficos Gnome e KDE. Ambos oferecem recursos que até pouco
tempo atrás não estavam ao alcance dos usuários de Linux, como a integração entre aplicações, drag and drop, atalhos no ambiente
de trabalho, barras de tarefa dinâmicas, aparência e comportamentos consistentes, e uma plataforma de suporte a aplicações capaz
de justificar o interesse por parte dos desenvolvedores.
Entretanto, esses recursos têm um custo alto em termos de memória e processamento. Para gerenciar a integração
entre aplicações, o Gnome e o KDE são obrigados a manter uma série de serviços em permanente execução, ocupando valiosos bytes na
memória e também preciosos ciclos de execução do microprocessador. Isso está longe de ser um problema para os possuidores de micros
topo de linha, mas é um fator de constante irritação para grande parte dos usuários.
Uma das vantagens apontadas no Linux é a sua escalabilidade, podendo rodar até em um antigo 386. Não se espera
que esses computadores de menor performance sejam uma boa base para a execução de ambientes operacionais gráficos mais pesados
como o KDE e o Gnome, mas naturalmente há alternativas. E o mais interessante é que essas alternativas podem ser atraentes também
para os usuários de computadores mais potentes, mas que não precisem dos recursos adicionais oferecidos pelos ambientes
gráficos mais completos.
Ambientes gráficos leves
Ambientes como o KDE e o Gnome incluem uma série de serviços adicionais que contribuem em muito para o seu
impacto na performance: gerenciadores de arquivos em permanente execução, gerenciadores de comunicação entre as aplicações, e
muitos outros. Mas muitos usuários sentem que não fariam tanta questão de dispor de ícones ativos na sua área de trabalho, se
pudessem ter mais memória e tempo de processamento disponíveis para as suas aplicações.
Felizmente existem várias alternativas para satisfazer aos anseios minimalistas destes usuários, e iremos
analisar duas delas que se destacam por aliar a praticidade à leveza e simplicidade: o IceWM e o BlackBox.
IceWM
O IceWM foi construído tendo em mente os objetivos de bom desempenho e flexibilidade. Mesmo sendo minimalista
em seu conceito, apresenta muitos dos confortos dos ambientes gráficos mais volumosos, tais como suporte a temas, barra de tarefas
bastante funcional, incluindo até mesmo applets como um relógio, monitor de bateria e indicador de chegada de e-mail.
Há extensões de configuração que precisam ser instaladas separadamente: o IcePref, desenvolvido em Python,
e o IceWMConf, feito em Tcl/Tk. O IcePref oferece extrema liberdade de configuração, incluindo as decorações das janelas (bordas,
títulos, botões), cores do ambiente, opções dos menus, fontes, comportamento de inicialização e encerramento do ambiente, e muito
mais.
De fato, há bem mais opções de customização do que na maior parte dos ambientes gráficos, permitindo criar um sistema
realmente adequado ao seu estilo pessoal.
Outra característica importante do IceWM é a presença de áreas de trabalho similares às do WindowMaker. As
áreas de trabalho funcionam como múltiplas telas, sendo que você abre as suas janelas de aplicação na tela que mais lhe convier,
e a cada momento escolhe qual área deseja visualizar. Enquanto desenvolvo este artigo, tenho o editor de textos aberto na área de
trabalho denominada de "Shell", e um navegador aberto na área de trabalho "Web", e estou constantemente alternando entre as
duas. Este modo de operação é bem mais confortável do que a alternativa de manter todas as janelas em um único ambiente de
trabalho, sobrepondo umas às outras e minimizando algumas, pois pode-se organizar logicamente o espaço visual.
A barra de tarefas do IceWM (veja a figura 1) lembra bastante a do Windows 95, exceto pela presença dos botões
que alternam entre as várias áreas de trabalho. À esquerda temos um botão que aciona um menu de opções (figura 2), incluindo aí os
aplicativos mais comuns do sistema (este menu pode ser editado para incluir seus aplicativos preferidos). Além disso, a
barra mostra os aplicativos que estão em execução, e informa a hora certa, o status da conexão ppp, e outros pequenos
confortos.
O IceWM é compatível com o Gnome. Isso significa que você pode utilizar o ambiente gráfico Gnome e manter o
IceWM como seu gerenciador de janelas, interagindo com a sessão Gnome de maneira transparente. Não há grandes ganhos de performance
neste caso, mas pode ser uma alternativa interessante para usuários insatisfeitos com o ambiente padrão do Gnome - que normalmente
é o também pesado Enlightenment.
Instalando o IceWM
Instalei o IceWM em uma máquina de testes rodando a versão 6.2 do SuSE Linux. Embora o SuSE tenha sua própria
ferramenta de seleção de ambiente gráfico, preferi editar manualmente os arquivos de configuração para gerar um procedimento
padronizado que possa ser seguido por usuários de outras distribuições de Linux sem muitas diferenças.
O primeiro passo foi localizar e instalar o pacote RPM do IceWM. Se você tem o CD-ROM distribuído na
primeira edição da Revista do Linux, encontrará uma versão do IceWM já empacotada para o Conectiva Linux no diretório
/mnt/cdrom/conectiva/RPMS - então bastará instalar através dos seguintes comandos:
# rpm -ivh /mnt/cdrom/conectiva/RPMS/icewm-0.9.48-3cl.i386.rpm
# rpm -ivh /mnt/cdrom/conectiva/RPMS/icewm-themes-0.9.42-1cl.noarch.rpm
|
Caso não disponha do CD, faça o download no site da sua distribuição favorita, ou mesmo no site oficial do
IceWM. Após a execução dos comandos acima, você terá instalado o IceWM 0.9.48, incluindo a documentação em html gravada no diretório
/usr/doc/icewm-0.9.48/. O próximo passo é fazer com que ele seja executado.
É possível que seu ambiente gráfico padrão já tenha uma opção de menu que alterne para o IceWM - se for o caso,
utilize-a para seus primeiros testes. Caso contrário, edite seu arquivo ~/.xinitrc (ou ~/.xsession, se seu micro entrar no modo
gráfico já durante o boot), localizando a linha que carrega o seu ambiente gráfico atual e substituindo-a por uma linha como a
que segue:
Caso você não tenha um arquivo chamado ~/.xinitrc, crie-o, e faça com que sua única linha seja a exposta
acima. Em seguida, torne-o executável digitando "chmod a+x ~/.xinitrc"). Feito isso, execute sua seqüência normal de operação
para entrar no modo gráfico (na maior parte dos casos isso significa digitar startx), e veja o IceWM em ação.
BlackBox
O BlackBox é outro gerenciador de janelas disponível em versão para Linux e que tem a economia de recursos como
ponto forte. Se você realmente tem pouca memória disponível, ou se deseja manter o máximo de memória possível para suas aplicações
sem abrir mão de um mínimo de funcionalidade do ambiente gráfico, não pode deixar de experimentar o BlackBox.
Apesar de sua aparência espartana, o Blackbox tem todos os recursos necessários para manipular as suas janelas,
incluindo múltiplas áreas de trabalho (de maneira análoga à do IceWM), menus configuráveis para acesso às aplicações, e uma barra de
tarefas simplificada, que indica o nome da área de trabalho ativa, da janela selecionada, informa a hora certa e permite
navegar, de forma simples, entre as aplicações correntemente em execução. A figura 3 mostra a barra de tarefas e o menu
indicando as aplicações em execução.
Uma das razões para a maior economia de memória oferecida pelo Blackbox é que ele não tem suporte a carregamento
de ../imagens. Isso significa que, ao contrário de outros gerenciadores de janelas como o IceWM e o WindowMaker, não é possível definir
um belo pixmap para ser usado como padrão de preenchimento dos menus e barras de título das janelas - é necessário se contentar
com os preenchimentos baseados em gradientes.
A configuração do BlackBox é como nos "velhos tempos": você é obrigado a editar diretamente os arquivos de
recursos (não que eu esteja reclamando). O arquivo básico é o ~/.blackboxrc, criado automaticamente na primeira vez em que se sai
do ambiente. As opções desse arquivo são razoavelmente auto-explicativas, e incluem, entre outras coisas, o nome do arquivo que
irá conter as suas opções de menu. Ao editar o .blackboxrc, lembre-se de que o BlackBox não pode estar rodando - caso contrário,
ele acabará sobrepondo suas alterações.
Para editar seu próprio menu do BlackBox, similar ao da figura 4, primeiro copie o menu padrão do sistema para
o seu diretório:
# mkdir ~/.blackbox
# cp /usr/local/share/Blackbox/menu ~/.blackbox/Menu
|
E edite a entrada session.menuFile no arquivo .blackboxrc para apontar para o seu menu em ~/.blackbox/Menu.
Em seguida, edite o seu arquivo de menus para ficar de acordo com suas preferências, utilizando as dicas de sintaxe fornecidas
no próprio menu original - que é bastante simples.
Instalando o BlackBox
O CD-ROM da Conectiva, em sua versão 4.0, não inclui uma cópia do BlackBox. O próprio site do BlackBox não
conta (no momento em que esta matéria está sendo escrita) com arquivos instaláveis em formato RPM. Isso significa que teremos
que instalá-lo a partir dos fontes. Se você tiver dificuldades com algum passo da instalação, lembre-se de consultar a
documentação que acompanha o pacote. O primeiro passo é obter o arquivo dos fontes (em formato .tar.gz), no site oficial:
portal.alug.org/blackbox.
Uma vez de posse do arquivo, descompacte-o no diretório de sua preferência:
# tar zxvf blackbox-x.xx.x.tar.gz
|
Entre no diretório criado durante a descompactação, iniciando então a configuração e compilação:
Após o término da compilação, utilizando os privilégios do root (comando "su"), instale o pacote:
# su
# Password: ******
# make install
# exit
|
E para garantir que o BlackBox vá ser executado na próxima vez em que você iniciar o ambiente gráfico,
edite o arquivo ~/.xinitrc de maneira análoga à utilizada para instalar o IceWM, mas desta vez acrescentando a seguinte linha:
Conclusão
As opções aqui expostas não encerram a discussão sobre as vantagens de cada gerenciador de janelas ou
ambiente gráfico. E naturalmente há outros ambientes gráficos que ocupam poucos recursos, e também vários com características
especiais que justifiquem sua maior ocupação de memória e CPU.
Espero ter atingido o objetivo de demonstrar que existe vida fora do universo KDE/Gnome, e que se você tem
problemas de performance com o Linux, sempre há maneiras de reduzir a carga livrando-se de funcionalidades desnecessárias.
Como um complemento a este artigo realizei um rápido teste de ocupação de memória usando as configurações
padrão de cinco populares ambientes. Não foi tomada nenhuma precaução científica, exceto a manutenção das mesmas condições de
ambiente em todas as tomadas de tempo, mas mesmo assim é possível demonstrar, grosso modo, como pode valer a pena usar gerenciadores
mais leves. Veja tabela 1.
Os testes foram realizados em um equipamento Pentium com 64MB de memória, rodando as configurações padrão
distribuídas com o SuSE Linux 6.2.
Tabela 1 |
Gerenciador |
Memória livre (Kbytes) |
Modo texto |
30764 |
BlackBox 0.40.9 |
23540 |
IceWM 0.9.42 |
23416 |
WindowMaker 0.60.0 |
20904 |
KDE 1.1.1 |
8376 |
GNOME 1.0.7 |
4660 |
|