क्या अलग-अलग स्क्रीन को बंद करने का कोई तरीका है?


13

मैं अपनी स्क्रीन को इस तरह बंद करने के लिए xset का उपयोग करता हूं:

xset dpms force off

क्या एक ही स्क्रीन को बंद करने का कोई तरीका है जब आपके पास एक ही एक्स डिस्प्ले के साथ एक से अधिक जुड़े हों?


@ मिर्डड: क्या आप यह बता सकते हैं कि आप विशेष रूप से बेहतर होते हुए क्या देखना चाहेंगे?
डेविड फ़ॉस्टर

मैं विवरण जानना चाहता हूं: (ए) क्या वांछित सुविधा तकनीकी रूप से संभव है? - व्यक्तिगत स्क्रीन (मुझे मतलब नहीं है xrandr [...] --off) को "बंद" करने के लिए क्या है - (बी) क्या कोई निर्भरताएं हैं? - यह क्या है? ग्राफिक्स कार्ड चिपसेट और / या ड्राइवर को एक विशिष्ट सुविधा की आवश्यकता है? - (ग) यह देखते हुए कि वांछित सुविधा अभी तक उपलब्ध नहीं है (CLI कमांड के रूप में), अगले चरण क्या होंगे?
myrdd

जवाबों:


4

यदि आप स्टॉक उबंटू डेस्कटॉप का उपयोग कर रहे हैं, तो आपको सिस्टम> वरीयताएँ> मॉनिटर्स का उपयोग करने में सक्षम होना चाहिए। यह आपके सभी मॉनीटर को दिखाना चाहिए, आप जिसे अक्षम करना चाहते हैं उस पर क्लिक करें और फिर इस विशिष्ट मॉनीटर को अक्षम करने के लिए 'ऑन / ऑफ' रेडियो बटन का उपयोग करें।

यदि आप कमांड लाइन से ऐसा करना चाहते हैं, तो आपको xrandr --output <name> --offआउटपुट को निष्क्रिय करने के लिए उपयोग करना चाहिए जो मॉनिटर को पावर डाउन करने के लिए ट्रिगर करना चाहिए।


1
समस्या यह है कि जब आप एनवीडिया ट्विनव्यू का उपयोग कर रहे हैं, तो दोनों स्क्रीन एक से xrandr और xset के रूप में दिखाई देते हैं, इसलिए आप मॉनिटर को अलग-अलग बंद नहीं कर सकते। इसके अलावा, Gnome Monitor Preferences अक्षम है और आपको इसके बजाय Nvidia ड्राइवर नियंत्रण का उपयोग करना होगा। जब आप किसी एक मॉनिटर को एनवीडिया-सेटिंग्स के साथ अक्षम करते हैं, तो यह मॉनिटर को पूरी तरह से निष्क्रिय कर देता है, जिससे आपकी सभी विंडो दूसरी स्क्रीन पर जाम हो जाती है। मैं बस एक मॉनिटर को बंद करना चाहता हूं ताकि दूसरे पर फिल्म देख सकें।
नील

@Neil यह संभव है कि आपकी हार्डवेयर जानकारी को प्रश्न में जोड़ा जाए और इसे nvidia के साथ भी टैग किया जाए।
जॉर्ज कास्त्रो

2
@JorgeCastro यह हार्डवेयर और ट्विन व्यू से संबंधित नहीं है: रैंडर कॉन्फ़िगरेशन से इसे हटाने / अक्षम करने के अलावा, यह समान $ DISPLAY पर व्यक्तिगत रूप से स्क्रीन को बंद करने का कोई तरीका नहीं प्रतीत होता है। हम लैपटॉप स्क्रीन जैसे उदाहरण बंद करना चाहते हैं, लेकिन वहां कोई भी विंडो रखें।
blueyed

@ आप एक संपादन बंदर हैं! मैं आपके संपादन देखता रहता हूं।
मैथ्यूब्स

4

मौजूदा जवाब के साथ समस्या

यद्यपि सात साल पहले एक उत्तर था कि तीन अप-वोटों के साथ इसे स्वीकार नहीं किया गया था क्योंकि यह शट-ऑफ डिस्प्ले पर सभी खुली खिड़कियों को शेष सक्रिय डिस्प्ले (एस) में स्थानांतरित करने का कारण बनता है।

सॉफ्टवेयर आधारित चमक

लैपटॉप पर आप एलसीडी पैनल को नियंत्रित करने वाले ग्राफिक्स कार्ड के माध्यम से चमक को नियंत्रित कर सकते हैं। बाहरी टीवी और मॉनिटर के साथ, आपको चमक को चालू करने के लिए एक सॉफ़्टवेयर समाधान की आवश्यकता होती है। 0. इसे शून्य पर बंद करना सबसे करीब है। मैं उस बाहरी डिस्प्ले पर सक्रिय विंडो को रखते हुए इसे बंद करने के भ्रम में आ गया हूं।

लघु संस्करण

कमांड लाइन से (बिना स्क्रिप्ट के) उपयोग करें:

