Sistemas de Janelas em LINUXotton/graduacao/informaticaI/sisjanelaslnx.pdf · Atualmente estão em...

20
Universidade Federal Fluminense Pólo Universitário de Rio das Ostras Instituto de Computação Graduação em Ciência da Computação Trabalho de Informática I Sistemas de Janelas em LINUX Bruno Cordeiro Paes Julio Fontoura Gonçalves de Lima Kássio Maciel Kienitz Professor orientador: Otton Teixeira da Silveira Filho 23 de Maio de 2005 Números de página

Transcript of Sistemas de Janelas em LINUXotton/graduacao/informaticaI/sisjanelaslnx.pdf · Atualmente estão em...

Universidade Federal Fluminense

Pólo Universitário de Rio das Ostras

Instituto de Computação

Graduação em Ciência da Computação

Trabalho de Informática I

Sistemas de Janelas em LINUX

Bruno Cordeiro Paes

Julio Fontoura Gonçalves de Lima

Kássio Maciel Kienitz

Professor orientador:

Otton Teixeira da Silveira Filho

23 de Maio de 2005

Números de página

1. O Sistema de janelas X

o Histórico e visão geral

o Funcionamento

o Xfree e Xorg

2. Gerenciadores de Janelas

o KDE

o Gnome

o WindowMaker

o BlackBOX

o IceWM

o Xfce

o ALDE

o XPde

o AfterStep

o Enlightenment

Bibliografia

Pág. 3

Pág. 3

Pág. 4

Pág. 5

Pág. 7

Pág. 8

Pág. 8

Pág. 9

Pág. 10

Pág. 11

Pág. 13

Pág. 13

Pág. 14

Pág. 14

Pág. 15

Pág. 17

Números de página

1 - O sistema de janelas X

• História e uma visão geral

O conceito moderno da interface de apontar e clicar foi inventado pelo

Xerox em 1977 e popularizado pela versão de Apple Macintosh em 84, o X11 em

86 e o MSWindowns em 95.

A interface básica do Sistema X de janelas.

Ultimamente o Sistema X de Janelas vem sendo utilizado para prover o às

interfaces gráficas para o usuário em muitas plataformas inclusive o LINUX. Este

sistema é executado sobre o sistema operacional com arquitetura cliente-servidor

e conceitos importantes de multi-usuários, multi-máquina e acesso remoto.

Números de página

Desenvolvido no MIT (Massachussets Institute of Technology) nos anos

80, o sistema de janelas X foi à base para a aparição de todos os outros sistemas

de janelas da atualidade. Seus conceitos de janelas, ícones, botões, decorações

(bordas das janelas), como forma de controlar aplicações rodando em um sistema

transformou-se na metáfora mais empregada em toda a indústria, com o uso do

mouse substituindo o teclado na manipulação de propriedades e adicionando uma

idéia de terceira dimensão na visualização de processos.

O principal conceito desse ambiente é a estrutura de cliente-servidor, ou

seja, o X-Windows fornece um ambiente que não está vinculado a um único

sistema. Os aplicativos podem rodar em diferentes servidores e máquinas de uma

rede e aparecer em qualquer terminal ou estação da rede.

Essa é a grande diferença entre o Windows e X Windows. No Windows o

ambiente gráfico é vinculado ao terminal que ele está sendo rodado, já no X-

Windows isso não acontece, você pode rodar um numa máquina e exportar para

outra. O grande trunfo do X é a flexibilidade em sua interface.

Um servidor X por si só é bem simples, não tem fundo colorido nem visuais

gráficos modernos. Somente um gerenciador de janelas com botões de

funcionalidades simples.

Em virtude dessa capacidade de funcionar em rede, podemos fazer com

que uma estação execute o trabalho e mostre os resultados em outra. Você

poderia fazer com que o OpenOffice fosse aberto usando a estação do seu chefe,

mas a visualização do aplicativo será feita na sua máquina. Em resumo, deixa

'sua máquina livre e a estação do seu chefe faz o trabalho.

Números de página

•Funcionamento

O sistema X funciona com um modelo cliente-servidor, de forma

inteiramente independente do sistema operacional. O servidor controla

diretamente o display (vídeo) e dispositivos de entrada (teclado, mouse,

digitalizadores,...) em favor das aplicações, que são os clientes. Rigorosamente

falando, X é apenas a coleção de protocolos para determinar como será essa

comunicação entre os servidores e os clientes. Um servidor pode ser rodado

