gnuclient.emacs - آنلاین در ابر

این دستور gnuclient.emacs است که می تواند در ارائه دهنده هاست رایگان OnWorks با استفاده از یکی از چندین ایستگاه کاری آنلاین رایگان ما مانند Ubuntu Online، Fedora Online، شبیه ساز آنلاین ویندوز یا شبیه ساز آنلاین MAC OS اجرا شود.

برنامه:

نام


gnuserv، gnuclient - سرور و مشتریان برای Emacs و XEmacs

خلاصه


خردمند [-نمایشگر] [-q] [-v] [-l کتابخانه] [-batch] [-f function] [-eval form]
[-h hostname] [-p port] [-r remote-pathname] [[+line] file] ...
gnudoit [-q] فرم
gnuserv
gnuattach از gnuserv 3.x حذف شد

شرح


خردمند به کاربر اجازه می دهد تا یک فرآیند Emacs یا XEmacs در حال اجرا را برای ویرایش نام درخواست کند
فایل ها یا دایرکتوری ها و/یا ارزیابی فرم های lisp. بسته به محیط شما، می تواند باشد
یک فریم X یا یک قاب TTY. یکی از کاربردهای معمولی برای این، اتصال dialup به a است
ماشینی که در حال حاضر فرآیند Emacs یا XEmacs روی آن در حال اجرا است.

gnudoit یک اسکریپت پوسته برای "فرم gnuclient -batch -eval" است. کاربرد آن است
منسوخ. سعی کنید به تماس مستقیم با gnuclient عادت کنید.

gnuserv برنامه سروری است که توسط Emacs یا XEmacs اجرا می شود تا همه را مدیریت کند
درخواست های ورودی و خروجی معمولاً مستقیماً فراخوانی نمی شود، بلکه از آن شروع می شود
Emacs یا XEmacs با بارگذاری gnuserv بسته بندی و ارزیابی فرم Lisp (gnuserv-
شروع).

gnuattach دیگر موجود نیست.

OPTIONS


خردمند از گزینه های خط فرمان Emacs که در این مورد منطقی است پشتیبانی می کند
متن نوشته. علاوه بر این، چند مورد از خود را اضافه می کند.
گزینه های دارای نام طولانی را نیز می توان با استفاده از خط فاصله دوتایی به جای تک مشخص کرد
یک.

-نمایش دادن نمایش دادن، --نمایش دادن نمایش
اگر این گزینه داده شود یا متغیر محیطی «DISPLAY» تنظیم شود، آنگاه
gnuclient به Emacs می‌گوید که فایل‌ها را در یک فریم در دستگاه X مشخص شده ویرایش کند.

-q این گزینه اطلاع رسانی می کند خردمند برای خروج پس از برقراری ارتباط با
فرآیند XEmacs به طور معمول خردمند صبر می کند تا تمام فایل های موجود در دستور
خط با (بافرهای آنها کشته شده) توسط فرآیند XEmacs به پایان رسیده است، و همه
فرم ها ارزیابی شده است.

-v وقتی این گزینه مشخص شده باشد خردمند درخواست خواهد کرد که فایل های مشخص شده باشد
به جای ویرایش مشاهده شد

-l کتابخانه
به Emacs بگویید تا کتابخانه مشخص شده را بارگیری کند.

- دسته ای به Emacs بگویید هیچ فریمی را باز نکند. فقط کتابخانه ها را بارگیری کنید و کد lisp را ارزیابی کنید. اگر
هیچ فایلی برای اجرا، توابعی برای فراخوانی یا فرم هایی برای eval با استفاده از -l,
-f، یا ارزشیابی گزینه ها، سپس فرم ها به eval از STDIN خوانده می شوند.

-f عملکرد،
کاری کنید که Emacs تابع lisp را اجرا کند.

ارزشیابی فرم
Emacs را وادار کنید تا فرم lisp را اجرا کند.

