(11 lat po R6). Jednak poza pewnymi rozszerzeniami zasadniczy protokó l. i programy uruchomione np. w roku 1987 mog a komunikować si e z programami

Podobne dokumenty
Wprowadzenie do systemu X Window

Wprowadzenie do systemu X Window

Wprowadzenie do systemu X Window

Wprowadzenie do systemu X Window

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

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

1.Instalacja. Przechodzimy przez kolejne okna instalatora klikacjąć Dalej. wolek.zallegro.pl

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

Uruchamianie SNNS. Po uruchomieniu. xgui & lub snns & pojawia si e okno. programu. Symulator sztucznych sieci neuronowych SNNS 1

Kalipso wywiady środowiskowe

Windows W celu dostępu do i konfiguracji firewall idź do Panelu sterowania -> System i zabezpieczenia -> Zapora systemu Windows.

VComNet Podręcznik użytkownika. VComNet. Podręcznik użytkownika Wstęp

26.X.2004 VNC. Dawid Materna

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

Tomasz Greszata - Koszalin

Instrukcja instalacji oprogramowania TSG wer. 5.0 z dost pem do danych poprzez sie Internet.

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

Instrukcja konfiguracji funkcji skanowania

Konfiguracja klientów SSH - PuTTY i WinSCP

UNIXOWY PROTOKÓŁ GRAFICZNY ( X PROTOKÓŁ )

Zaawansowane programowanie w C++

Dodanie nowej formy do projektu polega na:

Dlaczego stosujemy edytory tekstu?

HELIOS pomoc społeczna

us lugi katalogowe? Czym różni si e serwer katalogowy od serwera bazy danych:

1. Skopiować naswój komputer: (tymczasowy adres)

Dell UltraSharp UP3017 Dell Display Manager Instrukcja użytkownika

Edytor tekstu MS Office Word

UMOWY CYWILNOPRAWNE Instalacja, rejestracja i konfiguracja programu

INSTALACJA LICENCJI SIECIOWEJ NET HASP Wersja 8.32

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

2.3.8 Personalizacja środowiska GNOME

Instrukcja konfiguracji programu Fakt z modułem lanfakt

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

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

INSTRUKCJA KONFIGURACJI KLIENTA POCZTOWEGO

Klawiatura. Klawisze specjalne. Klawisze specjalne. klawisze funkcyjne. Klawisze. klawisze numeryczne. sterowania kursorem. klawisze alfanumeryczne

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

IBM SPSS Statistics Wersja 22. Linux - Instrukcja instalacji (licencja autoryzowanego użytkownika)

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Instrukcja instalacji Control Expert 3.0

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

Dodawanie operacji dodatkowych w WAPRO Mag.

2017 Electronics For Imaging, Inc. Informacje zawarte w niniejszej publikacji podlegają postanowieniom opisanym w dokumencie Uwagi prawne dotyczącym

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

Sposoby zdalnego sterowania pulpitem

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 1

Usługi sieciowe systemu Linux

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

CZĘŚĆ A PIERWSZE KROKI Z KOMPUTEREM

Instrukcja użytkownika

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

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

Część II Wyświetlanie obrazów

Pracownia internetowa w ka dej szkole (edycja 2004)

Zadanie1: Odszukaj w Wolnej Encyklopedii Wikipedii informacje na temat NAT (ang. Network Address Translation).

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

Praca z programami SAS poza lokalną siecią komputerową UZ. Zestawienie tunelu SSH oraz konfiguracja serwera proxy w przeglądarce WWW

Podgląd z rejestratorów IPOX na komputerze z systemem WINDOWS za pomocą programu NVMS-2.0 LITE

Budowa i oprogramowanie komputerowych systemów sterowania. Laboratorium 4. Metody wymiany danych w systemach automatyki DDE

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Podręcznik użytkownika programu. Ceremonia 3.1

KORZYSTANIE Z BAZY DANYCH UpToDate

INFORMATOR TECHNICZNY WONDERWARE

Instalacja programu na systemie vista/win7/win8/win10. Instrukcja dotyczy instalacji wszystkich programów ( na przykładzie Helios ).

Projektowanie bezpieczeństwa sieci i serwerów

SpedCust 5 instrukcja instalacji

I. Program II. Opis głównych funkcji programu... 19

Synchronizator plików (SSC) - dokumentacja

Cash Flow System Instrukcja

FS-Sezam SQL. Obsługa kart stałego klienta. INFOLINIA : tel. 14/ , kom. 608/ edycja instrukcji :

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania KOMPUTEROWE SYSTEMY STEROWANIA (KSS)

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

Instalacja aplikacji

Graficzny terminal sieciowy ABA-X3. część druga. Podstawowa konfiguracja terminala

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Dokonaj instalacji IIS opublikuj stronę internetową z pierwszych zajęć. Ukaże się kreator konfigurowania serwera i klikamy przycisk Dalej-->.

Instrukcja obsługi programu ODGiK-NET 1.5

Projekty Zaliczeniowe Laboratorium Sieci Komputerowych

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

Krótki kurs obsługi środowiska programistycznego Turbo Pascal z 12 Opracował Jan T. Biernat. Wstęp

Logowanie do aplikacji TETA Web. Instrukcja Użytkownika

Instalacja programu dreryk

Licencja SEE Electrical Free

Rozdział II. Praca z systemem operacyjnym

