Dois monitores no Linux

Quantos de nós já não nos deparamos com sistemas multihead e as vantagens que eles nos oferecem? Pois bem, montar um sistema como esse é relativamente fácil, até mesmo para usuários leigos/iniciantes no nosso Linux. Neste artigo eu vou mostrar algumas formas de se montar um sistema desse tipo.

[ Hits: 119.866 ]

Por: Ruy S. Krause em 20/04/2007


Visão geral



Um sistema multihead (multi-display, multimonitor) nos oferece várias vantagens, são algumas delas:

1. Organização - A sua área de trabalho pode ser organizada de uma forma melhor, como por exemplo, aplicações de edição em um monitor e o trabalho final em outro. Sem dúvida quem utiliza o Gimp vai adorar essa idéia.

2. Versatilidade - Você fica livre para remanejar as suas janelas entre os monitores e pode até mesmo ocupar os dois simultaneamente;

3. Economia de recursos - Ao contrário do que muitos pensam, a velocidade final do sistema não é alterada significativamente, pois não são geradas duas instâncias X, um único X gerencia os dois monitores como se fossem apenas um (com resolução horizontal dobrada).

Algumas imagens do meu:




Gostou? Então vamos prosseguir!

Pré-requisitos

Para que seja feita a configuração do segundo monitor, o interessado deverá possuir:
  • Uma segunda placa gráfica: No caso de desktop, preferencialmente use placas parecidas (em termos de velocidade e memória) para minimizar as diferenças entre os monitores;
  • Um segundo monitor (não é óbvio?): Não são necessários monitores idênticos, nem de mesma resolução, mas seria bem melhor;
  • Xinerama: Este é o principal, ele vai comandar os displays;
  • Conhecimento sobre o Xorg: Cada caso é um caso, e se o seu X se comportar mal, caberá a você descobrir o erro.

Ok? Tudo certo até aqui? Vamos prosseguir!

    Próxima página

Páginas do artigo
   1. Visão geral
   2. Configuração - MODO I
   3. Configuração - MODO II
   4. Finalizando
Outros artigos deste autor

Configurando placas wireless baseadas no chip Realtek RTL8180 no Linux

Leitura recomendada

Instalado Fedora-DS e integrando com Samba

Montando sua Web Rádio no Linux com DJ Automático

Instalando e configurando o Apache, PHP e MySQL no Slackware 10.1

Oracle-XE servidor com acesso ssh - Debian Lenny 5.0

Configurando uma conta do Yahoo no Evolution

  
Comentários
[1] Comentário enviado por fabio em 20/04/2007 - 09:38h

Isso sim é o que chamo de desktop! 2 monitores LCD, uau :)

[2] Comentário enviado por brevleq em 20/04/2007 - 14:35h

Isto também funciona para laptops?? Como neste caso o multihead só seria utilizado de vez em quando, o X saberia diferenciar cada caso?

[3] Comentário enviado por y2h4ck em 20/04/2007 - 14:51h

o SuSE Linux 10.0 funcionava muito bem o Xinerama no yaST2
quando atualizei para o SuSE 10.2 ele só consegue trabalhar em modo Clone,
o modo xinerama não funciona.

:(


[4] Comentário enviado por tenchi em 20/04/2007 - 18:17h

Concordo com o fabio: "UAAAAAU"!!

Já tentou usar o desktop 3d com esse recurso? Seria um recurso Rectangle?
Ou dois cubos? Fiquei comfuso .... ;-)

[5] Comentário enviado por tenchi em 20/04/2007 - 19:10h

