Revista Do Linux
 
  
  
 

OUTRAS SEÇÕES
  Cartas
  Variedades
  Rádio Linux
  Mensagem ao Leitor
  CD do Mês
  Coluna do Augusto
  Dicas e Truques
  Opinião
 

Gnomos e Pingüins

Se você acompanha as notícias no mundo do software livre, com certeza já deve ter lido algo sobre o Gnome 2 e talvez até mesmo saiba que a versão 2.2 está chegando a qualquer momento. Mas você sabe quais são as principais novidades de um dos ambientes desktop Open Source mais usados? Não? Então não perca tempo e comece já a ler este artigo. É impossível listar aqui cada novidade ou melhoria, por isso nos limitamos a um "apanhado geral" dos novos recursos. Com certeza, com o uso diário, você irá encontrar ainda mais coisas que possam lhe interessar

Histórico

O projeto Gnome foi fundado em 1997 por Miguel de Icaza com o objetivo de criar um ambiente desktop 100% livre para o Linux, como uma alternativa ao KDE que na época, apesar de licenciado sob a GPL, não podia ser considerado software livre, por causa de itens restritivos na licença da biblioteca Qt. Por isso, o Gnome foi baseado em um novo toolkit, chamado GTK (Gimp ToolKit), originalmente criado para o Gimp como substituto para o Motif, toolkit utilizado pelo projeto na época.

A primeira versão pública do Gnome, a 0.13, era composta de pouco mais que o painel, bibliotecas de suporte e alguns aplicativos básicos. O Gnome 1.0 foi lançado em Março de 1999, depois de cinco meses em freeze. Contudo, esta versão era infestada de bugs e instável, o que infelizmente deu ao software, logo de início, uma má reputação. A primeira distribuição a incluir o Gnome foi o Red Hat Linux 5, que utilizava uma variante da versão 1.0 com vários patches e correções, mas ainda assim muito instável. Estes problemas só seriam corrigidos em outubro de 1999, com o lançamento, coordenado por Elliot Lee, funcionário da Red Hat, do Gnome 1.0.55, codinome October Gnome, a primeira versão a ser largamente adotada pelas distribuições Linux.

O Gnome 1.2, Bongo Gnome, foi lançado em maio de 2000, após um mês de atraso, e consistia basicamente de melhorias na interface, sugeridas pela equipe GNOME-UI (também conhecida como UI Hitsquad), que mais tarde se tornaria parte do Gnome Usability Project. A série 1.2 também foi a base para a primeira versão comercialmente suportada do Gnome, o Helix Gnome, com versões para várias distribuições Linux e o sistema operacional Solaris. Mais tarde, a Helix Code, empresa fundada por Miguel de Icaza e outros desenvolvedores do projeto Gnome, viria a ser conhecida como Ximian, e sua distribuição do Gnome se tornou o Ximian Gnome.

A última versão da série 1.x foi o Gnome 1.4, lançado em 2 de abril de 2001. Foi a primeira versão a incluir o novo gerenciador de arquivos, Nautilus, desenvolvido pela Eazel, empresa fundada por vários dos membros da equipe de desenvolvimento original da interface gráfica do Macintosh. Entre os outros destaques estavam a primeira versão do pacote Fifth Toe, um conjunto de aplicativos que, embora não fizessem parte da distribuição oficial, foram desenvolvidos com o Gnome em mente, a adoção do gerenciador de janelas Sawfish como padrão, Gconf, um sofisticado sistema centralizado para armazenamento de informações de configuração dos aplicativos, e melhorias no sistema de componentes Bonobo, usado na integração entre os vários aplicativos, de forma similar às tecnologias OLE e CORBA.

Gnome 2 - Sem barreiras

Uma das características do Linux e do Software Livre em geral é a falta de barreiras que impeçam seu desenvolvimento ou distribuição. Durante a criação do Gnome 2, sua equipe levou em conta outro tipo de barreira: a que impede o uso do software, seja por complexidade excessiva, falta de conhecimento do idioma utilizado ou algum tipo de incapacidade física. É aqui que se encontram três dos principais destaques do Gnome 2.