Funkcje systemu Unix

Korzystanie z aplikacji P-touch Transfer Manager

Maj 2002 Logotech-AA. Instrukcja obsługi programu LogoMon wersja

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

KATEGORIA OBSZAR WIEDZY NR ZADANIA Podstawowe informacje i czynności

Nieskonfigurowana, pusta konsola MMC

Informatyka Edytor tekstów Word 2010 dla WINDOWS cz.1

Zadanie z lokalnych sieci komputerowych. 1. Cel zajęć

WINDOWS XP PRO WINDOWS XP PRO

1. Opis okna podstawowego programu TPrezenter.

12. Wirtualne sieci prywatne (VPN)

Galileo v10 pierwszy program

System operacyjny UNIX Ćwiczenie 1. Podstawowe polecenia systemu Unix

Transkrypt:

Wprowadzenie do systemu X Window Witold Paluszyński Katedra Cybernetyki i Robotyki Politechnika Wroc lawska http://www.kcir.pwr.edu.pl/~witold/ 2001 2013 Ten utwór jest dost epny na licencji Creative Commons Uznanie autorstwa- Na tych samych warunkach 3.0 Unported Utwór udost epniany na licencji Creative Commons: uznanie autorstwa, na tych samych warunkach. Udziela si e zezwolenia do kopiowania, rozpowszechniania i/lub modyfikacji treści utworu zgodnie z zasadami w/w licencji opublikowanej przez Creative Commons. Licencja wymaga podania oryginalnego autora utworu, a dystrybucja materia lów pochodnych może odbywać si e tylko na tych samych warunkach (nie można zastrzec, w jakikolwiek sposób ograniczyć, ani rozszerzyć praw do nich). Za lożenia i historia systemu X window System X Window zosta l opracowany na uniwersytecie M.I.T. w roku 1984 jako standard przemys lowy tworzenia systemów okienkowych, niezależnych od platformy sprz etowej i programowej, w środowisku sieciowym. W za lożeniach mia l być zaimplementowany powyżej systemu operacyjnego komputera, i umożliwiać komunikacj e (wyświetlanie okienek i obrazków) mi edzy różnymi rodzajami komputerów, różnych producentów, z gdzie indziej napisanym oprogramowaniem, i być może pod kontrol a innego administratora systemu. Cel sformu lowany przez twórców systemu zosta l osi agni ety. W roku 1987 wprowadzono wersj e 11 systemu (nazywanego też X11), która jest jego bież ac a wersj a. W tym czasie powsta lo kilka kolejnych wydań (release) rozszerzaj acych funkcjonalności systemu. Najnowszym jest wydanie 7, tzw. X11R7, z roku 2005 (11 lat po R6). Jednak poza pewnymi rozszerzeniami zasadniczy protokó l komunikacyjny systemu X Window pozosta l w wersji 11 niezmieniony, i programy uruchomione np. w roku 1987 mog a komunikować si e z programami aktualnie kompilowanymi. X Window nadzoruje obecnie X Consortium zrzeszaj ace producentów, firmy, i organizacje zainteresowane użytkowaniem i rozwojem systemu. System X Window wprowadzenie 3 System X Window znaczenie spo leczne Od pocz atku system X Window by l projektem otwartym zak lada l ca lkowit a jawność opracowanej koncepcji i zamiar udost epnienia systemu zainteresowanym jednostkom. M.I.T. od pocz atku udost epnia l wszystkie opracowane programy w wersji źród lowej zarówno producentom oprogramowania, jak i użytkownikom. Mi edzy innymi dlatego system zosta l od pocz atku zaakceptowany przez mi edzynarodowe konsorcjum producentów sprz etu komputerowego jako standard systemu okienkowego, i koncepcja tego systemu jest najpowszechniej przyj et a koncepcj a takiego systemu. System X Window wprowadzenie 4

