Eu tenho um laptop (~ HP compaq nc6400 de 5 anos executando o Fedora Linux) que uso na maioria das vezes como máquina de desktop. Ele está conectado a uma estação de acoplamento com a tampa fechada e conectada através dela por um cabo DVI a um grande display LCD externo.
Por várias razões (o greeter de login aparece no visor fechado, a placa de vídeo limitada não pode executar 3D nos dois monitores de uma só vez) Gostaria de impedir que o painel integrado do laptop seja usado pelo X. Enquanto estiver encaixado e em minha mesa (que é como o uso cerca de 97% das vezes), eu gostaria que ele simplesmente não usasse o painel de laptop integrado. A inicialização não é um problema específico, pois, por padrão, tudo é espelhado entre os dois monitores. Além disso, não me importo com uma solução 'manual', de modo que preciso desfazer as configurações nessas raras ocasiões em que estou usando o laptop longe da minha mesa.
Uma vez logado, posso configurar o Gnome para que ele use apenas o monitor externo e o painel do laptop seja marcado como "desligado"; no entanto, isso não afeta o estado inicial configurado automaticamente do X e a tela de pré-login. Surpreendentemente, o laptop não parece ter um sensor de tampa, portanto, abrir ou fechar a tampa não parece acionar nenhum evento. Posso usar xrandr -display :0 --output LVDS1 --off --output DVI1 --auto
um VC separado antes do login, mas isso ocorre depois que o X foi iniciado e descoberto e decidiu usar os dois monitores.
Tentei configurar o Xorg criando um arquivo /etc/X11/xorg.conf.d/01-turn-off-laptop-display.conf
que contém:
Section "Monitor"
Identifier "laptop panel"
Option "Monitor-LVDS1" "laptop panel"
Option "Enable" "no"
EndSection
Section "Monitor"
Identifier "big display"
Option "Monitor-DVI1" "big display"
EndSection
Section "Screen"
Identifier "main"
Device "Default"
Monitor "big display"
EndSection
No entanto, isso não teve um efeito útil. A placa de vídeo é Intel 945GM:
[dan@khorium ~]$ sudo lspci -v -s 0:2
00:02.0 VGA compatible controller: Intel Corporation Mobile 945GM/GMS, 943/940GML Express Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])
Subsystem: Hewlett-Packard Company Device 30ad
Flags: bus master, fast devsel, latency 0, IRQ 16
Memory at f4600000 (32-bit, non-prefetchable) [size=512K]
I/O ports at 4000 [size=8]
Memory at e0000000 (32-bit, prefetchable) [size=256M]
Memory at f4680000 (32-bit, non-prefetchable) [size=256K]
Expansion ROM at <unassigned> [disabled]
Capabilities: [90] MSI: Enable- Count=1/1 Maskable- 64bit-
Capabilities: [d0] Power Management version 2
Kernel driver in use: i915
Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 945GM/GMS/GME, 943/940GML Express Integrated Graphics Controller (rev 03)
Subsystem: Hewlett-Packard Company Device 30ad
Flags: bus master, fast devsel, latency 0
Memory at f4700000 (32-bit, non-prefetchable) [size=512K]
Capabilities: [d0] Power Management version 2
A máquina está executando várias versões do Fedora Linux (x86_64) desde a versão 10/11. Atualmente, estou tentando o Fedora 15 beta (que inclui o Gnome 3), mas o problema já existia nas versões anteriores do sistema operacional.
Respostas:
Consegui alcançar o objetivo desejado com o seguinte xorg.conf:
o elemento crítico sendo
Option "Ignore" "true"
. Talvez eu possa simplificar ainda mais isso, mas funciona. Ainda não sei o que acontecerá quando / se eu usar o laptop longe da tela externa, possivelmente o X sairá com um erro - não é uma solução perfeita, mas posso mudar a configuração nesse caso.fonte
Eu sugeriria uma abordagem um pouco diferente que pode ser mais flexível nas raras ocasiões em que você deseja usar o laptop como laptop.
Dependendo do seu gerenciador de exibição (provavelmente GDM, KDM ou LightDM), você pode executar um script enquanto o gerenciador de exibição é iniciado. Você não precisará de um arquivo xorg.conf modificado. a localização do script é a seguinte (1):
O script pode ser algo como isto. Você precisará substituir os nomes dos monitores pelos adequados para sua máquina. Eu tentei adivinhar com base no seu xorg.conf acima.
Isso testará se o seu monitor DVI está conectado e se está ativado, em vez do monitor embutido. Eu tenho uma versão muito mais complicada disso, que faz com que meu laptop encaixe bem no trabalho, mas ainda assim seja adequado para uso em outros lugares. É mais complicado para mim porque estou usando 5 telas no trabalho.
(1) algumas informações de localização de arquivos em http://forum.xfce.org/viewtopic.php?pid=25026#p25026
fonte
versão ligeiramente modificada do xorg.conf do post anterior
parece funcionar para o chip intel NM10. A caixa tem vga para a "tela grande"
fonte
Se você usar
Option "ignore" "true"
em/etc/X11/xorg.conf
seguida, você não será capaz de usar essa saída comxrandr
(ou ferramentas, dependendo) em tudo. Usando esta configuração, acabei de desativar minha saída HDMI:Observe que todas as linhas de configuração são necessárias para ativar o DVI-D (em resolução máxima) e desativar o HDMI.
Para encontrar suas saídas, execute
xrandr -q
e se adapte deOption "Monitor-...
acordo. As seções relevantes da página de manual são:fonte