.\" Hey, EMACS: -*- nroff -*- .\" First parameter, NAME, should be all caps .\" Second parameter, SECTION, should be 1-8, maybe w/ subsection .\" other parameters are allowed: see man(7), man(1) .TH MOSH 1 "April 2013" .\" Please adjust this date whenever revising the manpage. .\" .\" Some roff macros, for reference: .\" .nh disable hyphenation .\" .hy enable hyphenation .\" .ad l left justify .\" .ad b justify to both left and right margins .\" .nf disable filling .\" .fi enable filling .\" .br insert line break .\" .sp insert n+1 empty lines .\" for manpage-specific macros, see man(7) .SH "نام (NAME)" mosh \- پوسته متحرک با قابلیت رومینگ و پژواک محلی هوشمند .SH "خلاصه دستور (SYNOPSIS)" .B mosh .RI [ options ] [--] [user@]host [command...] .br .SH "توضیحات (DESCRIPTION)" دستور \fBmosh\fP (مخفف mobile shell یا پوسته متحرک) یک برنامه پایانه از راه دور است که از اتصال متناوب و ناپایدار پشتیبانی می‌کند، امکان رومینگ را فراهم می‌سازد، و پژواک محلی حدسی (speculative local echo) و ویرایش سطر کلیدهای فشرده‌شده توسط کاربر را ارائه می‌دهد. در مقایسه با \fBssh\fP، برنامه \fBmosh\fP بسیار پایدارتر است \(em اتصالات آن در طول خواب رفتن دستگاه و تغییر آدرس IP کلاینت برقرار می‌مانند \(em و پاسخ‌گوتر است، زیرا پروتکل آن در برابر از دست رفتن بسته‌ها مقاوم است و کلاینت می‌تواند اکثر کلیدها را بلافاصله و بدون معطلی برای رفت‌وبرگشت شبکه پژواک کند. برنامه \fBmosh\fP از \fBssh\fP برای برقراری اتصال به میزبان راه دور و احراز هویت با سازوکارهای موجود (مانند احراز هویت با کلید عمومی یا گذرواژه) استفاده می‌کند. سپس \fBmosh\fP برنامه کمکی غیرممتاز \fBmosh-server\fP را روی سرور اجرا می‌کند، اتصال SSH را می‌بندد و \fBmosh-client\fP را اجرا می‌نماید، که یک اتصال دیتاگرام طولانی‌مدت بر بستر UDP برقرار می‌کند. برای بهبود پاسخ‌دهی، \fBmosh\fP یک مدل پیش‌بینی‌کننده از رفتار سرور را در پس‌زمینه اجرا می‌کند تا تأثیر هر کلید فشرده‌شده بر صفحه را حدس بزند. این مدل برای تایپ عادی، کلید برگشت (backspace)، و کلیدهای پیکان چپ و راست پیش‌بینی انجام می‌دهد. هنگامی که اطمینان داشته باشد، \fBmosh\fP پیش‌بینی‌ها را بدون انتظار برای پاسخ سرور نمایش می‌دهد. مدل پیش‌بینی‌کننده باید در هر سطر ترمینال و پس از هر نویسه کنترلی اعتبار خود را از نو اثبات کند، بنابراین \fBmosh\fP از پژواک گذرواژه‌ها یا دستورهای غیرپژواکی ویرایشگر خودداری می‌کند. به طور پیش‌فرض، \fBmosh\fP پیش‌بینی‌های خود را فقط روی اتصالات با تأخیر زیاد و برای هموار کردن نوسانات شبکه نشان می‌دهد. (روی پیوندهایی با تأخیر طولانی‌تر، خانه‌های پیش‌بینی‌شده زیرخط‌دار می‌شوند تا زمانی که توسط سرور تأیید شوند.) خطاهای گاه‌به‌گاه پژواک ظرف یک رفت‌وبرگشت شبکه اصلاح می‌شوند و اثر ماندگاری نخواهند داشت. برنامه \fBmosh\fP از فورواردینگ X یا کاربردهای غیرتعاملی SSH از جمله فورواردینگ پورت یا sshfs پشتیبانی نمی‌کند. \fBmosh\fP از پشت مترجم‌های آدرس شبکه (NAT) سمت کلاینت معمول کار می‌کند اما نیازمند عبور ترافیک UDP میان کلاینت و سرور است. به طور پیش‌فرض، \fBmosh\fP از پورت‌های بین 60000 تا 61000 استفاده می‌کند، اما به کاربر اجازه می‌دهد به جای آن یک پورت UDP خاص را درخواست کند. در حال حاضر، \fBmosh\fP پشتیبانی محدودی از IPv6، شبکه‌های دوپشته‌ای (dual-stack) و سرورهایی با چندین آدرس دارد. در شروع نشست، یک آدرس واحد IPv4 یا IPv6 را برای اتصال در تمام طول عمر نشست انتخاب می‌کند. برنامه \fBmosh\fP تمام تلاش خود را می‌کند تا لوکال (locale) با مجموعه نویسه UTF-8 را در کلاینت و سرور برقرار سازد. کلاینت باید متغیرهای محیطی مرتبط با لوکال داشته باشد که UTF-8 را مشخص کنند. \fBmosh\fP این متغیرهای کلاینت را از طریق خط فرمان خود به \fBmosh-server\fP ارسال می‌کند، اما در بیشتر موارد نیازی به استفاده از آن‌ها نخواهد بود. \fBmosh-server\fP ابتدا تلاش می‌کند تا از متغیرهای محیطی مرتبط با لوکال خود استفاده کند، که از پیکربندی پیش‌فرض سیستم (گاه /etc/default/locale) یا از ارسال شدن روی اتصال SSH به دست آمده‌اند. اما اگر این متغیرها استفاده از UTF-8 را تعیین نکنند، \fBmosh-server\fP متغیرهای محیطی مرتبط با لوکال کلاینت را اعمال کرده و دوباره تلاش خواهد کرد. .SH "گزینه‌ها (OPTIONS)" گزینه‌های با نام \fB \-\-experimental-*\fP ممکن است در نسخه‌های آینده Mosh تغییر کنند یا حذف شوند؛ طراحی یا عملکرد آن‌ها هنوز نهایی نیست. .TP .B \fIcommand\fP دستوری که روی میزبان راه دور اجرا می‌شود. به طور پیش‌فرض، \fBmosh\fP یک پوسته ورودی (login shell) را اجرا می‌کند. .TP .B \-\-client=\fIPATH\fP مسیر برنامه کمکی کلاینت روی ماشین محلی (پیش‌فرض: "mosh-client") .TP .B \-\-server=\fICOMMAND\fP دستور اجرای برنامه کمکی سرور روی ماشین راه دور (پیش‌فرض: "mosh-server") برنامه کمکی سرور غیرممتاز است و می‌تواند در دایرکتوری خانگی کاربر نصب شود. از این گزینه می‌توان برای تنظیم متغیرهای محیطی سرور با استفاده از دستور .BR env (1) به عنوان لفاف دستور واقعی سرور استفاده کرد. برای متغیرهای محیطی موجود به .BR mosh-server (1) مراجعه کنید. .TP .B \-\-ssh=\fICOMMAND\fP دستور OpenSSH برای اجرای از راه دور mosh-server روی ماشین راه دور (پیش‌فرض: "ssh") می‌توان یک پورت جایگزین ssh را به عنوان مثال با \-\-ssh="ssh \-p 2222" مشخص کرد. .TP .B \-\-ssh-pty\fP .B \-\-no-ssh-pty\fP فعال یا غیرفعال کردن استفاده ssh از pty هنگام اتصال به میزبان راه دور. حالت پیش‌فرض، فعال است. .TP .B \-\-predict=\fIWHEN\fP استفاده از پژواک محلی حدسی را کنترل می‌کند. مقدار WHEN به طور پیش‌فرض `adaptive' است (نمایش پیش‌بینی‌ها روی پیوندهای کندتر و برای هموار کردن اختلالات شبکه) و همچنین می‌تواند `always` یا `never' باشد. متغیر محیطی MOSH_PREDICTION_DISPLAY این تنظیم را به صورت دائمی کنترل می‌کند و می‌تواند همین سه مقدار را بپذیرد. حتی در حالت `always'، برنامه \fBmosh\fP تنها زمانی پیش‌بینی‌ها را نشان می‌دهد که مطمئن باشد. این عموماً بدین معناست که پیش‌بینی قبلی در همان سطر ترمینال بدون فشردن نویسه‌های کنترلی میانی توسط سرور تأیید شده است. .TP .B \-a مترادف برای \-\-predict=always .TP .B \-n مترادف برای \-\-predict=never .TP .B \-\-predict\-overwrite\fP هنگامی که پیش‌بینی فعال است، پژواک محلی حدسی را قبل از متن موجود درج نکن، بلکه آن را بازنویسی کن. متغیر محیطی MOSH_PREDICTION_OVERWRITE نیز در صورتی که مقدار آن 'yes' باشد، این ویژگی را فعال می‌کند. .TP .B \-o مترادف برای \-\-predict\-overwrite .TP .B \-\-family=inet فقط استفاده از IPv4 برای اتصال SSH و نشست Mosh. .TP .B \-\-family=inet6 فقط استفاده از IPv6 برای اتصال SSH و نشست Mosh. این حالت و حالت‌های بعدی نیازمند ماژول‌های Perl از نوع IO::Socket::IP یا IO::Socket::INET6 هستند. .TP .B \-\-family=auto تشخیص خودکار IPv4 یا IPv6 برای میزبان‌هایی که تنها در یک خانواده دارای آدرس هستند. میزبان‌هایی که دارای هر دو آدرس IPv4 و IPv6 باشند با خطا مواجه خواهند شد و نیازمند اجرای مجدد \fBmosh\fP با گزینه \fB\-\-family\fP دیگری خواهند بود. .TP .B \-\-family=all انتخاب یک آدرس از بین تمام آدرس‌های موجود IPv4 یا IPv6، حتی برای میزبان‌های دوپشته‌ای (dual-stack). این راحت‌ترین گزینه است، اما هنگام رومینگ با سرورهای دوپشته‌ای نیازمند اتصال دوپشته‌ای و استفاده از نسخه 1.2.5 یا بالاتر Mosh روی سرور است. .TP .B \-\-family=prefer-inet مشابه \fB\-\-family=all\fP، اما ابتدا تلاش برای اتصال به آدرس‌های IPv4 انجام می‌شود. این حالت پیش‌فرض است. .TP .B \-\-family=prefer-inet6 مشابه \fB\-\-family=all\fP، اما ابتدا تلاش برای اتصال به آدرس‌های IPv6 انجام می‌شود. .TP .B \-4 مترادف برای \-\-family=inet .TP .B \-6 مترادف برای \-\-family=inet6 .TP .B \-p \fIPORT\fP[:\fIPORT2\fP], \-\-port=\fIPORT\fP[:\fIPORT2\fP] استفاده از یک پورت یا محدوده پورت خاص UDP سمت سرور، برای مثال اگر این تنها پورتی باشد که از طریق فایروال به سرور هدایت (forward) می‌شود. با \fB\-p 0\fP، سرور اجازه می‌دهد سیستم‌عامل یک پورت UDP در دسترس را انتخاب کند. در غیر این صورت، \fBmosh\fP پورتی بین 60000 تا 61000 را انتخاب خواهد کرد. لطفاً توجه داشته باشید که این گزینه بر پورت سمت سرور مورد استفاده SSH تأثیری ندارد. .TP .B \-\-bind\-server={ssh|any|\fIIP\fP} کنترل آدرس IP که \fBmosh-server\fP به آن متصل (bind) می‌شود. حالت پیش‌فرض `ssh' است، که در این حالت سرور از همان آدرس IP که اتصال SSH از آن برقرار شده است پاسخ خواهد داد (همان‌طور که در متغیر محیطی \fBSSH_CONNECTION\fP یافت می‌شود). این برای سرورهایی با چند کارت شبکه (multihomed) مفید است. با \-\-bind\-server=any، سرور روی رابط پیش‌فرض پاسخ خواهد داد و به یک آدرس IP خاص متصل نمی‌شود. این حالت می‌تواند در صورتی مفید باشد که اتصال از طریق \fBsslh\fP یا ابزار دیگری برقرار شود که باعث می‌شود اتصال SSH به نظر برسد از localhost آمده است. با \-\-bind\-server=\fIIP\fP، سرور تلاش خواهد کرد به آدرس IP مشخص‌شده متصل (bind) شود. .TP .B \-\-no\-init رشته راه‌اندازی اولیه \fBsmcup\fP و رشته پایان راه‌اندازی \fBrmcup\fP را به پایانه کلاینت ارسال نکن. در بسیاری از پایانه‌ها، این گزینه حالت صفحه جایگزین (alternate screen mode) را غیرفعال می‌کند. .TP .B \-\-local اجرای محلی \fBmosh-server\fP، بدون استفاده از \fBssh\fP. این گزینه نیازمند آن است که آرگومان \fBhost\fP یک آدرس عددی محلی IPv4/IPv6 باشد. این گزینه برای آزمایش مفید است. .TP .B \-\-experimental\-remote\-ip={proxy|local|remote} روش مورد استفاده برای پیدا کردن آدرس IP که \fBmosh-client\fP به آن متصل می‌شود را انتخاب می‌کند. حالت پیش‌فرض \fBproxy\fP است، که از گزینه .B \-\-ssh\-proxy\-command در SSH برای تولید و گزارش آدرس دقیقی که \fBssh\fP برای اتصال به میزبان راه دور استفاده می‌کند، بهره می‌برد. این گزینه عموماً بیشترین سازگاری را با میزبان‌ها و سایر گزینه‌های پیکربندی‌شده در فایل‌های پیکربندی \fBssh\fP دارد. با این حال، ممکن است برای برخی پیکربندی‌ها یا محیط‌هایی که یک میزبان واسط (bastion) در \fBssh\fP ترافیک را به ماشین راه دور فوروارد می‌کند، کار نکند. این گزینه تنها با \fBOpenSSH\fP کار می‌کند. با \fBremote\fP، از متغیر محیطی .B SSH_CONNECTION سرور استفاده خواهد شد. این برای محیط‌هایی که در آن‌ها فورواردینگ \fBssh\fP استفاده می‌شود یا گزینه .B \-\-ssh\-proxy\-command برای اهداف دیگر به کار می‌رود، مفید است. با \fBlocal\fP، برنامه Mosh نام میزبان ارائه‌شده در خط فرمان خود را بررسی و حل می‌کند (resolve) و از آن آدرس برای هر دو اتصال \fBssh\fP و Mosh استفاده می‌نماید. این گزینه هرگونه پیکربندی مربوط به همان نام میزبان در .B ssh_config را نادیده می‌گیرد. .SH "توالی‌های گریز (ESCAPE SEQUENCES)" نویسه گریز پیش‌فرضی که توسط Mosh استفاده می‌شود ASCII RS (کد دهدهی 30) است. این نویسه معمولاً در صفحه‌کلیدهای انگلیسی به صورت \fBCtrl-^\fP یا \fBCtrl-Shift-6\fP تایپ می‌شود. کاربران صفحه‌کلیدهای غیرانگلیسی ممکن است تایپ نویسه گریز پیش‌فرض را دشوار یا غیرممکن بیابند، و ممکن است نیاز به تغییر نویسه گریز داشته باشند. توضیحات MOSH_ESCAPE_KEY را در زیر ببینید. در این توضیحات، نویسه گریز پیکربندی‌شده به صورت \fBEsc\fP نشان داده شده است. بسته به اینکه نویسه گریز قابل چاپ باشد یا نباشد، دو حالت اندکی متفاوت برای توالی‌های گریز وجود دارد. اگر نویسه گریز یک نویسه قابل چاپ باشد، باید مانند \fBOpenSSH\fP با یک خط جدید (newline) آغاز شود. برای ارسال خودِ نویسه گریز، آن را دو بار تایپ کنید. اگر نویسه گریز روی \fB~\fP تنظیم شده باشد، رفتار \fBmosh\fP بسیار مشابه \fBOpenSSH\fP خواهد بود. اگر نویسه گریز یک نویسه کنترلی غیرقابل چاپ باشد، از هیچ پیشوندی استفاده نمی‌شود و نویسه گریز در هر زمانی شناسایی می‌شود. برای ارسال خودِ نویسه گریز، ابتدا نویسه گریز و سپس نویسه ASCII متناظر با آن را تایپ کنید (برای \fBCtrl-^\fP کلید \fB^\fP را تایپ می‌کنید، و برای \fBCtrl-B\fP کلید \fBB\fP را تایپ می‌کنید). توالی گریز برای بستن اتصال \fBEsc .\fP است. توالی \fBEsc Ctrl-Z\fP کلاینت را تعلیق می‌کند. هر توالی دیگری هر دو نویسه را مستقیماً به سرور منتقل می‌نماید. .SH "متغیرهای محیطی (ENVIRONMENT VARIABLES)" این متغیرها در واقع توسط خود .BR mosh (1) تفسیر نمی‌شوند، بلکه به .BR mosh-server (1) منتقل می‌گردند. آن‌ها در اینجا برای سهولت استفاده شرح داده شده‌اند. .TP .B MOSH_ESCAPE_KEY در صورت تنظیم، نویسه گریز مورد استفاده برای دستورات محلی را پیکربندی می‌کند. نویسه گریز می‌تواند هر نویسه ASCII در محدوده 1 تا 127 باشد. این متغیر باید با یک نویسه واحد واقعی ASCII تنظیم شود. نویسه‌های کنترلی با نویسه کنترلی واقعی ASCII تنظیم می‌شوند، نه با نمایش قابل چاپ مانند "^B". .TP .B MOSH_PREDICTION_DISPLAY پژواک محلی را مطابق توضیحات بالا کنترل می‌کند. فلگ خط فرمان این متغیر را نادیده می‌گیرد (override می‌کند). .TP .B MOSH_TITLE_NOPREFIX در صورت تنظیم، از اضافه کردن پیشوند "[mosh]" به عنوان پنجره جلوگیری می‌کند. .SH "همچنین ببینید (SEE ALSO)" .BR mosh-client (1), .BR mosh-server (1). صفحه خانگی پروژه: .I https://mosh.org .br .SH "نویسنده (AUTHOR)" برنامه mosh توسط Keith Winstein نوشته شده است. .SH "اشکالات (BUGS)" لطفاً باگ‌ها را به \fImosh-devel@mit.edu\fP گزارش دهید. کاربران همچنین می‌توانند در فهرست پستی .nh .I mosh-users@mit.edu .hy در نشانی زیر عضو شوند: .br .nh .I http://mailman.mit.edu/mailman/listinfo/mosh-users .hy .