UNIXOWY PROTOKÓŁ GRAFICZNY ( X PROTOKÓŁ )

Podobne dokumenty
Cechy systemu X Window: otwartość niezależność od producentów i od sprzętu, dostępny kod źródłowy; architektura klient-serwer;

Protokoły zdalnego logowania Telnet i SSH

Telnet. Telnet jest najstarszą i najbardziej elementarną usługą internetową.

Tomasz Greszata - Koszalin

Expo Composer Garncarska Szczecin tel.: info@doittechnology.pl. Dokumentacja użytkownika

Notowania Mobilne wersja Java

Instrukcja konfiguracji funkcji skanowania

ROZDZIAŁ 1: Instrukcja obsługi oprogramowania VMS

INSTRUKCJA OBSŁUGI OPROGRAMOWANIA VMS. Spis treści Instalacja Instrukcje użytkowania i obsługi... 3

Działanie komputera i sieci komputerowej.

ABA-X3 PXES v Podręczna instrukcja administratora. XDMCP Licencja FDL (bez prawa wprowadzania zmian) Tryb X terminala

Terminal ABA-X3 może być wykorzystywany jako terminal znakowy. Funkcja ta może być zrealizowana na kilka sposobów:

Wstęp. Skąd pobrać program do obsługi FTP? Logowanie

Usługi sieciowe systemu Linux

Spis treści. Rozdział 3. Podstawowe operacje na plikach...49 System plików Konsola Zapisanie rezultatu do pliku... 50

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Sposoby zdalnego sterowania pulpitem

4. Podstawowa konfiguracja

Przygotowanie plików do druku

Problemy techniczne SQL Server

Serwer SSH. Wprowadzenie do serwera SSH Instalacja i konfiguracja Zarządzanie kluczami

Notowania Mobilne wersja BlackBerry. Instrukcja obsługi programu

Instalacja Wirtualnego Serwera Egzaminacyjnego

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

Synchronizator plików (SSC) - dokumentacja

1. Moduł Print Master

Notowania Mobilne wersja Java dotykowa. Instrukcja obsługi programu

Pracownia internetowa w szkole ZASTOSOWANIA

TM PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

Instrukcja instalacji usługi Sygnity SmsService

Komputery I (2) Panel sterowania:

Notowania Mobilne (wersja BlackBerry)

Instalacja serwera zarządzającego F-Secure Policy Manager

Podręcznik instalacji Command WorkStation 5.6 z aplikacjami Fiery Extended Applications 4.2

Podstawy konfiguracji środowiska graficznego. Umieszczamy kursor na pustym obszarze na pulpicie i naciskamy prawy guzik:

StacjaSQL.2012 / PIERWSZE URUCHOMIENIE I PODSTAWOWE USTAWIENIA / / USUNIĘCIE "BAZY TESTOWEJ, PRZEJŚCIE NA WERSJĘ KOMERCYJNĄ / oraz. str.

Przewodnik instalacji i rejestracji ASN RadioOS

Temat: Windows 7 Panel sterowania - Ekran

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Instalacja programu dreryk

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Mini Produkcja by CTI. Instrukcja

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat protokołu http.

Instrukcja wgrywania Certyfikatu Klienta do przeglądarki Mozilla Firefox. System Bankowości Internetowej KIRI BS 2012

Jak używać funkcji prostego udostępniania plików do udostępniania plików w systemie Windows XP

NIEZAWODNE ROZWIĄZANIA SYSTEMÓW AUTOMATYKI. asix. Aktualizacja pakietu asix 4 do wersji 5 lub 6. Pomoc techniczna

System rejestracji wizyt w BIOBANKU Instrukcja uz ytkownika systemu

FTP przesył plików w sieci

Sprawozdanie. (notatki) Sieci komputerowe i bazy danych. Laboratorium nr.3 Temat: Zastosowanie protokołów przesyłania plików

Program Płatnik Instrukcja instalacji

Program dla praktyki lekarskiej. Instrukcja Aktualizacji

Palety by CTI. Instrukcja

Instrukcja instalacji usługi Sygnity SmsService

Fiery Remote Scan. Uruchamianie programu Fiery Remote Scan. Skrzynki pocztowe

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

Instrukcja instalacji Control Expert 3.0

Konfiguracja klientów SSH - PuTTY i WinSCP

Zadanie1: Odszukaj w serwisie internetowym Wikipedii informacje na temat usługi DHCP.

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

Fiery Remote Scan. Łączenie z serwerami Fiery servers. Łączenie z serwerem Fiery server przy pierwszym użyciu

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Procedura wdrożeniowa program MERKURY QUATTRO wer. 1.0

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