Internacionalização

É tarefa da equipe do Gnome Translation Project a internacionalização (i18n) e localização (l10n) dos componentes do desktop Gnome. São, na verdade, dois processos separados, mas igualmente importantes: a internacionalização consiste basicamente na preparação do software para que ele possa ser facilmente traduzido e adaptado a novas culturas. Já a localização envolve a tradução do software e sua documentação para outros idiomas, e adaptações para adequá-lo aos hábitos de determinado país ou grupo étnico, como padrões de data, hora, pesos e medidas, sistemas de entrada de dados via teclado, etc. Por exemplo: em países com sistemas de escrita da direita para a esquerda, não faz sentido os elementos da interface estarem orientados da esquerda para a direita, portanto é necessária uma adaptação para que os usuários possam se sentir confortáveis com o programa.

Atualmente o Gnome tem suporte completo a 26 idiomas, do inglês ao malaio, passando pelo português do Brasil. Outros 10 têm suporte parcial (incluindo o árabe, o japonês, o italiano e o chinês simplificado) e mais 16 estão em processo de serem adicionados ao projeto, incluindo duas variantes do sérvio (cirílico e latino), persa, tamil e idiomas artificiais como o interlíngua.

Usabilidade e Acessibilidade

Temos que admitir: programadores são péssimos para criar interfaces. O que pode funcionar e ser lógico para uma pessoa com conhecimento técnico pode não fazer o menor sentido para um usuário inexperiente. É neste ponto que entra a questão da usabilidade, palavrinha estranha, que tem como significado: "a medida da eficácia, eficiência e satisfação com a qual um usuário consegue atingir objetivos específicos ao interagir com a interface de um ambiente em particular". Ou seja, o trabalho da equipe do Gnome Usability Project é tornar a interface do Gnome tão eficiente e agradável de usar quanto possível. Para isso, são realizados estudos com usuários reais, que são convidados a realizar algumas tarefas simples (ajustar a hora, criar um diretório, abrir um arquivo, renomear um ícone, etc...), enquanto são observados e tem suas ações anotadas por profissionais da equipe de usabilidade da Sun Microsystems, em Menlo Park, na Califórnia. Os resultados são compilados em estudos de usabilidade, que identificam os pontos fortes e fracos do sistema. Com isso, sugestões de como melhorar o software, geralmente com modelos de como as coisas podem ser feitas, são encaminhadas aos desenvolvedores. Também é parte do trabalho da equipe a criação das Human Interface Guidelines, um conjunto de "regras" que mostram aos desenvolvedores como criar aplicativos visualmente atraentes, que se comportam corretamente e que se integram à interface do projeto Gnome como um todo.

Já a acessibilidade envolve a implementação de tecnologias que facilitem o uso do programa por portadores dos mais variados tipos de deficiências, e cuidar desta área é a tarefa do Gnome Acessibility Project. Ações nesta área podem ser tão simples como a inclusão de atalhos de teclado em seus aplicativos, para pessoas que não podem usar o mouse, ou a criação de temas de desktop com letras grandes e cores em alto contraste, a soluções mais complexas como a implementação de screen readers, softwares capazes de ler em voz alta o texto na tela, para auxiliar portadores de deficiências visuais. No Gnome, dois projetos nesta área são o GOK, Gnome On-screen Keyboard (um teclado virtual na tela, para os que não podem usar um teclado real) e o Gnopernicus, que, entre outros utilitários, como uma lupa para aumentar áreas da imagem, também incorpora um screen reader.

Uma nova fundação...

A principal novidade, e que a princípio interessa mais aos desenvolvedores, embora os usuários também se beneficiem, é a nova versão do toolkit GTK, o GTK 2, que é a base sobre a qual todo o Gnome e seus aplicativos são construídos. Devido a inúmeras mudanças internas, aplicativos GTK 1 terão de ser reescritos para poder utilizar os novos recursos. Felizmente, as duas bibliotecas podem ser instaladas lado-a-lado no sistema, permitindo que você continue usando seus aplicativos GTK 1 até que novas versões sejam lançadas. Ainda na fila para a conversão (principalmente por causa de sua complexidade) estão grandes nomes, como o Evolution, Galeon, AbiWord, Gnumeric, Gimp e muitos outros. Entre as principais mudanças no GTK 2 estão:

