.TH XKIBITZ 1 "06 October 1994" .SH "نام (NAME)" xkibitz \- امکان تعامل چندین نفر در پنجره‌های xterm جداگانه .SH "خلاصه دستور (SYNOPSIS)" .B xkibitz [ .I xkibitz-args ] [ .I program program-args... ] .br .SH "مقدمه (INTRODUCTION)" .B xkibitz به کاربران در پنجره‌های xterm جداگانه امکان می‌دهد یک شل (یا هر برنامه‌ای که در xterm اجرا می‌شود) را به اشتراک بگذارند. کاربردهای آن شامل موارد زیر است: .RS .TP 4 \(bu یک کاربر مبتدی می‌تواند از یک کاربر متخصص کمک بخواهد. با استفاده از .BR xkibitz ، کاربر متخصص می‌تواند آنچه را کاربر انجام می‌دهد ببیند و راهنمایی ارائه دهد یا شیوه درست انجام کار را نشان دهد. .TP \(bu با اجرای .B xkibitz و سپس آغاز یک ویرایشگر تمام‌صفحه، افراد می‌توانند گفتگو کنند؛ در حالی که امکان پیمایش به عقب، ذخیره کل گفتگو، یا حتی ویرایش آن در حین گفتگو حفظ می‌شود. .TP \(bu افراد می‌توانند در بازی‌ها، ویرایش اسناد یا سایر فعالیت‌های مشارکتی که در آن‌ها نقاط قوت و ضعف هر شخص مکمل یکدیگر است، به صورت تیمی همکاری کنند. .TP \(bu اگر بخواهید تعداد زیادی از افراد در یک جلسه بررسی آنلاین کد (code walk-through) شرکت کنند، می‌توانید دو نفر را جلوی هر ایستگاه کاری بنشانید و سپس همه آن‌ها را به یکدیگر متصل کنید تا همگی در ویرایشگر به طور هم‌زمان کد را مشاهده کنند. .RE .SH "نحوه استفاده (USAGE)" برای شروع .BR xkibitz ، یک کاربر (کاربر اصلی یا master) دستور xkibitz را بدون هیچ آرگومانی اجرا می‌کند. .PP .B xkibitz یک شل جدید (یا برنامه‌ای دیگر در صورت مشخص شدن در خط فرمان) را آغاز می‌کند. کاربر می‌تواند به طور معمول با شل تعامل داشته باشد، یا پس از فشردن کاراکتر گریز (که در زمان شروع xkibitz توضیح داده می‌شود) کاربران جدیدی را به تعامل اضافه کند. .PP برای افزودن کاربران، دستور "+ display" را وارد کنید که در آن display نام نمایشگر X است. اگر در نام نمایشگر ":X.Y" وجود نداشته باشد، مقدار ":0.0" فرض می‌شود. کاربر اصلی (master) باید دسترسی لازم به هر نمایشگر را داشته باشد. به هر نمایشگر یک تگ (tag) اختصاص می‌یابد \- عدد صحیحی کوچک که می‌توان از آن برای ارجاع به نمایشگر استفاده کرد. .PP برای نمایش تگ‌ها و نمایشگرهای فعلی، دستور "=" را وارد کنید. .PP برای حذف یک نمایشگر، دستور "- tag" را وارد کنید که در آن tag برچسب نمایشگر مطابق با خروجی دستور "=" است. .PP برای بازگشت به شل اشتراکی، کلید "return" را بزنید. سپس کلیدهای فشرده‌شده توسط تمام کاربران به عنوان ورودی شل در نظر گرفته می‌شوند. به طور مشابه، تمام کاربران خروجی شل را دریافت می‌کنند. .PP برای پایان دادن به .B xkibitz کافی است خود شل خاتمه یابد. برای مثال، اگر هر یک از کاربران کلیدهای ^D را فشار دهد (و شل این را به عنوان EOF در نظر بگیرد)، ابتدا شل خاتمه می‌یابد و به دنبال آن .B xkibitz به کار خود پایان می‌دهد. .PP در حالت عادی، تمامی کاراکترها بدون تفسیر منتقل می‌شوند. با این حال در گفتگوی گریز (escape dialogue)، کاربر مستقیماً با مفسر .B xkibitz صحبت می‌کند. هر دستور .BR Expect (1) یا .BR Tcl (3) را نیز می‌توان اجرا کرد. همچنین می‌توان در حین حضور در مفسر از کنترل وظایف (job control) برای اموری مانند معلق‌سازی یا راه‌اندازی مجدد .B xkibitz استفاده کرد. .PP فرایندهای گوناگون می‌توانند جلوه‌های متفاوتی ارائه دهند. برای مثال، می‌توانید با دستور زیر یک نشست چندطرفه شبیه به write(1) را شبیه‌سازی کنید: .PP .nf xkibitz sleep 1000000 .fi .SH "آرگومان‌ها (ARGUMENTS)" .B xkibitz چندین آرگومان ویژه را شناسایی می‌کند که باید قبل از نام .I program (در صورت وجود) قرار گیرند. هر آرگومان باید با فاصله خالی جدا شود. اگر خود آرگومان‌ها دارای شناسه باشند، آن‌ها نیز باید با فاصله خالی تفکیک شوند. .PP گزینه .B \-escape کاراکتر گریز را تعیین می‌کند. کاراکتر گریز پیش‌فرض ^] است. .PP گزینه .B \-display نمایشگری را همانند دستور "+" اضافه می‌کند. می‌توان چندین گزینه \-display را مشخص کرد. برای مثال، برای راه‌اندازی xkibitz با سه نمایشگر اضافه: .PP .nf xkibitz -display mercury -display fox -display dragon:1.0 .fi .SH "هشدارها (CAVEATS)" به دلیل محدودیت‌های موجود در سیستم‌های X و UNIX، انتشار تغییر اندازه پنجره ضعیف است. .PP هنگامی که کاربر اصلی اندازه پنجره xterm را تغییر می‌دهد، تمام پنجره‌های xterm دیگر به صورت منطقی تغییر اندازه می‌دهند. متأسفانه xkibitz نمی‌تواند اندازه فیزیکی xterm را مجبور به تطابق با اندازه منطقی آن کند. .PP سایر کاربران آزادند اندازه xterm خود را تغییر دهند اما اندازه آن‌ها منتشر نمی‌شود. کاربر اصلی می‌تواند با دستور "=" اندازه‌های منطقی را بررسی کند. .PP تشخیص اندازه پنجره یک عملیات غیرقابل‌حمل (non-portable) است. این کد بر روی نسخه‌های جدید SunOS، AIX، Unicos و HPUX کار می‌کند. در صورت افزودن پشتیبانی برای سیستم‌های دیگر، تغییرات را برای نویسنده ارسال نمایید. .SH "محیط (ENVIRONMENT)" متغیر محیطی SHELL برای تعیین و راه‌اندازی شل به کار می‌رود، در صورتی که هیچ برنامه دیگری در خط فرمان مشخص نشده باشد. .PP اگر متغیر محیطی DISPLAY تعریف شده باشد، مقدار آن برای نام نمایشگر کاربر اصلی .B xkibitz (نمایشگر با شماره تگ 0) استفاده می‌شود. در غیر این صورت این نام خالی می‌ماند. .PP آرگومان‌های اضافی را می‌توان از طریق متغیر محیطی XKIBITZ_XTERM_ARGS به پنجره‌های جدید xterm ارسال کرد. برای مثال، برای ایجاد xterm دارای نوار پیمایش (scrollbar) و نشانگر سبز رنگ: .PP .nf XKIBITZ_XTERM_ARGS="-sb -ms green" export XKIBITZ_XTERM_ARGS .fi .PP (این دستور برای شل بورن است \- از هر نحوی که برای شل مورد نظر شما مناسب است استفاده کنید). هر گزینه‌ای که برای دستور .B xterm معتبر باشد را می‌توان وارد کرد، به استثنای .BR \-display ، .B \-geometry و .BI \-S چرا که این گزینه‌ها توسط .BR xkibitz تنظیم می‌شوند. .SH "همچنین ببینید (SEE ALSO)" .BR Tcl (3), .BR libexpect (3), .BR kibitz (1) .br .I "Exploring Expect: A Tcl-Based Toolkit for Automating Interactive Programs" \fRby Don Libes, O'Reilly and Associates, January 1995. .br .I "kibitz \- Connecting Multiple Interactive Programs Together", \fRby Don Libes, Software \- Practice & Experience, John Wiley & Sons, West Sussex, England, Vol. 23, No. 5, May, 1993. .SH "نویسندگان (AUTHORS)" Don Libes, National Institute of Standards and Technology