$ 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

यह आपके द्वारा सौंपे गए मॉनिटर नामों की सूची दिखाता है xrandr। अब यदि आप DP-1-1उपयोग से चमक सेट करना चाहते हैं:

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

सोनी टीवी बैश स्क्रिप्ट

यहाँ तीन लिपियों में से एक मैंने लिखी है:

#!/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"

आपके द्वारा उपयोग किए जाने वाले प्रदर्शन को बंद करने के लिए sony 0

कोई पैरामीटर के साथ स्क्रिप्ट बुला रहा है

जब आप स्क्रिप्ट को बिना किसी पैरामीटर के कहते हैं, तो यह xrandrस्क्रीन का नाम लाल रंग की वर्तमान चमक के साथ प्रदर्शित करता है । आप इस लाइन को संशोधित करके लाल रंग को दूसरे में बदल सकते हैं:

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

इसे setafबदलने के बाद 1:

  • 2 हरे रंग के लिए
  • 3 नारंगी के लिए
  • 4 नीले रंग के लिए, आदि।

स्क्रिप्ट को संशोधित और स्थापित करना

HDMI-0अपने स्क्रीन नाम से मिलान करने के लिए दो घटनाओं को बदलें । आप xrandrटर्मिनल में टाइप करने वाली अपनी सभी स्क्रीन की सूची प्राप्त कर सकते हैं ।

स्क्रिप्ट को अपने पथ में निर्देशिका में रखें जैसे:

/usr/local/bin/sony

स्क्रिप्ट को निष्पादन योग्य के रूप में चिह्नित करें:

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

कौन सी निर्देशिका चुनना: /usr/local/binबनाम~/bin

जब आप स्क्रिप्ट बनाते हैं तो आपको शक्तियों का /usr/local/binउपयोग करना चाहिए sudo। एक बेहतर विकल्प उस निर्देशिका का उपयोग करना है ~/binजो इसके लिए शॉर्टहैंड है /home/YourUserID/bin:

  • निर्देशिका बनाएँ ~/bin
  • अपने टर्मिनल को बंद करें और इसे फिर से खोलें।
  • नई बनाई गई निर्देशिका अब आपके पथ पर है।
  • ~/binआपके द्वारा बनाई गई सभी स्क्रिप्ट आपकी नियमित अनुमतियों के साथ बनाई जा सकती हैं।
  • अपनी स्क्रिप्ट के निष्पादन को सक्षम करने के लिए आपको केवल chmod +xइसके बजाय उपयोग करने की आवश्यकता है chmod a+x( aसभी उपयोगकर्ता अर्थ)

2
आपके उत्तर के लिए धन्यवाद। मुझे xrandr [...] --brightnessविकल्प नहीं पता था । ध्यान दें कि आपने विशेष रूप से सोनी डिस्प्ले के बारे में बात की है, लेकिन --brightnessकिसी अन्य डिस्प्ले के लिए भी काम करना चाहिए। मैंने --brightnessअपने लैपटॉप पर परीक्षण किया है , और यह काम किया है। हालाँकि, --brightness 0बैकलाइट बंद नहीं हुई… -मैंने --brightnessअपने डेस्कटॉप कंप्यूटर पर भी परीक्षण किया है : दुर्भाग्य से, स्क्रीन (ओं) को केवल 1 या 2 सेकंड के लिए काला रखा गया था । उन 1-2 सेकंड के बाद चमक स्वचालित रूप से रीसेट हो जाती है। मुझे लगता है कि क्या यह gpu + ड्राइवर + स्क्रीन संयोजन पर अत्यधिक निर्भर है।
मिथक

1
@myrdd मैं वास्तव में तीन स्क्रिप्ट सोनी , तोशिबा और विदेशी दो बाहरी डिस्प्ले के लिए और लैपटॉप के प्रदर्शन में निर्मित। हां बैकलाइट बंद नहीं होती है इसलिए आपको "शुद्ध काला" नहीं मिलता है, लेकिन यह एक करीबी काम है। 1 से 2 सेकंड का स्वचालित रीसेट मेरे किसी भी डिस्प्ले को प्रभावित नहीं करता है, लेकिन मैं हार्डवेयर्ड एनवीडिया एचडीएमआई पोर्ट और एनवीडिया ड्राइवर के लिए इंटेल एचडी 530 आईजीपीयू दो स्क्रीन - थंडरबोल्ट 3 और बिल्ट-इन का नियंत्रण ले रहा था।
विनयुनुच्स 2 यूनिक्स

कोई स्क्रिप्ट आवश्यक नहीं है, बस आउटपुट आईडी खोजने के लिए xrandr चलाएं और फिर xrandr --output HDMI-1 --brightness 0, कृपया उत्तर को सरल करें
brauliobo

2
@ बरौलीबोरो उत्तर को हटाने के बजाय मैंने एक छोटा संस्करण बहुत ऊपर रखा जो मुझे लगता है कि एक समझौता है।
विनयुनुच्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.