Depois de muito me matar tentando colocar meu notebook para funcionar com um monitor externo (como extensão do desktop, não como clone; também conhecido como Dual Head), acabei chegando a uma solução muito simples. Segue a solução, para quem sabe servir a alguém mais.
O processo foi realizado no Kubuntu 7.10, mas deve funcionar em outros sistemas (o guia que eu tomei como base era para o Debian; clique aqui para lê-lo).
- Hardware usado
- Como fazer?
- O que mais dá para fazer?
- Mas tem que ficar executando os comandos toda hora?
- Esse negócio de dois monitores não é frescura?
Hardware usado
O hardware usado:
- Notebook com placa de video Intel 915GM
- Um velho monitor LG de 15" de tubo
Como fazer?
- Faça um backup do arquivo de configuração do Xorg (/etc/X11/xorg.conf). Assim, se algo der errado, terá para onde voltar.
- Se você tem dois monitores lado a lado, digamos, com 1024 pixels de largura em cada, você terá um total de 2048 pixels de largura, e normalmente o X não permite uma coisa dessas. Altere o arquivo xorg.conf adicionando a opção
Virtual LARGURA ALTURA
(onde LARGURA e ALTURA são as dimensões em pixels do seu desktop virtual) na subseçãoDisplay
, como no exemplo:
Section "Screen" Identifier "Default Screen" Device "Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller" Monitor "Generic Monitor" DefaultDepth 24 SubSection "Display" Modes "1024x768" Virtual 2560 1024 EndSubSection EndSection
- Conecte o cabo do monitor na saída VGA do notebook e reinicie o X (Ctrl+Alt+Backspace faz o serviço).
- A tela de login deve aparecer com a imagem duplicada na tela do notebook e no monitor, e possivelmente com a resolução errada. Isso é normal, efetue o login.
- Abra um terminal e execute o comando
xrandr -q
. Você deve ver informações sobre os monitores, como a seguir:
$ xrandr -q Screen 0: minimum 320 x 200, current 2304 x 800, maximum 2560 x 1024 VGA connected 1024x768+1280+0 (normal left inverted right) 270mm x 195mm 1024x768 60.0*+ 59.9 832x624 74.6 800x600 84.9 72.2 75.0 60.3 59.9 56.2 640x480 85.0 84.6 75.0 72.8 66.7 60.0 720x405 69.6 720x400 70.1 LVDS connected 1280x800+0+0 (normal left inverted right) 304mm x 190mm 1024x768 60.0 + 1280x800 59.9*+ 60.0 59.9* 1280x768 60.0 800x600 60.3 640x480 59.9 TV disconnected (normal left inverted right)
- É agora que vamos ajeitar as coisas. Abra um terminal e execute os comandos:
$ xrandr --output LVDS --mode 1280x800
Ajusta a resolução da tela do notebook. Substitua 1280x800 resolução correta
$ xrandr --output VGA --right-of LVDS
Posiciona o monitor à direita da tela principal. --right-of pode ser substituído por --left-of, --above ou --below.
$ xrandr --output VGA --mode 1024x768 --rate 75
Ajusta a resolução do monitor externo. Note que nesse caso, o refresh rate também é ajustado para 75Hz.
- Os passos tendo dado certo, você pode criar um script e criar um atalho, ou configurá-lo para ser executado na inicialização do ambiente gráfico (usuários de KDE, salvem o script no diretório ~/.kde/Autostart). Não esqueça de dar permissões de execução ao script (
chmod +x SCRIPT
).
O que mais dá para fazer?
Além de estender o desktop a mais de um monitor, dá para fazer outras brincadeiras, como inverter ou rotacionar uma das telas, muito útil para quem tem daqueles monitores que podem ser postos na vertical. Veja o manual do xrandr, opção --rotate.
Não sei se é possível trocar o monitor conectado e reconfigurar tudo com o X rodando, mas acredito que não seja possível ainda com a versão do X do Ubuntu 7.10. Talvez isso até já seja possível, mas acredito mais que isso venha a ser possível num futuro próximo (ou até mesmo na versão atual).
Mas tem que ficar executando os comandos toda hora?
Existem tutoriais na internet ensinando como configurar o recurso de dual-head alterando o xorg.conf, e então a configuração fica fixa. Já vi funcionar dessa forma, é verdade. Mas as configurações são meio obscuras, e além de tudo, não consegui fazer funcionar com esse monitor, mesmo seguindo os mesmos passos do outro que funcionou.
Essa configuração com o xrandr, além de ter funcionado comigo de forma simples, ainda tem o benefício de poder alterar as configurações (posição das telas, resolução, refresh rate) em tempo real, sem ter que alterar o arquivo e reiniciar o X (fica mais parecido com a forma que o Windows lida com vários monitores sim, isso é uma boa coisa).
Além do mais, criar um script, como já falei, facilita a vida. Imagine que se você usa em monitores diferentes, ou sem monitor externo, pode ter um script para cada ocasião.
Esse negócio de dois monitores não é frescura?
Não. Pode parecer bobeira, que só é bonitinho de ver funcionar, mas no faz mágica para aumentar sua produtividade. Se tiver condições de ter, experimente. Mas já te adianto que vicia...