localmente, na mesma máquina onde está o programa (cliente), ou remotamente,

via vários protocolos de transporte, que na realidade não fazem parte do sistema

X. Somente o servidor precisa ser dependente do hardware, os clientes

(programas) não precisam ter conhecimento implícito ou explícito da arquitetura

que está sendo usada, mas somente dos protocolos, que são apresentados na

forma de uma API (Application Programming Interface) conhecida como Xlib. Para

manipular melhor o ambiente gráfico, teremos window managers (gerenciadores

de janelas), que são simplesmente clientes como um programa qualquer. Existem

inúmeras opções de window managers em Linux, como por exemplo, para citar

alguns mais populares: kde, gnome, afterstep, enlightenment, fvwm, blackbox,

vtwm, olvwm, fvwm95, icewm, wmx. Cada um destes apresenta uma distinta

forma de apresentar e tratar com os outros programas, para iconizar, esconder as

janelas indesejáveis formando "desktops virtuais", apresentar decorações como

barras com botões de controle, ou diversas metáforas de controle como drag-and-

drop.

O sistema de janelas X tem grande variedade de gerenciadores de janelas,

cada qual com características que os diferenciam dentre os demais. Para manter

compatibilidade das aplicações nestes diversos ambientes, existe uma

padronização descrita no documento ICCCM (Inter-Client Communications

Números de página

Conventios Manual). Sem os gerenciadores de janelas, as aplicações ficariam

sem decorações.

• Xfree x Xorg

Atualmente estão em uso no mundo Linux duas versões diferentes do X, o

Xfree e o Xorg. O Xfree o projeto mais antigo e tradicional, o grupo que

originalmente portou o X para o Linux e foi o principal mantenedor do projeto

desde então.

Com o passar o tempo, começaram a surgir críticas, principalmente

direcionadas à demora para incluir correções e atualizações nos drivers

existentes. Isto foi se agravando com o tempo, até que uma decisão dos

desenvolvedores em fazer uma pequena mudança na licença em vigor a partir do

Xfree 4.4 foi à gota d'água para que um consórcio formado por membros de várias

distribuições desenvolvedores descontentes com o modo de desenvolvimento

antigo se juntassem para criar um fork do Xfree, o X.org.

O X.org utilizou inicialmente a última versão de desenvolvimento da série

4.3 do Xfree, disponibilizada antes da mudança da licença. Desde então foram

incluídos muitas atualizações e correções, como novos drivers e vários recursos

cosméticos, como, por exemplo, suporte a janelas transparentes.

Inicialmente as diferenças eram pequenas, mas como o X.org tem o apoio

das principais distribuições e está sendo desenvolvido num ritmo muito mais

rápido, a tendência é que ele substitua inteiramente o Xfree num futuro próximo.

Números de página

2 - Gerenciadores de Janelas

Gerenciadores de janelas são programas que controlam como as janelas

devem ser apresentadas, a forma como os botões se posicionam, quais são suas

funções, o que pode acontecer dentro de uma janela e coisas do gênero.

Quando solicitamos um programa a um gerenciador de janelas no Linux, o

mesmo abre uma janela e coloca o programa dentro dela. Já que não precisamos

nos preocupar com especificações de janelas, visto que o XFree é o responsável

por essa tarefa, não precisamos ser grandes programadores para desenvolver

uma própria interface gráfica para Linux. Essa simplicidade oferecida pelo sistema

de código-fonte aberto do XFree foi responsável pelo surgimento de várias

interfaces gráficas para o sistema.

Ao contrário do Windows, no Linux podemos escolher a interface gráfica

que mais nos agrada em termos de beleza e facilidade de uso. Já existem cerca

de 20 gerenciadores de janelas para o Linux. Dentre os mais populares podemos

citar: Kde, Gnome, AfterStep, Enlightnment, WindowMaker, IceW, BlackBox,

Fvwm90.

Números de página

Alguns gerenciadores:

• KDE

The K Desktop Environment, ou simplesmente KDE por ser um sistema

completo e fácil de usar, é hoje, o principal ambiente gráfico da grande maioria

das distribuições linux. Sua interface lembra muito o Windows, com menus e

icones, totalmente customizável, podendo-se aplicar vários temas, deixando-o

com a sua cara com muita facilidade.

Seu navegador padrão é o Konqueror que é indicado como a cópia mais

fiel do Internet Explorer, copiando muitas vezes, até os mesmos bugs e

