O sistema X Window

Sumário

14.1. Configurando manualmente o X Window System
14.2. Instalando e configurando fontes
14.3. Para obter mais informações

O sistema X Window (X11) é o padrão de fato para interfaces gráficas de usuário no UNIX. O X é baseado em rede, permitindo que aplicativos iniciados em um host sejam exibidos em outro host conectado em qualquer tipo de rede (LAN ou Internet). Este capítulo descreve a configuração e otimização do ambiente do X Window System, e fornece informações de fundo sobre o uso das fontes no SUSE® Linux Enterprise Desktop.

Configurando manualmente o X Window System

Por padrão, o X Window System é configurado com a interface do SaX2, descrita na Seção “Setting Up Graphics Card and Monitor” (Capítulo 5, Setting Up Hardware Components with YaST, ↑Guia de Implantação). Alternativamente, pode ser configurado manualmente, editando seus arquivos de configuração.

[Warning]configurações defeituosas do X podem danificar seu hardware

Tenha cuidado ao configurar o sistema X Window. Nunca inicie o sistema X Window antes que a configuração esteja concluída. Um sistema mal configurado pode causar danos irreparáveis ao seu hardware (isso se aplica particularmente a monitores de freqüência fixa). Os autores deste manual e do SUSE Linux Enterprise Desktop não podem ser responsabilizados por nenhum dano resultante. Essas informações foram pesquisadas cuidadosamente, mas isso não garante que todos os métodos apresentados aqui estejam corretos e não danifiquem o seu hardware.

O comando sax2 cria o arquivo /etc/X11/xorg.conf. Esse é o arquivo de configuração principal do X Window System. A seguir estão todas as configurações referentes ao monitor, ao mouse e à placa de vídeo.

[Important]usando o X -configure

Use o X -configure para definir sua configuração do X se tentativas anteriores com o SaX2 do SUSE Linux Enterprise Desktop tiverem falhado. Se sua configuração envolve drivers proprietários apenas binários, o X -configure não funcionará.

As seções a seguir descrevem a estrutura do arquivo de configuração /etc/X11/xorg.conf. Ela consiste em várias seções, cada uma delas referente a um determinado aspecto da configuração. Cada seção se inicia com a palavra-chave Section <designation> e termina com EndSection. A convenção a seguir se aplica a todas as seções:

Section "designation"
  entry 1
  entry 2
  entry n
EndSection 

Os tipos de seção disponíveis estão listados na Tabela 14.1, “Seções em /etc/X11/xorg.conf”.

Tabela 14.1. Seções em /etc/X11/xorg.conf

Tipo

Significado

Arquivos

Os caminhos usados para as fontes e a tabela de cores RGB.

ServerFlags

Switches gerais para o comportamento do servidor.

Módulo

Uma lista de módulos que o servidor deve carregar

InputDevice

Dispositivos de entrada, como teclados e dispositivos de entrada especiais (touchpads, joysticks, etc.), são configurados nessa seção. Parâmetros importantes nessa seção são Driver e as opções que definem o Protocol e o Device. Você normalmente tem uma seção InputDevice por dispositivo conectado ao computador.

Monitor

O monitor usado. Elementos importantes dessa seção são o Identifier, mencionado posteriormente na definição de Screen, a taxa de atualização VertRefresh e os limites da freqüência de sincronização (HorizSync e VertRefresh). As configurações são fornecidas em MHz, kHz e Hz. Normalmente, o servidor recusa qualquer linha modelo que não corresponda à especificação do monitor. Isso evita que freqüências muito altas sejam enviadas ao monitor por acidente.

Modes

Os parâmetros de modeline para as resoluções de tela específicas. Esses parâmetros podem ser calculados pelo SaX2 com base nos valores fornecidos pelo usuário e, normalmente, não precisam ser mudados. Intervenha manualmente nesse ponto se, por exemplo, quiser conectar um monitor de freqüência fixa. Há detalhes sobre o significado dos valores numéricos individuais nos arquivos HOWTO, em /usr/share/doc/howto/en/html/XFree86-Video-Timings-HOWTO (disponíveis no pacote howtoenh). Para calcular os modos VESA manualmente, você pode usar a ferramenta cvt. Por exemplo, para calcular uma modeline para um monitor de 1680x1050 a 60 Hz, use o comando cvt 1680 1050 60.

Device

