এটি হল gnudoit.emacs কমান্ড যা আমাদের একাধিক বিনামূল্যের অনলাইন ওয়ার্কস্টেশন যেমন উবুন্টু অনলাইন, ফেডোরা অনলাইন, উইন্ডোজ অনলাইন এমুলেটর বা MAC OS অনলাইন এমুলেটর ব্যবহার করে OnWorks ফ্রি হোস্টিং প্রদানকারীতে চালানো যেতে পারে।
কার্যক্রম:
NAME এর
gnuserv, gnuclient - Emacs এবং XEmacs-এর জন্য সার্ভার এবং ক্লায়েন্ট
সাইনোপিসিস
gnuclient [-ডিসপ্লে প্রদর্শন] [-q] [-v] [-l লাইব্রেরি] [-ব্যাচ] [-f ফাংশন] [-ইভাল ফর্ম]
[-h হোস্টনাম] [-p পোর্ট] [-r remote-pathname] [[+line] ফাইল] ...
gnudoit [-q] ফর্ম
gnuserv
gnuattch gnuserv 3.x হিসাবে সরানো হয়েছে
বর্ণনাঃ
gnuclient ব্যবহারকারীকে নাম সম্পাদনা করার জন্য একটি চলমান Emacs বা XEmacs প্রক্রিয়ার অনুরোধ করার অনুমতি দেয়
ফাইল বা ডিরেক্টরি এবং/অথবা lisp ফর্ম মূল্যায়ন. আপনার পরিবেশের উপর নির্ভর করে, এটি হতে পারে
একটি X ফ্রেম বা একটি TTY ফ্রেম। এর জন্য একটি সাধারণ ব্যবহার হল a এর সাথে একটি ডায়ালআপ সংযোগ
যে মেশিনে একটি Emacs বা XEmacs প্রক্রিয়া বর্তমানে চলছে।
gnudoit একটি শেল স্ক্রিপ্ট ফ্রন্টএন্ড হল ``গ্নুক্লিয়েন্ট-ব্যাচ-ইভাল ফর্ম''। এর ব্যবহার হল
অবমূল্যায়ন সরাসরি gnuclient কল করার অভ্যাস করার চেষ্টা করুন।
gnuserv সার্ভার প্রোগ্রাম যা Emacs বা XEmacs দ্বারা সমস্ত পরিচালনা করার জন্য সেট করা হয়
ইনকামিং এবং বহির্গামী অনুরোধ. এটি সাধারণত সরাসরি আহ্বান করা হয় না, কিন্তু থেকে শুরু হয়
Emacs বা XEmacs লোড করে gnuserv প্যাকেজ এবং Lisp ফর্ম মূল্যায়ন (gnuserv-
শুরু)।
gnuattch আর বিদ্যমান নেই.
বিকল্প
gnuclient Emacs-এর যতটা কমান্ড লাইন অপশন সমর্থন করে তা এই ক্ষেত্রে বোঝা যায়
প্রসঙ্গ উপরন্তু এটি তার নিজস্ব কিছু যোগ.
দীর্ঘ নামের বিকল্পগুলিও একক পরিবর্তে একটি ডবল হাইফেন ব্যবহার করে নির্দিষ্ট করা যেতে পারে
এক.
- প্রদর্শন প্রদর্শন, -- প্রদর্শন প্রদর্শন
যদি এই বিকল্পটি দেওয়া হয় বা `DISPLAY' পরিবেশ ভেরিয়েবল সেট করা হয় তাহলে
gnuclient নির্দিষ্ট X ডিভাইসে একটি ফ্রেমে ফাইল সম্পাদনা করতে Emacs কে বলবে।
-q এই বিকল্পটি জানায় gnuclient এর সাথে সংযোগ তৈরি হয়ে গেলে প্রস্থান করুন
XEmacs প্রক্রিয়া। সাধারনত gnuclient কমান্ডের সমস্ত ফাইল না হওয়া পর্যন্ত অপেক্ষা করে
XEmacs প্রক্রিয়ার মাধ্যমে লাইনটি (তাদের বাফারগুলিকে মেরে ফেলা হয়েছে) দিয়ে শেষ করা হয়েছে, এবং সব
ফর্ম মূল্যায়ন করা হয়েছে.
-v যখন এই বিকল্পটি নির্দিষ্ট করা হয় gnuclient নির্দিষ্ট ফাইলের জন্য অনুরোধ করা হবে
সম্পাদিত পরিবর্তে দেখা।
-l লাইব্রেরি
Emacs কে নির্দিষ্ট লাইব্রেরি লোড করতে বলুন।
-ব্যাচ Emacs কে কোন ফ্রেম না খুলতে বলুন। শুধু লাইব্রেরি লোড করুন এবং লিস্প কোড মূল্যায়ন করুন। যদি
এক্সিকিউট করার জন্য কোন ফাইল, কল করার জন্য ফাংশন বা ইভাল করার জন্য ফর্মগুলি ব্যবহার করে দেওয়া হয় না -l,
-f, বা -ইভাল বিকল্প, তারপর ইভাল করার ফর্মগুলি STDIN থেকে পড়া হয়।
-f ফাংশন,
Emacs কে lisp ফাংশন এক্সিকিউট করুন।
-ইভাল ফর্ম
Emacs লিস্প ফর্ম কার্যকর করুন।
-h হোস্ট-নেম
শুধুমাত্র ইন্টারনেট-ডোমেন সকেটের সাথে ব্যবহার করা হয়, এই বিকল্পটি হোস্ট মেশিনকে নির্দিষ্ট করে
যা চালানো উচিত gnuserv. যদি এই বিকল্পটি নির্দিষ্ট করা না থাকে তবে এর মান
পরিবেশ পরিবর্তনশীল GNU_HOST ব্যবহার করা হয় যদি সেট করা হয়। যদি কোন হোস্টনাম নির্দিষ্ট করা না থাকে, এবং
GNU_HOST ভেরিয়েবল সেট করা নেই, একটি ইন্টারনেট সংযোগ চেষ্টা করা হবে না।
এনবি: gnuserv XAUTH প্রমাণীকরণ না হলে ইন্টারনেট সংযোগের অনুমতি দেয় না
ব্যবহৃত বা GNU_SECURE ভেরিয়েবল নির্দিষ্ট করা হয়েছে এবং একটি ফাইল তালিকায় পয়েন্ট করা হয়েছে
সমস্ত বিশ্বস্ত হোস্ট। (নীচে নিরাপত্তা দেখুন।)
মনে রাখবেন যে হোস্টনামের পরিবর্তে একটি ইন্টারনেট ঠিকানা নির্দিষ্ট করা যেতে পারে যা করতে পারে
সার্ভারের সাথে সংযোগগুলিকে কিছুটা গতি বাড়ান, বিশেষ করে যদি ক্লায়েন্ট
মেশিন ওয়াইপি চলছে।
এছাড়াও নোট করুন যে একটি হোস্টনাম UNIX এর সাথে সংযোগটি নির্দিষ্ট করতে ব্যবহার করা যেতে পারে
সার্ভারকে ইন্টারনেটের পরিবর্তে ইউনিক্স-ডোমেন সকেট (যদি সমর্থিত হয়) ব্যবহার করা উচিত-
ডোমেইন সকেট।
-p বন্দর শুধুমাত্র ইন্টারনেট-ডোমেন সকেটের সাথে ব্যবহার করা হয়, এই বিকল্পটি পরিষেবা পোর্ট নির্দিষ্ট করে
সার্ভার এবং ক্লায়েন্টদের মধ্যে যোগাযোগ করতে ব্যবহৃত হয়। যদি এই বিকল্পটি নির্দিষ্ট করা না থাকে,
তারপর পরিবেশ পরিবর্তনশীল GNU_PORT এর মান ব্যবহার করা হয়, যদি সেট করা হয়, অন্যথায় a
সার্ভিস ডাটাবেসে ``gnuserv'' নামক সার্ভিসটি দেখা হয়। অবশেষে, যদি না
পোর্টের জন্য অন্য মান পাওয়া যেতে পারে, তারপর একটি ডিফল্ট পোর্ট ব্যবহার করা হয় যা
সাধারণত 21490 + uid।
নোট করুন যে থেকে gnuserv কমান্ড-লাইন বিকল্পগুলিকে অনুমতি দেয় না, এটির জন্য পোর্ট করবে৷
একটি বিকল্প পদ্ধতির মাধ্যমে নির্দিষ্ট করতে হবে।
-r পথের নাম
শুধুমাত্র ইন্টারনেট-ডোমেইন সকেটের সাথে ব্যবহার করা হয়, এর জন্য পাথনাম আর্গুমেন্টের প্রয়োজন হতে পারে
দূরবর্তী মেশিনের রুট ডিরেক্টরিতে কিভাবে পৌঁছাতে হয় তা Emacs কে জানান। gnuclient
প্রদত্ত প্রতিটি পাথ আর্গুমেন্টের সাথে এই স্ট্রিংটি প্রিপেন্ড করে। উদাহরণস্বরূপ, যদি আপনি চেষ্টা করছেন
অটার নামক একটি ক্লায়েন্ট মেশিনে একটি ফাইল সম্পাদনা করতে, যার মূল ডিরেক্টরি ছিল
সার্ভার মেশিন থেকে পাথ /net/otter এর মাধ্যমে অ্যাক্সেসযোগ্য, তারপর এই যুক্তি
'/net/otter' এ সেট করা উচিত। যদি এই বিকল্পটি বাদ দেওয়া হয়, তাহলে মান নেওয়া হয়
পরিবেশ পরিবর্তনশীল GNU_NODE থেকে, যদি সেট করা হয়, অথবা অন্যথায় খালি স্ট্রিং।
[+n] ফাইল
এটি সম্পাদনা করা ফাইলের পথ. ফাইল যদি একটি ডিরেক্টরি হয়, তাহলে
ডিরেক্টরি ব্রাউজার dired বা বানর সাধারণত পরিবর্তে আহ্বান করা হয়. কার্সার রাখা হয়
লাইন নম্বর 'n' এ উল্লেখ করা থাকলে।
সেটআপ
gnuserv XEmacs-এর সাম্প্রতিক সংস্করণগুলির সাথে মানসম্মতভাবে প্যাকেজ করা হয়। অতএব, আপনি হতে হবে
XEmacs Lisp ফর্ম (gnuserv-start) মূল্যায়ন করে সার্ভার শুরু করতে সক্ষম, অথবা
সমানভাবে `Mx gnuserv-start' টাইপ করে।
কনফিগারেশন
প্রোগ্রামের এই স্যুটটির আচরণ বেশিরভাগই Emacs এবং লিস্প সাইডে নিয়ন্ত্রিত হয়
তার আচরণ একটি বড় পরিমাণে কাস্টমাইজ করা যেতে পারে. টাইপ `Mx কাস্টমাইজ-গ্রুপ RET gnuserv
সহজ অ্যাক্সেসের জন্য RET'। আরও ডকুমেন্টেশন `gnuserv.el' ফাইলে পাওয়া যাবে
EXAMPLE টি
gnuclient -q -f mh-smail
gnuclient -h কোকিল -r /ange@otter: / Tmp / '*
gnuclient ../src/listproc.c
এর etc/gnuserv ডিরেক্টরিতে আরও উদাহরণ এবং নমুনা র্যাপার স্ক্রিপ্ট প্রদান করা হয়েছে
ইম্যাক্স ইনস্টলেশন।
SYSV আইপিসি
SysV IPC এর মধ্যে যোগাযোগ করতে ব্যবহৃত হয় gnuclient এবং gnuserv যদি SYSV_IPC চিহ্ন হয়
gnuserv.h এর শীর্ষে সংজ্ঞায়িত। এটি ইউনিক্স-ডোমেইন এবং ইন্টারনেট- উভয়ের সাথেই বেমানান।
নীচে বর্ণিত হিসাবে ডোমেন সকেট যোগাযোগ. /tmp/gsrv নামে একটি ফাইল??? একটি হিসাবে তৈরি করা হয়
বার্তা সারি জন্য কী, এবং সরানো হলে সার্ভার এবং মধ্যে যোগাযোগের কারণ হবে
সার্ভার পুনরায় চালু না হওয়া পর্যন্ত ক্লায়েন্ট ব্যর্থ হবে।
UNIX-DOMAIN সকেট
একটি ইউনিক্স-ডোমেন সকেট মধ্যে যোগাযোগ করতে ব্যবহৃত হয় gnuclient এবং gnuserv যদি প্রতীক
UNIX_DOMAIN_SOCKETS সংজ্ঞায়িত করা হয়েছে gnuserv.h এর শীর্ষে। একটি ফাইল কল
/tmp/gsrvdir????/gsrv যোগাযোগের জন্য তৈরি করা হয়েছে। যদি USE_TMPDIR চিহ্নটি সেট করা থাকে
gnuserv.h-এর টপ, $TMPDIR, সেট করা হলে, /tmp-এর পরিবর্তে ব্যবহার করা হয়। যদি সেই ফাইলটি হয়
মুছে ফেলা হয়েছে, বা TMPDIR সার্ভার এবং ক্লায়েন্ট, যোগাযোগের জন্য আলাদা মান রয়েছে
সার্ভার এবং ক্লায়েন্টের মধ্যে ব্যর্থ হবে। শুধুমাত্র gnuserv চালিত ব্যবহারকারীই সক্ষম হবে
সকেটের সাথে সংযোগ করুন।
ইন্টারনেট-ডোমেন সকেট
ইন্টারনেট-ডোমেইন সকেট মধ্যে যোগাযোগ করতে ব্যবহার করা হয় gnuclient এবং gnuserv যদি
INTERNET_DOMAIN_SOCKETS প্রতীকটি gnuserv.h-এর শীর্ষে সংজ্ঞায়িত করা হয়েছে। উভয়ই ইন্টারনেট-ডোমেইন
এবং ইউনিক্স-ডোমেন সকেট একই সময়ে ব্যবহার করা যেতে পারে। যদি একটি হোস্টনাম -h বা এর মাধ্যমে নির্দিষ্ট করা হয়
GNU_HOST পরিবেশ পরিবর্তনশীলের মাধ্যমে, gnuclient ইন্টারনেট ব্যবহার করে সংযোগ স্থাপন করুন
ডোমেইন সকেট। যদি তা না হয়, একটি ইউনিক্স-ডোমেন সকেট বা মাধ্যমে একটি স্থানীয় সংযোগের চেষ্টা করা হয়
SYSV IPC।
নিরাপত্তা
ইন্টারনেট-ডোমেইন সকেট ব্যবহার করে, নিরাপত্তার আরও শক্তিশালী রূপ প্রয়োজন যা ছিল না
ইউনিক্স-ডোমেইন সকেট বা SysV IPC এর সাথে প্রয়োজনীয়। বর্তমানে, দুটি প্রমাণীকরণ
প্রোটোকলগুলি এটি প্রদান করতে সমর্থিত: MIT-MAGIC-COOKIE-1 (X11 এর উপর ভিত্তি করে xauth(1)
প্রোগ্রাম) এবং একটি সাধারণ হোস্ট-ভিত্তিক অ্যাক্সেস কন্ট্রোল মেকানিজম, যাকে পরবর্তীতে GNUSERV-1 বলা হয়। দ্য
GNUSERV-1 প্রোটোকল সর্বদা উপলব্ধ থাকে, যেখানে MIT-MAGIC-COOKIE-1 এর জন্য সমর্থন হতে পারে বা হতে পারে
কম্পাইল-টাইমে সক্রিয় করা হয়নি (gnuserv.h-এর শীর্ষে একটি #define এর মাধ্যমে)।
gnuserv, GNUSERV-1 ব্যবহার করে, মেশিন স্তরে সীমিত আকারের অ্যাক্সেস নিয়ন্ত্রণ করে।
ডিফল্টরূপে কোনো ইন্টারনেট-ডোমেইন সকেট খোলা হয় না। যদি ভেরিয়েবল GNU_SECURE পাওয়া যায়
in gnuservএর পরিবেশ, এবং এটি একটি পাঠযোগ্য ফাইলের নাম দেয়, তারপর এই ফাইলটি খোলা হয় এবং
হোস্টের একটি তালিকা বলে ধরে নেওয়া হয়, প্রতি লাইনে একটি, যেখান থেকে সার্ভার অনুরোধের অনুমতি দেবে।
অন্য কোনো হোস্ট থেকে সংযোগ প্রত্যাখ্যান করা হবে. এমনকি মেশিন যার উপর gnuserv is
চলমান ইন্টারনেট সকেটের মাধ্যমে সংযোগ করার অনুমতি নেই যদি না তার হোস্টনাম থাকে
এই ফাইলে স্পষ্টভাবে উল্লেখ করা হয়েছে। মনে রাখবেন যে হোস্ট একটি সংখ্যাসূচক আইপি ঠিকানা হতে পারে
অথবা একটি হোস্টনাম, এবং যে কোন একটি অনুমোদিত হোস্ট ব্যবহারকারী আপনার gnuserv এর সাথে সংযোগ করতে পারে এবং
নির্বিচারে ইলিস্প চালান (যেমন, আপনার সমস্ত ফাইল মুছুন)। যদি এই ফাইল অনেক ধারণ করে
hostnames তাহলে সার্ভার শুরু হতে বেশ সময় লাগতে পারে।
যখন MIT-MAGIC-COOKIE-1 প্রোটোকল সক্রিয় করা হয়, একটি ইন্টারনেট সকেট is ডিফল্টরূপে খোলা।
gnuserv যেকোন হোস্ট থেকে একটি সংযোগ গ্রহণ করবে এবং একটি "ম্যাজিক কুকি" এর জন্য অপেক্ষা করবে
(মূলত, একটি পাসওয়ার্ড) ক্লায়েন্ট দ্বারা উপস্থাপন করা হবে। যদি ক্লায়েন্ট উপস্থাপন না করে
কুকি, বা কুকি ভুল হলে, ক্লায়েন্টের প্রমাণীকরণ আছে বলে মনে করা হয়
ব্যর্থ হয়েছে. এই মুহূর্তে. gnuserv GNUSERV-1 প্রোটোকলে ফিরে আসে; যদি ক্লায়েন্ট হয়
GNU_SECURE ফাইলে তালিকাভুক্ত একটি হোস্ট থেকে কল করলে, সংযোগটি গ্রহণ করা হবে,
অন্যথায় এটি প্রত্যাখ্যান করা হবে।
ব্যবহার এমআইটি-ম্যাজিক-কুকি-১ প্রমাণীকরণ
যখন gnuserv সার্ভার শুরু হয়েছে, এটি প্রদর্শন 999 অন করার জন্য সংজ্ঞায়িত একটি কুকির সন্ধান করে
মেশিন যেখানে এটি চলছে। কুকি পাওয়া গেলে, এটি হিসাবে ব্যবহারের জন্য সংরক্ষণ করা হবে
প্রমাণীকরণ কুকি. এই কুকিগুলি একটি অনুমোদন ফাইলে সংজ্ঞায়িত করা হয় (সাধারণত
~/.অথরিটি) যেটি X11 দ্বারা চালিত হয় xauth(1) প্রোগ্রাম। উদাহরণস্বরূপ, একটি মেশিন
"কালী" যা একটি emacs চালায় যা আহ্বান করে gnuserv নিম্নলিখিত হিসাবে প্রতিক্রিয়া করা উচিত (এ
শেল প্রম্পট) সঠিকভাবে সেট আপ করার সময়।
kali% xauth তালিকা
GS65.SP.CS.CMU.EDU:0 এমআইটি-ম্যাজিক-কুকি-1 11223344
KALI.FTM.CS.CMU.EDU:999 এমআইটি-ম্যাজিক-কুকি-1 1234
উপরের ক্ষেত্রে, অনুমোদন ফাইল দুটি কুকি সংজ্ঞায়িত করে। দ্বিতীয় এক, সংজ্ঞায়িত
সার্ভার মেশিনে স্ক্রীন 999 এর জন্য, gnuserv প্রমাণীকরণের জন্য ব্যবহৃত হয়।
ক্লায়েন্ট মেশিনের দিকে, অনুমোদন ফাইলে একটি অভিন্ন লাইন থাকতে হবে,
উল্লেখ সার্ভারের কুকি অন্য কথায়, একটি মেশিনে "ফুবার" যা ইচ্ছা করে
"কালি" এর সাথে সংযোগ করুন, `xauth তালিকা' আউটপুটে লাইন থাকা উচিত:
KALI.FTM.CS.CMU.EDU:999 এমআইটি-ম্যাজিক-কুকি-1 1234
কুকি তৈরি করতে, আপনি যেমন একটি কমান্ড ব্যবহার করতে পারেন
xauth যোগ করুন `হোস্টনাম`:999 MIT-MAGIC-COOKIE-1 `head -c512 /dev/urandom|md5sum`
অনুমোদন ফাইল সম্পর্কে আরও তথ্যের জন্য, দেখুন xauth(1X11) ম্যান পেজ,
অথবা ইন্টারেক্টিভভাবে (কোনও আর্গুমেন্ট ছাড়া) xauth আহ্বান করুন এবং প্রম্পটে "help" টাইপ করুন।
অনুমোদন প্রোটোকলের নামে সেই কেসটি মনে রাখবেন (যেমন `MIT-MAGIC-
কুকি-1') is উল্লেখযোগ্য!
পরিবেশ
DISPLAY কে সম্পাদনা ফ্রেম রাখতে ডিফল্ট X ডিভাইস।
onworks.net পরিষেবা ব্যবহার করে অনলাইনে gnudoit.emacs ব্যবহার করুন