これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド gnudoit.emacs です。
プログラム:
NAME
gnuserv、gnuclient-EmacsおよびXEmacs用のサーバーとクライアント
SYNOPSIS
核クライアント [-display 表示] [-q] [-v] [-l ライブラリ] [-batch] [-f 関数] [-eval 形式]
[-hホスト名] [-pポート] [-rリモートパス名] [[+ line]ファイル]..。
ヌードイト [Q] フォーム
グヌサーブ
グヌアタッチ gnuserv3.xで削除されました
DESCRIPTION
核クライアント ユーザーが実行中のEmacsまたはXEmacsプロセスに名前付きの編集を要求できるようにします
ファイルまたはディレクトリおよび/またはlispフォームを評価します。 環境に応じて、
XフレームまたはTTYフレーム。 これの典型的な使用法のXNUMXつは、へのダイヤルアップ接続です。
EmacsまたはXEmacsプロセスが現在実行されているマシン。
ヌードイト `` gnuclient -batch -evalform ''のシェルスクリプトフロントエンドです。 その使用は
非推奨。 gnuclientを直接呼び出すことに慣れるようにしてください。
グヌサーブ すべてを処理するためにEmacsまたはXEmacsによって実行されるように設定されているサーバープログラムです
着信および発信要求。 通常は直接呼び出されませんが、
EmacsまたはXEmacsをロードして グヌサーブ パッケージ化してLispフォームを評価する(gnuserv-
始める)。
グヌアタッチ もはや存在しない。
OPTIONS
核クライアント これで意味のある限り多くのEmacsのコマンドラインオプションをサポートします
環境。 さらに、それはそれ自身のいくつかを追加します。
長い名前のオプションは、単一の代わりに二重のハイフンを使用して指定することもできます
1。
-表示 表示、 - 画面 ディスプレイ
このオプションが指定されているか、 `DISPLAY '環境変数が設定されている場合、
gnuclientは、指定されたXデバイス上のフレーム内のファイルを編集するようにEmacsに指示します。
-q このオプションは通知します 核クライアント との接続が確立されたら終了します
XEmacsプロセス。 通常は 核クライアント コマンドのすべてのファイルが表示されるまで待機します
XEmacsプロセスによって行が終了し(バッファが強制終了され)、すべて
フォームが評価されました。
-v このオプションを指定した場合 核クライアント 指定されたファイルが
編集ではなく表示。
-l ライブラリ
指定されたライブラリをロードするようにEmacsに指示します。
-バッチ Emacsにフレームを開かないように指示します。 ライブラリをロードして、lispコードを評価するだけです。 もしも
実行するファイル、呼び出す関数、または評価するフォームは、 -l,
-fまたは -評価 オプションを選択すると、評価するフォームがSTDINから読み取られます。
-f 機能、
Emacsにlisp関数を実行させます。
-評価 フォーム
Emacsにlispフォームを実行させます。
-h hostname
インターネットドメインソケットでのみ使用されるこのオプションは、ホストマシンを指定します
実行する必要があります グヌサーブ。 このオプションが指定されていない場合、
設定されている場合、環境変数GNU_HOSTが使用されます。 ホスト名が指定されていない場合、および
GNU_HOST変数が設定されていない場合、インターネット接続は試行されません。
NB: グヌサーブ XAUTH認証がない限り、インターネット接続を許可しません
使用されているか、GNU_SECURE変数が指定されており、ファイルリストを指している
すべての信頼できるホスト。 (以下のセキュリティを参照してください。)
ホスト名の代わりにインターネットアドレスを指定できることに注意してください。
特にクライアントの場合、サーバーへの接続をかなり高速化します
マシンはYPを実行しています。
のホスト名にも注意してください UNIX への接続を指定するために使用できます
サーバーは、インターネットではなく、Unixドメインソケット(サポートされている場合)を使用する必要があります-
ドメインソケット。
-p ポート インターネットドメインソケットでのみ使用されるこのオプションは、サービスポートを指定します
サーバーとクライアント間の通信に使用されます。 このオプションが指定されていない場合、
次に、環境変数GNU_PORTの値が設定されている場合は使用され、設定されていない場合は
「gnuserv」と呼ばれるサービスがサービスデータベースで検索されます。 最後に、
ポートに他の値が見つかると、デフォルトのポートが使用されます。
通常21490 + uid。
なお、 グヌサーブ コマンドラインオプションを許可しません、そのためのポートは許可します
代替方法のXNUMXつを介して指定する必要があります。
-r パス名
インターネットドメインソケットでのみ使用される場合、pathname引数は次のように必要になる場合があります。
リモートマシンのルートディレクトリに到達する方法をEmacsに通知します。 核クライアント
指定された各パス引数の前にこの文字列を追加します。 たとえば、あなたがしようとしていた場合
ルートディレクトリが
パス/ net / otterを介してサーバーマシンからアクセス可能、次にこの引数
'/ net / otter'に設定する必要があります。 このオプションを省略すると、値が取得されます
設定されている場合は環境変数GNU_NODEから、それ以外の場合は空の文字列から。
[+ n] file
編集するファイルのパスです。 ファイルがディレクトリの場合、
通常、ディレクトリブラウザはdiredまたはmonkeyが代わりに呼び出されます。 カーソルが置かれます
指定されている場合は、行番号 'n'にあります。
セットアップ
グヌサーブ XEmacsの最近のバージョンに標準でパッケージ化されています。 したがって、あなたは
XEmacs Lispフォーム(gnuserv-start)を評価するだけでサーバーを起動できる、または
同等に `Mx gnuserv-start 'と入力します。
CONFIGURATION
この一連のプログラムの動作は、主にEmacsのlisp側で制御されます。
その動作は大幅にカスタマイズできます。 「Mxcustomize-groupRETgnuserv」と入力します
簡単にアクセスできるようにRET '。 その他のドキュメントは、ファイル `gnuserv.el 'にあります。
実施例
gnuclient -q -f mh-smail
gnuclient -h cuckoo -r / ange @ otter: / tmp /*
gnuclient ../src/listproc.c
その他の例とサンプルラッパースクリプトは、のetc / gnuservディレクトリにあります。
Emacsのインストール。
SYSV IPC
SysV IPCは、以下の間の通信に使用されます 核クライアント と グヌサーブ シンボルSYSV_IPCが
gnuserv.hの上部で定義されています。 これは、Unixドメインとインターネットの両方と互換性がありません-
以下に説明するドメインソケット通信。 / tmp / gsrv ???というファイルとして作成されます
メッセージキューのキー。削除すると、サーバーとの間の通信が発生します。
サーバーが再起動されるまでクライアントは失敗します。
UNIXドメイン ソケット
Unixドメインソケットは、相互の通信に使用されます 核クライアント と グヌサーブ シンボルの場合
UNIX_DOMAIN_SOCKETSは、gnuserv.hの先頭で定義されています。 と呼ばれるファイル
/ tmp / gsrvdir ???? / gsrvは通信用に作成されます。 シンボルUSE_TMPDIRがに設定されている場合
gnuserv.hの先頭である$ TMPDIRが設定されている場合は、/ tmpの代わりに使用されます。 そのファイルが
削除された、またはTMPDIRがサーバーとクライアントの通信に対して異なる値を持っている
サーバーとクライアントの間で失敗します。 gnuservを実行しているユーザーのみが実行できます
ソケットに接続します。
インターネットドメイン ソケット
インターネットドメインソケットは、相互の通信に使用されます 核クライアント と グヌサーブ もし
シンボルINTERNET_DOMAIN_SOCKETSは、gnuserv.hの上部で定義されています。 両方のインターネットドメイン
およびUnixドメインソケットを同時に使用できます。 -hまたはを介してホスト名が指定されている場合
GNU_HOST環境変数を介して、 核クライアント インターネットを使用して接続を確立する
ドメインソケット。 そうでない場合は、UNIXドメインソケットまたは
SYSVIPC。
SECURITY
インターネットドメインソケットを使用するには、そうではなかった、より堅牢な形式のセキュリティが必要です。
UnixドメインソケットまたはSysVIPCのいずれかで必要です。 現在、XNUMXつの認証
これを提供するためにプロトコルがサポートされています:MIT-MAGIC-COOKIE-1(X11に基づく) xauth(1)
プログラム)および単純なホストベースのアクセス制御メカニズム(以降、GNUSERV-1と呼びます)。 NS
GNUSERV-1プロトコルは常に利用可能ですが、MIT-MAGIC-COOKIE-1のサポートは可能性があります。
コンパイル時に(gnuserv.hの上部にある#defineを介して)有効にされていません。
グヌサーブ、GNUSERV-1を使用して、マシンレベルで制限された形式のアクセス制御を実行します。
デフォルトでは、インターネットドメインソケットは開かれていません。 変数GNU_SECUREが見つかった場合
in グヌサーブの環境で、読み取り可能なファイル名を指定すると、このファイルが開かれ、
サーバーがリクエストを許可するホストのリスト(XNUMX行にXNUMXつ)と見なされます。
他のホストからの接続は拒否されます。 その上にあるマシンでさえ グヌサーブ is
ホスト名がない限り、実行中のインターネットソケットを介した接続は許可されていません
このファイルで明示的に指定されています。 ホストは数値のIPアドレスのいずれかである可能性があることに注意してください
またはホスト名、そしてそれ どれか 承認されたホスト上のユーザーは、gnuservに接続して
任意のelispを実行します(たとえば、すべてのファイルを削除します)。 このファイルに多くの
ホスト名の場合、サーバーの起動にかなりの時間がかかる場合があります。
MIT-MAGIC-COOKIE-1プロトコルが有効になっている場合、インターネットソケット is デフォルトで開かれます。
グヌサーブ 任意のホストからの接続を受け入れ、「マジッククッキー」を待ちます
(基本的にはパスワード)クライアントによって提示されます。 クライアントが提示しない場合
cookie、またはcookieが間違っている場合、クライアントの認証は
失敗した。 この時点で。 グヌサーブ GNUSERV-1プロトコルにフォールバックします。 クライアントが
GNU_SECUREファイルにリストされているホストから呼び出すと、接続が受け入れられ、
それ以外の場合は拒否されます。
使い方 MIT-マジック-クッキー-1 認証
時 グヌサーブ サーバーが起動すると、表示999用に定義されたCookieが検索されます。
それが実行されているマシン。 クッキーが見つかった場合、それはとして使用するために保存されます
認証Cookie。 これらのCookieは認証ファイルで定義されています(通常は
〜/ .Xauthority)X11によって操作されます xauth(1)プログラム。 たとえば、機械
を呼び出すemacsを実行する「kali」 グヌサーブ 次のように応答する必要があります(
シェルプロンプト)正しく設定されている場合。
kali%xauthリスト
GS65.SP.CS.CMU.EDU:0 MIT-MAGIC-COOKIE-1 11223344
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
上記の場合、認証ファイルはXNUMXつのCookieを定義します。 定義されたXNUMX番目のもの
サーバーマシンの画面999の場合、gnuserv認証に使用されます。
クライアントマシン側では、認証ファイルに同じ行が含まれている必要があります。
の指定 サーバーの クッキー。 言い換えれば、マシン「foobar」で
「kali」に接続すると、「xauthlist」の出力に次の行が含まれるはずです。
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
Cookieを作成するには、次のようなコマンドを使用できます。
xauth add `hostname`:999 MIT-MAGIC-COOKIE-1` head -c512 / dev / urandom | md5sum`
認証ファイルの詳細については、 xauth(1X11)マニュアルページ、
または、xauthをインタラクティブに(引数なしで)呼び出し、プロンプトで「help」と入力します。
承認プロトコルの名前でそのケースを覚えておいてください(すなわち、 `MIT-MAGIC-
クッキー-1 ') is 重要!
ENVIRONMENT
DISPLAY 編集フレームを配置するデフォルトのXデバイス。
onworks.net サービスを使用して gnudoit.emacs をオンラインで使用する