Model konstrukcji programu graficznego Tradycyjny schemat programu graficznego Model X Window programu graficznego Program zródlowy wywolania procedur wysokiego rzedu two rzacych obiekty graficzne biblioteka procedur gra ficznych zamieniajacych operacje graficzne wyso kiego rzedu na operacje obslugujace konkretne urzadzenie wyswietlajace biblioteka procedur gra ficznych zamieniajacych operacje graficzne wy sokiego rzedu na wywo lania protokolu X nie zalezne od systemu ani sprzetu wyswietlajacego Program zródlowy wywolania procedur wysokiego rzedu two rzacych obiekty graficzne kompilator kompilator Program binarny kod obsluguje konkretne urzadzenie graficzne Program binarny kod wysyla polecenia protokolu X Window do serwera serwer X Window odbiera polecenia pro tokolu X Window i obsluguje konkretne urzadzenie graficzne SIEC System X Window wprowadzenie 5 Podstawowe poj ecia i architektura systemu X Window Sk ladniki systemu X Window: serwer ekranowy: urz adzenie użytkownika (ekran, klawiatura, mysz), i program obs luguj acy; najcz eściej serwer jest uruchamiany na stacji roboczej albo komputerze typu PC, aczkolwiek istniej a sprz etowe realizacje serwerów X Window, klienty: programy wyświetlaj ace; mog a być uruchamiane na tym samym komputerze co serwer X Window, albo gdziekolwiek w Internecie, w tym również z komputera o innej architekturze, procesorze, systemie operacyjnym, protokó l X komunikacji klientów z serwerami. System X Window wprowadzenie 6 Serwer X Window Rola serwera X Window obs luga zdarzeń serwera: odbieranie sygna lów od myszy i z klawiatury oraz przekazywanie ich klientowi aktywnemu (ang. focus), odbieranie poleceń i zapytań klientów i ich realizacja. Serwer X Window jest programem, który standardowo nazywa si e X, zatem normalnie jego uruchomienie polega po prostu na wywo laniu tego programu. Uruchomienie go lego serwera X Window jest niewystarczaj ace, ponieważ pomimo iż jest on programem użytkownika, sam nie może być przez niego sterowany. Co najmniej pierwszy klient musi być uruchomiony z zewn atrz. Tradycyjnie, najważniejszym klientem, zwykle uruchamianym w domyślnej konfiguracji, by l emulator terminala, np. xterm. Dzi eki niemu, użytkownik serwera uzyskiwa l zdolność uruchamiania dowolnych programów okienkowych (klientów X Window), konfiguracji systemu, i ogólnie pracy. System X Window serwer 7 Program xinit Program xinit pozwala wygodnie uruchamiać serwer X Window. Wywo luje on serwer X, i od razu powoduje wykonanie skryptu (pliku) ${HOME}/.xinitrc: xedit -geometry -0-0 ~/.xinitrc & xclock -geometry -0+0 & xset s on s 300 xsetroot -solid #006060 xterm Pierwsze dwa wiersze uruchamiaj a klienty okienkowe jako procesy t la (& na końcu). Programy te pracuj a trwale, do momentu ich jawnego zakończenia. Kolejne dwa wiersze uruchamiaj a klienty X Window, które konfiguruj a serwer, wydaj ac mu pewne polecenia. Nie wyświetlaj a one okienek, i szybko kończ a prac e, dlatego nie jest konieczne ich uruchamianie w tle. Ostatni wiersz uruchamia znów trwa ly program okienkowy xterm. Jest on uruchamiany jako pierwszoplanowy, ponieważ po wykonaniu ca lego skryptu xinit zamyka serwer X i kończy prac e. Gdyby ostatni klient by l uruchomiony w tle, ca la sesja by laby krótka i zosta laby automatycznie zamkni eta. Wykonanie ostatniego klienta w pierwszym planie powoduje, że sesja trwa dopóki dzia la ten ostatni klient. Pe lni on wi ec rol e steruj ac a dla serwera X Window. Zakończenie xterm przez użytkownika powoduje również zakończenie sesji okienkowej. System X Window serwer 8

Konwencje i mechanizmy systemu X Window Zwróćmy uwag e na pewne wbudowane mechanizmy systemu X Window: Operacje mysz a: lewy klawisz myszy wybiera i zaznacza (również 2-click, 3-click), środkowy wkleja zaznaczony tekst, prawy uruchamia menu kontekstowe (jeśli klient ma takie). Stos okienek Okienka wyświetlane sa na ekranie w kolejności stosowej te później wyświetlone mog a przykryć te wcześniejsze. Ten stos okienek jest sta ly i użytkownik nie może nim sterować. Jeśli jednak klient wyświetlaj acy okienko na szczycie stosu zostanie zakończony, to ods loni si e okienko poprzedniego klienta, itd. Wybór okna/klienta aktywnego (focus) Okno w którym jest wskaźnik myszy jest aktywne. Ten klient otrzymuje znaki z klawiatury i zdarzenia myszy. Gdy wskaźnik myszy jest w tle ekranu, żadne okno nie jest aktywne. Nie potrzeba klikać na okienko, aby uczynić je aktywnym. Jednocześnie aktywność okienka nie jest zwi azana z wyświetlaniem na szczycie stosu. Ten domyślny sposób wyboru aktywnego nazywa si e: focus-follows-mouse (FFM). System X Window serwer 9 Dynamiczna konfiguracja serwera X Window Serwer X Window posiada wiele cech i funkcji, z których niektórymi można sterować w czasie pracy. Istnieje dedykowany klient xset, który wysy la pewne polecenia serwerowi, zgodne z argumentami wywo lania, np.: xset r off # wylacza autorepeat na klawiaturze xset s on s 300 # wygaszanie ekranu po 300 sekundach xset pozwala również ustawiać serwerowi ważniejsze parametry, jak np. ścieżka dost epu do czcionek (patrz niżej), albo parametry sterowania zasilaniem monitora (s a jednak one zależne od konkretnej implementacji serwera). Program xsetroot pozwala ustawiać parametry wyświetlanego okna serwera, które ma postać t la ekranu X Window. xsetroot -solid #006060 Istniej a jeszcze inne funkcje i parametry serwera, które można ustawiać w czasie pracy, jak np. autoryzacja wyświetlania albo zasoby, i s luż a do tego specjalne klienty. B edzie o nich mowa dalej. System X Window serwer 10 Klienty X Window Po l aczenie klientów z serwerem: o ile serwer normalnie komunikuje si e z wieloma klientami jednocześnie, obs luguj ac ich żadania, to każdy klient typowo wysy la dane do wyświetlania do jednego konkretnego serwera. Zdarzenia klienta: sygna ly z klawiatury, od myszy, a także inne zdarzenia przekazywane klientom przez serwer, np. zdarzenie ods loni ecia. Standardowe argumenty wywo lywania klientów określaj a takie parametry jak: adres serwera: -display adres-ip:0.0 geometri e: -geometry szer wys±xoff±yoff czcionki: -fn -misc-fixed-bold-r-normal 15-140-75-75-c-90-iso8859-2 kolory: -fg yellow -bg blue -bd red inne: -title xxx -iconic... Wiele klientów ma wiele parametrów konfiguracyjnych zwanych zasobami, o których niżej. Poza tym niektóre rozbudowane wspó lczesne klienty X Window, jakimi sa np. firefox, acroread, openoffice, itp. maj a swoje w lasne systemy konfiguracji. Podobnie graficzne środowiska, zwane pulpitami, b ed ace konfiguracjami okienek, ustawień, konwencji, i protoko lów komunikacji mi edzy klientami. System X Window klienty 11 Zestaw klientów X Window Zarz adzanie systemem X Window Użytkowe xinit,startx - uruchamianie serwera X xbiff - sygnalizacja poczty e-mail xdm - zarz adzanie uruchamianiem serwerów xcalc - kalkulator xset - konfigurowanie pracuj acego serwera xclipboard - text clipboard xsetroot - ustawianie parametrów t la xclock - okno z zegarem xhost - autoryzacja dost epu przez IP xedit - prosty edytor tekstowy xauth - zarz adzanie kodami autoryzacji xkill - kasowanie klienta przez wybór okna xrdb - obs luga zasobów ( ladowanie,wyśw.) xload - wyśw.obci ażenia systemu editres - edycja wartości zasobów klienta xlock - zabezpieczenie klawiatury i ekranu xmodmap - mapowanie klawiatury i myszy xlogo - wyśw.logo systemu X Window xrefresh - odświeżanie zawartości ekranu xterm - okienkowy emulator terminala Informacje o systemie X Window Graficzne xdpyinfo - wyśw.informacji o ekranie bitmap - tworzenie ma lych obrazków xwininfo - wyświetl.informacji o oknie xmag - powi ekszenie fragmentu ekranu xprop - wyśw.w lasności okien i czcionek xwd - zrzut ekranu do pliku w spec.formacie xlsfonts - wyświetlanie listy czcionek xwud - wyświetlanie zrzutu ekranu z pliku xfontsel - wybieranie czcionek xpr - drukowanie zrzutu ekranu na drukarce xfd - wyświetlanie czcionek xdpr - bezpośr.drukowanie zrzutu ekranu System X Window klienty 12

