लिनक्स डेस्कटॉप के लिए कमांड लाइन से डिस्प्ले रेजोल्यूशन प्राप्त करें


32

मैं डिस्प्ले रिज़ॉल्यूशन रिपोर्टिंग की एक विधि खोज रहा हूँ। मैं लॉन्च करने के लिए स्क्रिप्ट सेट करना चाहता हूं rdesktop, और मैं इसे विभिन्न मशीनों पर विभिन्न प्रस्तावों के साथ लॉन्च करना चाहता हूं, इसलिए मैं इसे निर्धारित करने का एक तरीका चाहता हूं।


जवाबों:


37

कमांड का उपयोग करें xrandr। किसी भी तर्क के बिना यह उपलब्ध प्रस्तावों और वर्तमान एक (तारांकन चिह्न के साथ) को प्रदर्शित करता है, उदाहरण के लिए:

$ xrandr | fgrep '*'

क्या आप उत्तर के लिए कुछ नमूना आउटपुट जोड़ सकते हैं? और मैं अनुमान लगा रहा हूँ xrandr |g grep \*कि चाल है?
एहतेश चौधरी

11

वैकल्पिक समाधान xdpyinfo | grep dimensions:। xdpyinfoकी तुलना में पुराना है xrandr, इसलिए यदि आप बहुत पुराने वितरण या कुछ अलग एक्स सर्वर का उपयोग करते हैं तो यह अधिक पोर्टेबल हो सकता है।


2
वास्तव में, लेकिन कुछ (सभी?) मल्टी-मॉनिटर सेटअप एक स्क्रीन के रूप में दिखाई देते हैं xdpyinfoजबकि xrandrस्क्रीन और उनके रिज़ॉल्यूशन को सही ढंग से एन्यूमरेट करते हैं। यह संदर्भ के आधार पर एक समस्या हो सकती है या नहीं।
स्टीफन गौरिचोन

ध्यान दें: जबकि xdpyinfoपिक्सेल में सही आयामों की रिपोर्ट करने के लिए, यह गलत रिज़ॉल्यूशन (DPI) की रिपोर्ट करता है। उदाहरण के लिए dimesions 3840x2160 (देशी और वास्तविक) के साथ अपने मॉनिटर और आकार पर 708mm x 399mm के रूप में द्वारा की सूचना दी xrandr, xdpyinfoका कहना है कि संकल्प प्रति इंच 96x96 डॉट्स है।
रुस्लान

7

आप निम्न कमांड का उपयोग करके क्षैतिज और ऊर्ध्वाधर संकल्प प्राप्त कर सकते हैं:

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

या, अधिक कॉम्पैक्ट रूप में (जैसा कि इस टिप्पणी में पीटर ओ द्वारा सुझाया गया है ):

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

एक्सैम्पल के लिए, 1600x900 डिस्प्ले पर यह निम्न आउटपुट का उत्पादन करेगा:

1600 900

फिर आप कमांड का उपयोग करके मानों को अलग-अलग चर में रख सकते हैं:

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

कमांड का उपयोग करके उपरोक्त चर का मान प्रदर्शित करें:

echo $RES_X, $RES_Y

1600x900 डिस्प्ले पर, आउटपुट है:

1600, 900

1
xdpyinfo | awk -F '[x] +' '/ आयाम: / {प्रिंट $ 3, $ 4}'
पीटर।

@ पीटर।, धन्यवाद। यह कमांड का एक अच्छा कॉम्पैक्ट रूप है। मैंने जवाब अपडेट कर दिया है।
क्रेयेज़ेवुल्फ

वास्तव में, लेकिन कुछ (सभी?) मल्टी-मॉनिटर सेटअप xdpyinfo में एक स्क्रीन के रूप में दिखाई देते हैं जबकि xrandr स्क्रीन और उनके रिज़ॉल्यूशन को सही ढंग से एन्यूमरेट करता है। यह संदर्भ के आधार पर एक समस्या हो सकती है या नहीं।
स्टीफन गौरिचोन

5

मुझे पोस्ट करने से पहले थोड़ा सख्त दिखना चाहिए था। xrandrयदि कोई अन्य तर्क नहीं दिए गए हैं, तो वर्तमान प्रदर्शन सेटिंग्स को प्रतिध्वनित किया जाएगा।

डिफ़ॉल्ट रूप से, यह सभी संभावित डिस्प्ले सेटिंग्स को डंप कर देगा, इसे निम्नानुसार फ़िल्टर किया जा सकता है:

xrandr | egrep '^[^ ]|[0-9]\*\+'

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.