Uma placa de vídeo específica. Ela é referenciada por seu nome descritivo. As opções disponíveis nessa seção dependem muito do driver usado. Por exemplo, se você usa o driver i810, encontre mais informações sobre as opções disponíveis na página de manual man 4 i810.

Screen

Combina um Monitor e um Device para compor todas as configurações necessárias para o X.Org. Na subseção Display, especifique o tamanho da tela virtual (Virtual), o ViewPort e os Modes usados com essa tela.

Note que alguns drivers exigem que todas as configurações usadas estejam presentes na seção Display em algum lugar. Por exemplo, se você usa um laptop e deseja usar um monitor externo que seja maior do que o LCD interno, pode ser necessário adicionar uma resolução maior do que a suportada pelo LCD interno ao final da linha Modes.

ServerLayout

O layout de uma configuração single-thread ou multithread. Essa seção junta os dispositivos de entrada InputDevice e os dispositivos de exibição Screen.

DRI

Fornece informações para a Infra-estrutura de Renderização Direta (DRI).


Monitor, Device e Screen são explicados em mais detalhes. Mais informações sobre as outras seções podem ser encontradas nas páginas de manual de X.Org e xorg.conf.

Há várias seções Monitor e Device diferentes em xorg.conf. Mesmo várias seções Screen são possíveis. A seção ServerLayout determina qual dessas seções é usada.

Seção de tela

A seção de tela combina um monitor com uma seção de dispositivo e determina a resolução e a intensidade de cor usadas. Uma seção de tela pode ter a aparência do Exemplo 14.1, “Seção de tela do arquivo /etc/X11/xorg.conf”.

Exemplo 14.1. Seção de tela do arquivo /etc/X11/xorg.conf

Section "Screen"1
  DefaultDepth  162
  SubSection "Display"3
    Depth       164
    Modes       "1152x864" "1024x768" "800x600"5
    Virtual     1152x8646
  EndSubSection
  SubSection "Display"
    Depth       24
    Modes       "1280x1024"
  EndSubSection
  SubSection "Display"
    Depth       32
    Modes "640x480"
  EndSubSection
  SubSection "Display"
    Depth        8
    Modes       "1280x1024"
  EndSubSection
  Device        "Device[0]"
  Identifier    "Screen[0]"7
  Monitor       "Monitor[0]"
EndSection

1

Section determina o tipo de seção, neste caso, Screen.

2

DefaultDepth determina a profundidade de cores a ser usada por padrão, a menos que outra seja especificada explicitamente.

3

Para cada profundidade de cores, diferentes subseções Display são especificadas.

4

Depth determina a profundidade de cores a ser usada com esse conjunto de configurações de Display. Os valores possíveis são 8, 15, 16, 24 e 32, embora nem todos sejam suportados por todos os módulos do servidor X ou resoluções.

5

A seção Modes apresenta uma lista de possíveis resoluções de tela. O servidor X verifica essa lista da esquerda para a direita. Para cada resolução, o servidor X procura uma Modeline adequada na seção Modes. A Modeline depende da capacidade do monitor e da placa de vídeo. As configurações de Monitor determinam a Modeline resultante.

A primeira resolução encontrada é o Default mode. Com Ctrl+Alt++ (no teclado numérico), alterne para a resolução seguinte na lista à direita. Com Ctrl+Alt+ (no teclado numérico), alterne para a anterior. Isso permite a você variar a resolução enquanto o X está sendo executado.

6

A última linha da subseção Display com Depth 16 refere-se ao tamanho da tela virtual. O tamanho máximo possível de uma tela virtual depende da quantidade de memória instalada na placa de vídeo e da intensidade de cor desejada, não da resolução máxima do monitor. Se essa linha é omitida, a resolução virtual é apenas a resolução física. Como placas de vídeo modernas têm uma grande quantidade de memória de vídeo, você pode criar áreas de trabalho virtuais bem grandes. Porém, você talvez não possa mais usar a funcionalidade de 3D se preencher a maior parte da memória de vídeo com uma área de trabalho virtual. Por exemplo, se a placa tiver 16 MB de memória RAM de vídeo, a tela virtual poderá ter até 4096x4096 pixels de tamanho, com profundidade de cores de 8 bits. Porém, principalmente para placas aceleradas, não é recomendável usar toda a memória para a tela virtual, pois a memória da placa também é usada para vários caches de vídeo e fontes.

7