Zarz adca okien Zarz adca okien (window manager) jest klientem systemu X Window o specjalnych prawach; może być tylko jeden zarz adca okien dla danego serwera wed lug zasady: kto pierwszy ten lepszy. Funkcje zarz adcy okien: rozmieszczanie i rozmiar okien klientów na ekranie (zarz adca może uznać lub nie geometrie podawane przez klientów), przesuwanie, zmiana rozmiaru okien, zmiana okien w ikony, i z powrotem, przenoszenie wyświetlanych okien na szczyt lub spód stosu (raise/lower), itp. Do interakcji z użytkownikiem zarz adcy okien tworz a dekoracje okien (belki z przyciskami steruj acymi i ramki okien też pe lni ace rol e przycisków), specjalne klienty-belki steruj ace, oraz menu operacji zwi azane z t lem ekranu. Różni zarz adcy okien maj a parametry konfiguruj ace ich zachowanie. Niektórzy zarz adcy okien realizuj a minimaln a funkcjonalność, i sa niemal niewidoczni. Inni maj a rozbudowan a funkcjonalność i narzucaj a wygl ad i zachowanie okien klientów, oraz wygl ad i organizacj e ca lego ekranu. Ci pierwsi zwykle pracuj a samodzielnie, natomiast drudzy cz esto stanowi a cz eść bardziej rozbudowanego środowiska graficznego zwanego pulpitem. System X Window zarz adca okien 13 Zarz adcy okien wymagania W pocz atkowym okresie, gdy karty graficzne mia ly ograniczon a pami eć i możliwości, a monitory niewielkie rozmiary i pami eć, naturalna by la tendencja do realizacji wszystkich operacji predefiniowanymi sekwencjami klikni eć myszy, oraz skrótami klawiaturowymi. Tworzenie dedykowanych przycisków dla tych operacji wydawa lo si e wtedy marnowaniem cennego miejsca na ekranie (tzw. screen real estate). Później, w miar e pojawiania si e tanich monitorów i kart graficznych o wi ekszych możliwościach, środowiska graficzne by ly rozbudowywane. Towarzyszyli im zarz adcy okien z bogat a konfiguracj a ustawian a interakcyjnie, z systemu menu. Jednak nadal okazjonalnie konieczne by lo odpalenie minimalnej, niezawodnej sesji okienkowej (tzw. failsafe session), gdy uruchomienie pe lnego środowiska takiego jak Gnome, by lo niemożliwe z jakiegoś powodu (zwykle b l edu). Ostatnio pojawia si e znowu zapotrzebowanie na skromniejsze interfejsy użytkownika, daj ace si e używać na 10-calowych netbookach, a nawet 7-calowych notepadach. Pojawi lo si e (i nadal pojawia) wiele implementacji zarz adcy okien odpowiadaj acych nowoczesnym standardom pulpitu graficznego, ale z interfejsem w stylu historycznego minimalizmu. Warto przynajmniej znać jak aś konfiguracj e tego typu. System X Window zarz adca okien 14 Zarz adcy okien podstawowe operacje (geometria) Podstawowymi operacjami realizowanymi przez zarz adców okien s a przesuwanie i zmiana rozmiaru okienek, czyli ogólnie zmiana geometrii okienka. Prawie wszyscy zarz adcy okien realizuj a te operacje, ale na ogó l nie sa one konfigurowalne. Cz esto do zmiany geometrii s luża dedykowane kontrolki zwi azane z okienkami, tzw. dekoracje, zwykle w belce nad oknem, i przyciski wbudowane w obramowania okienek. Jednak minimalistyczni zarz adcy okien czasem maj a swoje predefiniowane operacje mysz a albo skróty klawiaturowe. Trzeba dobrze znać danego zarz adc e, aby pos lugiwać si e nim sprawnie. W nagrod e nie tracimy miejsca na ekranie. System X Window zarz adca okien 15 Zarz adcy okien ikonizacja/ukrywanie Wielu zarz adców okien, chociaż nie wszyscy, umożliwia redukcj e okien do ikonek (zwan a minimalizacj a), albo pewien jej wariant zwany ukrywaniem okienek. Konkretny mechanizm jest na ogó l charakterystyczny dla zarz adcy okien i jest elementem jego wygl adu i stylu. Niekiedy jednak pewne elementy sa konfigurowalne, np. niektórzy zarz adcy, którzy umieszczaj a ikony okien w dowolnym miejscu na ekranie, maj a również opcj e wyświetlenia pojemnika na ikony (icon box). Niektóre środowiska graficzne stosuj a pewien wariant pojemnika na ikony w postaci belki icon, która zwykle jest wspó lpracuj acym z zarz adc a okien klientem (ale bez żadnych specjalnych uprawnień). System X Window zarz adca okien 16

Zarz adcy okien menu aplikacji Niektórzy zarz adcy okien umożliwiaj a uruchamianie nowych klientów przez klikni ecie mysz a. Ta operacja jest na ogó l realizowana przez menu aplikacji zwi azane z oknem bazowym serwera (t lem, lub pulpitem), ponieważ nie ma ona nic wspólnego z żadnym z dzia laj acych klientów. Menu aplikacji można tworzyć i edytować albo za pośrednictwem pliku konfiguracyjnego, albo interakcyjnie, przez akcje zarz adcy okien, albo dedykowany edytor konfiguracji (ta konfiguracja również jest zapisywana w pliku konfiguracyjnym, ale bez dokumentacji, niedost epnym bezpośrednio dla użytkownika). System X Window zarz adca okien 17 Zarz adcy okien wybór okna aktywnego (focus policy) Przypomnijmy: domyślnym, wbudowanym w serwer X Window sposobem wyboru klienta aktywnego (focus policy) jest focus-follows-mouse (FFM). Jednak operacje wykonywane przez serwer X Window na polecenie zarz adcy okien umożliwiaj a implementacj e innego sposobu wyboru aktywnego klienta. Ten sposób, zwany click-to-focus (CTF), wymaga klikni ecia mysz a na okno aby sta lo si e ono aktywne. Wtedy, dodatkowo, jest ono wysuwane na szczyt stosu wyświetlanych okien (w istocie, w tym trybie operacja uaktywnienia okna, i przeniesienie go na szczyt stosu wyświetlanych jest jedn a i ta sam a operacj a). Ponieważ tak zachowuj a si e systemy Microsoft Windows i Mac OS, wiele zarz adców okien systemu X Window implementuje to zachowanie jako domyślne. Tryb focus-follows-mouse (FFM) jest ch etniej stosowany z minimalistycznymi zarz adcami okien, ponieważ umożliwia prac e również w oknie, które nie jest na szczycie stosu, i być może jest tylko cz eściowo wyświetlane. Co ciekawe, w tym trybie cz esto przydatna okazuje si e operacja przeniesienia okna na spód stosu (lower), która w trybie click-to-focus (CTF) nie ma w ogóle sensu. Pewien wariant metody FFM, zwany sloppy focus, polega na tym, że klient nie przestaje być aktywny gdy wskaźnik myszy przesunie si e z jego okna na t lo. System X Window zarz adca okien 18 Zarz adcy okien porównanie program opis geometria ikonizacja menu apl. wyb.aktyw. Historyczne olwm Open Look WM dekoracje dekor.,pulpit plik konf. FFC/bez wys twm Tom s WM dekoracje dek.,pulp/pojem plik konf. FFM+CTF Minimalistyczne tinywm wzorcowy predef.? - FFM aewm Exiguous WM predef. predef.,ukryw. - FFM evilwm oparty na aewm predef. - tylk.term FFM jwm Joe s WM dekor. dekor.,belka pl.konf. FFM lwm spec.dek. ukryw.,panel -? FFM blackbox fluxbox openbox icewm Desktopowe dtwm el.syst.cde CTF+FFM xfwm4 el.syst.xfce -? CTF+FFM metacity el.syst.gnome GNOME CTF+FFM compiz el.syst.gnome? enlightenment rozbudowany System X Window zarz adca okien 19 W lasności wybranych zarz adców okien Spośród historycznych zarz adców okien X11 ciekawy jest twm (Tom s window manager). Jest minimalny ale dalece konfigurowalny, i tradycyjnie by l elementem bazowego pakietu X11. Jego konwencje sa troch e nietypowe jak na dzisiejsze standardy, ale przez wielu użytkowników by l traktowany jako opcja fallback, czyli: użyj gdy zawiedzie podstawowa konfiguracja. (Niestety, w wielu dystrybucjach Linuksa nie jest domyślnie instalowany i trzeba go doinstalować.) Pojawi ly si e też jego nowsze wersje: ctwm i tctwm. -> Latwa konfiguracja w pliku ~/.twmrc. -> Root window menu pozwala uruchamiać dowolne programy. Nowszym, minimalistycznym, ale mimo to funkcjonalnym zarz adc a okien jest evilwm. Nie zapewnia ikonizacji i nie ma menu aplikacji. Pozwala przesuwać i zmieniać rozmiar, a także obniżać okna, klawiszami myszy +Alt, np. Alt-left realizuje przesuni ecie, Alt-middle zmian e rozmiaru, a Alt-right przeniesienie na spód stosu (lower). Aktywne s a również obramowania okien, ale w praktyce trzeba je nieco powi ekszyć od domyślnej szerokości 1 piksela. Ma również szereg predefiniowanych skrótów klawiszowych z Ctrl-Alt, np. Ctrl-Alt-Return uruchamia emulator terminala, klawisze Ctrl-Alt-[hjkl] przesuwaj a okno, a Ctrl-Alt-= i Ctrl-Alt-x maksymalizuj a. System X Window zarz adca okien 20

