DE पर हम अपनी सुविधा के लिए टर्मिनल (उदाहरण के लिए सूक्ति-टर्मिनल) का आकार बदल सकते हैं, मैं पिक्सेल के आकार या कॉलम और पंक्तियों की संख्या के बारे में कैसे जान सकता हूं?
DE पर हम अपनी सुविधा के लिए टर्मिनल (उदाहरण के लिए सूक्ति-टर्मिनल) का आकार बदल सकते हैं, मैं पिक्सेल के आकार या कॉलम और पंक्तियों की संख्या के बारे में कैसे जान सकता हूं?
जवाबों:
यदि आप कमांड जारी करते हैं
stty size
यह पंक्तियों और स्तंभों में वर्तमान टर्मिनल का आकार लौटाता है। उदाहरण:
$ stty size
24 80
आप पंक्तियों और स्तंभों को इस तरह चर में पढ़ सकते हैं (धन्यवाद जैनिस की टिप्पणी के लिए ):
$ read myrows mycols < <(stty size)
पिक्सेल में आकार प्राप्त करने के लिए आपकी स्क्रीन के रिज़ॉल्यूशन के ज्ञान की आवश्यकता होती है और मुझे नहीं लगता कि sttyऐसी जानकारी तक सीधी पहुंच है।
bashechoreadkshbashread myrows mycols < <( stty size )
एक में डेस्कटॉप वातावरण , आप एक्स का उपयोग कर रहे हैं, और 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