xvfb-run(1) General Commands Manual xvfb-run(1)

xvfb-run - اجرای کلاینت X یا دستور مشخص‌شده در محیط کارساز X مجازی

xvfb-run [ options ] command

دستور xvfb-run یک پوشش (wrapper) برای دستور Xvfb(1x) است که وظیفهٔ اجرای دستورها (معمولاً یک کلاینت X، یا اسکریپتی حاوی فهرستی از کلاینت‌ها برای اجرا) را در یک محیط کارساز X مجازی ساده می‌کند.

دستور xvfb-run یک فایل احراز هویت X برپا می‌کند (یا از یک فایل مشخص‌شده توسط کاربر استفاده می‌کند)، یک کوکی در آن می‌نویسد (ببینید: xauth(1x)) و سپس کارساز X Xvfb را به عنوان یک فرایند پس‌زمینه آغاز می‌کند. شناسه فرایند (PID) مربوط به Xvfb برای استفاده‌های بعدی ذخیره می‌شود. سپس command مشخص‌شده با استفاده از نمایشگر X متناظر با کارساز Xvfb که تازه آغاز شده و فایل احراز هویت X ایجادشده قبلی، اجرا می‌شود.

هنگامی که command پایان می‌یابد، وضعیت آن ذخیره می‌شود، کارساز Xvfb (با استفاده از شناسه فرایند ذخیره‌شده از قبل) خاتمه داده می‌شود، کوکی احراز هویت X حذف شده و فایل احراز هویت پاک می‌شود (در صورتی که کاربر فایلی را برای استفاده مشخص نکرده باشد). سپس xvfb-run با وضعیت خروج command خارج می‌شود.

دستور xvfb-run برای کارکردن به دستور xauth نیاز دارد.

تلاش برای دریافت یک شماره کارساز آزاد، با شروع از 99، یا آرگومان ارائه‌شده به --server-num.
ذخیرهٔ خروجی xauth و Xvfb در file. مقدار پیش‌فرض /dev/null است.
ذخیرهٔ داده‌های احراز هویت X در file. به‌طور پیش‌فرض، یک دایرکتوری موقت به نام xvfb-run.PID (که در آن PID شناسه فرایند خودِ xvfb-run است) در دایرکتوری مشخص‌شده توسط متغیر محیطی TMPDIR (یا /tmp در صورتی که این متغیر تهی باشد یا تنظیم نشده باشد) ایجاد می‌شود، و از دستور tempfile(1) برای ساخت فایلی در آن دایرکتوری موقت با نام Xauthority استفاده می‌شود.
نمایش پیام راهنمای استفاده و خروج.
استفاده از servernumber به‌عنوان شماره کارساز (اما گزینهٔ -a, --auto-servernum در بالا را ببینید). مقدار پیش‌فرض 99 است.
فعال‌سازی شنود درگاه TCP در کارساز X. به دلایل امنیتی (برای جلوگیری از حملات منع خدمت یا سوءاستفاده‌های امنیتی)، شنود درگاه TCP به‌طور پیش‌فرض غیرفعال است.
استفاده از protocolname به‌عنوان پروتکل احراز هویت X. مقدار پیش‌فرض ‘.’ است که xauth آن را به‌عنوان پروتکل پیش‌فرض خود یعنی MIT-MAGIC-COOKIE-1 تفسیر می‌کند.
ارسال arguments به کارساز Xvfb. دقت کنید هرگونه نویسهٔ فاصلهٔ خالی موجود در arguments را نقل‌قول (کوتیشن) کنید تا از تلقی شدن آن‌ها به‌عنوان جداکنندهٔ آرگومان‌های خودِ xvfb-run جلوگیری شود. همچنین توجه داشته باشید که تعیین ‘-nolisten tcp’ در arguments ممکن است عملکرد گزینهٔ -l, --listen-tcp خودِ xvfb-run را لغو کند، و مشخص کردن شماره کارساز (مانند ‘:1’) ممکن است به دلیل نحوهٔ تجزیه فهرست آرگومان‌ها توسط کارساز X نادیده گرفته شود. برای دستیابی به عملکرد اخیر، از گزینهٔ -n servernumber, --server-num=servernumber در xvfb-run استفاده کنید. مقدار پیش‌فرض ‘-screen 0 640x480x8’ است.
میزان تأخیر به مدت delay ثانیه پس از راه‌اندازی Xvfb پیش از اقدام به آغاز دستور مشخص‌شده. مقدار پیش‌فرض 3 است.

