From 2b94ccfc0025cb7740278d06e02f503ec7d8bd27 Mon Sep 17 00:00:00 2001 From: xf0r3m Date: Wed, 25 Oct 2023 14:50:12 +0200 Subject: [PATCH] =?utf8?q?Tworzenie=20rozdzia=C5=82u=2013.=20Podrozdzia?= =?utf8?q?=C5=82=2013.4.4?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- articles/terminallog/Linux.Podstawy.html | 121 +++++++++++++++++++++++ 1 file changed, 121 insertions(+) diff --git a/articles/terminallog/Linux.Podstawy.html b/articles/terminallog/Linux.Podstawy.html index 5c76463..0c430b5 100644 --- a/articles/terminallog/Linux.Podstawy.html +++ b/articles/terminallog/Linux.Podstawy.html @@ -10829,6 +10829,127 @@ xhost +SI:localuser:<nazwa_użytkownika> naprawdę potrzebujemy zdalnego pulpitu, to warto użyć do tego np. takich protokół jak RDP lub VNC.

+

Przegląd klientów X Window

+

+ Mogliśmy spodziewać się tego, że omawianie środowiska graficznego + użytkownika może nie mieć nic wspólnego z wierszem polecenia, ale + system X Window wychodzi nam na przekór, udostępniając kilka + narzędzi, które pozwalają wyświetlenie informacji czy też diagnostykę. + Jednym z takich narzędzi jest polecenie xwininfo. Polecenie + to zwraca informacje na temat wybranego przez nas okna. Po + uruchomieniu poprosi nas o wybranie okna za pomocą myszy o po + kliknięciu na nie w terminalu zostaną nam zwrócone informacje o tym + oknie. +

+
+xf0r3m@vm-cffa62e:~$ xwininfo
+
+xwininfo: Please select the window about which you
+          would like information by clicking the
+          mouse in that window.
+
+xwininfo: Window id: 0x3400003 "Terminal - xf0r3m@vm-cffa62e: ~"
+
+  Absolute upper-left X:  5
+  Absolute upper-left Y:  158
+  Relative upper-left X:  5
+  Relative upper-left Y:  29
+  Width: 817
+  Height: 578
+  Depth: 32
+  Visual: 0x50c
+  Visual Class: TrueColor
+  Border width: 0
+  Class: InputOutput
+  Colormap: 0x3400002 (not installed)
+  Bit Gravity State: NorthWestGravity
+  Window Gravity State: NorthWestGravity
+  Backing Store State: NotUseful
+  Save Under State: no
+  Map State: IsViewable
+  Override Redirect State: no
+  Corners:  +5+158  -202+158  -202-32  +5-32
+  -geometry 100x30+0-27
+
+

+ Innym ciekawym narzędziem może być polecenie xlclients wraz + z opcją -l. Jego zadaniem jest wyświetlenie wszystkich + klientów serwera X Window. +

+

13.4.4. Zdarzenia serwera X

+

+ Okna programów otrzymują dane wejściowe oraz informacje o stanie + serwera X za pośrednictwem zdarzeń. Serwer X + odbiera zdarzenia ze źródła następnie kieruje do dowolnego + zainteresowanego klienta. System X Window daje nam możliwość + eksperymentowania z zdarzeniami przy użyciu polecenia xev. + Uruchomienie tego polecenia spowoduje otworzenie okna, po którym + możemy jeździć kursorem i na nim klikać, natomiast w terminalu + polecenie zajmie się obróbką tych zdarzeń i ich przedwieniem + użytkownikowi. +

+
+xf0r3m@vm-cffa62e:~$ xev
+ButtonPress event, serial 38, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 21524866, (41,103), root:(464,396),
+    state 0x0, button 1, same_screen YES
+...
+MotionNotify event, serial 38, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 21526915, (49,104), root:(472,397),
+    state 0x100, is_hint 0, same_screen YES
+
+MotionNotify event, serial 38, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 21526998, (51,104), root:(474,397),
+    state 0x100, is_hint 0, same_screen YES
+
+MotionNotify event, serial 38, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 21527185, (52,104), root:(475,397),
+    state 0x100, is_hint 0, same_screen YES
+
+ButtonRelease event, serial 38, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 21527854, (52,104), root:(475,397),
+    state 0x100, button 1, same_screen YES
+
+MotionNotify event, serial 37, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 19437248, (99,87), root:(522,380),
+    state 0x0, is_hint 0, same_screen YES
+...
+KeyPress event, serial 37, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 19448798, (194,226), root:(617,519),
+    state 0x0, keycode 39 (keysym 0x73, s), same_screen YES,
+    XLookupString gives 1 bytes: (73) "s"
+    XmbLookupString gives 1 bytes: (73) "s"
+    XFilterEvent returns: False
+
+KeyRelease event, serial 37, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 19448918, (194,226), root:(617,519),
+    state 0x0, keycode 39 (keysym 0x73, s), same_screen YES,
+    XLookupString gives 1 bytes: (73) "s"
+    XFilterEvent returns: False
+
+KeyPress event, serial 37, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 19449093, (194,226), root:(617,519),
+    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
+    XLookupString gives 1 bytes: (64) "d"
+    XmbLookupString gives 1 bytes: (64) "d"
+    XFilterEvent returns: False
+
+KeyRelease event, serial 37, synthetic NO, window 0x3800001,
+    root 0x529, subw 0x0, time 19449206, (194,226), root:(617,519),
+    state 0x0, keycode 40 (keysym 0x64, d), same_screen YES,
+    XLookupString gives 1 bytes: (64) "d"
+    XFilterEvent returns: False
+
+
+

+ 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 + na ekranie. Natomiast przed tym polem znajdują się współrzędne + względem okna otwartego przez polecenie xev + +

2022; COPYLEFT; ALL RIGHTS REVERSED; -- 2.39.5