Laboratorium 4 – Praca z uniksowym interpreterem poleceń oraz systemem X Window

Zakres materiału

Wykonywanie poleceń, potoki, skrypty, zmienne systemowe, system X Window, serwer i klient systemu X Window, zarządcy okienek, praca zdalna.

Przygotowanie do zajęć

Przed przystąpieniem do zajęć należy przypomnieć sobie podstawowe pojęcia dotyczące pracy w systemie Unix oraz systemu X Window. Przypomnij sobie ułatwienia, jakie oferuje w pracy powłoka użytkownika bash (historia, przyrostowe wyszukiwanie wstecz wykonanych poleceń (Ctrl-r), uzupełnianie nazw (Tab)), sposób uruchamiania przetwarzania potokowego i przekierowywania strumieni danych. Upewnij się, że rozumiesz działanie skryptów załączonych jako materiały do tego ćwiczenia (omówionych na wykładzie). Przypomnij sobie także wiadomości o terminalach wirtualnych systemu Linux i przełączaniu się między tymi terminalami (Ctrl-Alt-Fn). Dowiedz się, w jaki sposób w systemie X Window realizowana jest architektura klient-serwer.

Przebieg ćwiczenia

Praca z systemem X Window

  1. (Przygotowanie do wykonania ćwiczenia – uruchamianie i zatrzymywanie serwera, uruchomienie pierwszego klienta)

    1. Przyjmij do wiadomości (przetestuj na własnym komputerze), że:
      • w typowej konfiguracji linuksa możliwe jest uruchomienie dwóch terminali graficznych i kilku tekstowych,
      • zazwyczaj wraz z uruchomieniem systemu uruchamiany jest samoczynnie przez system podstawowy serwer X Window,
      • do uruchomienia serwera X Window służy polecenie X (z ewentualnym argumentem wskazującym numer uruchamianego serwera, np. by uruchomić drugi serwer X Window X :1 – podstawowy serwer ma numer 0; aby klienty komunikowały się z tak uruchomionym serwerem muszą otrzymać argument np. -display :1),
      • w tak uruchomionym serwerze X Window można uruchamiać dowolne klienty X Window, takie jak emulator terminala xterm (przykładowo xterm -display :1) czy zarządca okien (przykładowo fvwm -display :1),
      • proces serwera można unicestwić z poziomu dowolnego terminala poleceniem kill uzupełnionym identyfikatorem procesu serwera (PID), lub naciskając klawisz Ctrl-C w terminalu, w którym został on uruchomiony. Na Linuksie można również zabić serwer kombinacją klawiszy Ctrl-Alt-Backspace (jeśli taka możliwość nie została zablokowana przez administratora).
    2. Zaloguj się na komputerze inyo za pomocą specjalnie przygotowanej w zdalnym pulpicie X2go sesji, która uruchamia serwer X z pojedynczym oknem terminala xterm. Pamiętaj, że zakończenie działania tak uruchomionego terminala automatycznie zakończy sesję.

  2. (Uruchamianie klientów)

    Z poziomu otrzymanego terminala:

    1. Sprawdź wartość zmiennej środowiskowej DISPLAY (polecenie echo $DISPLAY).

    2. Uruchom w tle (kończąc linię wywołania znakiem &) kilka prostych klientów: xclock, xcalc, xmag, xload, xeyes. Wypróbuj podstawowe opcje wywołania klientów: -geometry, -fg, -bg, -bd oraz opcje specyficzne klientów.

    3. Poleceniem jobs wyświetl listę procesów uruchomionych z poziomu emulatora terminala w którym pracujesz (lub alternatywnie listę wszystkich procesów użytkownika poleceniem ps -fu $LOGNAME). Zakończ wybrane z uruchomionych w bieżącym serwerze X Window klienty (kill, a także xkill).

    4. Wybierz ciekawe kombinacje parametrów dla kilku klientów, włącznie z ich dobrym rozmieszczeniem na ekranie.

  3. (Praca z zarządcą okien TWM)

    Uruchom zarządcę okien TWM (polecenie twm&). Wypróbuj:

    1. zamianę okien klientów na ikonki przyciskiem po lewej stronie belki tytułowej, ich przywracanie do pełnego rozmiaru,
    2. zmianę rozmiaru okien klientów przyciskiem po prawej stronie belki,
    3. przesuwanie okien przez przeciąganie belki tytułowej lewym klawiszem myszy,
    4. uruchamianie nowych klientów z opcją -geometry i bez niej; zwróć uwagę jak TWM zmusza użytkownika do ostatecznego wybrania geometrii otwieranych okien: kliknięcię lewym klawiszem myszy otwiera okno o żądanej lub domyślnej geometrii, kliknięcie prawym klawiszem otwiera okno o maksymalnym rozmiarze w dół ekranu, a naciśnięcie i przytrzymanie środkowego klawisz pozwala wybrać pełną geometrię okna przez przeciąganie; przećwicz te operacje,
    5. działanie menu operacji TWM uruchamianego lewym (lub prawym) klawiszem myszy na pulpicie (czyli poza wszystkimi okienkami); wypróbuj wszystkie dostępne operacje, w szczególności operacje „exit'' i „restart'',
    6. sprawdź, że można uruchomić tylko jednego zarządcę okien.

  4. (Porównanie własności zarządców okien)

    Uruchamiaj kolejno kilku różnych zarządców okien podanych przez prowadzącego (na przykład: fvwm2, fluxbox, blackbox, icewm, wmaker, openbox, marco, gnome-wm). Zapoznaj się z ich zachowaniem w domyślnej konfiguracji, sposobem rozmieszczania przez nich okien klientów, operacjami zarządcy okien uruchamianymi myszą i możliwościami interakcyjnej konfiguracji zarządcy okien. W tym wykonaj następujące eksperymenty:

    1. sprawdź operacje na geometrii (przesuwania i zmiany rozmiarów) okien,
    2. sprawdź operacje wysuwania okna na szczyt, oraz na spód stosu wyświetlanych,
    3. sprawdź operacje minimalizacji (ikonizacji, lub chowania) okien i ich przywracania,
    4. sprawdź opcje związane z minimalizacją, takie jak grupowanie ikon na ekranie (pulpit, icon box, belka, klient fspanel, klient docky) i inne,
    5. sprawdź możliwość uruchamiania klientów za pomocą menu aplikacji zarządcy okien; sprawdź w dokumentacji i wypróbuj praktycznie dodawanie własnych programów do menu aplikacji,
    6. sprawdź czy zarządca okien realizuje metodę focus-follows-mouse czy click-to-focus i czy można w nim to wybierać,
    7. sprawdź możliwość zakończenia pracy zarządcy okien jego własnym poleceniem.

    Zapoznaj się z dokumentacją każdego z badanych zarządców okien i sprawdź, czy jest możliwa ich konfiguracja przez plik(i) konfiguracyjny(e) i/lub jak w plikach konfiguracyjnych zapisywana jest konfiguracja ustawiona interakcyjnie. W szczególności sprawdź, czy łatwo jest ustawić zachowanie serwera focus-follows-mouse oraz click-to-focus.

    Oceń który z przetestowanych zarządców okien byłby najlepszym kandydatem na wystartowanie prostej i niezawodnej sesji. Dopracuj jego optymalną konfigurację i zanotuj szczegóły.

Praca z interpreterem poleceń

  1. (Przygotowanie do wykonania ćwiczenia)

    Uruchom dwa emulatory terminala xterm, jeden działający na komputerze diablo, drugi na panamincie. Upewnij się, że twoim interpreterem poleceń jest w nich powłoka bash (echo $SHELL). Testuj wykonywane polecenia/skrypty na obu systemach. Rozpakuj do swojego katalogu domowego lokalne archiwum ~mucha/edu/info1/pliki_do_pracy.tgz (tar -xvzf ~mucha/edu/info1/pliki_do_pracy.tgz). Zapoznaj się z jego strukturą (tree, tree -d).

  2. (Monitorowanie zasobów systemowych)

    Uruchom program top (alternatywnie htop), zapoznaj się z udostępnianymi przez niego informacjami o systemie, zmień wybrane parametry wyświetlania. Podobnie zapoznaj się z programami uptime, df -h, tree, who, last.

  3. (Wyświetlanie informacji o wielkości katalogów)

    Utwórz alias lhs (list human sorted) dla polecenia, które wyświetli listę podkatalogów bieżącego katalogu, posortowaną według ich wielkości, z podaniem tej wielkości w formacie czytelnym dla człowieka (odpowiednio do wielkości katalogu w bajtach, kilobajtach, megabajtach).

  4. (Wykonywanie operacji na plikach o nazwie pasującej do wzorca)

    Napisz polecenie powłoki, które z bieżącego katalogu i jego wszystkich podkatalogów usunie pliki pasujące do podanego wzorca (np. pliki kopii zapasowych robionych przez emacsa - *~, #*#).

  5. (Przeszukiwanie ostatnio modyfikowanych plików)

    Napisz polecenie powłoki, które w plikach zmodyfikowanych w ostatnim czasie (tygodniu/miesiącu) wyszukają wskazaną frazę.

  6. (Wyszukanie najnowszej wersji pliku)

    Napisz polecenie powłoki, które wyszuka wszystkie położenia pliku o wskazanej nazwie i wskaże jego najnowszą wersję.

  7. (Automatyczna modyfikacja zawartości pliku)

    Korzystając z edytora strumieniowego sed napisz polecenie zamieniające wybrane słowo we wskazanym pliku na inne.

  8. (Automatyczne wybieranie fragmentu pliku z konwersją formatu)

    Napisz skrypt, który ze wskazanego za pomocą argumentu pliku pdf wybierze fragment wskazanej kolejnym argumentem strony i zapisze go w formacie jpg.

  9. (Modyfikacja nazw plików)

    Napisz polecenie powłoki, które wszystkim plikom w formacie JPEG/PNG z katalogu bieżącego zmieni rozszerzenia na pisane małymi literami.

  10. (Skryp wykonujący operacje porządkowe na plikach ze zdjęciami i przygotowujący na ich podstawie archiwum)

    Napisz skrypt, który ze wskazanego katalogu skopiuje wszystkie pliki ze zdjęciami w formacie JPEG/PNG, zmieni skopiowanym plikom rozszerzenia na pisane małymi literami, zastąpi występujące w nazwach plików spacje znakiem podkreślenia, zmieni rozmiar zdjęć do wskazanego argumentem podanym w wywołaniu skryptu i w końcu utworzy archiwum z tak przygotowanych plików.

  11. (Powiadamianie o wydarzeniu)

    Napisz skrypt, który będzie wysyłał pocztą elektroniczną powiadomienie, że jest już dostępne połączenie ze wskazanym serwerem.

  12. (Cykliczne uruchamianie poleceń)

    Zmodyfikuj załączony do ćwiczenia skrypt czy_jest.sh tak, by wysyłał informację o zalogowaniu pocztą elektroniczną a następnie spowoduj jego cykliczne uruchamianie w zadanych odstępach czasu z wykorzystaniem programu do harmonogramowania zadań cron.

  13. (Pobieranie treści z internetu)

    Przeanalizuj dołączony do zadania skrypt, który pobiera ze strony internetowej userfriendly losowo wybrany komiks i wyświetla go. Zmodyfikuj skrypt tak, by pobierał i wyświetlał losowy cytat ze strony en.wikiquote.org/wiki/Wikiquote:Quote_of_the_Day. (Jak widać z konstrukcji dołączonego skryptu zadanie wymaga analizy struktury pobieranej strony www. W tym celu pobierz stronę z wikiquote i zauważ, że znajdujące się w niej linie z cytatami zawierają znacznik <dd>. By z uzyskanych linii z cytatami usunąć wszystkie znaczniki html można posłużyć się poleceniem sed -e 's/<[^>]*>//g', do wybrania jednej linii z wielu z pliku może posłużyć odpowiednia kombinacja poleceń headtail, liczbę losową można uzyskać poleceniem $RANDOM.)

Zadania dodatkowe

  1. (Ćwiczenie z graficznym emulatorem terminala)

    Emulator terminala xterm jest przydatnym narzędziem pracy o wielu możliwościach, szczególnie często wykorzystywanym w pracy programistycznej. Warto zapoznać się z jego możliwościami, głównie o charakterze manualnym.

    Wypróbuj operacje menu xterma: trzymając naciśnięty klawisz Ctrl naciskaj po kolei klawisze myszy i próbuj wybrać opcje menu i sprawdzać ich znaczenie.

    Wyświetl zawartość jakiegoś pliku aby zapełnić okno xterma tekstem. Wypróbuj operacje zaznaczania myszą: naciskając lewy klawisz myszy zaznacz fragment tekstu w oknie xterma. Następnie sprawdź jak naciskanie prawego klawisza myszy rozciąga to zaznaczenie, zarówno w przód jak i w tył.

    Uruchom osobne okno jakiegoś edytora okienkowego, np. emacsa (z geometrią opracowaną wcześniej) i środkowym klawiszem wklejaj doń kolejno zaznaczone fragmenty tekstu. Upewnij się, że dobrze panujesz nad tym, co i gdzie zostaje wklejone.

    Skasuj bieżące zaznaczenie w oknie xterma. Z kolei spróbuj podwójnego kliknięcia lewym klawiszem myszy (zaznacza słowo); sprawdź jak teraz działa rozciąganie zaznaczenia prawym klawiszem. Eksperymentuj z czasem: jak szybko musisz klikać myszą aby zostało to uznane przez serwer jako podwójne kliknięcie zamiast dwóch pojedynczych.

    Na koniec spróbuj potrójnego kliknięcia, co ono zaznacza, jak działa teraz rozciąganie zaznaczenia? Jaki efekt daje poczwórne kliknięcie?

    Uruchom inne emulatory terminala: urxvt, gnome-terminal. Przejrzyj opcje z ich menu, porównaj własności zaznaczania tekstu myszą.

  2. (Konfiguracja pracującego serwera)

    Programem xset (man xset) najpierw sprawdź aktualne ustawienia serwera (parametr q), a następnie zmieniaj parametry wygaszacza ekranu. Ustaw bardzo krótki czas wygaszacza ekranu (s). Sprawdź możliwość ustawiania parametrów „dzwonka'' (b). Sprawdź ustawienia parametrów myszy (m), znajdź optymalne dla siebie ustawienia podwójnego i potrójnego kliknięcia myszą.

    Programem xsetroot ustaw kolor tła.

  3. (Konfiguracja TWM)

    Zapoznaj się z dokumentacją zarządcy okien TWM (man twm) i posługując się tą dokumentacją:

    Przejrzyj listę innych flag sterujących pracą TWMa (np. NoTitleFocus, RandomPlacement, OpaqueMove), wypróbuj je i ostatecznie opracuj plik konfiguracyjny .twmrc. Sprawdź, że działa tak jak chcesz.

    Treść plików konfiguracyjnych .xinitrc.twmrc opracuj tak, aby była zrozumiała (komentarze) i aby łatwo można było je w dalszym ciągu modyfikować i rozwijać.

    Uwaga: TWM normalnie realizuje naturalne zachowanie serwera zwane focus-follows-mouse, tzn. poruszanie myszą powoduje, że aktywne jest okno, nad którym znajduje się kursor myszy (tak samo zachowuje się serwer w braku zarządcy okien). Okno, które staje się aktywne nie „wypływa'' automatycznie na wierzch, a tylko zaczyna ono (a ściślej związany z nim klient) otrzymywać wszystkie zdarzenia z klawiatury i myszy.

    Inne typowe zachowanie serwera zwane click-to-focus, pozwala zachować aktywność okno niezależnie od ruchów myszy. Zmianę okna aktywnego wywołuje się wtedy poprzez kliknięcie w wybranym oknie myszą. (Użytkownicy komputerów dzielą się na zwolenników jednego albo drugiego zachowania systemu okienkowego i potrafią toczyć między sobą zażarte dysputy. Określ swoje preferencje w tym sporze.)

    TWM pozwala na włączenie pewnej wersji zachowania click-to-focus przez uruchomienie swojej funkcji f.focus, standardowo uruchamianej w jego menu. Jednak inni zarządcy okien pozwalają na bezpośrednie przełączanie się pomiędzy tymi dwoma podstawowymi zachowaniami.

  4. (Realizacja sesji przy pomocy pliku .xinitrc)

    Wpisz wypracowane poprzednio wywołania klientów do pliku .xinitrc w katalogu domowym, pamiętając o dodaniu znaku & na końcu każdego wiersza wywołującego klienta okienkowego (jest to zbędne dla programów natychmiast kończących pracę, takich jak xset). Jako ostatnią pozycję w pliku wpisz wywołanie xterma z opcją -title GLOWNY, lecz bez znaku &.

    Unicestwij bieżącą sesję serwera X Window wraz z jego wszystkimi klientami. Następnie ponownie uruchom serwer X Window poleceniem xinit (jeśli w systemie działa już jeden serwer to poleceniem xinit -- :1). Zaobserwuj jak zakończenie wykonywania wszystkich klientów powoduje automatyczne zakończenie pracy serwera X Window. Powtórz eksperymenty usuwając znak & z niektórych wywołań, a potem także dodając go do ostatniego wywołania xterma (głównego).

    Zmień treść pliku .xinitrc tak, aby program twm był ostatnim wywoływanym klientem (bez &). Sprawdź, że zakończenie pracy zarządcy okien powoduję teraz zakończenie sesji serwera X Window. To jest przydatny i często używany sposób pracy.

  5. (Porównanie własności różnych środowisk pulpitu X Window)

    Środowiska graficzne pulpitu X Window to kompletne zestawy ustawień, konwencji, specjalnych klientów i parametrów, konfigurowane w czasie logowania się do sesji X Window.

    Sprawdź jaki wybór środowisk graficznych posiada Twój komputer (powinny być dostępne do wyboru na ekranie logowania). Uruchamiaj je kolejno (na przykład: Gnome, XFCE, WindowMaker), i przeprowadź podstawowe porównania. Po pierwsze, sprawdź własności zarządcy okien uruchomionego w danym środowisku, podobnie jak było to robione w punkcie „Porównanie własności zarządców okien''. Po drugie, oceń funkcjonalność i ergonomię całego środowiska. Oceń również możliwość jego konfiguracji i dostosowania do Twoich preferencji.

  6. (Zdalne uruchamianie programów)

    Podłącz się do zdalnego serwera, ustaw na nim zmienną środowiskową DISPLAY na ekran lokalnego serwera X Window i uruchom przykładowe proste klienty.

    Sprawdź stan autoryzacji xhost wyświetlania w lokalnym serwerze. Spowoduj zakaz wyświetlania zdalnym klientom, oraz następnie zezwolenie na wyświetlanie dla wybranego adresu IP. Sprawdź czy te ustawienia działają (np. współpracując z kolegą).

    Wyłącz zgodę na wyświetlanie xhost, sprawdź, że lista xhost jest pusta, i przekaż klucz autoryzacyjny sesji X Window na wybrany zdalny komputer, poleceniem podobnym do poniższego:

    xauth extract - $DISPLAY | ssh diablo.ict.pwr.wroc.pl /usr/openwin/bin/xauth merge -
    

    Uwaga: jeśli na zdalnym komputerze posiadasz konto ze wspólnym systemem plików (tak jak to się ma pomiędzy diablo a panamintem) to nie ma potrzeby przekazywania kluczy autoryzacyjnych pomiędzy tymi komputerami, ponieważ klucz jest i tak zapisany we współdzielonym katalogu i klienty z obu komputerów od razu mają do nich dostęp. W takim przypadku, współpracując z kolegą/koleżanką, możesz przesłać jemu/jej swój klucz autoryzacyjny (sprawdź jak w tym celu należy wywołać program ssh). Następnie sprawdź, że klucz działa, tzn. że klienty wywoływane przez kolegę ze wskazaniem Twojego serwera są prawidłowo wyświetlane.

    Następnie wygeneruj programem xauth nowy klucz autoryzacyjny i sprawdź, że z komputera/ów, którym poprzednio wysłałeś/aś klucz już nie można podłączyć się do Twojego serwera.

    Podłącz się do zdalnego serwera uniksowego poleceniem ssh -Y (w przypadku starszych wersji ssh -X). Sprawdź, że w zdalnej sesji utworzyła się „magicznie'' zmienna DISPLAY z dziwnym ustawieniem nieistniejącego serwera. Sprawdź działanie klientów. Opracuj alternatywne rozwiązanie automatycznego wywoływania klientów do pliku .xinitrc.

  7. (Rejestrowanie obrazów z ekranu)

    Zapoznaj się z programami xwd i xwud i wypróbuj zarejestrowanie obrazu zestawu okien na monitorze programem xwd. Sprawdź programem xwud czy obraz poprawnie się zarejestrował, a następnie spróbuj przekonwertować go na format JPEG (spróbuj programem convert). Wyświetl obrazek programem display i sprawdź jego własności.

    Nie wklejaj otrzymanych obrazków do sprawozdania, ani nie wysłaj ich prowadzącemu!

  8. (Praca z zarządcą ekranów xdm)
    (ten element można ćwiczyć tylko pod warunkiem posiadania sprawnego połączenia sieciowego do Internetu, 256 kb/s lub więcej)

    Ponownie uruchom serwer X Window z żądaniem połączenia się ze zdalnym zarządca ekranów xdm pracującym na jakimś zdalnym serwerze (spróbuj np. diablo.ict.pwr.wroc.pl, lub 192.168.4.150):
        X -query serwer.ip.adres :1
    

    Zaloguj się na zdalny system, sprawdź jaka konfiguracja zostanie uruchomiona, jakie jest ustawienie zmiennej DISPLAY, jaki pracuje zarządca okien. Sprawdź jak i skąd można konfigurować elementy systemu: konfigurację sesji .xsession, konfigurację zarządcy okien, ustawienia zasobów. Jak działają uprawnienia, co można kontrolować z systemu lokalnego? Sformułuj krótkie wnioski w sprawozdaniu.

    Dodatkowo/alternatywnie uruchom program Xephyr, który jest klientem X Window (a więc trzeba go uruchomić na jakimś działającym serwerze) i jednocześnie tworzy nowy serwer o zadanym numerze:

        Xephyr -screen 1024x768 -display :0 -query server.ip.adres :1
    

    W oknie Xephyra zaloguj się na zdalny system, sprawdź konfigurację. Odpal emulator terminala. Spróbuj uruchamiać na serwerze Xephyr klienty z wyświetlaniem na serwer bazowy i w przeciwnym kierunku.

  9. (Praca z polską lokalizacją)

    Dowiedz się jak zalogować się lub po zalogowaniu wybrać środowisko z polską lokalizacją, na przykład pl_PL.ISO8859-2. Sprawdź aktualne ustawienia lokalizacji (locale). Sprawdź, jak wpisuje się polskie litery do różnych elementów systemu: xterma, emacsa, netscape'a/firefoksa. Sprawdź, czy używane czcionki poprawnie wyświetlają polskie litery. Jeśli któryś z klientów nie wyświetla polskich liter (sprawdź xterm), spróbuj wywołać go z ustawieniem czcionki (opcja -fn) odpowiadającej wybranej polskiej lokalizacji. Sprawdź, jakim zasobem można ustawić wybieranie tej czcionki na stałe.

  10. (Praca z zasobami)

    Zapoznaj się z notacją zasobów (nazwy zasobów i klas, ścieżka specyfikacji zasobu) i znajdź nazwy kilku przykładowych zasobów dla wybranego klienta (np. xclock). Do badania zasobów pracującego klienta przydatny jest program editres, którym można ustawić wartości dowolnych zasobów, a następnie zapisać plik zapamiętujący wybrane ustawienia. Do stwierdzenia jakie znaczenie mają poszczególne zasoby, oraz jakie mogą przyjmować wartości konieczne jest przeczytanie opisu klienta (np. man xclock). Sprawdź, że po zapisaniu ustawień zasobów na pliku i jego załadowaniu do serwera (xrdb merge nazwapliku), kolejne uruchamiane wersje danego klienta stosują się do tych ustawień zasobów. (Program editres teoretycznie pozwala na dynamiczną modyfikację wartości zasobów pracujących klientów, ale praktycznie większość klientów ignoruje te polecenia, jak wyjaśniono w opisie programu editres.)

    Przeczytaj opis zasobów edytora emacs i eksperymentując z ustawianiem wybranych zasobów programem xrdb, dobierz optymalne wartości trzech (lub więcej) wybranych zasobów. Nie korzystaj z żadnych plików (np. .Xdefaults albo .Xresources, ani innych), tylko wykonaj ustawienia zasobów z poziomu shella. Na przykład, mogą to być: geometria okna, czytelne kolory (-bg -fg -bd), oraz czytelna, łatwa do pracy czcionka (listę dostępnych czcionek można uzyskać programem xlsfonts, a interakcyjnie przeglądać i wybierać czcionki programem xfontsel). Sprawdź, że kopie emacsaa uruchamiane z różnych komputerów realizują ustawione wartości zasobów. Wpisz wybraną specyfikację zasobów do pliku .Xdefaults na lokalnym komputerze. Zatrzymaj i ponownie uruchom serwer X Window i upewnij się, że emacs konfiguruje się w oczekiwany sposób.

  11. (Środowiska KDE i/lub Gnome)

    Uzyskaj dostęp do komputera z poprawnie zainstalowanym Linuksem i systemem X Window ze środowiskiem KDE lub Gnome. Sprawdź jak w tym środowisku działają poznane mechanizmy systemu X Window, jak realizowany jest plik .xinitrc. Sprawdź jak nazywa się program zarządcy okien, jakie ma możliwości, jakie elementy zachowania serwera wymusza. Sprawdź jak możesz konfigurować zachowanie tego zarządcy okien i całe środowisko. Spróbuj ustawić zachowania click-to-focus oraz focus-follows-mouse.

  12. (Uruchamianie serwera X Window w środowisku Microsoft Windows)

    Uzyskaj dostęp do komputera z zainstalowanym systemem Microsoft Windows podłączonym do sieci. Sprawdź czy jest na nim serwer X Window, jeśli nie to ściągnij taki serwer ze strony www na diablo, zainstaluj. Sprawdź działanie wszystkich przećwiczonych mechanizmów. W szczególności może nie udać się uruchamianie zarządcy okien, albo modyfikacja niektórych jego ustawień, ponieważ niektóre serwery X Window pracujące w środowisku Microsoft Windows traktują lokalne środowisko okienkowe jako zarządcę okien.

Sprawozdanie

Sprawozdanie powinno zawierać:

About this document ...

This document was generated using the LaTeX2HTML translator Version 2019.2 (Released June 5, 2019)

The command line arguments were:
latex2html -html_version 3.2,latin2,unicode -split 0 -no_navigation PProg_lab_04.tex

The translation was initiated on 2021-11-22