Bireysel ekranları kapatmanın bir yolu var mı?


13

Ekranlarımı şu şekilde kapatmak için xset kullanıyorum:

xset dpms force off

Aynı X ekranla ilişkili birden fazla ekranınız olduğunda tek bir ekranı kapatmanın herhangi bir yolu var mı?


@ myrdd: Özellikle neyin geliştiğini görmek istediğinizi açıklar mısınız?
David Foerster

Ben detayları bilmek istiyorum: (a) istenen bir özellik -Bu "kapatmak" bireysel ekranlara, teknik olarak mümkün olan mı (Öyle mi? Değil ortalama xrandr [...] --off) - (b) ' bağımlılıkları -Bu herhangi orada mısın, değil mi? ekran kartı yonga seti ve / veya belirli bir özelliği var sürücü ihtiyacı? - (c) istenilen özellik sonraki adımlardan olmak, (bir CLI komutu gibi) henüz mevcut olurdu değil Verilen?
myrdd

Yanıtlar:


4

Stok Ubuntu Masaüstü'nü kullanıyorsanız, Sistem> Tercihler> Monitörleri kullanabilmeniz gerekir. Bu, tüm monitörlerinizi göstermeli, devre dışı bırakmak istediğiniz monitöre tıklamalı ve ardından söz konusu monitörü devre dışı bırakmak için 'açık / kapalı' radyo düğmelerini kullanmalıdır.

Bunu komut satırından yapmak istiyorsanız xrandr --output <name> --off, monitörün kapanmasını tetiklemesi gereken çıkışı devre dışı bırakmak için kullanabilmeniz gerekir.


1
Sorun, Nvidia TwinView kullanırken, her iki ekranın hem xrandr hem de xset için bir tane olarak görünmesi, böylece monitörleri ayrı ayrı kapatamamanızdır. Ayrıca, Gnome Monitor Preferences devre dışıdır ve bunun yerine Nvidia sürücü kontrolünü kullanmanız gerekir. Nvidia ayarlı monitörlerden birini devre dışı bıraktığınızda, diğer ekranda tüm pencerelerinize sıkışarak monitörü tamamen devre dışı bırakır. Bir monitörde diğerini izlemek için sadece bir monitörü kapatmak istiyorum.
Neil

@Neil Donanım bilginizi soruya eklemek ve nvidia ile de etiketlemek muhtemelen yararlıdır.
Jorge Castro

2
@JorgeCastro, donanım ve TwinView ile ilgili değildir: RandR yapılandırmasından kaldırılması / devre dışı bırakılması dışında, aynı $ DISPLAY'deyken ekranı ayrı ayrı kapatmanın bir yolu yoktur. Dizüstü bilgisayar ekranını kapatmak istiyoruz, ancak pencereleri orada tutuyoruz.
15'te blueyed

@muru sen bir düzenleme maymunsun! Düzenlemelerinizi görmeye devam ediyorum.
MathCubes

4

Mevcut cevapla ilgili sorun

Yedi yıl önce üç oyla bir cevap olmasına rağmen, kapanma ekranındaki tüm açık pencerelerin kalan aktif ekranlara taşınmasına neden olduğu için kabul edilmedi.

Yazılım tabanlı parlaklık

Bir dizüstü bilgisayarda, LCD paneli kontrol eden grafik kartı ile parlaklığı kontrol edebilirsiniz. Harici TV'ler ve monitörlerle, parlaklığı 0'a düşürmek için bir yazılım çözümüne ihtiyacınız var. Sıfıra çevirmek en yakın olanı Aktif pencereleri o harici ekranda tutarken kapama yanılsamasına geldim.

Kısa versiyon

Komut satırından (komut dosyaları olmadan) şunu kullanın:

$ xrandr | grep " connected"
HDMI-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 1107mm x 623mm
eDP-1-1 connected primary 1920x1080+3840+2160 (normal left inverted right x axis y axis) 382mm x 215mm
DP-1-1 connected 3840x2160+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm

Bu, tarafından atanan monitör adlarının listesini gösterir xrandr. Şimdi DP-1-1parlaklığı kullanmak istiyorsanız :

xrandr --output DP-1-1 --brightness 0

Sony TV bash betiği

İşte yazdığım üç senaryodan biri:

#!/bin/bash

