From: xf0r3m Date: Sun, 7 Apr 2024 12:21:53 +0000 (+0200) Subject: Ukończono redagowanie 13 rozdziału. Niezbędne jeszcze uzupełnienie przykładów ze... X-Git-Url: https://gitweb.morketsmerke.org/?a=commitdiff_plain;h=a554897c872cde2d6c4b2d8b39a361e8f3adb441;p=mmdev.git Ukończono redagowanie 13 rozdziału. Niezbędne jeszcze uzupełnienie przykładów ze środowiska Wayland. --- diff --git a/articles/terminallog/Linux.Podstawy.html b/articles/terminallog/Linux.Podstawy.html index 96483de..f3bab54 100644 --- a/articles/terminallog/Linux.Podstawy.html +++ b/articles/terminallog/Linux.Podstawy.html @@ -10456,8 +10456,8 @@ bash Jak już wcześniej wspomniałem na interfejs graficzny użytkownika składa się duża ilość elementów. Te elementy moga być zostać pogrupowane na podstawie czym tak na prawdę są. Jesli powiem, że - środowisko graficzne uzupełniają widget-y, to tymi - widget-ami są po prostu aplikacje dostarczane jako + środowisko graficzne uzupełniają widget-y, to tymi + widget-ami są po prostu aplikacje dostarczane jako zależności zadania instalacji wybranego środowiska. Środowiska oczywiście mogą się bez nich obejść jednak przyjemnosć korzystania z takiego pulpitu powoduje mieszane uczucia. @@ -10489,7 +10489,7 @@ bash releacji pozostaja wszelkie aplikacje, które chcą wyświetlić okna w systemie X. Po nawiązaniu połączenia z nim, aplikacja żąda wyświetlenia okna. W odpowiedzi uzyskamy informacje o - docelowym położeniu okna oraz zostaniem mu wskazany obszar pamięci + docelowym położeniu okna oraz zostanie mu wskazany obszar pamięci przeznaczony na bufor ramki. Czasmi serwer X sam zajmuje się renderowaniem elementów graficznycznych.

@@ -10497,7 +10497,7 @@ bash Ze względu na to, że serwer X bierze udział w tak wielu czynnościach, może stać się wąskim gardłem w pewnym momencie, chociaż X Window System jest aktywnie - wykorzystywany od lat 80, okazał się dość elastyczny aby móc + wykorzystywany od lat 80-tych, okazał się dość elastyczny aby móc obsługiwać elementy współczesnych interfejsów.

Wayland

@@ -10514,7 +10514,7 @@ bash

Generalnie to nie ma zbyt wielkich różnic między protokołem Wayland a system X Window. Aplikacje w obecnych - środowiskach wykorzystując X Window nie oczekuje na + środowiskach wykorzystując X Window nie oczekują na wspracie od serwera i same renderują bitmapę (zapisuja elementy graficzne w buforze ramki w postaci bajtów) i przesyłają ja serwerowi X. Serwer łaczy je ze sobą z wykorzystaniem @@ -10523,23 +10523,26 @@ bash libinput służącej do kierowania danych wejściowych do klientów. Protokół nie wymaga tej biblioteki. Jednak jest ona w każdym dostęp środowisku. O mówimy ją sobie przy okzaji głębszego - zapoznania się z system X Window. + zapoznania się z system X Window. Kolejną rzeczą jest + rola menedżera okien w wyświetlaniu interfejsu użytkownika.

13.1.3. Mendżery okien

Menedżer okna w interfejsie użytkownika zajmuje się renederowanie - elementów dektoracyjnych, obsługuje kierowane do tych elementów + elementów dekoracyjnych, obsługuje kierowane do tych elementów zdarzenia wejściowe oraz informuje serwer o położeniu okien. Te zadania są wykonywane kiedy korzystamy z systemu X Window. Inaczej jest w przypadku protokołu Wayland tutaj menedżer okien pełni rolę serwera, składa bufory ramek, aby były zgodne z buforem przeznaczonym do wyświetlania oraz obsługuje przekazywanie - urządzeń wejścia na kanale zdarzeń. Jest to główna różnica miedzy + urządzeń wejścia na kanale zdarzeń. Jest to jedna z różnic miedzy opisanymi wcześniej mechanizmami wyświetlania. Każdy z dostępnych interfejsów może mieć swój własny menedżer okien. Niektóre menedżery okien są traktowane jako pełne interfejsy użytkownika. Oczywiście jest błędne założenie, ponieważ takim gołym menedżerom - okien, brakuje kilku elementów. + okien, brakuje kilku elementów. Zazwyczaj jest nazwa potoczna dla + zestawu programów składających się na środowiska użytkownika, lecz + nie jest to pełno prawne środowisko graficzne jak GNOME czy KDE.

13.1.4. Biblioteki interfejsu graficznego