Zarz adcy okien skróty klawiaturowe Tradycyjnie zarz adcy okien realizowali poniższe skróty klawiaturowe, co pozwala lo na pewne przyspieszenie pracy na ma lych ekranach: ALT + F3 - lower window ALT + F4 - close window ALT + F5 - restore window ALT + F7 - move window ALT + F8 - resize window ALT + F9 - minimize window ALT + F10 - maximize window Obecnie wi ekszość zarz adców okien predefiniuje tylko cz eść z tych konwencji (np. Alt-F7, Alt-F9), ale pozwala dodefiniować dowolne inne. System X Window zarz adca okien 21 System X Window zarz adca okien 22 Praca z systemem X Window w środowisku sieciowym Gdy mamy wiele serwerów i wielu klientów, musimy wskazać klientowi, na który serwer ma wysy lać żadania wyświetlania, za pomoc a tzw. specyfikacji ekranu: [adresipkomputera]:numerserwera[.numerekranu] Specyfikacj e t e można podać klientom za pomoc a argumentu wywo lania -display: xcalc -display 156.17.9.1:0 albo za pomoc a zmiennej środowiskowej $DISPLAY: setenv DISPLAY lab103-2.ict.pwr.wroc.pl:0.0 xterm & W specyfikacji serwera brak numeru ekranu oznacza domyślny numer 0, a brak adresu IP komputera oznacza adres IP lokalnego komputera. Zamiast adresu lokalnego komputera można też podać nazw e specjaln a unix. Natomiast numer serwera jest obowi azkowy i nie może być domyślny. Zatem najprostsza specyfikacja ekranu ma postać :0 i jest równoważna unix:0 oraz localhost:0. System X Window praca w sieci 23 Uruchamianie klientów na innym (zdalnym) komputerze niż serwer, przez telnet, rsh lub ssh: ssh diablo.ict.pwr.wroc.pl xterm -display ja.t16.ds.pwr.wroc.pl:0 ssh diablo.ict.pwr.wroc.pl setenv DISPLAY ja.t16.ds.pwr.wroc.pl:0 xterm & System X Window praca w sieci 24

Zezwolenie na wyświetlanie na serwerze System X Window posiada mechanizm pozwalaj acy serwerowi kontrolować, od których klientów b edzie on przyjmowa l żadania. Istniej a dwa mechanizmy kontroli dost epu. Prostszy (starszy i bardziej prymitywny) mechanizm oparty jest na adresie IP klienta. Można zadać list e adresów, z których serwer b edzie przyjmowa l żadania zg laszaj acych si e klientów. Można również ca lkowicie wy l aczyć kontrol e dost epu do serwera. Np.: xhost xhost +diablo.ict.pwr.wroc.pl xhost xhost -diablo.ict.pwr.wroc.pl xhost albo xhost + (Ostatnie wywo lanie ca lkowicie wy l acza kontrol e dost epu.) System X Window praca w sieci 25 Autoryzacja wyświetlania na serwerze Nowszy i skuteczniejszy mechanizm kontroli dost epu do serwera opiera si e na wykorzystaniu kodów autoryzacji. Serwer tworzy w chwili rozpoczynania sesji użytkownika kod autoryzacyjny sesji i zapisuje go na pliku ~/.Xauthority. Kod autoryzacyjny można przes lać na komputer, z którego uruchamiane b ed a klienty, które normalnie szukaj a tego kodu w pliku zadanym zmienn a środowiskow a XAUTHORITY. Wyświetlenie na ekranie wszystkich kodów autoryzacji z domyślnego pliku: xauth list Specyfikacja serwera, jak a podaje si e programowi xauth musi zgadzać si e ze specyfikacj a podan a w chwili generowania danego kodu. Czyli jeśli np. kod wygenerowany zosta l na komputerze diablo.ict.pwr.wroc.pl dla serwera X zapisanego jako :0, to nie możemy tego kodu wykorzystać na innym komputerze, ponieważ tam specyfikacja serwera :0 by laby źle zinterpretowana przez klientów. Można jednak podawać specyfikacje poprzedzone adresem IP serwera X w formacie: adresipkomputera/[adresipkomputera]:numerserwera[.numerekranu] System X Window praca w sieci 26 Manipulowanie kodami autoryzacji Skuteczne pos lugiwanie si e systemem X Window w sieci, gdy niektóre klienty sa wywo lywane ze zdalnych komputerów, wymaga jawnego przekazywania kodów autoryzacyjnych. Na przyk lad, odczytanie kodu autoryzacji domyślnego serwera, oraz przes lanie go i zapisanie na zdalnym komputerze, pozwala zdalnym klientom autoryzować si e przy wyświetlaniu na lokalnym serwerze: xauth extract - $DISPLAY ssh diablo.ict.pwr.wroc.pl xauth merge - W razie potrzeby można zaż adać by lokalny serwer (:0) wygenerowa l nowy kod autoryzacji sesji: xauth generate :0. W powyższym wywo laniu kropka jest skrótem domyślnego protoko lu autoryzacji, tzw. MIT-MAGIC-COOKIE-1 Oba mechanizmy kontroli dost epu do serwera wspó lpracuj a w ten sposób, że kody autoryzacji xauth sa sprawdzane tylko wtedy, gdy dany klient nie ma zezwolenia na wyświetlanie xhost. System X Window praca w sieci 27 Tunelowanie komunikacji X Window przez po l aczenia ssh W wielu sytuacjach po l aczenie klienta z serwerem X Window (port TCP 6000 dla serwera :0, 6001 dla :1, itd.) z różnych wzgl edów nie jest możliwe. Na przyk lad: serwer może znajdować si e w sieci lokalnej za zapor a ogniow a (ang. firewall), która nie przepuszcza do wewn atrz sieci żadnych po l aczeń, albo może znajdować si e w sieci z filtrowanymi adresami, gdzie komputery w sieci wewn etrznej maj a prywatne adresy w ogóle niewidoczne w Internecie. W takich sytuacjach można cz esto przetunelować po l aczenia X Window przez po l aczenie ssh. Jeżeli możemy wykonać po l aczenie ssh z komputera, posiadaj acego serwer X Window, w takiej sieci lokalnej, do jakiegoś serwera internetowego, to program ssh może utworzyć tunel przekazuj acy pakiety na wskazane porty w ramach swojego po l aczenia. W ten sposób możemy utworzyć na zdalnym serwerze internetowym wirutalny serwer X Window, o adresie wewn atrz tego serwera. Jednak komunikacja kierowana przez klienty X Window na ten adres b edzie przekazywana do bezpośrednio niedost epnego serwera X Window. System X Window praca w sieci 28

Komunikacja ze zdalnym zarz adc a ekranów xdm Praca w sieci zwykle polega na pod l aczaniu si e do innych komputerów (np. ssh) i uruchamianiu na nich klientów z wyświetlaniem na lokalny serwer. W efekcie mamy środowisko graficzne lokalnego komputera, i wybrane zdalne klienty. W systemie X Window istnieje mechanizm, zwany zarz adc a ekranów (display manager), s luż acy do automatycznego uruchamiania serwerów X na grupie ekranów graficznych, b ed acych pod jego kontrol a. Zarz adca ekranów obs luguje też proces logowania si e i tworzenia sesji na serwerze X, ponieważ użytkownik nie ma możliwości rozpocz ecia pracy na uruchomionym przez system serwerze. Zarz adca ekranów może też być skonfigurowany do wysy lania klienta logowania na serwer X Window, który o to poprosi (protoko lem XDMCP). Pozwala to uruchomić serwer, który zamiast wyświetlać okna lokalnych klientów, inicjuje logowanie si e użytkownika do zdalnego komputera w trybie graficznym. Poniższe wywo lanie uruchamia na lokalnym komputerze drugi serwer (:1), który poprosi zdalnego zarz adc e ekranów o przys lanie klienta logowania: X -query -once adres.ip.zarzadcy.ekranow :1 System X Window praca w sieci 29 Serwery-klienty X Window Możliwość uruchamiania niestandardowych konfiguracji serwerów X Window jest atrakcyjna, jednak utrudniona przez konieczność obs lugi surowego ekranu graficznego. Istniej a programy, które sa klientami, tworz a okienko graficzne, a nast epnie inicjuj a wirtualny serwer X Window. Serwer jest wirtualny w takim sensie, że nie obs luguje sprz etu wyświetlaj acego, karty graficznej, klawiatury ani myszy, tylko jako ekran wykorzystuje swoje okienko, a z klawiatur a i mysz a komunikuje si e jak zwyk ly klient. Natomiast od strony sieciowej taki program jest normalnym serwerem, i może zarówno przyjmować żadania wyświetlania od dowolnych klientów, jak komunikować si e z zarz adcami ekranów protoko lem XDMCP. Przyk ladami takich serwerów-klientów sa Xnest i Xephyr. Uruchamiaj ac je podajemy zarówno argumenty charakterystyczne dla klienta jak i serwera, np.: Xephyr -screen 1024x768 -display :0 -query adres.ip.zarzadcy.ekranow :1 Powyższe wywo lanie tworzy okienko klienta o zadanej geometrii na serwerze :0, oraz inicjuje serwer :1 który l aczy si e ze zdalnym zarz adc a ekranów. System X Window praca w sieci 30 Zasoby Zasoby (ang. resources) s a zmiennymi, określonymi dla konkretnych aplikacji (klientów), które pozwalaj a ustawić na sta le pewne opcjonalne parametry klientów, bez ich każdorazowego jawnego podawania (np. w wierszu wywo lania). Przyk ladami zasobów mog a być wielkość okienka edytora, flagi określaj ace zachowanie si e klienta, poż adane kolory, itp. Mechanizm zasobów pe lni podobn a funkcj e do plików konfiguracyjnych klientów, jednak zamiast wpisywać preferencje użytkownika do plików na wszystkich komputerach, z których uruchamiane maj a być klienty, zasoby sa wpisywane do serwera (dynamicznie), sk ad sa dost epne dla wszystkich klientów. Przy uruchamianiu serwera lub sesji wartości zasobów s a normalnie ladowane do serwera z pliku.xresources lub.xdefaults. Zasoby określane s a w systemie hierarchicznym, gdzie pierwszym elementem hierarchii jest umowna nazwa klienta, a ostatnim nazwa konkretnego zasobu. Możliwe s a poziomy pośrednie w określaniu zasobów. Możliwe jest również określanie ca lych klas zasobów obejmuj acych szereg instancji zasobów należ acych do danej klasy (klas e identyfikuje nazwa rozpoczynaj aca si e wielk a liter a). Pozwala to np. na latwe określanie wartości dla wielu zasobów, i od nich pojedynczych wyj atków. System X Window zasoby 31 Przyk lady specyfikacji zasobów: emacs.font: -adobe-courier-*-r-*-*-18-*-*-*-*-*-*-* emacs.cursorcolor: black emacs.pointercolor: red emacs.geometry: 80x50 emacs.foreground: light goldenrod yellow emacs*background: #5b7686 Ghostview.pageMedia: A4 Fig.latexfonts: true Fig.specialtext: true Przyk lady ladowania zasobów z pliku do serwera: xrdb -load $HOME/.Xresources echo xterm*scrollbar: True xrdb -merge System X Window zasoby 32

