Antigamente,
configurar múltiplos monitores ou mesmo ajustar manualmente a
configuração da tela exigia a edição manual do "/etc/X11/x11.conf", uma
tarefa ingrata, especialmente para novos usuários. Atualmente entretanto
as coisas são bem mais simples, já que o sistema é capaz de identificar
automaticamente a resolução nativa do monitor via DDC e a configuração é
automatizada por utilitários como o Gnome Control Center:
Além
de permitir ajustar a resolução, ele oferece também a opção de girar a
tela, aproveitando as bases rotativas encontradas em alguns monitores.
Usar dois ou três monitores wide acaba não sendo inteiramente
confortável, já que seu desktop fica muito largo, mas combinar um
monitor wide, com outro monitor instalado na vertical pode ser o ideal.
Esta opção é útil também em tablets e notebooks conversíveis.
Ele
suporta também a configuração de várias telas, permitindo clonar (como
faria no caso de um projetor) ou estender o desktop. Além da clássica
combinação de uma placa de vídeo dual-head ou de duas placas de vídeo e
dois monitores em um desktop, ele suporta também configurações menos
comuns, como o uso de três ou mais monitores, ou da combinação do LCD
com um monitor externo conectado em um notebook, fazendo um bom trabalho
ao detectar as telas e permitir que você ajuste as resoluções e
posições relativas de cada um:
Diferente
de modelos antigos, onde a saída VGA permitia apenas clonar a imagem do
LCD, a grande maioria dos notebooks atuais incluem controladores
independentes, que permitem usar a saída VGA para a conexão de um
segundo monitor. Isso permite que você use qualquer monitor com saída
VGA que tiver disponível como segundo monitor do notebook, sem precisar
de dock-station ou de um monitor USB. Como de praxe, também é possível
usar a saída HDMI ou Mini DisplayPort, que devem substituir
completamente as velhas saídas VGA ao longo dos próximos anos.
A
opção "Sticy Edges" cria uma leve resistência à passagem do mouse nas
bordas da tela, permitindo que você posicione janelas e clique em botões
próximos à borda da tela sem que o cursor do mouse passe
inadvertidamente para o outro monitor. Por outro lado ela torna o uso de
múltiplos monitores menos confortável, já que torna a circulação do
mouse entre as telas menos fluída. A maioria acaba preferindo deixá-la
desativada.
O
gnome-panel é capaz de configurar o vídeo em conjunto com uma grande
variedade de drivers, incluindo os drivers open-source para placas
nVidia e AMD. Entretanto, caso você opte por utilizar os drivers
proprietários da nVidia, a configuração deve ser feita através do
nvidia-setting incluído no pacote. Basta chamá-lo via terminal, como
root:
Para quem, apesar de toda a automatização prefere ajustar manualmente
a configuração do vídeo, o caminho deixou de ser o arquivo
/etc/X11/xorg.conf, que sequer está presente na grande maioria das
distribuições atuais. No lugar dele, passamos a usar o
xrandr e o
cvt, dois utilitários de linha de comando que listam as resoluções suportadas e permitem defini-las a partir do próprio console.
O primeiro passo é rodar o comando xrandr em um terminal. Ele retorna
a lista das interfaces disponíveis, incluindo detalhes sobre os
monitores e resoluções suportados por eles, como em:
Screen 0: minimum 320 x 200, current 2646 x 1024, maximum 8192 x 8192
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1366x768 60.0*+ 40.1
1360x768 59.8 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 connected 1280x1024+1366+0 (normal left inverted right x axis y axis) 338mm x 270mm
1280x1024 60.0*+ 75.0
1152x864 75.0
1024x768 75.1 75.0 60.0
832x624 74.6
800x600 75.0 60.3
640x480 75.0 60.0
720x400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
No meu caso estou usando um notebook que oferece uma saída VGA,
combinada com uma saída HDMI (o que em teoria me permitiria usar até
três telas, incluindo o LCD) e o barramento LVDS usado pelo LCD. Veja
que o chipset suporta também uma saída DisplayPort (DP1) que não veio
habilitada neste modelo.
No caso do "LVDS1" não existe o que configurar, já que ele já está
operando aos 1366x768 nativos, mas podemos mexer um pouco na
configuração do monitor plugado na porta "VGA1". Veja que ele suporta
várias resoluções, de 720x400 a 1280x1024, e em algumas resoluções você
tem opções de taxas de atualização, como no caso dos 1024x768, onde você
pode usar 75.1 Hz, 75.0 Hz ou 60.0 Hz. Em um antigo monitor CRT você
usaria sempre o maior refresh possível, mas em um monitor LCD isso não é
muito importante, já que de qualquer forma não existe flicker.
Identificado o monitor que você deseja configurar, o próximo passo é
gerar a configuração referente à resolução e taxa de atualização que
deseja usar, dentre as suportadas pelo monitor, o que é feito usando o
comando "cvt". O uso básico é chamá-lo especificando a resolução
horizontal, resolução vertical e a taxa de atualização desejadas. Para
usar 1024x768 com uma taxa de atualização de 60 Hz, por exemplo, o
comando seria:
$ cvt 1024 768 60.0
Isso devolverá uma linha de configuração, como esta a seguir:
Modeline "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
Com a linha de configuração em mãos, podemos ativar a configuração usando o xrandr, o que é feito em três passos.
O primeiro é executar o comando "xrandr --newmode", seguido pela
linha de configuração devolvida pelo cvt (excluindo o "Modeline"), como
em:
$ xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
Veja que neste caso, o "1024x768_60.00" é um nome para a configuração
(que usaremos no comando seguinte), enquanto o "63.50" detalha a
configuração relacionada a ele. Você pode alterar o nome entre aspas se
quiser, mas em geral deixamos como está, para deixar claro a qual
resolução e refresh esta configuração se refere.
O segundo é usar o "xrandr --addmode", incluindo a saída que será
configurada (VGA1 no exemplo) e o nome da configuração (a parte entre
aspas), como em:
$ xrandr --addmode VGA1 "1024x768_60.00"
O terceiro passo é ativar a configuração, usando o "xrandr --output",
seguido pela saída e o nome do modo, como especificado no comando
anterior:
Este comando ativa a configuração imediatamente, o que permite que
você já teste o resultado. Em casos em que você tem apenas um monitor e
acabou ativando uma configuração errada, que deixou a tela fora de
operação, basta chavear para um dos terminais de texto (Ctrl+Alt+F1) e
refazer a configuração, ou simplesmente reiniciar para que a
configuração anterior volte a ser usada.
Veja que estes mesmos passos podem ser usados para ajustar a
configuração de qualquer monitor plugado às saídas, desde o próprio LCD
do notebook (a saída LVDS1) até uma TV plugada na porta HDMI1.
Se quisesse usar 1366x768 com 60 Hz em uma HDTV plugada na saída HDMI1, por exemplo, os comandos seriam:
$ cvt 1366 768 60.0
Modeline "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
$ xrandr --newmode "1368x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
$ xrandr --addmode HDMI1 "1368x768_60.00"
$ xrandr --output HDMI1 --mode "1368x768_60.00"
Continuando, você pode usar o xrandr para definir qual será a tela
principal e definir se ela está à esquerda (left-of) ou à direita
(right-of) da segunda tela. Se a tela primária é a LVDS1 e ela está à
esquerda da VGA1 (a tela secundária), por exemplo, os comandos seriam:
$ xrandr --output LVDS1 --primary
$ xrandr --output LVDS1 --right-of VGA1
Para fazer com que a configuração do xrandr torne-se persistente, é
preciso adicionar os comandos em um script que seja executado usando seu
próprio login de usuário durante o boot. O local mais apropriado é o
arquivo ".xprofile" dentro do seu home, que é executado durante a
abertura do ambiente gráfico. Basta editá-lo usando um editor de texto
qualquer e adicionar toda a sequência de comandos do xrandr, como em:
xrandr --newmode "1024x768_60.00" 63.50 1024 1072 1176 1328 768 771 775 798 -hsync +vsync
xrandr --addmode VGA1 "1024x768_60.00"
xrandr --output VGA1 --mode "1024x768_60.00"
xrandr --output LVDS1 --primary
xrandr --output LVDS1 --right-of VGA1