28 maja 2013 r. X Window System. Autorzy: Jerzy Jelinek Paweł Korpowski



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;

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

System komputerowy. Sprzęt. System komputerowy. Oprogramowanie

Sposoby zdalnego sterowania pulpitem

Instrukcja konfiguracji funkcji skanowania

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

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

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

Stworzenie programu KSIĄŻKA ADRESOWA posiadającego funkcjonalności przechowywania danych o osobach dodanych przez użytkownika.

Instrukcja użytkownika

MODEL WARSTWOWY PROTOKOŁY TCP/IP

11. Rozwiązywanie problemów

Instrukcje instalacji pakietu IBM SPSS Data Access Pack dla systemu Windows

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

System Kancelaris. Zdalny dostęp do danych

ZiMSK. Konsola, TELNET, SSH 1

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

Opis komunikacji na potrzeby integracji z systemem klienta (12 kwiecień, 2007)

Wszystkie parametry pracy serwera konfigurujemy w poszczególnych zakładkach aplikacji, podzielonych wg zakresu funkcjonalnego.

Instrukcja użytkownika

Przedmiotowy system oceniania z informatyki

1 Moduł Diagnostyki Sieci

Usługi sieciowe systemu Linux

4. Podstawowa konfiguracja

Wybrane działy Informatyki Stosowanej

Tomasz Greszata - Koszalin

Protokoły zdalnego logowania Telnet i SSH

Sieciowe dyski wirtualne oraz VM platforma jako usługa. Bogusław Kaczałek Kon-dor GIS Konsulting

INSTRUKCJA INSTALACJI SYSTEMU

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Akademia Techniczno-Humanistyczna w Bielsku-Białej

Tomasz Greszata - Koszalin

Klient-Serwer Komunikacja przy pomocy gniazd

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

Dell P2018H Dell Display Manager Instrukcja użytkownika

KONFIGURACJA SIECIOWA SYSTEMU WINDOWS

Skrócona instrukcja konfiguracji skanowania iwysyłania wiadomości

PROBLEMY TECHNICZNE. Co zrobić, gdy natrafię na problemy związane z użytkowaniem programu DYSONANS

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

Kryteria oceniania. Zajęcia komputerowe. Klasa IV

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Projektowanie architektury systemu rozproszonego. Jarosław Kuchta Projektowanie Aplikacji Internetowych

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

Szybki start instalacji SUSE Linux Enterprise Server 11

Wykład 3 / Wykład 4. Na podstawie CCNA Exploration Moduł 3 streszczenie Dr inż. Robert Banasiak

Voicer. SPIKON Aplikacja Voicer V100

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Systemy internetowe. Wykład 5 Architektura WWW. West Pomeranian University of Technology, Szczecin; Faculty of Computer Science

ActiveXperts SMS Messaging Server

12. Wirtualne sieci prywatne (VPN)

Wstęp 5 Rozdział 1. SUSE od ręki 13

Ćwiczenie 6. Wiadomości ogólne.

Platforma e-learningowa

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: - zna rodzaje sieci - zna topologie sieciowe sieci

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

Bezpieczeństwo systemów informatycznych

Instalacja aplikacji

Instalacja i konfiguracja serwera SSH.

Biuletyn techniczny. CDN OPT!MA 12.0 Drukarki fiskalne w usługach terminalowych. Copyright 2007 COMARCH SA

Sieci komputerowe i bazy danych

INSTRUKCJA OBSŁUGI DLA SIECI

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

Wykaz zmian w programie WinAdmin Replikator

Stawiamy pierwsze kroki

Podręcznik programu KNetAttach. Orville Bennett Polskie tłumaczenie: Krzysztof Woźniak

Wymagania edukacyjne z zajęć komputerowych w klasie 5

Przewodnik po Notowaniach Statica mdm 4

Laboratorium Sieci Komputerowych - 2

Programowanie na poziomie sprzętu. Programowanie w Windows API

Poradnik korzystania z usługi FTP

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

MASKI SIECIOWE W IPv4

Komputery I (2) Panel sterowania:

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

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Instrukcja konfiguracji programu Fakt z modułem lanfakt

Konfiguracja IPSec Brama IPSec w Windows 2003 Server

Zamawianie Taxi Instrukcja użytkownika

BlackBerry Internet Service. Wersja: użytkownika. Podręcznik

Pakiet Sokrates Instrukcja instalacji

Zdalne logowanie do serwerów

Certyfikat Certum Basic ID. Instrukcja dla użytkowników Windows Vista. wersja 1.3 UNIZETO TECHNOLOGIES SA

Instrukcja dla użytkowników Windows Vista Certyfikat Certum Basic ID

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

Dell UltraSharp U2518D/U2518DX/U2518DR Dell Display Manager Instrukcja użytkownika

Pracownia internetowa w szkole ZASTOSOWANIA

New Features in Allplan Allplan Nowy system licencjonowania w Allplan

Instrukcja EQU Kantech

Instrukcja użytkownika

Océ Podręcznik użytkownika

Messenger. Novell 1.0 WYSZUKIWANIE DOKUMENTACJI PRODUKTU NOVELL MESSENGER. SZYBKI START

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

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

Dodawanie operacji dodatkowych w WAPRO Mag.

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Asix.Evo - Uruchomienie aplikacji WWW

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

PlantVisor_1.90PL Instrukcja instalacji, konfiguracji oraz obsługi

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

MIGRATE TO 3TB. Przewodnik

Transkrypt:

28 maja 2013 r. X Window System Autorzy: Jerzy Jelinek Paweł Korpowski

Spis treści Wstęp... 3 Architektura... 3 Klienty-serwer... 3 Sieciowa transparentność... 3 Wady... 3 Komunikacja... 4 Uwierzytelnianie... 5 Metody... 5 Tunelowanie... 6 Zarządzanie oknami... 6 Okna... 6 Menadżer okien... 7 GUI... 7 Przyszłość... 9 Źródła... 9 Strona 2 z 9

Wstęp System X Window został opracowany na Uniwersytecie MIT w 1984 r. Jest to graficzny system komputerowy, którego zadaniem jest zapewnienie podstawowych operacji do tworzenia okien. System ten zajmuje się obsługą urządzeo wejściowych, tworzy abstrakcyjną warstwę sprzętową, umożliwia rysowanie prostych kształtów oraz kolorowanie pikseli i wczytywanie bitmap. Początkowo najpopularniejszą implementacją było XFree86, jednak od 2004 roku z powodów licencyjnych, większośd dystrybucji wykorzystuje X.Org. Aplikacja ta działa w architekturze klient-serwer, dane wymieniane są przez X Window System Core Protocol. Aktualna wersja to X11R7.7, co ciekawe pierwsza wersja X11 powstała w 1987 r. i stworzone wtedy programy są zgodne z aktualnymi i nadal mogą się z nimi komunikowad. Architektura Klienty-serwer W X Window role klienta i serwera są odwrócone w stosunku do klasycznych systemów tego typu. Często jest to powodem komplikacji, zwłaszcza dla niezaawansowanych użytkowników. Serwer X jest uruchamiany na lokalnym komputerze użytkownika, wyświetlającym grafikę i łączy się z różnymi, zdalnymi klientami, czyli programami uruchamianymi na innych komputerach. Serwer: zajmuje się obsługą urządzeo wejściowych - klawiatury, myszy, tabletu wyświetla okna otrzymywane od klientów może byd słabym komputerem łączącym się z mocnymi maszynami Klient: otrzymuje dane z urządzeo wejściowych serwera przesyła wyniki swojego działania do serwera (w postaci okien) Sieciowa transparentność Protokół z którego korzysta X jest przeźroczysty sieciowo (sprawia wrażenie pojedynczego, zintegrowanego systemu) i powstał w czasach, gdy na jednym komputerze pracowało się za pomocą łączących się z nim cienkich klientów (klienci niezależni od serwera, np. korzystanie z systemu bankowego za pomocą przeglądarki www, operacje wykonywane są po stronie serwera). Klient i serwer mogą działad na tej samej bądź różnych maszynach (z różnymi architekturami i systemami operacyjnymi). Mogą łączyd się bezpiecznie poprzez Internet wykorzystując tunelowanie. Wady Kiedy klient i serwer działają na jednej maszynie, to ścieżka komunikacji staje się niepotrzebnie długa. Klient wysyła sygnał, serwer odbiera go, przesyła do sterowników, te Strona 3 z 9