ZPKSoft Synchronizator

Instrukcja użytkownika Platformy Walutowej

Pracownia internetowa w każdej szkole (edycja jesień 2005)

2014 Electronics For Imaging. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym tego

TRX Konsola dyspozytorska - instrukcja obsługi

Część II Wyświetlanie obrazów

Instalacja i konfiguracja serwera SSH.

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

System kontroli dostępu ACCO NET Instrukcja instalacji

INSTRUKCJA OTWARCIA RACHUNKU ALIOR TRADER DLA KLIENTÓW ALIOR BANKU

MentorGraphics ModelSim

Dokumentacja użytkowa

Twój początek z TecComem. Instalacja i konfiguracja oprogramowania do składania zamówień, wersja 3.0

Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu MacOS

Instrukcja instalacji nośników USB w systemie internetowym Alior Banku

wpisujemy prawidłowe ustawienia dla naszej sieci lokalnej ustawienia

Instrukcja obsługi programu ODGiK-NET 1.5

OMNITRACKER Wersja testowa. Szybki przewodnik instalacji

Instalacja aplikacji

INFO-NET.wsparcie. pppoe.in.net.pl. Pamiętaj aby nie podawać nikomu swojego hasła! Instrukcja połączenia PPPoE w Windows 7 WAŻNA INFORMACJA

Tomasz Greszata - Koszalin

PROFESJONALNE SYSTEMY BEZPIECZEŃSTWA

Instrukcja. Skrócona instrukcja konfiguracji wideodomofonowego systemu jednorodzinnego V_1.0

Instrukcja obsługi. Helpdesk. Styczeń 2018

INFO-NET.wsparcie. pppoe.in.net.pl. Pamiętaj aby nie podawać nikomu swojego hasła! Instrukcja połączenia PPPoE w Windows XP WAŻNA INFORMACJA

Praca w sieci z serwerem

Konfiguracja zapory Firewall w systemie Debian.

Tomasz Greszata - Koszalin

1. INSTALACJA SERWERA

Instrukcja obsługi przełącznika KVM ATEN CS661. Opis urządzenia. Instalacja urządzenia

Instrukcja użytkowania oprogramowania SZOB PRO

Podręcznik użytkownika

Wykład Nr Sieci bezprzewodowe 2. Monitorowanie sieci - polecenia

Obsługa poczty elektronicznej w domenie emeritus.ue.poznan.pl

Ćw. I. Środowisko sieciowe, połączenie internetowe, opcje internetowe

Transkrypt:

UNIXOWY PROTOKÓŁ GRAFICZNY ( X PROTOKÓŁ ) Unixowy protokół graficzny (X protokół) jest protokołem wysokiego poziomu (warstwy prezentacji) służącym do przesyłania informacji graficznej pomiędzy programem użytkowym (X klientem), a programem obsługującym terminal graficzny (X serwerem). monitor 1 monitor 2 monitor n Terminal graficzny (X terminal) komputer główny (host) klawiatura wskaźnik (mysz) X serwer X klient Model logiczny pary X klient - X serwer 1

Uwaga. 1) Konfiguracja oprogramowania jest odwrotna, niż zazwyczaj (serwer w terminalu, klient w komputerze głównym). 2) Terminal graficzny może być zarządzany przez tylko jeden X serwer, w komputerze głównym może być uruchomionych wielu klientów. 3) Ogólny model jest modelem sieciowym: wiele komputerów i wiele terminali może być połączonych w sieć, dowolny proces na dowolnym komputerze (być może pełniącym jednocześnie rolę terminala graficznego) może łączyć się z dowolnym X serwerem, jeśli tylko posiada odpowiednią autoryzację. 4) Autoryzacja (prawo do komunikowania się) może być przydzielana przez właściciela procesu X serwera wybranym użytkownikom sieci, wybranym komputerom lub wszystkim użytkownikom. W Unixie służy do tego polecenie xhost. 5) Wielu klientów może komunikować się współbieżnie z jednym X serwerem i rywalizować o generowane przez niego sygnały. Programy klientów powinny być tak konstruowane, żeby nie dezorganizowały sobie wzajemnie pracy. 2

Uruchamiając X serwer na lokalnym komputerze, możemy wykorzystywać go na kilka sposobów. 1. Możemy uruchomić X serwer (w trybie ekranowym (panning) lub ukrytym ) aby jedynie czekał na zgłoszenia X klientów z innych komputerów (musimy przedtem udzielić im autoryzacji). X klienci mogą być następnie uruchomieni w trybie tekstowym (przez nas lub innego upoważnionego użytkownika) i komunikować się z naszym X serwerem wyświetlając informację graficzną i pobierając sygnały od klawiatury i myszy (kiedy okno X serwera jest aktywne). Na pozostałej części ekranu możemy jednocześnie obserwować wykonywanie programów na komputerze lokalnym. 2. Możemy otworzyć sesję graficzną w analogiczny sposób, jak otwieramy sesję pracy z systemem unixowym w trybie tekstowym, tj. rozpoczynając od podania nazwy swojego konta i hasła. Sesja może być otwarta zarówno na komputerze lokalnym (jeśli pracuje on pod systemem Unix), jak i odległym. Aby otworzyć sesję, komunikujemy się z programem xdm (X Display Manager) za pośrednictwem protokołu XDMCP (X Display Manager Control Protocol). xdm współpracuje z procesem zarządcy sesji (session manager), który w trybie graficznym pełni analogiczną rolę, jak shell zgłoszony w przypadku sesji w trybie tekstowym - czas jego wykonywania wyznacza czas trwania sesji graficznej. 3

Otwarcie sesji graficznej powoduje, że nasz ekran staje się ekranem terminala graficznego podłączonego do lokalnego lub odległego systemu unixowego. Każdy typ xdm ma swoją szatę graficzną ekranu powitalnego i okienka logowania (login widget). Po pomyślnym zalogowaniu się nadzór nad obrazem na ekranie pełni współpracujący z xdm zarządca okien (window manager). xdm rozpoznaje trzy podstawowe rodzaje pakietów inicjujących komunikację przez XDMCP: - query (polecenie X -query host) - powoduje zgłoszenie zamiaru otwarcia sesji graficznej na danym komputerze; - broadcast (polecenie X -broadcast) - powoduje zgłoszenie zamiaru otwarcia sesji graficznej na dowolnym komputerze w sieci lokalnej (pierwszym, który dobrowolnie się zgłosi i umożliwi to); - indirect (polecenie X -indirect host) - powoduje, że dany komputer rozsyła pakiety broadcast w swojej sieci lokalnej w imieniu zgłaszającego się, a potem przekazuje mu listę hostów (w postaci menu), które zaoferowały możliwość otwarcia na nich sesji graficznej. Uwaga Otwarcie sesji graficznej powoduje automatyczne utworzenie zmiennej środowiska DISPLAY przez xdm (i późniejsze dziedziczenie jej przez proces zarządcy okien i inne procesy X klientów). 4

X serwer nie musi być programem unixowym. Różne X serwery pracujące pod różnymi systemami operacyjnymi na rozmaitym sprzęcie mogą mieć bardzo zróżnicowane własności (jeśli chodzi o rozdzielczość, paletę kolorów, zbiory czcionek, zbiory wykonywanych funkcji i inne). Prawidłowo skonstruowane programy użytkowe (X klienci) powinny na początku testować możliwości X serwera, z którym aktualnie się komunikują, i dostosowywać się do nich. Unixowa biblioteka funkcji Xlib jest interfejsem programów w języku C do protokołu graficznego (funkcjonującego zazwyczaj w oparciu o protokół TCP lub protokół do komunikacji lokalnej). Jest to biblioteka niskiego poziomu (oferująca funkcje typu otwarcie/zamknięcie terminala graficznego, otwarcie/zamknięcie okna na terminalu, nakreślenie linii prostej, łuku okręgu lub wypisanie tekstu). Na jej bazie powstały biblioteki wyższego poziomu, np. Xt (X toolkit) oferujące obsługę bardziej złożonych obiektów, takich jak przyciski, menu rozwijalne czy okienka dialogowe. Kompilacja programów w języku C korzystających z biblioteki Xlib wymaga umieszczenia w programie odpowiednich plików nagłówkowych oraz podania opcji kompilatora powodującej dołączenie odpowiednich funkcji bibliotecznych do programu wynikowego. ( W naszym przypadku: gcc -L/usr/X11R6/lib -lx11 nazwa.c ) 5

Najważniejsze funkcje i struktury danych Funkcje Xlib operują na standardowych strukturach danych, do których dostęp jest możliwy zazwyczaj tylko za ich pośrednictwem. Struktury te są logicznym obrazem fragmentów sprzętu, na którym operuje X serwer: {Uwaga: do tej pory nie istnieją polskie odpowiedniki wielu nazw angielskich} terminal graficzny (display) - odpowiada pojęciu graficznej stacji roboczej (z urządzeniami we/wy) ekran (screen) - odpowiada obrazowi na ekranie monitora okno (window) - odpowiada oknu (zwykle jednemu z wielu) wyświetlanemu na ekranie mapa pikselowa (pixmap) - odpowiada obszarowi w pamięci operacyjnej przechowującemu obraz, który może być wyświetlony w oknie rysowisko (drawable) - wspólna nazwa dla okien i map pikselowych i wiele innych. 6

