1 - O sistema de janelas X

Propaganda
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
Pág. 3
o Histórico e visão geral
Pág. 3
o Funcionamento
Pág. 4
o Xfree e Xorg
Pág. 5
2. Gerenciadores de Janelas
Pág. 7
Pág. 8
o KDE
Pág. 8
o Gnome
o WindowMaker
o BlackBOX
Pág. 9
Pág. 10
Pág. 11
o IceWM
Pág. 13
o Xfce
Pág. 13
o ALDE
Pág. 14
o XPde
Pág. 14
Pág. 15
o AfterStep
o
Enlightenment
Pág. 17
Bibliografia
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 XWindows 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-anddrop.
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.
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
Números de página
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
Download