To jest polecenie gnudoit.emacs, które można uruchomić w bezpłatnym dostawcy hostingu OnWorks przy użyciu jednej z naszych wielu bezpłatnych stacji roboczych online, takich jak Ubuntu Online, Fedora Online, emulator online systemu Windows lub emulator online systemu MAC OS
PROGRAM:
IMIĘ
gnuserv, gnuclient - Serwer i klienci dla Emacsa i XEmacs
STRESZCZENIE
gnuklient [-wyświetlacz] [-q] [-v] [-l biblioteka] [-partia] [-f funkcja] [-forma eval]
[-h nazwa_hosta] [-p port] [-r nazwa-ścieżki zdalnej] [[+linia] plik] ...
gnudoit [-Q] Nasz formularz
gnuserv
gnuattach Usunięto od gnuserv 3.x
OPIS
gnuklient pozwala użytkownikowi zażądać uruchomionego procesu Emacs lub XEmacs w celu edycji named
pliki lub katalogi i/lub oceniaj formularze lisp. W zależności od środowiska może to być
ramka X lub ramka TTY. Jednym z typowych zastosowań jest połączenie dialup z a
komputer, na którym aktualnie uruchomiony jest proces Emacs lub XEmacs.
gnudoit jest nakładką skryptu powłoki do ``gnuclient -batch -eval form''. Jego zastosowanie to
przestarzałe. Spróbuj przyzwyczaić się do bezpośredniego wywoływania gnuclient.
gnuserv to program serwera, który jest uruchamiany przez Emacsa lub XEmacsa do obsługi wszystkich
żądania przychodzące i wychodzące. Zwykle nie jest wywoływany bezpośrednio, ale zaczyna się od
Emacs lub XEmacs, ładując gnuserv pakiet i ocena formularza Lisp (gnuserv-
początek).
gnuattach już nie istnieje.
OPCJE
gnuklient obsługuje tyle opcji wiersza poleceń Emacsa, ile ma to sens
kontekst. Ponadto dodaje kilka własnych.
Opcje z długimi nazwami można również określić za pomocą podwójnego łącznika zamiast pojedynczego
jeden.
-pokaz wyświetlacz, --wyświetlacz pokaz
Jeśli podano tę opcję lub ustawiono zmienną środowiskową `DISPLAY', to
gnuclient powie Emacsowi, aby edytował pliki w ramce na określonym urządzeniu X.
-q Ta opcja informuje gnuklient wyjść po nawiązaniu połączenia z
Proces XEmacsa. Normalnie gnuklient czeka, aż wszystkie pliki w poleceniu
linia została zakończona (ich bufory zostały zabite) przez proces XEmacs i tak dalej
formularze zostały ocenione.
-v Gdy ta opcja jest określona gnuklient poprosi, aby określone pliki były
oglądane zamiast edytowane.
-l biblioteka
Powiedz Emacsowi, aby załadował określoną bibliotekę.
-seria Powiedz Emacsowi, żeby nie otwierał żadnych ramek. Po prostu załaduj biblioteki i oceń kod Lisp. Gdyby
żadne pliki do wykonania, funkcje do wywołania lub formularze do oceny są podane za pomocą -l,
-flub -ocena opcje, a następnie formularze do eval są odczytywane ze standardu STDIN.
-f funkcjonować,
Spraw, aby Emacs wykonał funkcję lisp.
-ocena Nasz formularz
Niech Emacs wykona formę seplenienia.
-h hosta
Używana tylko z gniazdami domeny internetowej, ta opcja określa komputer hosta
który powinien być uruchomiony gnuserv. Jeśli ta opcja nie jest określona, wówczas wartość
używana jest zmienna środowiskowa GNU_HOST, jeśli jest ustawiona. Jeśli nie określono nazwy hosta, i
zmienna GNU_HOST nie jest ustawiona, próba połączenia z Internetem nie zostanie podjęta.
NB gnuserv NIE zezwala na połączenia internetowe, chyba że uwierzytelnianie XAUTH jest
użyto lub określono zmienną GNU_SECURE, która wskazuje na listing pliku
wszystkich zaufanych hostów. (Patrz BEZPIECZEŃSTWO poniżej.)
Pamiętaj, że zamiast nazwy hosta można podać adres internetowy, który może:
znacznie przyspieszyć połączenia z serwerem, zwłaszcza jeśli klient
maszyna działa YP.
Zauważ również, że nazwa hosta UNIX może służyć do określenia, że połączenie z
serwer powinien używać gniazda domeny Unix (jeśli jest obsługiwane), a nie
gniazdo domeny.
-p Port Używana tylko z gniazdami domeny internetowej, ta opcja określa port usługi
służy do komunikacji między serwerem a klientami. Jeśli ta opcja nie jest określona,
wtedy używana jest wartość zmiennej środowiskowej GNU_PORT, jeśli jest ustawiona, w przeciwnym razie a
usługa o nazwie ``gnuserv'' jest wyszukiwana w bazie usług. Wreszcie, jeśli nie
dla portu można znaleźć inną wartość, wtedy używany jest port domyślny, którym jest
zwykle 21490 + uid.
Zauważ, że od gnuserv nie zezwala na opcje wiersza poleceń, port do tego będzie
należy określić za pomocą jednej z alternatywnych metod.
-r nazwa ścieżki
Używany tylko z gniazdami domeny internetowej, argument pathname może być potrzebny do:
poinformuj Emacsa, jak dotrzeć do katalogu głównego zdalnej maszyny. gnuklient
dołącza ten ciąg do każdego podanego argumentu ścieżki. Na przykład, jeśli próbowałeś
edytować plik na komputerze klienta o nazwie otter, którego katalogiem głównym był
dostępny z serwera przez ścieżkę /net/otter, a następnie ten argument
należy ustawić na '/net/otter'. Jeśli ta opcja jest pominięta, przyjmowana jest wartość
ze zmiennej środowiskowej GNU_NODE, jeśli jest ustawiona, lub z pustego ciągu w przeciwnym razie.
[+n] filet
To jest ścieżka pliku do edycji. Jeśli plik jest katalogiem, to
przeglądarki katalogów dired lub monkey są zwykle wywoływane zamiast tego. Kursor jest umieszczony
w wierszu o numerze 'n', jeśli określono.
USTAWIAĆ
gnuserv jest standardowo spakowany z najnowszymi wersjami XEmacs. Dlatego powinieneś być
w stanie uruchomić serwer po prostu przez ocenę formy XEmacs Lisp (gnuserv-start) lub
równoważnie wpisując `Mx gnuserv-start'.
KONFIGURACJA
Zachowanie tego pakietu programów jest w większości kontrolowane po stronie seplenienia w Emacsie i
jego zachowanie można w dużym stopniu dostosować. Wpisz `Mx custom-group RET gnuserv
RET” dla łatwego dostępu. Więcej dokumentacji można znaleźć w pliku `gnuserv.el'
PRZYKŁAD
gnuclient -q -f mh-smail
gnuclient -h kukułka -r /ange@otter: / tmp /*
gnuclient ../src/listproc.c
Więcej przykładów i przykładowych skryptów opakowujących znajduje się w katalogu etc/gnuserv
Instalacja Emacsa.
SYSV IPC
SysV IPC służy do komunikacji między gnuklient i gnuserv jeśli symbol SYSV_IPC to
zdefiniowany na początku gnuserv.h. Jest to niezgodne zarówno z domeną Unix, jak i Internetem
komunikacji gniazda domeny, jak opisano poniżej. Plik o nazwie /tmp/gsrv??? jest tworzony jako
klucz dla kolejki wiadomości, a jego usunięcie spowoduje komunikację między serwerem a
klienta nie powiedzie się, dopóki serwer nie zostanie ponownie uruchomiony.
DOMENA UNIX GNIAZDA
Gniazdo domeny Unix jest używane do komunikacji między gnuklient i gnuserv jeśli symbol
UNIX_DOMAIN_SOCKETS jest zdefiniowany na początku gnuserv.h. Plik o nazwie
/tmp/gsrvdir????/gsrv jest tworzony do komunikacji. Jeśli symbol USE_TMPDIR jest ustawiony na
początek gnuserv.h, $TMPDIR, gdy jest ustawiony, jest używany zamiast /tmp. Jeśli ten plik jest
usunięty, lub TMPDIR ma różne wartości dla serwera i klienta, komunikacja
między serwerem a klientem nie powiedzie się. Tylko użytkownik uruchamiający gnuserv będzie mógł
podłączyć do gniazdka.
DOMENA INTERNETOWA GNIAZDA
Gniazda domeny internetowej służą do komunikacji między gnuklient i gnuserv Jeśli
symbol INTERNET_DOMAIN_SOCKETS jest zdefiniowany na początku gnuserv.h. Obie domeny internetowe
i gniazda domeny Unix mogą być używane w tym samym czasie. Jeśli nazwa hosta jest określona przez -h lub
poprzez zmienną środowiskową GNU_HOST, gnuklient nawiązywać połączenia przez internet
gniazdo domeny. Jeśli nie, próbuje się nawiązać połączenie lokalne przez gniazdo domeny unix lub
SYSV IPC.
BEZPIECZEŃSTWO
Korzystając z gniazd domeny internetowej, potrzebna jest bardziej niezawodna forma bezpieczeństwa, która nie była
konieczne z gniazdami domeny Unix lub SysV IPC. Obecnie dwa uwierzytelnienia
w tym celu obsługiwane są protokoły: MIT-MAGIC-COOKIE-1 (oparty na X11 xuwierz(1)
program) oraz prosty mechanizm kontroli dostępu oparty na hoście, zwany dalej GNUSERV-1. The
Protokół GNUSERV-1 jest zawsze dostępny, podczas gdy obsługa MIT-MAGIC-COOKIE-1 może lub może
nie zostały włączone (przez #define na górze gnuserv.h) w czasie kompilacji.
gnuserv, używając GNUSERV-1, wykonuje ograniczoną formę kontroli dostępu na poziomie maszyny.
Domyślnie żadne gniazdo domeny internetowej nie jest otwarte. Jeśli można znaleźć zmienną GNU_SECURE
in gnuserv, i nazywa czytelną nazwę pliku, a następnie ten plik jest otwierany i
zakłada się, że jest to lista hostów, po jednym na linię, z których serwer będzie zezwalał na żądania.
Połączenia z dowolnego innego hosta będą odrzucane. Nawet maszyna, na której gnuserv is
uruchomiony nie może nawiązywać połączeń przez gniazdo internetowe, chyba że jego nazwa hosta
jest wyraźnie określony w tym pliku. Pamiętaj, że host może być albo numerycznym adresem IP
lub nazwę hosta, i to każdy użytkownik na zatwierdzonym hoście może połączyć się z twoim gnuservem i
uruchom dowolny elisp (np. usuń wszystkie swoje pliki). Jeśli ten plik zawiera dużo
nazwy hostów, a uruchomienie serwera może zająć trochę czasu.
Gdy protokół MIT-MAGIC-COOKIE-1 jest włączony, gniazdo internetowe is domyślnie otwarte.
gnuserv zaakceptuje połączenie z dowolnego hosta i będzie czekał na "magiczne ciasteczko"
(zasadniczo hasło) do przedstawienia przez klienta. Jeżeli klient nie przedstawi ww
plik cookie, lub jeśli plik cookie jest nieprawidłowy, uważa się, że uwierzytelnienie klienta posiada
przegrany. W tym momencie. gnuserv wraca do protokołu GNUSERV-1; Jeśli klient jest
dzwoniąc z hosta wymienionego w pliku GNU_SECURE połączenie zostanie zaakceptowane,
w przeciwnym razie zostanie odrzucony.
Korzystanie z MIT-MAGIC-COOKIE-1 Uwierzytelnianie
Podczas gnuserv serwer jest uruchomiony, szuka ciasteczka zdefiniowanego do wyświetlenia 999 wł
maszyna, na której pracuje. Jeśli plik cookie zostanie znaleziony, zostanie zapisany do użytku jako
plik cookie uwierzytelniania. Te pliki cookie są zdefiniowane w pliku autoryzacyjnym (zwykle
~/.Xautorytet), który jest manipulowany przez X11 xuwierz(1) program. Na przykład maszyna
"kali", który uruchamia emacs, który wywołuje gnuserv powinien odpowiedzieć w następujący sposób (w
monit powłoki) po prawidłowym skonfigurowaniu.
kali% lista xauth
GS65.SP.CS.CMU.EDU:0 MIT-MAGIC-COOKIE-1 11223344
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
W powyższym przypadku plik autoryzacyjny definiuje dwa pliki cookies. Drugi, określony
dla ekranu 999 na serwerze jest używany do uwierzytelniania gnuserv.
Po stronie komputera klienckiego plik autoryzacyjny musi zawierać identyczną linię,
określając serwer ciastko. Innymi słowy, na maszynie „foobar”, która chce
connect to "kali", wyjście `xauth list' powinno zawierać wiersz:
KALI.FTM.CS.CMU.EDU:999 MIT-MAGIC-COOKIE-1 1234
Aby utworzyć plik cookie, możesz użyć polecenia takiego jak
xauth dodaj `nazwa hosta`:999 MIT-MAGIC-COOKIE-1 `head -c512 /dev/urandom|md5sum`
Aby uzyskać więcej informacji o plikach autoryzacyjnych, spójrz na xuwierz(1X11) strona podręcznika,
lub wywołaj xauth interaktywnie (bez żadnych argumentów) i wpisz "help" po znaku zachęty.
Zapamiętaj ten przypadek w nazwie protokołu autoryzacji (np.`MIT-MAGIC-
CIASTECZKO-1') is istotne!
ŚRODOWISKO
DISPLAY Domyślne urządzenie X do umieszczenia ramki edycji.
Używaj gnudoit.emacs online, korzystając z usług onworks.net