Questo è il comando gnuserv che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
gnuserv, gnuclient - Server e client per Emacs e XEmacs
SINOSSI
gnucliente [-display display] [-q] [-v] [-l libreria] [-batch] [-f funzione] [-eval form]
[-h nome host] [-p porta] [-r percorso remoto] [[+riga] file] ...
gnudoit [-Q] modulo
gnuserv
gnuattach Rimosso da gnuserv 3.x
DESCRIZIONE
gnucliente consente all'utente di richiedere a un processo Emacs o XEmacs in esecuzione di modificare il nome
file o directory e/o valutare i moduli lisp. A seconda dell'ambiente, può essere
un frame X o un frame TTY. Un uso tipico per questo è con una connessione dialup a a
macchina su cui è attualmente in esecuzione un processo Emacs o XEmacs.
gnudoit è uno script di shell frontend per ``gnuclient -batch -eval form''. Il suo uso è
deprecato. Cerca di abituarti a chiamare direttamente gnuclient.
gnuserv è il programma server impostato in esecuzione da Emacs o XEmacs per gestire tutto
richieste in entrata e in uscita. Di solito non viene invocato direttamente, ma viene avviato da
Emacs o XEmacs caricando il gnuserv pacchetto e valutando il modulo Lisp (gnuserv-
cominciare).
gnuattach non esiste più.
VERSIONI
gnucliente supporta tutte le opzioni della riga di comando di Emacs che ha senso in questo
contesto. Inoltre ne aggiunge alcuni suoi.
Le opzioni con nomi lunghi possono anche essere specificate usando un doppio trattino invece di un singolo
uno.
-Schermo display, --Schermo dalla visualizzazione
Se viene data questa opzione o è impostata la variabile d'ambiente `DISPLAY' allora
gnuclient dirà a Emacs di modificare i file in un frame sul dispositivo X specificato.
-q Questa opzione informa gnucliente per uscire una volta stabilita la connessione con il
processo XEmacs. Normalmente gnucliente attende fino a quando tutti i file sul comando
la linea è stata terminata con (i loro buffer eliminati) dal processo XEmacs e tutto
le forme sono state valutate.
-v Quando questa opzione è specificata gnucliente richiederà che i file specificati siano
visualizzato anziché modificato.
-l biblioteca
Di' a Emacs di caricare la libreria specificata.
-lotto Di' a Emacs di non aprire nessun frame. Basta caricare le librerie e valutare il codice lisp. Se
nessun file da eseguire, funzioni da chiamare o form da eval sono dati usando il -l,
-f, o -valuta opzioni, quindi i moduli da valutare vengono letti da STDIN.
-f funzione,
Fai in modo che Emacs esegua la funzione lisp.
-valuta modulo
Fai in modo che Emacs esegua il modulo lisp.
-h hostname
Utilizzata solo con socket di dominio Internet, questa opzione specifica la macchina host
che dovrebbe essere in esecuzione gnuserv. Se questa opzione non è specificata, il valore di
la variabile d'ambiente GNU_HOST viene utilizzata se impostata. Se non viene specificato alcun nome host, e
la variabile GNU_HOST non è impostata, non verrà tentata una connessione Internet.
NB: gnuserv NON consente connessioni Internet a meno che l'autenticazione XAUTH non sia
utilizzato o la variabile GNU_SECURE è stata specificata e punta a un elenco di file
tutti gli host fidati. (Vedi SICUREZZA di seguito.)
Nota che può essere specificato un indirizzo Internet invece di un nome host che può
velocizzare un po' le connessioni al server, soprattutto se il client
la macchina sta eseguendo YP.
Nota anche che un hostname di unix può essere utilizzato per specificare che la connessione a
il server dovrebbe usare un socket di dominio Unix (se supportato) piuttosto che un
socket di dominio.
-p porto Utilizzata solo con socket di dominio Internet, questa opzione specifica la porta del servizio
utilizzato per comunicare tra server e client. Se questa opzione non è specificata,
quindi viene utilizzato il valore della variabile d'ambiente GNU_PORT, se impostata, altrimenti a
il servizio chiamato ``gnuserv'' viene cercato nel database dei servizi. Infine, se no
è possibile trovare un altro valore per la porta, quindi viene utilizzata una porta predefinita che è
di solito 21490 + uid.
Nota che poiché gnuserv non consente opzioni da riga di comando, la porta per esso lo farà
devono essere specificati tramite uno dei metodi alternativi.
-r pathname
Usato solo con socket di dominio Internet, l'argomento del percorso potrebbe essere necessario per
informare Emacs come raggiungere la directory principale di una macchina remota. gnucliente
antepone questa stringa a ogni argomento del percorso fornito. Ad esempio, se stavi provando
per modificare un file su una macchina client chiamata otter, la cui directory principale era
accessibile dalla macchina server tramite il percorso /net/otter, quindi questo argomento
dovrebbe essere impostato su '/net/otter'. Se questa opzione viene omessa, il valore viene preso
dalla variabile d'ambiente GNU_NODE, se impostata, o dalla stringa vuota altrimenti.
[+n] filetto
Questo è il percorso del file da modificare. Se il file è una directory, allora il
i browser di directory dired o monkey vengono solitamente invocati invece. Il cursore è messo
al numero di riga 'n' se specificato.
IMPOSTARE
gnuserv è un pacchetto standard con le versioni recenti di XEmacs. Pertanto, dovresti essere
in grado di avviare il server semplicemente valutando il modulo XEmacs Lisp (gnuserv-start), oppure
equivalentemente digitando `Mx gnuserv-start'.
CONFIGURAZIONE
Il comportamento di questa suite di programmi è principalmente controllato dal lato lisp in Emacs e
il suo comportamento può essere ampiamente personalizzato. Digita `Mx Customize-group RET gnuserv
RET' per un facile accesso. Più documentazione può essere trovata nel file `gnuserv.el'
ESEMPIO
gnuclient -q -f mh-smail
gnuclient -h cuculo -r /ange@otter: / Tmp /*
gnuclient ../src/listproc.c
Altri esempi e script wrapper di esempio sono forniti nella directory etc/gnuserv del
Installazione di Emacs.
SYSV IPC
SysV IPC viene utilizzato per comunicare tra gnucliente e gnuserv se il simbolo SYSV_IPC è
definito all'inizio di gnuserv.h. Questo è incompatibile sia con il dominio Unix che con Internet-
comunicazione socket di dominio come descritto di seguito. Un file chiamato /tmp/gsrv??? è creato come a
chiave per la coda dei messaggi e, se rimossa, causerà la comunicazione tra server e
client non riesce fino al riavvio del server.
UNIX-DOMINIO PRESE
Un socket di dominio Unix viene utilizzato per comunicare tra di loro gnucliente e gnuserv se il simbolo
UNIX_DOMAIN_SOCKETS è definito all'inizio di gnuserv.h. Un file chiamato
/tmp/gsrvdir????/gsrv viene creato per la comunicazione. Se il simbolo USE_TMPDIR è impostato su
la parte superiore di gnuserv.h, $TMPDIR, quando impostata, viene utilizzata al posto di /tmp. Se quel file è
cancellato, o TMPDIR ha valori diversi per il server e il client, comunicazione
tra server e client fallirà. Solo l'utente che esegue gnuserv sarà in grado di
collegare alla presa.
INTERNET-DOMINIO PRESE
I socket del dominio Internet vengono utilizzati per comunicare tra di loro gnucliente e gnuserv se l'
il simbolo INTERNET_DOMAIN_SOCKETS è definito nella parte superiore di gnuserv.h. Entrambi i domini Internet
e socket di dominio Unix possono essere utilizzati contemporaneamente. Se viene specificato un nome host tramite -h o
tramite la variabile d'ambiente GNU_HOST, gnucliente stabilire connessioni utilizzando Internet
socket di dominio. In caso contrario, viene tentata una connessione locale tramite un socket di dominio unix o
SYSV IPC.
SICUREZZA
Utilizzando i socket del dominio Internet, è necessaria una forma di sicurezza più solida che non lo era
necessario con socket di dominio Unix o SysV IPC. Attualmente, due autenticazioni
i protocolli sono supportati per fornire questo: MIT-MAGIC-COOKIE-1 (basato su X11 xauth(1)
programma) e un semplice meccanismo di controllo dell'accesso basato su host, di seguito denominato GNUSERV-1. Il
Il protocollo GNUSERV-1 è sempre disponibile, mentre il supporto per MIT-MAGIC-COOKIE-1 può o può
non sono stati abilitati (tramite un #define nella parte superiore di gnuserv.h) in fase di compilazione.
gnuserv, utilizzando GNUSERV-1, esegue una forma limitata di controllo degli accessi a livello di macchina.
Per impostazione predefinita, non viene aperto alcun socket di dominio Internet. Se è possibile trovare la variabile GNU_SECURE
in gnuserv's e assegna un nome file leggibile, quindi questo file viene aperto e
si presume sia un elenco di host, uno per riga, da cui il server consentirà le richieste.
Le connessioni da qualsiasi altro host verranno rifiutate. Anche la macchina su cui gnuserv is
in esecuzione non è consentito effettuare connessioni tramite il socket Internet a meno che il suo nome host
è esplicitamente specificato in questo file. Nota che un host può essere un indirizzo IP numerico
o un nome host, e questo in qualsiasi utente su un host approvato può connettersi al tuo gnuserv e
eseguire elisp arbitrari (ad esempio, eliminare tutti i file). Se questo file contiene molto
hostnames, il server potrebbe impiegare un po' di tempo per avviarsi.
Quando il protocollo MIT-MAGIC-COOKIE-1 è abilitato, una presa internet is aperto per impostazione predefinita.
gnuserv accetterà una connessione da qualsiasi host e aspetterà un "cookie magico"
(essenzialmente una password) che deve essere presentata dal cliente. Se il cliente non presenta il
cookie, o se il cookie è sbagliato, l'autenticazione del client è considerata avere
fallito. A questo punto. gnuserv ricorre al protocollo GNUSERV-1; Se il cliente è
chiamando da un host elencato nel file GNU_SECURE, la connessione sarà accettata,
altrimenti sarà rifiutato.
utilizzando MIT-MAGIC-COOKIE-1 autenticazione
Quando il gnuserv il server è avviato, cerca un cookie definito per la visualizzazione 999 su
la macchina su cui è in funzione. Se il cookie viene trovato, verrà memorizzato per l'uso come
il cookie di autenticazione. Questi cookie sono definiti in un file di autorizzazione (solitamente
~/.Xauthority) che viene manipolato dall'X11 xauth(1) programma. Ad esempio, una macchina
"kali" che esegue un emacs che invoca gnuserv dovrebbe rispondere come segue (al
prompt della shell) quando è impostato correttamente.
kali% xauth lista
GS65.SP.CS.CMU.EDU:0 MIT-MAGIC-COOKIE-1 11223344
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
Nel caso precedente, il file di autorizzazione definisce due cookie. Il secondo, definito
per lo schermo 999 sulla macchina server, viene utilizzato per l'autenticazione gnuserv.
Sul lato macchina client, il file di autorizzazione deve contenere una riga identica,
specificando il del server biscotto. In altre parole, su una macchina "foobar" che desidera
connect to "kali", l'output di "xauth list" dovrebbe contenere la riga:
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
Per creare il cookie, puoi usare un comando come
xauth aggiungi `hostname`:999 MIT-MAGIC-COOKIE-1 `head -c512 /dev/urandom|md5sum`
Per ulteriori informazioni sui file di autorizzazione, dai un'occhiata al xauth(1X11) pagina man,
oppure invoca xauth in modo interattivo (senza alcun argomento) e digita "help" al prompt.
Ricorda quel caso nel nome del protocollo di autorizzazione (cioè`MIT-MAGIC-
BISCOTTO-1') is significativo!
AMBIENTE
DISPLAY Dispositivo X predefinito per inserire la cornice di modifica.
Utilizzare gnuserv online utilizzando i servizi onworks.net