Servidor X

Nesse post, vou falar sobre a configuração da interface gráfica. Yes, no Linux também temos interface gráfica!!! Hoje em dia, as distribuições trazem tudo praticamente pronto, reconhecendo a placa de vídeo, e instala até os efeitos 3D para placas que possuem suporte a essa tecnologia.

Mas, pode acontecer de instalar uma distribuição e a placa de vídeo não ser reconhecida. Ou então, instalar uma distribuição que é destinada a servidores e a parte gráfica também não ser instalada… ou ainda, podemos simplesmente querer saber como a interface gráfica é configurada no Linux.

No Linux e em sistemas *nix, o ambiente gráfico é chamdo de X Window System, ou simplesmente de X.

O X é um protocolo de rede e vídeo que permite trabalhar com sistema de janelas e interações através do teclado e mouse.

O protocolo do X foi criado em 1984 no MIT – uau, 25 anos e continua moderníssimo😀 . A versão 11 do protocolo, foi lançada em Setembro de 1987, e é usada até hoje; sendo assim, você também vai ouvir pessoas chamando o sistema de X11.

Atualmente, existem duas implementações para o X Window System: XFree86 e X.Org. Para quem configura, vê a diferença nos nomes dos arquivos de configuração e utilitários; ambos projetos são opensource, mas a diferença entre essas duas implementações, está principalmente na licença.

As distribuições atuais, trazem o X.org, e é sobre ele que vou falar aqui no post.

Um ambiente gráfico do X é dividido em uma estrutura servidor, gerenciador de janelas e cliente:

X Server – É o programa que controla a exibição dos gráficos na tela, mouse e teclado. Por ser o servidor, é possível abrir várias instâncias de interface gráfica numa mesma máquina ou então em uma máquina remota.

Gerenciador de Janelas – Faz a interface entre o servidor X e o usuário. Os gerenciadores de janela, ou Window Managers, fazem a decoração das janelas; por exemplo, eles colocam uma barra de título em cada programa executado no modo gráfico, ou ainda, permitir alternância entre janelas. Existem vários gerenciadores de janelas, sendo que os mais famosos são Gnome e KDE. Outros não tão populares, mas mesmo assim eficientes são: Enlightment, Blackbox, Window Maker (feito por um brasileiro!🙂 ) entre outros. Fica ao critério do usuário escolher qual gerenciador mais lhe agrada🙂 .

X Client –  É o programa que está sendo executado; pode ser o navegador, o player de música, etc.

O primeiro passo para configurar o X, é identificar os dispositivos relacionados à interface gráfica (vídeo, teclado e mouse). Para identificar o vídeo, usamos o comando lspci. Aqui, estou usando uma máquina virtual com o Debian Lenny… mas os procedimentos para configurar uma máquina física são os mesmos.

Verificando o dispositivo:

# lspci | grep -i vga
00:0f.0 VGA compatible controller: VMware SVGA II Adapter

O modelo da placa é VMware SVGA. Sabendo disso, vamos identificar o modelo de teclado e mouse. Existem 2 tipos básicos de teclados mais comuns aqui no Brasil: teclado com o ‘ç’ (ABNT2) e teclado internacional americano (US) – não tem o ‘ç’.
Já o mouse, os modelos mais comuns são: mouse serial (dispositivo /dev/ttyS0), PS/2 (dispositivo /dev/psaux) e USB (dispositivo /dev/input/mice).

Dispositivos identificados, o próximo passo é instalar os pacotes necessários para configuração do X, o xserver-xorg. Até a versão Sarge do Debian, o padrão para o X11 era o XFree86. A partir da versão Etch, o padrão passou a ser X.Org.

Para instalar:

# apt-get install xserver-xorg

Quando instalamos o pacote, é criado dentro do /etc o diretório X11, onde estão os arquivos para a configuração de interface gráfica. O principal arquivo de configuração é o xorg.conf. Esse arquivo é dividido em seções, que tem o seguinte formato:

Section  “SectionName”
SectionEntry

EndSection

A primeira seção que vou falar é a ‘ServerLayout‘. Aqui, temos as configurações gerais do servidor X tais como dispositivos de entrada e saída.

Section “ServerLayout”
Identifier     “X.org Configured”
Screen      0  “Screen0” 0 0
InputDevice    “Mouse0” “CorePointer”
InputDevice    “Keyboard0” “CoreKeyboard”
EndSection

A seção ‘Files‘ indica o caminho para localização das cores, módulos e fontes (encontradas no pacote xfonts-base) que o servidor gráfico irá utilizar:

