table of contents
DXPC(1) | General Commands Manual | DXPC(1) |
NAZWA¶
dxpc - różnicowy kompresor protokołu X
WERSJA¶
3.8.0
SKŁADNIA¶
dxpc [wspólne] [klient | serwer] [połączenie]
[wspólne] opcje:
-p numer_portu -f -k -v -s poziom_debugowania -l
log_file
[klient] opcje (dla procesu KLIENT-a):
-i poziom_kopresji -d numer_dispalya -u
[serwer] opcje (dla procesu SERWER-a):
-D display
[połączenie] opcje:
nazwa_hosta -w
OPIS¶
dxpc jest kompresorem protokołu X stworzonym w celu zwiększenia szybkości "transmisji" aplikacji X11 uruchamianych przez wolne łącza (np.: telefoniczne połączenia PPP).
dxpc musi być uruchomiony po obu stronach łącza. Na jednym z hostów - gdzie pracuje rzeczywisty X serwer - dxpc pracuje w trybie "serwera proxy", na drugim w trybie "klienta proxy". "Klient proxy" musi być uruchomiony jako pierwszy. W czasie startu "serwer proxy" nawiązuje połączenie z "klientem". (Zauważ, że wersje dxpc sprzed 3.3.1 używają odwrotnej konwencji.) Kiedy jeden z procesów dxpc jest przerywany, drugi automatycznie wyłącza się również.
"Klient proxy" naśladuje X-serwer. Aplikacje X-klienta łączą sie z "klientem proxy" używając displaya "unix:8" (lub <nazwa_hosta>:8 ; dxpc wspomaga zarówno domeny UNIX-owe jak i gniazda TCP). "Klient proxy" przechwytuje wywołania X-owe od aplikacji, kompresuje je i wysyła do "serwera proxy". "Serwer" dekompresuje je i przesyła do rzeczywistego serwera X. Podobnie "serwer proxy" otrzymuje zdarzenia, odpowiedzi i błędy od rzeczywistego X-serwera, kompresuje i przesyła do "klienta proxy", który po dekompresji śle je do aplikacji klienta.
Stopień kompresji dxpc zależy od typu aplikacji X-owej. Dla większości aplikacji dxpc uzyskuje wyniki kompresji od 3:1 do 6:1.
MODY PRACY¶
dxpc może pracować w jednym z dwóch stanów: stanie nawiązywania połączenia (nasłuchiwanie lub łączenie) i stanie pracy w Systemie X (klient lub serwer). Każda sesja pracy w dxpc zawsze zaczyna sie od stanu nawiązywnia połączenia po czym - jeżeli połączenie jest nawiązane - przechodzi do stanu pracy w Systemie X.
Nasłuchiwanie oczekuje na inicjację połączenia TCP - między dwoma procesami - przez łączenie. Nasłuchiwanie musi być zawsze uruchamiane jako pierwsze. Łączenie jest inicjatorem połączenie TCP z nasłuchiwaniem. dxpc startuje w trybie łączenia jeżeli podany jest argument nazwa_hosta (zobacz: opcje połączenie, powyżej). W innym przypadku startuje w trybie nasłuchiwania.
Proces serwera jest zwykle umiejscowiony na tej samej maszynie, na której pracuje rzeczywisty X-serwer i odpowiada za wyświetlanie aplikacji, proces klienta zaś na maszynie, gdzie jest uruchomiona aplikacja X i odpowiada on za przekazywanie wyniku pracy aplikacji do procesu serwera. Domyślna kolejność pracy dxpc jest następujaca: tryb nasłuchiwania, a po zestawieniu połączenia tryb klienta (jeżeli nie użyto argumentu nazwa_hosta) lub tryb łączenia, a po połączeniu tryb serwera. Opcja -w zmienia ta kolejność (tj.: nasłuchiwanie-serwer lub łączenie-klient).
Na przykład komenda dxpc host.w_pracy.com startuje dxpc w trybie łączenia (ponieważ jest użyty argument nazwa_hosta) i potem serwera (bo opcja -w nie zostala użyta). Komenda dxpc -w startuje dxpc w trybie nasłuchiwania (bo nie ma argumentu nazwa_hosta) i potem serwera (bo opcja -w zmienia standardowe wywolanie)
Opcje¶
- -d numer_displaya
- Ustawia numer displaya, który dxpc imituje. Domyślnie dxpc przyjmuje wartość 8 (opcja ignorowna w trybie "serwer proxy").
- -f
- Powoduje powielenie się (forkowanie) dxpc i start jako daemon. Drukowanie komunikatów na wyjście standardowe (poza błędami) jest wstrzymane, statystyki również. Proces daemona może być wyłączony przez (kolejne) użycie dxpc z opcją fB-k.
- -k
- Powoduje przeczytanie numeru PID z pliku blokującego w katalogu domowym użytkownika (~/.dxpc.pid-HOST-USER-PORT) i przesłanie sygnału SIGKILL do pracującego procesu dxpc. Plik blokujący istnieje jedynie jeżeli dxpc zostało uruchomione z opcja -f.
- -l log_file
- Z tą opcją dxpc zapisuje komunikaty i informacje statystyczne do pliku dziennika log_file. Opcja szczególnie użyteczna z -f.
- -p numer_portu
- Ta opcja ustawia port TCP, który będzie używany do komunikacji między "klientem proxy" i "serwerem proxy". Wartość domyślna 4000.
- -s(1|2)
- Wyświetla raport o poziomie kompresji. W trybie "klienta proxy" dxpc wypisuje raport o kompresji na podstawie komunikatów od X-klienta, w trybie "serwera proxy" na podstawie komunikatów X-serwera. Z opcją -s1 dxpc informuje o poziomie kompresji w postaci skróconej, z -s2 w postaci szczegółowej. Większości użytkowników z pewnością wystarczy opcja -s1.
- -u -t
- Normalnie dxpc w trybie "klienta proxy" imituje display :8 (zarówno w przypadku gniazd TCP jak i domen UNIX-owych). Opcja -u zabrania dxpc używania domen UNIX-owych, a -t gniazd TCP. (Opcje są ignorowane w trybie "serwer proxy").
- -v
- dxpc z opcją -v wypisuje numer wersji, informacje o prawach autorskich i kończy pracę.
- -w
- Odwraca kolejność "sluchania" i "inicjowania" w stanie nawiązywania połączenia. Oznacza to, że klient będzie inicjował połączenia z serwerem. W miejsce komend uruchamiających: klienta dxpc -f i serwera dxpc -f serwer.w_pracy.com można użyć: dxpc -w -f serwer.w_domu.priv - start klienta i dxpc -w -f - start serwera. Opcja -w jest użyteczna dla startu "klienta proxy" za firewallem.
- nazwa_hosta
- Argument nazwa_hosta musi być użyty w trybie "serwera proxy" w celu identyfikacji maszyny (po nazwie bądź po adresie IP), na której uruchomiony jest dxpc w trybie "klienta proxy". (Obecność tego argumentu implikuje start w trybie "serwera proxy", jego brak w trybie "klienta proxy").
- -D display
- Ustawia (display) hosta, na który przesyłane będą aplikacje X. Domyślnie jest to zmienna środowiska DISPLAY.
- -i(0..9|99|999)
- Kontrola kompresji bitmap. (Opcja -i może być
używana na kliencie albo - jeżeli podano opcje -w -
na serwerze, w pozostałych przypadkach jest ignorowana.) Numer
odpowiada za poziom kompresji; wyższe poziomy dają
lepszą kompresję ale kosztem CPU i pamięci
(głównie na "kliencie proxy"). Aktulna lista
poziomów i typów kompresji jest podana ponizej.
0 : Bez kompresji (oprócz dxpc 3.7.0, gdzie daje bardzo słabą kompresję).
1 : kompresja LZO lzo1x_1; bardzo szybka, małe zużycie CPU, rozsądny poziom kompresji.
2-9: kompresja LZO wariant lzo1c_n . lzo1c_2 wydaje sie być gorsza niż lzo1x_1.
99: kompresja LZO lzo1c_99. Wolna ale bardzo dobra kompresja. Zanotowano niespodziewane błędy. Nie zalecana.
999: kompresja LZO lzo1x_999. Wolna (ale wystarczająco szybka dla połączeń 128k ISDN, przy korzystaniu z Pentium II/300 nie używa - nawet chwilowo - pełnej mocy procesora). Wartość domyślna i zalecana.
PRZYKŁADY¶
W przypadku użycia rzeczywistego X-serwera na lokalnej maszynie (pc_w_domu) i korzystania z aplikacji na zdalnym systemie (serwer.praca.com) wyświetlanych na lokalnej maszynie.
Na zdalnej maszynie serwer.praca.com
$ export DISPLAY=pc_w_domu:0 (sh lub bash) lub $ setenv DISPLAY pc_w_domu:0 (csh lub tcsh)
$ dxpc -f
$ export DISPLAY=unix:8 (sh lub bash) lub $ setenv DISPLAY unix:8 (csh lub tcsh)
Na lokalnej maszynie
$ export DISPLAY=unix:0 (sh lub bash) lub $ setenv DISPLAY unix:0 (csh lub tcsh)
$ dxpc -f serwer.praca.com
Teraz znów na zdalnej maszynie
$ xterm&
$ xemacs&
itd...
DXPC I XAUTH¶
Jeżeli używasz autoryzacji X z plikiem .Xauthority
na lokalnej maszynie, gdzie pracuje rzeczywisty X-serwer powinieneś
dostosować plik .Xauthority na maszynie, gdzie dxpc jest
uruchomione w trybie "klienta proxy". Jedną z dróg
do tego prowadzących jest:
.sp Skopiowanie pliku ~/.Xauthority z lokalnej maszyny na zdalną
(gdzie jest "klient proxy").
.sp Wydanie polecenia
$ xauth list
w celu obejrzenia kluczy autoryzacyjnych. Jedna z linijek w wydruku powinna zawierać Twój display X i wyglądać podobnie do:
<Twoj_host>/unix:0 MIT-MAGIC-COOKIE-1 <HEX>
Na maszynie, na której pracuje "klient proxy" należy "dodać" tę linię do pliku .Xauthority, ale z "oszukanym" X-displayem (DISPLAY z serwera, gdzie "klient proxy" nasłuchuje). Opcja "add" komendy xauth realizuje to następująco
$ xauth add <host>/unix:8 MIT-MAGIC-COOKIE-1 <HEX>
gdzie <host> jest nazwą maszyny, gdzie jest uruchomiony "klient proxy". Po wykonaniu tego polecenia powinno być możliwe bezproblemowe używanie dxpc.
Uwaga: W przypadku połączeń przez slogin (ssh) wydruk z komendy
może być inny. Warto przed podaniem w/w komendy skorzystać z
$ xauth list
$ echo $DISPLAY
AUTOR¶
Brian Pane
POMOC¶
Kevin Vigor (kevin@vigor.nu)
PODZIĘKOWANIA¶
dxpc zaadoptowało wiele koncepcji z systemu
HBX i FHBX
(http://www.cs.dartmouth.edu/~jmd/decs/DECSpage.html).
Dziekuję wszystkim użytkownikom, którzy przesyłali sugestie i uwagi.
ZOBACZ TAKŻE¶
xauth(1), plik README z dytrybucji dxpc.
OD TŁUMACZA¶
Dodano kilka słów w sekcji PRZYKŁADY.
19 sierpnia 1999 | dxpc |