13. SERWER UNIXOWEGO PROTOKOŁU GRAFICZNEGO Unixowy protokół graficzny (X protokół) jest protokołem wysokiego poziomu (warstwy prezentacji) służącym do.

Slides:



Advertisements
Podobne prezentacje
Sieci komputerowe.
Advertisements

Sieci komputerowe.
Rozszerzalność systemów rozproszonych
1 Linux jako system wielozadaniowy i wielodostępny.
Autor Roman Jędras Prowadzący: dr inż. Antoni Izworski Przedmiot:
Mateusz Srebrny 15 grudnia 2003 Motif, okienka i obiekty Mateusz Srebrny 15 grudnia 2003.
SIECI KOMPUTEROWE (SieKom) PIOTR MAJCHER WYŻSZA SZKOŁA ZARZĄDZANIA I MARKETINGU W SOCHACZEWIE Zarządzanie.
Wprowadzenie do Unix’a
Systemy operacyjne.
Longhorn - Usługi terminalowe
Artur Szmigiel Paweł Zarębski Kl. III i
UNIXOWY PROTOKÓŁ GRAFICZNY ( X PROTOKÓŁ ) Unixowy protokół graficzny (X protokół) jest protokołem wysokiego poziomu (warstwy prezentacji) służącym do przesyłania.
Semafory według normy POSIX
1 Podstawy informatyki H. P. Janecki- 2006_ Systemy Operacyjne W6.
Panel sterowania.
USŁUGA FTP 1. Definicja FTP. FTP (File Transfer Protocol, ang. protokół transmisji plików) jest protokołem typu klient-serwer, który umożliwia przesyłanie.
KONFIGURACJA KOMPUTERA
PRACA W DOMENIE Różnice użytkowe między pracą w domenie i grupie roboczej. 1. Ekran logowania. - wciśnięcie klawiszy [Ctrl+Alt+Delete], a następnie podanie.
Podstawy programowania II Wykład 2: Biblioteka stdio.h Zachodniopomorska Szkoła Biznesu.
Konsole wirtualne, terminale.
Konfiguracja kont w programie Adobe Dreamweaver
Tworzenie nowych kont lokalnych i domenowych, oraz zarządzanie nimi
Wielozadaniowowść systemu operacyjnego Linux
Jerzy Jelinek Paweł Korpowski
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH
Prezentacja Adrian Pyza 4i.
Autor: Justyna Radomska
SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE
Automatyka i Robotyka Systemy czasu rzeczywistego Wykład 4.
Sieci komputerowe.
Konfiguracja systemu Windows
W jaki sposób użytkownik komunikuje się z komputerem?
Buforowanie D e f i n i c j a.
POŚREDNIK Jak reprezentowana jest informacja w komputerze? liczby – komputer został wymyślony jako zaawansowane urządzenie służące do wykonywania.
Internetowe surfowanie
mgr inż. Mariola Stróżyk
Linux w sieci Konfigurowanie interfejsu sieciowego.
Prezentacja Adrian Pyza 4i.
Partner Handlowy Konfiguracja sieci TCP/IP - Windows 2000, Xp, 2003.
Aplikacje TCP i UDP. Łukasz Zieliński
Projektowanie stron WWW
Podręczna karta informacyjna dotycząca © 2012 Microsoft Corporation. Wszelkie prawa zastrzeżone. aplikacji Lync Web App Dołączanie do spotkania programu.
Podstawy programowania
Konfiguracja VPN Klienta – Windows 7
Jednym z podstawowych celów tworzenia sieci komputerowych jest współdzielenie zasobów, takich jak pliki lub drukarki. Każdy z takich zasobów musi być udostępniony,
PULPIT WINDOWS.
Systemy operacyjne i sieci komputerowe
Konfiguracja VPN Serwera – Windows 7
Uprawnienia w Windows Server
BUDOWA I DZIAŁANIE SIECI KOMPUTEROWYCH LEKCJA 1: Zadania sieci komputerowych i modele sieciowe Dariusz Chaładyniak.
PHP Zmienne Damian Urbańczyk. Czym są zmienne? Zmienne zajmują pewien obszar pamięci, aby przechować pewne dane. W przypadku PHP, zmienne stosuje się.
Dokumentacja obsługi programów Kamil Smużyński Piotr Kościński.
Beata Sanakiewicz. Spis treści  Pierwsze spotkanie Pierwsze spotkanie  Ustawienia witryny Ustawienia witryny  Tło strony Tło strony  Teksty na stronie.
Formatowanie dokumentów
Sposoby zdalnego sterowania pulpitem
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Podstawy programowania
X-Window Arkadiusz Jaworski. X-Window System X to jest zbiór protokołów, tak jak telnet, ftp, http, ktore pozwalają na zbudowanie rozproszonego systemu.
SIECI KOMPUTEROWE JAN STOSIO KLASA 1 E Sieć komputerowa – zbiór komputerów i innych urządzeń połączonych ze sobą kanałami komunikacyjnymi. Sieć komputerowa.
Środowisko wspomagania automatycznej instalacji GNU/Linux „Multistart” Marta Szcześniak.
Elementy przeglądarki internetowej Pasek menu Pasek kart Pasek adresowy Pasek wyszukiwania Okno z zawartością strony internetowej Zakładki (ulubione)
Wykład 4 Dr Aneta Polewko-Klim Dr Aneta Polewko-Klim
Akademia ETI 2016 LABORATORIUM 2 – OBSŁUGA WYŚWIETLACZA GRAFICZNEGO.
Wykład 4 Dr Aneta Polewko-Klim
Protokoły używane w sieciach LAN Funkcje sieciowego systemu komputerowego Wykład 5.
materiały dla uczestników
Hipertekst HTML WWW.
PODSTAWOWE ZARZĄDZANIE KOMPUTERAMI Z SYSTEMEM WINDOWS
Sieci komputerowe Usługi sieciowe 27/09/2002.
Najważniejsze informacje dotyczące programu Sway.
Zapis prezentacji:

13. SERWER UNIXOWEGO PROTOKOŁU GRAFICZNEGO 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). Terminal graficzny (X terminal) klawiatura wskaźnik (mysz) komputer główny (host) monitor 0 monitor 1 monitor n-1 X serwer X klient Model logiczny pary X klient - X serwer

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.

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 odpo- wiednich funkcji bibliotecznych do programu wynikowego. ( W naszym przypadku: gcc nazwa.c -o nazwa -lX11 )

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.

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 (zazwyczaj wykonywanym na tym samym komputerze, co X serwer), 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).

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 proto- kołó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)

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. Jeśli logujemy się w trybie tekstowym (na przykład przy użyciu protokołu ssh), zmienna DISPLAY prawdopodobnie nie istnieje w środowisku. Należy utworzyć ją wtedy ręcznie (na podstawie wartości innych zmiennych środowiska) lub umieścić odpowiednie polecenie 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.

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).