Czcionki System X Window ma rozbudowany system czcionek, którego elementami sa: system nazw czcionek, którymi mog a pos lugiwać si e klienty, i ścieżka katalogów dyskowych dost epnych dla serwera, gdzie może on odnajdować pliki z konkretnymi czcionkami. Serwer czyta opisy wszystkich czcionek na starcie, ale można zmienić te opisy lub ca l a ścieżk e poleceniem xset fp... Można pos lugiwać si e nazwami czcionek uogólnionymi (z *) oraz aliasami. Baza aliasów czcionek znajduje si e w pliku /usr/lib/x11/fonts/fonts.dir xfontsel -sample "Ala ma kota" & xfontsel -sample "kość chrz eść woń toń śniedź świteź trójk at w awóz" & xfd -fn -dt-application-bold-r-normal-serif-18-180-75-75-m-110-iso8859-2 xlsfonts -fn *-iso8859-2 mkdir ~/FONTS echo polska -dt-*-bold-r-*-18-*-m-*-iso8859-2 > ~/FONTS/fonts.alias xset fp+ ~/FONTS/ xset fp rehash xterm -fn polska & System X Window czcionki 33 1= foundry 2 = font family 3 = weight 4 = slant 5 = set width 6 = pixels 7 = points (in tenths) 8 = horizontal resolution in d.p.i. 9 = vertical resolution in d.p.i. 10 = spacing 11 = average width (in tenths of a pixel) 12 = character set System X Window czcionki 34 System X Window czcionki 35 Kolory Kolory, podobnie jak czcionki, s a elementami systemu pod nadzorem serwera, do których klienty mog a odwo lywać si e w swoich żadaniach wyświetlenia. Specyfikacja koloru jest możliwa numerycznie, np. w systemie RGB, albo przez s lowne określenia kolorów, zdefiniowane w bazie danych kolorów w pliku /usr/lib/x11/rgb.txt (na Solarisie: /usr/openwin/lib/x11/rgb.txt). Baza ta zawiera takie określenia jak: lavender blush, pale violet red, albo deep sky blue. Można również określać kolory w systemie RGB cyframi szesnastkowymi używaj ac od jednej do czterech cyfr na kolor, np. czerwony kolor to #F00 jak również #F00000000000 (ten sam czerwony) oraz #FF0000 ( bardziej czerwony). Nowszy model specyfikacji kolorów pozwala określać je w różnych przestrzeniach kolorów używaj ac notacji typu: rgb:ffff/0/0. Najprostszy sposób pos lugiwania si e kolorami jest przez opcje klienta: -bg (background) -fg (foreground) -bd (border) albo przez ustawienia jego zasobów. xterm -bg light blue -fg #fff -bd plum -cr rgb:f/f/0 System X Window kolory 36

Pomimo tego wirtualnego bogactwa kolorów, istniej a serwery X Window z ograniczon z tzw. map a liczb a kolorów możliwych do wyświetlenia w danym momencie, a kolorów. Nie mog a one zrealizować wszystkich ż adań klientów o wyświetlanie kolorów. Mog a również zmieniać mapy kolorów przy zmianie aktywnego klienta. Polecenie xdpyinfo podaje informacje o możliwościach wyświetlania serwera. System X Window kolory 37