Istotnym pojęciem jest pojęcie zdarzenia, które może dotyczyć zarówno użycia klawiatury lub wskaźnika (myszy), jak i rozwoju wydarzeń na ekranie - przesłonięcia/odsłonięcia okna, zmiany okna aktywnego i innych. Program klienta może być wykonywany w trybie asynchronicznym (z kolejkowaniem zdarzeń poszczególnych rodzajów) lub w trybie synchronicznym (wielokrotnie wolniejszym, wykorzystywanym głównie do celów diagnostycznych). Aby móc wykonywać operacje na oknach, X serwer musi komunikować się z zarządcą okien (window manager). Proces ten jest specjalnym klientem X serwera, który musi być aktywny przez cały czas działania X serwera. Decyduje on o wszystkich szczegółach technicznych związanych z wyświetlaniem okien, które nie są ujęte w specyfikacji X protokołu. Uwaga. Programy X klientów mogą decydować o tym, czy chcą, czy też nie chcą korzystać z usług zarządcy okien (i wyświetlać obraz w postaci surowych okien nieprzemieszczalnych po ekranie). 7

Display XOpenDisplay (char nazwa); Zwraca: wskaźnik do struktury typu Display w przypadku sukcesu; wskaźnik pusty (NULL) w przypadku błędu. nazwa - łańcuch pusty lub o postaci: adres:numer.ekran gdzie adres - adres sieciowy komputera (o postaci zależnej od używanego protokołu warstwy transportowej, w przypadku protokołu TCP może być cyfrowy lub symboliczny (jeśli dostępny jest serwer nazw), może też być pusty - wtedy dobierany jest jeden z protokołów w dziedzinie Unixa) numer - numer terminala graficznego (zazwyczaj podajemy tu 0, większe liczby mogą się pojawić, jeśli jeden komputer steruje kilkoma nieinteligentnymi graficznymi stacjami roboczymi) ekran - numer monitora domyślnego w zestawie graficznej stacji roboczej (tę część wraz z kropką pomijamy, jeśli stacja robocza ma tylko jeden monitor) 8

Działanie: ustanawia połączenie między procesem wywołującym tę funkcję a X serwerem o podanym adresie i zapisuje uzyskane informacje o X serwerze w strukturze, do której zwraca wskaźnik. W przypadku, jeśli zamiast nazwy został podany łańcuch pusty, pobiera nazwę domyślną zapisaną w zmiennej środowiska DISPLAY. Uwaga. Niektóre systemy unixowe tworzą automatycznie zmienną DISPLAY już w momencie zalogowania się na nie (na przykład przy użyciu telnetu), niektóre należy skłonić do tego odpowiednim poleceniem (najlepiej umieszczonym w skrypcie logowania). void XCloseDisplay (Display terminal); terminal - wskaźnik do struktury zwrócony przez funkcję XOpenDisplay Działanie: zapamiętuje niektóre ustawienia (na życzenie programisty) i zrywa połączenie z X serwerem. 9

Istnieje cała seria funkcji służących do testowania struktury utworzonej przez funkcję XOpenDisplay (co umożliwia dostosowanie działania programu do możliwości X serwera). Żeby można było cokolwiek wyświetlić na ekranie terminala, należy otworzyć na nim okno. Okazuje się to nadspodziewanie skomplikowaną czynnością, bo trzeba określić mnóstwo różnych atrybutów - rozmiary okna, szerokość ramki, kolory ramki i tła, czy korzystamy z usług zarządcy okien, czy okno ma samo odtwarzać brakujące fragmenty po odsłonięciu itd. Możemy też zasugerować początkowe położenie okna na ekranie (co w przypadku korzystania z usług zarządcy okien niekoniecznie musi być spełnione). Niektóre z tych atrybutów określamy oddzielnymi funkcjami, a niektóre podajemy jako argumenty funkcji tworzącej okno (XCreateWindow). Dalsze czynności są jeszcze bardziej skomplikowane (określenie palety kolorów, kontekstu graficznego itd.). Początkującym programistom może trochę ułatwić pracę korzystanie z wartości domyślnych (funkcje Default Screen, DefaultVisual, XCreateSimpleWindow i inne). 10