korzystając ze sprzętu przetwarzają go, zwracają rezultat serwerowi, a ten przesyła go do klienta. Stanowi to problem, kiedy przetwarzana jest zaawansowana grafika 3D. W 1998 r. rozszerzono X o DRI (Direct Rendering Infrastructure), czyli technologie pozwalającą na bezpośrednie renderowanie grafiki pomijając serwer X. Znacząco podniosło to wydajnośd, zwłaszcza aplikacji 3D. W 2007 r. pojawiło się DRI2. Obecnie Linuxy korzystają z dwóch niezwiązanych ze sobą sterowników - DDX do wolnych operacji serwerowych X (czyli np. obsługi okien) oraz DRI zajmujący się przetwarzaniem grafiki. Pojawia się pytanie, czy serwer X jest w ogóle potrzebny, skoro wydajniejsze jest renderowanie grafiki bez niego. Kolejną wadą jest koniecznośd uruchamiania serwera na prawach roota. Komunikacja Rysunek 1 Schemat działania X Window W X11 komunikacja polega na wymianie pakietów przez otwarty kanał komunikacyjny. Połączenie jest nawiązywane przez klienta, który wysyła pierwszy pakiet zawierający kolejnośd bajtów jaka ma byd używana podczas komunikacji oraz informacje na temat wersji protokołu i rodzaju uwierzytelniania jakiego klient oczekuje od serwera. Serwer odpowiada poprzez wysłanie pakietu z prośbą o dalsze uwierzytelnianie lub odmową dostępu. Jeśli połączenie jest zaakceptowane, pakiet akceptacji zawiera dane dla klienta, które będą wykorzystane w kolejnej interakcji z serwerem. Po ustanowieniu połączenia, między klientem a serwerem mogą zostad przesyłane cztery typy pakietów: Request - klient prosi o informacje z serwera albo prosi serwer o wykonanie akcji. Reply - serwer odpowiada na zapytanie klienta (nie wszystkie zapytania wymagają odpowiedzi). Strona 4 z 9

Event - serwer informuje klienta o wydarzeniu takim jak naciśnięcie klawisza, kliknięcie, przesunięcie okna, etc. Error - jeśli zapytanie jest niepoprawne serwer wysyła pakiet błędu. Ponieważ zapytania są kolejkowane, pakiet błędu może byd wysłany z opóźnieniem. Pakiety request i reply mają zmienną długośd, natomiast pakiety event i error stałą, wynoszącą 32 bajty. Rysunek 2 Pakiety przesyłane pomiędzy klientem, a serwerem Uwierzytelnianie Metody X Window Serwer posiada pięd standardowych rodzajów mechanizmów kontroli, które klient może wykorzystad podczas łączenia. Można je pogrupowad w 3 kategorie: dostęp oparty o hosta dostęp oparty o ciasteczka dostęp oparty o użytkownika Host: Metoda polegająca na określeniu, które komputery są uprawione do łączenia się z serwerem X. Program xhost daje możliwośd wyświetlenia oraz modyfikowania listy komputerów z dostępem do serwera. Nieprawidłowe użycie xhost może doprowadzid do tego, że każdy komputer w sieci będzie miał dostęp do naszego serwera X. Ciasteczka: Metoda jest oparta o wybór pliku ciasteczka i przekazaniu go do serwera podczas jego uruchamiania. Dostęp do serwera X uzyskują ci klienci, którzy posiadają odpowiedni plik ciasteczka. Ciasteczka są tworzone poprzez oddzielny program i standardowo przechowywane w pliku.xauthority, w katalogu użytkownika. Plik ten wykorzystywany jest przez klienta do Strona 5 z 9

uwierzytelniania się na serwerze X. Chcąc uzyskad dostęp z innego komputera w sieci, ciasteczko musi zostad skopiowane na ten komputer (np. wykorzystując scp). Dwoma systemami wykorzystującymi tę metodę są MIT-MAGIC-COOKIE-1 i XDM-AUTHORIZATION-1. W pierwszym klient wysyła plik ciasteczka, kiedy jest proszony o uwierzytelnienie, w drugim oprócz pliku ciasteczka w.xauthority przechowywany jest też tajny klucz. Klient tworzy ciąg znaków poprzez połączenie aktualnego czasu, identyfikatora zależnego od transportu i ciasteczka. Następnie ciąg jest szyfrowany i wysyłany na serwer. Aplikacją do obsługi pliku.xauthority jest xauth. Użytkownik: Metoda pozwala na dostęp do serwera konkretnym użytkownikom. Klient łącząc się z serwerem musi udowodnid, że posiada prawa do korzystania z niego. Dwie metody oparte na uwierzytelnianiu użytkowników to: SUN-DES-1 i MIT-KERBEROS-5. Pierwszy system oparty jest o mechanizm bezpiecznego, zdalnego wywoływania procedury, i był rozwijany w SunOS. Drugi to protokół uwierzytelniania Kerberos. Tunelowanie Połączenie miedzy serwerem a klientem może byd chronione poprzez bezpieczne protokoły takie jak SSL, SSH. Zarządzanie oknami Okna To, co w GUI nazywane jest oknem, w X jest top-level window. Termin okno jest używany także dla okien leżących w innych oknach (podokien). Wszystkie graficzne elementy takie jak guziki, menu, ikony są realizowane przy użyciu okien. Okna mogą byd tworzone tylko jako podokna rodzica, tworzy to strukturę drzewiastą. X server automatycznie tworzy korzeo drzewa (root window). Rysunek 3 Okna w X Serwer X przechowuje wszystkie informacje dotyczące okien, czcionek etc. Klient zna identyfikatory tych obiektów - integery. Klient może tworzyd okna z konkretnym identyfikatorem. Identyfikatory są unikalne nie tylko w obrębie klienta, ale także serwera. Żadne dwa okna nie mogą mied tego samego identyfikatora, nawet jeśli są stworzone przez różnych klientów. Strona 6 z 9

Menadżer okien Jest to program odpowiadający za wyświetlanie i położenie okien w graficznym interfejsie użytkownika w X Window System, umożliwia pracę z wieloma programami w tym samym czasie. Różnice pomiędzy menedżerami okien występują w: konfiguracji wyglądu oraz funkcjonalności o menu tekstowych o programów lub zmieniania ich ustawieo o paneli i innych graficznych metod uruchamiania programów o liczby pulpitów oraz wirtualnych pulpitów (pulpity, które są większe niż fizyczny rozmiar monitora) i metod przełączania się pomiędzy nimi ilością zajmowanej pamięci i innych zasobów systemowych stopnia integracji ze środowiskiem Przykłady menedżerów okien wykorzystywanych w X Window System : Blackbox Compiz Fluxbox IceWM KWin (dawniej KWM, domyślny menedżer okien KDE) Metacity (menedżer okien dla GNOME 2.x) Openbox Window Maker GUI Definicje za Wikipedią: GUI - graficzny interfejs użytkownika, nazywany też środowiskiem graficznym ogólne określenie sposobu prezentacji informacji przez komputer oraz interakcji z użytkownikiem, polegającego na rysowaniu i obsługiwaniu widżetów. Widżet - Podstawowy element graficznego interfejsu użytkownika (np. okno, pole edycji, suwak, przycisk). Graficzne interfejsy użytkownika wykorzystują system X Window oraz menadżery okien. Różnica pomiędzy menadżerem okien, a GUI jest taka, że menadżer zapewnia jedynie zarządzanie oknami (fragmentami ekranu), natomiast środowisko graficzne dostarcza nie tylko menadżera okien, ale też szereg podstawowych aplikacji łatwych w obsłudze nawet dla początkującego użytkownika. Najpopularniejsze graficzne interfejsy użytkownika to: KDE o powstało w 1996 r. o korzysta z biblioteki graficznej Qt (do 97 r. nie było to wolne oprogramowanie) o zapewnia dużą konfigurowalnośd aplikacji o menadżerem okien jest KWin Strona 7 z 9

Rysunek 4 Wygląd KDE GNOME o projekt rozpoczął się w 1997 r., pierwsze wydanie w 1999 r. o alternatywa dla KDE, na licencji GPL o kładzie nacisk na prostotę obsługi o menadżer okien to Mutter (od wersji 3.0) Rysunek 5 GNOME Strona 8 z 9

Przyszłość Jako następcę X Window postrzega się system Weyland. Pretenduje on do miana prostszego zamiennika dla X, łatwiejszego w rozwijaniu i utrzymaniu. Jest to protokół systemu okien stworzony w języku C dla systemu Linux. Dzięki niemu ułatwione jest wyświetlanie grafiki poprzez połączenie menadżera kompozycji oraz systemu okien w jedną aplikację. Projekt ten został zapoczątkowany przez Kristiiana Høgsberga w 2008 roku. Zostało zapowiedziane, że GNOME i KDE zostaną przeniesione na Weyland. Projekt jest w początkowej fazie rozwoju i ma jeszcze kilka ograniczeo: Utrata transparentności sieciowej Brak natywnego OpenGL Zamknięte sterowniki do grafik AMD i NVIDIA nie wspierają protokołu Wayland Źródła http://sequoia.ict.pwr.wroc.pl/~witold/unixintro/xwinintro_s.pdf http://en.wikipedia.org/wiki/x_window_system_protocols_and_architecture http://en.wikipedia.org/wiki/x_window_system http://wayland.freedesktop.org/ http://zsm-e.cal.pl/presentations/so/12.3.pdf http://linux4u.w.interia.pl/pdf/x%20window%20system.pdf http://www.cyberciti.biz/tips/running-x-window-graphical-application-over-ssh-session.html Strona 9 z 9