Linux dizüstü bilgisayarımın ekran panelini kullanarak Xorg'u nasıl önleyebilirim?


12

Çoğu zaman bir masaüstü makinesi olarak kullandığım bir dizüstü bilgisayarım (~ 5 yaşında HP compaq nc6400). Kapağı kapalı olarak bir yerleştirme istasyonuna takılır ve DVI kablosuyla büyük bir harici LCD ekrana bağlanır.

Çeşitli nedenlerle (kapalı ekranda giriş karşılama mesajı görünür, sınırlı grafik kartı her iki ekrana aynı anda 3D yapamaz) Dizüstü bilgisayarın entegre ekran panelinin X tarafından kullanılmasını önlemek istiyorum. Yerleşik ve masamda iken (bu zamanın yaklaşık% 97'sini kullanıyorum) sadece entegre dizüstü bilgisayar panelini kullanmamasını istiyorum. Önyükleme belirli bir sorun değildir, çünkü varsayılan olarak her şey iki ekran arasında yansıtılır. Ayrıca, dizüstü bilgisayarımı masamdan uzakta kullanırken nadir durumlarda ayarları geri almam gereken bir 'manuel' çözüm umrumda değil.

Giriş yaptıktan sonra Gnome'u yalnızca harici monitörü kullanacak ve dizüstü bilgisayar paneli "kapalı" olarak işaretlenecek şekilde yapılandırabilirim, ancak bunun X'in başlangıçta otomatik yapılandırılmış durumu ve giriş öncesi karşılama ekranı üzerinde hiçbir etkisi yoktur. Şaşırtıcı bir şekilde dizüstü bilgisayarın bir kapak sensörü yok gibi görünüyor, bu nedenle kapağı açmak veya kapatmak herhangi bir olayı tetiklemiyor gibi görünüyor. xrandr -display :0 --output LVDS1 --off --output DVI1 --autoGiriş yapmadan önce ayrı bir VC'de kullanabilirim , ancak bu hala X'in başlayıp keşfettiği ve her iki ekranı kullanmaya karar vermesinden sonra.

Şunları /etc/X11/xorg.conf.d/01-turn-off-laptop-display.confiçeren bir dosya oluşturarak Xorg'u yapılandırmayı denedim :

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

Ancak bunun yararlı bir etkisi olmamıştır. Ekran kartı Intel 945GM'dir:

[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

Makine yaklaşık 10/11 sürümünden bu yana Fedora Linux'un çeşitli sürümlerini (x86_64) çalıştırıyor. Şu anda (Gnome 3'ü içeren) Fedora 15 beta'yı deniyorum, ancak sorun önceki işletim sistemi sürümlerinde mevcuttu.


ahh, tamam - sormak için en iyi yer hangisi olduğundan emin değildim. Sanırım bir temsilci. of 1 Sorumumu SE siteleri arasında taşıyamıyorum, bu yüzden başka birinin yapmasına izin vermek zorunda mıyım?
Norky

@Norky Soruyu moderatörler için işaretledim.
Šimon Tóth

@Let_Me_Be ve @Norky - bu soru burada da konuyla ilgili. Ancak, @Norky, kişisel olarak Unix.SE'ye soruyu sormayı tercih ederseniz, lütfen çekinmeyin (ve bunu kaldırabilmem için @ yorum geri dönün), ancak aksi takdirde burada yanlış bir şey yoktur.

@ DMA57361 - En iyisi hangisi olduğunu düşünüyorsan özel bir tercihim yok :)
Norky

Ah, @Norky, mesele en iyi olduğunu düşündüğünüz her şeyi kullanabilmeniz - bu sizin sorunuz ve her iki sitede de mükemmel bir şekilde geçerli, sadece farklı bir topluluktan cevaplar alacaksınız. Yani, burada iyiysen, şimdilik burada bırakacağız. Ancak, yazı yakın gelecekte bir cevap almadıysa tekrar bana geri ve sizin için değiştireceğim.

Yanıtlar:


9

Aşağıdaki xorg.conf ile istenen hedefe ulaşmayı başardım:

Section "Monitor"
        Identifier      "laptop panel"
        Option  "ignore"        "true"
EndSection
Section "Monitor"
        Identifier      "big display"
EndSection    
Section "Device"
        Identifier      "onboard"
        Option  "Monitor-LVDS1" "laptop panel"
        Option  "Monitor-DVI1" "big display"
EndSection

kritik unsur Option "Ignore" "true". Bunu daha da basitleştirebilirim, ama işe yarıyor. Dizüstü bilgisayarı harici ekrandan uzakta kullandığımda / ne zaman kullanacağımı henüz bilmiyorum, muhtemelen X bir hata ile çıkacak - mükemmel bir çözüm değil ama yapılandırmayı o olaydan uzaklaştırabilirim.


4

