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ą <em>widget-y</em>, to tymi
- <em>widget-ami</em> są po prostu aplikacje dostarczane jako
+ środowisko graficzne uzupełniają <em>widget</em>-y, to tymi
+ <em>widget</em>-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.
releacji pozostaja wszelkie aplikacje, które chcą wyświetlić okna
w systemie <em>X</em>. 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 <em>serwer X</em> sam zajmuje
się renderowaniem elementów graficznycznych.
</p>
Ze względu na to, że <em>serwer X</em> bierze udział w tak wielu
czynnościach, może stać się <em>wąskim gardłem</em> w pewnym
momencie, chociaż <em>X Window System</em> 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.
</p>
<h4>Wayland</h4>
<p>
Generalnie to nie ma zbyt wielkich różnic między protokołem
<em>Wayland</em> a system <em>X Window</em>. Aplikacje w obecnych
- środowiskach wykorzystując <em>X Window</em> nie oczekuje na
+ środowiskach wykorzystując <em>X Window</em> nie oczekują na
wspracie od serwera i same renderują bitmapę (zapisuja elementy
graficzne w buforze ramki w postaci bajtów) i przesyłają ja
<em>serwerowi X</em>. Serwer łaczy je ze sobą z wykorzystaniem
<strong>libinput</strong> 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 <em>X Window</em>.
+ zapoznania się z system <em>X Window</em>. Kolejną rzeczą jest
+ rola menedżera okien w wyświetlaniu interfejsu użytkownika.
</p>
<h3 id="13.1.3.windowmanager">13.1.3. Mendżery okien</h3>
<p>
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 <em>X Window</em>.
Inaczej jest w przypadku protokołu <em>Wayland</em> 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.
</p>
<h3 id="13.1.4.graphicalinterfacelibrary">13.1.4. Biblioteki interfejsu graficznego</h3>
<p>
</p>
<h3 id="13.1.5.graphicaluserinterfaces">13.1.5. Graficzny interfejs użytkownika</h3>
<p>
- 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,
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.
</p>
<h3 id="13.1.6.guiapps">13.1.6. Aplikacje</h3>
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
- <em>Wayland</em> nie jest serwer, ale tak będzie prościej do
+ <em>Wayland</em> nie jest serwerem, ale tak będzie prościej do
zrozumienia i tak pozostanie do końca tego materiału), wykorzystamy
zmienną <code class="code-inline">$WAYLAND_DISPLAY</code>. 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 <em>Wayland</em>.
+ możemy być nie mal pewni, że korzystamy z protokołu <em>Wayland</em>.
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
<em>X Window</em>.
<p>
<em>Wayland</em> 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 <strong>referencyjny</strong>
menedżer kompozycji Weston, kilka klientów oraz programów
narzędziowych.
</p>
<p>
- <em>Referencyjność <em>Weston</em> polega natym, że nie powinien być
+ <em>Referencyjność Weston</em> 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.
</p>
<h3 id="13.3.1.compositionmanager">13.3.1. Menedżer kompozycji</h3>
<h3 id="13.3.3.waylandcompatibiltywithX">13.3.3. Zgodność Wayland z system X Window</h3>
<p>
Protokół <em>Wayland</em> 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 <em>X Window</em> jest
- również używany na innych uniksach, było projektowanych na z myślą
- system <em>X</em>. Zgodność natomiast między tymi dowoma systemami
- może polegać na dwóch podjeściach.
+ Linuksa, ale i nie tylko - system <em>X Window</em> jest
+ również używany na innych uniksach, było projektowanych z myślą o
+ system <em>Xorg</em>. Zgodność natomiast między tymi dowoma systemami
+ polega na dwóch podejściach.
</p>
<p>
Podejście pierwsze polega na dostosowaniu aplikacji natywnie
graficznych takich jak GNOME lub KDE. Te zestawy są przygotowane do
działania z protokołem <em>Wayland</em>. 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.
</p>
<p>
Innym rozwiązaniem jest uruchomienie aplikacji przeznaczonych dla
<em>X</em> po przez warstwę zgodności, polegającą na uruchomieniu
jako klienta <em>Wayland</em> całego serwera <em>X Window</em>.
- Nazwywane jest to serwerem <em>Xwayland</em> i jest domyślne działa
+ Nazwywane jest to serwerem <em>Xwayland</em> 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ę.
</p>
<p>
Oczywście odwrotnie to nie zadziała nie można uruchmaiać aplikacji
<p>
W dość odgłegłych czasach jedną z cech systemu <em>X window</em> 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.
</pre>
<h3 id="13.4.1.displaymanagers">13.4.1. Menedżery wyświetlaczy</h3>
<p>
- 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ń
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.
</p>
<h3 id="13.4.2.xwindownetworking">13.4.2. Właściwości sieciowe serwera X Window</h3>
<p>
Serwer <em>X Window</em> 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ść
</p>
<ul>
<li>Skonfigurować aplikację internetową, domyślnie otwierającą
- wysoki port na pętli zwrotnej, więc możliwość wywołania jej strony
+ wysoki port na pętli zwrotnej. Możliwość wywołania tej aplikacji
z poziomu naszego komputera odpada. Możemy zastosować opcję
- <em>-X</em> polecenia SSH. Ta opcja powoduje przekierowywanie
+ <em>-X</em> polecenia <code class="code-inline">ssh</code>.
+ Ta opcja powoduje przekierowywanie
klientów <em>X Window</em> uruchomionych na serwerze do komputera
klienta SSH (powoduje wyświetlenie okna z aplikacją, często
wykorzystywane do wyświetlenia okna przeglądarki, która uruchomiona
<li>Uruchomić okno z programem na uruchomionej już sesji użytkownika.
Posiadając dostęp do SSH oraz do użytkownika z uprawnieniami,
którego uruchamiamy sesję środowiska graficznego możemy,
- uruchamiać na pulpicie okna <em>X Window</em>, wymagane do tego
+ uruchamiać na pulpicie okna <em>X Window</em>. Wymagane do tego
jest posiadanie polecenia <em>xhost</em> oraz skonfigurowanie
go poprzez pliki uruchomieniowe sesji środowiska graficznego
użytkownika, najczęściej to w nich zapisywane są takie czynności
wyświetlacza <em>X</em>, uzyska dostęp do sesji użytkownika. Jeśli
uruchomi program, który domyślnie otwiera okno ze swoją zawartością
np. przeglądarkę, czytnik plików PDF to, to okno zostanie otwarte
- w sesji użytkownika, do które użytkownik inicjujący program ma
+ w sesji użytkownika, do którego użytkownik inicjujący program ma
dostęp.
</li>
</ul>
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 <em>root</em> otrzymamy współrzędne kursa myszy
+ klawiaturze. W polu <em>root</em> otrzymamy współrzędne kursora myszy
na ekranie. Natomiast przed tym polem znajdują się współrzędne
względem okna otwartego przez polecenie <em>xev</em>. W przypadku
naciśniętych na klawiszy istotną informacją zwracaną przez to
<code class="code-inline">xwininfo</code>), z którego polecenie
<code class="code-inline">xev</code> będzie odczytywać zdarzenia.
</p>
- <h3 id="13.4.5.settingpreferencesandinputdataofxserver">13.4.5. Ustawianie preferencji i dane wejściowe serwera X</h3>
+ <h3 id="13.4.5.settingxwindowpreferences">13.4.5. Ustawianie preferencji i dane wejściowe serwera X</h3>
<p>
System wyświetlania <em>Xorg</em> oraz jego serwer zapewniają kilka
możliwych metod na zmianę preferencji, a niektóre z nich mogą nawet
dwa sposoby, albo zmiany są małe i wprowadzane na obecnym mapowaniu
przy użyciu polecenia
<code class="code-inline">xmodmap</code> albo utworzenie nowego
- mapowania, skomplowania go za pomocą polecenia
+ mapowania, skompilowania go za pomocą polecenia
<code class="code-inline">xkbcomp</code> oraz załadowania i
aktywacji przy użyciu polecenia
<code class="code-inline">setxkbmap</code>. Za pomocą tych poleceń
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ą
<code class="code-inline">xinput</code>. Na poniższym przykładzie
pokazano w jaki sposób dostosować myszkę dla osób leworęcznych.
nie działa ono we wszystkich przypadkach. Lepszym rozwiązaniem może
być użycie zewnętrznego programu <em>feh</em>, które de facto jest
przeglądarką plików graficznych; czy ustawienia wygaszacza ekranu
- lub funkcji DPMS (ang. <em>Display Power Management Signaling</em>)
+ lub funkcji DPMS (ang. <em>Display Power Management Signaling</em>)
+ za pomocą polecenia <code class="code-inline">xset</code>.
</p>
<h2 id="13.5.d-busservice">13.5. Usługa D-Bus</h2>
<p>
Usługa <strong>D-Bus</strong> 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 <em>pendrive</em>-a do komputera. Proces
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 <em>D-Bus</em> możemy wykorzystać
- dostępne polecenie jakie <code class="code-inline">dbus-monitor</code>
- Wybóru instancji dokonujemyu za pomocą odpowiedniej opcji:
+ dostępne polecenie takie jak
+ <code class="code-inline">dbus-monitor</code>
+ Wybóru instancji dokonujemy za pomocą odpowiedniej opcji:
instancja systemowa - <em>--system</em> oraz instancja sesji -
<em>--session</em>.
</p>
przesła dokument do filtra wydruku. W przypadku gdy dokument nie ma
formatu <em>PostScript</em> filtr wydruku może dokonać konwersji.
Jeśli drukarka nie obsługuje formatu <em>PostScript</em> 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
<p>
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
<em>http://localhost:631</em>. Użytkownikiem administracyjnym jest
root i hasło jest takie same jak do zalogowania się na tego
</p>
</div>
<p style="margin: 15px; padding: 0; outline: 0;">
- 2022; COPYLEFT; ALL RIGHTS REVERSED;
+ 2024; COPYLEFT; ALL RIGHTS REVERSED;
</p>
</body>
</html>