عرض دستگاه پایانه را بر حسب سلول‌های نویسه مشخص می‌کند. این مقدار برای قالب‌بندی پیام‌های عیب‌یابی به کار می‌رود. اگر تنظیم نشده باشد، پایانه با استفاده از stty(1) پرس‌وجو می‌شود تا عرض آن تعیین شود. اگر این کار ناموفق باشد، مقدار ‘80’ فرض می‌شود.
دایرکتوری‌ای را مشخص می‌کند که دایرکتوری موقت xvfb-run برای ذخیرهٔ فایل احراز هویت X در آن قرار گیرد؛ تنها در صورتی استفاده می‌شود که گزینه‌های -f یا --auth-file مشخص نشده باشند.

مگر در حالتی که گزینه‌های -f یا --auth-file مشخص شده باشند، یک دایرکتوری موقت و فایلی در داخل آن ایجاد (و حذف) می‌شوند تا کوکی‌های احراز هویت X مورد استفاده توسط کارساز Xvfb و کلاینت(های) اجراشده زیر آن را ذخیره کند. ببینید: tempfile(1). اگر -f یا --auth-file استفاده شوند، فایل احراز هویت X مشخص‌شده تنها بازنویسی می‌شود و ایجاد یا حذف نخواهد شد (اگرچه xauth در صورتی که به آن دستور داده شود از فایلی استفاده کند که از قبل وجود ندارد، خودش آن فایل احراز هویت را ایجاد می‌کند).

اگر گزینه‌های -e یا --error-file مشخص شده باشند، یک فایل خطا با نام تعیین‌شده توسط کاربر نیز ایجاد می‌شود؛ بالا را ببینید.

دستور xvfb-run از وضعیت خروج خود و همچنین خروجی به خطای استاندارد برای گزارش موارد عیب‌یابی استفاده می‌کند. وضعیت خروج ‘1’ مورد استفاده قرار نمی‌گیرد و باید به عنوان شکست در اجرای دستور مشخص‌شده تفسیر شود.

0
دستور xvfb-run تنها در صورتی از این وضعیت خروج استفاده می‌کند که گزینهٔ -h, --help داده شده باشد. در تمام موقعیت‌های دیگر، این کد می‌تواند به عنوان موفقیت دستور مشخص‌شده تفسیر شود.
2
هیچ دستوری برای اجرا مشخص نشده است.
3
دستور xauth در دسترس نیست.
4
دایرکتوری موقتی که قرار بود استفاده شود از قبل وجود دارد؛ از آنجا که xvfb-run دایرکتوری‌ای با نام یکتا تولید می‌کند، این وضعیت ممکن است نشان‌دهندهٔ تلاش فرایند دیگری روی سامانه برای سوءاستفاده از شرایط رقابتی فایل‌های موقت باشد.
5
هنگام پاک‌سازی دایرکتوری موقت مشکلی رخ داد.
6
هنگام استفاده از getopt(1) برای تجزیه آرگومان‌های خط فرمان مشکلی رخ داد.

کلاینت نمایشی xlogo(1x) را درون کارساز X Xvfb روی نخستین شماره کارساز آزاد بزرگ‌تر یا مساوی 1 اجرا می‌کند.
کلاینت نمایشی ico(1x) را (و ارسال آرگومان -faces به آن) درون کارساز X Xvfb اجرا می‌کند، که با یک پنجره ریشه با ابعاد 1024 در 768 پیکسل و عمق رنگ 24 بیتی پیکربندی شده است.

توجه داشته باشید کلاینت‌های نمایشی X استفاده‌شده در مثال‌های بالا به خودی خود خارج نخواهند شد، بنابراین پیش از خروج xvfb-run باید خاتمه داده شوند.

ببینید: سامانه پیگیری باگ دبیان ⟨URL: http://bugs.debian.org/xvfb ⟩. اگر می‌خواهید اشکالی را در xvfb-run گزارش کنید، لطفاً از دستور reportbug(1) استفاده کنید.

برنامهٔ xvfb-run توسط Branden Robinson و Jeff Licquia با حمایت مالی Progeny Linux Systems نوشته شده است.

Xvfb(1x), xauth(1x)

2004-11-12 Debian Project