~U Anti-Aliasing - O GTK 2 tem suporte nativo a texto com anti-aliasing (usado extensamente no Gnome 2 e seus aplicativos), graças à biblioteca Freetype 2. Não é necessário nenhum esforço por parte do desenvolvedor, basta exportar uma variável de sistema e pronto!

~U Double Buffering - Double Buffering é uma técnica de programação, muito utilizada na criação de jogos, na qual você trabalha com dois buffers de imagens. Enquanto um deles é mostrado na tela, a imagem seguinte é desenhada no outro. O GTK 2 faz uso desta técnica, o que evita flicker (as famosas "piscadas" na imagem) quando uma janela é redimensionada ou redesenhada.

~U GdkPixbuf - Esta biblioteca para manipulação de imagens, antes separada, agora faz parte do GTK 2. Com ela, é possível carregar e salvar imagens em formatos como o GIF, o PNG, o JPEG, o BMP e outros. O GTK 2 faz extenso uso desta biblioteca, por exemplo, para aplicar efeitos de Alpha Blending sobre os ícones (clique e segure o botão esquerdo do mouse em uma área livre do desktop e arraste-o sobre alguns ícones para ver um exemplo do efeito).

~U Pango - Um framework para layout e desenho de texto internacionalizado, que é capaz de gerenciar vários conjuntos diferentes de caracteres, texto escrito da direita para a esquerda e até mesmo caracteres que mudam de forma conforme o contexto em que são utilizados. É um dos grandes responsáveis pelas habilidades "poliglotas" do Gnome 2.

~U UTF-8 e Unicode - No GTK 2, espera-se que qualquer string passada a uma função esteja no formato UTF-8, o que elimina um grande número de problemas relacionados a internacionalização. O ASCII é um subset do UTF-8, portanto a conversão de aplicativos já existentes não deve apresentar problemas. Contudo, fica para os desenvolvedores a tarefa de usar as funções adequadas para converter conjuntos de caracteres não ocidentais (que geralmente usam mais de um byte por caractere) para UTF-8.

~U Stock Items - Para facilitar a padronização entre os vários aplicativos, os Stock Items (conjunto composto de ícone, label e atalho) presentes na biblioteca gnome-libs agora são parte do GTK, e um novo conjunto de ícones padrão foi desenhado por TigerT e Jimmac, os artistas por trás de muitas das imagens e ícones associados ao Gnome. Para o desenvolvedor, utilizar um Stock Item é muito fácil. Se eu quiser um botão "Salvar" (composto de ícone, um label com o texto Save e o atalho de teclado Alt+S) em meu aplicativo, só preciso fazer:

button = gtk_button_new_from_stock (GTK_STOCK_SAVE);

Além disso, outras mudanças, como a maior facilidade para criação de aplicativos que possam ser utilizados apenas com o teclado, o ATK (Acessibility Toolkit), a linguagem de marcação utilizada nos labels, Gmarkup, o novo widget GtkTreeView e a versão melhorada de GtkTextView, e vários outros itens tornam muito mais fácil o desenvolvimento com GTK 2, o que com certeza se refletirá em melhores aplicativos para os usuários.

...para uma nova casa

E para o usuário, o que mudou no Gnome 2? Muitas coisas, algumas como resultado direto das mudanças na biblioteca GTK, outras como resultado do processo de "refinamento" do ambiente, iniciado com os estudos de usabilidade mencionados anteriormente. Acompanhe:

~U GDM - O GDM (Gnome Display Manager) é responsável pelo gerenciamento gráfico do processo de login em sistemas com o Gnome. Embora já houvesse opções de personalização na versão anterior, no Gnome 2 tudo se tornou muito mais flexível, sendo possível posicionar textos, caixas de diálogo e menus à vontade, em qualquer posição da tela, abrindo a possibilidade para a criação de temas visualmente atraentes. Tudo isso requer um novo formato para o arquivo de configuração, que agora é em XML.

~U Anti-aliasing - A suavização de fontes já era um recurso disponível na versão 1.4 do Gnome, através de alguns hacks e modificações da biblioteca Xft. Contudo, o Gnome 2 foi a primeira versão a incluir suporte oficial a este recurso. A vantagem do anti-aliasing está na melhoria da legibilidade do texto na tela, o que facilita a vida de quem passa horas a fio na frente de um monitor, evitando cansaço visual e dores de cabeça. Quatro opções estão disponíveis em um painel de controle: Monochrome (sem anti-aliasing), Best Shapes (produz as fontes mais precisas), Best Contrast (melhor contraste para leitura) e uma opção especial para painéis LCD, Subpixel Smoothing, mais conhecida por alguns em sua versão Windows, chamada ClearType.

~U Acessibilidade - O painel de controle de acessibilidade abriga opções que facilitam o uso do Gnome por portadores de deficiências, como Mouse Keys (a habilidade de um conjunto de teclas emular um mouse), Sticky Keys (considerar o pressionamento de teclas em seqüência como se tivessem sido pressionadas simultaneamente), Slow Keys (só aceitar uma tecla se ela for pressionada por um determinado período de tempo) e Bounce Keys (só aceitar uma nova tecla certo tempo após o pressionamento da anterior). Portadores de deficiência visual também podem contar com temas para a interface com cores em alto contraste e fontes grandes. Praticamente todos os programas já implementam atalhos de teclado (utilizando os recursos do GTK 2 mencionados anteriormente) facilitando o uso do sistema por portadores de deficiência motora, incapacitados de usar o mouse.

~U Novos painéis de controle - Seguindo o resultado dos estudos do Gnome Usability Project, os painéis de controle foram redesenhados, tornando-se mais "limpos" e fáceis de usar. Botões de ajuda estão disponíveis em todos eles, e não há mais um "Control Center" centralizado.

~U Nautilus - O gerenciador de arquivos e desktop padrão do Gnome sofreu várias modificações internas que lhe deram muito mais agilidade e estabilidade. Os Nautilus Scripts (na verdade Shell Scripts chamados pelo gerenciador de arquivos) também receberam algumas mudanças. Agora eles podem ter ícones próprios, e o Nautilus exporta algumas variáveis de ambiente que facilitam a vida dos desenvolvedores, como lista de arquivos selecionados, tamanho da janela, etc. Mas é a série 2.2 que traz as verdadeiras novidades:

~U Compactação: Mais fácil de usar, impossível. Selecione um grupo de arquivos, clique com o botão direito sobre um deles e selecione Add to Archive. Digite um nome para o arquivo (com a extensão) e pronto, um arquivo compactado é criado automaticamente. Os formatos suportados são zip, tar, tar.gz e tgz. Infelizmente não há suporte para o cada vez mais popular Bzip 2 (.bz2).

~U Gravação de CDs: Também ficou mais fácil gravar CDs, basta copiar os arquivos para a pasta burn:/// e clicar no botão Write to CD na barra de ferramentas do Nautilus. Você pode escolher o nome do disco e a velocidade de gravação, e até mesmo gravar em imagem ISO, em vez de em disco.

~U Preview de Fontes: Acesse fonts:/// (ou qualquer outra pasta que contenha as suas fontes) e dê um duplo clique em uma delas para ver uma amostra, além de informações sobre nome, tipo, estilo, etc...

~U nautilus-media: Um novo módulo que lhe permite fazer o preview de vídeos e ver, na janela de propriedades, informações detalhadas sobre vários outros tipos de arquivos multimídia, como MP3, OGG, imagens, etc.