@@ -10552,8 +10555,8 @@ bash

13.1.5. Graficzny interfejs użytkownika

- GUI obecnie traktowane są domyślnie określane jako całe środowisko - użytkownika. Fakt spinają one wiele cześci razem, np. są oparte o + GUI obecnie są domyślnie określane jako całe środowisko + użytkownika. Fakt, spinają one wiele cześci razem, np. są oparte o standard GTK+ lub Qt, często posiadają swój menedżer okien oraz menedżer wyświetlania (będzie o nim w dalszej części tego rozdziału) GUI zazwyczaj decydują o tym w jaki sposób wyświetlić elementy, @@ -10566,12 +10569,16 @@ bash dodają do tego menedżer wyświetlania, biblioteki oraz potrzebny im zestaw aplikacji. Tego typu rozwiązania powodują, mniejsze zużycie zasobów niż w przypadku użycia gotowych GUI, a to z kolei - przekłada się na możliwość przyspieszenia naszej pracy jak i w drugą - stronę. Umożliwia uruchomienie tak przygotowanej dystrybucji na + przekłada się to na konfort naszej pracy, niektóre czynności, które + w przypadku gotowych GUI są automatyczne to w przypadku innych + rozwiązań mogą wymagać dodatkowej konfiguracji. Oczywiście + rozwiązania tego typu są pracochłonne, ale mogą przyspieszyć + działanie systemu oraz umożliwić uruchomienie tak przygotowanego + środowiska na słabszym sprzęcie, dzieki czemu możemy zaoszczędzic pieniądze. GUI mimo iż może być opartę o którąś z powyższych bibliotek, to - potrafi być niezależne w domyśle od mechnizmu wyświetlania, wszystko - zależy od twórców dystrybucji jak został skonfigurowan pakiet + potrafi być niezależne w domyśle od mechanizmu wyświetlania, wszystko + zależy od twórców dystrybucji jak został skonfigurowany pakiet instalujący oraz konfigurujący domyślnie GUI.

13.1.6. Aplikacje

@@ -10597,11 +10604,11 @@ bash możemy zacząć się zastanawiać, z jakiego mechanizmu wyświetlania korzystamy w naszym w systemie. Do ustalenia informacji na temat wykorzystywanego przez nas serwera wyświetlania (tak wiem - Wayland nie jest serwer, ale tak będzie prościej do + Wayland nie jest serwerem, ale tak będzie prościej do zrozumienia i tak pozostanie do końca tego materiału), wykorzystamy zmienną $WAYLAND_DISPLAY. Jeśli wyświetlenie jej zawartości zwróci jakieś informacje to oznacza, że - możemy być nie mal pewni, że korzystamy z prokołu Wayland. + możemy być nie mal pewni, że korzystamy z protokołu Wayland. Jeśli wyświetlenie jej zawrtości nie zwróci nic, to najpewniej nie jest ona w ogóle zainicjowana, co oznacza że korzystamy z serwera X Window. @@ -10611,17 +10618,18 @@ bash

Wayland jest protokołem pośredniczącym między menedżerem kompozycji a klientem graficznym. Ten system nie posiada jednego - dużego pakietu, ale biblioteke protokołu, z której korzystają + dużego pakietu, ale bibliotekę protokołu, z której korzystają klienci. Poza tym w skład protokołu wchodzi referencyjny menedżer kompozycji Weston, kilka klientów oraz programów narzędziowych.

- Referencyjność Weston polega natym, że nie powinien być + Referencyjność Weston polega na tym, że nie powinien być on wykorzystywany samodzielnie, natomiast posiada on wszelkie - składniki składniki kompozycji i jego zadaniem jest podstawowego + składniki składniki kompozycji i jego zadaniem jest zapewnienie + podstawowego interfejsu, który projektancji własnych menedżerów kompozycji mogą - analizować i nad podstawie tego poprawnie implementować kluczowe + analizować i na podstawie tego poprawnie implementować kluczowe funkcje.

13.3.1. Menedżer kompozycji

@@ -10673,12 +10681,12 @@ $ sudo libinput debug-events --show-keycodes

13.3.3. Zgodność Wayland z system X Window

Protokół Wayland jest w miarę świerzym (jak na postrzeganie - czasu przez Uniksy) podejściem jesli chodzi o wyświetlanie. Do tej + czasu przez uniksy) podejściem jesli chodzi o wyświetlanie. Do tej pory większość okienkowych, mających uruchamiać się na dystrybucjach - Linuksa, ale i nie tylko. Bo wiem system X Window jest - również używany na innych uniksach, było projektowanych na z myślą - system X. Zgodność natomiast między tymi dowoma systemami - może polegać na dwóch podjeściach. + Linuksa, ale i nie tylko - system X Window jest + również używany na innych uniksach, było projektowanych z myślą o + system Xorg. Zgodność natomiast między tymi dowoma systemami + polega na dwóch podejściach.

Podejście pierwsze polega na dostosowaniu aplikacji natywnie @@ -10687,19 +10695,20 @@ $ sudo libinput debug-events --show-keycodes graficznych takich jak GNOME lub KDE. Te zestawy są przygotowane do działania z protokołem Wayland. Wiele podstawowych aplikacji zostało już dostosowanych w ten sposób. Różnice tutaj mogą polegąć - poza obsługa elementów dekoracyjnych, czy konfiguracja urządzeń - wejściowych pozostaja jescze zależności wobec bibliotek związanych - z system X. + na obsłudze elementów dekoracyjnych czy konfiguracji urządzeń + wejściowych. Pozostaja jescze zależności wobec bibliotek związanych + z systemem X.

Innym rozwiązaniem jest uruchomienie aplikacji przeznaczonych dla X po przez warstwę zgodności, polegającą na uruchomieniu jako klienta Wayland całego serwera X Window. - Nazwywane jest to serwerem Xwayland i jest domyślne działa + Nazwywane jest to serwerem Xwayland i jest domyślne + działanie podczas sekwencji ładowania menedżera kompozycji. Wykorzystanie takiej warstwy wymaga przetłumaczenia zdarzeń wejściowych oraz utrzymania osbono buforów ramek okien. Metoda ta jest równiez nieco - wolniejsza, ale często nie jest brane w ogóle po uwagę. + wolniejsza, ale często nie jest brane w ogóle pod uwagę.

Oczywście odwrotnie to nie zadziała nie można uruchmaiać aplikacji @@ -10714,7 +10723,7 @@ $ sudo libinput debug-events --show-keycodes

W dość odgłegłych czasach jedną z cech systemu X window był dość duży gabaryt, bowiem pakiet ten zawierał poza serwerem - wyświetlania biblioteki oraz kilka klientu. Te czasy naszczęście + wyświetlania biblioteki oraz kilka klientów. Te czasy na szczęście minęły dzięki upowszechnieniu się niezależnych środowisk graficznych takich jak GNOME czy KDE, wówczas można było skupić się na samym serwerze. Uproszczeniu uległa również biblioteka klientów. @@ -10747,8 +10756,9 @@ xf0r3m@vm-65cd1fb:~$ echo $DISPLAY

13.4.1. Menedżery wyświetlaczy

- Korzystając z dystrybucji przeznacznonych komputery biurkowe, raczej - nię będziemy sami uruchamiać serwera wyświetlania z jednej z + Korzystając z dystrybucji przeznacznonych na komputery biurkowe, + raczej + nię będziemy sami uruchamiać serwera wyświetlania w jednej z wirtualnych konsoli. Po załadowaniu się systemu naszym oczom ukaże się okienko służące do logowania z jakimś obrazkiem w tle oraz umiesczonym w jednym z rogów przycisku wyboru sesji lub ustawień @@ -10776,13 +10786,13 @@ xf0r3m@vm-65cd1fb:~$ echo $DISPLAY mendżery okien, funkcjonują w ten sposób]) i uruchomienie odpowiedniego menedżera okien będącego jednym z najważniejszych programów sesji użytkownika. Menedżery wyświetlania odpowiadają za - szereg ciekawych funkcji, których możemy doświadczyć i które możemy - dostosowac do swoich potrzeb. + szereg ciekawych funkcji, których możemy doświadczyć i dostosowac + je do swoich potrzeb.

13.4.2. Właściwości sieciowe serwera X Window

Serwer X Window oferuje zdalny dostęp poprzez sieć. - Rozwiązanie to jest podobne do możliwe, że znanych nam usług zdalnego + Rozwiązanie to jest podobne do, możliwe że znanych nam usług zdalnego pulpitu. Jednak ta usługa w obecnych czasach jest wyłaczona ze względów bezpieczeństwa - nie zapewnia poza uwierzytlenieniem żadnych zabepieczeń. Warto rozejrzeć się za jakimś innym dostępem, większość @@ -10792,9 +10802,10 @@ xf0r3m@vm-65cd1fb:~$ echo $DISPLAY

@@ -10945,7 +10956,7 @@ KeyRelease event, serial 37, synthetic NO, window 0x3800001, Na przykładzie pokazano w przyciśniecie klawisza myszy, przesunięcie kursora z przytrzymanym klawiszem, następnie zwolnienie klawisza i przesunięcie kursora. Następnie naciśnięto dwa klawisze na - klawiaturze. W polu root otrzymamy współrzędne kursa myszy + klawiaturze. W polu root otrzymamy współrzędne kursora myszy na ekranie. Natomiast przed tym polem znajdują się współrzędne względem okna otwartego przez polecenie xev. W przypadku naciśniętych na klawiszy istotną informacją zwracaną przez to @@ -10964,7 +10975,7 @@ KeyRelease event, serial 37, synthetic NO, window 0x3800001, xwininfo), z którego polecenie xev będzie odczytywać zdarzenia.

-

13.4.5. Ustawianie preferencji i dane wejściowe serwera X

+

13.4.5. Ustawianie preferencji i dane wejściowe serwera X

System wyświetlania Xorg oraz jego serwer zapewniają kilka możliwych metod na zmianę preferencji, a niektóre z nich mogą nawet @@ -10973,7 +10984,7 @@ KeyRelease event, serial 37, synthetic NO, window 0x3800001, dwa sposoby, albo zmiany są małe i wprowadzane na obecnym mapowaniu przy użyciu polecenia xmodmap albo utworzenie nowego - mapowania, skomplowania go za pomocą polecenia + mapowania, skompilowania go za pomocą polecenia xkbcomp oraz załadowania i aktywacji przy użyciu polecenia setxkbmap. Za pomocą tych poleceń @@ -10984,7 +10995,7 @@ KeyRelease event, serial 37, synthetic NO, window 0x3800001, Innym ustawieniem, które możemy chceć zmienić jest kolejność klawiszy przy myszy. W przypadku osób leworęcznych podstawowy przypisk (LPM, dla osób praworęcznych mieści skrajnie po lewej stronie) powinien - znajdować sie po drugiej stronie urządzenia (skrajnie po lewej). + znajdować sie po drugiej stronie urządzenia (skrajnie po prawej). Takiej zamiany możemy dokonać z pomocą xinput. Na poniższym przykładzie pokazano w jaki sposób dostosować myszkę dla osób leworęcznych. @@ -11047,12 +11058,13 @@ xf0r3m@vm-cffa62e:~$ xinput nie działa ono we wszystkich przypadkach. Lepszym rozwiązaniem może być użycie zewnętrznego programu feh, które de facto jest przeglądarką plików graficznych; czy ustawienia wygaszacza ekranu - lub funkcji DPMS (ang. Display Power Management Signaling) + lub funkcji DPMS (ang. Display Power Management Signaling) + za pomocą polecenia xset.

13.5. Usługa D-Bus

Usługa D-Bus jest mechanizm przekazywania - komunikatów, umożliwia ona wymianę informacji między aplikacji + komunikatów, umożliwia ona wymianę informacji między aplikacjmi klienta, wykorzystując do tego komunikację między procesową. Jednak aplikację wykorzystują ją do powiadamiania o zdarzeniach systemowych takich jaki np. podłącznie pendrive-a do komputera. Proces @@ -11090,8 +11102,9 @@ xf0r3m@vm-cffa62e:~$ xinput W przypadku instancji systemowej, może dziać się nie wiele w zależności od sprzętu na jakim pracujemy. Nie mniej jednak do obserwacji komunikatów usługi D-Bus możemy wykorzystać - dostępne polecenie jakie dbus-monitor - Wybóru instancji dokonujemyu za pomocą odpowiedniej opcji: + dostępne polecenie takie jak + dbus-monitor + Wybóru instancji dokonujemy za pomocą odpowiedniej opcji: instancja systemowa - --system oraz instancja sesji - --session.

@@ -11178,7 +11191,7 @@ error_name=org.xfce.Xfconf.Error.PropertyNotFound reply_serial=25087 przesła dokument do filtra wydruku. W przypadku gdy dokument nie ma formatu PostScript filtr wydruku może dokonać konwersji. Jeśli drukarka nie obsługuje formatu PostScript to przy - użyciu sterownika dokument zostaje skonwertowany do postacji + użyciu sterownika dokument zostaje skonwertowany do postaci odpowiedniej dla urządzenia drukującego. Ze sterownika drukarki zostają pobrane takie informacje jak źródło papieru czy ewentualny dupleks - zostają one dodane do dokumentu. Na koniec serwer wydruku @@ -11200,7 +11213,7 @@ error_name=org.xfce.Xfconf.Error.PropertyNotFound reply_serial=25087

Istotną funkcją systemu CUPS jest implementacja protokołu IPP (ang. Internet Print Protocol), wykorzystuje on port TCP/631 i jego - działanie opiera się transakcje podobne do protokołu HTTP. System + działanie opiera się o transakcje podobne do protokołu HTTP. System CUPS można konfigurować za pomocą przeglądarki łącząc się z adresem http://localhost:631. Użytkownikiem administracyjnym jest root i hasło jest takie same jak do zalogowania się na tego @@ -11247,7 +11260,7 @@ error_name=org.xfce.Xfconf.Error.PropertyNotFound reply_serial=25087

- 2022; COPYLEFT; ALL RIGHTS REVERSED; + 2024; COPYLEFT; ALL RIGHTS REVERSED;