-h نام میزبان
این گزینه فقط با سوکت های دامنه اینترنت استفاده می شود، دستگاه میزبان را مشخص می کند
که باید در حال اجرا باشد gnuserv. اگر این گزینه مشخص نشده باشد، مقدار
در صورت تنظیم از متغیر محیطی GNU_HOST استفاده می شود. اگر نام میزبان مشخص نشده باشد، و
متغیر GNU_HOST تنظیم نشده است، اتصال به اینترنت انجام نخواهد شد.
توجه: gnuserv اجازه اتصال به اینترنت را نمی دهد مگر اینکه احراز هویت XAUTH باشد
استفاده می شود یا متغیر GNU_SECURE مشخص شده است و به لیست فایل اشاره می کند
همه هاست های قابل اعتماد (به SECURITY زیر مراجعه کنید.)

توجه داشته باشید که ممکن است یک آدرس اینترنتی به جای نام میزبان که می تواند مشخص شود
سرعت اتصال به سرور را تا حد زیادی افزایش دهید، به خصوص اگر مشتری
دستگاه YP در حال اجرا است.

همچنین توجه داشته باشید که نام میزبان از یونیکس می توان برای تعیین اینکه اتصال به
سرور باید از سوکت دامنه یونیکس (در صورت پشتیبانی) به جای اینترنت استفاده کند.
سوکت دامنه

-p بندر این گزینه فقط با سوکت های دامنه اینترنت استفاده می شود، پورت سرویس را مشخص می کند
برای برقراری ارتباط بین سرور و مشتری استفاده می شود. اگر این گزینه مشخص نشده باشد،
سپس مقدار متغیر محیطی GNU_PORT استفاده می شود، اگر تنظیم شود، در غیر این صورت a
سرویسی به نام "gnuserv" در پایگاه داده خدمات جستجو می شود. در نهایت اگر خیر
مقدار دیگری را می توان برای پورت پیدا کرد، سپس یک پورت پیش فرض استفاده می شود که این است
معمولا 21490 + uid.
توجه داشته باشید که از زمان gnuserv به گزینه های خط فرمان اجازه نمی دهد، پورت مربوط به آن است
باید از طریق یکی از روش های جایگزین مشخص شود.

-r نام خانوادگی
آرگومان مسیر ممکن است مورد نیاز باشد که فقط با سوکت های دامنه اینترنت استفاده می شود
نحوه دسترسی به دایرکتوری ریشه یک ماشین راه دور را به Emacs اطلاع دهید. خردمند
این رشته را به هر آرگومان مسیر داده شده اضافه می کند. به عنوان مثال، اگر تلاش می کردید
برای ویرایش یک فایل در یک ماشین کلاینت به نام otter که دایرکتوری ریشه آن بود
قابل دسترسی از ماشین سرور از طریق مسیر /net/otter و سپس این آرگومان
باید روی '/net/otter' تنظیم شود. اگر این گزینه حذف شود، مقدار گرفته می شود
از متغیر محیطی GNU_NODE، در صورت تنظیم، یا رشته خالی در غیر این صورت.

[+n] پرونده
این مسیر فایلی است که باید ویرایش شود. اگر فایل یک دایرکتوری است، پس
معمولاً به جای آن از مرورگرهای دایرکتوری dired یا monkey فراخوانی می شود. مکان نما قرار داده شده است
در صورت مشخص شدن در شماره خط 'n'.

برپایی


gnuserv به طور استاندارد با نسخه های اخیر XEmacs بسته بندی شده است. بنابراین، شما باید باشید
قادر به راه اندازی سرور به سادگی با ارزیابی فرم XEmacs Lisp (gnuserv-start)، یا
به طور معادل با تایپ «Mx gnuserv-start».

پیکربندی


رفتار این مجموعه از برنامه ها بیشتر در سمت lisp در Emacs و کنترل می شود
رفتار آن را می توان تا حد زیادی سفارشی کرد. Mx customize-group RET gnuserv را تایپ کنید
RET برای دسترسی آسان. اسناد بیشتر را می توان در فایل "gnuserv.el" یافت.

