|
| |
Hardware
XFree 4: um é pouco, dois é bom!
Aprenda a configurar o servidor de
interface gráfica XFree 4 para usar
dois ou mais monitores em seu Linux
Usar mais de um monitor não é novidade,
o que já era feito em workstations HP, Macintosh e até no PC, através de
softwares comerciais, como o MetroX. O suporte a múltiplos monitores pelo
Windows 98 ajudou a popularizar o recurso. E apesar de ainda ser uma parte
relativamente cara de um computador, é possível adquirir um segundo monitor
de 14" por um preço razoável, ou mesmo tirar a poeira daquele monitor
velho que estava encostado.
O XFree 4 suporta o uso de múltiplas
placas de vídeo, um recurso que pode ser usado de dois modos: normal e
Xinerama. No modo normal, o XFree trata os dois mo-nitores como displays
independentes, podendo ter resoluções diferentes e até mesmo executar
window managers diferentes. Já no modo Xinerama, o XFree usa os múltiplos
monitores como se fossem um só, com o tamanho total igual à soma das
resoluções dos monitores. Por exemplo: dois monitores com resolução 800x600
lado a lado seriam tratados como um monitor de 1600x600. E é possível
arrastar janelas de um monitor para outro.
Pré-requisitos
Antes de instalar o XFree 4 é
necessário verificar se as placas de vídeo a serem usadas são suportadas
pelo XFree e se são capazes de trabalhar no modo multihead. Algumas placas
como, por exemplo, alguns modelos da marca Trident, funcionam
precariamente, ou não funcionam de modo algum, quando utilizadas em
conjunto. É possível misturar placas AGP e PCI sem problemas. Verifique em
www.xfree86.org/4.0/Status.html se as suas placas são suportadas.
Configurando o XFree 4
O programa xf86cfg permite configurar o
XFree 4 facilmente, mediante a utilização de telas gráficas. Mas se o
xf86cfg não fizer parte do pacote de sua distribuição, o próprio XFree
coloca à sua disposição um modo prático de configurá-lo. Como root, execute
o comando:
# XFree86 -configure
Ao fazer isto, o XFree vai procurar as
placas de vídeo em seu sistema e escrever o arquivo XF86Config.new
em /root. Basta então fazer pequenas alterações neste arquivo e,
finalmente, movê-lo para /etc/X11/XF86Config.
Alterando o XF86Config
O arquivo de configuração do novo XFree
segue uma organização um pouco diferente da versão anterior. Vamos, a
seguir, descrever as principais seções do arquivo de configuração,
apontando as alterações que devem ser efetuadas pelo leitor.
A primeira seção do arquivo de
configuração é a seção ServerLayout, e é a seção de mais “alto nível” que
descreve como as diversas partes devem interagir. Segue exemplo:
Section “ServerLayout”
Identifier “XFree86 Configured”
Screen 0 “Screen1” 0 0
Screen 1 “Screen0” RightOf “Screen1”
InputDevice “Mouse0” “CorePointer”
InputDevice “Keyboard0” “CoreKeyboard”
Option “Xinerama”
EndSection
Listagem 1
O identificador Screen é o conjunto de
uma placa de vídeo mais um monitor e será descrito em detalhes na
seqüência. O importante aqui é que o XFree não conhece a disposição física
de seus monitores, logo, é possível ao leitor alterar a linha de acordo com
o seu próprio sistema:
Screen 1 “Screen0” RightOf “Screen1”
As opções de posição relativa entre
duas screens podem ser: RightOf (o monitor 0 está à direita do
monitor 1), LeftOf (esquerda), AboveOf (acima), BelowOf
(abaixo), ou ainda Absolute x y ou Relative x y, onde x e y
são coordenadas relativas ao canto superior esquerdo da tela.
Normalmente as opções relativas ao
mouse e ao teclado não precisam ser alteradas aqui. A opção “Xinerama” não
é habilitada por padrão e, se o leitor quiser usá-la, será necessário
adicioná-la como na listagem 1.
A seção Files contém os
caminhos onde o XFree deve procurar por módulos e por fontes. Por padrão, o
comando Xfree86 -configure a deixa vazia, e o leitor poderá
acrescentar os caminhos de acordo com o seu sistema (uma boa idéia é dar
uma olhada no arquivo de configuração da versão anterior, o qual você deve
ter salvado como foi sugerido). Exemplo:
Section “Files”
FontPath
“/usr/X11R6/lib/X11/fonts/local/”
FontPath
“/usr/X11R6/lib/X11/fonts/Type1/”
EndSection
Você também pode acrescentar entradas
RGBPath “path” e ModulePath “path”, embora o XFree use alguns
caminhos padrões quando elas não estão presentes.
A seção Modules é responsável pela
carga de alguns módulos utilizados pelo XFree. Novamente, o padrão é
suficiente, mas talvez algum leitor queira, por exemplo, acrescentar o
módulo “type1” capaz de utilizar fontes do tipo 1. Para isto, basta
acrescentar um:
Load “type1”
As duas seções InputDevice são
responsáveis pela configuração do teclado e do mouse. Note que a
configuração de mapa de teclado fica em outro arquivo (/lib/X11/xkb/X0-config.keyboard).
Segue um exemplo dessas seções:
Section “InputDevice”
Identifier “Keyboard0”
Driver “keyboard”
EndSection
Section “InputDevice”
Identifier “Mouse0”
Driver “mouse”
Option “Protocol” “auto”
Option “Device” “/dev/mouse”
EndSection
Talvez seja necessário apenas alterar
as configurações relativas ao seu mouse, caso o XFree não tenha conseguido
detectá-las adequadamente (novamente, olhe as configurações do arquivo
XF86Config antigo).
A seção Monitor exige algum cuidado,
pois o XFree não detecta automaticamente a freqüência horizontal nem a taxa
de refresh dos seus monitores e você terá de fazer isso manualmente.
Consulte o manual do seu monitor ou o arquivo antigo de configuração para
obter esses valores. No exemplo a seguir estamos usando um monitor Samsung
SyncMaster 3:
Section “Monitor”
Identifier “Monitor0”
VendorName “Sansungr”
ModelName “3”
HorizSync 31.5 - 38
VertRefresh 50.0 - 90.0
EndSection
Você precisará fazer isso para cada
monitor em seu sistema. A seção seguinte é a Device, e é nela que
estão as configurações de sua placa de vídeo. Normalmente o XFree faz um
bom trabalho detectando as placas. Esta é uma das placas usadas em nosso
sistema:
Section “Device”
Identifier “Card0”
Driver “s3virge”
VendorName “S3”
BoardName “ViRGE”
BusID “PCI:0:9:0”
EndSection
O XFree faz um probe da placa ao
inicializar, mas se o leitor quiser ter certeza de que está encontrando a
quantidade correta de memória de vídeo, pode acrescentar a seguinte entrada:
VideoRam xxx
Onde xxx é a quantidade de memória em
kbytes (1024, 2048, etc.).
A seção Screen é uma das mais
importantes, pois é nela que o XFree “conecta” uma placa de vídeo a um
monitor e define qual a resolução em que esse monitor deve operar. Esta é
mais uma seção onde o “XFree86 - configure” não detecta muita coisa,
exigindo, portanto, a intervenção do usuário. O XFree criará tantas seções
destas quantos forem os seus pares monitor/placa de vídeo.
Na listagem 2 o conjunto “Screen0”,
usado na seção ServerLayout, é formado pela placa “Card0” e o
“Monitor0” (os nomes são os padrões dados pelo XFree, e o usuário pode
alterá-los - só não esqueça de alterar em todos os lugares onde ele
aparece!). A “profundidade” de cores padrão neste exemplo é de 16 bits (65
mil cores) e foi definida pela entrada DefaultDepth. E para cada
profundidade de cores que pretenda usar, o usuário pode entrar com as
resoluções pretendidas (“1024x768”, “800x600”, etc.). Aqui é possível usar
modelines completos, mas, em geral, não é necessário, pois o XFree conhece
todos os modelines da especificação VESA.
Section “Screen”
Identifier “Screen0”
Device “Card0”
Monitor “Monitor0”
DefaultDepth 16
SubSection “Display”
Depth 1
EndSubSection
...
SubSection “Display”
Depth 16
Modes “1024x768”
EndSubSection
EndSection
Listagem 2
Feitas todas estas alterações, é hora
de testar! Isto pode ser feito com o comando:
# XFree86 -xf86config
/Root/XF86Config.new
Se funcionar, o usuário poderá mo-ver
o arquivo para /etc/X11/XF86Config.
Ajustes Finais
Se o usuário estiver utilizando um
número par de monitores (geralmente dois) e ativar o recurso Xinerama, vai
perceber que a tela de login vai estar situada de maneira incômoda entre os
dois monitores (isto é, metade num monitor, metade no outro).
Infelizmente, não é possível mudar isso no KDM, mas no XDM, é. Acrescente
uma entrada xlogin.Login.x xxx (onde xxx é um número em pixels) ao arquivo
/etc/X11/xdm/Xresources.
Tudo funcionando, é hora de
impressionar os amigos, arrastando janelas de um monitor para outro. Com o
tempo, o leitor descobrirá novas maneiras de trabalhar com dois ou mais
monitores.
O Xinerama no dia a dia
Everaldo Coelho é ilustrador da RdL.
Seu equipamento consiste de uma placa Matrox g450 com dual head e dois
monitores syncmaster 900ift. O uso de dois monitores lhe permite aumentar
sua área de visão, usando o GIMP num monitor e o CorelDraw no outro. Outra
forma, é colocar os aplicativos de comunicação (e-mail, navegador, icq)
num monitor e os aplicativos gráficos no outro. E avisa: “o Gnome é mais
inteligente que o KDE quando maximiza janelas no Xinerama”.
| | |
|
|
|
|