Mam laptopa (około 5-letni HP Compaq nc6400 z Fedorą Linux), którego używam przez większość czasu jako komputer stacjonarny. Jest podłączony do stacji dokującej z zamkniętą pokrywą i przez to podłączony kablem DVI do dużego zewnętrznego wyświetlacza LCD.
Z różnych powodów (na zamkniętym ekranie pojawia się komunikat logowania, ograniczona karta graficzna nie może wykonywać 3D na obu monitorach jednocześnie) Chciałbym w ogóle nie używać zintegrowanego panelu wyświetlacza laptopa. Podczas zadokowania i na biurku (w ten sposób używam go w około 97% przypadków) chciałbym, aby po prostu nie korzystał ze zintegrowanego panelu laptopa. Ładowanie systemu nie jest szczególnym problemem, ponieważ domyślnie wszystko jest dublowane między dwoma wyświetlaczami. Poza tym nie przeszkadza mi „ręczne” rozwiązanie, takie, że muszę cofać ustawienia w tych rzadkich przypadkach, gdy używam laptopa z dala od biurka.
Po zalogowaniu mogę skonfigurować Gnome, aby korzystał tylko z zewnętrznego monitora, a panel laptopa jest oznaczony jako „wyłączony”, jednak nie ma to wpływu na początkowy automatyczny stan X i wyświetlanie powitania przed zalogowaniem. Zaskakujące wydaje się, że laptop nie ma czujnika pokrywy, więc otwieranie lub zamykanie pokrywy nie wydaje się powodować żadnych zdarzeń. Mogę używać xrandr -display :0 --output LVDS1 --off --output DVI1 --auto
na osobnym VC przed zalogowaniem, ale nadal dzieje się tak po tym, jak X zaczął i odkrył i zdecydował się na użycie obu wyświetlaczy.
Próbowałem skonfigurować Xorg, tworząc plik /etc/X11/xorg.conf.d/01-turn-off-laptop-display.conf
zawierający:
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
Nie przyniosło to jednak użytecznego efektu. Karta graficzna to 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
Na maszynie działają różne wersje Fedory Linux (x86_64) od około wersji 10/11). Obecnie próbuję Fedory 15 w wersji beta (która obejmuje Gnome 3), ale problem występował w poprzednich wersjach systemu operacyjnego.
Odpowiedzi:
Udało mi się osiągnąć pożądany cel za pomocą następującego pliku xorg.conf:
kluczowym elementem jest
Option "Ignore" "true"
. Być może będę mógł to jeszcze uprościć, ale działa. Nie wiem jeszcze, co się stanie, gdy / jeśli użyję laptopa z dala od zewnętrznego wyświetlacza, być może X wyjdzie z błędem - nie jest to idealne rozwiązanie, ale w tym przypadku mogę przenieść konfigurację na bok.źródło
Proponuję nieco inne podejście, które może być bardziej elastyczne w tych rzadkich przypadkach, gdy chcesz używać laptopa jako laptopa.
W zależności od menedżera wyświetlania (prawdopodobnie GDM, KDM lub LightDM) możesz uruchomić skrypt podczas uruchamiania menedżera wyświetlania. Nie potrzebujesz wcale zmodyfikowanego pliku xorg.conf. lokalizacja skryptu jest następująca (1):
Skrypt może być mniej więcej taki. Musisz zastąpić nazwy monitorów nazwami odpowiednimi dla twojego komputera. Próbowałem zgadywać na podstawie powyższego pliku xorg.conf.
To sprawdzi, czy monitor DVI jest podłączony i czy jest włączony zamiast wbudowanego wyświetlacza. Mam o wiele bardziej skomplikowaną wersję tego, która sprawia, że mój laptop dobrze zadokuje się w pracy, ale nadal jest w porządku do użycia w innym miejscu. Jest to dla mnie bardziej skomplikowane, ponieważ używam 5 ekranów w pracy.
(1) niektóre informacje o lokalizacji pliku z http://forum.xfce.org/viewtopic.php?pid=25026#p25026
źródło
nieznacznie zmodyfikowana wersja xorg.conf poprzedniego postu
wydaje się działać na chipie Intel NM10. Pudełko ma vga na „duży wyświetlacz”
źródło
Jeśli korzystasz
Option "ignore" "true"
z/etc/X11/xorg.conf
czym nie będzie mógł korzystać z tego wyjściaxrandr
(lub narzędzia zależności) w ogóle. Korzystając z tej konfiguracji właśnie wyłączyłem wyjście HDMI:Należy pamiętać, że każda linia konfiguracji jest niezbędna do włączenia DVI-D (przy pełnej rozdzielczości) i do wyłączenia HDMI.
Aby znaleźć wyniki, uruchom je
xrandr -q
i dostosujOption "Monitor-...
odpowiednio. Odpowiednie sekcje strony man to:źródło