ডিઇ-তে আমরা আমাদের সুবিধার জন্য টার্মিনালটির (আকারের জিনোম-টার্মিনাল) আকার পরিবর্তন করতে পারি, আমি কীভাবে পিক্সেল বা কলাম এবং সারিগুলির সংখ্যার ভিত্তিতে টার্মিনালের আকার জানতে পারি?
ডিઇ-তে আমরা আমাদের সুবিধার জন্য টার্মিনালটির (আকারের জিনোম-টার্মিনাল) আকার পরিবর্তন করতে পারি, আমি কীভাবে পিক্সেল বা কলাম এবং সারিগুলির সংখ্যার ভিত্তিতে টার্মিনালের আকার জানতে পারি?
উত্তর:
কমান্ড জারি করলে
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;
প্রশ্নটি কীভাবে তথ্য ব্যবহার করা হতে পারে তা নির্দেশ করে না, তবে যেহেতু আউটপুটটি অনুমানযোগ্য বিন্যাসে পাঠ্য, তাই এটি সহজেই স্ক্রিপ্ট হয়। অ্যাজক ব্যবহার করে এখানে একটি সাধারণ উদাহরণ দেওয়া হয়েছে:
#!/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