Ah, só o maço de cigarros na mesa que não foi muito legal .... :-(
No mais, Linux na cabeça.

[6] Comentário enviado por Imigrante em 20/04/2007 - 23:53h

rskrause ,
Estou tendo problemas entre o Xinerama e o Beryl.
Vc saberia como resolver este?
Abraços...

[7] Comentário enviado por rskrause em 21/04/2007 - 22:52h

fabio:

Se não fossem de 15" ;)

brevleq:

Creio que não, pois vc precisaria de 2 cards distintas e 2 xorg.conf separados. Seria muito trabalhoso... Mas nada impede de ser criado um script para isso!

y2h4ck:

Tente recompilar as extensões xinerama, talvez o problema esteja aí!

tenchi:

Estou tentando, mas as duas placas entram em conflito com os drivers NVidia, ou ficam em 800x600 :(

Imigrante:

Dê mais detalhes sobre o seu problema ok?


[]s pessoal, Viva o Linux!

[8] Comentário enviado por Daniel Linux em 24/04/2007 - 09:49h

muito bom, excelente maneira de disponibilazar recursos. muito legal mesmo.

[9] Comentário enviado por Maximus77 em 26/04/2007 - 14:50h

Boa tarde, amigos! Eu sou Modelador e Animador em 3D no MAYA 8.5! Eu estou migrando para o Linux, com a distro Fedora Core 5, por causa da compatibilidade do MAYA. Bom, é o seguinte minha duvida, darei o máximo de detalhes:
Tenho dois Monitores de 21", um ViewSonic MB 110 e um APPLE Studio Display 21 CRT, sendo que possuo tambem duas placas de vídeo, uma AGP 8X INNO Geforce MMX 4000 128 MB e uma Nvidia Mx 200, PCI, 32 MB! No modo gráfico, eu já habilitei o display settings e escolhi a opção dual head! Lá, estão descritos de forma correta a nomenclatura de meu hardware e meus periféricos. Bom, só um de meus moniotres funcionou! Segui todas as intruções neste artigo e sinceramente, descobrir qual o log gerado, é muito complicado para mim! Vc podem me dar aquela força??
Obrigado e tenha um ótimo dia!
Marcelo

[10] Comentário enviado por rskrause em 28/04/2007 - 04:36h

Certo, quando eu falei em observar o log gerado, me referi ao erro quando vc reinicia o X, quando ele não consegue iniciar ele te larga um erro no console.

Mas me diga uma coisa, o monitor que não está funcionando recebe algum sinal? em outras palavras, ele fica desligado ou ele liga mas não mostra nada?

[11] Comentário enviado por Maximus77 em 01/05/2007 - 22:19h

O Monitor liga, mas não consigo extender a area de trabalho dele!

[12] Comentário enviado por rskrause em 07/05/2007 - 22:57h

Faz o seguinte, entra em contato via e-mail, facilita bastante!
Depois eu posto aqui a solução, pode ser útil prara os outros.

[]s

[13] Comentário enviado por jaca69 em 28/05/2007 - 19:15h

Realizei a configuração do segundo monitor no Debain 4.0, só ficou muito lento a parte grafica. Impossivel de trabalhar. Tens ideia do que pode ser?

Att

[email protected]

[14] Comentário enviado por rskrause em 31/05/2007 - 18:16h

jaca69, não era pra acontecer isso... Mas, tudo depende da configuração da máquina. Passe pra nós essa informação.
Fiz isso numa máquina com 256 de RAM e ambiente Gnome. Ficou perfeita a velocidade, não alterou em nada.

[]s

[15] Comentário enviado por jaca69 em 04/06/2007 - 18:24h

Meu micro é um P4 3.1 GHz com 512 MB.

Segue configuração xorg.conf:

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"

# path to defoma fonts
FontPath "/usr/share/fonts/X11/misc"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/share/fonts/X11/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/share/fonts/X11/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/share/fonts/X11/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/share/fonts/X11/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/share/fonts/X11/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/share/fonts/X11/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "bitmap"
Load "ddc"
Load "dri"
Load "extmod"
Load "xtrap"
Load "record"
Load "dbe"
Load "freetype"
Load "glx"
Load "int10"
Load "vbe"
Load "type1"
EndSection

Section "ServerFlags"
Option "Xinerama" "on"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "abnt2"
Option "XkbLayout" "br"
Option "XkbVariant" "abnt2"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ImPS/2"
Option "Emulate3Buttons" "true"
EndSection

Section "Monitor"
Identifier "Monitor1"
Option "DPMS"
EndSection

Section "Monitor"
Identifier "Monitor2"
Option "DPMS"
EndSection

Section "Device"
Identifier "Placa1"
Driver "via"
BusID "PCI:1:0:0"
EndSection

Section "Device"
Identifier "Placa2"
Driver "ati"
BusID "PCI:0:11:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Placa1"
Monitor "Monitor1"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Placa2"
Monitor "Monitor2"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1024x768" "800x600" "640x480"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOF "Screen0"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
Option "Xinerama" "on"
EndSection


Section "DRI"
Mode 0666
EndSection

[16] Comentário enviado por rskrause em 02/07/2007 - 16:53h

Parece que está tudo ok... desculpe a demora, tive problemas aqui e não pude entrar no VOL.

da uma olhada nos processos do seu usuário, talvez algum esteja consumindo muita memória. se achar algum suspeito poste aqui!

[]s

[17] Comentário enviado por removido em 22/11/2007 - 22:13h

Amigo,

Era o que eu estava procurando, excelente artigo.

Atenciosamente,

Slackmaster ([email protected])

http://dangercode.blogspot.com

[18] Comentário enviado por killerbean em 15/06/2008 - 12:08h

Humn, legal.
Testei ontem colocar dois monitores, na minha geforce 7300LE, que j[a tem duas entradas pra monitor...
Com o Ubunt 8.04, ele detectou outro monitor e foi s[o configurar posi;'ao que funcionou certinho.
Mto bom, varis `desktops duplos` e tals.
A unica pena eh o compiz n'ao funcionar....
se alguem souber, explica ae....
Ainda estou tentado ver se consigo algo....
=]

[19] Comentário enviado por killerbean em 15/06/2008 - 13:00h

olha só.. consequi \o/
buscando no forum do site do compiz, achei as configurações necessárias..
apenas disabilitei o xinerama e habilitei o twinview (isso com o nvidea-settings). depois apenas foi configurar o compiz novamente...
mto bom ^^

[20] Comentário enviado por ruscher em 16/04/2009 - 18:24h

Não estou conseguindo colocar 2 monitores alguem pode me ajudar???

Section "Files"
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

Section "Module"
Load "dri"
Load "glx"
Load "xtrap"
Load "extmod"
Load "record"
Load "dbe"
#Load "ddc"
#Load "int10"
#Load "vbe"
#Load "type1"
#Load "freetype"
EndSection

Section "InputDevice"
Identifier "Keyboard0"
Driver "kbd"
EndSection

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
Identifier "Monitor0"
#VendorName "Monitor Vendor"
#ModelName "Monitor Model"
EndSection

Section "Monitor"
Identifier "Monitor1"
#VendorName "Monitor Vendor"
#ModelName "Monitor Model"
EndSection

Section "Device"
Identifier "Card0"
Driver "sis"
Option "UseFBDev" "true"
#VendorName "Silicon Integrated Systems [SiS]"
#BoardName "630/730 PCI/AGP VGA Display Adapter"
#BusID "PCI:1:0:0"
EndSection

Section "Device"
Identifier "Card1"
#Identifier "Configured Video Device"
Driver "vesa"
Option "UseFBDev" "true"
#Driver "vesa"
#Driver "s3virge"
#Option "UseFBDev" "true"
#VendorName "S3 Inc."
#BoardName "86c325 [ViRGE]"
#BusID "PCI:0:15:0"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
#DefaultDepth 16
#SubSection "Display"
# Depth 16
# Modes "800x600"
#EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "Card1"
Monitor "Monitor1"
#DefaultDepth 16
#SubSection "Display"
# Depth 16
# Modes "800x600"
#EndSubSection
EndSection

Section "ServerLayout"
Identifier "X.org Configured"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Mouse0" "CorePointer"
InputDevice "Keyboard0" "CoreKeyboard"
EndSection

Section "ServerFlags"
Option "Xinerama" "1"
Option "AllowMouseOpenFail" "true"
EndSection

Section "Extensions"
Option "Composite" "Enable"
EndSection

Section "DRI"
Mode 0666
EndSection

[21] Comentário enviado por mizu em 22/10/2009 - 08:56h

Estou com um problema para configurar 2 monitores.

Distribuição: Red Hat 9

Um monitor é do tipo 4:3 e o outro 16:9, eles tem que trabalhar um sendo a extensão do outro.

O 4:3 está trabalhando com resolução 1024x768, já o wide está em 1366x768 (sim, estranho)

Enfim... antes de configurar o xorg manualmente, na seção "Screen" do monitor wide, a resolução definida no SubSection "Display" / Modes estava como 800x600 (pois antes do wide eu utilizava um 4:3).

Quando eu ligava a máquina, o monitor principal fica certinho, o wide dava problema e informava que a resolução não era suportada e pedia para alterar para 1366x768.

Quando eu fiz isso no Xorg, ele continou dando problema, mas quando funcionava, ficava uma faixa na direita e em baixo inutilizadas.

Alguém pode me ajudar? Segue configuração do Xorg.

# /etc/X11/xorg.conf (xorg X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the /etc/X11/xorg.conf manual page.
# (Type "man /etc/X11/xorg.conf" at the shell prompt.)
#
# This file is automatically updated on xserver-xorg package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xorg
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following command:
# sudo dpkg-reconfigure -phigh xserver-xorg

Section "Files"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/cyrillic"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
# path to defoma fonts
FontPath "/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType"
EndSection

Section "Module"
Load "i2c"
Load "dbe"
Load "bitmap"
Load "ddc"
Load "extmod"
Load "freetype"
Load "glx"
Load "int10"
Load "type1"
Load "vbe"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc104"
Option "XkbLayout" "us"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mice"
Option "Protocol" "ExplorerPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Driver "egalax"
Identifier "tkpanel"
Option "Device" "/dev/tkpanel0"
Option "Parameters" "/etc/egalax.cal"
Option "ScreenNo" "0"
EndSection


Section "Device"
Identifier "i855a"
Driver "i810"
BusID "0:2:0"
Option "Clone" "false"
Option "DRI" "True"
Option "CloneRefresh" "60"
Option "MonitorLayout" "CRT,LFP"
Screen 0
EndSection

Section "Device"
Identifier "i855b"
Driver "i810"
BusID "0:2:0"
Screen 1
EndSection

Section "Monitor"
Identifier "LCD"
VertRefresh 56-75
HorizSync 30-63
EndSection

Section "Monitor"
Identifier "CRT"
VertRefresh 56-75
HorizSync 30-63
EndSection


Section "Screen"
Identifier "Screen0"
Device "i855a"
Monitor "LCD"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1024x768"
EndSubSection
EndSection

Section "Screen"
Identifier "Screen1"
Device "i855b"
Monitor "LCD"
DefaultDepth 16
SubSection "Display"
Depth 16
Modes "1366x768"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Xinerama Layout"
Screen "Screen0"
Screen "Screen1" RightOf "Screen0"
InputDevice "Generic Keyboard"
InputDevice "tkpanel" "SendCoreEvents"
Option "Clone" "on"
EndSection

Section "ServerFlags"
Option "Xinerama" "true"
EndSection

Section "DRI"
Mode 0666
EndSection

[22] Comentário enviado por jllitvay em 25/10/2009 - 11:54h

Parabens pelo artigo.
Estou com um problema, pois o segundo monitor sem liga.
Na BIOS esta em Boot sequence AGP/PCI
Se deixo o PCI primeiro, só entra o segundo monitor.
Tem alguma dica?

[23] Comentário enviado por gpr.ppg.br em 18/02/2010 - 01:38h

estou tentando notebook + TV,
mas quase todos os programas só abrem no monitor.

como faço para abrir os programas na tv sem o xinerama?
existe algum comando para abrir no segundo monitor? ou tv?


[24] Comentário enviado por kholyphoenix1 em 06/02/2015 - 07:44h

Bom dia,

Isso funciona no Fedora também?

Obrigado!


Contribuir com comentário