dxpc(1) 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

Uwaga! To tłumaczenie może być nieaktualne!

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

    $ xauth list
może być inny. Warto przed podaniem w/w komendy skorzystać z
    $ echo $DISPLAY

AUTOR

Brian Pane

POMOC

Kevin Vigor ([email protected])

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.

OD TŁUMACZA

Dodano kilka słów w sekcji PRZYKŁADY.

INFORMACJE O TŁUMACZENIU

Powyższe tłumaczenie pochodzi z nieistniejącego już Projektu Tłumaczenia Manuali i może nie być aktualne. W razie zauważenia różnic między powyższym opisem a rzeczywistym zachowaniem opisywanego programu lub funkcji, prosimy o zapoznanie się z oryginalną (angielską) wersją strony podręcznika za pomocą polecenia:
man --locale=C 1 dxpc

Prosimy o pomoc w aktualizacji stron man - więcej informacji można znaleźć pod adresem http://sourceforge.net/projects/manpages-pl/.