~U Emblemas: Uma nova sidebar (barra lateral) facilita o acesso aos emblemas, mini-ícones que se sobrepõem ao ícone original do arquivo ou programa, e são usados para identificá-lo ou destacá-lo entre os outros itens da pasta. Não é mais necessário clicar com o botão direito, selecionar propriedades, clicar na aba emblemas, selecionar os emblemas que você quer e fechar a janela. Basta abrir a sidebar e arrastar o emblema até o ícone.

Na parte visual, os temas do Nautilus foram removidos em favor de um formato de tema mais genérico, definido em conjunto com o projeto FreeDesktop.org. Novos ícones representando os vários mimetypes (tipos de arquivo) foram desenhados pela dupla TigertT e Jimmac.

~U System Tray - Um espaço na barra de tarefas, que serve como "área de notificação", e que pode ser usado pelos aplicativos em execução para mostrar pequenos ícones indicando seu status atual. Um cliente ICQ pode, por exemplo, fazer um ícone aparecer neste espaço sempre que houver uma mensagem (versões recentes do Gnome ICU já tiram proveito deste recurso). O up2date, utilitário de atualização de sistema da Red Hat, mostra um ícone que muda conforme o estado do sistema. Quando há atualizações disponíveis, ele se torna um círculo vermelho, com um ponto de exclamação branco piscando em seu interior. Também no Red Hat, sempre que um aplicativo lhe pede a senha de root, um par de chaves aparece na System Tray. Isso indica que você está "autenticado" como root e não precisará redigitar a senha de root para outras tarefas até que o ícone desapareça (geralmente dois minutos após fechar o aplicativo). O mais interessante sobre a System Tray é que ela também foi implementada de acordo com as especificações do projeto FreeDesktop.org e está sendo adotada pelo KDE. Portanto, não importa se o aplicativo foi escrito em Qt ou GTK, se está rodando sob o KDE ou o Gnome, vai poder utilizar a System Tray do mesmo jeito.

~U Metacity - Escrito por Havoc Pennington como um "hack" rápido, até que o Sawfish fosse portado para o GTK 2, o Metacity acabou se tornando o gerenciador de janelas padrão no Gnome 2. Sua principal característica é a simplicidade, o que leva muitos a reclamarem da falta de opções com as quais já estavam acostumados no Sawfish, ainda disponível como opcional. Outro destaque é o suporte adequado a multi-head (vários monitores mostrando um único desktop) e sua agilidade.

~U Gnome Terminal - À primeira vista, nada mudou no emulador de terminal padrão do Gnome, pelo menos até você clicar no menu Arquivo e descobrir a opção Nova Aba. Isso mesmo, agora é possível abrir várias seções do terminal em uma única janela, cada uma em uma aba. Pode-se trocar de aba com Alt+Número (a primeira aba é 1, a segunda, 2 e assim por diante), ou alternar entre elas, uma de cada vez, com o atalho Control+Page Up e Control+Page Down. Para fechar uma aba, use o atalho Shift+Ctrl+W. É também é possível criar Profiles, cada um com seu próprio conjunto de fontes, cores e comportamento, e escolher o profile a ser utilizado na hora de abrir um novo terminal.

Onde conseguir?

Se você se interessou pelo Gnome 2, deve estar pensando: "Tá, e onde eu consigo essa maravilha?". Existem várias formas: Se você usa uma distro mais antiga, talvez valha mais a pena trocar toda a sua distribuição, devido à enorme quantidade de aplicativos e bibliotecas que teriam de ser atualizados junto com o Gnome. O Red Hat Linux 8.0 possui uma excelente implementação do Gnome 2. Os mais aventureiros podem preferir a versão 8.0.93, protótipo do que virá a ser o Red Hat 8.1, que já traz o Gnome 2.2.