مثال


gnuclient -q -f mh-smail
gnuclient -h فاخته -r /ange@otter: / tmp /*
gnuclient ../src/listproc.c

نمونه های بیشتر و نمونه اسکریپت های wrapper در دایرکتوری etc/gnuserv ارائه شده است
نصب Emacs

SYSV IPC


SysV IPC برای برقراری ارتباط بین استفاده می شود خردمند و gnuserv اگر نماد SYSV_IPC باشد
در بالای gnuserv.h تعریف شده است. این هم با دامنه یونیکس و هم با اینترنت ناسازگار است
ارتباط سوکت دامنه همانطور که در زیر توضیح داده شده است. فایلی به نام /tmp/gsrv؟؟؟ به عنوان یک ایجاد می شود
برای صف پیام کلید کنید و در صورت حذف باعث ارتباط بین سرور و
تا زمانی که سرور راه اندازی مجدد نشود، مشتری از کار بیفتد.

UNIX-DOMAIN پریز برق


یک سوکت دامنه یونیکس برای برقراری ارتباط بین استفاده می شود خردمند و gnuserv اگر نماد
UNIX_DOMAIN_SOCKETS در بالای gnuserv.h تعریف شده است. یک فایل به نام
/tmp/gsrvdir????/gsrv برای ارتباط ایجاد شده است. اگر نماد USE_TMPDIR روی تنظیم شده باشد
بالای gnuserv.h، $TMPDIR، هنگامی که تنظیم می شود، به جای /tmp استفاده می شود. اگر آن فایل است
حذف شده است، یا TMPDIR دارای مقادیر متفاوتی برای ارتباط سرور و کلاینت است
بین سرور و مشتری شکست خواهد خورد. فقط کاربری که gnuserv را اجرا می کند قادر خواهد بود
به سوکت وصل کنید

INTERNET-DOMAIN پریز برق


سوکت های دامنه اینترنت برای برقراری ارتباط بین آنها استفاده می شود خردمند و gnuserv اگر
نماد INTERNET_DOMAIN_SOCKETS در بالای gnuserv.h تعریف شده است. هر دو دامنه اینترنتی
و سوکت های دامنه یونیکس را می توان همزمان استفاده کرد. اگر نام میزبان از طریق -h یا مشخص شده باشد
از طریق متغیر محیطی GNU_HOST، خردمند با استفاده از اینترنت ارتباط برقرار کنید
سوکت دامنه اگر نه، یک اتصال محلی از طریق سوکت دامنه یونیکس یا
SYSV IPC.

امنیت


با استفاده از سوکت های دامنه اینترنت، به شکل قوی تری از امنیت نیاز است که اینطور نبود
با سوکت های دامنه یونیکس یا IPC SysV ضروری است. در حال حاضر، دو احراز هویت
پروتکل ها برای ارائه این مورد پشتیبانی می شوند: MIT-MAGIC-COOKIE-1 (بر اساس X11 xauth(1)
برنامه) و یک مکانیسم کنترل دسترسی مبتنی بر میزبان ساده که از این پس GNUSERV-1 نامیده می شود. در
پروتکل GNUSERV-1 همیشه در دسترس است، در حالی که پشتیبانی از MIT-MAGIC-COOKIE-1 ممکن است یا ممکن است
در زمان کامپایل (از طریق #define در بالای gnuserv.h) فعال نشده اند.

gnuserv، با استفاده از GNUSERV-1، شکل محدودی از کنترل دسترسی را در سطح ماشین انجام می دهد.
به طور پیش فرض هیچ سوکت دامنه اینترنتی باز نمی شود. اگر متغیر GNU_SECURE یافت شود
in gnuserv's محیط، و نام فایل قابل خواندن را نامگذاری می کند، سپس این فایل باز می شود و
فرض می شود لیستی از هاست ها، یکی در هر خط، که سرور از آن درخواست ها را اجازه می دهد.
اتصال از هر میزبان دیگری رد خواهد شد. حتی ماشینی که روی آن gnuserv is
اجرا برای برقراری اتصال از طریق سوکت اینترنت مجاز نیست مگر اینکه نام میزبان آن باشد
به صراحت در این فایل مشخص شده است. توجه داشته باشید که یک میزبان ممکن است یک آدرس IP عددی باشد
یا یک نام میزبان، و آن هر کاربر در یک هاست تایید شده ممکن است به gnuserv شما وصل شود
elisp دلخواه را اجرا کنید (به عنوان مثال، تمام فایل های خود را حذف کنید). اگر این فایل حاوی مقدار زیادی از
پس از آن سرور ممکن است زمان زیادی طول بکشد تا راه اندازی شود.

هنگامی که پروتکل MIT-MAGIC-COOKIE-1 فعال است، یک سوکت اینترنت is به صورت پیش فرض باز شد
gnuserv اتصال از هر میزبانی را می پذیرد و منتظر یک "کوکی جادویی" می ماند
(در اصل یک رمز عبور) که باید توسط مشتری ارائه شود. اگر مشتری ارائه ندهد
کوکی، یا اگر کوکی اشتباه باشد، احراز هویت مشتری در نظر گرفته می شود
ناموفق. در این مرحله. gnuserv به پروتکل GNUSERV-1 برمی گردد. اگر مشتری باشد
با تماس از میزبان لیست شده در فایل GNU_SECURE، اتصال پذیرفته می شود،
در غیر این صورت رد خواهد شد.

با استفاده از MIT-MAGIC-COOKIE-1 احراز هویت
هنگامی که gnuserv سرور راه اندازی شده است، به دنبال یک کوکی تعریف شده برای نمایش 999 می گردد
ماشینی که در آن کار می کند اگر کوکی پیدا شود، برای استفاده به عنوان ذخیره می شود
کوکی احراز هویت این کوکی ها در یک فایل مجوز تعریف می شوند (معمولا
~/.Xauthority) که توسط X11 دستکاری می شود xauth(1) برنامه مثلا یک ماشین
"kali" که emacs را اجرا می کند که فراخوانی می کند gnuserv باید به شرح زیر پاسخ دهد (در
shell prompt) هنگامی که به درستی تنظیم شود.

لیست kali% xauth
GS65.SP.CS.CMU.EDU:0 MIT-MAGIC-COOKIE-1 11223344
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234

در مورد بالا، فایل مجوز دو کوکی تعریف می کند. دومی، تعریف شده است
برای صفحه نمایش 999 در ماشین سرور، برای احراز هویت gnuserv استفاده می شود.

در سمت دستگاه مشتری، فایل مجوز باید دارای یک خط یکسان باشد.
مشخص کردن سرور کوکی. به عبارت دیگر، روی یک ماشین "فوبار" که مایل است
به "kali" متصل شوید، خروجی "xauth list" باید حاوی این خط باشد:

KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234

برای ایجاد کوکی، می توانید از دستوری مانند استفاده کنید
xauth "نام میزبان" را اضافه کنید:999 MIT-MAGIC-COOKIE-1 `head -c512 /dev/urandom|md5sum`

برای اطلاعات بیشتر در مورد فایل های مجوز، نگاهی به xauth(1X11) صفحه اصلی،
یا xauth را به صورت تعاملی فراخوانی کنید (بدون هیچگونه آرگومان) و "help" را در اعلان تایپ کنید.
آن مورد را در نام پروتکل مجوز (به عنوان مثال، MIT-MAGIC-
کوکی-1') is قابل توجه!

محیط زیست


نمایش دادن دستگاه X پیش فرض برای قرار دادن فریم ویرایش.

از gnuclient.emacs به صورت آنلاین با استفاده از خدمات onworks.net استفاده کنید



جدیدترین برنامه های آنلاین لینوکس و ویندوز