problemas, mas que não o tornam um mal navegador.

Possui ainda aplicativos de ótima qualidade como Kicq (cliente ICQ para

KDE), Kmail (ótimo programa de email, superando em várias funções o Outlook

do windows), o próprio Konqueror, entre outros.

Números de página

• Gnome

Gnome - Padrão em várias distribuições também, como Mandrake entre

outras, o Gnome tornou-se muito popular por sua agilidade e excelentes

programas padrões. Bem parecido com o KDE, ele também tem como base o uso

de uma barra de tarefas e ícones na área de trabalho, constando como poucas

das diferenças, o seu tamanho, a quantidade de programas, e por isso, a rapidez

ao ser executado.

Tem como Navegador padrão o Galeon, um ótimo navegador, que também

pode ser utilizado no KDE (e vice-versa), com poucos bugs é o navegador

preferido da maioria dos usuários Linux, lembra muito o Konqueror ou Internet

Explorer, porém é mais leve, e com menos problemas.

• WindowMaker

Outro sistema feito em linguagem C, que resulta em rapidez e qualidade.

Assim como o BlackBox, o sistema não se utiliza muito de ícones, mas fica a

Números de página

critério do usuário adicioná-los, com uma facilidade maior em relação à do

BlackBox. WindowMaker é um sistema criado e planejado por um brasileiro, que

realmente emplacou, e hoje já vem em pacotes de distribuições famosas como

Red Hat e Conectiva. É uma ótima alternativa se você procura um sistema rápido,

desde que não se importe muito com a estética. Por ser um sistema que visa

rapidez nos seus processamentos, o WindowMaker pode ser considerado,

digamos, feio, por algumas pessoas, mas nada que não possa ser melhorado com

a adição de ícones e um bom papel de parede.

Coloque no seu 486 e com certeza terá ótimos resultados. Ele vem com

poucos programas, e segue a mesma regra de qualquer outro ambiente gráfico:

se você possui os pacotes do KDE e do Gnome instalados em sua máquina, ele

conseguira rodar todos os aplicativos de tais ambientes, muitas vezes com mais

rapidez.

Números de página

• BlackBox ou FluxBox

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.

Números de página

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

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.

Números de página

A barra de tarefas do IceWM 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, 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.

Números de página

• Xfce

Outro gerenciador de janelas leve para sistemas UNIX-like, foi feito para ser

rápido e leve, e manter boa aparência e ser fácil de utilizar.Tem estrutura modular

e pode ser moldado pelo usuário para melhor se adaptar ao tipo de utilização.

A decoração e os temas suportam arquivos.PNG como base.O gerenciador

de arquivos é rápido e integrado com o browser de redes do samba.

• ALDE – Alternative Linux Desktop Enviroment

Foi desenvolvido como ambiente de usuário gráfico para Linux, inclui um

systema de janelas que roda no topo da estrutura de dispositivos do systema. Ele

incrementa poder gráfico aos sistemas Linux e contem uma estrutura C++/JAVA

Números de página

orientada ao objeto e facilmente extensiva, provendo várias ferramentas para

desenvolvimento de aplicações gráficas.

Números de página

• XPde

È um gerenciador de janelas para Xfree86, que tenta facilitar o utilização de

Linux por usuário de MSwindows XP. Ele não é uma emulação de Windows XP

simplesmente copia a interface ao nível de visualização.

• AfterStep

Gerenciador de janelas que emula a aparência do ambiente NeXTSETP,

facilitando a utilização do LINUX por usuários deste e somando outras

fermentas de trabalho.

Números de página

• Enlightenment

Gerenciador de janelas voltado para utilizações gráficas, é extremamente

configurável, tem como vantagem a utilização da maioria dos comandos

também via teclado.

Números de página

Tabela Comparativa entre os principais gerenciadores de janelas e o console em

relação à memória ram. Utilizando uma arquitetura de 32MB.

Números de página

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

Bibliografia:

http://www.guiadohardware.net/tutoriais/097/index6.php

http://www.guiadohardware.net/tutoriais/076/

http://pt.wikipedia.org/wiki/KDE

http://pt.wikipedia.org/wiki/GNOME

http://www.vivaolinux.com.br

http://br-linux.org

http://www.pcforum.com.br

http://www.kde.org

http://www.gnome.org

http://www.windowmaker.org

http://www.xpde.com

http://www.xfce.org

Números de página

http://www.afterstep.org

http://www.enlightenment.org

Números de página