# NAME: sony
# PATH: /mnt/e/bin
# DESC: Set brightness of Sony TV
# DATE: Dec 9, 2017.

if [[ $# -ne 1 ]]; then
    xrandr --verbose | grep -A5 "^HDMI-0" > /tmp/sony
    head -n1 /tmp/sony
    echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"
    rm /tmp/sony
    echo 'One argument required for brightness level, e.g. "sony .63"'
    echo 'will set brightness level of Sony TV to level .63 using xrandr'
    exit 1
fi

xrandr --output HDMI-0  --brightness "$1"

Ekranı kapatmak için sony 0

Parametresiz çağrı kodu

Komut dosyasını parametresiz çağırdığınızda, xrandrgeçerli parlaklıkla birlikte ekran adını kırmızı renkte görüntüler. Bu satırı değiştirerek kırmızı rengi diğerine değiştirebilirsiniz:

echo "$(tput setaf 1)" ; tail -n1 /tmp/sony ; echo "$(tput sgr0)"

Sonra setafdeğiştirmek 1için:

  • 2 yeşil için
  • 3 portakal için
  • 4 mavi, vb.

Komut dosyasını değiştirme ve yükleme

Öğesinin iki örneğini HDMI-0ekran adınıza uyacak şekilde değiştirin . xrandrTerminale yazarak tüm ekranlarınızın bir listesini alabilirsiniz .

Komut dosyasını yolunuzdaki bir dizine aşağıdaki gibi yerleştirin:

/usr/local/bin/sony

Komut dosyasını aşağıdakileri kullanarak yürütülebilir olarak işaretleyin:

sudo chmod a+x /usr/local/bin/sony

Hangi dizinin seçilmesi: /usr/local/binvs~/bin

İçinde komut dosyaları oluşturduğunuzda güç /usr/local/binkullanmalısınız sudo. Daha iyi bir alternatif ~/bin, kısayol için kullanılan dizini kullanmaktır /home/YourUserID/bin:

  • dizini oluştur ~/bin
  • terminalinizi kapatın ve yeniden açın.
  • yeni oluşturulan dizin artık yolunuzda.
  • oluşturduğunuz tüm komut dosyaları ~/bin, normal izinlerinizle oluşturulabilir.
  • Betiğinizin yürütülmesini sağlamak için sadece kullanmak gerekir chmod +xziyade chmod a+x( atüm kullanıcılar anlamında)

2
Cevabınız için teşekkür ederim. xrandr [...] --brightnessSeçeneği bilmiyordum . Özellikle Sony ekranlardan bahsettiğinizi, ancak --brightnessdiğer ekranlarda da çalışması gerektiğini unutmayın. --brightnessDizüstü bilgisayarımda test ettim ve işe yaradı. Ancak, --brightness 0arka ışığı kapatmadı… —Masaüstü --brightnessbilgisayarımda da test ettim: ne yazık ki, ekranlar sadece 1 veya 2 saniye siyah tuttu . Bu 1-2 saniyeden sonra parlaklık otomatik olarak sıfırlanır. İşe yarayıp yaramadığını yüksek oranda gpu + sürücü + ekran kombinasyonuna bağlıdır.
myrdd

1
@ myrdd Aslında iki harici ekran ve dahili dizüstü bilgisayar ekranı için üç komut dosyası sony , toshiba ve yabancı var . Evet arka ışık kapanmaz, bu yüzden "saf siyah" elde edemezsiniz, ancak yakın bir çözümdür. 1 ila 2 saniyelik otomatik sıfırlama ekranlarımdan hiçbirini etkilemiyor, ancak Intel HD530 iGPU iki ekran - Thunderbolt3 ve yerleşik olarak kontrol edilen sabit kablolu nVidia HDMI bağlantı noktası ve nVidia sürücüsü için nVidia sürücüleri çalıştırıyordum.
WinEunuuchs2Unix

hiçbir komut dosyası gerekli, sadece çıkış kimliği bulmak için xrandr çalıştırın ve sonra xrandr --output HDMI-1 --brightness 0, lütfen cevabı basitleştirin
brauliobo

2
@ brauliobo Cevabın çoğunu silmek yerine, en üste bir uzlaşma olduğunu düşündüğüm kısa bir versiyon koydum.
WinEunuuchs2Unix
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.