urxvt(1) RXVT-UNICODE urxvt(1)

urxvtd - دیمن پایانه urxvt

urxvtd [-q|--quiet] [-o|--opendisplay] [-f|--fork] [-m|--mlock] [-e|--eval perlstring]

urxvtd -q -o -f # برای استفاده در xsession.

این صفحه‌ی راهنما دیمن urxvtd را شرح می‌دهد، که همان شبیه‌ساز پایانه vt102 مانند urxvt است، اما به صورت یک دیمن اجرا می‌شود که می‌تواند چندین پنجره پایانه را در یک فرآیند یکسان باز کند.

برای مثال، می‌توانید آن را از اسکریپت‌های راه‌اندازی X اجرا کنید، اگرچه به یک DISPLAY فعال وابسته نیست و در واقع، می‌تواند پنجره‌ها را به طور همزمان روی چندین نمایشگر X باز کند.

مزایای اجرای یک دیمن urxvt شامل زمان ایجاد سریع‌تر برای پنجره‌های پایانه و صرفه‌جویی زیاد در حافظه است.

عیب آن تأثیر احتمالی بر پایداری است - اگر برنامه اصلی کرش کند، تمام فرآیندهای درون پنجره‌های پایانه خاتمه می‌یابند. برای مثال، از آنجا که راهی برای واکنش مناسب به قطع غیرعادی اتصال وجود ندارد، دستور "xkill" و بازنشانی‌ها/راه‌اندازی‌های مجدد سرور، نمونه‌ی urxvtd را به همراه تمام پنجره‌هایی که باز کرده است خاتمه خواهند داد.

در حال حاضر urxvtd تنها تعداد کمی گزینه را پشتیبانی می‌کند. ترکیب گزینه‌ها در یک آرگومان هنوز پشتیبانی نمی‌شود.

به طور معمول، urxvtd پس از متصل شدن به سوکت کنترلی خود پیام "rxvt-unicode daemon listening on <path>" را در خروجی چاپ می‌کند. این گزینه جلوی نمایش این پیام را می‌گیرد (خطاها و هشدارها همچنان ثبت خواهند شد).
این گزینه urxvtd را وادار می‌کند تا اتصالی به $DISPLAY فعلی باز کرده و آن را باز نگه دارد.

این گزینه زمانی مفید است که بخواهید طول عمر یک نمونه از urxvtd را به طول عمر یک نمایشگر/سرور خاص وابسته کنید. اگر سرور بازنشانی شود، urxvtd به صورت خودکار خاتمه می‌یابد.

این گزینه باعث می‌شود urxvtd پس از متصل شدن به سوکت کنترلی خود، فورک شده و در پس‌زمینه اجرا شود.
این گزینه باعث می‌شود urxvtd فراخوانی سیستمی mlockall(2) را بر روی خود اجرا کند. این کار urxvtd را در RAM قفل کرده و از انتقال آن به فضای حافظه مجازی (swap) روی دیسک جلوگیری می‌کند، که در اکثر سیستم‌عامل‌ها به قیمت مصرف حافظه بسیار بیشتر تمام می‌شود.

نکته: برای استفاده از این قابلیت، مدیر سیستم شما باید مقدار RLIMIT_MEMLOCK کاربر شما را به اندازه‌ای بزرگ‌تر یا مساوی با اندازه فایل اجرایی urxvtd (یا نامحدود) تنظیم کرده باشد. فایل /etc/security/limits.conf را ببینید.

نکته ۲: یک باگ شناخته‌شده در glibc وجود دارد (که احتمالاً در نسخه 2.8 و نسخه‌های جدیدتر رفع شده است) که در آن زمانی که mlockall فعال است، calloc حافظه‌ای صفرنشده برمی‌گرداند. اگر هنگام استفاده از --mlock با کرش یا رفتارهای عجیب دیگر مواجه شدید، آن را بدون این گزینه امتحان کنید.

ارزیابی و اجرای کد perl داده‌شده پس از مقداردهی اولیه پایه (نیازمند فعال بودن پشتیبانی از perl هنگام کامپایل urxvtd است).

از این گزینه می‌توان برای مثال به منظور پیکربندی مفسر داخلی perl که بین همه نمونه‌های پایانه مشترک است، یا برای ایجاد سوکت‌های شنیداری اضافی جهت پروتکل‌های دیگر استفاده کرد.

این کد در حال حاضر پیش از ایجاد سوکت‌های شنیداری عادی اجرا می‌شود؛ این رفتار ممکن است در نسخه‌های بعدی تغییر کند.

این یک فراخوانی کاربردی از urxvtd در یک اسکریپت به سبک .xsession است:

urxvtd -q -f -o

این دستور منتظر می‌ماند تا سوکت کنترلی در دسترس قرار گیرد، نمایشگر فعلی را باز می‌کند و به پس‌زمینه منشعب می‌شود. هنگامی که از سیستم خارج می‌شوید، سرور بازنشانی شده و urxvtd خاتمه می‌یابد.

هر دو ابزار urxvtc و urxvtd به ترتیب از متغیر محیطی RXVT_SOCKET برای ایجاد سوکت شنیداری و برقراری ارتباط با urxvtd استفاده می‌کنند. در صورت عدم وجود این متغیر، مسیر $HOME/.urxvt/urxvtd-<nodename> به کار گرفته می‌شود.
اگر این متغیرهای محیطی تنظیم شده باشند، urxvtd وجود یک توصیف‌گر فایل ارسال‌شده توسط مدیر سرویس از طریق رابط بومی systemd را بررسی می‌کند. در صورت ارائه شدن، urxvtd به جای ایجاد سوکت به صورت مشخص‌شده در بالا، از آن به عنوان سوکت شنیداری خود استفاده می‌کند.
تنها زمانی استفاده می‌شود که گزینه "--opendisplay" مشخص شده باشد. باید حاوی یک نام نمایشگر معتبر X باشد.

urxvt(7), urxvtc(1)

2023-01-02 9.31