खुले टर्मिनल के आकार का पता लगाएं


13

DE पर हम अपनी सुविधा के लिए टर्मिनल (उदाहरण के लिए सूक्ति-टर्मिनल) का आकार बदल सकते हैं, मैं पिक्सेल के आकार या कॉलम और पंक्तियों की संख्या के बारे में कैसे जान सकता हूं?

जवाबों:


20

यदि आप कमांड जारी करते हैं

stty size

यह पंक्तियों और स्तंभों में वर्तमान टर्मिनल का आकार लौटाता है। उदाहरण:

$ stty size
24 80

आप पंक्तियों और स्तंभों को इस तरह चर में पढ़ सकते हैं (धन्यवाद जैनिस की टिप्पणी के लिए ):

$ read myrows mycols < <(stty size)

पिक्सेल में आकार प्राप्त करने के लिए आपकी स्क्रीन के रिज़ॉल्यूशन के ज्ञान की आवश्यकता होती है और मुझे नहीं लगता कि sttyऐसी जानकारी तक सीधी पहुंच है।


क्या पिक्स के मामले में आउटपुट प्राप्त करना संभव नहीं है?
एडवर्ड टोरवाल्ड्स

ध्यान दें कि में इस उत्तर में आदेश चर नहीं देख सकेंगे, क्योंकि पाइप लाइन में एक subshell में क्रियान्वित की जाएगी। (यह काम करता है , हालांकि।) के लिए आप का उपयोग करना चाहते हो सकता है, उदाहरण के लिए, जैसे । bashechoreadkshbashread myrows mycols < <( stty size )
Janis

1

एक में डेस्कटॉप वातावरण , आप एक्स का उपयोग कर रहे हैं, और xwininfoउपयोगिता पिक्सेल में विंडो के आकार दिखा सकते हैं। इसके अलावा, यदि आप डेस्कटॉप पर चल रहे हैं (और, उदाहरण के लिए, दूरस्थ रूप से जुड़ा हुआ है), टर्मिनल एमुलेटर एक चर प्रदान करता है $WINDOWIDजिसे आप पैरामीटर के रूप में उपयोग कर सकते हैं xwininfo, जैसे,

xwininfo -id $WINDOWID

और सूची सूची प्राप्त करें:

xwininfo: Window id: 0xc00025 "uxterm"

  Absolute upper-left X:  65
  Absolute upper-left Y:  167
  Relative upper-left X:  0
  Relative upper-left Y:  22
  Width: 624
  Height: 577
  Depth: 24
  Visual: 0x22
  Visual Class: TrueColor
  Border width: 1
  Class: InputOutput
  Colormap: 0x21 (installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +65+167  -589+167  -589-256  +65-256
  -geometry 103x42+65+145

इस उदाहरण में, रेखाएँ पिक्सेल में आकार के साथ हैं Widthऔर Heightहैं । अंतिम पंक्ति, पात्रों में आकार देती है (साथ ही ऊपरी-बाएँ कोने की स्थिति - पिक्सेल में)।-geometry

विंडो को आकार देने की बात करते हुए , resizeकार्यक्रम लाइनों और स्तंभों की संख्या दर्शाता है। इस उदाहरण के लिए, यह दिखाता है

$ resize
set noglob;
setenv COLUMNS '103';
setenv LINES '42';
unset noglob;

यह प्रश्न इंगित नहीं करता था कि जानकारी का उपयोग कैसे किया जा सकता है, लेकिन चूंकि आउटपुट पाठ है, एक पूर्वानुमानित प्रारूप में, यह आसानी से स्क्रिप्टेड है। यहाँ awk का उपयोग करके एक सरल उदाहरण दिया गया है:

#!/bin/sh
if [ -n "$WINDOWID" ]
then
    xwininfo -id $WINDOWID | awk '
    BEGIN { px = 0; py = 0; chars = "?x?"; }
    /Height:/ { py = $2; }
    /Width:/ { px = $2; }
    /-geometry/ { chars = $2; sub("+.*","",chars); }
    END { printf "%dx%d pixels, %s chars\n", py, px, chars; }'
else
    printf '? no WINDOWID found\n'
fi

जो प्रिंट करता है

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