Outra opção é procurar pacotes pré-compilados para sua distribuição. Usuários do Debian estão bem servidos, basta uma visita ao seu mirror APT mais próximo. O mesmo é verdade para os usuários do Gentoo Linux: basta um emerge gnome-desktop e algumas horas depois você já estará rodando o novo sistema. Já quem usa o Slackware Linux 8.1 pode instalar o Dropline Gnome, uma distribuição do Gnome especialmente compilada para esta distro, que inclui até mesmo um instalador próprio. Os usuários do Red Hat 8.0 tem a opção do LPT, Linux Para Todos, uma distribuição espanhola do Gnome 2.0.3 e vários aplicativos pré-compilada. Basta instalar o APT, adicionar os repositórios do projeto ao seu /etc/apt/sources.lst e instalar.

E se nenhuma das alternativas acima lhe agrada, que tal compilar seu próprio Gnome? Calma, você não vai precisar ficar se batendo para descobrir qual módulo do CVS baixar, ou em qual ordem compilar tudo. Basta usar um dos scripts de compilação automatizada, como o Garnome. Ele baixa, verifica a integridade, descompacta, compila e instala todo o ambiente Gnome e aplicativos extras automaticamente, bastando para isso instalar uma dúzia de dependências em sua máquina.

Mas se você não tem pressa, vale a pena esperar pela próxima versão do Ximian Gnome, da Ximian. A empresa ganhou boa reputação com suas excelentes distribuições do Gnome 1.2 e 1.4 e seus aplicativos para o ambiente, como o cliente de e-mail Evolution e a ferramenta para atualização de sistema Red Carpet. Se os rumores estiverem corretos, a nova versão deve estar disponível para download em meados de fevereiro de 2003.

Composição de Nilson César, baseado em original de Jakub "Jimmac" Steiner

O Gnome fala a sua língua

Gnome?

Seguindo a tradição do mundo Unix, Gnome na verdade é uma sigla, que significa Gnu Network Object Model Environment. Seu logotipo, o pé, foi desenhado por Tuomas Kuosmanen (TigerT), que na época era responsável pelos ícones do ambiente. A primeira versão era simplesmente o contorno de um pé, preenchido com um degradê. Contudo, este logotipo era muito similar ao utilizado por uma outra empresa, então um concurso para a escolha de um novo logo foi feito. Surpresa! Adivinhem quem ganhou? O próprio Tuomas, com o pé no formato da letra G que todos conhecem.

Macacos me mordam!

Todo projeto que se preza tem um mascote, e convenhamos, um pé não é lá grande coisa neste departamento. Embora não seja "oficial", o mais próximo de um mascote para o projeto Gnome é Rupert, um simpático macaco que é mascote da Ximian. Alias, a equipe da Ximian parece ter alguma fixação por macacos: eles estão presentes em seu logotipo (um macaco aranha correndo), em seu mascote e em nomes de projetos, como Mono (macaco, em espanhol) ou Bonobo (uma espécie de chimpanzé).

Temas com cores em alto e baixo contraste são alguns dos itens de acessibilidade para deficientes visuais

GOK: Gnome On-screen Keyboard

Além de embelezar o texto, o anti-aliasing facilita a leitura

O componente GTK TextView agora permite a formatação de seus textos com cores, fontes e imagens

Estes são alguns exemplos das possibilidades de personalização do GDM

Alguns dos novos ícones padrão, desenhados por TigerT e Jimmac

Não há mais desculpa para não usar os emblemas

Utilizando a System Tray, o up2date informa: há atualizações de sistema disponíveis

Que MP3 é este? O Nautilus sabe

Garnome, para quem prefere compilar seus próprios programas

Nunca mais se perca no meio de tantas fontes

Grave CDs direto do Nautilus

Para saber mais:
Análise do Red Hat 8.0.93: www.extremetech.com/article2/0,3973,805422,00.asp
Dropline Gnome: www.dropline.net/gnome/
Garnome: www.gnome.org/~jdub/garnome/
IBM Developer Works: makeashorterlink.com/?V21F53F03
Jimmac: jimmac.musichall.cz
Linux Para Todos: www.linuxparatodos.com/linux/lpt-desktop.php
System Tray Protocol Specification: makeashorterlink.com/?X13142013
TigerT: tigert.gimp.org
Ximian: www.ximian.com


Rafael Rigues - rigues@revistadolinux.com.br


A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux