RESIZE(1) X Window System RESIZE(1)

resize - تنظیم متغیرهای محیطی و تنظیمات ترمینال با اندازهٔ فعلی پنجرهٔ xterm

resize [ -v | -u | -c ] [ -s [ row col ] ]

دستور Resize یک دستور شل را برای تنظیم متغیرهای محیطی مناسب چاپ می‌کند تا اندازهٔ فعلی پنجرهٔ xterm را که دستور از داخل آن اجرا شده است، مشخص سازد.

Resize این دستور را طی چند مرحله تعیین می‌کند:

  • نخست، نام برنامهٔ شل کاربر را پیدا می‌کند. در صورت تنظیم بودن از متغیر SHELL استفاده می‌کند، در غیر این صورت از داده‌های کاربر در /etc/passwd بهره می‌برد.
  • سپس تصمیم می‌گیرد که آیا از نحو Bourne shell استفاده کند یا نحو C-Shell. برای این کار از یک جدول داخلی از شل‌های شناخته‌شده استفاده می‌کند، که می‌توان آن را با گزینه‌های -u و -c بازنویسی کرد.
  • سپس resize تنظیمات ترمینال را از سیستم‌عامل درخواست می‌کند. این همان اطلاعاتی است که می‌توان با استفاده از stty دستکاری کرد.
  • سپس resize اندازهٔ ترمینال را بر حسب نویسه‌ها از آن درخواست می‌کند. بسته به این‌که گزینهٔ -s داده شده باشد یا خیر، resize از دنبالهٔ گریز متفاوتی برای درخواست این اطلاعات استفاده می‌کند.
  • در این مرحله، resize تلاش می‌کند تنظیمات ترمینال را به‌روزرسانی کند تا اندازهٔ پنجرهٔ ترمینال بر حسب پیکسل منعکس شود:
  • اگر گزینهٔ -s استفاده شده باشد، آنگاه resize اندازهٔ ترمینال را بر حسب پیکسل از خود ترمینال درخواست می‌کند.
  • در غیر این صورت، resize اطلاعات را از سیستم‌عامل درخواست کرده و پس از اطمینان از این‌که ابعاد پنجره مضربی از ارتفاع و عرض نویسه است، آن را به‌روزرسانی می‌کند.
  • در هر دو حالت، به‌روزرسانی تنظیمات ترمینال با استفاده از یک فراخوان سیستمی متفاوت از آنچه برای stty استفاده می‌شود انجام می‌گیرد.
  • سپس resize تنظیمات ترمینال را به‌روز می‌کند تا هرگونه مقادیر تغییر‌یافته مانند اندازهٔ آن در سطرها یا ستون‌ها را منعکس سازد. این کار بر مقادیر نمایش‌داده‌شده توسط stty تأثیر می‌گذارد.
  • در نهایت، resize دستورات شل را برای تنظیم متغیرهای محیطی تولید کرده و آن‌ها را در خروجی استاندارد می‌نویسد.

گزینه‌های زیر را می‌توان با resize به کار برد:

این گزینه مشخص می‌کند که دستورات C shell باید تولید شوند، حتی اگر به نظر برسد شل فعلی کاربر از نحو C shell استفاده نمی‌کند.
این گزینه مشخص می‌کند که به‌جای کدهای گریز xterm به سبک VT100، از دنباله‌های گریز کنسول Sun استفاده شود. اگر rows و columns مشخص شوند، resize از xterm می‌خواهد که با استفاده از آن مقادیر، اندازهٔ خود را تغییر دهد.
هر دو دنبالهٔ گریز مورد استفاده برای این گزینه (نخست برای دریافت اندازهٔ پنجره و دوم برای تغییر دادن آن) تابع تنظیم منبع allowWindowOps در xterm هستند. مدیر پنجره نیز ممکن است تصمیم بگیرد که این تغییر را مجاز نداند.
دنبالهٔ گریز به سبک VT100 که برای تعیین اندازهٔ صفحه استفاده می‌شود، همیشه برای ترمینال‌های سازگار با VT100 کار می‌کند. ترمینال‌های VT100 روش متناظری برای تغییر دادن اندازهٔ صفحه ندارند.
این گزینه مشخص می‌کند که دستورات Bourne shell باید تولید شوند، حتی اگر به نظر برسد شل فعلی کاربر از نحو Bourne shell استفاده نمی‌کند.
این گزینه باعث می‌شود resize شماره نسخه را در خروجی استاندارد چاپ کرده و سپس خارج شود.

توجه داشته باشید که دنباله‌های گریز کنسول Sun توسط xterm در XFree86 و توسط dtterm پشتیبانی و شناخته می‌شوند. ممکن است برنامهٔ resize با نام sunsize نصب شده باشد، که باعث می‌شود گزینهٔ -s به طور خودکار پیش‌فرض فرض شود.

آرگومان‌های rows و columns باید در انتها بیایند؛ اگرچه معمولاً به گزینهٔ -s وابسته‌اند، اما به‌صورت جداگانه تجزیه می‌شوند.

مگر اینکه توسط گزینهٔ -c بازنویسی شود، resize شل فعلی کاربر را به این شیوه تعیین می‌کند:
  • ابتدا بررسی می‌کند که آیا $SHELL تنظیم شده است یا خیر و از آن استفاده می‌کند،
  • در غیر این صورت resize فایل گذرواژه (/etc/passwd) را بررسی می‌کند.
به‌طور کلی، گونه‌های مختلف Bourne-shell (از جمله ksh) متغیر $SHELL را تغییر نمی‌دهند، بنابراین اگر کاربر resize را از درون یک Bourne shell که از یک C shell اجرا شده اجرا کند، ممکن است resize دچار سردرگمی شود.
پس از تعیین شل کاربر، resize نام شل را با یک جدول از نام‌های شل‌های شناخته‌شده مقایسه می‌کند. اگر نام را در جدول خود نیابد، resize برای دستورات تولیدشده جهت تنظیم متغیرهای محیطی از نحو C shell استفاده خواهد کرد.
دستور شل تولیدشده توسط Resize، در صورتی که این متغیر قبلاً تنظیم نشده باشد، آن را روی "xterm" قرار می‌دهد.
دستور شل تولیدشده توسط Resize این متغیر را در سیستم‌هایی که از termcap استفاده می‌کنند تنظیم می‌نماید، برای نمونه هنگامی که resize به‌جای کتابخانهٔ terminfo با کتابخانهٔ termcap پیوند خورده باشد. کتابخانهٔ اخیر متن کامل مدخل termcap را ارائه نمی‌دهد.
دستور شل تولیدشده توسط Resize این متغیرها را در سیستم‌هایی که از terminfo استفاده می‌کنند تنظیم می‌کند. بسیاری از برنامه‌ها (از جمله کتابخانهٔ curses) در صورت تنظیم بودن این متغیرها، از آن‌ها برای بازنویسی اندازهٔ صفحهٔ خود استفاده می‌کنند.

/etc/termcap
برای مدخل پایهٔ termcap جهت ویرایش.
~/.cshrc
نام مستعار (alias) کاربر برای این دستور.

برای اینکه خروجی resize اعمال شود، resize باید یا به عنوان بخشی از خط فرمان ارزیابی شود (که معمولاً با یک alias یا تابع شل انجام می‌شود) یا به فایلی هدایت شود که سپس بتوان آن را خواند. از طریق C shell (که معمولاً با نام /bin/csh شناخته می‌شود)، می‌توان نام مستعار زیر را در فایل .cshrc کاربر تعریف کرد:


% alias rs 'set noglob; eval `resize`'

پس از تغییر اندازهٔ پنجره، کاربر عبارت زیر را وارد می‌کند:


% rs

کاربران نسخه‌هایی از Bourne shell (که معمولاً به نام /bin/sh شناخته می‌شود) که فاقد توابع دستوری هستند، باید خروجی را به یک فایل موقت هدایت کرده و سپس با دستور “.” آن را مجدداً بخوانند:


$ resize > /tmp/out
$ . /tmp/out

Mark Vandevoorde (MIT-Athena), Edward Moy (Berkeley)
Thomas Dickey (invisible-island.net).
حق نشر (c) 1984، 1985 متعلق به کنسرسیوم اکس (X Consortium)
برای دیدن اعلامیهٔ کامل کپی‌رایت به X(1) مراجعه کنید.

use_env(3x)
csh(1), stty(1), tset(1)
xterm(1)

2026-08-24 Patch #411