Dizüstü bilgisayarı dizüstü bilgisayar olarak kullanmak istediğiniz nadir durumlar için daha esnek olabilecek biraz farklı bir yaklaşım öneririm.

Görüntü yöneticinize (muhtemelen GDM, KDM veya LightDM) bağlı olarak, görüntü yöneticisi başlarken bir komut dosyası çalıştırabilirsiniz. Değiştirilmiş bir xorg.conf dosyasına ihtiyacınız olmayacak. komut dosyasının konumu aşağıdaki gibidir (1):

  • KDM: / etc / kde / kdm / Xsetup (altta)
  • SDDM: / etc / X11 / xdm / Xsetup (altta)
  • XDM: / etc / X11 / xdm / Xsetup (altta)
  • GDM: / etc / gdm / Init / Default - kod kodunu "/ sbin / initctl" satırının hemen üstüne yerleştirin. (1)
  • LightDM: /etc/lightdm/lightdm.conf - "display-setup-script =", komut dosyasını olmasını istediğiniz yere işaret eder. Komut dosyasının ilk satırının #! / Bin / sh olduğundan ve yürütülebilir olduğundan emin olun .

Senaryo böyle bir şey olabilir. Monitör adlarını makinenize uygun olanlarla değiştirmeniz gerekir. Yukarıdaki xorg.conf dosyasına dayalı olarak tahmin etmeye çalıştım.

/usr/bin/xrandr --current | grep "DVI1 connected "
if [ $? -eq 0 ]; then
  echo "DVI found"
  sleep 1s 
  /usr/bin/xrandr --output LVDS1 --off
  /usr/bin/xrandr --output DVI1 --auto --primary
fi

Bu, DVI monitörünüzün bağlı olup olmadığını ve yerleşik ekran yerine etkinleştirilip etkinleştirilmediğini test eder. Bunun çok daha karmaşık bir sürümü var, bu da dizüstü bilgisayarımı iş yerinde iyi bir şekilde yerleştiriyor, ancak yine de başka bir yerde kullanım için iyi. Benim için daha karmaşık çünkü işte 5 ekran kullanıyorum.

(1) http://forum.xfce.org/viewtopic.php?pid=25026#p25026 adresinden bazı dosya konumu bilgileri


3

önceki gönderinin xorg.conf dosyasının biraz değiştirilmiş sürümü

Section "Monitor"
   Identifier "hdmi out"
   Option "ignore" "true"
EndSection

Section "Monitor"
   Identifier "big display"
EndSection

Section "Device"
   Identifier "onboard"
   Option "Monitor-LVDS1" "hdmi out"
   Option "Monitor-VGA1" "big display"
EndSection

intel NM10 çip için çalışıyor gibi görünüyor. Kutunun "büyük ekran" için vga çıkışı var


1

İçinde kullanırsanız Option "ignore" "true", /etc/X11/xorg.confbu çıktıyı xrandr(veya bağlı araçlarla) hiç kullanamazsınız . Bu yapılandırmayı kullanarak HDMI çıkışımı devre dışı bıraktım:

Section "Monitor"
        Identifier "My-DVI-D"
        Option "Primary" "true"
        Option "PreferredMode" "1920x1080x60.0"
EndSection

Section "Monitor"
        Identifier "My-HDMI"
        Option "Enable" "false"
        Option "RightOf" "My-DVI-D"
EndSection

Section "Device"
        Identifier "onboard"
        Option "Monitor-HDMI1" "My-DVI-D"
        Option "Monitor-HDMI2" "My-HDMI"
EndSection

DVI-D'yi (tam çözünürlükte) etkinleştirmek ve HDMI'yı devre dışı bırakmak için her bir yapılandırma satırının gerekli olduğunu unutmayın.

Çıktılarınızı bulmak için çalıştırın xrandr -qve Option "Monitor-...uygun şekilde uyarlayın . İlgili sayfa bölümleri:

   Option "Enable" "bool"
          This optional entry specifies whether the monitor should be turned on at  startup.   By  default,  the  server  will
          attempt to enable all connected monitors.  (RandR 1.2-supporting drivers only)
...
   Option "PreferredMode" "name"
          This optional entry specifies a mode to be marked as the preferred initial mode of the monitor.  (RandR 1.2-support‐
          ing drivers only)
...
   Option "Primary" "bool"
          This optional entry specifies that the monitor should be treated as the primary monitor. (RandR 1.2-supporting driv‐
          ers only)
...
   With RandR 1.2-enabled drivers, monitor sections may be tied to specific outputs of the video card.  Using the name of  the
   output  defined by the video driver plus the identifier of a monitor section, one associates a monitor section with an out‐
   put by adding an option to the Device section in the following format:

   Option "Monitor-outputname" "monitorsection"

   (for example, Option "Monitor-VGA" "VGA monitor" for a VGA output)
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.