A linha Identifier (aqui Screen[0]) fornece a essa seção um nome definido com o qual ela pode ser referenciada com exclusividade na seguinte seção ServerLayout. As linhas Device e Monitor especificam a placa de vídeo e o monitor que pertencem a essa definição. Esses são links para as seções Device e Monitor com seus nomes correspondentes ou identificadores. Essas seções são abordadas em detalhes abaixo.

Seção do dispositivo

Uma seção de dispositivo descreve uma placa de vídeo específica. Você pode ter quantas entradas de dispositivo desejar em xorg.conf, desde que os nomes sejam diferenciados pela palavra-chave Identifier. Se você tiver mais de uma placa de vídeo instalada, as seções serão simplesmente numeradas em ordem. A primeira é chamada Device[0], a segunda Device[1] e assim por diante. O arquivo a seguir mostra um exemplo da seção Device de um computador com uma placa de vídeo PCI Matrox Millennium (conforme configurada pelo SaX2):

Section "Device"
  BoardName     "MGA2064W"
  BusID         "0:19:0"1
  Driver        "mga"2
  Identifier    "Device[0]"
  VendorName    "Matrox"
  Option        "sw_cursor"
EndSection

1

O BusID refere-se ao slot PCI ou AGP no qual a placa de vídeo está instalada. Isso corresponde ao ID exibido pelo comando lspci. O servidor X precisa de detalhes no formato decimal, mas o lspci os exibe no formato hexadecimal. O valor de BusID é detectado automaticamente pelo SaX2.

2

O valor de Driver é definido automaticamente pelo SaX2 e especifica qual o driver a ser usado para a sua placa de vídeo. Se a placa for Matrox Millennium, o módulo do driver será chamado mga. Em seguida, o servidor X pesquisa no ModulePath definido na seção Files no subdiretório drivers. Em uma instalação padrão, é o diretório /usr/lib/xorg/modules/drivers ou o /usr/lib64/xorg/modules/drivers para o diretório de sistemas operacionais de 64 bits. _drv.o será adicionado ao nome, por isso, no caso do driver mga, o arquivo de driver mga_drv.o será carregado.

O comportamento do servidor X ou do driver também pode ser influenciado por meio de opções adicionais. Um exemplo disso é a opção sw_cursor, definida na seção de dispositivo. Isso desativa o cursor do mouse do hardware e mostra o cursor do mouse usando o software. Dependendo do módulo do driver, há várias opções disponíveis (que podem ser encontradas nos arquivos de descrição dos módulos do driver no diretório /usr/share/doc/packages/nome_do_pacote ). Opções geralmente válidas também podem ser encontradas nas páginas de manual (man xorg.conf, man 4 <driver module> e man 4 chips).

Se a placa de vídeo tem vários conectores de vídeo, é possível configurar os diferentes dispositivos dessa placa como uma única tela. Use o SaX2 para configurar sua interface de vídeo dessa maneira.

Seção Monitor e Modes

Como as seções Device, as seções Monitor e Modes descrevem um monitor cada. O arquivo de configuração /etc/X11/xorg.conf pode conter quantas seções Monitor você desejar. Cada seção Monitor faz referência a uma seção Modes com a linha UseModes, se houver. Se não houver nenhuma seção Modes disponível para a seção Monitor, o servidor X calculará valores apropriados a partir dos valores de sincronização gerais. A seção de layout do servidor especifica qual seção Monitor é relevante.

Definições de monitor devem ser configuradas por usuários experientes. As modelines constituem uma parte importante das seções Monitor. Linhas modelo definem temporizações verticais para a respectiva resolução. As propriedades do monitor, especialmente as freqüências permitidas, estão armazenadas na seção Monitor. Modos VESA padrão podem ser gerados com o utilitário cvt. Para obter mais informações, leia a página de manual do cvt man cvt.

[Warning]

A menos que você tenha conhecimento aprofundado sobre as funções do monitor e da placa de vídeo, não mude as modelines, pois isso pode danificar gravemente o monitor.

As pessoas que tentam desenvolver suas próprias descrições de monitor devem estar familiarizadas com a documentação em /usr/share/X11/doc. Instale o pacote xorg-x11-doc para encontrar PDFs e páginas em HTML.

A especificação manual de linhas modelo raramente é exigida atualmente. Se você está usando um monitor multisync moderno, as freqüências permitidas e as resoluções ideais podem, como regra, ser lidas diretamente do monitor pelo servidor X via DDC, como descrito na seção de configuração do SaX2. Se isso não for possível por algum motivo, use um dos modos VESA incluídos no servidor X. Isso funcionará com a maioria das combinações de monitor e placa de vídeo.