Section “Files”
RgbPath      “/etc/X11/rgb”
ModulePath   “/usr/lib/xorg/modules”
FontPath     “/usr/share/fonts/X11/misc”
FontPath     “/usr/share/fonts/X11/cyrillic”
FontPath     “/usr/share/fonts/X11/100dpi/:unscaled”
FontPath     “/usr/share/fonts/X11/75dpi/:unscaled”
FontPath     “/usr/share/fonts/X11/Type1”
FontPath     “/usr/share/fonts/X11/100dpi”
FontPath     “/usr/share/fonts/X11/75dpi”
FontPath     “/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType”
EndSection

A seção ‘Module‘ indica os módulos que o servidor deve carregar:

Section “Module”
Load  “glx”
Load  “dri”
Load  “xtrap”
Load  “dbe”
Load  “GLcore”
Load  “record”
Load  “extmod”
EndSection

Seção InputDevice – dividida em duas partes: em uma configuramos o teclado (para modelo ABNT), e  na outra o mouse (para modelo USB):

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”
Option      “ZAxisMapping” “4 5 6 7”
EndSection

Acima, na seção InputDevice do mouse, temos a opção ‘ZAxisMapping‘. Essa opção controla o scroll do mouse quando disponível.

A seção ‘Monitor‘ configura a taxa de atualização vertical e a frequência horizontal do monitor. Essa configuração deve ser feita com cuidado, pois valores errados podem danificar o monitor. Se você não souber os valores, pode consultar o manual do monitor ou usar uma configuração genérica (que é o exemplo abaixo), que permite usar uma resolução até 1024×768 e 60 Hz de atualização:

Section “Monitor”
Identifier   “Monitor0”
VendorName   “Monitor Vendor”
ModelName    “Monitor Model”
HorizSync 31.5 – 50.0
VertRefresh 40-90
EndSection

Na seção ‘Device‘ informamos o driver utilizado pela placa de vídeo. As opções Identifier, VendorName e BoardName são apenas descrições; a parte importante é o driver utilizado, que no caso é vmware. Se fosse uma máquina física, por exemplo, na opção Driver, poderia constar ‘vesa‘, que é um driver genérico – não possui suporte a 3D, e pode ser usado na maioria das placas.

Section “Device”
Identifier  “Card0”
Driver      “vmware”
VendorName  “VMware Inc”
BoardName   “[VMware SVGA II] PCI Display Adapter”
BusID       “PCI:0:15:0”
EndSection

A última seção é a ‘Screen‘. Aqui, configuramos a resolução da tela e o número de cores utilizados:

Section “Screen”
Identifier “Screen0”
Device     “Card0”
Monitor    “Monitor0”
SubSection “Display”
Depth     24
Modes “1024×768” “800×600”
EndSubSection
EndSection

Acima, em ‘Subsection “Display”‘, na opção ‘Depth‘, informamos o número de cores; os valores podem ser 8, 16 ou 24. E na opção ‘Modes‘, informamos os valores da resolução; acima, defini 1024×768 como sendo o padrão… não sendo possível utilizar esse valor, a próxima resolução escolhida será 800×600; para saber exatamente a resolução do seu monitor, consulte o manual.

Após fazer as modificações, o próximo passo é testar se o servidor está OK. Podemos fazer um teste simples utilizando o comando X (sim, é maiúsculo!🙂 ). O X é um comando administrativo, usado para testar se a interface gráfica está configurada corretamente. Esse comando não irá mostrar um gerenciador de janelas (KDE ou Gnome), somente irá testar a resolução do monitor e o mouse:

# X

Se tudo estiver ok, irá aparecer uma tela cinza e um x, que é o mouse.

Nesse ponto, o X está configurado e instalado. O próximo passo, é instalar um gerenciador de janelas. Como falado anteriormente, existem vários gerenciadores; fica a cargo do usuário escolher a interface que mais lhe agrada – eu escolhi o gnome. Para instalar basta fazer:

# apt-get install gnome-session

Para acessar a interface gráfica, temos que instalar o pacote xinit, que possui o comando startx, que nada mais é do que um script que inicializa o servidor X com um gerenciador de janelas:

# startx

Se não ocorreu nenhum erro, será inicializada a interface gráfica instalada – no meu caso, inicializa o Gnome:

Meu Gnome

É isso aí. Nesse post fico por aqui… até a próxima🙂 !

Referências:

Editing basics for the xorg.conf file

Configurando o vídeo: /etc/X11/xorg.conf

0 Responses to “Servidor X”



  1. Deixe um comentário

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s




Follow Nix on WordPress.com
setembro 2009
S T Q Q S S D
« ago   out »
 123456
78910111213
14151617181920
21222324252627
282930  

Flickr Photos

Fast-flying Falcon

Mais fotos

%d blogueiros gostam disto: